ModItems.java 19 KB

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