Advertisement
Guest User

Untitled

a guest
Nov 14th, 2016
120
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.63 KB | None | 0 0
  1. package com.reactioncraft.net.common;
  2.  
  3. import java.util.List;
  4. import java.util.Set;
  5. import com.google.common.collect.ImmutableSet;
  6. import com.google.common.collect.Sets;
  7. import com.reactioncraft.reactioncraft;
  8. import com.reactioncraft.core.ItemModelProvider;
  9. import com.reactioncraft.integration.instances.IntegratedItems;
  10.  
  11. import net.minecraft.block.Block;
  12. import net.minecraft.entity.Entity;
  13. import net.minecraft.entity.EntityList;
  14. import net.minecraft.entity.EntityLiving;
  15. import net.minecraft.entity.EntityLivingBase;
  16. import net.minecraft.entity.player.EntityPlayer;
  17. import net.minecraft.init.Blocks;
  18. import net.minecraft.item.Item;
  19. import net.minecraft.item.ItemAxe;
  20. import net.minecraft.item.ItemPickaxe;
  21. import net.minecraft.item.ItemSpade;
  22. import net.minecraft.item.ItemStack;
  23. import net.minecraft.item.ItemSword;
  24. import net.minecraft.item.Item.ToolMaterial;
  25. import net.minecraft.nbt.NBTTagCompound;
  26. import net.minecraft.util.text.TextFormatting;
  27. import net.minecraft.world.World;
  28. import net.minecraftforge.client.event.sound.PlaySoundEvent;
  29. import net.minecraftforge.fml.common.registry.GameRegistry;
  30. import net.minecraftforge.fml.relauncher.Side;
  31. import net.minecraftforge.fml.relauncher.SideOnly;
  32.  
  33. public class ItemCompleteNet extends ItemSword implements ItemModelProvider
  34. {
  35. public int retunedAmt;
  36.  
  37. public ItemCompleteNet(ToolMaterial mat)
  38. {
  39. super(mat);
  40. //damageVsEntity = 0.0F;
  41. //attackSpeed = 0.0F;
  42. this.setRegistryName("complete_net");
  43. this.setUnlocalizedName("complete_net");
  44. this.setMaxStackSize(1);
  45. this.setCreativeTab(null);
  46. }
  47.  
  48. @Override
  49. public Set<String> getToolClasses(ItemStack stack) {
  50. return ImmutableSet.of("pickaxe", "axe", "shovel", "sword");
  51. }
  52.  
  53. @Override
  54. public boolean onLeftClickEntity(ItemStack stack, EntityPlayer player, Entity entity)
  55. {
  56. ItemStack net = new ItemStack(IntegratedItems.complete_net);
  57.  
  58. if (entity != null || !reactioncraft.exclusionList.isExcluded(entity) && entity instanceof EntityLiving)
  59. {
  60. if (entity instanceof EntityPlayer)
  61. {
  62. return false;
  63. }
  64. else
  65. {
  66. NBTTagCompound entityplayer = new NBTTagCompound();
  67. entity.writeToNBT(entityplayer);
  68. entityplayer.removeTag("Pos");
  69. entityplayer.removeTag("Motion");
  70. entityplayer.removeTag("Rotation");
  71. entityplayer.removeTag("Dimension");
  72. entityplayer.removeTag("PortalCooldown");
  73. entityplayer.removeTag("InLove");
  74. entityplayer.removeTag("HurtTime");
  75. entityplayer.removeTag("DeathTime");
  76. entityplayer.removeTag("AttackTime");
  77. ItemStack is = new ItemStack(IntegratedItems.caught);
  78. is.setTagCompound(new NBTTagCompound());
  79. is.getTagCompound().setString("entity", EntityList.getEntityString(entity));
  80. is.getTagCompound().setTag("entityData", entityplayer);
  81.  
  82. player.dropItem(is, true);
  83. stack.damageItem(1, player);
  84. entity.setDead();
  85.  
  86. if (stack.getItemDamage() >= stack.getMaxDamage() - 1 && player instanceof EntityPlayer)
  87. {
  88. --stack.stackSize;
  89. }
  90.  
  91. return true;
  92. }
  93. }
  94. else
  95. {
  96. return false;
  97. }
  98. }
  99.  
  100. /**
  101. * allows items to add custom lines of information to the mouseover description
  102. */
  103. @Override
  104. public void addInformation(ItemStack itemStack, EntityPlayer player, List list, boolean par4)
  105. {
  106. if (itemStack.getTagCompound() != null)
  107. {
  108. list.add("Hilt: " + itemStack.getTagCompound().getInteger("hilt"));
  109. list.add("Net: " + itemStack.getTagCompound().getInteger("net"));
  110. }
  111. else
  112. {
  113. if(itemStack.getTagCompound() != null)
  114. {
  115. list.add("Hilt: " + itemStack.getTagCompound().getInteger("hilt"));
  116. list.add("Net: " + itemStack.getTagCompound().getInteger("net"));
  117. }
  118. }
  119. super.addInformation(itemStack, player, list, par4);
  120. }
  121.  
  122.  
  123. /**
  124. * Returns True is the item is renderer in full 3D when hold.
  125. */
  126. @SideOnly(Side.CLIENT)
  127. public boolean isFull3D()
  128. {
  129. return true;
  130. }
  131.  
  132. /**
  133. * Returns true if this item should be rotated by 180 degrees around the Y axis when being held in an entities
  134. * hands.
  135. */
  136. @SideOnly(Side.CLIENT)
  137. @Override
  138. public boolean shouldRotateAroundWhenRendering()
  139. {
  140. return false;
  141. }
  142.  
  143. @Override
  144. public int getMaxDamage(ItemStack stack)
  145. {
  146. NBTTagCompound compound = stack.getTagCompound();
  147. try
  148. {
  149. int e = compound.getInteger("hilt");
  150. int netLevel = compound.getInteger("net");
  151. retunedAmt = (e * 10 + netLevel * 10);
  152. return retunedAmt;
  153. }
  154. catch (NullPointerException var5)
  155. {
  156. retunedAmt = 20;
  157. return retunedAmt;
  158. }
  159. }
  160.  
  161. @Override
  162. public void registerItemModel(Item item)
  163. {
  164. reactioncraft.proxy.registerItemRenderer(this, 0, "complete_Net");
  165. }
  166. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement