Guest User

Sword Class MikasOrbit

a guest
Feb 19th, 2016
231
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.03 KB | None | 0 0
  1. public class ItemSaphireSword extends ItemSword{
  2.  
  3. private static final String TAG_MYTAG = "tag_flyffmc";
  4. private static final String TAG_PLAYERNAME = "tag_playername";
  5. private static final String TAG_PLAYERUID = "tag_playeruid";
  6. private static final String TAG_UPGRADE = "tag_upgrade";
  7. private static int upgrade = 0;
  8. private static int range;
  9.  
  10. public ItemSaphireSword() {
  11. super(FlyffMc.saphireToolMaterial);
  12. this.setUnlocalizedName("saphireSword");
  13. this.setMaxDamage(2);
  14. }
  15.  
  16. @Override
  17. public boolean onLeftClickEntity(ItemStack stack, EntityPlayer player, Entity entity) {
  18. String uid = getNBTTag(stack, TAG_PLAYERUID);
  19. if (uid.equals("-") && !player.worldObj.isRemote) {
  20. setNBTData(stack, player);
  21. return super.onLeftClickEntity(stack, player, entity);
  22. }
  23. else if(uid.equals(player.getUniqueID().toString()) && !player.worldObj.isRemote) {
  24. return super.onLeftClickEntity(stack, player, entity);
  25. }
  26. else if (!player.worldObj.isRemote) {
  27. player.addChatComponentMessage(new ChatComponentText(EnumChatFormatting.RED + "Dieses Item ist Seelengebunden"));
  28. return true;
  29. }
  30. else {
  31. return true;
  32. }
  33. }
  34.  
  35.  
  36. @Override
  37. public void addInformation(ItemStack stack, EntityPlayer playerIn, List<String> tooltip, boolean advanced) {
  38. tooltip.add("Dieses Item gehört: " + getNBTTag(stack, TAG_PLAYERNAME));
  39. if(upgrade >= 1) {
  40. tooltip.add("Stufe: " + upgrade);
  41. }
  42. }
  43.  
  44. @Override
  45. public void onCreated(ItemStack stack, World worldIn, EntityPlayer playerIn) {
  46. if(!playerIn.worldObj.isRemote) {
  47. checkUpdate();
  48. if (getRandomZahl() == 2 && upgrade < 10) {
  49. addOneToUpgrade();
  50. setNBTData(stack, playerIn);
  51. }
  52. //Hier liegt das Problem!
  53. else {
  54. stack.setItemDamage(2);
  55. }
  56. }
  57. }
  58.  
  59. public static void addOneToUpgrade() {
  60. upgrade++;
  61. }
  62.  
  63. public int getRandomZahl() {
  64.  
  65. int zufallszahl = (int) ((Math.random()*range)+1);
  66. return zufallszahl;
  67. }
  68.  
  69. public static void checkUpdate() {
  70. switch (upgrade) {
  71. case 0:
  72. range = 2; //50%
  73. break;
  74. case 1:
  75. range = 2; //50%
  76. break;
  77. case 2:
  78. range = 3; //33%
  79. break;
  80. case 3:
  81. range = 3; //33%
  82. break;
  83. case 4:
  84. range = 3; //33%
  85. break;
  86. case 5:
  87. range = 4; //25%
  88. break;
  89. case 6:
  90. range = 4; //25%
  91. break;
  92. case 7:
  93. range = 5; //20%
  94. break;
  95. case 8:
  96. range = 5; //20%
  97. break;
  98. case 9:
  99. range = 6; //17%
  100. break;
  101. default:
  102. break;
  103. }
  104. }
  105.  
  106.  
  107. private static void setNBTData(ItemStack stack, EntityPlayer player) {
  108. NBTTagCompound data = new NBTTagCompound();
  109. data.setString(TAG_PLAYERNAME, player.getDisplayNameString());
  110. data.setString(TAG_PLAYERUID, player.getUniqueID().toString());
  111. data.setInteger(TAG_UPGRADE, upgrade);
  112.  
  113. stack.setTagInfo(TAG_MYTAG, data);
  114. }
  115.  
  116. private static String getNBTTag(ItemStack stack, String tag) {
  117. if(stack.getTagCompound() != null) {
  118. NBTTagCompound data = stack.getTagCompound().getCompoundTag(TAG_MYTAG);
  119. return data.getString(tag);
  120. }
  121. else {
  122. return "-";
  123. }
  124. }
  125. }
Advertisement
Add Comment
Please, Sign In to add comment