From 4cf84cea1ef597eb9046ad34780679de47bc8249 Mon Sep 17 00:00:00 2001 From: Steven Date: Sun, 1 Oct 2023 21:02:24 -0400 Subject: [PATCH] added growth and magnet and added overrides --- .../util_rings/init/CreativeTabInit.java | 2 ++ .../util_rings/init/ItemsInit.java | 8 +++++- .../util_rings/items/GrowthRing.java | 16 +++++++++++ .../util_rings/items/MagnetRing.java | 16 +++++++++++ .../util_rings/items/VolcanicGlassRing.java | 24 ++++++++++++++++ .../assets/util_rings/lang/en_us.json | 2 ++ .../util_rings/models/item/growth_ring.json | 6 ++++ .../util_rings/models/item/magnet_ring.json | 6 ++++ .../util_rings/textures/item/growth_ring.png | Bin 0 -> 5949 bytes .../util_rings/textures/item/magnet_ring.png | Bin 0 -> 5689 bytes .../data/util_rings/recipes/growth_ring.json | 24 ++++++++++++++++ .../data/util_rings/recipes/magnet_ring.json | 26 ++++++++++++++++++ 12 files changed, 129 insertions(+), 1 deletion(-) create mode 100644 src/main/java/com/skdevstudios/util_rings/items/GrowthRing.java create mode 100644 src/main/java/com/skdevstudios/util_rings/items/MagnetRing.java create mode 100644 src/main/java/com/skdevstudios/util_rings/items/VolcanicGlassRing.java create mode 100644 src/main/resources/assets/util_rings/models/item/growth_ring.json create mode 100644 src/main/resources/assets/util_rings/models/item/magnet_ring.json create mode 100644 src/main/resources/assets/util_rings/textures/item/growth_ring.png create mode 100644 src/main/resources/assets/util_rings/textures/item/magnet_ring.png create mode 100644 src/main/resources/data/util_rings/recipes/growth_ring.json create mode 100644 src/main/resources/data/util_rings/recipes/magnet_ring.json diff --git a/src/main/java/com/skdevstudios/util_rings/init/CreativeTabInit.java b/src/main/java/com/skdevstudios/util_rings/init/CreativeTabInit.java index 35982d9..6fb30cd 100644 --- a/src/main/java/com/skdevstudios/util_rings/init/CreativeTabInit.java +++ b/src/main/java/com/skdevstudios/util_rings/init/CreativeTabInit.java @@ -21,6 +21,8 @@ public class CreativeTabInit { .displayItems((parameters, output) -> { output.accept(ItemsInit.IRON_RING.get()); output.accept(ItemsInit.VOLCANIC_GLASS_RING.get()); + output.accept(ItemsInit.MAGNET_RING.get()); + output.accept(ItemsInit.GROWTH_RING.get()); }) .build() ); diff --git a/src/main/java/com/skdevstudios/util_rings/init/ItemsInit.java b/src/main/java/com/skdevstudios/util_rings/init/ItemsInit.java index 3fb0b77..2125827 100644 --- a/src/main/java/com/skdevstudios/util_rings/init/ItemsInit.java +++ b/src/main/java/com/skdevstudios/util_rings/init/ItemsInit.java @@ -1,6 +1,9 @@ package com.skdevstudios.util_rings.init; import com.skdevstudios.util_rings.UtilRings; +import com.skdevstudios.util_rings.items.GrowthRing; +import com.skdevstudios.util_rings.items.MagnetRing; +import com.skdevstudios.util_rings.items.VolcanicGlassRing; import net.minecraft.world.item.Item; import net.minecraftforge.registries.DeferredRegister; @@ -12,5 +15,8 @@ public class ItemsInit { public static final DeferredRegister ITEMS = DeferredRegister.create(ForgeRegistries.ITEMS, UtilRings.MODID); public static final RegistryObject IRON_RING = ITEMS.register("iron_ring", () -> new Item(new Item.Properties().stacksTo(1))); - public static final RegistryObject VOLCANIC_GLASS_RING = ITEMS.register("volcanic_glass_ring", () -> new Item(new Item.Properties().stacksTo(1))); + public static final RegistryObject VOLCANIC_GLASS_RING = ITEMS.register("volcanic_glass_ring", () -> new VolcanicGlassRing(new Item.Properties().stacksTo(1))); + public static final RegistryObject MAGNET_RING = ITEMS.register("magnet_ring", () -> new MagnetRing(new Item.Properties().stacksTo(1))); + public static final RegistryObject GROWTH_RING = ITEMS.register("growth_ring", () -> new GrowthRing(new Item.Properties().stacksTo(1))); } + diff --git a/src/main/java/com/skdevstudios/util_rings/items/GrowthRing.java b/src/main/java/com/skdevstudios/util_rings/items/GrowthRing.java new file mode 100644 index 0000000..8cbc896 --- /dev/null +++ b/src/main/java/com/skdevstudios/util_rings/items/GrowthRing.java @@ -0,0 +1,16 @@ +package com.skdevstudios.util_rings.items; + +import net.minecraft.world.item.Item; +import net.minecraft.world.item.ItemStack; +import top.theillusivec4.curios.api.SlotContext; +import top.theillusivec4.curios.api.type.capability.ICurioItem; + +public class GrowthRing extends Item implements ICurioItem { + public GrowthRing(Item.Properties properties) { + super(properties); + } + @Override + public void curioTick(SlotContext slotContext, ItemStack stack) { + //TODO: Add tick logic for auto fertalizing of crops every 10 ticks within 3x3 radius of player + } +} \ No newline at end of file diff --git a/src/main/java/com/skdevstudios/util_rings/items/MagnetRing.java b/src/main/java/com/skdevstudios/util_rings/items/MagnetRing.java new file mode 100644 index 0000000..2e306cf --- /dev/null +++ b/src/main/java/com/skdevstudios/util_rings/items/MagnetRing.java @@ -0,0 +1,16 @@ +package com.skdevstudios.util_rings.items; + +import net.minecraft.world.item.Item; +import net.minecraft.world.item.ItemStack; +import top.theillusivec4.curios.api.SlotContext; +import top.theillusivec4.curios.api.type.capability.ICurioItem; + +public class MagnetRing extends Item implements ICurioItem { + public MagnetRing(Item.Properties properties) { + super(properties); + } + @Override + public void curioTick(SlotContext slotContext, ItemStack stack) { + //TODO: Add Ticking Logic to check for loose blocks within 5 blocks of player and if there is do SUCK! + } +} diff --git a/src/main/java/com/skdevstudios/util_rings/items/VolcanicGlassRing.java b/src/main/java/com/skdevstudios/util_rings/items/VolcanicGlassRing.java new file mode 100644 index 0000000..517336d --- /dev/null +++ b/src/main/java/com/skdevstudios/util_rings/items/VolcanicGlassRing.java @@ -0,0 +1,24 @@ +package com.skdevstudios.util_rings.items; + +import net.minecraft.world.InteractionResult; +import net.minecraft.world.item.Item; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.context.UseOnContext; +import top.theillusivec4.curios.api.SlotContext; +import top.theillusivec4.curios.api.type.capability.ICurioItem; + +public class VolcanicGlassRing extends Item implements ICurioItem { + public VolcanicGlassRing(Item.Properties properties) { + super(properties); + } + + @Override + public InteractionResult useOn(UseOnContext context){ + return null; + //TODO: Add right click spawns obsidian block + } + @Override + public void curioTick(SlotContext slotContext, ItemStack stack) { + //TODO: Add Ticking Logic to check for lava within 1 block of player + } +} diff --git a/src/main/resources/assets/util_rings/lang/en_us.json b/src/main/resources/assets/util_rings/lang/en_us.json index fcba141..0e34c79 100644 --- a/src/main/resources/assets/util_rings/lang/en_us.json +++ b/src/main/resources/assets/util_rings/lang/en_us.json @@ -1,5 +1,7 @@ { "item.util_rings.iron_ring": "Iron Ring", "item.util_rings.volcanic_glass_ring": "Ring of Volcanic Glass", + "item.util_rings.magnet_ring": "Ring of Magnatism", + "item.util_rings.growth_ring": "Ring of Accelerated Growth", "itemGroup.rings_tab": "Utility Rings" } \ No newline at end of file diff --git a/src/main/resources/assets/util_rings/models/item/growth_ring.json b/src/main/resources/assets/util_rings/models/item/growth_ring.json new file mode 100644 index 0000000..479576d --- /dev/null +++ b/src/main/resources/assets/util_rings/models/item/growth_ring.json @@ -0,0 +1,6 @@ +{ + "parent":"minecraft:item/generated", + "textures":{ + "layer0":"util_rings:item/growth_ring" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/util_rings/models/item/magnet_ring.json b/src/main/resources/assets/util_rings/models/item/magnet_ring.json new file mode 100644 index 0000000..67d9e04 --- /dev/null +++ b/src/main/resources/assets/util_rings/models/item/magnet_ring.json @@ -0,0 +1,6 @@ +{ + "parent":"minecraft:item/generated", + "textures":{ + "layer0":"util_rings:item/magnet_ring" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/util_rings/textures/item/growth_ring.png b/src/main/resources/assets/util_rings/textures/item/growth_ring.png new file mode 100644 index 0000000000000000000000000000000000000000..11f9c68257f25a3f34f2b8fd2c6b9cd7f903aa3f GIT binary patch literal 5949 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/util_rings/textures/item/magnet_ring.png b/src/main/resources/assets/util_rings/textures/item/magnet_ring.png new file mode 100644 index 0000000000000000000000000000000000000000..10cda35d6a445b7cc77f46f402b6290902092b31 GIT binary patch literal 5689 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 E0puIatN;K2 literal 0 HcmV?d00001 diff --git a/src/main/resources/data/util_rings/recipes/growth_ring.json b/src/main/resources/data/util_rings/recipes/growth_ring.json new file mode 100644 index 0000000..ab91844 --- /dev/null +++ b/src/main/resources/data/util_rings/recipes/growth_ring.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + "$#$", + "#%#", + "$#$" + ], + "key": { + "%": { + "item": "util_rings:iron_ring" + }, + "#": { + "item": "minecraft:bone_block" + }, + "$": { + "tag": "minecraft:leaves" + } + }, + "result": { + "item": "util_rings:growth_ring", + "count": 1 + } + } + \ No newline at end of file diff --git a/src/main/resources/data/util_rings/recipes/magnet_ring.json b/src/main/resources/data/util_rings/recipes/magnet_ring.json new file mode 100644 index 0000000..c4a2a7e --- /dev/null +++ b/src/main/resources/data/util_rings/recipes/magnet_ring.json @@ -0,0 +1,26 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + "$#@", + "#%#", + "@#$" + ], + "key": { + "$": { + "item": "minecraft:red_dye" + }, + "#": { + "item": "minecraft:iron_ingot" + }, + "@": { + "item": "minecraft:blue_dye" + }, + "%": { + "item": "util_rings:iron_ring" + } + }, + "result": { + "item": "util_rings:magnet_ring", + "count": 1 + } +} \ No newline at end of file