protected void updateLeashedState() { if (this.field_110170_bx != null) { this.recreateLeash(); } if (this.isLeashed) { if (this.leashedToEntity == null || this.leashedToEntity.isDead) { this.worldObj.getServer().getPluginManager().callEvent(new EntityUnleashEvent(this.getBukkitEntity(), UnleashReason.HOLDER_GONE)); // CraftBukkit this.clearLeashed(true, true); } } }
protected void cP() { if (this.bF != null) { this.cU(); } if (this.bD) { if (!this.isAlive()) { this.world.getServer().getPluginManager().callEvent(new EntityUnleashEvent(this.getBukkitEntity(), UnleashReason.PLAYER_UNLEASH)); // CraftBukkit this.unleash(true, true); } if (this.leashHolder == null || this.leashHolder.dead) { this.world.getServer().getPluginManager().callEvent(new EntityUnleashEvent(this.getBukkitEntity(), UnleashReason.HOLDER_GONE)); // CraftBukkit this.unleash(true, true); } } }
public boolean init(Expression<?>[] e, int matchedPattern, Kleenean isDelayed, ParseResult parser) { if (!ScriptLoader.isCurrentEvent(EntityUnleashEvent.class)) { Skript.error("You can not use UnleashHitch expression in any event but on entity unleash!"); return false; } setTime(1); return true; }
@Nullable protected Entity[] get(Event e) { try { return new Entity[]{((LivingEntity) ((EntityUnleashEvent)e).getEntity()).getLeashHolder()}; } catch (IllegalStateException error) {} return null; }
public boolean init(Expression<?>[] e, int matchedPattern, Kleenean isDelayed, ParseResult parser) { if (!ScriptLoader.isCurrentEvent(EntityUnleashEvent.class)) { Skript.error("You can not use UnleashReason expression in any event but on entity unleash!"); return false; } return true; }
protected void bL() { if (this.bx != null) { this.bP(); } if (this.bv) { if (this.bw == null || this.bw.dead) { this.world.getServer().getPluginManager().callEvent(new EntityUnleashEvent(this.getBukkitEntity(), UnleashReason.HOLDER_GONE)); // CraftBukkit this.unleash(true, true); } } }
private void bP() { if (this.bv && this.bx != null) { if (this.bx.hasKeyOfType("UUIDMost", 4) && this.bx.hasKeyOfType("UUIDLeast", 4)) { UUID uuid = new UUID(this.bx.getLong("UUIDMost"), this.bx.getLong("UUIDLeast")); List list = this.world.a(EntityLiving.class, this.boundingBox.grow(10.0D, 10.0D, 10.0D)); Iterator iterator = list.iterator(); while (iterator.hasNext()) { EntityLiving entityliving = (EntityLiving) iterator.next(); if (entityliving.getUniqueID().equals(uuid)) { this.bw = entityliving; break; } } } else if (this.bx.hasKeyOfType("X", 99) && this.bx.hasKeyOfType("Y", 99) && this.bx.hasKeyOfType("Z", 99)) { int i = this.bx.getInt("X"); int j = this.bx.getInt("Y"); int k = this.bx.getInt("Z"); EntityLeash entityleash = EntityLeash.b(this.world, i, j, k); if (entityleash == null) { entityleash = EntityLeash.a(this.world, i, j, k); } this.bw = entityleash; } else { this.world.getServer().getPluginManager().callEvent(new EntityUnleashEvent(this.getBukkitEntity(), UnleashReason.UNKNOWN)); // CraftBukkit this.unleash(false, true); } } this.bx = null; }
protected void bF() { if (this.bx != null) { this.bJ(); } if (this.bv) { if (this.bw == null || this.bw.dead) { this.world.getServer().getPluginManager().callEvent(new EntityUnleashEvent(this.getBukkitEntity(), UnleashReason.HOLDER_GONE)); // CraftBukkit this.unleash(true, true); } } }
private void bJ() { if (this.bv && this.bx != null) { if (this.bx.hasKey("UUIDMost") && this.bx.hasKey("UUIDLeast")) { UUID uuid = new UUID(this.bx.getLong("UUIDMost"), this.bx.getLong("UUIDLeast")); List list = this.world.a(EntityLiving.class, this.boundingBox.grow(10.0D, 10.0D, 10.0D)); Iterator iterator = list.iterator(); while (iterator.hasNext()) { EntityLiving entityliving = (EntityLiving) iterator.next(); if (entityliving.getUniqueID().equals(uuid)) { this.bw = entityliving; break; } } } else if (this.bx.hasKey("X") && this.bx.hasKey("Y") && this.bx.hasKey("Z")) { int i = this.bx.getInt("X"); int j = this.bx.getInt("Y"); int k = this.bx.getInt("Z"); EntityLeash entityleash = EntityLeash.b(this.world, i, j, k); if (entityleash == null) { entityleash = EntityLeash.a(this.world, i, j, k); } this.bw = entityleash; } else { this.world.getServer().getPluginManager().callEvent(new EntityUnleashEvent(this.getBukkitEntity(), UnleashReason.UNKNOWN)); // CraftBukkit this.unleash(false, true); } } this.bx = null; }
private void cU() { if (this.bD && this.bF != null) { if (this.bF.b("UUID")) { UUID uuid = this.bF.a("UUID"); List list = this.world.a(EntityLiving.class, this.getBoundingBox().g(10.0D)); Iterator iterator = list.iterator(); while (iterator.hasNext()) { EntityLiving entityliving = (EntityLiving) iterator.next(); if (entityliving.getUniqueID().equals(uuid)) { this.leashHolder = entityliving; break; } } } else if (this.bF.hasKeyOfType("X", 99) && this.bF.hasKeyOfType("Y", 99) && this.bF.hasKeyOfType("Z", 99)) { BlockPosition blockposition = new BlockPosition(this.bF.getInt("X"), this.bF.getInt("Y"), this.bF.getInt("Z")); EntityLeash entityleash = EntityLeash.b(this.world, blockposition); if (entityleash == null) { entityleash = EntityLeash.a(this.world, blockposition); } this.leashHolder = entityleash; } else { this.world.getServer().getPluginManager().callEvent(new EntityUnleashEvent(this.getBukkitEntity(), UnleashReason.UNKNOWN)); // CraftBukkit this.unleash(false, true); } } this.bF = null; }
public Class<? extends EntityUnleashEvent.UnleashReason> getReturnType() { return EntityUnleashEvent.UnleashReason.class; }
@Nullable protected EntityUnleashEvent.UnleashReason[] get(Event e) { return new EntityUnleashEvent.UnleashReason[]{((EntityUnleashEvent)e).getReason()}; }
protected void bL() { super.bL(); if (this.bN() && this.getLeashHolder() != null && this.getLeashHolder().world == this.world) { Entity entity = this.getLeashHolder(); this.a((int) entity.locX, (int) entity.locY, (int) entity.locZ, 5); float f = this.e(entity); if (this instanceof EntityTameableAnimal && ((EntityTameableAnimal) this).isSitting()) { if (f > 10.0F) { this.world.getServer().getPluginManager().callEvent(new EntityUnleashEvent(this.getBukkitEntity(), EntityUnleashEvent.UnleashReason.DISTANCE)); // CraftBukkit this.unleash(true, true); } return; } if (!this.bt) { this.goalSelector.a(2, this.bs); this.getNavigation().a(false); this.bt = true; } this.o(f); if (f > 4.0F) { this.getNavigation().a(entity, 1.0D); } if (f > 6.0F) { double d0 = (entity.locX - this.locX) / (double) f; double d1 = (entity.locY - this.locY) / (double) f; double d2 = (entity.locZ - this.locZ) / (double) f; this.motX += d0 * Math.abs(d0) * 0.4D; this.motY += d1 * Math.abs(d1) * 0.4D; this.motZ += d2 * Math.abs(d2) * 0.4D; } if (f > 10.0F) { this.world.getServer().getPluginManager().callEvent(new EntityUnleashEvent(this.getBukkitEntity(), EntityUnleashEvent.UnleashReason.DISTANCE)); // CraftBukkit this.unleash(true, true); } } else if (!this.bN() && this.bt) { this.bt = false; this.goalSelector.a(this.bs); this.getNavigation().a(true); this.bX(); } }
protected void bF() { super.bF(); if (this.bH() && this.getLeashHolder() != null && this.getLeashHolder().world == this.world) { Entity entity = this.getLeashHolder(); this.b((int) entity.locX, (int) entity.locY, (int) entity.locZ, 5); float f = this.d(entity); if (this instanceof EntityTameableAnimal && ((EntityTameableAnimal) this).isSitting()) { if (f > 10.0F) { this.world.getServer().getPluginManager().callEvent(new EntityUnleashEvent(this.getBukkitEntity(), EntityUnleashEvent.UnleashReason.DISTANCE)); // CraftBukkit this.unleash(true, true); } return; } if (!this.bt) { this.goalSelector.a(2, this.bs); this.getNavigation().a(false); this.bt = true; } this.o(f); if (f > 4.0F) { this.getNavigation().a(entity, 1.0D); } if (f > 6.0F) { double d0 = (entity.locX - this.locX) / (double) f; double d1 = (entity.locY - this.locY) / (double) f; double d2 = (entity.locZ - this.locZ) / (double) f; this.motX += d0 * Math.abs(d0) * 0.4D; this.motY += d1 * Math.abs(d1) * 0.4D; this.motZ += d2 * Math.abs(d2) * 0.4D; } if (f > 10.0F) { this.world.getServer().getPluginManager().callEvent(new EntityUnleashEvent(this.getBukkitEntity(), EntityUnleashEvent.UnleashReason.DISTANCE)); // CraftBukkit this.unleash(true, true); } } else if (!this.bH() && this.bt) { this.bt = false; this.goalSelector.a(this.bs); this.getNavigation().a(true); this.bR(); } }
private void recreateLeash() { if (this.isLeashed && this.field_110170_bx != null) { if (this.field_110170_bx.hasKey("UUIDMost", 4) && this.field_110170_bx.hasKey("UUIDLeast", 4)) { UUID uuid = new UUID(this.field_110170_bx.getLong("UUIDMost"), this.field_110170_bx.getLong("UUIDLeast")); List list = this.worldObj.getEntitiesWithinAABB(EntityLivingBase.class, this.boundingBox.expand(10.0D, 10.0D, 10.0D)); Iterator iterator = list.iterator(); while (iterator.hasNext()) { EntityLivingBase entitylivingbase = (EntityLivingBase)iterator.next(); if (entitylivingbase.getUniqueID().equals(uuid)) { this.leashedToEntity = entitylivingbase; break; } } } else if (this.field_110170_bx.hasKey("X", 99) && this.field_110170_bx.hasKey("Y", 99) && this.field_110170_bx.hasKey("Z", 99)) { int i = this.field_110170_bx.getInteger("X"); int j = this.field_110170_bx.getInteger("Y"); int k = this.field_110170_bx.getInteger("Z"); EntityLeashKnot entityleashknot = EntityLeashKnot.getKnotForBlock(this.worldObj, i, j, k); if (entityleashknot == null) { entityleashknot = EntityLeashKnot.func_110129_a(this.worldObj, i, j, k); } this.leashedToEntity = entityleashknot; } else { this.worldObj.getServer().getPluginManager().callEvent(new EntityUnleashEvent(this.getBukkitEntity(), UnleashReason.UNKNOWN)); // CraftBukkit this.clearLeashed(false, true); } } this.field_110170_bx = null; }
protected void updateLeashedState() { super.updateLeashedState(); if (this.getLeashed() && this.getLeashedToEntity() != null && this.getLeashedToEntity().worldObj == this.worldObj) { Entity entity = this.getLeashedToEntity(); this.setHomeArea((int)entity.posX, (int)entity.posY, (int)entity.posZ, 5); float f = this.getDistanceToEntity(entity); if (this instanceof EntityTameable && ((EntityTameable)this).isSitting()) { if (f > 10.0F) { this.worldObj.getServer().getPluginManager().callEvent(new EntityUnleashEvent(this.getBukkitEntity(), EntityUnleashEvent.UnleashReason.DISTANCE)); // CraftBukkit this.clearLeashed(true, true); } return; } if (!this.field_110180_bt) { this.tasks.addTask(2, this.field_110178_bs); this.getNavigator().setAvoidsWater(false); this.field_110180_bt = true; } this.func_142017_o(f); if (f > 4.0F) { this.getNavigator().tryMoveToEntityLiving(entity, 1.0D); } if (f > 6.0F) { double d0 = (entity.posX - this.posX) / (double)f; double d1 = (entity.posY - this.posY) / (double)f; double d2 = (entity.posZ - this.posZ) / (double)f; this.motionX += d0 * Math.abs(d0) * 0.4D; this.motionY += d1 * Math.abs(d1) * 0.4D; this.motionZ += d2 * Math.abs(d2) * 0.4D; } if (f > 10.0F) { this.worldObj.getServer().getPluginManager().callEvent(new EntityUnleashEvent(this.getBukkitEntity(), EntityUnleashEvent.UnleashReason.DISTANCE)); // CraftBukkit this.clearLeashed(true, true); } } else if (!this.getLeashed() && this.field_110180_bt) { this.field_110180_bt = false; this.tasks.removeTask(this.field_110178_bs); this.getNavigator().setAvoidsWater(true); this.detachHome(); } }
public PoreEntityUnleashEvent(org.spongepowered.api.event.entity.EntityUnleashEvent handle) { super(null, null); this.handle = checkNotNull(handle, "handle"); }
public org.spongepowered.api.event.entity.EntityUnleashEvent getHandle() { return this.handle; }
public EntityUnleashEvent(Entity entity, EntityUnleashEvent.UnleashReason reason) { }
public EntityUnleashEvent.UnleashReason getReason() { return null; }
protected void cP() { super.cP(); if (this.isLeashed() && this.getLeashHolder() != null && this.getLeashHolder().world == this.world) { Entity entity = this.getLeashHolder(); this.a(new BlockPosition((int) entity.locX, (int) entity.locY, (int) entity.locZ), 5); float f = this.g(entity); if (this instanceof EntityTameableAnimal && ((EntityTameableAnimal) this).isSitting()) { if (f > 10.0F) { this.world.getServer().getPluginManager().callEvent(new EntityUnleashEvent(this.getBukkitEntity(), EntityUnleashEvent.UnleashReason.DISTANCE)); // CraftBukkit this.unleash(true, true); } return; } if (!this.bw) { this.goalSelector.a(2, this.c); if (this.getNavigation() instanceof Navigation) { this.bx = this.a(PathType.WATER); this.a(PathType.WATER, 0.0F); } this.bw = true; } this.q(f); if (f > 4.0F) { this.getNavigation().a(entity, 1.0D); } if (f > 6.0F) { double d0 = (entity.locX - this.locX) / (double) f; double d1 = (entity.locY - this.locY) / (double) f; double d2 = (entity.locZ - this.locZ) / (double) f; this.motX += d0 * Math.abs(d0) * 0.4D; this.motY += d1 * Math.abs(d1) * 0.4D; this.motZ += d2 * Math.abs(d2) * 0.4D; } if (f > 10.0F) { this.world.getServer().getPluginManager().callEvent(new EntityUnleashEvent(this.getBukkitEntity(), EntityUnleashEvent.UnleashReason.DISTANCE)); // CraftBukkit this.unleash(true, true); } } else if (!this.isLeashed() && this.bw) { this.bw = false; this.goalSelector.a(this.c); if (this.getNavigation() instanceof Navigation) { this.a(PathType.WATER, this.bx); } this.cY(); } }