Guest User

Untitled

a guest
Mar 17th, 2018
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.44 KB | None | 0 0
  1. package com.codex_arcanum.hammertime;
  2.  
  3.  
  4. import org.bukkit.entity.Entity;
  5. import org.bukkit.event.entity.EntityListener;
  6. import org.bukkit.event.entity.EntityDamageByEntityEvent;
  7. import org.bukkit.entity.LivingEntity;
  8. import org.bukkit.entity.Player;
  9. import org.bukkit.util.Vector;
  10. import org.bukkit.inventory.ItemStack;
  11. import org.bukkit.plugin.Plugin;
  12. import java.util.logging.Logger;
  13. import org.bukkit.event.entity.EntityDamageEvent;
  14.  
  15. public class HTEntityListener extends EntityListener {
  16.  
  17. public HammerCore plugin;
  18.  
  19. public HTEntityListener(HammerCore plugin) {
  20. this.plugin = plugin;
  21. }
  22.  
  23. @Override
  24. public void onEntityDamage(EntityDamageEvent event) {
  25. if (event instanceof EntityDamageByEntityEvent) {
  26. EntityDamageByEntityEvent event2 = (EntityDamageByEntityEvent)event;
  27. Boolean IsWood = false;
  28. Boolean IsStone = false;
  29. Boolean IsIron = false;
  30. Boolean IsGold = false;
  31. Boolean IsDiamond = false;
  32. Boolean NotHammer = true;
  33. float horizpower = 0;
  34. float vertpower = 0;
  35. final Entity target = event.getEntity();
  36. Entity attacker = event2.getDamager();
  37. Logger log = Logger.getLogger("Minecraft");
  38. if (!(target instanceof LivingEntity)) {
  39. return;
  40. }
  41.  
  42. if (!(attacker instanceof Player)) {
  43. return;
  44. }
  45. else {
  46. Player player = (Player) event2.getDamager();
  47. ItemStack iteminhand = null;
  48. iteminhand = player.getItemInHand();
  49. int itemdata = player.getItemInHand().getDurability();
  50. int itemid = player.getItemInHand().getTypeId();
  51. log.info("Player hit with itemid" + itemid + " and datavalue" + itemdata);
  52. if (HammerCore.Ultraitems == true && iteminhand.getTypeId() != 318) {
  53. return;
  54. }
  55. //Check for hammers in hand.
  56. if (itemid == HammerCore.WoodHammerID) {
  57. if (itemdata == HammerCore.WoodHammerDataValue || HammerCore.WoodHammerDataValue == -1) {
  58. IsWood = true;
  59. NotHammer = false;
  60. horizpower = HammerCore.woodhorizpower;
  61. vertpower = HammerCore.woodvertpower;
  62. log.info("Hit with wooden hammer.");
  63. }
  64. }
  65. else if(itemid == HammerCore.StoneHammerID) {
  66. if (itemdata == HammerCore.StoneHammerDataValue || HammerCore.StoneHammerDataValue == -1) {
  67. IsStone = true;
  68. NotHammer = false;
  69. horizpower = HammerCore.Stonehorizpower;
  70. vertpower = HammerCore.Stonevertpower;
  71. log.info("Hit with stone hammer.");
  72. }
  73. }
  74. else if(itemid == HammerCore.IronHammerID) {
  75. if (itemdata == HammerCore.IronHammerDataValue || HammerCore.IronHammerDataValue == -1) {
  76. IsIron = true;
  77. NotHammer = false;
  78. horizpower = HammerCore.Ironhorizpower;
  79. vertpower = HammerCore.Ironvertpower;
  80. log.info("Hit with iron hammer.");
  81. }
  82. }
  83. else if(itemid == HammerCore.GoldHammerID) {
  84. if (itemdata == HammerCore.GoldHammerDataValue || HammerCore.GoldHammerDataValue == -1) {
  85. IsGold = true;
  86. NotHammer = false;
  87. horizpower = HammerCore.Goldhorizpower;
  88. vertpower = HammerCore.Goldvertpower;
  89. log.info("Hit with gold hammer.");
  90. }
  91. }
  92. else if(itemid == HammerCore.DiamondHammerID) {
  93. log.info("Hand id is diamonond hammer id.");
  94. if (itemdata == HammerCore.DiamondHammerDataValue || HammerCore.DiamondHammerDataValue == -1) {
  95. IsDiamond = true;
  96. NotHammer = false;
  97. horizpower = HammerCore.Diamondhorizpower;
  98. vertpower = HammerCore.Diamondvertpower;
  99. log.info("Hit with diamond hammer.");
  100. }
  101. }
  102. if (NotHammer == false) {
  103. LivingEntity livingattacker = (LivingEntity) event2.getDamager();
  104. float pitch = livingattacker.getEyeLocation().getPitch();
  105. float multiplier = horizpower * (90.0F + pitch) / 40.0F;
  106. float vertPower = vertpower;
  107. Vector v = target.getVelocity().setY(vertPower).add(attacker.getLocation().getDirection().setY(0).normalize().multiply(multiplier));
  108. if (event.getEntity() instanceof org.bukkit.entity.Giant) {
  109. v.multiply(.25);
  110. }
  111. target.setVelocity(v);
  112. player.sendMessage("You send the taget flying!");
  113. }
  114. }
  115. }
  116. }
  117. }
Add Comment
Please, Sign In to add comment