Advertisement
Guest User

Untitled

a guest
Sep 17th, 2015
113
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.40 KB | None | 0 0
  1. package com.gigatoni.greyscale.items;
  2.  
  3. import com.gigatoni.greyscale.entity.TileEntity.TileEntityRailGag;
  4. import com.gigatoni.greyscale.init.ModBlocks;
  5. import com.gigatoni.greyscale.init.ModItems;
  6. import com.gigatoni.greyscale.reference.Names;
  7. import com.gigatoni.greyscale.reference.Textures;
  8. import cpw.mods.fml.relauncher.Side;
  9. import cpw.mods.fml.relauncher.SideOnly;
  10. import java.util.List;
  11. import net.minecraft.block.Block;
  12. import net.minecraft.client.renderer.texture.IIconRegister;
  13. import net.minecraft.creativetab.CreativeTabs;
  14. import net.minecraft.entity.player.EntityPlayer;
  15. import net.minecraft.item.Item;
  16. import net.minecraft.item.ItemStack;
  17. import net.minecraft.util.ChatComponentText;
  18. import net.minecraft.util.EnumChatFormatting;
  19. import net.minecraft.util.IIcon;
  20. import net.minecraft.util.MathHelper;
  21. import net.minecraft.world.World;
  22.  
  23. import com.gigatoni.greyscale.entity.TileEntity.TileEntityRail;
  24.  
  25. public class ItemRail extends Item {
  26.  
  27. public ItemRail() {
  28. super();
  29. this.maxStackSize = 64;
  30. setHasSubtypes(true);
  31. setMaxDamage(0);
  32. setUnlocalizedName("generic_rail");
  33.  
  34. railIcons = new IIcon[13];
  35. }
  36.  
  37. @Override
  38. public String getUnlocalizedName(ItemStack stack)
  39. {
  40. String baseName = "tracks/item_rail_";
  41. switch(stack.getItemDamage())
  42. {
  43. case 1:
  44. return baseName + "medium_turn";
  45. case 2:
  46. return baseName + "large_turn";
  47. case 3:
  48. return baseName + "very_large_turn";
  49. case 4:
  50. return baseName + "very_large_turn";
  51. case 5:
  52. return baseName + "very_large_turn";
  53. case 6:
  54. return baseName + "very_large_turn";
  55. case 7:
  56. return baseName + "very_large_turn";
  57. case 8:
  58. return baseName + "very_large_turn";
  59. case 9:
  60. return baseName + "very_large_turn";
  61. case 10:
  62. return baseName + "very_large_turn";
  63. case 11:
  64. return baseName + "very_large_turn";
  65. case 12:
  66. return baseName + "very_large_turn";
  67. }
  68. return baseName + "normal_straight";
  69. }
  70.  
  71. @Override
  72. public String getUnlocalizedName()
  73. {
  74. return "item.generic_rail";
  75. }
  76.  
  77. IIcon[] railIcons;
  78.  
  79. @Override
  80. @SideOnly(Side.CLIENT)
  81. public IIcon getIconFromDamage(int damage)
  82. {
  83. if(damage > 0 && railIcons[damage-1] != null){
  84. return railIcons[damage-1];
  85. }
  86. return this.itemIcon;
  87. }
  88.  
  89. @Override
  90. @SideOnly(Side.CLIENT)
  91. public void registerIcons(IIconRegister iconRegister)
  92. {
  93. String baseName = Textures.RESOURCE_PREFIX + "tracks/item_rail_";
  94.  
  95. itemIcon = iconRegister.registerIcon(baseName + "normal_straight");
  96. railIcons[0] = iconRegister.registerIcon(baseName + "medium_turn");
  97. railIcons[1] = iconRegister.registerIcon(baseName + "large_turn");
  98. railIcons[2] = iconRegister.registerIcon(baseName + "very_large_turn");
  99. railIcons[3] = iconRegister.registerIcon(baseName + "long_straight");
  100. railIcons[4] = iconRegister.registerIcon(baseName + "medium_straight");
  101. railIcons[5] = iconRegister.registerIcon(baseName + "small_straight");
  102. railIcons[6] = iconRegister.registerIcon(baseName + "medium_switch");
  103. railIcons[7] = iconRegister.registerIcon(baseName + "large_switch");
  104. railIcons[8] = iconRegister.registerIcon(baseName + "medium_parallel_switch");
  105. railIcons[9] = iconRegister.registerIcon(baseName + "two_ways_crossing");
  106. railIcons[10] = iconRegister.registerIcon(baseName + "large_slope_wood");
  107. railIcons[11] = iconRegister.registerIcon(baseName + "large_slope_gravel");
  108. railIcons[12] = iconRegister.registerIcon(baseName + "large_slope_ballast");
  109. }
  110.  
  111. @SideOnly(Side.CLIENT)
  112. public void getSubItems(Item item, CreativeTabs tab, List subItems)
  113. {
  114. for (int ix = 0; ix < 12; ix++) {
  115. subItems.add(new ItemStack(this, 1, ix));
  116. }
  117. }
  118.  
  119. @SideOnly(Side.CLIENT)
  120. public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) {
  121. par3List.add(EnumChatFormatting.GRAY + this.type.getTooltip());
  122. }
  123. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement