BluSunrize / ImmersiveEngineering

Wires, transformers, high voltage! Bzzzzt!
Other
783 stars 389 forks source link

[config] easy way to stop machines from registering #3457

Closed WarlordWossman closed 5 years ago

WarlordWossman commented 5 years ago

I am working on a highly customised modpack and want to get rid of the crusher, since there is no way to remove all recipes from a machine with 1 line in crafttweaker removing 804 recipes is a massive pain. Would be much appreciated to have an option in the config for disabling whole machines.

If this is not possible I would be very happy about a change to the CT support that lets you remove all recipes for a machine in a single line.

mindforger commented 5 years ago

@BluSunrize is https://github.com/BluSunrize/ImmersiveEngineering/issues/1993 still valid in this case?

will prevent the forming of the machine at least

WarlordWossman commented 5 years ago

I heard that you can use something to prevent it from forming but ideally I don't want a JEI tab for a machine that you cannot get with 804 recipes generating that take up load time. Would be very nice and clean if there was just a config for disabling entire machines!

BluSunrize commented 5 years ago

Nope. I have previously explained that I don't intend to make config options to disable entire machines. IE is designed to be enjoyed as a complete project ^_^

However, there is an open request for a "removeAll" function to Crafttweaker, which I have stated I'll look into:

3430

copygirl commented 2 years ago

3 years later, I ran into this issue myself. Immersive Engineering has excellent mechanics and design, but certain machines - in our case garden cloches, the excavator, and being able to pick up storage crates with their contents - affect our intended balance in a large way. We might just have to remove IE from our pack due to its rigidness.

You say the mod is designed to be enjoyed as a complete project, but modpack creators want to create coherent, balanced experiences as well. I've found extensive configuration options to be incredibly important as a player, modpack creator and (ex-)modder.

BluSunrize commented 2 years ago

My point has not changed on this matter.

If Immersive Engineering is the the mod that somehow breaks the balance of your pack, then I probably wouldn't want to play your pack anyway. Our mod is such a far cry in power from the other tech mods...

copygirl commented 2 years ago

Comparing your mod to other tech mods I don't think does it justice. For example, it could function well as an end-game goal in a low-tech pack. I think it goes well with Create, which allows players to come up with unique ways to approach automated farms and resource acquisition, where Immersive Engineering provides relatively simple solutions. Every mod has its strengths and weaknesses in different contexts, and of course everyone has different opinions on which those are.

Modpack creators have had the ability to disable recipes to remove the access to certain items and machines for a long time now, to guide the players into a different direction, or simply for balancing reasons. There's been some very creative and interesting projects that have come about thanks to this. But the equivalent of removing a recipe is not possible with Immersive Engineering's multiblocks.

Thank you for the response. I appreciate you hearing me out, even if your decision ends up unchanged.

alexbobp commented 2 years ago

I just want to know, is there some technical reason, like that adding this option would require maintenance effort you don't want to commit to? Or is this as simple as controlling the way people can enjoy your mod because you can?

If it's the first option, I would like to say, this might be a good opportunity to consider an open source license. If your mod allows other people to repurpose it as they desire, then you can say "that's not a supported use case but you can do it yourself if you want," with a clean conscience.

Anyways, if you fail to see how dirt-cheap shulkers, pulling ores from nothing, or plant tubes that can generate more energy in biodiesel than you put in, might be balance-impacting design points that some players might want to change, then I think it would be fruitless to argue the points of minecraft game balance on the github issue tracker. I would just like to appeal to the principle that how somebody else wants to enjoy their minecraft game doesn't have to be your problem, and in fact, we don't even have to care whether you personally want to play our modpack, because while it would be lovely if you enjoy it, we aren't required to make modpacks with the mod authors as our target audience.

BluSunrize commented 2 years ago

But the equivalent of removing a recipe is not possible with Immersive Engineering's multiblocks.

This is factually incorrect. All our multiblock recipes are JSON based and can be disabled by use of a datapack. They work on the same basis as a vanilla recipe, making them easy to modify and disable without even needing to install Craftweaker. That said, IE also still does have full support for CraftTweaker, which is documented on CT's own wiki page.

The only thing that IE doesn't do to allow disabling / removing the machine itself, which brings me to the second post to quote:

I just want to know, is there some technical reason, like that adding this option would require maintenance effort you don't want to commit to? Or is this as simple as controlling the way people can enjoy your mod because you can?

It is very much a decision made for maintenance reason. Everything feature we add must be supported, tested and kept working when upgrading to the next Minecraft version. Fully "disabling" a multiblock is a pretty massive undertaking because of how deeply woven they are into the mod. You can't just not register the blocks for instance, because the manual expects them to be there.

What you can however do, and what other people have already done is modify the structure of a multiblock. They are read from structure files (once again, a completely Vanilla Minecraft concept; we literally create new multiblocks by using vanilla's structure blocks to save their "patterns"). As a result of that, you can use a datapack to override those structures and modify the multiblocks to make their recipes more complex, or even impossible to build (by adding an empty structure).

IE is plenty customizable, but it's not as easy as having a config to turn something off, because the internal structure of this mod is way too complex for us to make that happen.

alexbobp commented 2 years ago

Okay, that's a fair answer, then. And I'm sorry if my tone came off badly. I certainly don't expect extra maintenance work from you to support use cases you don't care about. I will admit, I do still wish for an open source license, but that's your choice to make.