Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.codex_arcanum.hammertime;
- import org.bukkit.entity.Entity;
- import org.bukkit.event.entity.EntityListener;
- import org.bukkit.event.entity.EntityDamageByEntityEvent;
- import org.bukkit.entity.LivingEntity;
- import org.bukkit.entity.Player;
- import org.bukkit.util.Vector;
- import org.bukkit.inventory.ItemStack;
- import org.bukkit.plugin.Plugin;
- import java.util.logging.Logger;
- import org.bukkit.event.entity.EntityDamageEvent;
- public class HTEntityListener extends EntityListener {
- public HammerCore plugin;
- public HTEntityListener(HammerCore plugin) {
- this.plugin = plugin;
- }
- @Override
- public void onEntityDamage(EntityDamageEvent event) {
- if (event instanceof EntityDamageByEntityEvent) {
- EntityDamageByEntityEvent event2 = (EntityDamageByEntityEvent)event;
- Boolean IsWood = false;
- Boolean IsStone = false;
- Boolean IsIron = false;
- Boolean IsGold = false;
- Boolean IsDiamond = false;
- Boolean NotHammer = true;
- float horizpower = 0;
- float vertpower = 0;
- final Entity target = event.getEntity();
- Entity attacker = event2.getDamager();
- Logger log = Logger.getLogger("Minecraft");
- if (!(target instanceof LivingEntity)) {
- return;
- }
- if (!(attacker instanceof Player)) {
- return;
- }
- else {
- Player player = (Player) event2.getDamager();
- ItemStack iteminhand = null;
- iteminhand = player.getItemInHand();
- int itemdata = player.getItemInHand().getDurability();
- int itemid = player.getItemInHand().getTypeId();
- log.info("Player hit with itemid" + itemid + " and datavalue" + itemdata);
- if (HammerCore.Ultraitems == true && iteminhand.getTypeId() != 318) {
- return;
- }
- //Check for hammers in hand.
- if (itemid == HammerCore.WoodHammerID) {
- if (itemdata == HammerCore.WoodHammerDataValue || HammerCore.WoodHammerDataValue == -1) {
- IsWood = true;
- NotHammer = false;
- horizpower = HammerCore.woodhorizpower;
- vertpower = HammerCore.woodvertpower;
- log.info("Hit with wooden hammer.");
- }
- }
- else if(itemid == HammerCore.StoneHammerID) {
- if (itemdata == HammerCore.StoneHammerDataValue || HammerCore.StoneHammerDataValue == -1) {
- IsStone = true;
- NotHammer = false;
- horizpower = HammerCore.Stonehorizpower;
- vertpower = HammerCore.Stonevertpower;
- log.info("Hit with stone hammer.");
- }
- }
- else if(itemid == HammerCore.IronHammerID) {
- if (itemdata == HammerCore.IronHammerDataValue || HammerCore.IronHammerDataValue == -1) {
- IsIron = true;
- NotHammer = false;
- horizpower = HammerCore.Ironhorizpower;
- vertpower = HammerCore.Ironvertpower;
- log.info("Hit with iron hammer.");
- }
- }
- else if(itemid == HammerCore.GoldHammerID) {
- if (itemdata == HammerCore.GoldHammerDataValue || HammerCore.GoldHammerDataValue == -1) {
- IsGold = true;
- NotHammer = false;
- horizpower = HammerCore.Goldhorizpower;
- vertpower = HammerCore.Goldvertpower;
- log.info("Hit with gold hammer.");
- }
- }
- else if(itemid == HammerCore.DiamondHammerID) {
- log.info("Hand id is diamonond hammer id.");
- if (itemdata == HammerCore.DiamondHammerDataValue || HammerCore.DiamondHammerDataValue == -1) {
- IsDiamond = true;
- NotHammer = false;
- horizpower = HammerCore.Diamondhorizpower;
- vertpower = HammerCore.Diamondvertpower;
- log.info("Hit with diamond hammer.");
- }
- }
- if (NotHammer == false) {
- LivingEntity livingattacker = (LivingEntity) event2.getDamager();
- float pitch = livingattacker.getEyeLocation().getPitch();
- float multiplier = horizpower * (90.0F + pitch) / 40.0F;
- float vertPower = vertpower;
- Vector v = target.getVelocity().setY(vertPower).add(attacker.getLocation().getDirection().setY(0).normalize().multiply(multiplier));
- if (event.getEntity() instanceof org.bukkit.entity.Giant) {
- v.multiply(.25);
- }
- target.setVelocity(v);
- player.sendMessage("You send the taget flying!");
- }
- }
- }
- }
- }
Add Comment
Please, Sign In to add comment