diff --git a/src/main/java/net/Chipperfluff/chipi/client/ModTooltips.java b/src/main/java/net/Chipperfluff/chipi/client/ModTooltips.java index fb15412..24b87ce 100644 --- a/src/main/java/net/Chipperfluff/chipi/client/ModTooltips.java +++ b/src/main/java/net/Chipperfluff/chipi/client/ModTooltips.java @@ -58,6 +58,22 @@ public final class ModTooltips { if (stack.isOf(ModItems.CHIPPER_BOOTS)) lines.add(Text.translatable("tooltip.chipi.chipper_boots")); + + // ===== TOOLS ===== + if (stack.isOf(ModItems.CHIPPER_SWORD)) + lines.add(Text.translatable("tooltip.chipi.chipper_sword")); + + if (stack.isOf(ModItems.CHIPPER_PICKAXE)) + lines.add(Text.translatable("tooltip.chipi.chipper_pickaxe")); + + if (stack.isOf(ModItems.CHIPPER_AXE)) + lines.add(Text.translatable("tooltip.chipi.chipper_axe")); + + if (stack.isOf(ModItems.CHIPPER_SHOVEL)) + lines.add(Text.translatable("tooltip.chipi.chipper_shovel")); + + if (stack.isOf(ModItems.CHIPPER_HOE)) + lines.add(Text.translatable("tooltip.chipi.chipper_hoe")); }); } } diff --git a/src/main/java/net/Chipperfluff/chipi/entity/SpawnLogic.java b/src/main/java/net/Chipperfluff/chipi/entity/SpawnLogic.java index 990e5af..87580bf 100644 --- a/src/main/java/net/Chipperfluff/chipi/entity/SpawnLogic.java +++ b/src/main/java/net/Chipperfluff/chipi/entity/SpawnLogic.java @@ -33,7 +33,7 @@ public final class SpawnLogic { BiomeSelectors.includeByKey(VOID_BIOME), SpawnGroup.MONSTER, ModEntities.MEP, - 10, + 1, 1, 4 ); diff --git a/src/main/java/net/Chipperfluff/chipi/item/ModItemGroups.java b/src/main/java/net/Chipperfluff/chipi/item/ModItemGroups.java index 07004bf..6e8fa08 100644 --- a/src/main/java/net/Chipperfluff/chipi/item/ModItemGroups.java +++ b/src/main/java/net/Chipperfluff/chipi/item/ModItemGroups.java @@ -38,6 +38,14 @@ public class ModItemGroups { entries.add(ModItems.CHIPPER_CHESTPLATE); entries.add(ModItems.CHIPPER_LEGGINGS); entries.add(ModItems.CHIPPER_BOOTS); + + // Tools + entries.add(ModItems.CHIPPER_SWORD); + entries.add(ModItems.CHIPPER_PICKAXE); + entries.add(ModItems.CHIPPER_AXE); + entries.add(ModItems.CHIPPER_SHOVEL); + entries.add(ModItems.CHIPPER_HOE); + }) .build() ); diff --git a/src/main/java/net/Chipperfluff/chipi/item/ModItems.java b/src/main/java/net/Chipperfluff/chipi/item/ModItems.java index bc833d7..a701813 100644 --- a/src/main/java/net/Chipperfluff/chipi/item/ModItems.java +++ b/src/main/java/net/Chipperfluff/chipi/item/ModItems.java @@ -5,13 +5,11 @@ import net.Chipperfluff.chipi.block.ModBlocks; import net.Chipperfluff.chipi.entity.ModEntities; import net.Chipperfluff.chipi.item.armor.ChipperArmorMaterial; import net.fabricmc.fabric.api.item.v1.FabricItemSettings; -import net.minecraft.item.ArmorItem; -import net.minecraft.item.BlockItem; -import net.minecraft.item.Item; -import net.minecraft.item.SpawnEggItem; +import net.minecraft.item.*; import net.minecraft.registry.Registries; import net.minecraft.registry.Registry; import net.minecraft.util.Identifier; +import net.Chipperfluff.chipi.item.tool.ChipperToolMaterial; public class ModItems { @@ -47,6 +45,8 @@ public class ModItems { new BlockItem(ModBlocks.CHIPPER_ALLOY_BLOCK, new FabricItemSettings()) ); + // ===== ENTITY ITEMS ===== + public static final Item MEP_SPAWN_EGG = Registry.register( Registries.ITEM, new Identifier(ChipiMod.MOD_ID, "mep_spawn_egg"), @@ -54,6 +54,7 @@ public class ModItems { ); // ===== NORMAL ITEMS ===== + public static final Item NUT = Registry.register( Registries.ITEM, new Identifier(ChipiMod.MOD_ID, "nut"), @@ -78,29 +79,63 @@ public class ModItems { new Item(new FabricItemSettings()) ); + // ===== ARMOR ===== + public static final Item CHIPPER_HELMET = Registry.register( Registries.ITEM, - new Identifier("chipi", "chipper_helmet"), + new Identifier(ChipiMod.MOD_ID, "chipper_helmet"), new ArmorItem(ChipperArmorMaterial.INSTANCE, ArmorItem.Type.HELMET, new Item.Settings()) ); public static final Item CHIPPER_CHESTPLATE = Registry.register( Registries.ITEM, - new Identifier("chipi", "chipper_chestplate"), + new Identifier(ChipiMod.MOD_ID, "chipper_chestplate"), new ArmorItem(ChipperArmorMaterial.INSTANCE, ArmorItem.Type.CHESTPLATE, new Item.Settings()) ); public static final Item CHIPPER_LEGGINGS = Registry.register( Registries.ITEM, - new Identifier("chipi", "chipper_leggings"), + new Identifier(ChipiMod.MOD_ID, "chipper_leggings"), new ArmorItem(ChipperArmorMaterial.INSTANCE, ArmorItem.Type.LEGGINGS, new Item.Settings()) ); public static final Item CHIPPER_BOOTS = Registry.register( Registries.ITEM, - new Identifier("chipi", "chipper_boots"), + new Identifier(ChipiMod.MOD_ID, "chipper_boots"), new ArmorItem(ChipperArmorMaterial.INSTANCE, ArmorItem.Type.BOOTS, new Item.Settings()) ); + // ===== TOOLS ===== + + public static final Item CHIPPER_SWORD = Registry.register( + Registries.ITEM, + new Identifier(ChipiMod.MOD_ID, "chipper_sword"), + new SwordItem(ChipperToolMaterial.INSTANCE, 3, -2.4f, new Item.Settings()) + ); + + public static final Item CHIPPER_PICKAXE = Registry.register( + Registries.ITEM, + new Identifier(ChipiMod.MOD_ID, "chipper_pickaxe"), + new PickaxeItem(ChipperToolMaterial.INSTANCE, 1, -2.8f, new Item.Settings()) + ); + + public static final Item CHIPPER_AXE = Registry.register( + Registries.ITEM, + new Identifier(ChipiMod.MOD_ID, "chipper_axe"), + new AxeItem(ChipperToolMaterial.INSTANCE, 5, -3.0f, new Item.Settings()) + ); + + public static final Item CHIPPER_SHOVEL = Registry.register( + Registries.ITEM, + new Identifier(ChipiMod.MOD_ID, "chipper_shovel"), + new ShovelItem(ChipperToolMaterial.INSTANCE, 1.5f, -3.0f, new Item.Settings()) + ); + + public static final Item CHIPPER_HOE = Registry.register( + Registries.ITEM, + new Identifier(ChipiMod.MOD_ID, "chipper_hoe"), + new HoeItem(ChipperToolMaterial.INSTANCE, -3, 0.0f, new Item.Settings()) + ); + public static void register() {} } diff --git a/src/main/java/net/Chipperfluff/chipi/item/tool/ChipperToolMaterial.java b/src/main/java/net/Chipperfluff/chipi/item/tool/ChipperToolMaterial.java new file mode 100644 index 0000000..c5728f1 --- /dev/null +++ b/src/main/java/net/Chipperfluff/chipi/item/tool/ChipperToolMaterial.java @@ -0,0 +1,40 @@ +package net.Chipperfluff.chipi.item.tool; + +import net.minecraft.item.ToolMaterial; +import net.minecraft.recipe.Ingredient; +import net.Chipperfluff.chipi.item.ModItems; + + +public enum ChipperToolMaterial implements ToolMaterial { + INSTANCE; + + @Override + public int getDurability() { + return 1561; // diamond-ish but cursed + } + + @Override + public float getMiningSpeedMultiplier() { + return 8.0f; + } + + @Override + public float getAttackDamage() { + return 3.0f; + } + + @Override + public int getMiningLevel() { + return 3; + } + + @Override + public int getEnchantability() { + return 10; + } + + @Override + public Ingredient getRepairIngredient() { + return Ingredient.ofItems(ModItems.CHIPPER_INGOT); + } +} diff --git a/src/main/resources/assets/chipi/lang/en_us.json b/src/main/resources/assets/chipi/lang/en_us.json index eaa6ef9..d4191d7 100644 --- a/src/main/resources/assets/chipi/lang/en_us.json +++ b/src/main/resources/assets/chipi/lang/en_us.json @@ -30,6 +30,12 @@ "item.chipi.chipper_leggings": "Chipper Leggings", "item.chipi.chipper_boots": "Chipper Boots", + "item.chipi.chipper_sword": "Chipper Sword", + "item.chipi.chipper_pickaxe": "Chipper Pickaxe", + "item.chipi.chipper_axe": "Chipper Axe", + "item.chipi.chipper_shovel": "Chipper Shovel", + "item.chipi.chipper_hoe": "Chipper Hoe", + "tooltip.chipi.void_block": "§8It hums quietly.§r §7Do not listen.", "tooltip.chipi.chipper_frame": "§7Built to hold a mistake in place.", "tooltip.chipi.chipper_portal": "§5Something on the other side is already aware of you.", @@ -46,5 +52,11 @@ "tooltip.chipi.chipper_helmet": "§7Soaks the hit.§r §8Cracks immediately.", "tooltip.chipi.chipper_chestplate": "§7Lets you stand your ground.§r §8Once.", "tooltip.chipi.chipper_leggings": "§7Heavy steps.§r §8Short lifespan.", - "tooltip.chipi.chipper_boots": "§7You won’t be moved.§r §8You will be broken." + "tooltip.chipi.chipper_boots": "§7You won’t be moved.§r §8You will be broken.", + + "tooltip.chipi.chipper_sword": "§7Cuts clean.§r §8Leaves regret.", + "tooltip.chipi.chipper_pickaxe": "§7Breaks stone.§r §8Breaks trust.", + "tooltip.chipi.chipper_axe": "§7Heavy swing.§r §8Heavier consequence.", + "tooltip.chipi.chipper_shovel": "§7Digs fast.§r §8Finds nothing good.", + "tooltip.chipi.chipper_hoe": "§7Makes things grow.§r §8They shouldn’t." } diff --git a/src/main/resources/assets/chipi/models/item/chipper_axe.json b/src/main/resources/assets/chipi/models/item/chipper_axe.json new file mode 100644 index 0000000..89d1b62 --- /dev/null +++ b/src/main/resources/assets/chipi/models/item/chipper_axe.json @@ -0,0 +1,6 @@ +{ + "parent": "item/handheld", + "textures": { + "layer0": "chipi:item/chipper_axe" + } +} diff --git a/src/main/resources/assets/chipi/models/item/chipper_hoe.json b/src/main/resources/assets/chipi/models/item/chipper_hoe.json new file mode 100644 index 0000000..8c104ff --- /dev/null +++ b/src/main/resources/assets/chipi/models/item/chipper_hoe.json @@ -0,0 +1,6 @@ +{ + "parent": "item/handheld", + "textures": { + "layer0": "chipi:item/chipper_hoe" + } +} diff --git a/src/main/resources/assets/chipi/models/item/chipper_pickaxe.json b/src/main/resources/assets/chipi/models/item/chipper_pickaxe.json new file mode 100644 index 0000000..4c9eb22 --- /dev/null +++ b/src/main/resources/assets/chipi/models/item/chipper_pickaxe.json @@ -0,0 +1,6 @@ +{ + "parent": "item/handheld", + "textures": { + "layer0": "chipi:item/chipper_pickaxe" + } +} diff --git a/src/main/resources/assets/chipi/models/item/chipper_shovel.json b/src/main/resources/assets/chipi/models/item/chipper_shovel.json new file mode 100644 index 0000000..d0609bd --- /dev/null +++ b/src/main/resources/assets/chipi/models/item/chipper_shovel.json @@ -0,0 +1,6 @@ +{ + "parent": "item/handheld", + "textures": { + "layer0": "chipi:item/chipper_shovel" + } +} diff --git a/src/main/resources/assets/chipi/models/item/chipper_sword.json b/src/main/resources/assets/chipi/models/item/chipper_sword.json new file mode 100644 index 0000000..04d8bb1 --- /dev/null +++ b/src/main/resources/assets/chipi/models/item/chipper_sword.json @@ -0,0 +1,6 @@ +{ + "parent": "item/handheld", + "textures": { + "layer0": "chipi:item/chipper_sword" + } +} diff --git a/src/main/resources/assets/chipi/textures/item/chipper_axe.png b/src/main/resources/assets/chipi/textures/item/chipper_axe.png new file mode 100644 index 0000000..6cb38e7 Binary files /dev/null and b/src/main/resources/assets/chipi/textures/item/chipper_axe.png differ diff --git a/src/main/resources/assets/chipi/textures/item/chipper_hoe.png b/src/main/resources/assets/chipi/textures/item/chipper_hoe.png new file mode 100644 index 0000000..f2d6cce Binary files /dev/null and b/src/main/resources/assets/chipi/textures/item/chipper_hoe.png differ diff --git a/src/main/resources/assets/chipi/textures/item/chipper_pickaxe.png b/src/main/resources/assets/chipi/textures/item/chipper_pickaxe.png new file mode 100644 index 0000000..405a273 Binary files /dev/null and b/src/main/resources/assets/chipi/textures/item/chipper_pickaxe.png differ diff --git a/src/main/resources/assets/chipi/textures/item/chipper_shovel.png b/src/main/resources/assets/chipi/textures/item/chipper_shovel.png new file mode 100644 index 0000000..1a67da1 Binary files /dev/null and b/src/main/resources/assets/chipi/textures/item/chipper_shovel.png differ diff --git a/src/main/resources/assets/chipi/textures/item/chipper_sword.png b/src/main/resources/assets/chipi/textures/item/chipper_sword.png new file mode 100644 index 0000000..2430c2f Binary files /dev/null and b/src/main/resources/assets/chipi/textures/item/chipper_sword.png differ