Advertisement
Guest User

Untitled

a guest
Feb 25th, 2015
55
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.30 KB | None | 0 0
  1. package baubles.common.items;
  2.  
  3. import java.util.List;
  4.  
  5. import net.minecraft.client.renderer.texture.IIconRegister;
  6. import net.minecraft.creativetab.CreativeTabs;
  7. import net.minecraft.entity.EntityLivingBase;
  8. import net.minecraft.entity.player.EntityPlayer;
  9. import net.minecraft.item.EnumRarity;
  10. import net.minecraft.item.Item;
  11. import net.minecraft.item.ItemStack;
  12. import net.minecraft.potion.Potion;
  13. import net.minecraft.potion.PotionEffect;
  14. import net.minecraft.util.IIcon;
  15. import net.minecraft.world.World;
  16. import baubles.api.BaubleType;
  17. import baubles.api.IBauble;
  18. import baubles.common.container.InventoryBaubles;
  19. import baubles.common.lib.PlayerHandler;
  20. import cpw.mods.fml.relauncher.Side;
  21. import cpw.mods.fml.relauncher.SideOnly;
  22.  
  23. public class ItemRing extends Item implements IBauble
  24. {
  25.  
  26. public ItemRing()
  27. {
  28. super();
  29. this.setMaxStackSize(1);
  30. this.setHasSubtypes(true);
  31. this.setMaxDamage(0);
  32. setCreativeTab(CreativeTabs.tabTools);
  33. }
  34.  
  35. public IIcon icon;
  36. @SideOnly(Side.CLIENT)
  37. @Override
  38. public void registerIcons(IIconRegister ir) {
  39. icon = ir.registerIcon("baubles:ring");
  40. }
  41. @SideOnly(Side.CLIENT)
  42. @Override
  43. public IIcon getIconFromDamage(int meta) {
  44. return icon;
  45. }
  46.  
  47. @SideOnly(Side.CLIENT)
  48. @Override
  49. public void getSubItems(Item par1, CreativeTabs par2CreativeTabs,List par3List) {
  50. par3List.add(new ItemStack(this,1,0));
  51. }
  52.  
  53. @Override
  54. public BaubleType getBaubleType(ItemStack itemstack) {
  55. return BaubleType.RING;
  56. }
  57.  
  58. @Override
  59. public ItemStack onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer) {
  60. if(!par2World.isRemote) {
  61. InventoryBaubles baubles = PlayerHandler.getPlayerBaubles(par3EntityPlayer);
  62. for(int i = 0; i < baubles.getSizeInventory(); i++)
  63. if(baubles.getStackInSlot(i) == null && baubles.isItemValidForSlot(i, par1ItemStack)) {
  64. baubles.setInventorySlotContents(i, par1ItemStack.copy());
  65. if(!par3EntityPlayer.capabilities.isCreativeMode){
  66. par3EntityPlayer.inventory.setInventorySlotContents(par3EntityPlayer.inventory.currentItem, null);
  67. }
  68. onEquipped(par1ItemStack, par3EntityPlayer);
  69. break;
  70. }
  71. }
  72.  
  73. return par1ItemStack;
  74. }
  75.  
  76. @Override
  77. public void onWornTick(ItemStack itemstack, EntityLivingBase player) {
  78. if (itemstack.getItemDamage()==0 && !player.isPotionActive(Potion.moveSlowdown)) {
  79. player.addPotionEffect(new PotionEffect(Potion.moveSpeed.id,40,3,true));
  80. }
  81. }
  82.  
  83. @Override
  84. public boolean hasEffect(ItemStack par1ItemStack, int a) {
  85. return true;
  86. }
  87.  
  88. @Override
  89. public EnumRarity getRarity(ItemStack par1ItemStack) {
  90. return EnumRarity.rare;
  91. }
  92.  
  93. @Override
  94. public String getUnlocalizedName(ItemStack par1ItemStack)
  95. {
  96. return super.getUnlocalizedName() + "." + par1ItemStack.getItemDamage();
  97. }
  98.  
  99. @Override
  100. public void onEquipped(ItemStack itemstack, EntityLivingBase player) {
  101. if (!player.worldObj.isRemote) {
  102. player.worldObj.playSoundAtEntity(player, "random.orb", 0.1F, 1.3f);
  103. }
  104. }
  105.  
  106. @Override
  107. public void onUnequipped(ItemStack itemstack, EntityLivingBase player) {
  108. }
  109.  
  110. @Override
  111. public boolean canEquip(ItemStack itemstack, EntityLivingBase player) {
  112. return true;
  113. }
  114.  
  115. @Override
  116. public boolean canUnequip(ItemStack itemstack, EntityLivingBase player) {
  117. return true;
  118. }
  119.  
  120. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement