diff --git a/pom.xml b/pom.xml index 6a75d754ca..57d133b8cd 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ org.bukkit craftbukkit jar - 1.4.6-R0.4-SNAPSHOT + 1.4.7-R0.1-SNAPSHOT CraftBukkit http://www.bukkit.org @@ -12,8 +12,8 @@ UTF-8 unknown 4.11 - 1.4.6 - 1_4_6 + 1.4.7 + 1_4_R1 diff --git a/src/main/java/net/minecraft/server/DedicatedServer.java b/src/main/java/net/minecraft/server/DedicatedServer.java index 9201375674..bd0377ae01 100644 --- a/src/main/java/net/minecraft/server/DedicatedServer.java +++ b/src/main/java/net/minecraft/server/DedicatedServer.java @@ -47,7 +47,7 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer System.setErr(new PrintStream(new LoggerOutputStream(log, Level.SEVERE), true)); // CraftBukkit end - log.info("Starting minecraft server version 1.4.6"); + log.info("Starting minecraft server version 1.4.7"); if (Runtime.getRuntime().maxMemory() / 1024L / 1024L < 512L) { log.warning("To start the server with more ram, launch it as \"java -Xmx1024M -Xms1024M -jar minecraft_server.jar\""); } diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java index 381a6312d4..ebe0ed067c 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -1165,7 +1165,7 @@ public abstract class Entity { // Reset the persistence for tamed animals if (entity instanceof EntityTameableAnimal && !isLevelAtLeast(nbttagcompound, 2) && !nbttagcompound.getBoolean("PersistenceRequired")) { - entity.persistent = !entity.bj(); + entity.persistent = !entity.isTypeNotPersistent(); } } // CraftBukkit end diff --git a/src/main/java/net/minecraft/server/EntityArrow.java b/src/main/java/net/minecraft/server/EntityArrow.java index d35ba4185f..916b9dc91f 100644 --- a/src/main/java/net/minecraft/server/EntityArrow.java +++ b/src/main/java/net/minecraft/server/EntityArrow.java @@ -250,11 +250,10 @@ public class EntityArrow extends Entity implements IProjectile { } } - // CraftBukkit start if (this.shooter != null) { EnchantmentThorns.a(this.shooter, entityliving, this.random); } - // CraftBukkit end + if (this.shooter != null && movingobjectposition.entity != this.shooter && movingobjectposition.entity instanceof EntityHuman && this.shooter instanceof EntityPlayer) { ((EntityPlayer) this.shooter).playerConnection.sendPacket(new Packet70Bed(6, 0)); } diff --git a/src/main/java/net/minecraft/server/EntityCreeper.java b/src/main/java/net/minecraft/server/EntityCreeper.java index ab778b4036..1f64c1f656 100644 --- a/src/main/java/net/minecraft/server/EntityCreeper.java +++ b/src/main/java/net/minecraft/server/EntityCreeper.java @@ -32,7 +32,7 @@ public class EntityCreeper extends EntityMonster { } public int as() { - return this.aG() == null ? 3 : 3 + (this.health - 1); + return this.getGoalTarget() == null ? 3 : 3 + (this.health - 1); } protected void a(float f) { diff --git a/src/main/java/net/minecraft/server/EntityFireworks.java b/src/main/java/net/minecraft/server/EntityFireworks.java index 65b8714cac..64454f5bee 100644 --- a/src/main/java/net/minecraft/server/EntityFireworks.java +++ b/src/main/java/net/minecraft/server/EntityFireworks.java @@ -2,8 +2,8 @@ package net.minecraft.server; public class EntityFireworks extends Entity { - private int a; - public int b; // CraftBukkit - private -> public + private int ticksFlown; + public int expectedLifespan; // CraftBukkit - private -> public public EntityFireworks(World world) { super(world); @@ -11,12 +11,12 @@ public class EntityFireworks extends Entity { } protected void a() { - this.datawatcher.a(8, new ItemStack(0, 0, 0)); + this.datawatcher.a(8, 5); } public EntityFireworks(World world, double d0, double d1, double d2, ItemStack itemstack) { super(world); - this.a = 0; + this.ticksFlown = 0; this.a(0.25F, 0.25F); this.setPosition(d0, d1, d2); this.height = 0.0F; @@ -35,7 +35,7 @@ public class EntityFireworks extends Entity { this.motX = this.random.nextGaussian() * 0.001D; this.motZ = this.random.nextGaussian() * 0.001D; this.motY = 0.05D; - this.b = 10 * i + this.random.nextInt(6) + this.random.nextInt(7); + this.expectedLifespan = 10 * i + this.random.nextInt(6) + this.random.nextInt(7); } public void j_() { @@ -69,25 +69,25 @@ public class EntityFireworks extends Entity { this.pitch = this.lastPitch + (this.pitch - this.lastPitch) * 0.2F; this.yaw = this.lastYaw + (this.yaw - this.lastYaw) * 0.2F; - if (this.a == 0) { + if (this.ticksFlown == 0) { this.world.makeSound(this, "fireworks.launch", 3.0F, 1.0F); } - ++this.a; - if (this.world.isStatic && this.a % 2 < 2) { + ++this.ticksFlown; + if (this.world.isStatic && this.ticksFlown % 2 < 2) { this.world.addParticle("fireworksSpark", this.locX, this.locY - 0.3D, this.locZ, this.random.nextGaussian() * 0.05D, -this.motY * 0.5D, this.random.nextGaussian() * 0.05D); } - if (!this.world.isStatic && this.a > this.b) { + if (!this.world.isStatic && this.ticksFlown > this.expectedLifespan) { this.world.broadcastEntityEffect(this, (byte) 17); this.die(); } } public void b(NBTTagCompound nbttagcompound) { - nbttagcompound.setInt("Life", this.a); - nbttagcompound.setInt("LifeTime", this.b); - ItemStack itemstack = this.datawatcher.f(8); + nbttagcompound.setInt("Life", this.ticksFlown); + nbttagcompound.setInt("LifeTime", this.expectedLifespan); + ItemStack itemstack = this.datawatcher.getItemStack(8); if (itemstack != null) { NBTTagCompound nbttagcompound1 = new NBTTagCompound(); @@ -98,12 +98,12 @@ public class EntityFireworks extends Entity { } public void a(NBTTagCompound nbttagcompound) { - this.a = nbttagcompound.getInt("Life"); - this.b = nbttagcompound.getInt("LifeTime"); + this.ticksFlown = nbttagcompound.getInt("Life"); + this.expectedLifespan = nbttagcompound.getInt("LifeTime"); NBTTagCompound nbttagcompound1 = nbttagcompound.getCompound("FireworksItem"); if (nbttagcompound1 != null) { - ItemStack itemstack = ItemStack.a(nbttagcompound1); + ItemStack itemstack = ItemStack.createStack(nbttagcompound1); if (itemstack != null) { this.datawatcher.watch(8, itemstack); diff --git a/src/main/java/net/minecraft/server/EntityIronGolem.java b/src/main/java/net/minecraft/server/EntityIronGolem.java index e6e260fa83..c0655dfbfc 100644 --- a/src/main/java/net/minecraft/server/EntityIronGolem.java +++ b/src/main/java/net/minecraft/server/EntityIronGolem.java @@ -62,7 +62,7 @@ public class EntityIronGolem extends EntityGolem { protected void o(Entity entity) { if (entity instanceof IMonster && this.aB().nextInt(20) == 0) { - this.b((EntityLiving) entity); + this.setGoalTarget((EntityLiving) entity); } super.o(entity); diff --git a/src/main/java/net/minecraft/server/EntityItem.java b/src/main/java/net/minecraft/server/EntityItem.java index 1cb66dfedc..b8b6d52efb 100644 --- a/src/main/java/net/minecraft/server/EntityItem.java +++ b/src/main/java/net/minecraft/server/EntityItem.java @@ -197,7 +197,7 @@ public class EntityItem extends Entity { // CraftBukkit start if (nbttagcompound1 != null) { - ItemStack itemstack = ItemStack.a(nbttagcompound1); + ItemStack itemstack = ItemStack.createStack(nbttagcompound1); if (itemstack != null) { this.setItemStack(itemstack); } else { @@ -279,7 +279,7 @@ public class EntityItem extends Entity { } public ItemStack getItemStack() { - ItemStack itemstack = this.getDataWatcher().f(10); + ItemStack itemstack = this.getDataWatcher().getItemStack(10); if (itemstack == null) { System.out.println("Item entity " + this.id + " has no item?!"); diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java index 005b861774..7d2e633bf9 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java @@ -76,7 +76,7 @@ public abstract class EntityLiving extends Entity { private Navigation navigation; protected final PathfinderGoalSelector goalSelector; protected final PathfinderGoalSelector targetSelector; - private EntityLiving bN; + private EntityLiving goalTarget; private EntitySenses bO; private float bP; private ChunkCoordinates bQ = new ChunkCoordinates(0, 0, 0); @@ -87,7 +87,7 @@ public abstract class EntityLiving extends Entity { public boolean bq = false; public int br = 0; public boolean canPickUpLoot = false; // CraftBukkit - protected -> public - public boolean persistent = !this.bj(); // CraftBukkit - private -> public, change value + public boolean persistent = !this.isTypeNotPersistent(); // CraftBukkit - private -> public, change value protected int bt; protected double bu; protected double bv; @@ -196,12 +196,12 @@ public abstract class EntityLiving extends Entity { return false; } - public EntityLiving aG() { - return this.bN; + public EntityLiving getGoalTarget() { + return this.goalTarget; } - public void b(EntityLiving entityliving) { - this.bN = entityliving; + public void setGoalTarget(EntityLiving entityliving) { + this.goalTarget = entityliving; } public boolean a(Class oclass) { @@ -1187,7 +1187,7 @@ public abstract class EntityLiving extends Entity { nbttaglist = nbttagcompound.getList("Equipment"); for (i = 0; i < this.equipment.length; ++i) { - this.equipment[i] = ItemStack.a((NBTTagCompound) nbttaglist.get(i)); + this.equipment[i] = ItemStack.createStack((NBTTagCompound) nbttaglist.get(i)); } } @@ -1430,7 +1430,7 @@ public abstract class EntityLiving extends Entity { this.am = true; } - protected boolean bj() { + protected boolean isTypeNotPersistent() { return true; } @@ -1827,7 +1827,7 @@ public abstract class EntityLiving extends Entity { } public int as() { - if (this.aG() == null) { + if (this.getGoalTarget() == null) { return 3; } else { int i = (int) ((float) this.health - (float) this.maxHealth * 0.33F); // this.getMaxHealth() -> this.maxHealth diff --git a/src/main/java/net/minecraft/server/EntityMinecart.java b/src/main/java/net/minecraft/server/EntityMinecart.java index 7ae7129757..712853d1d5 100644 --- a/src/main/java/net/minecraft/server/EntityMinecart.java +++ b/src/main/java/net/minecraft/server/EntityMinecart.java @@ -801,7 +801,7 @@ public class EntityMinecart extends Entity implements IInventory { int j = nbttagcompound1.getByte("Slot") & 255; if (j >= 0 && j < this.items.length) { - this.items[j] = ItemStack.a(nbttagcompound1); + this.items[j] = ItemStack.createStack(nbttagcompound1); } } } diff --git a/src/main/java/net/minecraft/server/EntityOcelot.java b/src/main/java/net/minecraft/server/EntityOcelot.java index ff3aca2324..68b08ae764 100644 --- a/src/main/java/net/minecraft/server/EntityOcelot.java +++ b/src/main/java/net/minecraft/server/EntityOcelot.java @@ -48,7 +48,7 @@ public class EntityOcelot extends EntityTameableAnimal { } } - protected boolean bj() { + protected boolean isTypeNotPersistent() { return !this.isTamed(); } @@ -100,7 +100,7 @@ public class EntityOcelot extends EntityTameableAnimal { if (this.isInvulnerable()) { return false; } else { - this.d.a(false); + this.d.setSitting(false); return super.damageEntity(damagesource, i); } } @@ -114,7 +114,7 @@ public class EntityOcelot extends EntityTameableAnimal { if (this.isTamed()) { if (entityhuman.name.equalsIgnoreCase(this.getOwnerName()) && !this.world.isStatic && !this.c(itemstack)) { - this.d.a(!this.isSitting()); + this.d.setSitting(!this.isSitting()); } } else if (this.e.f() && itemstack != null && itemstack.id == Item.RAW_FISH.id && entityhuman.e(this) < 9.0D) { if (!entityhuman.abilities.canInstantlyBuild) { @@ -132,7 +132,7 @@ public class EntityOcelot extends EntityTameableAnimal { this.setCatType(1 + this.world.random.nextInt(3)); this.setOwnerName(entityhuman.name); this.f(true); - this.d.a(true); + this.d.setSitting(true); this.world.broadcastEntityEffect(this, (byte) 7); } else { this.f(false); diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java index 86e6ea9840..99f12181ed 100644 --- a/src/main/java/net/minecraft/server/EntityPlayer.java +++ b/src/main/java/net/minecraft/server/EntityPlayer.java @@ -617,7 +617,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting { } } - public void m() { + public void triggerHealthUpdate() { this.cl = -99999999; this.lastSentExp = -1; // CraftBukkit - Added to reset } diff --git a/src/main/java/net/minecraft/server/EntityPotion.java b/src/main/java/net/minecraft/server/EntityPotion.java index aa6def05b6..5d402dc8c8 100644 --- a/src/main/java/net/minecraft/server/EntityPotion.java +++ b/src/main/java/net/minecraft/server/EntityPotion.java @@ -138,7 +138,7 @@ public class EntityPotion extends EntityProjectile { public void a(NBTTagCompound nbttagcompound) { super.a(nbttagcompound); if (nbttagcompound.hasKey("Potion")) { - this.c = ItemStack.a(nbttagcompound.getCompound("Potion")); + this.c = ItemStack.createStack(nbttagcompound.getCompound("Potion")); } else { this.setPotionValue(nbttagcompound.getInt("potionValue")); } diff --git a/src/main/java/net/minecraft/server/EntityWitch.java b/src/main/java/net/minecraft/server/EntityWitch.java index 36154225b5..daa9845e59 100644 --- a/src/main/java/net/minecraft/server/EntityWitch.java +++ b/src/main/java/net/minecraft/server/EntityWitch.java @@ -83,9 +83,9 @@ public class EntityWitch extends EntityMonster implements IRangedEntity { short1 = 16307; } else if (this.random.nextFloat() < 0.05F && this.health < this.maxHealth) { // CraftBukkit - this.getMaxHealth -> this.maxHealth short1 = 16341; - } else if (this.random.nextFloat() < 0.25F && this.aG() != null && !this.hasEffect(MobEffectList.FASTER_MOVEMENT) && this.aG().e(this) > 121.0D) { + } else if (this.random.nextFloat() < 0.25F && this.getGoalTarget() != null && !this.hasEffect(MobEffectList.FASTER_MOVEMENT) && this.getGoalTarget().e(this) > 121.0D) { short1 = 16274; - } else if (this.random.nextFloat() < 0.25F && this.aG() != null && !this.hasEffect(MobEffectList.FASTER_MOVEMENT) && this.aG().e(this) > 121.0D) { + } else if (this.random.nextFloat() < 0.25F && this.getGoalTarget() != null && !this.hasEffect(MobEffectList.FASTER_MOVEMENT) && this.getGoalTarget().e(this) > 121.0D) { short1 = 16274; } diff --git a/src/main/java/net/minecraft/server/EntityWither.java b/src/main/java/net/minecraft/server/EntityWither.java index b671bd508a..2dc6e98f72 100644 --- a/src/main/java/net/minecraft/server/EntityWither.java +++ b/src/main/java/net/minecraft/server/EntityWither.java @@ -244,8 +244,8 @@ public class EntityWither extends EntityMonster implements IRangedEntity { } } - if (this.aG() != null) { - this.c(0, this.aG().id); + if (this.getGoalTarget() != null) { + this.c(0, this.getGoalTarget().id); } else { this.c(0, 0); } diff --git a/src/main/java/net/minecraft/server/EntityWolf.java b/src/main/java/net/minecraft/server/EntityWolf.java index 8ee3318087..d413d8e888 100644 --- a/src/main/java/net/minecraft/server/EntityWolf.java +++ b/src/main/java/net/minecraft/server/EntityWolf.java @@ -35,8 +35,8 @@ public class EntityWolf extends EntityTameableAnimal { return true; } - public void b(EntityLiving entityliving) { - super.b(entityliving); + public void setGoalTarget(EntityLiving entityliving) { + super.setGoalTarget(entityliving); if (entityliving instanceof EntityHuman) { this.setAngry(true); } @@ -75,7 +75,7 @@ public class EntityWolf extends EntityTameableAnimal { } } - protected boolean bj() { + protected boolean isTypeNotPersistent() { // CraftBukkit - added && !this.isTamed() return this.isAngry() && !this.isTamed(); } @@ -171,7 +171,7 @@ public class EntityWolf extends EntityTameableAnimal { } else { Entity entity = damagesource.getEntity(); - this.d.a(false); + this.d.setSitting(false); if (entity != null && !(entity instanceof EntityHuman) && !(entity instanceof EntityArrow)) { i = (i + 1) / 2; } @@ -221,7 +221,7 @@ public class EntityWolf extends EntityTameableAnimal { } if (entityhuman.name.equalsIgnoreCase(this.getOwnerName()) && !this.world.isStatic && !this.c(itemstack)) { - this.d.a(!this.isSitting()); + this.d.setSitting(!this.isSitting()); this.bF = false; this.setPathEntity((PathEntity) null); } @@ -240,8 +240,8 @@ public class EntityWolf extends EntityTameableAnimal { boolean updateMaxHealth = this.getMaxHealth() == this.maxHealth; // CraftBukkit this.setTamed(true); this.setPathEntity((PathEntity) null); - this.b((EntityLiving) null); - this.d.a(true); + this.setGoalTarget((EntityLiving) null); + this.d.setSitting(true); // CraftBukkit start if (updateMaxHealth) { this.maxHealth = this.getMaxHealth(); diff --git a/src/main/java/net/minecraft/server/InventoryEnderChest.java b/src/main/java/net/minecraft/server/InventoryEnderChest.java index af7c748dc7..4e379cd763 100644 --- a/src/main/java/net/minecraft/server/InventoryEnderChest.java +++ b/src/main/java/net/minecraft/server/InventoryEnderChest.java @@ -64,7 +64,7 @@ public class InventoryEnderChest extends InventorySubcontainer { int j = nbttagcompound.getByte("Slot") & 255; if (j >= 0 && j < this.getSize()) { - this.setItem(j, ItemStack.a(nbttagcompound)); + this.setItem(j, ItemStack.createStack(nbttagcompound)); } } } diff --git a/src/main/java/net/minecraft/server/ItemStack.java b/src/main/java/net/minecraft/server/ItemStack.java index 7c1bbec3ac..8f0a5ad21b 100644 --- a/src/main/java/net/minecraft/server/ItemStack.java +++ b/src/main/java/net/minecraft/server/ItemStack.java @@ -41,7 +41,7 @@ public final class ItemStack { this.setData(k); // CraftBukkit } - public static ItemStack a(NBTTagCompound nbttagcompound) { + public static ItemStack createStack(NBTTagCompound nbttagcompound) { ItemStack itemstack = new ItemStack(); itemstack.c(nbttagcompound); diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java index 2f200385fa..4bdf8aaa52 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -758,7 +758,7 @@ public abstract class MinecraftServer implements ICommandListener, Runnable, IMo } public String getVersion() { - return "1.4.6"; + return "1.4.7"; } public int y() { diff --git a/src/main/java/net/minecraft/server/NBTTagCompound.java b/src/main/java/net/minecraft/server/NBTTagCompound.java deleted file mode 100644 index 0e021c6659..0000000000 --- a/src/main/java/net/minecraft/server/NBTTagCompound.java +++ /dev/null @@ -1,263 +0,0 @@ -package net.minecraft.server; - -import java.io.DataInput; -import java.io.DataOutput; -import java.util.Collection; -import java.util.HashMap; -import java.util.Iterator; -import java.util.Map; -import java.util.concurrent.Callable; - -public class NBTTagCompound extends NBTBase { - - private Map map = new HashMap(); - - public NBTTagCompound() { - super(""); - } - - public NBTTagCompound(String s) { - super(s); - } - - void write(DataOutput dataoutput) { - Iterator iterator = this.map.values().iterator(); - - while (iterator.hasNext()) { - NBTBase nbtbase = (NBTBase) iterator.next(); - - NBTBase.a(nbtbase, dataoutput); - } - - // CraftBukkit start - try { - dataoutput.writeByte(0); - } catch (java.io.IOException ex) { - ex.printStackTrace(); - } - // CraftBukkit end - } - - void load(DataInput datainput) { - this.map.clear(); - - NBTBase nbtbase; - - while ((nbtbase = NBTBase.b(datainput)).getTypeId() != 0) { - this.map.put(nbtbase.getName(), nbtbase); - } - } - - public Collection c() { - return this.map.values(); - } - - public byte getTypeId() { - return (byte) 10; - } - - public void set(String s, NBTBase nbtbase) { - this.map.put(s, nbtbase.setName(s)); - } - - public void setByte(String s, byte b0) { - this.map.put(s, new NBTTagByte(s, b0)); - } - - public void setShort(String s, short short1) { - this.map.put(s, new NBTTagShort(s, short1)); - } - - public void setInt(String s, int i) { - this.map.put(s, new NBTTagInt(s, i)); - } - - public void setLong(String s, long i) { - this.map.put(s, new NBTTagLong(s, i)); - } - - public void setFloat(String s, float f) { - this.map.put(s, new NBTTagFloat(s, f)); - } - - public void setDouble(String s, double d0) { - this.map.put(s, new NBTTagDouble(s, d0)); - } - - public void setString(String s, String s1) { - this.map.put(s, new NBTTagString(s, s1)); - } - - public void setByteArray(String s, byte[] abyte) { - this.map.put(s, new NBTTagByteArray(s, abyte)); - } - - public void setIntArray(String s, int[] aint) { - this.map.put(s, new NBTTagIntArray(s, aint)); - } - - public void setCompound(String s, NBTTagCompound nbttagcompound) { - this.map.put(s, nbttagcompound.setName(s)); - } - - public void setBoolean(String s, boolean flag) { - this.setByte(s, (byte) (flag ? 1 : 0)); - } - - public NBTBase get(String s) { - return (NBTBase) this.map.get(s); - } - - public boolean hasKey(String s) { - return this.map.containsKey(s); - } - - public byte getByte(String s) { - try { - return !this.map.containsKey(s) ? 0 : ((NBTTagByte) this.map.get(s)).data; - } catch (ClassCastException classcastexception) { - throw new ReportedException(this.a(s, 1, classcastexception)); - } - } - - public short getShort(String s) { - try { - return !this.map.containsKey(s) ? 0 : ((NBTTagShort) this.map.get(s)).data; - } catch (ClassCastException classcastexception) { - throw new ReportedException(this.a(s, 2, classcastexception)); - } - } - - public int getInt(String s) { - try { - return !this.map.containsKey(s) ? 0 : ((NBTTagInt) this.map.get(s)).data; - } catch (ClassCastException classcastexception) { - throw new ReportedException(this.a(s, 3, classcastexception)); - } - } - - public long getLong(String s) { - try { - return !this.map.containsKey(s) ? 0L : ((NBTTagLong) this.map.get(s)).data; - } catch (ClassCastException classcastexception) { - throw new ReportedException(this.a(s, 4, classcastexception)); - } - } - - public float getFloat(String s) { - try { - return !this.map.containsKey(s) ? 0.0F : ((NBTTagFloat) this.map.get(s)).data; - } catch (ClassCastException classcastexception) { - throw new ReportedException(this.a(s, 5, classcastexception)); - } - } - - public double getDouble(String s) { - try { - return !this.map.containsKey(s) ? 0.0D : ((NBTTagDouble) this.map.get(s)).data; - } catch (ClassCastException classcastexception) { - throw new ReportedException(this.a(s, 6, classcastexception)); - } - } - - public String getString(String s) { - try { - return !this.map.containsKey(s) ? "" : ((NBTTagString) this.map.get(s)).data; - } catch (ClassCastException classcastexception) { - throw new ReportedException(this.a(s, 8, classcastexception)); - } - } - - public byte[] getByteArray(String s) { - try { - return !this.map.containsKey(s) ? new byte[0] : ((NBTTagByteArray) this.map.get(s)).data; - } catch (ClassCastException classcastexception) { - throw new ReportedException(this.a(s, 7, classcastexception)); - } - } - - public int[] getIntArray(String s) { - try { - return !this.map.containsKey(s) ? new int[0] : ((NBTTagIntArray) this.map.get(s)).data; - } catch (ClassCastException classcastexception) { - throw new ReportedException(this.a(s, 11, classcastexception)); - } - } - - public NBTTagCompound getCompound(String s) { - try { - return !this.map.containsKey(s) ? new NBTTagCompound(s) : (NBTTagCompound) this.map.get(s); - } catch (ClassCastException classcastexception) { - throw new ReportedException(this.a(s, 10, classcastexception)); - } - } - - public NBTTagList getList(String s) { - try { - return !this.map.containsKey(s) ? new NBTTagList(s) : (NBTTagList) this.map.get(s); - } catch (ClassCastException classcastexception) { - throw new ReportedException(this.a(s, 9, classcastexception)); - } - } - - public boolean getBoolean(String s) { - return this.getByte(s) != 0; - } - - public void o(String s) { - this.map.remove(s); - } - - public String toString() { - return "" + this.map.size() + " entries"; - } - - public boolean d() { - return this.map.isEmpty(); - } - - private CrashReport a(String s, int i, ClassCastException classcastexception) { - CrashReport crashreport = CrashReport.a(classcastexception, "Reading NBT data"); - CrashReportSystemDetails crashreportsystemdetails = crashreport.a("Corrupt NBT tag", 1); - - crashreportsystemdetails.a("Tag type found", (Callable) (new CrashReportCorruptNBTTag(this, s))); - crashreportsystemdetails.a("Tag type expected", (Callable) (new CrashReportCorruptNBTTag2(this, i))); - crashreportsystemdetails.a("Tag name", s); - if (this.getName() != null && this.getName().length() > 0) { - crashreportsystemdetails.a("Tag parent", this.getName()); - } - - return crashreport; - } - - public NBTBase clone() { - NBTTagCompound nbttagcompound = new NBTTagCompound(this.getName()); - Iterator iterator = this.map.keySet().iterator(); - - while (iterator.hasNext()) { - String s = (String) iterator.next(); - - nbttagcompound.set(s, ((NBTBase) this.map.get(s)).clone()); - } - - return nbttagcompound; - } - - public boolean equals(Object object) { - if (super.equals(object)) { - NBTTagCompound nbttagcompound = (NBTTagCompound) object; - - return this.map.entrySet().equals(nbttagcompound.map.entrySet()); - } else { - return false; - } - } - - public int hashCode() { - return super.hashCode() ^ this.map.hashCode(); - } - - static Map a(NBTTagCompound nbttagcompound) { - return nbttagcompound.map; - } -} diff --git a/src/main/java/net/minecraft/server/PathfinderGoalArrowAttack.java b/src/main/java/net/minecraft/server/PathfinderGoalArrowAttack.java index bf496af82c..fe9132d7be 100644 --- a/src/main/java/net/minecraft/server/PathfinderGoalArrowAttack.java +++ b/src/main/java/net/minecraft/server/PathfinderGoalArrowAttack.java @@ -28,7 +28,7 @@ public class PathfinderGoalArrowAttack extends PathfinderGoal { } public boolean a() { - EntityLiving entityliving = this.a.aG(); + EntityLiving entityliving = this.a.getGoalTarget(); if (entityliving == null) { return false; diff --git a/src/main/java/net/minecraft/server/PathfinderGoalMeleeAttack.java b/src/main/java/net/minecraft/server/PathfinderGoalMeleeAttack.java index 6cec26b168..016fe8774d 100644 --- a/src/main/java/net/minecraft/server/PathfinderGoalMeleeAttack.java +++ b/src/main/java/net/minecraft/server/PathfinderGoalMeleeAttack.java @@ -29,7 +29,7 @@ public class PathfinderGoalMeleeAttack extends PathfinderGoal { } public boolean a() { - EntityLiving entityliving = this.b.aG(); + EntityLiving entityliving = this.b.getGoalTarget(); if (entityliving == null) { return false; @@ -43,7 +43,7 @@ public class PathfinderGoalMeleeAttack extends PathfinderGoal { } public boolean b() { - EntityLiving entityliving = this.b.aG(); + EntityLiving entityliving = this.b.getGoalTarget(); return entityliving == null ? false : (!this.c.isAlive() ? false : (!this.f ? !this.b.getNavigation().f() : this.b.e(MathHelper.floor(this.c.locX), MathHelper.floor(this.c.locY), MathHelper.floor(this.c.locZ)))); } diff --git a/src/main/java/net/minecraft/server/PathfinderGoalSit.java b/src/main/java/net/minecraft/server/PathfinderGoalSit.java index 3b9b97a52e..a7c32bdde9 100644 --- a/src/main/java/net/minecraft/server/PathfinderGoalSit.java +++ b/src/main/java/net/minecraft/server/PathfinderGoalSit.java @@ -12,7 +12,7 @@ public class PathfinderGoalSit extends PathfinderGoal { public boolean a() { if (!this.a.isTamed()) { - return this.b && this.a.aG() == null; // CraftBukkit - Allow sitting for wild animals + return this.b && this.a.getGoalTarget() == null; // CraftBukkit - Allow sitting for wild animals } else if (this.a.H()) { return false; } else if (!this.a.onGround) { @@ -33,7 +33,7 @@ public class PathfinderGoalSit extends PathfinderGoal { this.a.setSitting(false); } - public void a(boolean flag) { + public void setSitting(boolean flag) { this.b = flag; } } diff --git a/src/main/java/net/minecraft/server/PathfinderGoalTarget.java b/src/main/java/net/minecraft/server/PathfinderGoalTarget.java index 2eb042284c..c65f3dd70c 100644 --- a/src/main/java/net/minecraft/server/PathfinderGoalTarget.java +++ b/src/main/java/net/minecraft/server/PathfinderGoalTarget.java @@ -27,7 +27,7 @@ public abstract class PathfinderGoalTarget extends PathfinderGoal { } public boolean b() { - EntityLiving entityliving = this.d.aG(); + EntityLiving entityliving = this.d.getGoalTarget(); if (entityliving == null) { return false; @@ -55,7 +55,7 @@ public abstract class PathfinderGoalTarget extends PathfinderGoal { } public void d() { - this.d.b((EntityLiving) null); + this.d.setGoalTarget((EntityLiving) null); } protected boolean a(EntityLiving entityliving, boolean flag) { @@ -118,12 +118,10 @@ public abstract class PathfinderGoalTarget extends PathfinderGoal { org.bukkit.event.entity.EntityTargetLivingEntityEvent event = org.bukkit.craftbukkit.event.CraftEventFactory.callEntityTargetLivingEvent(this.d, entityliving, reason); if (event.isCancelled() || event.getTarget() == null) { - if (this.d instanceof EntityCreature) { - ((EntityCreature) this.d).target = null; - } + this.d.setGoalTarget(null); return false; } else if (entityliving.getBukkitEntity() != event.getTarget()) { - this.d.b((EntityLiving) ((org.bukkit.craftbukkit.entity.CraftEntity) event.getTarget()).getHandle()); + this.d.setGoalTarget((EntityLiving) ((org.bukkit.craftbukkit.entity.CraftEntity) event.getTarget()).getHandle()); } if (this.d instanceof EntityCreature) { ((EntityCreature) this.d).target = ((org.bukkit.craftbukkit.entity.CraftEntity) event.getTarget()).getHandle(); diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java index dd29094f20..94b62ac94d 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java @@ -60,7 +60,7 @@ public class PlayerConnection extends Connection { private long j; private static Random k = new Random(); private long l; - private volatile int m = 0; private static final AtomicIntegerFieldUpdater chatSpamField = AtomicIntegerFieldUpdater.newUpdater(PlayerConnection.class, "m"); // CraftBukkit - multithreaded field + private volatile int chatThrottle = 0; private static final AtomicIntegerFieldUpdater chatSpamField = AtomicIntegerFieldUpdater.newUpdater(PlayerConnection.class, "chatThrottle"); // CraftBukkit - multithreaded field private int x = 0; private double y; private double z; @@ -119,7 +119,7 @@ public class PlayerConnection extends Connection { } // CraftBukkit start - for (int spam; (spam = this.m) > 0 && !chatSpamField.compareAndSet(this, spam, spam - 1); ) ; + for (int spam; (spam = this.chatThrottle) > 0 && !chatSpamField.compareAndSet(this, spam, spam - 1); ) ; /* Use thread-safe field access instead if (this.m > 0) { --this.m; diff --git a/src/main/java/net/minecraft/server/PlayerInventory.java b/src/main/java/net/minecraft/server/PlayerInventory.java index 288cb22052..f40b1e98ae 100644 --- a/src/main/java/net/minecraft/server/PlayerInventory.java +++ b/src/main/java/net/minecraft/server/PlayerInventory.java @@ -344,7 +344,7 @@ public class PlayerInventory implements IInventory { for (int i = 0; i < nbttaglist.size(); ++i) { NBTTagCompound nbttagcompound = (NBTTagCompound) nbttaglist.get(i); int j = nbttagcompound.getByte("Slot") & 255; - ItemStack itemstack = ItemStack.a(nbttagcompound); + ItemStack itemstack = ItemStack.createStack(nbttagcompound); if (itemstack != null) { if (j >= 0 && j < this.items.length) { diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java index c43a6edd4b..04ee0de4c3 100644 --- a/src/main/java/net/minecraft/server/PlayerList.java +++ b/src/main/java/net/minecraft/server/PlayerList.java @@ -759,7 +759,7 @@ public abstract class PlayerList { public void updateClient(EntityPlayer entityplayer) { entityplayer.updateInventory(entityplayer.defaultContainer); - entityplayer.m(); + entityplayer.triggerHealthUpdate(); entityplayer.playerConnection.sendPacket(new Packet16BlockItemSwitch(entityplayer.inventory.itemInHandIndex)); } diff --git a/src/main/java/net/minecraft/server/TileEntityBrewingStand.java b/src/main/java/net/minecraft/server/TileEntityBrewingStand.java index 418a226272..f047c856c5 100644 --- a/src/main/java/net/minecraft/server/TileEntityBrewingStand.java +++ b/src/main/java/net/minecraft/server/TileEntityBrewingStand.java @@ -175,7 +175,7 @@ public class TileEntityBrewingStand extends TileEntity implements IInventory { byte b0 = nbttagcompound1.getByte("Slot"); if (b0 >= 0 && b0 < this.items.length) { - this.items[b0] = ItemStack.a(nbttagcompound1); + this.items[b0] = ItemStack.createStack(nbttagcompound1); } } diff --git a/src/main/java/net/minecraft/server/TileEntityChest.java b/src/main/java/net/minecraft/server/TileEntityChest.java index 0d1637c721..4f002501e6 100644 --- a/src/main/java/net/minecraft/server/TileEntityChest.java +++ b/src/main/java/net/minecraft/server/TileEntityChest.java @@ -114,7 +114,7 @@ public class TileEntityChest extends TileEntity implements IInventory { int j = nbttagcompound1.getByte("Slot") & 255; if (j >= 0 && j < this.items.length) { - this.items[j] = ItemStack.a(nbttagcompound1); + this.items[j] = ItemStack.createStack(nbttagcompound1); } } } diff --git a/src/main/java/net/minecraft/server/TileEntityDispenser.java b/src/main/java/net/minecraft/server/TileEntityDispenser.java index a7aa950a89..c0a6970471 100644 --- a/src/main/java/net/minecraft/server/TileEntityDispenser.java +++ b/src/main/java/net/minecraft/server/TileEntityDispenser.java @@ -132,7 +132,7 @@ public class TileEntityDispenser extends TileEntity implements IInventory { int j = nbttagcompound1.getByte("Slot") & 255; if (j >= 0 && j < this.items.length) { - this.items[j] = ItemStack.a(nbttagcompound1); + this.items[j] = ItemStack.createStack(nbttagcompound1); } } } diff --git a/src/main/java/net/minecraft/server/TileEntityFurnace.java b/src/main/java/net/minecraft/server/TileEntityFurnace.java index 17b9611aa8..d9745ba814 100644 --- a/src/main/java/net/minecraft/server/TileEntityFurnace.java +++ b/src/main/java/net/minecraft/server/TileEntityFurnace.java @@ -107,7 +107,7 @@ public class TileEntityFurnace extends TileEntity implements IInventory { byte b0 = nbttagcompound1.getByte("Slot"); if (b0 >= 0 && b0 < this.items.length) { - this.items[b0] = ItemStack.a(nbttagcompound1); + this.items[b0] = ItemStack.createStack(nbttagcompound1); } } diff --git a/src/main/java/net/minecraft/server/TileEntityMobSpawner.java b/src/main/java/net/minecraft/server/TileEntityMobSpawner.java index b6ad98c4a8..e415b6a7ca 100644 --- a/src/main/java/net/minecraft/server/TileEntityMobSpawner.java +++ b/src/main/java/net/minecraft/server/TileEntityMobSpawner.java @@ -9,7 +9,7 @@ public class TileEntityMobSpawner extends TileEntity { public int spawnDelay = -1; public String mobName = "Pig"; // CraftBukkit - private -> public - private List mobs = null; + private List mobs = null; private TileEntityMobSpawnerData spawnData = null; public double b; public double c = 0.0D; @@ -221,7 +221,7 @@ public class TileEntityMobSpawner extends TileEntity { NBTTagCompound nbttagcompound = new NBTTagCompound(); this.b(nbttagcompound); - nbttagcompound.o("SpawnPotentials"); + nbttagcompound.remove("SpawnPotentials"); return new Packet132TileEntityData(this.x, this.y, this.z, 1, nbttagcompound); } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftFirework.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftFirework.java index 863078f8bc..943ce856d9 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftFirework.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftFirework.java @@ -22,11 +22,11 @@ public class CraftFirework extends CraftEntity implements Firework { public CraftFirework(CraftServer server, EntityFireworks entity) { super(server, entity); - ItemStack item = getHandle().getDataWatcher().f(FIREWORK_ITEM_INDEX); + ItemStack item = getHandle().getDataWatcher().getItemStack(FIREWORK_ITEM_INDEX); if (item == null) { item = new ItemStack(Item.FIREWORKS); - getHandle().getDataWatcher().a(FIREWORK_ITEM_INDEX, item); // register + getHandle().getDataWatcher().watch(FIREWORK_ITEM_INDEX, item); } this.item = CraftItemStack.asCraftMirror(item); @@ -59,7 +59,7 @@ public class CraftFirework extends CraftEntity implements Firework { item.setItemMeta(meta); // Copied from EntityFireworks constructor, update firework lifetime/power - getHandle().b = 10 * (1 + meta.getPower()) + random.nextInt(6) + random.nextInt(7); + getHandle().expectedLifespan = 10 * (1 + meta.getPower()) + random.nextInt(6) + random.nextInt(7); getHandle().getDataWatcher().h(FIREWORK_ITEM_INDEX); // Update } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java index 90abccefc9..f0e24d2f4f 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -948,11 +948,11 @@ public class CraftPlayer extends CraftHumanEntity implements Player { public void setMaxHealth(int amount) { super.setMaxHealth(amount); - getHandle().m(); // Update health + getHandle().triggerHealthUpdate(); } public void resetMaxHealth() { super.resetMaxHealth(); - getHandle().m(); // Update health + getHandle().triggerHealthUpdate(); } } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftTameableAnimal.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftTameableAnimal.java index 0134bda7f0..f62d8bcbf6 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftTameableAnimal.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftTameableAnimal.java @@ -62,7 +62,7 @@ public class CraftTameableAnimal extends CraftAnimals implements Tameable, Creat } public void setSitting(boolean sitting) { - getHandle().q().a(sitting); + getHandle().getGoalSit().setSitting(sitting); } @Override diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java index 85835ca776..96bf95ff93 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java @@ -238,8 +238,8 @@ public final class CraftItemStack extends ItemStack { return 0; } if (size == 1) { - handle.tag.o(ENCHANTMENTS.NBT); - if (handle.tag.d()) { + handle.tag.remove(ENCHANTMENTS.NBT); + if (handle.tag.isEmpty()) { handle.tag = null; } return level; @@ -388,6 +388,6 @@ public final class CraftItemStack extends ItemStack { } static boolean hasItemMeta(net.minecraft.server.ItemStack item) { - return !(item == null || item.tag == null || item.tag.d()); + return !(item == null || item.tag == null || item.tag.isEmpty()); } }