ModItems.java 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444
  1. package me.km.items;
  2. import me.km.blocks.ModBlocks;
  3. import net.minecraft.item.Items;
  4. import net.minecraft.inventory.EquipmentSlotType;
  5. import net.minecraft.item.IArmorMaterial;
  6. import net.minecraft.item.IItemTier;
  7. import net.minecraft.item.Item;
  8. import net.minecraft.item.Item.Properties;
  9. import net.minecraft.item.ArmorItem;
  10. import net.minecraft.item.BedItem;
  11. import net.minecraft.item.Food;
  12. import net.minecraft.item.ItemGroup;
  13. import net.minecraft.item.HoeItem;
  14. import net.minecraft.item.PotionItem;
  15. import net.minecraft.item.ShovelItem;
  16. import net.minecraft.item.SwordItem;
  17. import net.minecraft.item.ItemTier;
  18. import net.minecraftforge.registries.IForgeRegistry;
  19. public class ModItems {
  20. // nuggets and ingots
  21. public static Item copperIngot;
  22. public static Item copperNugget;
  23. public static Item tinIngot;
  24. public static Item tinNugget;
  25. public static Item bronzeIngot;
  26. public static Item bronzeNugget;
  27. public static Item silverIngot;
  28. public static Item silverNugget;
  29. // tools and swords
  30. public static Item copperSword;
  31. public static Item copperShovel;
  32. public static Item copperPickaxe;
  33. public static Item copperAxe;
  34. public static Item copperHoe;
  35. public static Item bronzeSword;
  36. public static Item bronzeShovel;
  37. public static Item bronzePickaxe;
  38. public static Item bronzeAxe;
  39. public static Item bronzeHoe;
  40. public static Item sling;
  41. // armor
  42. public static Item copperHelmet;
  43. public static Item copperChestplate;
  44. public static Item copperLeggings;
  45. public static Item copperBoots;
  46. public static Item bronzeHelmet;
  47. public static Item bronzeChestplate;
  48. public static Item bronzeLeggings;
  49. public static Item bronzeBoots;
  50. public static Item cylinder;
  51. public static Item suitChestplate;
  52. public static Item suitLeggings;
  53. public static Item suitBoots;
  54. public static Item strawHat;
  55. // sticks
  56. public static Item woodenStick;
  57. public static Item stoneStick;
  58. public static Item copperStick;
  59. public static Item bronzeStick;
  60. public static Item ironStick;
  61. public static Item goldStick;
  62. public static Item diamondStick;
  63. // scepters
  64. public static Item woodenScepter;
  65. public static Item stoneScepter;
  66. public static Item copperScepter;
  67. public static Item bronzeScepter;
  68. public static Item ironScepter;
  69. public static Item goldScepter;
  70. public static Item diamondScepter;
  71. // dagger
  72. public static Item woodenDagger;
  73. public static Item stoneDagger;
  74. public static Item copperDagger;
  75. public static Item bronzeDagger;
  76. public static Item ironDagger;
  77. public static Item goldDagger;
  78. public static Item diamondDagger;
  79. // hammer
  80. public static Item woodenHammer;
  81. public static Item stoneHammer;
  82. public static Item copperHammer;
  83. public static Item bronzeHammer;
  84. public static Item ironHammer;
  85. public static Item goldHammer;
  86. public static Item diamondHammer;
  87. // battle axe
  88. public static Item woodenBattleAxe;
  89. public static Item stoneBattleAxe;
  90. public static Item copperBattleAxe;
  91. public static Item bronzeBattleAxe;
  92. public static Item ironBattleAxe;
  93. public static Item goldBattleAxe;
  94. public static Item diamondBattleAxe;
  95. // key
  96. public static Item silverKey;
  97. public static Item copperKey;
  98. public static Item bronzeKey;
  99. public static Item ironKey;
  100. public static Item goldKey;
  101. // coins
  102. public static Item copperCoin;
  103. public static Item silverCoin;
  104. public static Item goldCoin;
  105. // misc
  106. public static Item realHayBed;
  107. public static Item hayBundle;
  108. public static Item batWing;
  109. public static Item wolfFur;
  110. public static Item bearPolarFur;
  111. public static Item cloth;
  112. public static Item coarseCloth;
  113. public static Item gemStone;
  114. public static Item rawGemStone;
  115. public static Item flawlessGemStone;
  116. public static Item scroll;
  117. public static Item soulStone;
  118. public static Item piercingStone;
  119. public static Item shell;
  120. // food
  121. public static Item coloredSoup;
  122. public static Item apricot;
  123. public static Item friedEgg;
  124. public static Item mushroomStickRaw;
  125. public static Item mushroomStickCooked;
  126. public static Item pear;
  127. public static Item plum;
  128. // icons
  129. public static Item arrowDown;
  130. public static Item arrowLeft;
  131. public static Item arrowRight;
  132. public static Item arrowUp;
  133. public static Item checkGreen;
  134. public static Item checkRed;
  135. public static Item crossGreen;
  136. public static Item crossRed;
  137. public static Item minusGreen;
  138. public static Item minusRed;
  139. public static Item plusGreen;
  140. public static Item plusRed;
  141. public static Item returnGreen;
  142. public static Item returnRed;
  143. public static Item gear;
  144. public static Item refreshGreen;
  145. public static Item refreshRed;
  146. // herbs
  147. public static Item herbStrong;
  148. public static Item herbShadow;
  149. public static Item herbXp;
  150. public static Item herbSea;
  151. public static Item herbGold;
  152. public static Item herbBreathing;
  153. public static Item herbFire;
  154. // berry
  155. public static Item berryBeast;
  156. public static Item berryCloud;
  157. public static Item berryGold;
  158. public static Item berryMagma;
  159. public static Item berryWork;
  160. public static Item berryExperience;
  161. private static Item newSword(IItemTier tier) {
  162. return new SwordItem(tier, 3, -2.4f, (new Item.Properties()).group(ItemGroup.COMBAT));
  163. }
  164. private static Item newShovel(IItemTier tier) {
  165. return new ShovelItem(tier, 1.5f, -3.0f, (new Item.Properties()).group(ItemGroup.TOOLS));
  166. }
  167. private static Item newPickaxe(IItemTier tier) {
  168. return new ModItemPickaxe(tier, 1, -2.8f, (new Item.Properties()).group(ItemGroup.TOOLS));
  169. }
  170. private static Item newAxe(IItemTier tier, int attackDamageIn, float attackSpeedIn) {
  171. return new ModItemAxe(tier, attackDamageIn, attackSpeedIn, (new Item.Properties()).group(ItemGroup.TOOLS));
  172. }
  173. private static Item newHoe(IItemTier tier, int attackDamage, float speed) {
  174. return new HoeItem(tier, attackDamage, speed, (new Item.Properties()).group(ItemGroup.TOOLS));
  175. }
  176. private static Item newStick(IItemTier tier) {
  177. return new SwordItem(tier, 0, -2.3f, (new Item.Properties()).group(ItemGroup.COMBAT));
  178. }
  179. private static Item newScepter(IItemTier tier) {
  180. return new SwordItem(tier, 1, -2.6f, (new Item.Properties()).group(ItemGroup.COMBAT));
  181. }
  182. private static Item newHammer(IItemTier tier) {
  183. return new SwordItem(tier, 4, -3.0f, (new Item.Properties()).group(ItemGroup.COMBAT));
  184. }
  185. private static Item newDagger(IItemTier tier) {
  186. return new SwordItem(tier, 1, -2.2f, (new Item.Properties()).group(ItemGroup.COMBAT));
  187. }
  188. private static Item newBattleAxe(IItemTier tier) {
  189. return new SwordItem(tier, 5, -3.0f, (new Item.Properties()).group(ItemGroup.COMBAT));
  190. }
  191. private static Item newArmor(IArmorMaterial am, EquipmentSlotType slot) {
  192. return new ArmorItem(am, slot, (new Properties()).group(ItemGroup.COMBAT));
  193. }
  194. private static Item newItem(ItemGroup group) {
  195. return new Item(new Properties().group(group));
  196. }
  197. private static Item newHerb() {
  198. return new Item(new Properties().group(ItemGroup.FOOD).food(
  199. new Food.Builder().hunger(2).saturation(0.1F).setAlwaysEdible().fastToEat().build()));
  200. }
  201. private static Item newBerry() {
  202. return new Item(new Properties().group(ItemGroup.FOOD).food(
  203. new Food.Builder().hunger(2).saturation(0.1F).setAlwaysEdible().fastToEat().build()));
  204. }
  205. private static Item newFood(int food, float saturation) {
  206. return new Item(new Properties().group(ItemGroup.FOOD).food(
  207. new Food.Builder().hunger(food).saturation(saturation).build()));
  208. }
  209. public static void init(IForgeRegistry<Item> r) {
  210. // nuggets and ingots
  211. copperIngot = register(r, new Item(new Properties().group(ItemGroup.MATERIALS)), "copper_ingot");
  212. copperNugget = register(r, new Item(new Properties().group(ItemGroup.MATERIALS)), "copper_nugget");
  213. tinIngot = register(r, new Item(new Properties().group(ItemGroup.MATERIALS)), "tin_ingot");
  214. tinNugget = register(r, new Item(new Properties().group(ItemGroup.MATERIALS)), "tin_nugget");
  215. bronzeIngot = register(r, new Item(new Properties().group(ItemGroup.MATERIALS)), "bronze_ingot");
  216. bronzeNugget = register(r, new Item(new Properties().group(ItemGroup.MATERIALS)), "bronze_nugget");
  217. silverIngot = register(r, new Item(new Properties().group(ItemGroup.MATERIALS)), "silver_ingot");
  218. silverNugget = register(r, new Item(new Properties().group(ItemGroup.MATERIALS)), "silver_nugget");
  219. // tools and swords
  220. copperSword = register(r, newSword(ModItemTier.COPPER), "copper_sword");
  221. copperShovel = register(r, newShovel(ModItemTier.COPPER), "copper_shovel");
  222. copperPickaxe = register(r, newPickaxe(ModItemTier.COPPER), "copper_pickaxe");
  223. copperAxe = register(r, newAxe(ModItemTier.COPPER, 7, -3.1f), "copper_axe");
  224. copperHoe = register(r, newHoe(ModItemTier.COPPER, -1, -2.0f), "copper_hoe");
  225. bronzeSword = register(r, newSword(ModItemTier.BRONZE), "bronze_sword");
  226. bronzeShovel = register(r, newShovel(ModItemTier.BRONZE), "bronze_shovel");
  227. bronzePickaxe = register(r, newPickaxe(ModItemTier.BRONZE), "bronze_pickaxe");
  228. bronzeAxe = register(r, newAxe(ModItemTier.BRONZE, 8, -3.0f), "bronze_axe");
  229. bronzeHoe = register(r, newHoe(ModItemTier.BRONZE, -2, -1.0f), "bronze_hoe");
  230. sling = register(r, new ItemSling(192), "sling");
  231. // armor
  232. copperHelmet = register(r, newArmor(ModArmorMaterial.COPPER, EquipmentSlotType.HEAD), "copper_helmet");
  233. copperChestplate = register(r, newArmor(ModArmorMaterial.COPPER, EquipmentSlotType.CHEST), "copper_chestplate");
  234. copperLeggings = register(r, newArmor(ModArmorMaterial.COPPER, EquipmentSlotType.LEGS), "copper_leggings");
  235. copperBoots = register(r, newArmor(ModArmorMaterial.COPPER, EquipmentSlotType.FEET), "copper_boots");
  236. bronzeHelmet = register(r, newArmor(ModArmorMaterial.BRONZE, EquipmentSlotType.HEAD), "bronze_helmet");
  237. bronzeChestplate = register(r, newArmor(ModArmorMaterial.BRONZE, EquipmentSlotType.CHEST), "bronze_chestplate");
  238. bronzeLeggings = register(r, newArmor(ModArmorMaterial.BRONZE, EquipmentSlotType.LEGS), "bronze_leggings");
  239. bronzeBoots = register(r, newArmor(ModArmorMaterial.BRONZE, EquipmentSlotType.FEET), "bronze_boots");
  240. cylinder = register(r, new ItemCylinder(ModArmorMaterial.CYLINDER, new Properties()), "cylinder");
  241. suitChestplate = register(r, newArmor(ModArmorMaterial.SILK, EquipmentSlotType.CHEST), "suit_chestplate");
  242. suitLeggings = register(r, newArmor(ModArmorMaterial.SILK, EquipmentSlotType.LEGS), "suit_leggings");
  243. suitBoots = register(r, newArmor(ModArmorMaterial.SILK, EquipmentSlotType.FEET), "suit_boots");
  244. strawHat = register(r, new ItemHat(ModArmorMaterial.STRAW, new Properties()), "straw_hat");
  245. // sticks
  246. woodenStick = register(r, newStick(ItemTier.WOOD), "wooden_stick");
  247. stoneStick = register(r, newStick(ItemTier.STONE), "stone_stick");
  248. copperStick = register(r, newStick(ModItemTier.COPPER), "copper_stick");
  249. bronzeStick = register(r, newStick(ModItemTier.BRONZE), "bronze_stick");
  250. ironStick = register(r, newStick(ItemTier.IRON), "iron_stick");
  251. goldStick = register(r, newStick(ItemTier.GOLD), "golden_stick");
  252. diamondStick = register(r, newStick(ItemTier.DIAMOND), "diamond_stick");
  253. // scepter
  254. woodenScepter = register(r, newScepter(ItemTier.WOOD), "wooden_scepter");
  255. stoneScepter = register(r, newScepter(ItemTier.STONE), "stone_scepter");
  256. copperScepter = register(r, newScepter(ModItemTier.COPPER), "copper_scepter");
  257. bronzeScepter = register(r, newScepter(ModItemTier.BRONZE), "bronze_scepter");
  258. ironScepter = register(r, newScepter(ItemTier.IRON), "iron_scepter");
  259. goldScepter = register(r, newScepter(ItemTier.GOLD), "golden_scepter");
  260. diamondScepter = register(r, newScepter(ItemTier.DIAMOND), "diamond_scepter");
  261. // dagger
  262. woodenDagger = register(r, newDagger(ItemTier.WOOD), "wooden_dagger");
  263. stoneDagger = register(r, newDagger(ItemTier.STONE), "stone_dagger");
  264. copperDagger = register(r, newDagger(ModItemTier.COPPER), "copper_dagger");
  265. bronzeDagger = register(r, newDagger(ModItemTier.BRONZE), "bronze_dagger");
  266. ironDagger = register(r, newDagger(ItemTier.IRON), "iron_dagger");
  267. goldDagger = register(r, newDagger(ItemTier.GOLD), "golden_dagger");
  268. diamondDagger = register(r, newDagger(ItemTier.DIAMOND), "diamond_dagger");
  269. // hammer
  270. woodenHammer = register(r, newHammer(ItemTier.WOOD), "wooden_hammer");
  271. stoneHammer = register(r, newHammer(ItemTier.STONE), "stone_hammer");
  272. copperHammer = register(r, newHammer(ModItemTier.COPPER), "copper_hammer");
  273. bronzeHammer = register(r, newHammer(ModItemTier.BRONZE), "bronze_hammer");
  274. ironHammer = register(r, newHammer(ItemTier.IRON), "iron_hammer");
  275. goldHammer = register(r, newHammer(ItemTier.GOLD), "golden_hammer");
  276. diamondHammer = register(r, newHammer(ItemTier.DIAMOND), "diamond_hammer");
  277. // battle axe
  278. woodenBattleAxe = register(r, newBattleAxe(ItemTier.WOOD), "wooden_battleaxe");
  279. stoneBattleAxe = register(r, newBattleAxe(ItemTier.STONE), "stone_battleaxe");
  280. copperBattleAxe = register(r, newBattleAxe(ModItemTier.COPPER), "copper_battleaxe");
  281. bronzeBattleAxe = register(r, newBattleAxe(ModItemTier.BRONZE), "bronze_battleaxe");
  282. ironBattleAxe = register(r, newBattleAxe(ItemTier.IRON), "iron_battleaxe");
  283. goldBattleAxe = register(r, newBattleAxe(ItemTier.GOLD), "golden_battleaxe");
  284. diamondBattleAxe = register(r, newBattleAxe(ItemTier.DIAMOND), "diamond_battleaxe");
  285. // key
  286. silverKey = register(r, new ItemKey(ModItemTier.SILVER), "silver_key");
  287. copperKey = register(r, new ItemKey(ModItemTier.COPPER), "copper_key");
  288. bronzeKey = register(r, new ItemKey(ModItemTier.BRONZE), "bronze_key");
  289. ironKey = register(r, new ItemKey(ItemTier.IRON), "iron_key");
  290. goldKey = register(r, new ItemKey(ItemTier.GOLD), "golden_key");
  291. // coins
  292. copperCoin = register(r, newItem(ItemGroup.MISC), "coin_copper");
  293. silverCoin = register(r, newItem(ItemGroup.MISC), "coin_silver");
  294. goldCoin = register(r, newItem(ItemGroup.MISC), "coin_gold");
  295. // misc
  296. realHayBed = register(r, new BedItem(ModBlocks.realHayBed, (new Item.Properties()).maxStackSize(1).group(ItemGroup.DECORATIONS)), "real_hay_bed");
  297. hayBundle = register(r, newItem(ItemGroup.MATERIALS), "hay_bundle");
  298. batWing = register(r, newItem(ItemGroup.MATERIALS), "bat_wing");
  299. wolfFur = register(r, newItem(ItemGroup.MATERIALS), "wolf_fur");
  300. bearPolarFur = register(r, newItem(ItemGroup.MATERIALS), "bear_polar_fur");
  301. cloth = register(r, newItem(ItemGroup.MATERIALS), "cloth");
  302. coarseCloth = register(r, newItem(ItemGroup.MATERIALS), "coarse_cloth");
  303. gemStone = register(r, new ItemGemStone(), "gem_stone");
  304. rawGemStone = register(r, new ItemGemStone(), "raw_gem_stone");
  305. flawlessGemStone = register(r, new ItemGemStone(), "flawless_gem_stone");
  306. scroll = register(r, newItem(ItemGroup.MISC), "scroll");
  307. soulStone = register(r, newItem(ItemGroup.MATERIALS), "soul_stone");
  308. piercingStone = register(r, newItem(ItemGroup.MATERIALS), "piercing_stone");
  309. shell = register(r, newItem(ItemGroup.MATERIALS), "shell");
  310. // food
  311. coloredSoup = register(r, new ItemColoredSoup(), "colored_soup");
  312. friedEgg = register(r, newFood(2, 0.3f), "fried_egg");
  313. mushroomStickRaw = register(r, newItem(ItemGroup.FOOD), "mushroom_stick_raw");
  314. mushroomStickCooked = register(r, newFood(9, 0.9f), "mushroom_stick_cooked");
  315. apricot = register(r, newFood(4, 0.3f), "apricot");
  316. pear = register(r, newFood(4, 0.3f), "pear");
  317. plum = register(r, newFood(4, 0.3f), "plum");
  318. // icons
  319. arrowDown = register(r, newItem(ItemGroup.MISC), "arrow_down");
  320. arrowLeft = register(r, newItem(ItemGroup.MISC), "arrow_left");
  321. arrowRight = register(r, newItem(ItemGroup.MISC), "arrow_right");
  322. arrowUp = register(r, newItem(ItemGroup.MISC), "arrow_up");
  323. checkGreen = register(r, newItem(ItemGroup.MISC), "check_green");
  324. checkRed = register(r, newItem(ItemGroup.MISC), "check_red");
  325. crossGreen = register(r, newItem(ItemGroup.MISC), "cross_green");
  326. crossRed = register(r, newItem(ItemGroup.MISC), "cross_red");
  327. minusGreen = register(r, newItem(ItemGroup.MISC), "minus_green");
  328. minusRed = register(r, newItem(ItemGroup.MISC), "minus_red");
  329. plusGreen = register(r, newItem(ItemGroup.MISC), "plus_green");
  330. plusRed = register(r, newItem(ItemGroup.MISC), "plus_red");
  331. returnGreen = register(r, newItem(ItemGroup.MISC), "return_green");
  332. returnRed = register(r, newItem(ItemGroup.MISC), "return_red");
  333. gear = register(r, newItem(ItemGroup.MISC), "gear");
  334. refreshGreen = register(r, newItem(ItemGroup.MISC), "refresh_green");
  335. refreshRed = register(r, newItem(ItemGroup.MISC), "refresh_red");
  336. // herbs
  337. herbStrong = register(r, newHerb(), "herb_strong");
  338. herbShadow = register(r, newHerb(), "herb_shadow");
  339. herbXp = register(r, newHerb(), "herb_xp");
  340. herbSea = register(r, newHerb(), "herb_sea");
  341. herbGold = register(r, newHerb(), "herb_gold");
  342. herbBreathing = register(r, newHerb(), "herb_breathing");
  343. herbFire = register(r, newHerb(), "herb_fire");
  344. // berries
  345. berryBeast = register(r, newBerry(), "berry_beast");
  346. berryCloud = register(r, newBerry(), "berry_cloud");
  347. berryGold = register(r, newBerry(), "berry_gold");
  348. berryMagma = register(r, newBerry(), "berry_magma");
  349. berryWork = register(r, newBerry(), "berry_work");
  350. berryExperience = register(r, newBerry(), "berry_experience");
  351. // skill icons
  352. for(int i = 1; i <= 57; i++) {
  353. register(r, newItem(ItemGroup.MISC), "skill" + i);
  354. }
  355. // block overrides
  356. try {
  357. PotionItem potion = new ItemNoGlintPotion();
  358. register(r, Items.POTION, potion);
  359. PotionItem splashPotion = new ItemNoGlintSplashPotion();
  360. register(r, Items.SPLASH_POTION, splashPotion);
  361. PotionItem lingeringPotion = new ItemNoGlintLingeringPotion();
  362. register(r, Items.LINGERING_POTION, lingeringPotion);
  363. } catch(Exception ex) {
  364. ex.printStackTrace();
  365. }
  366. }
  367. private static Item register(IForgeRegistry<Item> r, Item item, String registry) {
  368. item.setRegistryName(registry);
  369. r.register(item);
  370. return item;
  371. }
  372. private static void register(IForgeRegistry<Item> r, Item old, Item newItem) {
  373. newItem.setRegistryName(old.getRegistryName());
  374. r.register(newItem);
  375. }
  376. }