- 1,369
- 112
- 241
Мне нужно, чтобы рецепт работал по конфигу.
Условие не выполняется (в конфиге стоит true, в условии он меняется на false, а значит рецепт не должен работать - так я думаю).
Сам Condition:
public class UsingConfigCondition implements ICondition {
public static final ResourceLocation ID = new ResourceLocation(EnhancedEnchanting.MODID, "using_config");
public UsingConfigCondition INSTANCE = new UsingConfigCondition();
@Override public ResourceLocation getID() { return ID; }
@Override public boolean test() { return !EnhancedEnchantingConfig.DISABLE_VANILLA.get(); }
public static class Serializer implements IConditionSerializer<UsingConfigCondition> {
public static Serializer INSTANCE = new Serializer();
@Override public void write(JsonObject json, UsingConfigCondition value) {}
@Override public UsingConfigCondition read(JsonObject json) {
return new UsingConfigCondition().INSTANCE;
}
@Override public ResourceLocation getID() { return ID; }
}
}
Регистрация condition (В EventHandler под Forge):
@SubscribeEvent
public static void registerRecipeSerializers(RegistryEvent.Register<IRecipeSerializer<?>> e) {
CraftingHelper.register(UsingConfigCondition.Serializer.INSTANCE);
}
Сам рецепт:
{
"conditions": [
{
"type": "enhancedenchanting:using_config"
}
],
"type": "minecraft:crafting_shaped",
"pattern": [
" B ",
"D#D",
"###"
],
"key": {
"B": {
"item": "minecraft:book"
},
"#": {
"item": "minecraft:obsidian"
},
"D": {
"item": "minecraft:diamond"
}
},
"result": {
"item": "minecraft:air",
"count": 0
}
}
Условие не выполняется (в конфиге стоит true, в условии он меняется на false, а значит рецепт не должен работать - так я думаю).