Nullcheck EntityItem's ItemStack where required. This fixes BUKKIT-552
Dieser Commit ist enthalten in:
Ursprung
51a056ecd5
Commit
85ab95cec7
@ -21,7 +21,10 @@ public class EntityItem extends Entity {
|
|||||||
this.height = this.length / 2.0F;
|
this.height = this.length / 2.0F;
|
||||||
this.setPosition(d0, d1, d2);
|
this.setPosition(d0, d1, d2);
|
||||||
this.itemStack = itemstack;
|
this.itemStack = itemstack;
|
||||||
// CraftBukkit start - infinite item fix
|
// CraftBukkit start - infinite item fix & nullcheck
|
||||||
|
if (this.itemStack == null) {
|
||||||
|
throw new IllegalArgumentException("Can't create an EntityItem for a null item");
|
||||||
|
}
|
||||||
if (this.itemStack.count <= -1) {
|
if (this.itemStack.count <= -1) {
|
||||||
this.itemStack.count = 1;
|
this.itemStack.count = 1;
|
||||||
}
|
}
|
||||||
@ -117,7 +120,7 @@ public class EntityItem extends Entity {
|
|||||||
public void b(NBTTagCompound nbttagcompound) {
|
public void b(NBTTagCompound nbttagcompound) {
|
||||||
nbttagcompound.setShort("Health", (short) ((byte) this.f));
|
nbttagcompound.setShort("Health", (short) ((byte) this.f));
|
||||||
nbttagcompound.setShort("Age", (short) this.age);
|
nbttagcompound.setShort("Age", (short) this.age);
|
||||||
nbttagcompound.setCompound("Item", this.itemStack.b(new NBTTagCompound()));
|
if (this.itemStack != null) nbttagcompound.setCompound("Item", this.itemStack.b(new NBTTagCompound())); // CraftBukkit - Nullchex!
|
||||||
}
|
}
|
||||||
|
|
||||||
public void a(NBTTagCompound nbttagcompound) {
|
public void a(NBTTagCompound nbttagcompound) {
|
||||||
@ -132,7 +135,7 @@ public class EntityItem extends Entity {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void a_(EntityHuman entityhuman) {
|
public void a_(EntityHuman entityhuman) {
|
||||||
if (!this.world.isStatic) {
|
if ((!this.world.isStatic) && (this.itemStack != null)) { // CraftBukkit - nullcheck
|
||||||
int i = this.itemStack.count;
|
int i = this.itemStack.count;
|
||||||
|
|
||||||
// CraftBukkit start
|
// CraftBukkit start
|
||||||
@ -180,6 +183,7 @@ public class EntityItem extends Entity {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public String getLocalizedName() {
|
public String getLocalizedName() {
|
||||||
|
if (this.itemStack == null) return LocaleI18n.a("item.unknown"); // CraftBukkit - nullcheck
|
||||||
return LocaleI18n.a("item." + this.itemStack.k());
|
return LocaleI18n.a("item." + this.itemStack.k());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
In neuem Issue referenzieren
Einen Benutzer sperren