From b4e691bd8f741f5b189e9a0f1ccae977d185ecd4 Mon Sep 17 00:00:00 2001 From: Vos Date: Fri, 27 Mar 2026 02:47:08 -0500 Subject: [PATCH] 2.1.0 Functional wand --- .../advancement/recipes/tools/wand.json | 32 ++++++++++ .../generated/data/acesbs/recipe/wand.json | 17 +++++ .../com/acethewildfire/acesbs/PATCH_NOTES.md | 1 + .../acesbs/datagen/ModRecipeProvider.java | 9 +++ .../acethewildfire/acesbs/item/ModItems.java | 2 +- .../acesbs/item/custom/Wand.java | 63 ++++++++++++++++--- .../resources/assets/acesbs/lang/en_us.json | 2 +- 7 files changed, 115 insertions(+), 11 deletions(-) create mode 100644 src/main/generated/data/acesbs/advancement/recipes/tools/wand.json create mode 100644 src/main/generated/data/acesbs/recipe/wand.json diff --git a/src/main/generated/data/acesbs/advancement/recipes/tools/wand.json b/src/main/generated/data/acesbs/advancement/recipes/tools/wand.json new file mode 100644 index 0000000..06121de --- /dev/null +++ b/src/main/generated/data/acesbs/advancement/recipes/tools/wand.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_stable_entropy": { + "conditions": { + "items": [ + { + "items": "acesbs:stable_entropy" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "acesbs:wand" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_stable_entropy" + ] + ], + "rewards": { + "recipes": [ + "acesbs:wand" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/acesbs/recipe/wand.json b/src/main/generated/data/acesbs/recipe/wand.json new file mode 100644 index 0000000..137864f --- /dev/null +++ b/src/main/generated/data/acesbs/recipe/wand.json @@ -0,0 +1,17 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "equipment", + "key": { + "B": "minecraft:breeze_rod", + "S": "acesbs:stable_entropy" + }, + "pattern": [ + " ", + " S ", + " B " + ], + "result": { + "count": 1, + "id": "acesbs:wand" + } +} \ No newline at end of file diff --git a/src/main/java/com/acethewildfire/acesbs/PATCH_NOTES.md b/src/main/java/com/acethewildfire/acesbs/PATCH_NOTES.md index 84840c2..c0044f9 100644 --- a/src/main/java/com/acethewildfire/acesbs/PATCH_NOTES.md +++ b/src/main/java/com/acethewildfire/acesbs/PATCH_NOTES.md @@ -4,6 +4,7 @@ - Prisma Smithing Templates can be given by Armorers as a Hero of the Village Gift. - Ashen and Prisma Smithing Templates can be duplicated like other templates. - Hammers are now included in the pickaxe item tag. (aka, to other mods they will be considered a type of pickaxe) +- The Entropic Wand is now obtainable by grafting a breeze rod with a Stable Entropy. It turns blocks into other blocks. You will have to experiment to find out which ones. - Fire Oak Trees and associated wood blocks. Obtainable by placing an oak sapling and infernal ashes in an Entropic Entangler - Leaf Litter for both Lemonwood and the new Fire Oak leaf types. - Fractal Diamonds can now be obtained by placing a diamond and stable entropy into an entropic entangler. They can be used to craft tools and armor. They have the same effect as Prisma Steel and drop additional ores when mining. diff --git a/src/main/java/com/acethewildfire/acesbs/datagen/ModRecipeProvider.java b/src/main/java/com/acethewildfire/acesbs/datagen/ModRecipeProvider.java index ad931c2..8042239 100644 --- a/src/main/java/com/acethewildfire/acesbs/datagen/ModRecipeProvider.java +++ b/src/main/java/com/acethewildfire/acesbs/datagen/ModRecipeProvider.java @@ -73,6 +73,15 @@ public class ModRecipeProvider extends FabricRecipeProvider { .criterion(hasItem(FractalDiamondItems.FRACTAL_DIAMOND), conditionsFromItem(FractalDiamondItems.FRACTAL_DIAMOND)) .offerTo(recipeExporter); + createShaped(RecipeCategory.TOOLS, ModItems.WAND, 1) + .pattern(" ") + .pattern(" S ") + .pattern(" B ") + .input('B', Items.BREEZE_ROD) + .input('S', ModItems.STABLE_ENTROPY) + .criterion(hasItem(ModItems.STABLE_ENTROPY), conditionsFromItem(ModItems.STABLE_ENTROPY)) + .offerTo(recipeExporter); + createShaped(RecipeCategory.COMBAT, ModItems.ORACLE_LEMON, 4) .pattern("###") .pattern("#L#") diff --git a/src/main/java/com/acethewildfire/acesbs/item/ModItems.java b/src/main/java/com/acethewildfire/acesbs/item/ModItems.java index a4a3949..134fe04 100644 --- a/src/main/java/com/acethewildfire/acesbs/item/ModItems.java +++ b/src/main/java/com/acethewildfire/acesbs/item/ModItems.java @@ -37,7 +37,7 @@ import java.util.function.Function; public class ModItems { public static final Item ORACLE_LEMON = registerItem("oracle_lemon", setting -> new OracleLemon(setting.component(DataComponentTypes.POTION_CONTENTS, new PotionContentsComponent(ModPotions.LEMON)))); - public static final Item WAND = registerItem("wand", setting -> new Wand(setting.maxDamage(32))); + public static final Item WAND = registerItem("wand", setting -> new Wand(setting.maxDamage(128))); public static final Item BAG_OF_HOLDING = registerItem("bag_of_holding", BagOfHolding::new); public static final Item RAW_ENTROPY = registerItem("raw_entropy", Item::new); public static final Item STABLE_ENTROPY = registerItem("stable_entropy", Item::new); diff --git a/src/main/java/com/acethewildfire/acesbs/item/custom/Wand.java b/src/main/java/com/acethewildfire/acesbs/item/custom/Wand.java index e0d84ba..32fe818 100644 --- a/src/main/java/com/acethewildfire/acesbs/item/custom/Wand.java +++ b/src/main/java/com/acethewildfire/acesbs/item/custom/Wand.java @@ -3,8 +3,7 @@ package com.acethewildfire.acesbs.item.custom; import com.acethewildfire.acesbs.block.LemonWoodBlocks; import com.acethewildfire.acesbs.block.ModBlocks; import com.acethewildfire.acesbs.component.ModDataComponentTypes; -import net.minecraft.block.Block; -import net.minecraft.block.Blocks; +import net.minecraft.block.*; import net.minecraft.client.MinecraftClient; import net.minecraft.component.type.TooltipDisplayComponent; import net.minecraft.entity.EquipmentSlot; @@ -20,20 +19,66 @@ import net.minecraft.text.Text; import net.minecraft.util.ActionResult; import net.minecraft.world.World; +import java.util.HashMap; import java.util.Map; import java.util.function.Consumer; public class Wand extends Item { - private static final Map WAND_MAP = - Map.of( - Blocks.IRON_ORE, ModBlocks.ENTROPY_ORE, - Blocks.BIRCH_PLANKS, LemonWoodBlocks.LEMONWOOD_PLANKS, - ModBlocks.STABLE_ENTROPY_BLOCK, ModBlocks.EVIL_BLOCK, - ModBlocks.EVIL_BLOCK, ModBlocks.STABLE_ENTROPY_BLOCK - ); + private static final Map EVIL_MAP = Map.of( + ModBlocks.STABLE_ENTROPY_BLOCK, ModBlocks.EVIL_BLOCK, + ModBlocks.EVIL_BLOCK, ModBlocks.STABLE_ENTROPY_BLOCK + ); + + private static final Map STONE_MAP = Map.of( + Blocks.STONE, Blocks.ANDESITE, + Blocks.ANDESITE, Blocks.TUFF, + Blocks.TUFF, Blocks.GRANITE, + Blocks.GRANITE, Blocks.DIORITE, + Blocks.DIORITE, Blocks.STONE + ); + + private static final Map OTHER_STONE_MAP = Map.of( + Blocks.DEEPSLATE, Blocks.BASALT, + Blocks.BASALT, Blocks.BLACKSTONE, + Blocks.BLACKSTONE, Blocks.DEEPSLATE + ); + + private static final Map SAND_MAP = Map.of( + Blocks.SAND, Blocks.RED_SAND, + Blocks.RED_SAND, Blocks.SAND + ); + + private static Map SANDSTONE_MAP = Map.of( + Blocks.SANDSTONE, Blocks.RED_SANDSTONE, + Blocks.RED_SANDSTONE, Blocks.SANDSTONE + ); + + private static Map GRASS_BLOCK_MAP = Map.of( + Blocks.GRASS_BLOCK, Blocks.PODZOL, + Blocks.PODZOL, Blocks.MYCELIUM, + Blocks.MYCELIUM, Blocks.GRASS_BLOCK + ); + + private static Map LIZARD_MAP = Map.of( + Blocks.CRIMSON_BUTTON, ModBlocks.LIZARD_BUTTON, + ModBlocks.LIZARD_BUTTON, Blocks.CRIMSON_BUTTON, + Blocks.CRIMSON_PLANKS, ModBlocks.LIZARD_PLANKS, + ModBlocks.LIZARD_PLANKS, Blocks.CRIMSON_PLANKS + ); + + private static Map WAND_MAP = new HashMap<>(); public Wand(Settings settings) { super(settings); + + // For some reason Map.of caps at 10 entries. So we break em up. + WAND_MAP.putAll(EVIL_MAP); + WAND_MAP.putAll(STONE_MAP); + WAND_MAP.putAll(OTHER_STONE_MAP); + WAND_MAP.putAll(SAND_MAP); + WAND_MAP.putAll(SANDSTONE_MAP); + WAND_MAP.putAll(GRASS_BLOCK_MAP); + WAND_MAP.putAll(LIZARD_MAP); } @Override diff --git a/src/main/resources/assets/acesbs/lang/en_us.json b/src/main/resources/assets/acesbs/lang/en_us.json index 1e2bc18..aa67e47 100644 --- a/src/main/resources/assets/acesbs/lang/en_us.json +++ b/src/main/resources/assets/acesbs/lang/en_us.json @@ -13,7 +13,7 @@ "item.acesbs.aquarium_gravel": "Aquarium Gravel", "item.acesbs.cooked_lemon": "Cooked Odd Lemon", "item.acesbs.green_bricks": "Green Bricks", - "item.acesbs.wand": "Entropy Wand", + "item.acesbs.wand": "Entropic Wand", "item.acesbs.command_core": "Command Core", "item.minecraft.potion.effect.blindness": "Potion of Blindness",