Update to Minecraft 1.8.3

By: Thinkofdeath <thinkofdeath@spigotmc.org>
This commit is contained in:
CraftBukkit/Spigot
2015-02-26 22:41:06 +00:00
parent d789ce91d4
commit 85be409b13
347 changed files with 5027 additions and 5465 deletions

View File

@@ -1,5 +1,5 @@
--- ../work/decompile-8eb82bde//net/minecraft/server/ItemStack.java 2015-02-02 21:55:14.596077817 +0000
+++ src/main/java/net/minecraft/server/ItemStack.java 2015-02-02 21:55:14.596077817 +0000
--- /home/matt/mc-dev-private//net/minecraft/server/ItemStack.java 2015-02-26 22:40:22.847608137 +0000
+++ src/main/java/net/minecraft/server/ItemStack.java 2015-02-26 22:40:22.847608137 +0000
@@ -5,6 +5,18 @@
import java.text.DecimalFormat;
import java.util.Random;
@@ -19,7 +19,7 @@
public final class ItemStack {
public static final DecimalFormat a = new DecimalFormat("#.###");
@@ -46,11 +58,13 @@
@@ -46,10 +58,14 @@
this.k = false;
this.item = item;
this.count = i;
@@ -27,7 +27,7 @@
- if (this.damage < 0) {
- this.damage = 0;
- }
-
+
+ // CraftBukkit start - Pass to setData to do filtering
+ this.setData(j);
+ //this.damage = j;
@@ -35,10 +35,10 @@
+ // this.damage = 0;
+ //}
+ // CraftBukkit end
}
public static ItemStack createStack(NBTTagCompound nbttagcompound) {
@@ -83,11 +97,114 @@
@@ -83,11 +99,114 @@
}
public boolean placeItem(EntityHuman entityhuman, World world, BlockPosition blockposition, EnumDirection enumdirection, float f, float f1, float f2) {
@@ -131,7 +131,7 @@
+
+ if (this.getItem() == Items.SKULL) { // Special case skulls to allow wither spawns to be cancelled
+ BlockPosition bp = blockposition;
+ if (!world.getType(blockposition).getBlock().f(world, blockposition)) {
+ if (!world.getType(blockposition).getBlock().a(world, blockposition)) {
+ if (!world.getType(blockposition).getBlock().getMaterial().isBuildable()) {
+ bp = null;
+ } else {
@@ -154,7 +154,7 @@
return flag;
}
@@ -111,7 +228,7 @@
@@ -111,7 +230,7 @@
nbttagcompound.setByte("Count", (byte) this.count);
nbttagcompound.setShort("Damage", (short) this.damage);
if (this.tag != null) {
@@ -163,7 +163,7 @@
}
return nbttagcompound;
@@ -125,13 +242,18 @@
@@ -125,13 +244,18 @@
}
this.count = nbttagcompound.getByte("Count");
@@ -183,7 +183,7 @@
if (this.item != null) {
this.item.a(this.tag);
}
@@ -168,8 +290,29 @@
@@ -168,8 +292,28 @@
}
public void setData(int i) {
@@ -207,27 +207,26 @@
+ i = 0;
+ }
+ // CraftBukkit end
+
this.damage = i;
- if (this.damage < 0) {
+ if (this.damage < -1) { // CraftBukkit
this.damage = 0;
}
@@ -222,6 +365,12 @@
if (this.count < 0) {
@@ -223,6 +367,12 @@
this.count = 0;
}
+
+ // CraftBukkit start - Check for item breaking
+ if (this.count == 0 && entityliving instanceof EntityHuman) {
+ org.bukkit.craftbukkit.event.CraftEventFactory.callPlayerItemBreakEvent((EntityHuman) entityliving, this);
+ }
+ // CraftBukkit end
+
this.damage = 0;
}
@@ -489,6 +638,7 @@
@@ -489,6 +639,7 @@
public void setItem(Item item) {
this.item = item;