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 0000000..11f9c68 Binary files /dev/null and b/src/main/resources/assets/util_rings/textures/item/growth_ring.png differ 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 0000000..10cda35 Binary files /dev/null and b/src/main/resources/assets/util_rings/textures/item/magnet_ring.png differ 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