Minestuck

Minestuck

101k Downloads

CraftTweaker issues

CaiganMythFang opened this issue ยท 3 comments

commented

Forge Version : 2811
Minestuck Version : 1.4.283
Minestuck Arsenal Version : 1.8.0
Crafttweaker Version : 4.1.14

I'm attempting to use CraftTweaker to remove the ability to Alchemize some items, as well as remove the existing Alchemy cost and replace it with a different cost. Currently what I have :

minestuck.Alchemy.removeCost(<everlastingabilities:ability_totem>); minestuck.Alchemy.removeCost(<minecraft:chainmail_boots>); minestuck.Alchemy.removeCost(<minecraft:stone>);

Items are still creatable through Alchemy.

minestuck.Alchemy.setCost(<minecraft:stone>, "build 333");

Was testing if the other crafttweaker lines worked. This does make Stone cost 333 Build, but also shows the 2 Build cost version as well.

commented

This is partially intentional, as minestuck works with crafttweaker recipes by recipe and not by item.
For example, the cost recipes that you tried to remove uses the wildcard damage value, while you removed nonexistent recipes with the default damage value 0.

However, this is not very intuitive, and if you don't know the exact recipe that you want to replace/remove, it becomes a little bit of guesswork to find the right recipe parameters.

For this reason, we should change how the crafttweaker code works on a basic level, to work with items instead of recipes.

For this purpose, I propose these changes:

  • Recipes added through crafttweaker should always take priority over recipes that mods add directly. This could be done by keeping the crafttweaker recipes in a seperate list, that is checked before the regular recipe list.
  • Removing a cost should remove the cost unconditionally. Combined with the above suggestion, it'd make sense that removing a cost, would instead add a "null" cost for the item in question.
  • The nei plugin should only show recipes that aren't overriden by other recipes for the item that is being looked at. (This might be a bit tricky to do without workarounds)
commented

Ahh, okay, I was going off the guide on the wiki for the Alchemy.removeCost, which didn't really explain much beyond an example of the removeCost line.

But if its going to be changed how it works, those proposed changes look fine, except clarification on the 2nd line : The null cost would be 'uncraftable' and not 'free', correct? (as is the issue with the ability_totem in my example above, its default 'free' but has NBT, so the item it creates has no NBT and is thus unusable)

commented

The ideas described will not be implemented. The 1.12 version will be discontinued, and the upcoming 1.14 version will not have crafttweaker support, instead relying on the vanilla json recipe system.