diff options
author | Thinkofdeath <thinkofdeath@spigotmc.org> | 2014-11-26 08:32:16 +1100 |
---|---|---|
committer | md_5 <git@md-5.net> | 2014-11-28 17:16:30 +1100 |
commit | 24557bc2b37deb6a0edf497d547471832457b1dd (patch) | |
tree | c560572889a3b0b34964a0cddb35dc87fda3c914 /src/main/java/net/minecraft/server/EntityWolf.java | |
parent | a4805dbd77da057cc1ea0bf344379bc6e53ca1f6 (diff) | |
download | craftbukkit-24557bc2b37deb6a0edf497d547471832457b1dd.tar craftbukkit-24557bc2b37deb6a0edf497d547471832457b1dd.tar.gz craftbukkit-24557bc2b37deb6a0edf497d547471832457b1dd.tar.lz craftbukkit-24557bc2b37deb6a0edf497d547471832457b1dd.tar.xz craftbukkit-24557bc2b37deb6a0edf497d547471832457b1dd.zip |
Update to Minecraft 1.8
For more information please see http://www.spigotmc.org/
Diffstat (limited to 'src/main/java/net/minecraft/server/EntityWolf.java')
-rw-r--r-- | src/main/java/net/minecraft/server/EntityWolf.java | 379 |
1 files changed, 0 insertions, 379 deletions
diff --git a/src/main/java/net/minecraft/server/EntityWolf.java b/src/main/java/net/minecraft/server/EntityWolf.java deleted file mode 100644 index 8f1ebf2e..00000000 --- a/src/main/java/net/minecraft/server/EntityWolf.java +++ /dev/null @@ -1,379 +0,0 @@ -package net.minecraft.server; - -// CraftBukkit start -import org.bukkit.craftbukkit.event.CraftEventFactory; -import org.bukkit.event.entity.EntityTargetEvent.TargetReason; -// CraftBukkit end - -public class EntityWolf extends EntityTameableAnimal { - - private float bq; - private float br; - private boolean bs; - private boolean bt; - private float bu; - private float bv; - - public EntityWolf(World world) { - super(world); - this.a(0.6F, 0.8F); - this.getNavigation().a(true); - this.goalSelector.a(1, new PathfinderGoalFloat(this)); - this.goalSelector.a(2, this.bp); - this.goalSelector.a(3, new PathfinderGoalLeapAtTarget(this, 0.4F)); - this.goalSelector.a(4, new PathfinderGoalMeleeAttack(this, 1.0D, true)); - this.goalSelector.a(5, new PathfinderGoalFollowOwner(this, 1.0D, 10.0F, 2.0F)); - this.goalSelector.a(6, new PathfinderGoalBreed(this, 1.0D)); - this.goalSelector.a(7, new PathfinderGoalRandomStroll(this, 1.0D)); - this.goalSelector.a(8, new PathfinderGoalBeg(this, 8.0F)); - this.goalSelector.a(9, new PathfinderGoalLookAtPlayer(this, EntityHuman.class, 8.0F)); - this.goalSelector.a(9, new PathfinderGoalRandomLookaround(this)); - this.targetSelector.a(1, new PathfinderGoalOwnerHurtByTarget(this)); - this.targetSelector.a(2, new PathfinderGoalOwnerHurtTarget(this)); - this.targetSelector.a(3, new PathfinderGoalHurtByTarget(this, true)); - this.targetSelector.a(4, new PathfinderGoalRandomTargetNonTamed(this, EntitySheep.class, 200, false)); - this.setTamed(false); - } - - protected void aD() { - super.aD(); - this.getAttributeInstance(GenericAttributes.d).setValue(0.30000001192092896D); - if (this.isTamed()) { - this.getAttributeInstance(GenericAttributes.maxHealth).setValue(20.0D); - } else { - this.getAttributeInstance(GenericAttributes.maxHealth).setValue(8.0D); - } - } - - public boolean bk() { - return true; - } - - public void setGoalTarget(EntityLiving entityliving) { - super.setGoalTarget(entityliving); - if (entityliving == null) { - this.setAngry(false); - } else if (!this.isTamed()) { - this.setAngry(true); - } - } - - protected void bp() { - this.datawatcher.watch(18, Float.valueOf(this.getHealth())); - } - - protected void c() { - super.c(); - this.datawatcher.a(18, new Float(this.getHealth())); - this.datawatcher.a(19, new Byte((byte) 0)); - this.datawatcher.a(20, new Byte((byte) BlockCloth.b(1))); - } - - protected void a(int i, int j, int k, Block block) { - this.makeSound("mob.wolf.step", 0.15F, 1.0F); - } - - public void b(NBTTagCompound nbttagcompound) { - super.b(nbttagcompound); - nbttagcompound.setBoolean("Angry", this.isAngry()); - nbttagcompound.setByte("CollarColor", (byte) this.getCollarColor()); - } - - public void a(NBTTagCompound nbttagcompound) { - super.a(nbttagcompound); - this.setAngry(nbttagcompound.getBoolean("Angry")); - if (nbttagcompound.hasKeyOfType("CollarColor", 99)) { - this.setCollarColor(nbttagcompound.getByte("CollarColor")); - } - } - - protected String t() { - // CraftBukkit - (getFloat(18) < 10) -> (getFloat(18) < this.getMaxHealth() / 2) - return this.isAngry() ? "mob.wolf.growl" : (this.random.nextInt(3) == 0 ? (this.isTamed() && this.datawatcher.getFloat(18) < (this.getMaxHealth() / 2) ? "mob.wolf.whine" : "mob.wolf.panting") : "mob.wolf.bark"); - } - - protected String aT() { - return "mob.wolf.hurt"; - } - - protected String aU() { - return "mob.wolf.death"; - } - - protected float bf() { - return 0.4F; - } - - protected Item getLoot() { - return Item.getById(-1); - } - - public void e() { - super.e(); - if (!this.world.isStatic && this.bs && !this.bt && !this.bS() && this.onGround) { - this.bt = true; - this.bu = 0.0F; - this.bv = 0.0F; - this.world.broadcastEntityEffect(this, (byte) 8); - } - } - - public void h() { - super.h(); - this.br = this.bq; - if (this.ck()) { - this.bq += (1.0F - this.bq) * 0.4F; - } else { - this.bq += (0.0F - this.bq) * 0.4F; - } - - if (this.ck()) { - this.g = 10; - } - - if (this.L()) { - this.bs = true; - this.bt = false; - this.bu = 0.0F; - this.bv = 0.0F; - } else if ((this.bs || this.bt) && this.bt) { - if (this.bu == 0.0F) { - this.makeSound("mob.wolf.shake", this.bf(), (this.random.nextFloat() - this.random.nextFloat()) * 0.2F + 1.0F); - } - - this.bv = this.bu; - this.bu += 0.05F; - if (this.bv >= 2.0F) { - this.bs = false; - this.bt = false; - this.bv = 0.0F; - this.bu = 0.0F; - } - - if (this.bu > 0.4F) { - float f = (float) this.boundingBox.b; - int i = (int) (MathHelper.sin((this.bu - 0.4F) * 3.1415927F) * 7.0F); - - for (int j = 0; j < i; ++j) { - float f1 = (this.random.nextFloat() * 2.0F - 1.0F) * this.width * 0.5F; - float f2 = (this.random.nextFloat() * 2.0F - 1.0F) * this.width * 0.5F; - - this.world.addParticle("splash", this.locX + (double) f1, (double) (f + 0.8F), this.locZ + (double) f2, this.motX, this.motY, this.motZ); - } - } - } - } - - public float getHeadHeight() { - return this.length * 0.8F; - } - - public int x() { - return this.isSitting() ? 20 : super.x(); - } - - public boolean damageEntity(DamageSource damagesource, float f) { - if (this.isInvulnerable()) { - return false; - } else { - Entity entity = damagesource.getEntity(); - - this.bp.setSitting(false); - if (entity != null && !(entity instanceof EntityHuman) && !(entity instanceof EntityArrow)) { - f = (f + 1.0F) / 2.0F; - } - - return super.damageEntity(damagesource, f); - } - } - - public boolean n(Entity entity) { - int i = this.isTamed() ? 4 : 2; - - return entity.damageEntity(DamageSource.mobAttack(this), (float) i); - } - - public void setTamed(boolean flag) { - super.setTamed(flag); - if (flag) { - this.getAttributeInstance(GenericAttributes.maxHealth).setValue(20.0D); - } else { - this.getAttributeInstance(GenericAttributes.maxHealth).setValue(8.0D); - } - } - - public boolean a(EntityHuman entityhuman) { - ItemStack itemstack = entityhuman.inventory.getItemInHand(); - - if (this.isTamed()) { - if (itemstack != null) { - if (itemstack.getItem() instanceof ItemFood) { - ItemFood itemfood = (ItemFood) itemstack.getItem(); - - if (itemfood.i() && this.datawatcher.getFloat(18) < 20.0F) { - if (!entityhuman.abilities.canInstantlyBuild) { - --itemstack.count; - } - - this.heal((float) itemfood.getNutrition(itemstack), org.bukkit.event.entity.EntityRegainHealthEvent.RegainReason.EATING); // CraftBukkit - if (itemstack.count <= 0) { - entityhuman.inventory.setItem(entityhuman.inventory.itemInHandIndex, (ItemStack) null); - } - - return true; - } - } else if (itemstack.getItem() == Items.INK_SACK) { - int i = BlockCloth.b(itemstack.getData()); - - if (i != this.getCollarColor()) { - this.setCollarColor(i); - if (!entityhuman.abilities.canInstantlyBuild && --itemstack.count <= 0) { - entityhuman.inventory.setItem(entityhuman.inventory.itemInHandIndex, (ItemStack) null); - } - - return true; - } - } - } - - if (this.e(entityhuman) && !this.world.isStatic && !this.c(itemstack)) { - this.bp.setSitting(!this.isSitting()); - this.bc = false; - this.setPathEntity((PathEntity) null); - this.setTarget((Entity) null); - // CraftBukkit start - if (this.getGoalTarget() != null) { - CraftEventFactory.callEntityTargetEvent(this, null, TargetReason.FORGOT_TARGET); - } - // CraftBukkit end - this.setGoalTarget((EntityLiving) null); - } - } else if (itemstack != null && itemstack.getItem() == Items.BONE && !this.isAngry()) { - if (!entityhuman.abilities.canInstantlyBuild) { - --itemstack.count; - } - - if (itemstack.count <= 0) { - entityhuman.inventory.setItem(entityhuman.inventory.itemInHandIndex, (ItemStack) null); - } - - if (!this.world.isStatic) { - // CraftBukkit - added event call and isCancelled check. - if (this.random.nextInt(3) == 0 && !CraftEventFactory.callEntityTameEvent(this, entityhuman).isCancelled()) { - this.setTamed(true); - this.setPathEntity((PathEntity) null); - // CraftBukkit start - if (this.getGoalTarget() != null) { - CraftEventFactory.callEntityTargetEvent(this, null, TargetReason.FORGOT_TARGET); - } - // CraftBukkit end - this.setGoalTarget((EntityLiving) null); - this.bp.setSitting(true); - this.setHealth(this.getMaxHealth()); // CraftBukkit - 20.0 -> getMaxHealth() - this.setOwnerUUID(entityhuman.getUniqueID().toString()); - this.i(true); - this.world.broadcastEntityEffect(this, (byte) 7); - } else { - this.i(false); - this.world.broadcastEntityEffect(this, (byte) 6); - } - } - - return true; - } - - return super.a(entityhuman); - } - - public boolean c(ItemStack itemstack) { - return itemstack == null ? false : (!(itemstack.getItem() instanceof ItemFood) ? false : ((ItemFood) itemstack.getItem()).i()); - } - - public int bB() { - return 8; - } - - public boolean isAngry() { - return (this.datawatcher.getByte(16) & 2) != 0; - } - - public void setAngry(boolean flag) { - byte b0 = this.datawatcher.getByte(16); - - if (flag) { - this.datawatcher.watch(16, Byte.valueOf((byte) (b0 | 2))); - } else { - this.datawatcher.watch(16, Byte.valueOf((byte) (b0 & -3))); - } - } - - public int getCollarColor() { - return this.datawatcher.getByte(20) & 15; - } - - public void setCollarColor(int i) { - this.datawatcher.watch(20, Byte.valueOf((byte) (i & 15))); - } - - public EntityWolf b(EntityAgeable entityageable) { - EntityWolf entitywolf = new EntityWolf(this.world); - String s = this.getOwnerUUID(); - - if (s != null && s.trim().length() > 0) { - entitywolf.setOwnerUUID(s); - entitywolf.setTamed(true); - } - - return entitywolf; - } - - public void m(boolean flag) { - if (flag) { - this.datawatcher.watch(19, Byte.valueOf((byte) 1)); - } else { - this.datawatcher.watch(19, Byte.valueOf((byte) 0)); - } - } - - public boolean mate(EntityAnimal entityanimal) { - if (entityanimal == this) { - return false; - } else if (!this.isTamed()) { - return false; - } else if (!(entityanimal instanceof EntityWolf)) { - return false; - } else { - EntityWolf entitywolf = (EntityWolf) entityanimal; - - return !entitywolf.isTamed() ? false : (entitywolf.isSitting() ? false : this.ce() && entitywolf.ce()); - } - } - - public boolean ck() { - return this.datawatcher.getByte(19) == 1; - } - - protected boolean isTypeNotPersistent() { - return !this.isTamed() /*&& this.ticksLived > 2400*/; // CraftBukkit - } - - public boolean a(EntityLiving entityliving, EntityLiving entityliving1) { - if (!(entityliving instanceof EntityCreeper) && !(entityliving instanceof EntityGhast)) { - if (entityliving instanceof EntityWolf) { - EntityWolf entitywolf = (EntityWolf) entityliving; - - if (entitywolf.isTamed() && entitywolf.getOwner() == entityliving1) { - return false; - } - } - - return entityliving instanceof EntityHuman && entityliving1 instanceof EntityHuman && !((EntityHuman) entityliving1).a((EntityHuman) entityliving) ? false : !(entityliving instanceof EntityHorse) || !((EntityHorse) entityliving).isTame(); - } else { - return false; - } - } - - public EntityAgeable createChild(EntityAgeable entityageable) { - return this.b(entityageable); - } -} |