Thermal Expansion Status

  • The FTB Forum is now read-only, and is here as an archive. To participate in our community discussions, please join our Discord! https://ftb.team/discord
Status
Not open for further replies.

Skullywag

New Member
Jul 29, 2019
217
0
0
Forgive me for being annoyed that everyone seems to be ranting on something that I've put a fair bit of thought into (and worked on in collaboration with a fair number of invested developers). The intent has always been improving the entire eco-system of mods surrounding Buildcraft. =P

I really shouldn't let it get to me, but I'm not so good at filtering such stuff out. =(

I dont think anyones truly ranting about this, more questioning with passion...I for one know how hard you work and how helpful you are (youve personally helped me with railcraft issues in the past) and am truly grateful you exist as a minecraft entity (meta?) without you we'd be missing out on some cool shiz.

I think the question most people have is why is it in BC and not forge. Which you have just semi answered.
 

ShneekeyTheLost

Too Much Free Time
Dec 8, 2012
3,728
3,004
333
Lost as always
Forgive me for being annoyed that everyone seems to be ranting on something that I've put a fair bit of thought into (and worked on in collaboration with a fair number of invested developers). The intent has always been improving the entire eco-system of mods surrounding Buildcraft. =P

I really shouldn't let it get to me, but I'm not so good at filtering such stuff out. =(
I don't see much in the way of 'ranting' so much as saying 'this doesn't work for me'. You keep insisting it does, but they just don't see it. This almost sounds like a problem with documentation. I'm not really a Java person, and I haven't seen the BC Power API yet, however it is clear that there is an information disconnect somewhere, and the documentation is generally the first and most often used method of giving information to end-users. Maybe I need to look over the API and see if there are points I feel could be clarified? I may not be a java guy, but feature documentation is within my core professional skillset.

You got frustrated with everyone trying to use the API in ways that it was not intended to be used (generally causing more troubles, then complaining about the problems that they caused due to faulty implementation), so you changed it so that people can't do that anymore. Unfortunately, the people who were using it in ways that it was not intended to be used no longer feel that they have their needs met by the API. Is it, then, any wonder that they would look for another product which better suits their needs?
 

King Lemming

New Member
Jul 29, 2019
664
0
0
Forgive me for being annoyed that everyone seems to be ranting on something that I've put a fair bit of thought into (and worked on in collaboration with a fair number of invested developers). The intent has always been improving the entire eco-system of mods surrounding Buildcraft. =P

I really shouldn't let it get to me, but I'm not so good at filtering such stuff out. =(

Hey, your new PowerHandler is absolutely a huge step up in a lot of ways, which I've said repeatedly. But, it's also a huge move away from an API into a plug-and-play system. And that's alright, it's just a bit like moving from a rooted Android to an iPhone. Yeah, maybe the old ways were non-uniform, but the freedom afforded cannot be understated, even if the new one is really really shiny. People didn't screw up the old one out of incompetence, but merely because the old power API was incredibly obtuse. There were two legitimate ways to handle that - lock it down, or simplify it. Either is a completely valid decision, I just happen to prefer the latter.

I dont think anyones truly ranting about this, more questioning with passion...I for one know how hard you work and how helpful you are (youve personally helped me with railcraft issues in the past) and am truly grateful you exist as a minecraft entity (meta?) without you we'd be missing out on some cool shiz.

I think the question most people have is why is it in BC and not forge. Which you have just semi answered.

The reason it's in BC is because it is absolutely proprietary - it is the BC system, it's now a walled garden, where Forge is about freedom and flexibility. Again, it's actually a very good plug-and-play system now, but if you want a universal power API, it needs to be way simpler and require devs to put in slightly more effort on their end. Basically it'd need to be what I wrote.

Now, as a test, I decided to write my machines such that BOTH work on them without issue.

Turns out, it's trivial to wrap BC's system inside of mine, precisely because it is a freeform API:

Code:
    /* IEnergyHandler */
    @Override
    public int receiveEnergy(ForgeDirection from, int maxReceive, boolean doReceive) {
 
        if (!doReceive) {
            float limit = MathHelper.minF(getMaxEnergyStored(from) - getEnergyStored(from), powerHandler.getMaxEnergyReceived());
            return (int) MathHelper.minF(limit, maxReceive);
        }
        return (int) powerHandler.getPowerReceiver().receiveEnergy(PowerHandler.Type.STORAGE, maxReceive, from);
    }
 
    @Override
    public boolean canReceiveEnergy(ForgeDirection from) {
 
        return true;
    }
 
    @Override
    public boolean canSendEnergy(ForgeDirection from) {
 
        return false;
    }
 
    @Override
    public int getEnergyStored(ForgeDirection from) {
 
        return (int) powerHandler.getEnergyStored();
    }
 
    @Override
    public int getMaxEnergyStored(ForgeDirection from) {
 
        return (int) powerHandler.getMaxEnergyStored();
    }
 
    /* IPowerReceptor */
    @Override
    public PowerReceiver getPowerReceiver(ForgeDirection side) {
 
        return powerHandler.getPowerReceiver();
    }
 
    @Override
    public void doWork(PowerHandler workProvider) {
 
    }
 
    @Override
    public World getWorld() {
 
        return worldObj;
    }

Is it ideal? Absolutely not, but in this context I was only using it as unification. If you want universal energy, that's how it's done - provide a way to move energy from one tile to another, and leave the implementation up to the mods. Yeah they can screw it up, but that's no worse than items or fluids. Having said that, am I in favor of universal energy? Actually no, I'm not sure I see a benefit at this point. People complain that they can't make compact bases, but honestly that takes some of the joy out of Minecraft anyways.
 
  • Like
Reactions: Flipz and Pokefenn

King Lemming

New Member
Jul 29, 2019
664
0
0
Is anyone else getting a feeling of déjà vu?

No - that thread was posted well before any changes were finalized. As I stated at the time, there were some features I was going to ask be put in the new PowerHandler, and they were added. Unfortunately, there's a bit of extra baggage that came with them. That aside, my big hangup here is that I don't want TE things to be fundamentally different from all other BC machines and yet use MJ. That creates a gameplay inconsistency.
 

KnightOwl

New Member
Jul 29, 2019
197
1
1
Is anyone else getting a feeling of déjà vu?


No.. not at all. The post you linked to was done with an intent to be confrontational. KL on other hand is being informative and respectful. The only real 'tension' in this thread is that CJ can't understand why anyone wouldn't want to use his view of how power should work. As a fellow developer I've fallen victim to the same view so I can understand where he is coming from while still understanding KLs side of things.

In the end KL will do what is best for Thermal Expansion and CJ will do what is best for BuildCraft. And if we all have to build one more power system (or build a block that transfers MJ into TE power) then I for one am fine with that.
 

DaeDroug

New Member
Jul 29, 2019
23
0
0
No - that thread was posted well before any changes were finalized. As I stated at the time, there were some features I was going to ask be put in the new PowerHandler, and they were added. Unfortunately, there's a bit of extra baggage that came with them. That aside, my big hangup here is that I don't want TE things to be fundamentally different from all other BC machines and yet use MJ. That creates a gameplay inconsistency.
Very Glad you decided to stick with compatibility, I can understand how these sorts of snags between power system disagreements can arise as well as both sides of arguments for/against centralized power systems in Forge. The main thing I'd like to point out is that as far as the end user is concerned (or at least as far as I'm concerned) the fewer power systems needed the better. If we got to a point where I could get every mod in existence and only needed to worry about setting up one set of wires and one power plant, I'd be in absolute block filled heaven.
 
  • Like
Reactions: Skyqula

PhilHibbs

Forum Addict
Trusted User
Jan 15, 2013
3,174
1,128
183
Birmingham, United Kingdom
I'm sorry, I didn't mean to say that the issues were the same, but the general thrust of "the changes to BC power are making me consider moving to a new power system" is what made me think of the other thread.
 

KnightOwl

New Member
Jul 29, 2019
197
1
1
Out of curiosity is the official view of how buildcraft power/machines should/will work actually posted anywhere?
 

King Lemming

New Member
Jul 29, 2019
664
0
0
Very Glad you decided to stick with compatibility, I can understand how these sorts of snags between power system disagreements can arise as well as both sides of arguments for/against centralized power systems in Forge. The main thing I'd like to point out is that as far as the end user is concerned (or at least as far as I'm concerned) the fewer power systems needed the better. If we got to a point where I could get every mod in existence and only needed to worry about setting up one set of wires and one power plant, I'd be in absolute block filled heaven.

I haven't decided to stick with it, I was only posting that it's technically possible. Internally, that saddles me with somewhat kludgey code for the actual machine operation. At one point during development, the PowerHandler had direct-access functions which were clearly marked "only use these if you know what you are doing." Welp, those are gone now, in the interest of making it a plug-and-play system.

I really don't know if a universal energy system is of great benefit, I'm just willing to code something up that can be used as one. Imagine if BC and ThaumCraft were the same "energy," that would sort of diminish the interest behind ThaumCraft.

Currently, if I do switch, the new units will be Redstone Flux, and they'll be proportional to MJ in some reasonable ratio. 1:1, 10:1 or 16:1, haven't honestly decided yet - all 3 options have merit.

Out of curiosity is the official view of how buildcraft power/machines should/will work actually posted anywhere?

Basically, transmission is lossless, machines are all meant to be leaky, engines are meant to run constantly and not throttle. I don't think there's an official word on it, but that is the official stance. And it's reasonable, just 180 degrees from how TE is operating currently.
 

zilvarwolf

New Member
Jul 29, 2019
541
0
0
Basically, transmission is lossless, machines are all meant to be leaky, engines are meant to run constantly and not throttle. I don't think there's an official word on it, but that is the official stance. And it's reasonable, just 180 degrees from how TE is operating currently.
I seem to recall reading a statement from someone (it probably wasn't official) that MJ was never meant to be stored as well. Make power, use power, lose excess power.

Just $0.02.
 

KnightOwl

New Member
Jul 29, 2019
197
1
1
Basically, transmission is lossless, machines are all meant to be leaky, engines are meant to run constantly and not throttle. I don't think there's an official word on it, but that is the official stance. And it's reasonable, just 180 degrees from how TE is operating currently.

Okay. That was how I understood it but I wanted to be 100% sure. While I can respect their world view I have to say that one of the first things I usually do is switch over to Thermal Expansion based power transmission/storage because I prefer how it works.

Out of curiosity is the cost of doing an initial 1.6 with Conduit/Ducts without Multipart compatibility so expensive that it makes sense to just drop them outright for now? Or is there some other reason for dropping them temporarily?
 

King Lemming

New Member
Jul 29, 2019
664
0
0
I seem to recall reading a statement from someone (it probably wasn't official) that MJ was never meant to be stored as well. Make power, use power, lose excess power.

Just $0.02.

Yes, and that's actually an official stance. When BC adds storage, it'll be in the form of leaky capacitors (which do have their uses). The REC flipped the script somewhat.
Okay. That was how I understood it but I wanted to be 100% sure. While I can respect their world view I have to say that one of the first things I usually do is switch over to Thermal Expansion based power transmission/storage because I prefer how it works.

Out of curiosity is the cost of doing an initial 1.6 with Conduit/Ducts without Multipart compatibility so expensive that it makes sense to just drop them outright for now? Or is there some other reason for dropping them temporarily?

If I release a 1.6.x branch with Conduits and Fluiducts, that creates an awkward situation where I'm not allowed to fully revamp them until 1.7. I don't want that - it's much more preferable to release without and then convert back. But again, if we end up with a new power system, it's not really an option, eh? ;)
 
  • Like
Reactions: Pokefenn

KnightOwl

New Member
Jul 29, 2019
197
1
1
Yes, and that's actually an official stance. When BC adds storage, it'll be in the form of leaky capacitors (which do have their uses). The REC flipped the script somewhat.

So are RECs going to continue to be possible or will they be disallowed (or require changes) at some point in the future? (say when leaky storage comes out?)
 

Zjarek_S

New Member
Jul 29, 2019
802
0
0
Basically, transmission is lossless, machines are all meant to be leaky, engines are meant to run constantly and not throttle. I don't think there's an official word on it, but that is the official stance. And it's reasonable, just 180 degrees from how TE is operating currently.

I wouldn't agree with this not throttling. There are now gate triggers designed specifically to throttle engine usage to needs. Stirling engines even have throttling build in.

BTW will energy cells function similarly to how they work now, specially with wooden/obsidian pipes? I consider them one of the best designed blocks in modded minecraft, they are simple and powerful. You can use them to store power, throttle power, switch power (no iron conductive pipes :(), get exactly how much power you want with good redstone setup. Also you are able to get how much item you need with wooden/emerald pipes (as long as it is multiple of 2 ;)), run obsidian pipes with range that you want, have one in your inventory with filler or pump to quickly use it on the go, use it to control engines to run them for exactly how much power is used. I used them (+ TE gate trggers) also for example to automate bee machines when there was no triggers for them, to throttle how much energy goes through, so if bee machine is full of energy, it finished its work.
 

KnightOwl

New Member
Jul 29, 2019
197
1
1
Yes, I've been reading everything. I should have phrased my question as more.. IF the energy system isn't switched..

Seems like there is an inherent risk in relying on another mods power system. I guess that is why people keep creating new ones :D
 

KnightOwl

New Member
Jul 29, 2019
197
1
1
Read the OP. He talks about plans for RECs


I have.. and again.. I am not explaining myself well. I am curious if in the future there will be more changes to BuildCraft power that break or require changes to RECs. If this is possible then that is another reason to switch power systems. If not then its not.
 

Strill

New Member
Jul 29, 2019
84
0
0
I really don't know if a universal energy system is of great benefit, I'm just willing to code something up that can be used as one. Imagine if BC and ThaumCraft were the same "energy," that would sort of diminish the interest behind ThaumCraft.
Are you talking about Vis? You're considering what would happen if Vis were interchangeable with BC Power? FYI Greg already made an engine that converts Vis to EUs, and it doesn't really diminish anything. All it really does is give you the potential to screw yourself by draining up all the Vis in your region.

I'm serious when I say it wouldn't diminish anything to have Vis and buildcraft MJs be completely interchangeable because creating and spending Vis is not an obstacle in Thaumcraft. Thaumcraft assumes that you start out with an enormous amount of non-renewable Vis, and if you somehow use enough to come close to running out you can create Crystal Clusters, which is really the only thing to bother using crystals for anyway. So interchanging Vis with MJs would only mean that you have a new source of MJs, and an alternative to crystal clusters and crystal capacitors. Other than that there's really nothing significant.

Thaumcraft's main obstacle is is not Vis but Essentia. There are 50 different types, and if you don't create exactly as much as you want to use, you've gotta either make jars to store it in or release it and create flux which spawns wisps and other things. That's not really compatible with the idea of Buildcraft Power in the first place.
 
Status
Not open for further replies.