ModItems.java 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286
  1. package me.km.items;
  2. import me.km.KajetansMod;
  3. import me.km.blocks.EnumMetals;
  4. import net.minecraft.creativetab.CreativeTabs;
  5. import net.minecraft.init.Items;
  6. import net.minecraft.init.SoundEvents;
  7. import net.minecraft.inventory.EntityEquipmentSlot;
  8. import net.minecraft.item.EnumDyeColor;
  9. import net.minecraft.item.Item;
  10. import net.minecraft.item.ItemArmor.ArmorMaterial;
  11. import net.minecraft.item.ItemStack;
  12. import net.minecraftforge.common.util.EnumHelper;
  13. import net.minecraftforge.registries.IForgeRegistry;
  14. public class ModItems
  15. {
  16. /*
  17. harvestLevel, maxUses, efficiency, damageVsEntity, enchantability
  18. WOOD(0, 59, 2.0F, 0.0F, 15),
  19. STONE(1, 131, 4.0F, 1.0F, 5),
  20. IRON(2, 250, 6.0F, 2.0F, 14),
  21. DIAMOND(3, 1561, 8.0F, 3.0F, 10),
  22. GOLD(0, 32, 12.0F, 0.0F, 22);
  23. for axes
  24. ATTACK_DAMAGES {6.0F, 8.0F, 8.0F, 8.0F, 6.0F}
  25. ATTACK_SPEEDS { -3.2F, -3.2F, -3.1F, -3.0F, -3.0F}
  26. */
  27. public static final Item.ToolMaterial TOOL_COPPER =
  28. EnumHelper.addToolMaterial("COPPER", 1, 161, 6, 1, 18);
  29. public static final Item.ToolMaterial TOOL_BRONZE =
  30. EnumHelper.addToolMaterial("BRONZE", 2, 208, 7, 1.5f, 15);
  31. public static final Item.ToolMaterial TOOL_REDSTONE =
  32. EnumHelper.addToolMaterial("REDSTONE", 0, 59, 1, 0, 22);
  33. public static final Item.ToolMaterial TOOL_SILVER =
  34. EnumHelper.addToolMaterial("SILVER", 0, 250, 5, 2, 20);
  35. public static final Item.ToolMaterial TOOL_EMERALD =
  36. EnumHelper.addToolMaterial("EMERALD", 0, 1248, 7, 2.5f, 10);
  37. public static final Item.ToolMaterial TOOL_LAPIS =
  38. EnumHelper.addToolMaterial("LAPIS", 0, 131, 4, 1, 15);
  39. /*
  40. String nameIn, int maxDamageFactorIn, int[] damageReductionAmountArrayIn,
  41. int enchantabilityIn, SoundEvent soundEventIn, float toughnessIn
  42. LEATHER("leather", 5, new int[]{1, 2, 3, 1}, 15, SoundEvents.ITEM_ARMOR_EQUIP_LEATHER, 0.0F),
  43. CHAIN("chainmail", 15, new int[]{1, 4, 5, 2}, 12, SoundEvents.ITEM_ARMOR_EQUIP_CHAIN, 0.0F),
  44. IRON("iron", 15, new int[]{2, 5, 6, 2}, 9, SoundEvents.ITEM_ARMOR_EQUIP_IRON, 0.0F),
  45. GOLD("gold", 7, new int[]{1, 3, 5, 2}, 25, SoundEvents.ITEM_ARMOR_EQUIP_GOLD, 0.0F),
  46. DIAMOND("diamond", 33, new int[]{3, 6, 8, 3}, 10, SoundEvents.ITEM_ARMOR_EQUIP_DIAMOND, 2.0F);
  47. */
  48. public static final ArmorMaterial ARMOR_COPPER =
  49. EnumHelper.addArmorMaterial("COPPER", KajetansMod.MODID + ":copper", 9,
  50. new int[]{1, 4, 5, 1}, 20, SoundEvents.ITEM_ARMOR_EQUIP_CHAIN, 0);
  51. public static final ArmorMaterial ARMOR_BRONZE =
  52. EnumHelper.addArmorMaterial("BRONZE", KajetansMod.MODID + ":bronze", 13,
  53. new int[]{2, 5, 6, 2}, 20, SoundEvents.ITEM_ARMOR_EQUIP_CHAIN, 0);
  54. public static final ArmorMaterial ARMOR_STRAW =
  55. EnumHelper.addArmorMaterial("STRAW", KajetansMod.MODID + ":straw", 3,
  56. new int[]{1, 1, 1, 1}, 3, SoundEvents.ITEM_ARMOR_EQUIP_LEATHER, 0);
  57. public static final ArmorMaterial ARMOR_CYLINDER =
  58. EnumHelper.addArmorMaterial("CYLINDER", KajetansMod.MODID + ":CYLINDER", 3,
  59. new int[]{1, 1, 1, 1}, 3, SoundEvents.ITEM_ARMOR_EQUIP_LEATHER, 0);
  60. public static final ArmorMaterial ARMOR_SUIT =
  61. EnumHelper.addArmorMaterial("SUIT", KajetansMod.MODID + ":suit", 3,
  62. new int[]{1, 1, 1, 1}, 3, SoundEvents.ITEM_ARMOR_EQUIP_LEATHER, 0);
  63. // nuggets and ingots
  64. public static ItemBase copperIngot;
  65. public static ItemBase copperNugget;
  66. public static ItemBase tinIngot;
  67. public static ItemBase tinNugget;
  68. public static ItemBase bronzeIngot;
  69. public static ItemBase bronzeNugget;
  70. public static ItemBase silverIngot;
  71. public static ItemBase silverNugget;
  72. // tools and swords
  73. public static ItemSword copperSword;
  74. public static ItemSpade copperShovel;
  75. public static ItemPickaxe copperPickaxe;
  76. public static ItemAxe copperAxe;
  77. public static ItemHoe copperHoe;
  78. public static ItemSword bronzeSword;
  79. public static ItemSpade bronzeShovel;
  80. public static ItemPickaxe bronzePickaxe;
  81. public static ItemAxe bronzeAxe;
  82. public static ItemHoe bronzeHoe;
  83. // armor
  84. public static ItemArmor copperHelmet;
  85. public static ItemArmor copperChestplate;
  86. public static ItemArmor copperLeggings;
  87. public static ItemArmor copperBoots;
  88. public static ItemArmor bronzeHelmet;
  89. public static ItemArmor bronzeChestplate;
  90. public static ItemArmor bronzeLeggings;
  91. public static ItemArmor bronzeBoots;
  92. public static ItemArmor cylinder;
  93. public static ItemArmor suitChestplate;
  94. public static ItemArmor suitLeggings;
  95. public static ItemArmor suitBoots;
  96. public static ItemArmor strawHat;
  97. // wands
  98. public static ItemWand woodenWand;
  99. public static ItemWand stoneWand;
  100. public static ItemWand copperWand;
  101. public static ItemWand bronzeWand;
  102. public static ItemWand ironWand;
  103. public static ItemWand goldWand;
  104. public static ItemWand emeraldWand;
  105. public static ItemWand redstoneWand;
  106. public static ItemWand lapisWand;
  107. public static ItemWand diamondWand;
  108. public static ItemWand silverWand;
  109. // sticks
  110. public static ItemStick woodenStick;
  111. public static ItemStick stoneStick;
  112. public static ItemStick copperStick;
  113. public static ItemStick bronzeStick;
  114. public static ItemStick ironStick;
  115. public static ItemStick goldStick;
  116. public static ItemStick diamondStick;
  117. // dagger
  118. public static ItemDagger woodenDagger;
  119. public static ItemDagger stoneDagger;
  120. public static ItemDagger copperDagger;
  121. public static ItemDagger bronzeDagger;
  122. public static ItemDagger ironDagger;
  123. public static ItemDagger goldDagger;
  124. public static ItemDagger diamondDagger;
  125. // hammer
  126. public static ItemHammer woodenHammer;
  127. public static ItemHammer stoneHammer;
  128. public static ItemHammer copperHammer;
  129. public static ItemHammer bronzeHammer;
  130. public static ItemHammer ironHammer;
  131. public static ItemHammer goldHammer;
  132. public static ItemHammer diamondHammer;
  133. // coins
  134. public static ItemBase copperCoin;
  135. public static ItemBase silverCoin;
  136. public static ItemBase goldCoin;
  137. // misc
  138. public static ItemScroll scroll;
  139. public static ItemBed realHayBed;
  140. public static ItemBase hayBundle;
  141. public static ItemBase batWing;
  142. public static ItemBase wolfFur;
  143. public static void init(IForgeRegistry<Item> r)
  144. {
  145. // nuggets and ingots
  146. copperIngot = register(r, new ItemBase("copper_ingot", "ingotCopper").setCreativeTab(CreativeTabs.MATERIALS));
  147. copperNugget = register(r, new ItemBase("copper_nugget", "copperNugget").setCreativeTab(CreativeTabs.MATERIALS));
  148. tinIngot = register(r, new ItemBase("tin_ingot", "ingotTin").setCreativeTab(CreativeTabs.MATERIALS));
  149. tinNugget = register(r, new ItemBase("tin_nugget", "tinNugget").setCreativeTab(CreativeTabs.MATERIALS));
  150. bronzeIngot = register(r, new ItemBase("bronze_ingot", "ingotBronze").setCreativeTab(CreativeTabs.MATERIALS));
  151. bronzeNugget = register(r, new ItemBase("bronze_nugget", "bronzeNugget").setCreativeTab(CreativeTabs.MATERIALS));
  152. silverIngot = register(r, new ItemBase("silver_ingot", "ingotSilver").setCreativeTab(CreativeTabs.MATERIALS));
  153. silverNugget = register(r, new ItemBase("silver_nugget", "silverNugget").setCreativeTab(CreativeTabs.MATERIALS));
  154. // repair items
  155. TOOL_COPPER.setRepairItem(new ItemStack(copperIngot));
  156. ARMOR_COPPER.setRepairItem(new ItemStack(copperIngot));
  157. TOOL_BRONZE.setRepairItem(new ItemStack(bronzeIngot));
  158. ARMOR_BRONZE.setRepairItem(new ItemStack(bronzeIngot));
  159. TOOL_EMERALD.setRepairItem(new ItemStack(Items.EMERALD));
  160. TOOL_REDSTONE.setRepairItem(new ItemStack(Items.REDSTONE));
  161. TOOL_LAPIS.setRepairItem(new ItemStack(Items.DYE, 1, EnumDyeColor.BLUE.getDyeDamage()));
  162. TOOL_SILVER.setRepairItem(new ItemStack(silverIngot));
  163. // tools and swords
  164. copperSword = register(r, new ItemSword(TOOL_COPPER, "copper_sword", "swordCopper"));
  165. copperShovel = register(r, new ItemSpade(TOOL_COPPER, "copper_shovel", "shovelCopper"));
  166. copperPickaxe = register(r, new ItemPickaxe(TOOL_COPPER, "copper_pickaxe", "pickaxeCopper"));
  167. copperAxe = register(r, new ItemAxe(TOOL_COPPER, 7, -3.1f, "copper_axe", "hatchetCopper"));
  168. copperHoe = register(r, new ItemHoe(TOOL_COPPER, "copper_hoe", "hoeCopper"));
  169. bronzeSword = register(r, new ItemSword(TOOL_BRONZE, "bronze_sword", "swordBronze"));
  170. bronzeShovel = register(r, new ItemSpade(TOOL_BRONZE, "bronze_shovel", "shovelBronze"));
  171. bronzePickaxe = register(r, new ItemPickaxe(TOOL_BRONZE, "bronze_pickaxe", "pickaxeBronze"));
  172. bronzeAxe = register(r, new ItemAxe(TOOL_BRONZE, 8, -3.0f, "bronze_axe", "hatchetBronze"));
  173. bronzeHoe = register(r, new ItemHoe(TOOL_BRONZE, "bronze_hoe", "hoeBronze"));
  174. // armor
  175. copperHelmet = register(r, new ItemArmor(ARMOR_COPPER, EntityEquipmentSlot.HEAD, "copper_helmet", "helmetCopper"));
  176. copperChestplate = register(r, new ItemArmor(ARMOR_COPPER, EntityEquipmentSlot.CHEST, "copper_chestplate", "chestplateCopper"));
  177. copperLeggings = register(r, new ItemArmor(ARMOR_COPPER, EntityEquipmentSlot.LEGS, "copper_leggings", "leggingsCopper"));
  178. copperBoots = register(r, new ItemArmor(ARMOR_COPPER, EntityEquipmentSlot.FEET, "copper_boots", "bootsCopper"));
  179. bronzeHelmet = register(r, new ItemArmor(ARMOR_BRONZE, EntityEquipmentSlot.HEAD, "bronze_helmet", "helmetBronze"));
  180. bronzeChestplate = register(r, new ItemArmor(ARMOR_BRONZE, EntityEquipmentSlot.CHEST, "bronze_chestplate", "chestplateBronze"));
  181. bronzeLeggings = register(r, new ItemArmor(ARMOR_BRONZE, EntityEquipmentSlot.LEGS, "bronze_leggings", "leggingsBronze"));
  182. bronzeBoots = register(r, new ItemArmor(ARMOR_BRONZE, EntityEquipmentSlot.FEET, "bronze_boots", "bootsBronze"));
  183. cylinder = register(r, new ItemCylinder(ARMOR_CYLINDER, "cylinder", "cylinder"));
  184. suitChestplate = register(r, new ItemArmor(ARMOR_SUIT, EntityEquipmentSlot.CHEST, "suit_chestplate", "chestplateSuit"));
  185. suitLeggings = register(r, new ItemArmor(ARMOR_SUIT, EntityEquipmentSlot.LEGS, "suit_leggings", "leggingsSuit"));
  186. suitBoots = register(r, new ItemArmor(ARMOR_SUIT, EntityEquipmentSlot.FEET, "suit_boots", "bootsSuit"));
  187. strawHat = register(r, new ItemHat(ARMOR_STRAW, "straw_hat", "hatStraw"));
  188. // wands
  189. woodenWand = register(r, new ItemWand("wood_wand", "wandWood", Item.ToolMaterial.WOOD, 1));
  190. stoneWand = register(r, new ItemWand("stone_wand", "wandStone", Item.ToolMaterial.STONE, 1));
  191. copperWand = register(r, new ItemWand("copper_wand", "wandCopper", TOOL_COPPER, 2));
  192. bronzeWand = register(r, new ItemWand("bronze_wand", "wandBronze", TOOL_BRONZE, 2));
  193. ironWand = register(r, new ItemWand("iron_wand", "wandIron", Item.ToolMaterial.IRON, 2));
  194. goldWand = register(r, new ItemWand("gold_wand", "wandGold", Item.ToolMaterial.GOLD, 6));
  195. emeraldWand = register(r, new ItemWand("emerald_wand", "wandEmerald", TOOL_EMERALD, 4));
  196. redstoneWand = register(r, new ItemWand("redstone_wand", "wandRedstone", TOOL_REDSTONE, 5));
  197. lapisWand = register(r, new ItemWand("lapis_wand", "wandLapis", TOOL_LAPIS, 6));
  198. diamondWand = register(r, new ItemWand("diamond_wand", "wandDiamond", Item.ToolMaterial.DIAMOND, 4));
  199. silverWand = register(r, new ItemWand("silver_wand", "wandSilver", TOOL_SILVER, 6));
  200. // sticks
  201. woodenStick = register(r, new ItemStick("wood_stick", "stickWood", Item.ToolMaterial.WOOD));
  202. stoneStick = register(r, new ItemStick("stone_stick", "stickStone", Item.ToolMaterial.STONE));
  203. copperStick = register(r, new ItemStick("copper_stick", "stickCopper", TOOL_COPPER));
  204. bronzeStick = register(r, new ItemStick("bronze_stick", "stickBronze", TOOL_BRONZE));
  205. ironStick = register(r, new ItemStick("iron_stick", "stickIron", Item.ToolMaterial.IRON));
  206. goldStick = register(r, new ItemStick("gold_stick", "stickGold", Item.ToolMaterial.GOLD));
  207. diamondStick = register(r, new ItemStick("diamond_stick", "stickDiamond", Item.ToolMaterial.DIAMOND));
  208. // dagger
  209. woodenDagger = register(r, new ItemDagger("wood_dagger", "daggerWood", Item.ToolMaterial.WOOD));
  210. stoneDagger = register(r, new ItemDagger("stone_dagger", "daggerStone", Item.ToolMaterial.STONE));
  211. copperDagger = register(r, new ItemDagger("copper_dagger", "daggerCopper", TOOL_COPPER));
  212. bronzeDagger = register(r, new ItemDagger("bronze_dagger", "daggerBronze", TOOL_BRONZE));
  213. ironDagger = register(r, new ItemDagger("iron_dagger", "daggerIron", Item.ToolMaterial.IRON));
  214. goldDagger = register(r, new ItemDagger("gold_dagger", "daggerGold", Item.ToolMaterial.GOLD));
  215. diamondDagger = register(r, new ItemDagger("diamond_dagger", "daggerDiamond", Item.ToolMaterial.DIAMOND));
  216. // hammer
  217. woodenHammer = register(r, new ItemHammer("wood_hammer", "hammerWood", Item.ToolMaterial.WOOD));
  218. stoneHammer = register(r, new ItemHammer("stone_hammer", "hammerStone", Item.ToolMaterial.STONE));
  219. copperHammer = register(r, new ItemHammer("copper_hammer", "hammerCopper", TOOL_COPPER));
  220. bronzeHammer = register(r, new ItemHammer("bronze_hammer", "hammerBronze", TOOL_BRONZE));
  221. ironHammer = register(r, new ItemHammer("iron_hammer", "hammerIron", Item.ToolMaterial.IRON));
  222. goldHammer = register(r, new ItemHammer("gold_hammer", "hammerGold", Item.ToolMaterial.GOLD));
  223. diamondHammer = register(r, new ItemHammer("diamond_hammer", "hammerDiamond", Item.ToolMaterial.DIAMOND));
  224. // coins
  225. copperCoin = register(r, new ItemBase("coin_copper", "coinCopper").setCreativeTab(CreativeTabs.MISC));
  226. silverCoin = register(r, new ItemBase("coin_silver", "coinSilver").setCreativeTab(CreativeTabs.MISC));
  227. goldCoin = register(r, new ItemBase("coin_gold", "coinGold").setCreativeTab(CreativeTabs.MISC));
  228. // misc
  229. scroll = register(r, (ItemScroll) new ItemScroll("scroll", "scroll").setCreativeTab(CreativeTabs.MISC));
  230. realHayBed = register(r, new ItemBed("real_hay_bed", "realHayBed"));
  231. hayBundle = register(r, new ItemBase("hay_bundle", "bundleHay").setCreativeTab(CreativeTabs.MATERIALS));
  232. batWing = register(r, new ItemBase("bat_wing", "batWing").setCreativeTab(CreativeTabs.MATERIALS));
  233. wolfFur = register(r, new ItemBase("wolf_fur", "wolfFur").setCreativeTab(CreativeTabs.MATERIALS));
  234. // workaround
  235. EnumMetals.fixMetalIngots();
  236. }
  237. private static <T extends Item> T register(IForgeRegistry<Item> r, T item)
  238. {
  239. r.register(item);
  240. if(item instanceof ItemModelProvider)
  241. {
  242. ((ItemModelProvider) item).registerItemModel(item);
  243. }
  244. return item;
  245. }
  246. }