summaryrefslogtreecommitdiffstats
path: root/nms-patches
diff options
context:
space:
mode:
Diffstat (limited to 'nms-patches')
-rw-r--r--nms-patches/BlockDispenser.patch9
-rw-r--r--nms-patches/BlockJukeBox.patch9
-rw-r--r--nms-patches/BlockRedstoneWire.patch9
-rw-r--r--nms-patches/Chunk.patch18
-rw-r--r--nms-patches/ChunkProviderServer.patch38
-rw-r--r--nms-patches/ContainerDispenser.patch3
-rw-r--r--nms-patches/CraftingManager.patch5
-rw-r--r--nms-patches/DedicatedServer.patch8
-rw-r--r--nms-patches/Entity.patch18
-rw-r--r--nms-patches/EntityArmorStand.patch68
-rw-r--r--nms-patches/EntityArrow.patch9
-rw-r--r--nms-patches/EntityExperienceOrb.patch10
-rw-r--r--nms-patches/EntityFireworks.patch12
-rw-r--r--nms-patches/EntityGuardian.patch29
-rw-r--r--nms-patches/EntityHanging.patch16
-rw-r--r--nms-patches/EntityHorse.patch21
-rw-r--r--nms-patches/EntityHuman.patch31
-rw-r--r--nms-patches/EntityInsentient.patch19
-rw-r--r--nms-patches/EntityItem.patch24
-rw-r--r--nms-patches/EntityLiving.patch41
-rw-r--r--nms-patches/EntityPigZombie.patch11
-rw-r--r--nms-patches/EntityPlayer.patch18
-rw-r--r--nms-patches/EntityPotion.patch8
-rw-r--r--nms-patches/EntityProjectile.patch11
-rw-r--r--nms-patches/EntitySlime.patch9
-rw-r--r--nms-patches/EntityTracker.patch9
-rw-r--r--nms-patches/EntityVillager.patch9
-rw-r--r--nms-patches/Explosion.patch7
-rw-r--r--nms-patches/FoodMetaData.patch13
-rw-r--r--nms-patches/InventoryLargeChest.patch13
-rw-r--r--nms-patches/InventorySubcontainer.patch6
-rw-r--r--nms-patches/JsonListEntry.patch11
-rw-r--r--nms-patches/MinecraftServer.patch15
-rw-r--r--nms-patches/MobSpawnerAbstract.patch15
-rw-r--r--nms-patches/NetworkManager.patch9
-rw-r--r--nms-patches/PacketPlayOutBlockChange.patch20
-rw-r--r--nms-patches/PacketPlayOutSpawnPosition.patch20
-rw-r--r--nms-patches/PlayerAbilities.patch13
-rw-r--r--nms-patches/PlayerList.patch22
-rw-r--r--nms-patches/PropertyManager.patch7
-rw-r--r--nms-patches/RecipesFurnace.patch9
-rw-r--r--nms-patches/Slot.patch9
-rw-r--r--nms-patches/TileEntityBanner.patch13
-rw-r--r--nms-patches/TileEntityBrewingStand.patch7
-rw-r--r--nms-patches/TileEntityFurnace.patch11
-rw-r--r--nms-patches/TileEntitySign.patch9
-rw-r--r--nms-patches/WorldServer.patch7
47 files changed, 76 insertions, 632 deletions
diff --git a/nms-patches/BlockDispenser.patch b/nms-patches/BlockDispenser.patch
index 5e08184d..3c8e138d 100644
--- a/nms-patches/BlockDispenser.patch
+++ b/nms-patches/BlockDispenser.patch
@@ -8,15 +8,6 @@
protected BlockDispenser() {
super(Material.STONE);
-@@ -68,7 +69,7 @@
- }
- }
-
-- protected void dispense(World world, BlockPosition blockposition) {
-+ public void dispense(World world, BlockPosition blockposition) { // CraftBukkit - public
- SourceBlock sourceblock = new SourceBlock(world, blockposition);
- TileEntityDispenser tileentitydispenser = (TileEntityDispenser) sourceblock.getTileEntity();
-
@@ -83,6 +84,7 @@
if (idispensebehavior != IDispenseBehavior.a) {
diff --git a/nms-patches/BlockJukeBox.patch b/nms-patches/BlockJukeBox.patch
index 3dc45233..080ba7ef 100644
--- a/nms-patches/BlockJukeBox.patch
+++ b/nms-patches/BlockJukeBox.patch
@@ -1,14 +1,5 @@
--- a/net/minecraft/server/BlockJukeBox.java
+++ b/net/minecraft/server/BlockJukeBox.java
-@@ -32,7 +32,7 @@
- }
- }
-
-- private void dropRecord(World world, BlockPosition blockposition, IBlockData iblockdata) {
-+ public void dropRecord(World world, BlockPosition blockposition, IBlockData iblockdata) { // CraftBukkit - public
- if (!world.isClientSide) {
- TileEntity tileentity = world.getTileEntity(blockposition);
-
@@ -136,6 +136,11 @@
}
diff --git a/nms-patches/BlockRedstoneWire.patch b/nms-patches/BlockRedstoneWire.patch
index 6786b1ef..ffd86e1d 100644
--- a/nms-patches/BlockRedstoneWire.patch
+++ b/nms-patches/BlockRedstoneWire.patch
@@ -25,12 +25,3 @@
if (i != j) {
iblockdata = iblockdata.set(BlockRedstoneWire.POWER, Integer.valueOf(j));
if (world.getType(blockposition) == iblockdata1) {
-@@ -232,7 +243,7 @@
- }
- }
-
-- private int getPower(World world, BlockPosition blockposition, int i) {
-+ public int getPower(World world, BlockPosition blockposition, int i) { // CraftBukkit - public
- if (world.getType(blockposition).getBlock() != this) {
- return i;
- } else {
diff --git a/nms-patches/Chunk.patch b/nms-patches/Chunk.patch
index d49e82b3..9ccf30c9 100644
--- a/nms-patches/Chunk.patch
+++ b/nms-patches/Chunk.patch
@@ -10,24 +10,6 @@
public class Chunk {
private static final Logger c = LogManager.getLogger();
-@@ -22,13 +25,13 @@
- private final int[] f;
- private final boolean[] g;
- private boolean h;
-- private final World world;
-- private final int[] heightMap;
-+ public final World world; // CraftBukkit - public
-+ public final int[] heightMap; // CraftBukkit - public
- public final int locX;
- public final int locZ;
- private boolean k;
-- private final Map<BlockPosition, TileEntity> tileEntities;
-- private final EntitySlice<Entity>[] entitySlices;
-+ public final Map<BlockPosition, TileEntity> tileEntities;
-+ public final EntitySlice<Entity>[] entitySlices; // CraftBukkit - public
- private boolean done;
- private boolean lit;
- private boolean p;
@@ -40,6 +43,34 @@
private int v;
private ConcurrentLinkedQueue<BlockPosition> w;
diff --git a/nms-patches/ChunkProviderServer.patch b/nms-patches/ChunkProviderServer.patch
index 09f59f1c..65c21678 100644
--- a/nms-patches/ChunkProviderServer.patch
+++ b/nms-patches/ChunkProviderServer.patch
@@ -1,6 +1,6 @@
--- a/net/minecraft/server/ChunkProviderServer.java
+++ b/net/minecraft/server/ChunkProviderServer.java
-@@ -11,17 +11,28 @@
+@@ -11,16 +11,27 @@
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
@@ -20,22 +20,18 @@
private static final Logger b = LogManager.getLogger();
- private Set<Long> unloadQueue = Collections.newSetFromMap(new ConcurrentHashMap());
-- private Chunk emptyChunk;
-- private IChunkProvider chunkProvider;
+ public LongHashSet unloadQueue = new LongHashSet(); // CraftBukkit - LongHashSet
-+ public Chunk emptyChunk; // CraftBukkit - public
-+ public IChunkProvider chunkProvider; // CraftBukkit - public
+ public Chunk emptyChunk;
+ public IChunkProvider chunkProvider;
private IChunkLoader chunkLoader;
- public boolean forceChunkLoad = true;
- private LongHashMap<Chunk> chunks = new LongHashMap();
- private List<Chunk> chunkList = Lists.newArrayList();
-- private WorldServer world;
+ public boolean forceChunkLoad = false; // CraftBukkit - true -> false
+ public LongObjectHashMap<Chunk> chunks = new LongObjectHashMap<Chunk>();
-+ public WorldServer world; // CraftBukkit - public
+ public WorldServer world;
public ChunkProviderServer(WorldServer worldserver, IChunkLoader ichunkloader, IChunkProvider ichunkprovider) {
- this.emptyChunk = new EmptyChunk(worldserver, 0, 0);
@@ -31,26 +42,43 @@
}
@@ -186,7 +182,7 @@
chunk.loadNearby(this, this, i, j);
}
-@@ -96,12 +189,25 @@
+@@ -96,9 +189,22 @@
}
public Chunk getOrCreateChunk(int i, int j) {
@@ -210,29 +206,7 @@
+ // CraftBukkit end
}
-- private Chunk loadChunk(int i, int j) {
-+ public Chunk loadChunk(int i, int j) { // CraftBukkit - public
- if (this.chunkLoader == null) {
- return null;
- } else {
-@@ -123,7 +229,7 @@
- }
- }
-
-- private void saveChunkNOP(Chunk chunk) {
-+ public void saveChunkNOP(Chunk chunk) { // CraftBukkit - public
- if (this.chunkLoader != null) {
- try {
- this.chunkLoader.b(this.world, chunk);
-@@ -134,7 +240,7 @@
- }
- }
-
-- private void saveChunk(Chunk chunk) {
-+ public void saveChunk(Chunk chunk) { // CraftBukkit - public
- if (this.chunkLoader != null) {
- try {
- chunk.setLastSaved(this.world.getTime());
+ public Chunk loadChunk(int i, int j) {
@@ -155,6 +261,30 @@
chunk.n();
if (this.chunkProvider != null) {
diff --git a/nms-patches/ContainerDispenser.patch b/nms-patches/ContainerDispenser.patch
index f267f177..44e157ea 100644
--- a/nms-patches/ContainerDispenser.patch
+++ b/nms-patches/ContainerDispenser.patch
@@ -10,8 +10,7 @@
+
public class ContainerDispenser extends Container {
-- private IInventory items;
-+ public IInventory items; // CraftBukkit - private -> public
+ public IInventory items;
+ // CraftBukkit start
+ private CraftInventoryView bukkitEntity = null;
+ private PlayerInventory player;
diff --git a/nms-patches/CraftingManager.patch b/nms-patches/CraftingManager.patch
index 483e609c..c0544eaa 100644
--- a/nms-patches/CraftingManager.patch
+++ b/nms-patches/CraftingManager.patch
@@ -9,8 +9,7 @@
public class CraftingManager {
private static final CraftingManager a = new CraftingManager();
-- private final List<IRecipe> recipes = Lists.newArrayList();
-+ public List<IRecipe> recipes = Lists.newArrayList(); // CraftBukkit - public, removed final
+ public List<IRecipe> recipes = Lists.newArrayList();
+ // CraftBukkit start
+ public IRecipe lastRecipe;
+ public org.bukkit.inventory.InventoryView lastCraftView;
@@ -21,7 +20,7 @@
}
- private CraftingManager() {
-+ public CraftingManager() { // CraftBukkit - public
++ public CraftingManager() { // PAIL: Public
(new RecipesTools()).a(this);
(new RecipesWeapons()).a(this);
(new RecipeIngots()).a(this);
diff --git a/nms-patches/DedicatedServer.patch b/nms-patches/DedicatedServer.patch
index 98570530..3e6ab94f 100644
--- a/nms-patches/DedicatedServer.patch
+++ b/nms-patches/DedicatedServer.patch
@@ -1,6 +1,6 @@
--- a/net/minecraft/server/DedicatedServer.java
+++ b/net/minecraft/server/DedicatedServer.java
-@@ -15,20 +15,32 @@
+@@ -15,10 +15,20 @@
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
@@ -21,10 +21,8 @@
+ private final List<ServerCommand> l = Collections.synchronizedList(Lists.<ServerCommand>newArrayList()); // CraftBukkit - fix decompile error
private RemoteStatusListener m;
private RemoteControlListener n;
-- private PropertyManager propertyManager;
-+ public PropertyManager propertyManager; // CraftBukkit - public
- private EULA p;
- private boolean generateStructures;
+ public PropertyManager propertyManager;
+@@ -27,8 +37,10 @@
private WorldSettings.EnumGamemode r;
private boolean s;
diff --git a/nms-patches/Entity.patch b/nms-patches/Entity.patch
index 6fa252a0..b5720bb4 100644
--- a/nms-patches/Entity.patch
+++ b/nms-patches/Entity.patch
@@ -41,15 +41,6 @@
private static final AxisAlignedBB a = new AxisAlignedBB(0.0D, 0.0D, 0.0D, 0.0D, 0.0D, 0.0D);
private static int entityCount;
private int id;
-@@ -55,7 +87,7 @@
- protected Random random;
- public int ticksLived;
- public int maxFireTicks;
-- private int fireTicks;
-+ public int fireTicks; // CraftBukkit - public
- protected boolean inWater;
- public int noDamageTicks;
- protected boolean justCreated;
@@ -79,6 +111,8 @@
private boolean invulnerable;
protected UUID uniqueID;
@@ -59,15 +50,6 @@
public int getId() {
return this.id;
-@@ -137,7 +171,7 @@
- this.dead = true;
- }
-
-- protected void setSize(float f, float f1) {
-+ public void setSize(float f, float f1) { // CraftBukkit - public
- if (f != this.width || f1 != this.length) {
- float f2 = this.width;
-
@@ -152,6 +186,33 @@
}
diff --git a/nms-patches/EntityArmorStand.patch b/nms-patches/EntityArmorStand.patch
index 15f92917..338421d8 100644
--- a/nms-patches/EntityArmorStand.patch
+++ b/nms-patches/EntityArmorStand.patch
@@ -16,28 +16,7 @@
public class EntityArmorStand extends EntityLiving {
private static final Vector3f a = new Vector3f(0.0F, 0.0F, 0.0F);
-@@ -15,12 +24,14 @@
- private long i;
- private int bi;
- private boolean bj;
-- private Vector3f headPose;
-- private Vector3f bodyPose;
-- private Vector3f leftArmPose;
-- private Vector3f rightArmPose;
-- private Vector3f leftLegPose;
-- private Vector3f rightLegPose;
-+ // CraftBukkit start - public all the things!
-+ public Vector3f headPose;
-+ public Vector3f bodyPose;
-+ public Vector3f leftArmPose;
-+ public Vector3f rightArmPose;
-+ public Vector3f leftLegPose;
-+ public Vector3f rightLegPose;
-+ // CraftBukkit end
-
- public EntityArmorStand(World world) {
- super(world);
-@@ -332,6 +343,22 @@
+@@ -332,6 +341,22 @@
ItemStack itemstack1 = entityhuman.inventory.getItem(j);
ItemStack itemstack2;
@@ -60,7 +39,7 @@
if (entityhuman.abilities.canInstantlyBuild && (itemstack == null || itemstack.getItem() == Item.getItemOf(Blocks.AIR)) && itemstack1 != null) {
itemstack2 = itemstack1.cloneItemStack();
itemstack2.count = 1;
-@@ -352,6 +379,11 @@
+@@ -352,6 +377,11 @@
}
public boolean damageEntity(DamageSource damagesource, float f) {
@@ -72,46 +51,3 @@
if (this.world.isClientSide) {
return false;
} else if (DamageSource.OUT_OF_WORLD.equals(damagesource)) {
-@@ -552,7 +584,7 @@
- return this.isInvisible();
- }
-
-- private void setSmall(boolean flag) {
-+ public void setSmall(boolean flag) { // CraftBukkit - public
- byte b0 = this.datawatcher.getByte(10);
-
- if (flag) {
-@@ -568,7 +600,7 @@
- return (this.datawatcher.getByte(10) & 1) != 0;
- }
-
-- private void setGravity(boolean flag) {
-+ public void setGravity(boolean flag) { // CraftBukkit - public
- byte b0 = this.datawatcher.getByte(10);
-
- if (flag) {
-@@ -578,13 +610,14 @@
- }
-
- this.datawatcher.watch(10, Byte.valueOf(b0));
-+ this.noclip = flag; // CraftBukkit.
- }
-
- public boolean hasGravity() {
- return (this.datawatcher.getByte(10) & 2) != 0;
- }
-
-- private void setArms(boolean flag) {
-+ public void setArms(boolean flag) { // CraftBukkit - public
- byte b0 = this.datawatcher.getByte(10);
-
- if (flag) {
-@@ -600,7 +633,7 @@
- return (this.datawatcher.getByte(10) & 4) != 0;
- }
-
-- private void setBasePlate(boolean flag) {
-+ public void setBasePlate(boolean flag) { // CraftBukkit - public
- byte b0 = this.datawatcher.getByte(10);
-
- if (flag) {
diff --git a/nms-patches/EntityArrow.patch b/nms-patches/EntityArrow.patch
index 4d143364..de6af82d 100644
--- a/nms-patches/EntityArrow.patch
+++ b/nms-patches/EntityArrow.patch
@@ -13,15 +13,6 @@
public class EntityArrow extends Entity implements IProjectile {
private int d = -1;
-@@ -16,7 +22,7 @@
- private int ar;
- private int as;
- private double damage = 2.0D;
-- private int knockbackStrength;
-+ public int knockbackStrength; // CraftBukkit - public
-
- public EntityArrow(World world) {
- super(world);
@@ -35,6 +41,7 @@
super(world);
this.j = 10.0D;
diff --git a/nms-patches/EntityExperienceOrb.patch b/nms-patches/EntityExperienceOrb.patch
index ce96c426..b01b0c7f 100644
--- a/nms-patches/EntityExperienceOrb.patch
+++ b/nms-patches/EntityExperienceOrb.patch
@@ -1,6 +1,6 @@
--- a/net/minecraft/server/EntityExperienceOrb.java
+++ b/net/minecraft/server/EntityExperienceOrb.java
-@@ -1,12 +1,18 @@
+@@ -1,5 +1,11 @@
package net.minecraft.server;
+// CraftBukkit start
@@ -12,14 +12,6 @@
public class EntityExperienceOrb extends Entity {
public int a;
- public int b;
- public int c;
- private int d = 5;
-- private int value;
-+ public int value; // CraftBukkit - public
- private EntityHuman targetPlayer;
- private int targetTime;
-
@@ -34,6 +40,7 @@
public void t_() {
diff --git a/nms-patches/EntityFireworks.patch b/nms-patches/EntityFireworks.patch
index 9b420697..8b137891 100644
--- a/nms-patches/EntityFireworks.patch
+++ b/nms-patches/EntityFireworks.patch
@@ -1,11 +1 @@
---- a/net/minecraft/server/EntityFireworks.java
-+++ b/net/minecraft/server/EntityFireworks.java
-@@ -3,7 +3,7 @@
- public class EntityFireworks extends Entity {
-
- private int ticksFlown;
-- private int expectedLifespan;
-+ public int expectedLifespan; // CraftBukkit - public
-
- public EntityFireworks(World world) {
- super(world);
+
diff --git a/nms-patches/EntityGuardian.patch b/nms-patches/EntityGuardian.patch
deleted file mode 100644
index e97f727e..00000000
--- a/nms-patches/EntityGuardian.patch
+++ /dev/null
@@ -1,29 +0,0 @@
---- a/net/minecraft/server/EntityGuardian.java
-+++ b/net/minecraft/server/EntityGuardian.java
-@@ -14,7 +14,7 @@
- private EntityLiving bo;
- private int bp;
- private boolean bq;
-- private PathfinderGoalRandomStroll goalRandomStroll;
-+ public PathfinderGoalRandomStroll goalRandomStroll; // CraftBukkit - public
-
- public EntityGuardian(World world) {
- super(world);
-@@ -35,7 +35,7 @@
- this.b = this.a = this.random.nextFloat();
- }
-
-- protected void initAttributes() {
-+ public void initAttributes() { // CraftBukkit - public
- super.initAttributes();
- this.getAttributeInstance(GenericAttributes.ATTACK_DAMAGE).setValue(6.0D);
- this.getAttributeInstance(GenericAttributes.MOVEMENT_SPEED).setValue(0.5D);
-@@ -516,7 +516,7 @@
- return (entityliving instanceof EntityHuman || entityliving instanceof EntitySquid) && entityliving.h(this.a) > 9.0D;
- }
-
-- public boolean apply(Object object) {
-+ public boolean apply(EntityLiving object) { // CraftBukkit - fix decompile error
- return this.a((EntityLiving) object);
- }
- }
diff --git a/nms-patches/EntityHanging.patch b/nms-patches/EntityHanging.patch
index 914ed081..aee058d5 100644
--- a/nms-patches/EntityHanging.patch
+++ b/nms-patches/EntityHanging.patch
@@ -1,6 +1,6 @@
--- a/net/minecraft/server/EntityHanging.java
+++ b/net/minecraft/server/EntityHanging.java
-@@ -4,10 +4,17 @@
+@@ -4,6 +4,13 @@
import java.util.List;
import org.apache.commons.lang3.Validate;
@@ -14,20 +14,6 @@
public abstract class EntityHanging extends Entity {
private int c;
-- protected BlockPosition blockPosition;
-+ public BlockPosition blockPosition; // CraftBukkit - public
- public EnumDirection direction;
-
- public EntityHanging(World world) {
-@@ -22,7 +29,7 @@
-
- protected void h() {}
-
-- protected void setDirection(EnumDirection enumdirection) {
-+ public void setDirection(EnumDirection enumdirection) { // CraftBukkit - public
- Validate.notNull(enumdirection);
- Validate.isTrue(enumdirection.k().c());
- this.direction = enumdirection;
@@ -30,30 +37,34 @@
this.updateBoundingBox();
}
diff --git a/nms-patches/EntityHorse.patch b/nms-patches/EntityHorse.patch
index 8a19f61a..06eece5e 100644
--- a/nms-patches/EntityHorse.patch
+++ b/nms-patches/EntityHorse.patch
@@ -9,24 +9,6 @@
public class EntityHorse extends EntityAnimal implements IInventoryListener {
private static final Predicate<Entity> bs = new Predicate() {
-@@ -15,7 +17,7 @@
- return this.a((Entity) object);
- }
- };
-- private static final IAttribute attributeJumpStrength = (new AttributeRanged((IAttribute) null, "horse.jumpStrength", 0.7D, 0.0D, 2.0D)).a("Jump Strength").a(true);
-+ public static final IAttribute attributeJumpStrength = (new AttributeRanged((IAttribute) null, "horse.jumpStrength", 0.7D, 0.0D, 2.0D)).a("Jump Strength").a(true); // CraftBukkit - public
- private static final String[] bu = new String[] { null, "textures/entity/horse/armor/horse_armor_iron.png", "textures/entity/horse/armor/horse_armor_gold.png", "textures/entity/horse/armor/horse_armor_diamond.png"};
- private static final String[] bv = new String[] { "", "meo", "goo", "dio"};
- private static final int[] bw = new int[] { 0, 5, 7, 11};
-@@ -29,7 +31,7 @@
- public int bm;
- public int bo;
- protected boolean bp;
-- private InventoryHorseChest inventoryChest;
-+ public InventoryHorseChest inventoryChest; // CraftBukkit - public
- private boolean bF;
- protected int bq;
- protected float br;
@@ -44,6 +46,7 @@
private String bO;
private String[] bP = new String[3];
@@ -43,8 +25,7 @@
+ return this.hasChest() /* && (i == 1 || i == 2) */ ? 17 : 2; // CraftBukkit - Remove type check
}
-- private void loadChest() {
-+ public void loadChest() { // CraftBukkit - public
+ public void loadChest() {
InventoryHorseChest inventoryhorsechest = this.inventoryChest;
- this.inventoryChest = new InventoryHorseChest("HorseChest", this.cZ());
diff --git a/nms-patches/EntityHuman.patch b/nms-patches/EntityHuman.patch
index 50dd54c6..290b6434 100644
--- a/nms-patches/EntityHuman.patch
+++ b/nms-patches/EntityHuman.patch
@@ -29,32 +29,14 @@
protected int bm;
public float bn;
public float bo;
-@@ -25,15 +39,16 @@
- public double bt;
- public double bu;
- public double bv;
-- protected boolean sleeping;
-+ public boolean sleeping; // CraftBukkit - public
- public BlockPosition bx;
-- private int sleepTicks;
-+ public int sleepTicks; // CraftBukkit - public
- public float by;
- public float bz;
- private BlockPosition c;
- private boolean d;
- private BlockPosition e;
- public PlayerAbilities abilities = new PlayerAbilities();
-+ public int oldLevel = -1; // CraftBukkit - add field
- public int expLevel;
- public int expTotal;
- public float exp;
-@@ -47,6 +62,16 @@
+@@ -47,6 +61,17 @@
private boolean bI = false;
public EntityFishingHook hookedFish;
+ // CraftBukkit start
+ public boolean fauxSleeping;
+ public String spawnWorld = "";
++ public int oldLevel = -1;
+
+ @Override
+ public CraftHumanEntity getBukkitEntity() {
@@ -98,15 +80,6 @@
ItemStack itemstack = this.g.b(this.world, this);
if (itemstack != this.g || itemstack != null && itemstack.count != i) {
-@@ -283,7 +334,7 @@
- return this.getHealth() <= 0.0F || this.isSleeping();
- }
-
-- protected void closeInventory() {
-+ public void closeInventory() { // CraftBukkit - public
- this.activeContainer = this.defaultContainer;
- }
-
@@ -324,7 +375,8 @@
if (this.world.getDifficulty() == EnumDifficulty.PEACEFUL && this.world.getGameRules().getBoolean("naturalRegeneration")) {
diff --git a/nms-patches/EntityInsentient.patch b/nms-patches/EntityInsentient.patch
index 56ae2f6b..304ffa87 100644
--- a/nms-patches/EntityInsentient.patch
+++ b/nms-patches/EntityInsentient.patch
@@ -16,26 +16,17 @@
public abstract class EntityInsentient extends EntityLiving {
public int a_;
-@@ -13,14 +22,14 @@
+@@ -13,8 +22,8 @@
protected ControllerJump g;
private EntityAIBodyControl b;
protected NavigationAbstract navigation;
-- protected final PathfinderGoalSelector goalSelector;
-- protected final PathfinderGoalSelector targetSelector;
-+ public PathfinderGoalSelector goalSelector; // CraftBukkit - public
-+ public PathfinderGoalSelector targetSelector; // CraftBukkit - public
+- public final PathfinderGoalSelector goalSelector;
+- public final PathfinderGoalSelector targetSelector;
++ public PathfinderGoalSelector goalSelector; // PAIL: -final
++ public PathfinderGoalSelector targetSelector; // PAIL: -final
private EntityLiving goalTarget;
private EntitySenses bk;
private ItemStack[] equipment = new ItemStack[5];
-- protected float[] dropChances = new float[5];
-- private boolean canPickUpLoot;
-- private boolean persistent;
-+ public float[] dropChances = new float[5]; // CraftBukkit - public
-+ public boolean canPickUpLoot; // CraftBukkit - public
-+ public boolean persistent; // CraftBukkit - public
- private boolean bo;
- private Entity bp;
- private NBTTagCompound bq;
@@ -40,6 +49,9 @@
this.dropChances[i] = 0.085F;
}
diff --git a/nms-patches/EntityItem.patch b/nms-patches/EntityItem.patch
index 998260b9..bcc5bdca 100644
--- a/nms-patches/EntityItem.patch
+++ b/nms-patches/EntityItem.patch
@@ -1,18 +1,14 @@
--- a/net/minecraft/server/EntityItem.java
+++ b/net/minecraft/server/EntityItem.java
-@@ -4,15 +4,18 @@
+@@ -3,6 +3,7 @@
+ import java.util.Iterator;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
-
+import org.bukkit.event.player.PlayerPickupItemEvent; // CraftBukkit
-+
+
public class EntityItem extends Entity {
- private static final Logger b = LogManager.getLogger();
- private int age;
-- private int pickupDelay;
-+ public int pickupDelay; // CraftBukkit - public
- private int e;
+@@ -13,6 +14,7 @@
private String f;
private String g;
public float a;
@@ -20,7 +16,7 @@
public EntityItem(World world, double d0, double d1, double d2) {
super(world);
-@@ -28,6 +31,11 @@
+@@ -28,6 +30,11 @@
public EntityItem(World world, double d0, double d1, double d2, ItemStack itemstack) {
this(world, d0, d1, d2);
@@ -32,7 +28,7 @@
this.setItemStack(itemstack);
}
-@@ -52,9 +60,12 @@
+@@ -52,9 +59,12 @@
this.die();
} else {
super.t_();
@@ -48,7 +44,7 @@
this.lastX = this.locX;
this.lastY = this.locY;
-@@ -90,12 +101,21 @@
+@@ -90,12 +100,21 @@
this.motY *= -0.5D;
}
@@ -70,7 +66,7 @@
this.die();
}
-@@ -183,6 +203,11 @@
+@@ -183,6 +202,11 @@
} else if (this.getItemStack() != null && this.getItemStack().getItem() == Items.NETHER_STAR && damagesource.isExplosion()) {
return false;
} else {
@@ -82,7 +78,7 @@
this.ac();
this.e = (int) ((float) this.e - f);
if (this.e <= 0) {
-@@ -228,7 +253,18 @@
+@@ -228,7 +252,18 @@
NBTTagCompound nbttagcompound1 = nbttagcompound.getCompound("Item");
@@ -102,7 +98,7 @@
if (this.getItemStack() == null) {
this.die();
}
-@@ -240,6 +276,26 @@
+@@ -240,6 +275,26 @@
ItemStack itemstack = this.getItemStack();
int i = itemstack.count;
diff --git a/nms-patches/EntityLiving.patch b/nms-patches/EntityLiving.patch
index 43ffbff2..0b308536 100644
--- a/nms-patches/EntityLiving.patch
+++ b/nms-patches/EntityLiving.patch
@@ -1,6 +1,6 @@
--- a/net/minecraft/server/EntityLiving.java
+++ b/net/minecraft/server/EntityLiving.java
-@@ -10,13 +10,26 @@
+@@ -10,12 +10,25 @@
import java.util.Random;
import java.util.UUID;
@@ -22,43 +22,12 @@
private static final UUID a = UUID.fromString("662A6B8D-DA3E-4C1C-8813-96EA6097278D");
private static final AttributeModifier b = (new AttributeModifier(EntityLiving.a, "Sprinting speed boost", 0.30000001192092896D, 2)).a(false);
private AttributeMapBase c;
-- private final CombatTracker combatTracker = new CombatTracker(this);
-- private final Map<Integer, MobEffect> effects = Maps.newHashMap();
-+ public CombatTracker combatTracker = new CombatTracker(this); // CraftBukkit - public
-+ public final Map<Integer, MobEffect> effects = Maps.newHashMap(); // CraftBukkit - public
+- public final CombatTracker combatTracker = new CombatTracker(this);
++ public CombatTracker combatTracker = new CombatTracker(this);
+ public final Map<Integer, MobEffect> effects = Maps.newHashMap();
private final ItemStack[] h = new ItemStack[5];
public boolean ar;
- public int as;
-@@ -40,7 +53,7 @@
- public float aK;
- public float aL;
- public float aM = 0.02F;
-- protected EntityHuman killer;
-+ public EntityHuman killer;
- protected int lastDamageByPlayerTime;
- protected boolean aP;
- protected int ticksFarFromPlayer;
-@@ -50,7 +63,7 @@
- protected float aU;
- protected float aV;
- protected int aW;
-- protected float lastDamage;
-+ public float lastDamage; // CraftBukkit - public
- protected boolean aY;
- public float aZ;
- public float ba;
-@@ -61,14 +74,19 @@
- protected double bf;
- protected double bg;
- protected double bh;
-- private boolean updateEffects = true;
-- private EntityLiving lastDamager;
-- private int hurtTimestamp;
-+ public boolean updateEffects = true; // CraftBukkit - public
-+ public EntityLiving lastDamager; // CraftBukkit - public
-+ public int hurtTimestamp; // CraftBukkit - public
- private EntityLiving bk;
- private int bl;
+@@ -69,6 +82,11 @@
private float bm;
private int bn;
private float bo;
diff --git a/nms-patches/EntityPigZombie.patch b/nms-patches/EntityPigZombie.patch
deleted file mode 100644
index abf8c575..00000000
--- a/nms-patches/EntityPigZombie.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/net/minecraft/server/EntityPigZombie.java
-+++ b/net/minecraft/server/EntityPigZombie.java
-@@ -6,7 +6,7 @@
-
- private static final UUID b = UUID.fromString("49455A49-7EC5-45BA-B886-3B90B23A1718");
- private static final AttributeModifier c = (new AttributeModifier(EntityPigZombie.b, "Attacking speed boost", 0.05D, 0)).a(false);
-- private int angerLevel;
-+ public int angerLevel; // CraftBukkit - public
- private int soundDelay;
- private UUID hurtBy;
-
diff --git a/nms-patches/EntityPlayer.patch b/nms-patches/EntityPlayer.patch
index 7e1e7f52..fe51ea53 100644
--- a/nms-patches/EntityPlayer.patch
+++ b/nms-patches/EntityPlayer.patch
@@ -18,24 +18,6 @@
public class EntityPlayer extends EntityHuman implements ICrafting {
private static final Logger bH = LogManager.getLogger();
-@@ -23,14 +34,14 @@
- public double d;
- public double e;
- public final List<ChunkCoordIntPair> chunkCoordIntPairQueue = Lists.newLinkedList();
-- private final List<Integer> removeQueue = Lists.newLinkedList();
-+ public final List<Integer> removeQueue = Lists.newLinkedList(); // CraftBukkit - public
- private final ServerStatisticManager bK;
- private float bL = Float.MIN_VALUE;
- private float bM = -1.0E8F;
- private int bN = -99999999;
- private boolean bO = true;
-- private int lastSentExp = -99999999;
-- private int invulnerableTicks = 60;
-+ public int lastSentExp = -99999999; // CraftBukkit - public
-+ public int invulnerableTicks = 60; // CraftBukkit - public
- private EntityHuman.EnumChatVisibility bR;
- private boolean bS = true;
- private long bT = System.currentTimeMillis();
@@ -40,6 +51,18 @@
public int ping;
public boolean viewingCredits;
diff --git a/nms-patches/EntityPotion.patch b/nms-patches/EntityPotion.patch
index 52ad081f..d16a99c9 100644
--- a/nms-patches/EntityPotion.patch
+++ b/nms-patches/EntityPotion.patch
@@ -1,6 +1,6 @@
--- a/net/minecraft/server/EntityPotion.java
+++ b/net/minecraft/server/EntityPotion.java
-@@ -3,9 +3,16 @@
+@@ -3,6 +3,13 @@
import java.util.Iterator;
import java.util.List;
@@ -13,11 +13,7 @@
+
public class EntityPotion extends EntityProjectile {
-- private ItemStack item;
-+ public ItemStack item; // CraftBukkit - public
-
- public EntityPotion(World world) {
- super(world);
+ public ItemStack item;
@@ -57,13 +64,16 @@
if (!this.world.isClientSide) {
List list = Items.POTION.h(this.item);
diff --git a/nms-patches/EntityProjectile.patch b/nms-patches/EntityProjectile.patch
index 76354abc..460ea558 100644
--- a/nms-patches/EntityProjectile.patch
+++ b/nms-patches/EntityProjectile.patch
@@ -1,16 +1,5 @@
--- a/net/minecraft/server/EntityProjectile.java
+++ b/net/minecraft/server/EntityProjectile.java
-@@ -11,8 +11,8 @@
- private Block inBlockId;
- protected boolean inGround;
- public int shake;
-- private EntityLiving shooter;
-- private String shooterName;
-+ public EntityLiving shooter; // CraftBukkit - public
-+ public String shooterName; // CraftBukkit - public
- private int i;
- private int ar;
-
@@ -26,6 +26,7 @@
public EntityProjectile(World world, EntityLiving entityliving) {
super(world);
diff --git a/nms-patches/EntitySlime.patch b/nms-patches/EntitySlime.patch
index 519991cf..2e3333d6 100644
--- a/nms-patches/EntitySlime.patch
+++ b/nms-patches/EntitySlime.patch
@@ -10,15 +10,6 @@
public class EntitySlime extends EntityInsentient implements IMonster {
public float a;
-@@ -23,7 +27,7 @@
- this.datawatcher.a(16, Byte.valueOf((byte) 1));
- }
-
-- protected void setSize(int i) {
-+ public void setSize(int i) { // CraftBukkit - public
- this.datawatcher.watch(16, Byte.valueOf((byte) i));
- this.setSize(0.51000005F * (float) i, 0.51000005F * (float) i);
- this.setPosition(this.locX, this.locY, this.locZ);
@@ -133,6 +137,18 @@
if (!this.world.isClientSide && i > 1 && this.getHealth() <= 0.0F) {
int j = 2 + this.random.nextInt(3);
diff --git a/nms-patches/EntityTracker.patch b/nms-patches/EntityTracker.patch
index 7263da62..d42e4a60 100644
--- a/nms-patches/EntityTracker.patch
+++ b/nms-patches/EntityTracker.patch
@@ -1,14 +1,5 @@
--- a/net/minecraft/server/EntityTracker.java
+++ b/net/minecraft/server/EntityTracker.java
-@@ -14,7 +14,7 @@
- private static final Logger a = LogManager.getLogger();
- private final WorldServer world;
- private Set<EntityTrackerEntry> c = Sets.newHashSet();
-- private IntHashMap<EntityTrackerEntry> trackedEntities = new IntHashMap();
-+ public IntHashMap<EntityTrackerEntry> trackedEntities = new IntHashMap(); // CraftBukkit - public
- private int e;
-
- public EntityTracker(WorldServer worldserver) {
@@ -113,11 +113,12 @@
CrashReportSystemDetails crashreportsystemdetails = crashreport.a("Entity To Track");
diff --git a/nms-patches/EntityVillager.patch b/nms-patches/EntityVillager.patch
index 2f09fdba..93c14397 100644
--- a/nms-patches/EntityVillager.patch
+++ b/nms-patches/EntityVillager.patch
@@ -8,15 +8,6 @@
public class EntityVillager extends EntityAgeable implements IMerchant, NPC {
-@@ -20,7 +21,7 @@
- private int by;
- private boolean bz;
- private boolean bA;
-- private InventorySubcontainer inventory;
-+ public InventorySubcontainer inventory;
- private static final EntityVillager.IMerchantRecipeOption[][][][] bC = new EntityVillager.IMerchantRecipeOption[][][][] { { { { new EntityVillager.MerchantRecipeOptionBuy(Items.WHEAT, new EntityVillager.MerchantOptionRandomRange(18, 22)), new EntityVillager.MerchantRecipeOptionBuy(Items.POTATO, new EntityVillager.MerchantOptionRandomRange(15, 19)), new EntityVillager.MerchantRecipeOptionBuy(Items.CARROT, new EntityVillager.MerchantOptionRandomRange(15, 19)), new EntityVillager.MerchantRecipeOptionSell(Items.BREAD, new EntityVillager.MerchantOptionRandomRange(-4, -2))}, { new EntityVillager.MerchantRecipeOptionBuy(Item.getItemOf(Blocks.PUMPKIN), new EntityVillager.MerchantOptionRandomRange(8, 13)), new EntityVillager.MerchantRecipeOptionSell(Items.PUMPKIN_PIE, new EntityVillager.MerchantOptionRandomRange(-3, -2))}, { new EntityVillager.MerchantRecipeOptionBuy(Item.getItemOf(Blocks.MELON_BLOCK), new EntityVillager.MerchantOptionRandomRange(7, 12)), new EntityVillager.MerchantRecipeOptionSell(Items.APPLE, new EntityVillager.MerchantOptionRandomRange(-5, -7))}, { new EntityVillager.MerchantRecipeOptionSell(Items.COOKIE, new EntityVillager.MerchantOptionRandomRange(-6, -10)), new EntityVillager.MerchantRecipeOptionSell(Items.CAKE, new EntityVillager.MerchantOptionRandomRange(1, 1))}}, { { new EntityVillager.MerchantRecipeOptionBuy(Items.STRING, new EntityVillager.MerchantOptionRandomRange(15, 20)), new EntityVillager.MerchantRecipeOptionBuy(Items.COAL, new EntityVillager.MerchantOptionRandomRange(16, 24)), new EntityVillager.MerchantRecipeOptionProcess(Items.FISH, new EntityVillager.MerchantOptionRandomRange(6, 6), Items.COOKED_FISH, new EntityVillager.MerchantOptionRandomRange(6, 6))}, { new EntityVillager.MerchantRecipeOptionEnchant(Items.FISHING_ROD, new EntityVillager.MerchantOptionRandomRange(7, 8))}}, { { new EntityVillager.MerchantRecipeOptionBuy(Item.getItemOf(Blocks.WOOL), new EntityVillager.MerchantOptionRandomRange(16, 22)), new EntityVillager.MerchantRecipeOptionSell(Items.SHEARS, new EntityVillager.MerchantOptionRandomRange(3, 4))}, { new EntityVillager.MerchantRecipeOptionSell(new ItemStack(Item.getItemOf(Blocks.WOOL), 1, 0), new EntityVillager.MerchantOptionRandomRange(1, 2)), new EntityVillager.MerchantRecipeOptionSell(new ItemStack(Item.getItemOf(Blocks.WOOL), 1, 1), new EntityVillager.MerchantOptionRandomRange(1, 2)), new EntityVillager.MerchantRecipeOptionSell(new ItemStack(Item.getItemOf(Blocks.WOOL), 1, 2), new EntityVillager.MerchantOptionRandomRange(1, 2)), new EntityVillager.MerchantRecipeOptionSell(new ItemStack(Item.getItemOf(Blocks.WOOL), 1, 3), new EntityVillager.MerchantOptionRandomRange(1, 2)), new EntityVillager.MerchantRecipeOptionSell(new ItemStack(Item.getItemOf(Blocks.WOOL), 1, 4), new EntityVillager.MerchantOptionRandomRange(1, 2)), new EntityVillager.MerchantRecipeOptionSell(new ItemStack(Item.getItemOf(Blocks.WOOL), 1, 5), new EntityVillager.MerchantOptionRandomRange(1, 2)), new EntityVillager.MerchantRecipeOptionSell(new ItemStack(Item.getItemOf(Blocks.WOOL), 1, 6), new EntityVillager.MerchantOptionRandomRange(1, 2)), new EntityVillager.MerchantRecipeOptionSell(new ItemStack(Item.getItemOf(Blocks.WOOL), 1, 7), new EntityVillager.MerchantOptionRandomRange(1, 2)), new EntityVillager.MerchantRecipeOptionSell(new ItemStack(Item.getItemOf(Blocks.WOOL), 1, 8), new EntityVillager.MerchantOptionRandomRange(1, 2)), new EntityVillager.MerchantRecipeOptionSell(new ItemStack(Item.getItemOf(Blocks.WOOL), 1, 9), new EntityVillager.MerchantOptionRandomRange(1, 2)), new EntityVillager.MerchantRecipeOptionSell(new ItemStack(Item.getItemOf(Blocks.WOOL), 1, 10), new EntityVillager.MerchantOptionRandomRange(1, 2)), new EntityVillager.MerchantRecipeOptionSell(new ItemStack(Item.getItemOf(Blocks.WOOL), 1, 11), new EntityVillager.MerchantOptionRandomRange(1, 2)), new EntityVillager.MerchantRecipeOptionSell(new ItemStack(Item.getItemOf(Blocks.WOOL), 1, 12), new EntityVillager.MerchantOptionRandomRange(1, 2)), new EntityVillager.MerchantRecipeOptionSell(new ItemStack(Item.getItemOf(Blocks.WOOL), 1, 13), new EntityVillager.MerchantOptionRandomRange(1, 2)), new EntityVillager.MerchantRecipeOptionSell(new ItemStack(Item.getItemOf(Blocks.WOOL), 1, 14), new EntityVillager.MerchantOptionRandomRange(1, 2)), new EntityVillager.MerchantRecipeOptionSell(new ItemStack(Item.getItemOf(Blocks.WOOL), 1, 15), new EntityVillager.MerchantOptionRandomRange(1, 2))}}, { { new EntityVillager.MerchantRecipeOptionBuy(Items.STRING, new EntityVillager.MerchantOptionRandomRange(15, 20)), new EntityVillager.MerchantRecipeOptionSell(Items.ARROW, new EntityVillager.MerchantOptionRandomRange(-12, -8))}, { new EntityVillager.MerchantRecipeOptionSell(Items.BOW, new EntityVillager.MerchantOptionRandomRange(2, 3)), new EntityVillager.MerchantRecipeOptionProcess(Item.getItemOf(Blocks.GRAVEL), new EntityVillager.MerchantOptionRandomRange(10, 10), Items.FLINT, new EntityVillager.MerchantOptionRandomRange(6, 10))}}}, { { { new EntityVillager.MerchantRecipeOptionBuy(Items.PAPER, new EntityVillager.MerchantOptionRandomRange(24, 36)), new EntityVillager.MerchantRecipeOptionBook()}, { new EntityVillager.MerchantRecipeOptionBuy(Items.BOOK, new EntityVillager.MerchantOptionRandomRange(8, 10)), new EntityVillager.MerchantRecipeOptionSell(Items.COMPASS, new EntityVillager.MerchantOptionRandomRange(10, 12)), new EntityVillager.MerchantRecipeOptionSell(Item.getItemOf(Blocks.BOOKSHELF), new EntityVillager.MerchantOptionRandomRange(3, 4))}, { new EntityVillager.MerchantRecipeOptionBuy(Items.WRITTEN_BOOK, new EntityVillager.MerchantOptionRandomRange(2, 2)), new EntityVillager.MerchantRecipeOptionSell(Items.CLOCK, new EntityVillager.MerchantOptionRandomRange(10, 12)), new EntityVillager.MerchantRecipeOptionSell(Item.getItemOf(Blocks.GLASS), new EntityVillager.MerchantOptionRandomRange(-5, -3))}, { new EntityVillager.MerchantRecipeOptionBook()}, { new EntityVillager.MerchantRecipeOptionBook()}, { new EntityVillager.MerchantRecipeOptionSell(Items.NAME_TAG, new EntityVillager.MerchantOptionRandomRange(20, 22))}}}, { { { new EntityVillager.MerchantRecipeOptionBuy(Items.ROTTEN_FLESH, new EntityVillager.MerchantOptionRandomRange(36, 40)), new EntityVillager.MerchantRecipeOptionBuy(Items.GOLD_INGOT, new EntityVillager.MerchantOptionRandomRange(8, 10))}, { new EntityVillager.MerchantRecipeOptionSell(Items.REDSTONE, new EntityVillager.MerchantOptionRandomRange(-4, -1)), new EntityVillager.MerchantRecipeOptionSell(new ItemStack(Items.DYE, 1, EnumColor.BLUE.getInvColorIndex()), new EntityVillager.MerchantOptionRandomRange(-2, -1))}, { new EntityVillager.MerchantRecipeOptionSell(Items.ENDER_EYE, new EntityVillager.MerchantOptionRandomRange(7, 11)), new EntityVillager.MerchantRecipeOptionSell(Item.getItemOf(Blocks.GLOWSTONE), new EntityVillager.MerchantOptionRandomRange(-3, -1))}, { new EntityVillager.MerchantRecipeOptionSell(Items.EXPERIENCE_BOTTLE, new EntityVillager.MerchantOptionRandomRange(3, 11))}}}, { { { new EntityVillager.MerchantRecipeOptionBuy(Items.COAL, new EntityVillager.MerchantOptionRandomRange(16, 24)), new EntityVillager.MerchantRecipeOptionSell(Items.IRON_HELMET, new EntityVillager.MerchantOptionRandomRange(4, 6))}, { new EntityVillager.MerchantRecipeOptionBuy(Items.IRON_INGOT, new EntityVillager.MerchantOptionRandomRange(7, 9)), new EntityVillager.MerchantRecipeOptionSell(Items.IRON_CHESTPLATE, new EntityVillager.MerchantOptionRandomRange(10, 14))}, { new EntityVillager.MerchantRecipeOptionBuy(Items.DIAMOND, new EntityVillager.MerchantOptionRandomRange(3, 4)), new EntityVillager.MerchantRecipeOptionEnchant(Items.DIAMOND_CHESTPLATE, new EntityVillager.MerchantOptionRandomRange(16, 19))}, { new EntityVillager.MerchantRecipeOptionSell(Items.CHAINMAIL_BOOTS, new EntityVillager.MerchantOptionRandomRange(5, 7)), new EntityVillager.MerchantRecipeOptionSell(Items.CHAINMAIL_LEGGINGS, new EntityVillager.MerchantOptionRandomRange(9, 11)), new EntityVillager.MerchantRecipeOptionSell(Items.CHAINMAIL_HELMET, new EntityVillager.MerchantOptionRandomRange(5, 7)), new EntityVillager.MerchantRecipeOptionSell(Items.CHAINMAIL_CHESTPLATE, new EntityVillager.MerchantOptionRandomRange(11, 15))}}, { { new EntityVillager.MerchantRecipeOptionBuy(Items.COAL, new EntityVillager.MerchantOptionRandomRange(16, 24)), new EntityVillager.MerchantRecipeOptionSell(Items.IRON_AXE, new EntityVillager.MerchantOptionRandomRange(6, 8))}, { new EntityVillager.MerchantRecipeOptionBuy(Items.IRON_INGOT, new EntityVillager.MerchantOptionRandomRange(7, 9)), new EntityVillager.MerchantRecipeOptionEnchant(Items.IRON_SWORD, new EntityVillager.MerchantOptionRandomRange(9, 10))}, { new EntityVillager.MerchantRecipeOptionBuy(Items.DIAMOND, new EntityVillager.MerchantOptionRandomRange(3, 4)), new EntityVillager.MerchantRecipeOptionEnchant(Items.DIAMOND_SWORD, new EntityVillager.MerchantOptionRandomRange(12, 15)), new EntityVillager.MerchantRecipeOptionEnchant(Items.DIAMOND_AXE, new EntityVillager.MerchantOptionRandomRange(9, 12))}}, { { new EntityVillager.MerchantRecipeOptionBuy(Items.COAL, new EntityVillager.MerchantOptionRandomRange(16, 24)), new EntityVillager.MerchantRecipeOptionEnchant(Items.IRON_SHOVEL, new EntityVillager.MerchantOptionRandomRange(5, 7))}, { new EntityVillager.MerchantRecipeOptionBuy(Items.IRON_INGOT, new EntityVillager.MerchantOptionRandomRange(7, 9)), new EntityVillager.MerchantRecipeOptionEnchant(Items.IRON_PICKAXE, new EntityVillager.MerchantOptionRandomRange(9, 11))}, { new EntityVillager.MerchantRecipeOptionBuy(Items.DIAMOND, new EntityVillager.MerchantOptionRandomRange(3, 4)), new EntityVillager.MerchantRecipeOptionEnchant(Items.DIAMOND_PICKAXE, new EntityVillager.MerchantOptionRandomRange(12, 15))}}}, { { { new EntityVillager.MerchantRecipeOptionBuy(Items.PORKCHOP, new EntityVillager.MerchantOptionRandomRange(14, 18)), new EntityVillager.MerchantRecipeOptionBuy(Items.CHICKEN, new EntityVillager.MerchantOptionRandomRange(14, 18))}, { new EntityVillager.MerchantRecipeOptionBuy(Items.COAL, new EntityVillager.MerchantOptionRandomRange(16, 24)), new EntityVillager.MerchantRecipeOptionSell(Items.COOKED_PORKCHOP, new EntityVillager.MerchantOptionRandomRange(-7, -5)), new EntityVillager.MerchantRecipeOptionSell(Items.COOKED_CHICKEN, new EntityVillager.MerchantOptionRandomRange(-8, -6))}}, { { new EntityVillager.MerchantRecipeOptionBuy(Items.LEATHER, new EntityVillager.MerchantOptionRandomRange(9, 12)), new EntityVillager.MerchantRecipeOptionSell(Items.LEATHER_LEGGINGS, new EntityVillager.MerchantOptionRandomRange(2, 4))}, { new EntityVillager.MerchantRecipeOptionEnchant(Items.LEATHER_CHESTPLATE, new EntityVillager.MerchantOptionRandomRange(7, 12))}, { new EntityVillager.MerchantRecipeOptionSell(Items.SADDLE, new EntityVillager.MerchantOptionRandomRange(8, 10))}}}};
-
- public EntityVillager(World world) {
@@ -29,7 +30,7 @@
public EntityVillager(World world, int i) {
diff --git a/nms-patches/Explosion.patch b/nms-patches/Explosion.patch
index 1da3e5fa..9e09e327 100644
--- a/nms-patches/Explosion.patch
+++ b/nms-patches/Explosion.patch
@@ -14,12 +14,7 @@
public class Explosion {
private final boolean a;
-@@ -18,15 +25,16 @@
- private final double posX;
- private final double posY;
- private final double posZ;
-- private final Entity source;
-+ public final Entity source; // CraftBukkit - public
+@@ -22,11 +29,12 @@
private final float size;
private final List<BlockPosition> blocks = Lists.newArrayList();
private final Map<EntityHuman, Vec3D> k = Maps.newHashMap();
diff --git a/nms-patches/FoodMetaData.patch b/nms-patches/FoodMetaData.patch
index 6f032150..aaeab266 100644
--- a/nms-patches/FoodMetaData.patch
+++ b/nms-patches/FoodMetaData.patch
@@ -1,15 +1,8 @@
--- a/net/minecraft/server/FoodMetaData.java
+++ b/net/minecraft/server/FoodMetaData.java
-@@ -2,13 +2,21 @@
-
- public class FoodMetaData {
-
-- private int foodLevel = 20;
-- private float saturationLevel = 5.0F;
-- private float exhaustionLevel;
-+ public int foodLevel = 20; // CraftBukkit - public
-+ public float saturationLevel = 5.0F; // CraftBukkit - public
-+ public float exhaustionLevel; // CraftBukkit - public
+@@ -6,9 +6,17 @@
+ public float saturationLevel = 5.0F;
+ public float exhaustionLevel;
private int foodTickTimer;
+ private EntityHuman entityhuman; // CraftBukkit
private int e = 20;
diff --git a/nms-patches/InventoryLargeChest.patch b/nms-patches/InventoryLargeChest.patch
index facb1d3d..a23b0cf5 100644
--- a/nms-patches/InventoryLargeChest.patch
+++ b/nms-patches/InventoryLargeChest.patch
@@ -1,6 +1,6 @@
--- a/net/minecraft/server/InventoryLargeChest.java
+++ b/net/minecraft/server/InventoryLargeChest.java
-@@ -1,10 +1,54 @@
+@@ -1,11 +1,55 @@
package net.minecraft.server;
+// CraftBukkit start
@@ -13,11 +13,9 @@
public class InventoryLargeChest implements ITileInventory {
private String a;
-- private ITileInventory left;
-- private ITileInventory right;
-+ public ITileInventory left;
-+ public ITileInventory right;
-+
+ public ITileInventory left;
+ public ITileInventory right;
+
+ // CraftBukkit start - add fields and methods
+ public List<HumanEntity> transaction = new java.util.ArrayList<HumanEntity>();
+
@@ -54,9 +52,10 @@
+ this.right.setMaxStackSize(size);
+ }
+ // CraftBukkit end
-
++
public InventoryLargeChest(String s, ITileInventory itileinventory, ITileInventory itileinventory1) {
this.a = s;
+ if (itileinventory == null) {
@@ -68,7 +112,7 @@
}
diff --git a/nms-patches/InventorySubcontainer.patch b/nms-patches/InventorySubcontainer.patch
index 65a3f5e3..5cb52434 100644
--- a/nms-patches/InventorySubcontainer.patch
+++ b/nms-patches/InventorySubcontainer.patch
@@ -1,6 +1,6 @@
--- a/net/minecraft/server/InventorySubcontainer.java
+++ b/net/minecraft/server/InventorySubcontainer.java
-@@ -3,15 +3,56 @@
+@@ -3,6 +3,12 @@
import com.google.common.collect.Lists;
import java.util.List;
@@ -13,9 +13,7 @@
public class InventorySubcontainer implements IInventory {
private String a;
- private int b;
-- private ItemStack[] items;
-+ public ItemStack[] items; // CraftBukkit - public
+@@ -11,7 +17,42 @@
private List<IInventoryListener> d;
private boolean e;
diff --git a/nms-patches/JsonListEntry.patch b/nms-patches/JsonListEntry.patch
deleted file mode 100644
index 7e3bed75..00000000
--- a/nms-patches/JsonListEntry.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/net/minecraft/server/JsonListEntry.java
-+++ b/net/minecraft/server/JsonListEntry.java
-@@ -14,7 +14,7 @@
- this.a = t0;
- }
-
-- T getKey() {
-+ public T getKey() { // CraftBukkit - public
- return this.a;
- }
-
diff --git a/nms-patches/MinecraftServer.patch b/nms-patches/MinecraftServer.patch
index f4da9008..7902a219 100644
--- a/nms-patches/MinecraftServer.patch
+++ b/nms-patches/MinecraftServer.patch
@@ -1,6 +1,6 @@
--- a/net/minecraft/server/MinecraftServer.java
+++ b/net/minecraft/server/MinecraftServer.java
-@@ -38,14 +38,27 @@
+@@ -38,6 +38,19 @@
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
@@ -19,18 +19,7 @@
+
public abstract class MinecraftServer implements Runnable, ICommandListener, IAsyncTaskHandler, IMojangStatistics {
-- private static final Logger LOGGER = LogManager.getLogger();
-+ public static final Logger LOGGER = LogManager.getLogger(); // CraftBukkit - make public
- public static final File a = new File("usercache.json");
- private static MinecraftServer l;
-- private final Convertable convertable;
-+ public Convertable convertable; // CraftBukkit - remove final, public
- private final MojangStatisticsGenerator n = new MojangStatisticsGenerator("server", this, az());
-- private final File universe;
-+ public File universe; // CraftBukkit - remove final, public
- private final List<IUpdatePlayerListBox> p = Lists.newArrayList();
- protected final ICommandHandler b;
- public final MethodProfiler methodProfiler = new MethodProfiler();
+ public static final Logger LOGGER = LogManager.getLogger();
@@ -94,19 +107,61 @@
private Thread serverThread;
private long ab = az();
diff --git a/nms-patches/MobSpawnerAbstract.patch b/nms-patches/MobSpawnerAbstract.patch
index 7f53aa31..ccf99ef2 100644
--- a/nms-patches/MobSpawnerAbstract.patch
+++ b/nms-patches/MobSpawnerAbstract.patch
@@ -1,6 +1,6 @@
--- a/net/minecraft/server/MobSpawnerAbstract.java
+++ b/net/minecraft/server/MobSpawnerAbstract.java
-@@ -4,9 +4,11 @@
+@@ -4,6 +4,8 @@
import java.util.Iterator;
import java.util.List;
@@ -8,17 +8,10 @@
+
public abstract class MobSpawnerAbstract {
-- private int spawnDelay = 20;
-+ public int spawnDelay = 20; // CraftBukkit - public
- private String mobName = "Pig";
- private final List<MobSpawnerAbstract.a> mobs = Lists.newArrayList();
- private MobSpawnerAbstract.a spawnData;
-@@ -22,8 +24,13 @@
+ public int spawnDelay = 20;
+@@ -24,6 +26,11 @@
- public MobSpawnerAbstract() {}
-
-- private String getMobName() {
-+ public String getMobName() { // CraftBukkit - public
+ public String getMobName() {
if (this.i() == null) {
+ // CraftBukkit start - fix NPE
+ if (this.mobName == null) {
diff --git a/nms-patches/NetworkManager.patch b/nms-patches/NetworkManager.patch
index b032e3bc..b41fb161 100644
--- a/nms-patches/NetworkManager.patch
+++ b/nms-patches/NetworkManager.patch
@@ -1,14 +1,5 @@
--- a/net/minecraft/server/NetworkManager.java
+++ b/net/minecraft/server/NetworkManager.java
-@@ -63,7 +63,7 @@
- private final EnumProtocolDirection h;
- private final Queue<NetworkManager.QueuedPacket> i = Queues.newConcurrentLinkedQueue();
- private final ReentrantReadWriteLock j = new ReentrantReadWriteLock();
-- private Channel channel;
-+ public Channel channel; // CraftBukkit - public
- private SocketAddress l;
- private PacketListener m;
- private IChatBaseComponent n;
@@ -231,7 +231,7 @@
public void close(IChatBaseComponent ichatbasecomponent) {
diff --git a/nms-patches/PacketPlayOutBlockChange.patch b/nms-patches/PacketPlayOutBlockChange.patch
deleted file mode 100644
index 6e76c1ac..00000000
--- a/nms-patches/PacketPlayOutBlockChange.patch
+++ /dev/null
@@ -1,20 +0,0 @@
---- a/net/minecraft/server/PacketPlayOutBlockChange.java
-+++ b/net/minecraft/server/PacketPlayOutBlockChange.java
-@@ -5,7 +5,7 @@
- public class PacketPlayOutBlockChange implements Packet<PacketListenerPlayOut> {
-
- private BlockPosition a;
-- private IBlockData block;
-+ public IBlockData block; // CraftBukkit - public
-
- public PacketPlayOutBlockChange() {}
-
-@@ -27,8 +27,4 @@
- public void a(PacketListenerPlayOut packetlistenerplayout) {
- packetlistenerplayout.a(this);
- }
--
-- public void a(PacketListener packetlistener) {
-- this.a((PacketListenerPlayOut) packetlistener);
-- }
- }
diff --git a/nms-patches/PacketPlayOutSpawnPosition.patch b/nms-patches/PacketPlayOutSpawnPosition.patch
deleted file mode 100644
index 5c12d449..00000000
--- a/nms-patches/PacketPlayOutSpawnPosition.patch
+++ /dev/null
@@ -1,20 +0,0 @@
---- a/net/minecraft/server/PacketPlayOutSpawnPosition.java
-+++ b/net/minecraft/server/PacketPlayOutSpawnPosition.java
-@@ -4,7 +4,7 @@
-
- public class PacketPlayOutSpawnPosition implements Packet<PacketListenerPlayOut> {
-
-- private BlockPosition position;
-+ public BlockPosition position; // CraftBukkit - public
-
- public PacketPlayOutSpawnPosition() {}
-
-@@ -23,8 +23,4 @@
- public void a(PacketListenerPlayOut packetlistenerplayout) {
- packetlistenerplayout.a(this);
- }
--
-- public void a(PacketListener packetlistener) {
-- this.a((PacketListenerPlayOut) packetlistener);
-- }
- }
diff --git a/nms-patches/PlayerAbilities.patch b/nms-patches/PlayerAbilities.patch
deleted file mode 100644
index 22a1ceb2..00000000
--- a/nms-patches/PlayerAbilities.patch
+++ /dev/null
@@ -1,13 +0,0 @@
---- a/net/minecraft/server/PlayerAbilities.java
-+++ b/net/minecraft/server/PlayerAbilities.java
-@@ -7,8 +7,8 @@
- public boolean canFly;
- public boolean canInstantlyBuild;
- public boolean mayBuild = true;
-- private float flySpeed = 0.05F;
-- private float walkSpeed = 0.1F;
-+ public float flySpeed = 0.05F; // CraftBukkit - public
-+ public float walkSpeed = 0.1F; // CraftBukkit - public
-
- public PlayerAbilities() {}
-
diff --git a/nms-patches/PlayerList.patch b/nms-patches/PlayerList.patch
index 5ebf6bd6..28ca82c0 100644
--- a/nms-patches/PlayerList.patch
+++ b/nms-patches/PlayerList.patch
@@ -27,23 +27,15 @@
public abstract class PlayerList {
public static final File a = new File("banned-players.json");
-@@ -27,14 +47,14 @@
+@@ -27,7 +47,7 @@
private static final Logger f = LogManager.getLogger();
private static final SimpleDateFormat g = new SimpleDateFormat("yyyy-MM-dd \'at\' HH:mm:ss z");
private final MinecraftServer server;
-- private final List<EntityPlayer> players = Lists.newArrayList();
-+ public final List<EntityPlayer> players = new java.util.concurrent.CopyOnWriteArrayList(); // CraftBukkit - ArrayList -> CopyOnWriteArrayList: Iterator safety, public
+- public final List<EntityPlayer> players = Lists.newArrayList();
++ public final List<EntityPlayer> players = new java.util.concurrent.CopyOnWriteArrayList(); // CraftBukkit - ArrayList -> CopyOnWriteArrayList: Iterator safety
private final Map<UUID, EntityPlayer> j = Maps.newHashMap();
private final GameProfileBanList k;
private final IpBanList l;
- private final OpList operators;
- private final WhiteList whitelist;
- private final Map<UUID, ServerStatisticManager> o;
-- private IPlayerFileData playerFileData;
-+ public IPlayerFileData playerFileData; // CraftBukkit - public
- private boolean hasWhitelist;
- protected int maxPlayers;
- private int r;
@@ -42,7 +62,15 @@
private boolean t;
private int u;
@@ -121,7 +113,7 @@
playerconnection.a(entityplayer.locX, entityplayer.locY, entityplayer.locZ, entityplayer.yaw, entityplayer.pitch);
this.b(entityplayer, worldserver);
if (this.server.getResourcePack().length() > 0) {
-@@ -126,9 +168,11 @@
+@@ -126,6 +168,8 @@
}
}
@@ -129,11 +121,7 @@
+ PlayerList.f.info(entityplayer.getName() + "[" + s1 + "] logged in with entity id " + entityplayer.getId() + " at ([" + entityplayer.world.worldData.getName() + "]" + entityplayer.locX + ", " + entityplayer.locY + ", " + entityplayer.locZ + ")");
}
-- protected void sendScoreboard(ScoreboardServer scoreboardserver, EntityPlayer entityplayer) {
-+ public void sendScoreboard(ScoreboardServer scoreboardserver, EntityPlayer entityplayer) { // CraftBukkit - public
- HashSet hashset = Sets.newHashSet();
- Iterator iterator = scoreboardserver.getTeams().iterator();
-
+ public void sendScoreboard(ScoreboardServer scoreboardserver, EntityPlayer entityplayer) {
@@ -158,6 +202,7 @@
}
diff --git a/nms-patches/PropertyManager.patch b/nms-patches/PropertyManager.patch
index 6d519547..c312cda9 100644
--- a/nms-patches/PropertyManager.patch
+++ b/nms-patches/PropertyManager.patch
@@ -1,6 +1,6 @@
--- a/net/minecraft/server/PropertyManager.java
+++ b/net/minecraft/server/PropertyManager.java
-@@ -8,10 +8,12 @@
+@@ -8,6 +8,8 @@
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
@@ -9,11 +9,6 @@
public class PropertyManager {
private static final Logger a = LogManager.getLogger();
-- private final Properties properties = new Properties();
-+ public final Properties properties = new Properties(); // CraftBukkit - public
- private final File file;
-
- public PropertyManager(File file) {
@@ -42,6 +44,24 @@
}
diff --git a/nms-patches/RecipesFurnace.patch b/nms-patches/RecipesFurnace.patch
index 81a30b8e..79bae8ab 100644
--- a/nms-patches/RecipesFurnace.patch
+++ b/nms-patches/RecipesFurnace.patch
@@ -1,11 +1,8 @@
--- a/net/minecraft/server/RecipesFurnace.java
+++ b/net/minecraft/server/RecipesFurnace.java
-@@ -8,14 +8,15 @@
- public class RecipesFurnace {
-
+@@ -10,12 +10,13 @@
private static final RecipesFurnace a = new RecipesFurnace();
-- private Map<ItemStack, ItemStack> recipes = Maps.newHashMap();
-+ public Map<ItemStack, ItemStack> recipes = Maps.newHashMap(); // CraftBukkit - public
+ public Map<ItemStack, ItemStack> recipes = Maps.newHashMap();
private Map<ItemStack, Float> c = Maps.newHashMap();
+ public Map customRecipes = Maps.newHashMap(); // CraftBukkit - add field
@@ -14,7 +11,7 @@
}
- private RecipesFurnace() {
-+ public RecipesFurnace() { // CraftBukkit - public
++ public RecipesFurnace() { // PAIL: Public
this.registerRecipe(Blocks.IRON_ORE, new ItemStack(Items.IRON_INGOT), 0.7F);
this.registerRecipe(Blocks.GOLD_ORE, new ItemStack(Items.GOLD_INGOT), 1.0F);
this.registerRecipe(Blocks.DIAMOND_ORE, new ItemStack(Items.DIAMOND), 1.0F);
diff --git a/nms-patches/Slot.patch b/nms-patches/Slot.patch
index 5814e07a..a9b73d5c 100644
--- a/nms-patches/Slot.patch
+++ b/nms-patches/Slot.patch
@@ -1,14 +1,5 @@
--- a/net/minecraft/server/Slot.java
+++ b/net/minecraft/server/Slot.java
-@@ -2,7 +2,7 @@
-
- public class Slot {
-
-- private final int index;
-+ public final int index; // CraftBukkit - public
- public final IInventory inventory;
- public int rawSlotIndex;
- public int f;
@@ -45,6 +45,9 @@
}
diff --git a/nms-patches/TileEntityBanner.patch b/nms-patches/TileEntityBanner.patch
deleted file mode 100644
index 652ebca1..00000000
--- a/nms-patches/TileEntityBanner.patch
+++ /dev/null
@@ -1,13 +0,0 @@
---- a/net/minecraft/server/TileEntityBanner.java
-+++ b/net/minecraft/server/TileEntityBanner.java
-@@ -4,8 +4,8 @@
-
- public class TileEntityBanner extends TileEntity {
-
-- private int color;
-- private NBTTagList patterns;
-+ public int color; // CraftBukkit - public
-+ public NBTTagList patterns; // CraftBukkit - public
- private boolean g;
- private List<TileEntityBanner.EnumBannerPatternType> h;
- private List<EnumColor> i;
diff --git a/nms-patches/TileEntityBrewingStand.patch b/nms-patches/TileEntityBrewingStand.patch
index 14805aa5..d0158f54 100644
--- a/nms-patches/TileEntityBrewingStand.patch
+++ b/nms-patches/TileEntityBrewingStand.patch
@@ -1,6 +1,6 @@
--- a/net/minecraft/server/TileEntityBrewingStand.java
+++ b/net/minecraft/server/TileEntityBrewingStand.java
-@@ -3,18 +3,50 @@
+@@ -3,6 +3,12 @@
import java.util.Arrays;
import java.util.List;
@@ -13,10 +13,7 @@
public class TileEntityBrewingStand extends TileEntityContainer implements IUpdatePlayerListBox, IWorldInventory {
private static final int[] a = new int[] { 3};
- private static final int[] f = new int[] { 0, 1, 2};
- private ItemStack[] items = new ItemStack[4];
-- private int brewTime;
-+ public int brewTime; // CraftBukkit - public
+@@ -12,9 +18,35 @@
private boolean[] i;
private Item j;
private String k;
diff --git a/nms-patches/TileEntityFurnace.patch b/nms-patches/TileEntityFurnace.patch
index 5b4f80b3..796d323f 100644
--- a/nms-patches/TileEntityFurnace.patch
+++ b/nms-patches/TileEntityFurnace.patch
@@ -1,6 +1,6 @@
--- a/net/minecraft/server/TileEntityFurnace.java
+++ b/net/minecraft/server/TileEntityFurnace.java
-@@ -1,17 +1,53 @@
+@@ -1,5 +1,15 @@
package net.minecraft.server;
+// CraftBukkit start
@@ -16,14 +16,7 @@
public class TileEntityFurnace extends TileEntityContainer implements IUpdatePlayerListBox, IWorldInventory {
private static final int[] a = new int[] { 0};
- private static final int[] f = new int[] { 2, 1};
- private static final int[] g = new int[] { 1};
- private ItemStack[] items = new ItemStack[3];
-- private int burnTime;
-+ public int burnTime; // CraftBukkit - public
- private int ticksForCurrentFuel;
-- private int cookTime;
-+ public int cookTime; // CraftBukkit - public
+@@ -12,6 +22,32 @@
private int cookTimeTotal;
private String m;
diff --git a/nms-patches/TileEntitySign.patch b/nms-patches/TileEntitySign.patch
index c0849289..0b6fdcfe 100644
--- a/nms-patches/TileEntitySign.patch
+++ b/nms-patches/TileEntitySign.patch
@@ -1,14 +1,5 @@
--- a/net/minecraft/server/TileEntitySign.java
+++ b/net/minecraft/server/TileEntitySign.java
-@@ -6,7 +6,7 @@
-
- public final IChatBaseComponent[] lines = new IChatBaseComponent[] { new ChatComponentText(""), new ChatComponentText(""), new ChatComponentText(""), new ChatComponentText("")};
- public int f = -1;
-- private boolean isEditable = true;
-+ public boolean isEditable = true; // CraftBukkit - public
- private EntityHuman h;
- private final CommandObjectiveExecutor i = new CommandObjectiveExecutor();
-
@@ -21,6 +21,12 @@
nbttagcompound.setString("Text" + (i + 1), s);
}
diff --git a/nms-patches/WorldServer.patch b/nms-patches/WorldServer.patch
index 09dd7132..24b44747 100644
--- a/nms-patches/WorldServer.patch
+++ b/nms-patches/WorldServer.patch
@@ -21,13 +21,12 @@
private static final Logger a = LogManager.getLogger();
private final MinecraftServer server;
-- private final EntityTracker tracker;
-+ public EntityTracker tracker; // CraftBukkit - public, remove final
+ public EntityTracker tracker;
private final PlayerChunkMap manager;
- private final Set<NextTickListEntry> L = Sets.newHashSet();
- private final TreeSet<NextTickListEntry> M = new TreeSet();
-+ // private final Set<NextTickListEntry> L = Sets.newHashSet(); // CraftBukkit, PAIL: Rename nextTickListHash
-+ private final HashTreeSet<NextTickListEntry> M = new HashTreeSet<NextTickListEntry>(); // CraftBukkit - HashTreeSet, PAIL: Rename nextTickList
++ // private final Set<NextTickListEntry> L = Sets.newHashSet(); // PAIL: Rename nextTickListHash
++ private final TreeSet<NextTickListEntry> M = new TreeSet(); // CraftBukkit - HashTreeSet // PAIL: Rename nextTickList
private final Map<UUID, Entity> entitiesByUUID = Maps.newHashMap();
public ChunkProviderServer chunkProviderServer;
public boolean savingDisabled;