From f6b822a45e8af7df9207e268deb2bdb04c7cd364 Mon Sep 17 00:00:00 2001 From: DevDyna Date: Wed, 22 Apr 2026 17:39:36 +0200 Subject: [PATCH 1/5] implemented #27 --- .../loot_table/botanypots/ironwood.json | 81 +++++++++++++++++++ .../data/botanypots/recipe/crop/ironwood.json | 16 ++++ .../recipe/compat/cloche/ironwood.json | 39 +++++++++ .../exdeorum/compressed_sieve/ironwood.json | 24 ++++++ .../compat/exdeorum/sieve/ironwood.json | 24 ++++++ .../compat/farmingforblockheads/ironwood.json | 15 ++++ .../immersiveengineering/cloche/ironwood.json | 38 +++++++++ 7 files changed, 237 insertions(+) create mode 100644 src/main/resources/data/botanypots/loot_table/botanypots/ironwood.json create mode 100644 src/main/resources/data/botanypots/recipe/crop/ironwood.json create mode 100644 src/main/resources/data/synergy/recipe/compat/cloche/ironwood.json create mode 100644 src/main/resources/data/synergy/recipe/compat/exdeorum/compressed_sieve/ironwood.json create mode 100644 src/main/resources/data/synergy/recipe/compat/exdeorum/sieve/ironwood.json create mode 100644 src/main/resources/data/synergy/recipe/compat/farmingforblockheads/ironwood.json create mode 100644 src/main/resources/data/synergy/recipe/compat/immersiveengineering/cloche/ironwood.json diff --git a/src/main/resources/data/botanypots/loot_table/botanypots/ironwood.json b/src/main/resources/data/botanypots/loot_table/botanypots/ironwood.json new file mode 100644 index 000000000..4186a0ecf --- /dev/null +++ b/src/main/resources/data/botanypots/loot_table/botanypots/ironwood.json @@ -0,0 +1,81 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "synergy:ironwood_log", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "type": "minecraft:uniform", + "min": 1, + "max": 16 + } + } + ] + } + ], + "rolls": 1 + }, + { + "bonus_rolls": 0, + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "type": "minecraft:uniform", + "min": 0, + "max": 4 + } + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "synergy:ironwood_sapling" + } + ], + "rolls": 1 + }, + { + "bonus_rolls": 0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "synergy:ironberries", + "functions": [ + { + "function": "minecraft:set_count", + "count": { + "type": "minecraft:uniform", + "min": 0, + "max": 4 + } + } + ] + } + ], + "rolls": 1 + } + ], + "random_sequence": "synergy:blocks/ironwood" +} \ No newline at end of file diff --git a/src/main/resources/data/botanypots/recipe/crop/ironwood.json b/src/main/resources/data/botanypots/recipe/crop/ironwood.json new file mode 100644 index 000000000..a5ab34d61 --- /dev/null +++ b/src/main/resources/data/botanypots/recipe/crop/ironwood.json @@ -0,0 +1,16 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:mod_loaded", + "modid": "botanypots" + } + ], + "type": "botanypots:block_derived_crop", + "block": "synergy:ironwood_sapling", + "drops": [ + { + "type": "botanypots:loot_table", + "table_id": "botanypots:botanypots/ironwood" + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/synergy/recipe/compat/cloche/ironwood.json b/src/main/resources/data/synergy/recipe/compat/cloche/ironwood.json new file mode 100644 index 000000000..c8d2dec50 --- /dev/null +++ b/src/main/resources/data/synergy/recipe/compat/cloche/ironwood.json @@ -0,0 +1,39 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:mod_loaded", + "modid": "cloche" + } + ], + "type": "cloche:cloche", + "duration": 800, + "results": [ + { + "chance": 0.25, + "item": { + "count": 1, + "id": "synergy:ironberries" + } + }, + { + "chance": 1.5, + "item": { + "count": 5, + "id": "synergy:ironwood_log" + } + }, + { + "chance": 0.5, + "item": { + "count": 1, + "id": "synergy:ironwood_sapling" + } + } + ], + "seed": { + "item": "synergy:ironwood_sapling" + }, + "soil": { + "tag": "minecraft:dirt" + } +} diff --git a/src/main/resources/data/synergy/recipe/compat/exdeorum/compressed_sieve/ironwood.json b/src/main/resources/data/synergy/recipe/compat/exdeorum/compressed_sieve/ironwood.json new file mode 100644 index 000000000..ebb1e21d4 --- /dev/null +++ b/src/main/resources/data/synergy/recipe/compat/exdeorum/compressed_sieve/ironwood.json @@ -0,0 +1,24 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:mod_loaded", + "modid": "exdeorum" + } + ], + "type": "exdeorum:compressed_sieve", + "ingredient": { + "tag": "exdeorum:compressed/dirt" + }, + "mesh": { + "item": "exdeorum:string_mesh" + }, + "result": { + "count": 1, + "id": "synergy:ironwood_sapling" + }, + "result_amount": { + "type": "minecraft:binomial", + "n": 5.0, + "p": 0.1 + } +} \ No newline at end of file diff --git a/src/main/resources/data/synergy/recipe/compat/exdeorum/sieve/ironwood.json b/src/main/resources/data/synergy/recipe/compat/exdeorum/sieve/ironwood.json new file mode 100644 index 000000000..a6d2424e1 --- /dev/null +++ b/src/main/resources/data/synergy/recipe/compat/exdeorum/sieve/ironwood.json @@ -0,0 +1,24 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:mod_loaded", + "modid": "exdeorum" + } + ], + "type": "exdeorum:sieve", + "ingredient": { + "item": "minecraft:dirt" + }, + "mesh": { + "item": "exdeorum:string_mesh" + }, + "result": { + "count": 1, + "id": "synergy:ironwood_sapling" + }, + "result_amount": { + "type": "minecraft:binomial", + "n": 1.0, + "p": 0.1 + } +} \ No newline at end of file diff --git a/src/main/resources/data/synergy/recipe/compat/farmingforblockheads/ironwood.json b/src/main/resources/data/synergy/recipe/compat/farmingforblockheads/ironwood.json new file mode 100644 index 000000000..e805792e3 --- /dev/null +++ b/src/main/resources/data/synergy/recipe/compat/farmingforblockheads/ironwood.json @@ -0,0 +1,15 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:mod_loaded", + "modid": "farmingforblockheads" + } + ], + "type": "farmingforblockheads:market", + "category": "farmingforblockheads:saplings", + "preset": "minecraft:saplings", + "result": { + "count": 1, + "item": "synergy:ironwood_sapling" + } +} diff --git a/src/main/resources/data/synergy/recipe/compat/immersiveengineering/cloche/ironwood.json b/src/main/resources/data/synergy/recipe/compat/immersiveengineering/cloche/ironwood.json new file mode 100644 index 000000000..e3f52d2d1 --- /dev/null +++ b/src/main/resources/data/synergy/recipe/compat/immersiveengineering/cloche/ironwood.json @@ -0,0 +1,38 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:mod_loaded", + "modid": "immersiveengineering" + } + ], + "type": "immersiveengineering:cloche", + "input": { + "item": "synergy:ironwood_sapling" + }, + "render": { + "type": "immersiveengineering:generic", + "block": "synergy:ironwood_sapling" + }, + "results": [ + { + "chance": 0.5, + "output": { + "id": "synergy:ironberries" + } + }, + { + "count": 5, + "id": "synergy:ironwood_log" + }, + { + "chance": 0.5, + "output": { + "id": "synergy:ironwood_sapling" + } + } + ], + "soil": { + "tag": "minecraft:dirt" + }, + "time": 800 +} From 098f2233910c5013a84e676fbcf123ecf9246d94 Mon Sep 17 00:00:00 2001 From: DevDyna Date: Wed, 22 Apr 2026 19:57:27 +0200 Subject: [PATCH 2/5] Update gradle.properties --- gradle.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle.properties b/gradle.properties index 31747ec81..ad02445fa 100644 --- a/gradle.properties +++ b/gradle.properties @@ -24,7 +24,7 @@ jei_version=19.25.0.325 mod_id=synergy mod_name=Synergy mod_license=Custom License -mod_version=0.8.4-hotfix1 +mod_version=0.8.5 mod_group_id=com.devdyna.synergy mod_authors=DevDyna mod_description=A bunch of Magic-Tech and fun made gadgets From 5aab168544fae1fb76a1a77ff0e003c192a684ff Mon Sep 17 00:00:00 2001 From: DevDyna Date: Tue, 28 Apr 2026 20:47:08 +0200 Subject: [PATCH 3/5] crushing tub now support chance intend of optional itemstack --- .../jei/categories/CrushingTubCategory.java | 32 +++++++++++++++---- .../survival/crushing_tub/CrushingTubBE.java | 10 +++--- .../recipe/CrushingTubBuilder.java | 25 +++++++++++---- .../recipe/CrushingTubRecipe.java | 13 ++++---- .../recipe/CrushingTubRecipeSerializer.java | 14 ++++---- 5 files changed, 65 insertions(+), 29 deletions(-) diff --git a/src/main/java/com/devdyna/synergy/compat/jei/categories/CrushingTubCategory.java b/src/main/java/com/devdyna/synergy/compat/jei/categories/CrushingTubCategory.java index eb80ea4bb..0b06ff293 100644 --- a/src/main/java/com/devdyna/synergy/compat/jei/categories/CrushingTubCategory.java +++ b/src/main/java/com/devdyna/synergy/compat/jei/categories/CrushingTubCategory.java @@ -9,10 +9,13 @@ import com.devdyna.synergy.init.types.zRecipeTypes; import mezz.jei.api.gui.builder.IRecipeLayoutBuilder; +import mezz.jei.api.gui.ingredient.IRecipeSlotsView; import mezz.jei.api.helpers.IGuiHelper; import mezz.jei.api.recipe.IFocusGroup; import mezz.jei.api.recipe.RecipeIngredientRole; import mezz.jei.api.recipe.RecipeType; +import net.minecraft.client.gui.GuiGraphics; +import net.minecraft.network.chat.Component; import net.minecraft.world.item.crafting.RecipeHolder; import net.minecraft.world.level.ItemLike; @@ -56,13 +59,30 @@ public void setRecipe(IRecipeLayoutBuilder builder, CrushingTubRecipe recipe, IF builder.addSlot(RecipeIngredientRole.INPUT, 21, 29).addIngredients(recipe.getInput()); - JEIFluidTankHelper.of() - .fluid(recipe.getFluid()) - .offset(71, 39) - .scale(2.0f, 1.0f) - .build((x, y) -> builder.addOutputSlot(x, y)); + if (recipe.getFluid() != null) + JEIFluidTankHelper.of() + .fluid(recipe.getFluid()) + .offset(71, 39) + .scale(2.0f, 1.0f) + .build((x, y) -> builder.addOutputSlot(x, y)); + + if (recipe.getOutput() != null) + builder.addSlot(RecipeIngredientRole.OUTPUT, 70 + 1, 46 + 1).addItemStack(recipe.getOutput().item()); + + } + + @Override + public void draw(CrushingTubRecipe recipe, IRecipeSlotsView recipeSlotsView, GuiGraphics guiGraphics, double mouseX, + double mouseY) { + super.draw(recipe, recipeSlotsView, guiGraphics, mouseX, mouseY); + + if (recipe.getOutput() != null && recipe.getOutput().chance() < 1) + drawCentredStringFixed(guiGraphics, font, + Component.literal( + ((int) (recipe.getOutput().chance() * 100)) + "%"), + 55, 53, + defaultToolTipColor.getRGB(), false); - builder.addSlot(RecipeIngredientRole.OUTPUT, 70+1, 46+1).addItemStack(recipe.getOutput()); } } diff --git a/src/main/java/com/devdyna/synergy/init/builder/survival/crushing_tub/CrushingTubBE.java b/src/main/java/com/devdyna/synergy/init/builder/survival/crushing_tub/CrushingTubBE.java index fcff7629b..71bc3e6e6 100644 --- a/src/main/java/com/devdyna/synergy/init/builder/survival/crushing_tub/CrushingTubBE.java +++ b/src/main/java/com/devdyna/synergy/init/builder/survival/crushing_tub/CrushingTubBE.java @@ -125,8 +125,8 @@ public ItemStack getNextDroppedItem() { if (getFluidStorage().fill(recipe.getFluid().copy(), FluidAction.SIMULATE) != 0) return ItemStack.EMPTY; - return recipe.getOutput().copy(); - + return level.random.nextFloat() < recipe.getOutput().chance() ? recipe.getOutput().item().copy() + : ItemStack.EMPTY; } public void craft(boolean dropWhenCrafted) { @@ -164,8 +164,9 @@ public void craft(boolean dropWhenCrafted) { getFluidStorage().fill(recipe.getFluid().copy(), FluidAction.EXECUTE); getStorage().extractItem(0, 1, false); - if (dropWhenCrafted) - Block.popResource(level, getBlockPos().above(), recipe.getOutput().copy()); + if (level.random.nextFloat() < recipe.getOutput().chance()) + if (dropWhenCrafted) + Block.popResource(level, getBlockPos().above(), recipe.getOutput().item().copy()); level.playSound(null, getBlockPos(), LevelUtil.chance(50, level) ? SoundEvents.SLIME_BLOCK_FALL : SoundEvents.SNIFFER_EGG_CRACK, @@ -174,7 +175,6 @@ public void craft(boolean dropWhenCrafted) { update(); } - @Override public FluidStorageTank getFluidStorage() { return getData(zHandlers.FLUID_TANK); diff --git a/src/main/java/com/devdyna/synergy/init/builder/survival/crushing_tub/recipe/CrushingTubBuilder.java b/src/main/java/com/devdyna/synergy/init/builder/survival/crushing_tub/recipe/CrushingTubBuilder.java index 5bd155134..ce58fb66e 100644 --- a/src/main/java/com/devdyna/synergy/init/builder/survival/crushing_tub/recipe/CrushingTubBuilder.java +++ b/src/main/java/com/devdyna/synergy/init/builder/survival/crushing_tub/recipe/CrushingTubBuilder.java @@ -6,6 +6,7 @@ import com.devdyna.synergy.api.recipes.builders.api.BaseRecipeBuilder; import com.devdyna.synergy.zStatic; +import com.devdyna.synergy.api.codec.ChanceOutputItem; import com.devdyna.synergy.api.recipes.builders.*; import com.devdyna.synergy.api.utils.IngredientUtils; import com.devdyna.synergy.api.utils.x; @@ -18,16 +19,17 @@ import net.minecraft.world.item.crafting.Ingredient; import net.minecraft.world.item.crafting.Recipe; import net.neoforged.neoforge.fluids.FluidStack; +import net.neoforged.neoforge.registries.DeferredHolder; @SuppressWarnings({ "null" }) public class CrushingTubBuilder extends BaseRecipeBuilder - implements ItemAttach.Output.SimpleOutputItem, + implements ItemAttach.Input.NoItemCount, FluidAttach.Any.SimpleFluidAttach { private Ingredient input; private FluidStack fluid; - private ItemStack output; + private ChanceOutputItem output; private CrushingTubBuilder() { this.criteria = new LinkedHashMap>(); @@ -49,7 +51,7 @@ public CrushingTubBuilder unlockedBy(String name, Criterion criterion) { public Item getResult() { return this.output != null - ? this.output.getItem() + ? this.output.item().getItem() : this.fluid.getFluid().getBucket(); } @@ -75,16 +77,27 @@ public CrushingTubBuilder input(Ingredient input) { return this; } - @Override - public CrushingTubBuilder output(ItemStack output) { + public CrushingTubBuilder output(ChanceOutputItem output) { this.output = output; return this; } + public CrushingTubBuilder output(ItemStack output, float chance) { + return output(ChanceOutputItem.of(output, chance)); + } + + public CrushingTubBuilder output(Item output, float chance) { + return output(x.item(output), chance); + } + + public CrushingTubBuilder output(DeferredHolder output, float chance) { + return output(x.item(output), chance); + } + @Override public ResourceLocation getSuffix(String extra) { return x.rl(zStatic.Blocks.crushing_tub + "/" - + (this.output != null ? x.path(this.output.getItem()) + + (this.output != null ? x.path(this.output.item().getItem()) : x.path(this.fluid.getFluid())) + extra); } diff --git a/src/main/java/com/devdyna/synergy/init/builder/survival/crushing_tub/recipe/CrushingTubRecipe.java b/src/main/java/com/devdyna/synergy/init/builder/survival/crushing_tub/recipe/CrushingTubRecipe.java index d726f9546..75039854a 100644 --- a/src/main/java/com/devdyna/synergy/init/builder/survival/crushing_tub/recipe/CrushingTubRecipe.java +++ b/src/main/java/com/devdyna/synergy/init/builder/survival/crushing_tub/recipe/CrushingTubRecipe.java @@ -2,6 +2,7 @@ import java.util.List; +import com.devdyna.synergy.api.codec.ChanceOutputItem; import com.devdyna.synergy.api.recipes.inputs.MonoItemInput; import com.devdyna.synergy.api.recipes.types.BaseRecipeType; import com.devdyna.synergy.api.registers.RecipeRegister; @@ -21,16 +22,16 @@ public class CrushingTubRecipe extends BaseRecipeType { private final Ingredient input; private final FluidStack fluid; - private final ItemStack output; + private final ChanceOutputItem output; public CrushingTubRecipe(Ingredient input, - ItemStack output, FluidStack fluid) { + ChanceOutputItem output, FluidStack fluid) { this.input = input; this.fluid = fluid; this.output = output; } - public static CrushingTubRecipe of(Ingredient input, ItemStack output, FluidStack fluid) { + public static CrushingTubRecipe of(Ingredient input, ChanceOutputItem output, FluidStack fluid) { return new CrushingTubRecipe(input, output, fluid); } @@ -39,7 +40,7 @@ public boolean matches(MonoItemInput r, Level l) { } public ItemStack assemble(MonoItemInput i, HolderLookup.Provider r) { - return this.output.copy(); + return this.output.item().copy(); } public NonNullList getIngredients() { @@ -50,7 +51,7 @@ public Ingredient getInput() { return input; } - public ItemStack getOutput() { + public ChanceOutputItem getOutput() { return output; } @@ -62,7 +63,7 @@ public FluidStack getFluid() { @Deprecated public ItemStack getResultItem(HolderLookup.Provider r) { return this.output != null - ? this.output + ? this.output.item() : x.item(this.fluid.getFluid().getBucket()).copy(); } diff --git a/src/main/java/com/devdyna/synergy/init/builder/survival/crushing_tub/recipe/CrushingTubRecipeSerializer.java b/src/main/java/com/devdyna/synergy/init/builder/survival/crushing_tub/recipe/CrushingTubRecipeSerializer.java index df46432f0..e95ae6d3a 100644 --- a/src/main/java/com/devdyna/synergy/init/builder/survival/crushing_tub/recipe/CrushingTubRecipeSerializer.java +++ b/src/main/java/com/devdyna/synergy/init/builder/survival/crushing_tub/recipe/CrushingTubRecipeSerializer.java @@ -4,29 +4,31 @@ import com.mojang.serialization.codecs.RecordCodecBuilder; import net.minecraft.network.RegistryFriendlyByteBuf; +import net.minecraft.network.codec.ByteBufCodecs; import net.minecraft.network.codec.StreamCodec; -import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.crafting.Ingredient; import net.minecraft.world.item.crafting.RecipeSerializer; import net.neoforged.neoforge.fluids.FluidStack; + +import com.devdyna.synergy.api.codec.ChanceOutputItem; import com.devdyna.synergy.api.utils.RecipeUtils; public class CrushingTubRecipeSerializer implements RecipeSerializer { public static final MapCodec CODEC = RecordCodecBuilder.mapCodec(inst -> inst.group( Ingredient.CODEC.fieldOf("input").forGetter(CrushingTubRecipe::getInput), - ItemStack.CODEC.optionalFieldOf("output",ItemStack.EMPTY) - .forGetter(r -> RecipeUtils.optionalCodec(r.getOutput())), + ChanceOutputItem.CODEC.optionalFieldOf("output") + .forGetter(r -> ChanceOutputItem.optional(r.getOutput())), FluidStack.CODEC.optionalFieldOf("fluid",FluidStack.EMPTY) .forGetter(r -> RecipeUtils.optionalCodec(r.getFluid()))) - .apply(inst, CrushingTubRecipe::new)); + .apply(inst, (i,o,f)-> new CrushingTubRecipe(i,o.orElse(null),f))); public static final StreamCodec STREAM_CODEC = StreamCodec .composite( Ingredient.CONTENTS_STREAM_CODEC, CrushingTubRecipe::getInput, - ItemStack.OPTIONAL_STREAM_CODEC, CrushingTubRecipe::getOutput, + ByteBufCodecs.optional(ChanceOutputItem.STREAM_CODEC), r -> ChanceOutputItem.optional(r.getOutput()), FluidStack.OPTIONAL_STREAM_CODEC,CrushingTubRecipe::getFluid, - CrushingTubRecipe::new); + (i,o,f)-> new CrushingTubRecipe(i,o.orElse(null),f)); @Override public MapCodec codec() { From 8e3d62434a6e9220134d08da748c0a925157f993 Mon Sep 17 00:00:00 2001 From: DevDyna Date: Tue, 28 Apr 2026 20:47:10 +0200 Subject: [PATCH 4/5] Update DataRecipe.java --- .../synergy/datagen/server/DataRecipe.java | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/devdyna/synergy/datagen/server/DataRecipe.java b/src/main/java/com/devdyna/synergy/datagen/server/DataRecipe.java index c25e7e601..870b74cd9 100644 --- a/src/main/java/com/devdyna/synergy/datagen/server/DataRecipe.java +++ b/src/main/java/com/devdyna/synergy/datagen/server/DataRecipe.java @@ -337,7 +337,7 @@ protected void buildRecipes(RecipeOutput c) { CrushingTubBuilder.of() .input(zItems.IRONBERRIES) .fluid(zFluids.IRONBERRY_JUICE, 250) - .output(zItems.TINY_IRON_DUST) + .output(zItems.TINY_IRON_DUST, 1) .unlockedBy() .save(c); @@ -2609,6 +2609,19 @@ protected void buildRecipes(RecipeOutput c) { .unlockedBy() .save(c); + CrushingTubBuilder.of() + .input(Items.HONEYCOMB) + .fluid(zFluids.HONEY, 250) + .output(zItems.BEEWAX, 0.5f) + .unlockedBy() + .save(c); + + CrushingTubBuilder.of() + .input(zItems.BEEWAX) + .fluid(zFluids.HONEY, 125) + .unlockedBy() + .save(c); + ShapedRecipeBuilder.shaped(MISC, zBlocks.ROUTER.get()) .pattern("WRW") .pattern("RCR") From 0f1fef9e800ab57b2e434d45416dcf8eaf433ab4 Mon Sep 17 00:00:00 2001 From: DevDyna Date: Tue, 28 Apr 2026 20:47:15 +0200 Subject: [PATCH 5/5] datagen --- .../resources/assets/synergy/lang/en_us.json | 2 -- .../recipes/misc/crushing_tub/beewax.json | 25 +++++++++++++++++++ .../misc/crushing_tub/honey_source.json | 25 +++++++++++++++++++ .../synergy/recipe/crushing_tub/beewax.json | 17 +++++++++++++ .../recipe/crushing_tub/honey_source.json | 10 ++++++++ .../recipe/crushing_tub/tiny_iron_dust.json | 7 ++++-- 6 files changed, 82 insertions(+), 4 deletions(-) create mode 100644 src/generated/resources/data/synergy/advancement/recipes/misc/crushing_tub/beewax.json create mode 100644 src/generated/resources/data/synergy/advancement/recipes/misc/crushing_tub/honey_source.json create mode 100644 src/generated/resources/data/synergy/recipe/crushing_tub/beewax.json create mode 100644 src/generated/resources/data/synergy/recipe/crushing_tub/honey_source.json diff --git a/src/generated/resources/assets/synergy/lang/en_us.json b/src/generated/resources/assets/synergy/lang/en_us.json index 6168dbed0..04a000df0 100644 --- a/src/generated/resources/assets/synergy/lang/en_us.json +++ b/src/generated/resources/assets/synergy/lang/en_us.json @@ -687,8 +687,6 @@ "synergy.jade.modifier.environment.fuel.fail": "§cRequire an heat source below", "synergy.jade.tip.cycle": "every cycle", "synergy.jade.tip.daytime": "when daytime", - "synergy.jade.tip.exclude": "Exclude", - "synergy.jade.tip.include": "Include", "synergy.jade.warn.moderator": "§cModerator not satisfied", "synergy.jade.watcher_mode.not_player": "Mode Filter: §aNearest living entity not player", "synergy.jade.watcher_mode.player_only": "Mode Filter: §aNearest player", diff --git a/src/generated/resources/data/synergy/advancement/recipes/misc/crushing_tub/beewax.json b/src/generated/resources/data/synergy/advancement/recipes/misc/crushing_tub/beewax.json new file mode 100644 index 000000000..f5efe72a9 --- /dev/null +++ b/src/generated/resources/data/synergy/advancement/recipes/misc/crushing_tub/beewax.json @@ -0,0 +1,25 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_the_recipe": { + "conditions": { + "recipe": "synergy:crushing_tub/beewax" + }, + "trigger": "minecraft:recipe_unlocked" + }, + "synergy": { + "trigger": "minecraft:inventory_changed" + } + }, + "requirements": [ + [ + "has_the_recipe", + "synergy" + ] + ], + "rewards": { + "recipes": [ + "synergy:crushing_tub/beewax" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/synergy/advancement/recipes/misc/crushing_tub/honey_source.json b/src/generated/resources/data/synergy/advancement/recipes/misc/crushing_tub/honey_source.json new file mode 100644 index 000000000..da7c5d20f --- /dev/null +++ b/src/generated/resources/data/synergy/advancement/recipes/misc/crushing_tub/honey_source.json @@ -0,0 +1,25 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_the_recipe": { + "conditions": { + "recipe": "synergy:crushing_tub/honey_source" + }, + "trigger": "minecraft:recipe_unlocked" + }, + "synergy": { + "trigger": "minecraft:inventory_changed" + } + }, + "requirements": [ + [ + "has_the_recipe", + "synergy" + ] + ], + "rewards": { + "recipes": [ + "synergy:crushing_tub/honey_source" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/synergy/recipe/crushing_tub/beewax.json b/src/generated/resources/data/synergy/recipe/crushing_tub/beewax.json new file mode 100644 index 000000000..0d9d91386 --- /dev/null +++ b/src/generated/resources/data/synergy/recipe/crushing_tub/beewax.json @@ -0,0 +1,17 @@ +{ + "type": "synergy:crushing_tub", + "fluid": { + "amount": 250, + "id": "synergy:honey_source" + }, + "input": { + "item": "minecraft:honeycomb" + }, + "output": { + "chance": 0.5, + "item": { + "count": 1, + "id": "synergy:beewax" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/data/synergy/recipe/crushing_tub/honey_source.json b/src/generated/resources/data/synergy/recipe/crushing_tub/honey_source.json new file mode 100644 index 000000000..02e14c6a7 --- /dev/null +++ b/src/generated/resources/data/synergy/recipe/crushing_tub/honey_source.json @@ -0,0 +1,10 @@ +{ + "type": "synergy:crushing_tub", + "fluid": { + "amount": 125, + "id": "synergy:honey_source" + }, + "input": { + "item": "synergy:beewax" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/synergy/recipe/crushing_tub/tiny_iron_dust.json b/src/generated/resources/data/synergy/recipe/crushing_tub/tiny_iron_dust.json index 5b5427594..8676a74b4 100644 --- a/src/generated/resources/data/synergy/recipe/crushing_tub/tiny_iron_dust.json +++ b/src/generated/resources/data/synergy/recipe/crushing_tub/tiny_iron_dust.json @@ -8,7 +8,10 @@ "item": "synergy:ironberries" }, "output": { - "count": 1, - "id": "synergy:tiny_iron_dust" + "chance": 1.0, + "item": { + "count": 1, + "id": "synergy:tiny_iron_dust" + } } } \ No newline at end of file