From d8720840f3cd1a4ee22973bfd2e91852301407bc Mon Sep 17 00:00:00 2001 From: thedarkcolour <30441001+thedarkcolour@users.noreply.github.com> Date: Fri, 15 May 2026 14:21:42 -0700 Subject: [PATCH] Add Copper Watering Can --- changelog.md | 1 + .../93943142017732f21fbc4fa325d116c728b69767 | 4 +-- .../dd659b25f3b63c39e7c4bd9f09cb7a21361864b4 | 4 ++- .../fc2b6ffd874afaa6f2f20b450921dbfbbc8b86bd | 4 ++- .../exdeorum/items/copper_watering_can.json | 6 ++++ .../resources/assets/exdeorum/lang/en_us.json | 1 + .../models/item/copper_watering_can.json | 6 ++++ .../recipes/tools/copper_watering_can.json | 32 ++++++++++++++++++ .../exdeorum/recipe/copper_watering_can.json | 16 +++++++++ .../exdeorum/client/ClientHandler.java | 23 +++++-------- .../compat/jei/ExDeorumJeiPlugin.java | 2 +- .../exdeorum/data/ItemModels.java | 1 + .../exdeorum/data/recipe/Recipes.java | 1 + .../exdeorum/event/EventHandler.java | 11 ++---- .../exdeorum/registry/EItems.java | 5 +-- .../textures/item/copper_watering_can.png | Bin 0 -> 350 bytes 16 files changed, 88 insertions(+), 29 deletions(-) create mode 100644 src/generated/resources/assets/exdeorum/items/copper_watering_can.json create mode 100644 src/generated/resources/assets/exdeorum/models/item/copper_watering_can.json create mode 100644 src/generated/resources/data/exdeorum/advancement/recipes/tools/copper_watering_can.json create mode 100644 src/generated/resources/data/exdeorum/recipe/copper_watering_can.json create mode 100644 src/main/resources/assets/exdeorum/textures/item/copper_watering_can.png diff --git a/changelog.md b/changelog.md index 95d90bef..88994d2c 100644 --- a/changelog.md +++ b/changelog.md @@ -1,6 +1,7 @@ ## Ex Deorum 4.0 - Added Pale Oak Crucible, Sieve, Compressed Sieve, and Barrel - Added Creaking Core to turn Pale Oak Log into Creaking Heart +- Added Copper Watering Can in parity with Vanilla's new copper tools - Added new Moss Block sieve drops: - Pale Oak Sapling now drops from all meshes - Bush now drops from Flint Mesh diff --git a/src/generated/resources/.cache/93943142017732f21fbc4fa325d116c728b69767 b/src/generated/resources/.cache/93943142017732f21fbc4fa325d116c728b69767 index bb8f8751..96fa5daa 100644 --- a/src/generated/resources/.cache/93943142017732f21fbc4fa325d116c728b69767 +++ b/src/generated/resources/.cache/93943142017732f21fbc4fa325d116c728b69767 @@ -1,2 +1,2 @@ -// 26.1.2 2026-05-15T13:35:45.55322574 ModKit Language: en_us for mod 'exdeorum' -994c3e75819f30f5398e9ddf6b3ace1e04caccfc assets/exdeorum/lang/en_us.json +// 26.1.2 2026-05-15T14:18:28.254105946 ModKit Language: en_us for mod 'exdeorum' +b152b07fb635f093011eb25daea6d773eb07bf76 assets/exdeorum/lang/en_us.json diff --git a/src/generated/resources/.cache/dd659b25f3b63c39e7c4bd9f09cb7a21361864b4 b/src/generated/resources/.cache/dd659b25f3b63c39e7c4bd9f09cb7a21361864b4 index 965d2bf4..2ca191b6 100644 --- a/src/generated/resources/.cache/dd659b25f3b63c39e7c4bd9f09cb7a21361864b4 +++ b/src/generated/resources/.cache/dd659b25f3b63c39e7c4bd9f09cb7a21361864b4 @@ -1,4 +1,4 @@ -// 26.1.2 2026-05-15T13:35:45.564024987 ModKit Recipes for mod 'exdeorum' +// 26.1.2 2026-05-15T14:18:28.258585953 ModKit Recipes for mod 'exdeorum' 0060d0e16dba2df44cc115f8ed68ef5dc52c74f1 data/exdeorum/advancement/recipes/building_blocks/andesite.json b9c5d12771d724cd646e637641da7a4d6b0a6bbf data/exdeorum/advancement/recipes/building_blocks/basalt.json d87a237248c140367dbfb748d45f532534e5b45c data/exdeorum/advancement/recipes/building_blocks/blackstone.json @@ -205,6 +205,7 @@ fa317e0e8887b640978d7b3cf13a894c01918752 data/exdeorum/advancement/recipes/tools 6da1d5298bda12a9b9037871e99d0ec6997b23cc data/exdeorum/advancement/recipes/tools/compressed_netherite_hammer.json 6eccf976923f18bea6072818b804dae52e1588da data/exdeorum/advancement/recipes/tools/compressed_stone_hammer.json ca061bf2d0df36d7e73c3d115a7ee909eae5d978 data/exdeorum/advancement/recipes/tools/compressed_wooden_hammer.json +d614acd345ba5d6ec095f116b0499079de2e1b7a data/exdeorum/advancement/recipes/tools/copper_watering_can.json 3024e4883143c79e5ca1b787b1b6f882c31df9dd data/exdeorum/advancement/recipes/tools/crook.json 5611c6255c467b58903146b6aa45c04b2333b6f5 data/exdeorum/advancement/recipes/tools/diamond_hammer.json e6a4a0f007a873628ad73e63fda13e5d41140343 data/exdeorum/advancement/recipes/tools/diamond_watering_can.json @@ -1225,6 +1226,7 @@ f75f50de4e82c951d409cf2ee2c9ef36fb530681 data/exdeorum/recipe/compressed_stone_h a96c72e752d046013e08ad0647a4e1315edac0af data/exdeorum/recipe/cooked_silkworm_from_campfire_cooking.json 0ac4b2838492d19d35923e15c6fd6e09d2fa1667 data/exdeorum/recipe/cooked_silkworm_from_smoking.json 65684fe56a6af62a689c2b13844cc27cefaafeb9 data/exdeorum/recipe/copper_ore.json +ee0a2755375533b3b246d643adcb6d0b00c1f291 data/exdeorum/recipe/copper_watering_can.json 9e43f8e85af0e75617f824566b580f3f731c7c05 data/exdeorum/recipe/creaking_core.json cceee6f7baeb4725a3ac6568f869f9724e2a21b9 data/exdeorum/recipe/crimson_barrel.json f7caaff7a9c182901eaff290b6d61382efa279bb data/exdeorum/recipe/crimson_compressed_sieve.json diff --git a/src/generated/resources/.cache/fc2b6ffd874afaa6f2f20b450921dbfbbc8b86bd b/src/generated/resources/.cache/fc2b6ffd874afaa6f2f20b450921dbfbbc8b86bd index d4897e4f..845f7a32 100644 --- a/src/generated/resources/.cache/fc2b6ffd874afaa6f2f20b450921dbfbbc8b86bd +++ b/src/generated/resources/.cache/fc2b6ffd874afaa6f2f20b450921dbfbbc8b86bd @@ -1,4 +1,4 @@ -// 26.1.2 2026-05-15T13:35:45.554995054 ModKit Item Models for mod 'exdeorum' +// 26.1.2 2026-05-15T14:18:28.254818863 ModKit Item Models for mod 'exdeorum' 8cfb1fdb327d53288205eb62b8b7857eafa2a091 assets/exdeorum/items/acacia_barrel.json 8c5b35194de98a2325ed84334623e72596e50b0f assets/exdeorum/items/acacia_compressed_sieve.json 930e698609436fdf71a3ab0b738f7566adfe15c7 assets/exdeorum/items/acacia_crucible.json @@ -63,6 +63,7 @@ e6d96fa05cd3c8ebaa5f2e0d3e67ba04f203b741 assets/exdeorum/items/compressed_stone_ f1cd9e3ce836021d8e435bc206fc8e62c242a615 assets/exdeorum/items/compressed_wooden_hammer.json 52de2263e21e688edae120e80bac0f15a95397c9 assets/exdeorum/items/cooked_silkworm.json 1d5add85d17aa829a184d469690e654f9fdbf5ef assets/exdeorum/items/copper_ore_chunk.json +fa738eef9f6a69809026ec7523f75a96d041c571 assets/exdeorum/items/copper_watering_can.json e109bde87167aec1b6cf7d5d6c1ca50824f974c2 assets/exdeorum/items/creaking_core.json 535f3bf29763fe534df092396589e75f41ff25bd assets/exdeorum/items/crimson_barrel.json 2ea9c91eacc0413d3ba0794bef229f502d076eb0 assets/exdeorum/items/crimson_compressed_sieve.json @@ -303,6 +304,7 @@ fa43f2736b5d430be09a4040699d50f4716422d0 assets/exdeorum/models/item/compressed_ 8ee0cde55fd9244eff5b9ed65e8027ba89362c03 assets/exdeorum/models/item/compressed_wooden_hammer.json 2738250c8aaede17c32c2df28612bfd70145a158 assets/exdeorum/models/item/cooked_silkworm.json f611abadb3d337ab6a40255116e974e6f5b6edf2 assets/exdeorum/models/item/copper_ore_chunk.json +37ed28bbc7ef4bb58d972a1cdc98dc1c936b8682 assets/exdeorum/models/item/copper_watering_can.json 9303141f016767327bc7e8de59fa58bc26529a05 assets/exdeorum/models/item/creaking_core.json d6109df4904776aca591e7dfc8ee8da50664e1df assets/exdeorum/models/item/crimson_barrel.json b240f3070b3c93e54ddbf02bf2c3f6876a28a4bc assets/exdeorum/models/item/crimson_compressed_sieve.json diff --git a/src/generated/resources/assets/exdeorum/items/copper_watering_can.json b/src/generated/resources/assets/exdeorum/items/copper_watering_can.json new file mode 100644 index 00000000..71335da6 --- /dev/null +++ b/src/generated/resources/assets/exdeorum/items/copper_watering_can.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "exdeorum:item/copper_watering_can" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/exdeorum/lang/en_us.json b/src/generated/resources/assets/exdeorum/lang/en_us.json index 5e77138d..7de9855e 100644 --- a/src/generated/resources/assets/exdeorum/lang/en_us.json +++ b/src/generated/resources/assets/exdeorum/lang/en_us.json @@ -301,6 +301,7 @@ "item.exdeorum.compressed_wooden_hammer": "Compressed Wooden Hammer", "item.exdeorum.cooked_silkworm": "Cooked Silkworm", "item.exdeorum.copper_ore_chunk": "Copper Ore Chunk", + "item.exdeorum.copper_watering_can": "Copper Watering Can", "item.exdeorum.creaking_core": "Creaking Core", "item.exdeorum.crimson_barrel": "Crimson Barrel", "item.exdeorum.crimson_compressed_sieve": "Crimson Compressed Sieve", diff --git a/src/generated/resources/assets/exdeorum/models/item/copper_watering_can.json b/src/generated/resources/assets/exdeorum/models/item/copper_watering_can.json new file mode 100644 index 00000000..aec6405d --- /dev/null +++ b/src/generated/resources/assets/exdeorum/models/item/copper_watering_can.json @@ -0,0 +1,6 @@ +{ + "parent": "item/handheld", + "textures": { + "layer0": "exdeorum:item/copper_watering_can" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/exdeorum/advancement/recipes/tools/copper_watering_can.json b/src/generated/resources/data/exdeorum/advancement/recipes/tools/copper_watering_can.json new file mode 100644 index 00000000..d68bc650 --- /dev/null +++ b/src/generated/resources/data/exdeorum/advancement/recipes/tools/copper_watering_can.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "#c:ingots/copper" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "exdeorum:copper_watering_can" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "exdeorum:copper_watering_can" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/exdeorum/recipe/copper_watering_can.json b/src/generated/resources/data/exdeorum/recipe/copper_watering_can.json new file mode 100644 index 00000000..00cdd854 --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipe/copper_watering_can.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "equipment", + "key": { + "#": "#c:ingots/copper", + "B": "minecraft:bowl" + }, + "pattern": [ + "# ", + "#B#", + " # " + ], + "result": { + "id": "exdeorum:copper_watering_can" + } +} \ No newline at end of file diff --git a/src/main/java/thedarkcolour/exdeorum/client/ClientHandler.java b/src/main/java/thedarkcolour/exdeorum/client/ClientHandler.java index 10d9d918..26071952 100644 --- a/src/main/java/thedarkcolour/exdeorum/client/ClientHandler.java +++ b/src/main/java/thedarkcolour/exdeorum/client/ClientHandler.java @@ -26,12 +26,14 @@ import net.minecraft.client.resources.model.sprite.Material; import net.minecraft.core.Holder; import net.minecraft.core.registries.Registries; import net.minecraft.server.packs.resources.ResourceManagerReloadListener; +import net.minecraft.world.item.Item; import net.minecraft.world.level.levelgen.presets.WorldPreset; import net.neoforged.bus.api.IEventBus; import net.neoforged.fml.event.config.ModConfigEvent; import net.neoforged.neoforge.client.event.*; import net.neoforged.neoforge.client.extensions.common.RegisterClientExtensionsEvent; import net.neoforged.neoforge.common.NeoForge; +import net.neoforged.neoforge.registries.DeferredItem; import net.neoforged.neoforge.server.ServerLifecycleHooks; import thedarkcolour.exdeorum.ExDeorum; import thedarkcolour.exdeorum.asm.ASMHooks; @@ -69,14 +71,7 @@ public class ClientHandler { private static void registerClientExtensions(RegisterClientExtensionsEvent event) { event.registerFluidType(new WitchWaterFluid.ClientExtensions(), EFluids.WITCH_WATER_TYPE.get()); - event.registerItem(new WateringCanItem.ClientExtensions(), - EItems.WOODEN_WATERING_CAN.get(), - EItems.STONE_WATERING_CAN.get(), - EItems.IRON_WATERING_CAN.get(), - EItems.GOLDEN_WATERING_CAN.get(), - EItems.DIAMOND_WATERING_CAN.get(), - EItems.NETHERITE_WATERING_CAN.get() - ); + event.registerItem(new WateringCanItem.ClientExtensions(), EItems.WATERING_CANS.stream().map(DeferredItem::asItem).toArray(Item[]::new)); } private static void registerFluidModels(RegisterFluidModelsEvent event) { @@ -93,7 +88,7 @@ public class ClientHandler { } private static void addClientReloadListeners(AddClientReloadListenersEvent event) { - event.addListener(ExDeorum.loc("render_util"), (ResourceManagerReloadListener) resourceManager -> RenderUtil.reload()); + event.addListener(ExDeorum.loc("render_util"), (ResourceManagerReloadListener) _ -> RenderUtil.reload()); } private static void registerMenuScreens(RegisterMenuScreensEvent event) { @@ -120,11 +115,11 @@ public class ClientHandler { private static void registerRenderers(EntityRenderersEvent.RegisterRenderers event) { event.registerBlockEntityRenderer(EBlockEntities.INFESTED_LEAVES.get(), InfestedLeavesRenderer::new); event.registerBlockEntityRenderer(EBlockEntities.BARREL.get(), BarrelRenderer::new); - event.registerBlockEntityRenderer(EBlockEntities.LAVA_CRUCIBLE.get(), ctx -> new CrucibleRenderer()); - event.registerBlockEntityRenderer(EBlockEntities.WATER_CRUCIBLE.get(), ctx -> new CrucibleRenderer()); - event.registerBlockEntityRenderer(EBlockEntities.SIEVE.get(), ctx -> new SieveRenderer<>(0.75f, 15f)); - event.registerBlockEntityRenderer(EBlockEntities.MECHANICAL_SIEVE.get(), ctx -> new SieveRenderer<>(0.75f, 15f)); - event.registerBlockEntityRenderer(EBlockEntities.COMPRESSED_SIEVE.get(), ctx -> new CompressedSieveRenderer<>(0.5625f, 16f)); + event.registerBlockEntityRenderer(EBlockEntities.LAVA_CRUCIBLE.get(), _ -> new CrucibleRenderer()); + event.registerBlockEntityRenderer(EBlockEntities.WATER_CRUCIBLE.get(), _ -> new CrucibleRenderer()); + event.registerBlockEntityRenderer(EBlockEntities.SIEVE.get(), _ -> new SieveRenderer<>(0.75f, 15f)); + event.registerBlockEntityRenderer(EBlockEntities.MECHANICAL_SIEVE.get(), _ -> new SieveRenderer<>(0.75f, 15f)); + event.registerBlockEntityRenderer(EBlockEntities.COMPRESSED_SIEVE.get(), _ -> new CompressedSieveRenderer<>(0.5625f, 16f)); } // Sets Ex Deorum world type as default diff --git a/src/main/java/thedarkcolour/exdeorum/compat/jei/ExDeorumJeiPlugin.java b/src/main/java/thedarkcolour/exdeorum/compat/jei/ExDeorumJeiPlugin.java index a5e0540c..916a6ae4 100644 --- a/src/main/java/thedarkcolour/exdeorum/compat/jei/ExDeorumJeiPlugin.java +++ b/src/main/java/thedarkcolour/exdeorum/compat/jei/ExDeorumJeiPlugin.java @@ -170,7 +170,7 @@ public class ExDeorumJeiPlugin implements IModPlugin { registration.addItemStackInfo(List.of(new ItemStack(EItems.INFESTED_LEAVES.get()), new ItemStack(EItems.SILKWORM.get())), Component.translatable(TranslationKeys.SILK_WORM_JEI_INFO)); registration.addItemStackInfo(CompatUtil.getAvailableSieves(true, false).stream().map(ItemStack::new).toList(), Component.translatable(TranslationKeys.SIEVE_JEI_INFO)); registration.addItemStackInfo(List.of(new ItemStack(EItems.STRING_MESH.get()), new ItemStack(EItems.STRING_MESH.get()), new ItemStack(EItems.FLINT_MESH.get()), new ItemStack(EItems.IRON_MESH.get()), new ItemStack(EItems.GOLDEN_MESH.get()), new ItemStack(EItems.DIAMOND_MESH.get()), new ItemStack(EItems.NETHERITE_MESH.get())), Component.translatable(TranslationKeys.SIEVE_MESH_JEI_INFO)); - registration.addItemStackInfo(List.of(WateringCanItem.getFull(EItems.WOODEN_WATERING_CAN), WateringCanItem.getFull(EItems.STONE_WATERING_CAN), WateringCanItem.getFull(EItems.IRON_WATERING_CAN), WateringCanItem.getFull(EItems.GOLDEN_WATERING_CAN), WateringCanItem.getFull(EItems.DIAMOND_WATERING_CAN), WateringCanItem.getFull(EItems.NETHERITE_WATERING_CAN)), Component.translatable(TranslationKeys.WATERING_CAN_JEI_INFO)); + registration.addItemStackInfo(EItems.WATERING_CANS.stream().map(WateringCanItem::getFull).toList(), Component.translatable(TranslationKeys.WATERING_CAN_JEI_INFO)); var witchWaterInfo = Component.translatable(TranslationKeys.WITCH_WATER_JEI_INFO); registration.addItemStackInfo(List.of(new ItemStack(EItems.WITCH_WATER_BUCKET.get()), new ItemStack(EItems.PORCELAIN_WITCH_WATER_BUCKET.get())), witchWaterInfo); registration.addIngredientInfo(new FluidStack(EFluids.WITCH_WATER.get(), 1000), NeoForgeTypes.FLUID_STACK, witchWaterInfo); diff --git a/src/main/java/thedarkcolour/exdeorum/data/ItemModels.java b/src/main/java/thedarkcolour/exdeorum/data/ItemModels.java index db5d8a9e..87b4e7c9 100644 --- a/src/main/java/thedarkcolour/exdeorum/data/ItemModels.java +++ b/src/main/java/thedarkcolour/exdeorum/data/ItemModels.java @@ -41,6 +41,7 @@ class ItemModels { models.handheld(EItems.WOODEN_WATERING_CAN); models.handheld(EItems.STONE_WATERING_CAN); + models.handheld(EItems.COPPER_WATERING_CAN); models.handheld(EItems.IRON_WATERING_CAN); models.handheld(EItems.GOLDEN_WATERING_CAN); models.handheld(EItems.DIAMOND_WATERING_CAN); diff --git a/src/main/java/thedarkcolour/exdeorum/data/recipe/Recipes.java b/src/main/java/thedarkcolour/exdeorum/data/recipe/Recipes.java index b14fc298..2f0c9855 100644 --- a/src/main/java/thedarkcolour/exdeorum/data/recipe/Recipes.java +++ b/src/main/java/thedarkcolour/exdeorum/data/recipe/Recipes.java @@ -346,6 +346,7 @@ public class Recipes { // Watering cans wateringCan(recipes, EItems.WOODEN_WATERING_CAN, recipes.ingredient(ItemTags.PLANKS)); wateringCan(recipes, EItems.STONE_WATERING_CAN, recipes.ingredient(ItemTags.STONE_TOOL_MATERIALS)); + wateringCan(recipes, EItems.COPPER_WATERING_CAN, recipes.ingredient(Tags.Items.INGOTS_COPPER)); wateringCan(recipes, EItems.IRON_WATERING_CAN, recipes.ingredient(Tags.Items.INGOTS_IRON)); wateringCan(recipes, EItems.GOLDEN_WATERING_CAN, recipes.ingredient(Tags.Items.INGOTS_GOLD)); wateringCan(recipes, EItems.DIAMOND_WATERING_CAN, recipes.ingredient(Tags.Items.GEMS_DIAMOND)); diff --git a/src/main/java/thedarkcolour/exdeorum/event/EventHandler.java b/src/main/java/thedarkcolour/exdeorum/event/EventHandler.java index fe2ab5f8..a65dc876 100644 --- a/src/main/java/thedarkcolour/exdeorum/event/EventHandler.java +++ b/src/main/java/thedarkcolour/exdeorum/event/EventHandler.java @@ -34,6 +34,7 @@ import net.minecraft.util.Unit; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.Items; import net.minecraft.world.item.crafting.RecipeType; +import net.minecraft.world.level.ItemLike; import net.minecraft.world.level.gamerules.GameRules; import net.minecraft.world.level.block.Blocks; import net.minecraft.world.level.block.state.BlockState; @@ -283,18 +284,12 @@ public final class EventHandler { event.registerBlockEntity(Capabilities.Item.BLOCK, EBlockEntities.WATER_CRUCIBLE.get(), (crucible, direction) -> new LegacyItemHandlerTransfer(crucible.getItem())); event.registerBlockEntity(Capabilities.Fluid.BLOCK, EBlockEntities.WATER_CRUCIBLE.get(), (crucible, direction) -> new LegacyFluidTankTransfer(crucible.getTank())); - event.registerItem(Capabilities.Fluid.ITEM, (stack, ctx) -> ctx == null ? null : new LegacyFluidItemAccessTransfer(ctx, PorcelainBucket.ItemHandler::new), + event.registerItem(Capabilities.Fluid.ITEM, (_, ctx) -> new LegacyFluidItemAccessTransfer(ctx, PorcelainBucket.ItemHandler::new), EItems.PORCELAIN_BUCKET, EItems.PORCELAIN_WATER_BUCKET, EItems.PORCELAIN_LAVA_BUCKET, EItems.PORCELAIN_MILK_BUCKET, EItems.PORCELAIN_WITCH_WATER_BUCKET); - event.registerItem(Capabilities.Fluid.ITEM, (stack, ctx) -> ctx == null ? null : new LegacyFluidItemAccessTransfer(ctx, WateringCanItem.FluidHandler::new), - EItems.WOODEN_WATERING_CAN, - EItems.STONE_WATERING_CAN, - EItems.IRON_WATERING_CAN, - EItems.GOLDEN_WATERING_CAN, - EItems.DIAMOND_WATERING_CAN, - EItems.NETHERITE_WATERING_CAN); + event.registerItem(Capabilities.Fluid.ITEM, (_, ctx) -> new LegacyFluidItemAccessTransfer(ctx, WateringCanItem.FluidHandler::new), EItems.WATERING_CANS.toArray(ItemLike[]::new)); } } diff --git a/src/main/java/thedarkcolour/exdeorum/registry/EItems.java b/src/main/java/thedarkcolour/exdeorum/registry/EItems.java index 50562e8f..9fd38392 100644 --- a/src/main/java/thedarkcolour/exdeorum/registry/EItems.java +++ b/src/main/java/thedarkcolour/exdeorum/registry/EItems.java @@ -52,6 +52,7 @@ public class EItems { // Watering cans public static final DeferredItem WOODEN_WATERING_CAN = register("wooden_watering_can", properties -> new WateringCanItem(300, properties.stacksTo(1))); public static final DeferredItem STONE_WATERING_CAN = register("stone_watering_can", properties -> new WateringCanItem(1000, properties.stacksTo(1))); + public static final DeferredItem COPPER_WATERING_CAN = register("copper_watering_can", properties -> new WateringCanItem(2000, properties.stacksTo(1))); public static final DeferredItem IRON_WATERING_CAN = register("iron_watering_can", properties -> new WateringCanItem(2000, properties.stacksTo(1))); public static final DeferredItem GOLDEN_WATERING_CAN = register("golden_watering_can", properties -> new WateringCanItem(4000, properties.stacksTo(1))); public static final DeferredItem DIAMOND_WATERING_CAN = register("diamond_watering_can", properties -> new WideWateringCanItem(false, properties.stacksTo(1))); @@ -170,6 +171,7 @@ public class EItems { public static final DeferredItem END_CAKE = registerItemBlock(EBlocks.END_CAKE); public static final DeferredItem INFESTED_LEAVES = registerItemBlock(EBlocks.INFESTED_LEAVES); + public static final List> WATERING_CANS = List.of(WOODEN_WATERING_CAN, STONE_WATERING_CAN, COPPER_WATERING_CAN, IRON_WATERING_CAN, GOLDEN_WATERING_CAN, DIAMOND_WATERING_CAN, NETHERITE_WATERING_CAN); public static void addItemsToMainTab(CreativeModeTab.Output output) { for (var material : Iterables.concat(CompatUtil.getAvailableBarrels(true), CompatUtil.getAvailableSieves(true, false), CompatUtil.getAvailableCompressedSieves(true))) { @@ -219,8 +221,7 @@ public class EItems { output.accept(COOKED_SILKWORM.get()); output.accept(CROOK.get()); output.accept(BONE_CROOK.get()); - var wateringCans = List.of(WOODEN_WATERING_CAN, STONE_WATERING_CAN, IRON_WATERING_CAN, GOLDEN_WATERING_CAN, DIAMOND_WATERING_CAN, NETHERITE_WATERING_CAN); - for (var wateringCan : wateringCans) { + for (var wateringCan : WATERING_CANS) { var full = WateringCanItem.getFull(wateringCan); output.accept(wateringCan.get()); output.accept(full); diff --git a/src/main/resources/assets/exdeorum/textures/item/copper_watering_can.png b/src/main/resources/assets/exdeorum/textures/item/copper_watering_can.png new file mode 100644 index 0000000000000000000000000000000000000000..aea2fc046b3d1c6dbd18c94aa1397435aa439d6c GIT binary patch literal 350 zcmV-k0iphhP)Fo2UPtCXxq4YZnp?sGfXog57hZY7h|gejd9VR6 z2D%|2&E5veV7YToKY(c`nXmu%J$cWF)qu~h@4yXFl#yb%|Ku6N)(dwTBt?b6@~3V; zf*KoR%|CL0HzN;{=lH2tO)TU1H*q7 zsFPt%{|_<*WIG6`=~yvL0n*1FzGQgv`UBkAl^YK;&haz+e*@+Pn7?6$kP-__=mN+g z{ru%C6ge4Dh&MpCAHMe*td