From 89c99e9d2852ab3cc933c5574791f5a84deff92d Mon Sep 17 00:00:00 2001 From: md_5 Date: Wed, 1 May 2013 08:33:27 +1000 Subject: [PATCH] [CAUTION] Initial 1.5.2 update - I have NOT had time to TEST. DO NOT use on production server WITHOUT TESTING FIRST. --- Bukkit-Patches/0001-Spigot-POM-Changes.patch | 6 +- CraftBukkit-Patches/0001-POM-Changes.patch | 8 +- CraftBukkit-Patches/0003-Spigot-Changes.patch | 22 ++--- ...ning-of-NibbleArrays-only-allocate-b.patch | 92 +++++++++---------- ...zation-sleep-for-as-long-as-possible.patch | 10 +- .../0013-Improved-Timings-System.patch | 28 +++--- .../0019-Watchdog-Thread.patch | 8 +- CraftBukkit-Patches/0020-Netty.patch | 16 ++-- ...-3667-Faux-sleepers-wake-up-normally.patch | 6 +- .../0032-Texture-Pack-Resolutions.patch | 8 +- 10 files changed, 102 insertions(+), 102 deletions(-) diff --git a/Bukkit-Patches/0001-Spigot-POM-Changes.patch b/Bukkit-Patches/0001-Spigot-POM-Changes.patch index fc465c0..e09569f 100644 --- a/Bukkit-Patches/0001-Spigot-POM-Changes.patch +++ b/Bukkit-Patches/0001-Spigot-POM-Changes.patch @@ -1,11 +1,11 @@ -From 4145a7b047d2cc0496d18c6326b17811ec6ec5e9 Mon Sep 17 00:00:00 2001 +From 3f9b2f27b3535d47b22935dcec3b4c4a1a890298 Mon Sep 17 00:00:00 2001 From: md_5 Date: Wed, 30 Jan 2013 23:44:29 -0500 Subject: [PATCH] Spigot POM Changes. diff --git a/pom.xml b/pom.xml -index 9fb5ef7..66b7b98 100644 +index d73d4bf..4985143 100644 --- a/pom.xml +++ b/pom.xml @@ -1,43 +1,23 @@ @@ -23,7 +23,7 @@ index 9fb5ef7..66b7b98 100644 + + org.spigotmc + spigot-api - 1.5.1-R0.3-SNAPSHOT + 1.5.2-R0.1-SNAPSHOT - Bukkit - http://www.bukkit.org + Spigot-API diff --git a/CraftBukkit-Patches/0001-POM-Changes.patch b/CraftBukkit-Patches/0001-POM-Changes.patch index f2c5091..b9cd57e 100644 --- a/CraftBukkit-Patches/0001-POM-Changes.patch +++ b/CraftBukkit-Patches/0001-POM-Changes.patch @@ -1,11 +1,11 @@ -From 86c6d642660dc7d304cd60d893b86873dbc175ac Mon Sep 17 00:00:00 2001 +From ef78745a8354083dc6747241dab14fbffb8c0102 Mon Sep 17 00:00:00 2001 From: md_5 Date: Tue, 23 Apr 2013 11:34:54 +1000 Subject: [PATCH] POM Changes diff --git a/pom.xml b/pom.xml -index 9ff95c6..3e02cc3 100644 +index 01a7a89..3c6062e 100644 --- a/pom.xml +++ b/pom.xml @@ -1,12 +1,20 @@ @@ -25,7 +25,7 @@ index 9ff95c6..3e02cc3 100644 + org.spigotmc + spigot jar - 1.5.1-R0.3-SNAPSHOT + 1.5.2-R0.1-SNAPSHOT - CraftBukkit - http://www.bukkit.org + Spigot @@ -34,7 +34,7 @@ index 9ff95c6..3e02cc3 100644 UTF-8 @@ -16,25 +24,6 @@ - 1_5_R2 + 1_5_R3 - diff --git a/CraftBukkit-Patches/0003-Spigot-Changes.patch b/CraftBukkit-Patches/0003-Spigot-Changes.patch index 180188a..69d70b6 100644 --- a/CraftBukkit-Patches/0003-Spigot-Changes.patch +++ b/CraftBukkit-Patches/0003-Spigot-Changes.patch @@ -1,4 +1,4 @@ -From 7218beba91a88a416da41d317a18909ab8a5cefd Mon Sep 17 00:00:00 2001 +From 4515bd7b5db7b0a91eef7fb323cfea8dbec70349 Mon Sep 17 00:00:00 2001 From: md_5 Date: Tue, 23 Apr 2013 11:17:36 +1000 Subject: [PATCH] Spigot Changes @@ -143,7 +143,7 @@ index 8339a35..c17ce36 100644 if (l < 7) { diff --git a/src/main/java/net/minecraft/server/ChunkRegionLoader.java b/src/main/java/net/minecraft/server/ChunkRegionLoader.java -index 3d0c23d..57f39c1 100644 +index bee715b..9643480 100644 --- a/src/main/java/net/minecraft/server/ChunkRegionLoader.java +++ b/src/main/java/net/minecraft/server/ChunkRegionLoader.java @@ -13,8 +13,7 @@ import java.util.Set; @@ -239,7 +239,7 @@ index 3d0c23d..57f39c1 100644 if (pendingchunktosave != null) { diff --git a/src/main/java/net/minecraft/server/EntityItem.java b/src/main/java/net/minecraft/server/EntityItem.java -index a28d233..e7481dd 100644 +index 0225f53..a8f1799 100644 --- a/src/main/java/net/minecraft/server/EntityItem.java +++ b/src/main/java/net/minecraft/server/EntityItem.java @@ -62,6 +62,7 @@ public class EntityItem extends Entity { @@ -259,7 +259,7 @@ index a28d233..e7481dd 100644 // ++this.age; // CraftBukkit - Moved up if (!this.world.isStatic && this.age >= 6000) { diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index c81793a..133c310 100644 +index 55873f5..0f6a0ae 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java @@ -840,8 +840,20 @@ public class PlayerConnection extends Connection { @@ -305,7 +305,7 @@ index c81793a..133c310 100644 } } diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java -index ed670d9..da7ad33 100644 +index 9e574be..900b6b8 100644 --- a/src/main/java/net/minecraft/server/PlayerList.java +++ b/src/main/java/net/minecraft/server/PlayerList.java @@ -305,7 +305,7 @@ public abstract class PlayerList { @@ -333,7 +333,7 @@ index ed670d9..da7ad33 100644 } diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index d896f69..a77f48d 100644 +index a7de90e..9181e37 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -66,14 +66,27 @@ public abstract class World implements IBlockAccess { @@ -458,7 +458,7 @@ index d896f69..a77f48d 100644 + protected float modifiedOdds = 100F; + public float growthOdds = 100F; + - protected void A() { + protected void B() { // this.chunkTickList.clear(); // CraftBukkit - removed this.methodProfiler.a("buildList"); @@ -1954,25 +2014,42 @@ public abstract class World implements IBlockAccess { @@ -528,7 +528,7 @@ index d896f69..a77f48d 100644 entityhuman = (EntityHuman) this.players.get(i); j = MathHelper.floor(entityhuman.locX) + this.random.nextInt(11) - 5; diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index 6d8495f..0b7ac47 100644 +index 49360c1..8114910 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java @@ -1,5 +1,7 @@ @@ -585,7 +585,7 @@ index 6d8495f..0b7ac47 100644 if (block != null && block.isTicking()) { ++i; -- block.a(this, k2 + k, i3 + chunksection.d(), l2 + l, this.random); +- block.a(this, k2 + k, i3 + chunksection.getYPosition(), l2 + l, this.random); + // Spigot start + if (players < 1) { + // grow fast if no players are in this chunk @@ -594,7 +594,7 @@ index 6d8495f..0b7ac47 100644 + this.growthOdds = 100; + } + for (int c = 0; c < ((block.id == Block.SAPLING.id) ? 1 : getWorld().aggregateTicks); c++) { -+ block.a(this, k2 + k, i3 + chunksection.d(), l2 + l, this.random); ++ block.a(this, k2 + k, i3 + chunksection.getYPosition(), l2 + l, this.random); + } + // Spigot end } @@ -727,7 +727,7 @@ index 8a079d3..e5ceed1 100644 player.sendMessage(ChatColor.RED + "An internal error occurred while attempting to tab-complete this command"); getLogger().log(Level.SEVERE, "Exception when " + player.getName() + " attempted to tab complete " + message, ex); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index b5a68af..9da842e 100644 +index 6c7f570..63e8e69 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -77,7 +77,76 @@ public class CraftWorld implements World { diff --git a/CraftBukkit-Patches/0009-Implement-lightening-of-NibbleArrays-only-allocate-b.patch b/CraftBukkit-Patches/0009-Implement-lightening-of-NibbleArrays-only-allocate-b.patch index 1762138..d088616 100644 --- a/CraftBukkit-Patches/0009-Implement-lightening-of-NibbleArrays-only-allocate-b.patch +++ b/CraftBukkit-Patches/0009-Implement-lightening-of-NibbleArrays-only-allocate-b.patch @@ -1,4 +1,4 @@ -From c049344dec44e8f266b1f692fd9384936911c826 Mon Sep 17 00:00:00 2001 +From 7040b62affceb63b6dd01382023f17fd136450aa Mon Sep 17 00:00:00 2001 From: Mike Primm Date: Sun, 13 Jan 2013 03:49:07 -0800 Subject: [PATCH] Implement 'lightening' of NibbleArrays - only allocate @@ -10,32 +10,32 @@ Finish up NibbleArray lightening work - use for Snapshots, reduce copies Fix nibble handling with NBT - arrays aren't copied by NBTByteArray diff --git a/src/main/java/net/minecraft/server/ChunkRegionLoader.java b/src/main/java/net/minecraft/server/ChunkRegionLoader.java -index 57f39c1..1e97aff 100644 +index 9643480..364776f 100644 --- a/src/main/java/net/minecraft/server/ChunkRegionLoader.java +++ b/src/main/java/net/minecraft/server/ChunkRegionLoader.java -@@ -239,15 +239,15 @@ public class ChunkRegionLoader implements IAsyncChunkSaver, IChunkLoader { - nbttagcompound1.setByte("Y", (byte) (chunksection.d() >> 4 & 255)); - nbttagcompound1.setByteArray("Blocks", chunksection.g()); - if (chunksection.i() != null) { -- nbttagcompound1.setByteArray("Add", chunksection.i().a); -+ nbttagcompound1.setByteArray("Add", chunksection.i().getValueArray()); // Spigot +@@ -243,15 +243,15 @@ public class ChunkRegionLoader implements IAsyncChunkSaver, IChunkLoader { + nbttagcompound1.setByte("Y", (byte) (chunksection.getYPosition() >> 4 & 255)); + nbttagcompound1.setByteArray("Blocks", chunksection.getIdArray()); + if (chunksection.getExtendedIdArray() != null) { +- nbttagcompound1.setByteArray("Add", chunksection.getExtendedIdArray().a); ++ nbttagcompound1.setByteArray("Add", chunksection.getExtendedIdArray().getValueArray()); // Spigot } -- nbttagcompound1.setByteArray("Data", chunksection.j().a); -- nbttagcompound1.setByteArray("BlockLight", chunksection.k().a); -+ nbttagcompound1.setByteArray("Data", chunksection.j().getValueArray()); // Spigot -+ nbttagcompound1.setByteArray("BlockLight", chunksection.k().getValueArray()); // Spigot +- nbttagcompound1.setByteArray("Data", chunksection.getDataArray().a); +- nbttagcompound1.setByteArray("BlockLight", chunksection.getEmittedLightArray().a); ++ nbttagcompound1.setByteArray("Data", chunksection.getDataArray().getValueArray()); // Spigot ++ nbttagcompound1.setByteArray("BlockLight", chunksection.getEmittedLightArray().getValueArray()); // Spigot if (flag) { -- nbttagcompound1.setByteArray("SkyLight", chunksection.l().a); -+ nbttagcompound1.setByteArray("SkyLight", chunksection.l().getValueArray()); // Spigot +- nbttagcompound1.setByteArray("SkyLight", chunksection.getSkyLightArray().a); ++ nbttagcompound1.setByteArray("SkyLight", chunksection.getSkyLightArray().getValueArray()); // Spigot } else { -- nbttagcompound1.setByteArray("SkyLight", new byte[chunksection.k().a.length]); -+ nbttagcompound1.setByteArray("SkyLight", new byte[chunksection.k().getValueArray().length]); // Spigot +- nbttagcompound1.setByteArray("SkyLight", new byte[chunksection.getEmittedLightArray().a.length]); ++ nbttagcompound1.setByteArray("SkyLight", new byte[chunksection.getEmittedLightArray().getValueArray().length]); // Spigot } nbttaglist.add(nbttagcompound1); diff --git a/src/main/java/net/minecraft/server/ChunkSection.java b/src/main/java/net/minecraft/server/ChunkSection.java -index bac819f..da57d90 100644 +index 3f67a19..e69afba 100644 --- a/src/main/java/net/minecraft/server/ChunkSection.java +++ b/src/main/java/net/minecraft/server/ChunkSection.java @@ -134,7 +134,8 @@ public class ChunkSection { @@ -62,7 +62,7 @@ index bac819f..da57d90 100644 this.nonEmptyBlockCount = cntNonEmpty; this.tickingBlockCount = cntTicking; @@ -225,12 +232,11 @@ public class ChunkSection { - public void a(NibbleArray nibblearray) { + public void setExtendedIdArray(NibbleArray nibblearray) { // CraftBukkit start - Don't hang on to an empty nibble array boolean empty = true; - for (int i = 0; i < nibblearray.a.length; i++) { @@ -269,13 +269,13 @@ index 53c1cb5..9a9e20f 100644 } } diff --git a/src/main/java/net/minecraft/server/Packet51MapChunk.java b/src/main/java/net/minecraft/server/Packet51MapChunk.java -index 14a6245..ee179be 100644 +index 97c953b..3c3bdbf 100644 --- a/src/main/java/net/minecraft/server/Packet51MapChunk.java +++ b/src/main/java/net/minecraft/server/Packet51MapChunk.java @@ -139,16 +139,22 @@ public class Packet51MapChunk extends Packet { for (l = 0; l < achunksection.length; ++l) { - if (achunksection[l] != null && (!flag || !achunksection[l].a()) && (i & 1 << l) != 0) { - nibblearray = achunksection[l].j(); + if (achunksection[l] != null && (!flag || !achunksection[l].isEmpty()) && (i & 1 << l) != 0) { + nibblearray = achunksection[l].getDataArray(); - System.arraycopy(nibblearray.a, 0, abyte, j, nibblearray.a.length); - j += nibblearray.a.length; + // Spigot start @@ -287,8 +287,8 @@ index 14a6245..ee179be 100644 } for (l = 0; l < achunksection.length; ++l) { - if (achunksection[l] != null && (!flag || !achunksection[l].a()) && (i & 1 << l) != 0) { - nibblearray = achunksection[l].k(); + if (achunksection[l] != null && (!flag || !achunksection[l].isEmpty()) && (i & 1 << l) != 0) { + nibblearray = achunksection[l].getEmittedLightArray(); - System.arraycopy(nibblearray.a, 0, abyte, j, nibblearray.a.length); - j += nibblearray.a.length; + // Spigot start @@ -301,8 +301,8 @@ index 14a6245..ee179be 100644 @@ -156,8 +162,11 @@ public class Packet51MapChunk extends Packet { for (l = 0; l < achunksection.length; ++l) { - if (achunksection[l] != null && (!flag || !achunksection[l].a()) && (i & 1 << l) != 0) { - nibblearray = achunksection[l].l(); + if (achunksection[l] != null && (!flag || !achunksection[l].isEmpty()) && (i & 1 << l) != 0) { + nibblearray = achunksection[l].getSkyLightArray(); - System.arraycopy(nibblearray.a, 0, abyte, j, nibblearray.a.length); - j += nibblearray.a.length; + // Spigot start @@ -315,8 +315,8 @@ index 14a6245..ee179be 100644 } @@ -166,8 +175,11 @@ public class Packet51MapChunk extends Packet { for (l = 0; l < achunksection.length; ++l) { - if (achunksection[l] != null && (!flag || !achunksection[l].a()) && achunksection[l].i() != null && (i & 1 << l) != 0) { - nibblearray = achunksection[l].i(); + if (achunksection[l] != null && (!flag || !achunksection[l].isEmpty()) && achunksection[l].getExtendedIdArray() != null && (i & 1 << l) != 0) { + nibblearray = achunksection[l].getExtendedIdArray(); - System.arraycopy(nibblearray.a, 0, abyte, j, nibblearray.a.length); - j += nibblearray.a.length; + // Spigot start @@ -328,17 +328,17 @@ index 14a6245..ee179be 100644 } } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftChunk.java b/src/main/java/org/bukkit/craftbukkit/CraftChunk.java -index 79c3893..ad58bef 100644 +index 1a21516..6921206 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftChunk.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftChunk.java @@ -174,7 +174,18 @@ public class CraftChunk implements Chunk { } - if (cs[i].i() != null) { /* If we've got extended IDs */ -- byte[] extids = cs[i].i().a; + if (cs[i].getExtendedIdArray() != null) { /* If we've got extended IDs */ +- byte[] extids = cs[i].getExtendedIdArray().a; + // Spigot start -+ if (cs[i].i().isTrivialArray()) { -+ int tval = cs[i].i().getTrivialArrayValue(); ++ if (cs[i].getExtendedIdArray().isTrivialArray()) { ++ int tval = cs[i].getExtendedIdArray().getTrivialArrayValue(); + if (tval != 0) { + tval = tval << 8; + for (int j = 0; j < 4096; j++) { @@ -346,7 +346,7 @@ index 79c3893..ad58bef 100644 + } + } + } else { -+ byte[] extids = cs[i].i().getValueArray(); ++ byte[] extids = cs[i].getExtendedIdArray().getValueArray(); + // Spigot end for (int j = 0; j < 2048; j++) { @@ -362,39 +362,39 @@ index 79c3893..ad58bef 100644 /* Get block data nibbles */ - sectionBlockData[i] = new byte[2048]; -- System.arraycopy(cs[i].j().a, 0, sectionBlockData[i], 0, 2048); // Should be getData +- System.arraycopy(cs[i].getDataArray().a, 0, sectionBlockData[i], 0, 2048); + // Spigot start -+ if (cs[i].j().isTrivialArray() && (cs[i].j().getTrivialArrayValue() == 0)) { ++ if (cs[i].getDataArray().isTrivialArray() && (cs[i].getDataArray().getTrivialArrayValue() == 0)) { + sectionBlockData[i] = emptyData; + } else { + sectionBlockData[i] = new byte[2048]; -+ cs[i].j().copyToByteArray(sectionBlockData[i], 0); ++ cs[i].getDataArray().copyToByteArray(sectionBlockData[i], 0); + } - if (cs[i].l() == null) { + if (cs[i].getSkyLightArray() == null) { sectionSkyLights[i] = emptyData; + } -+ else if (cs[i].l().isTrivialArray()) { -+ if (cs[i].l().getTrivialArrayValue() == 0) { ++ else if (cs[i].getSkyLightArray().isTrivialArray()) { ++ if (cs[i].getSkyLightArray().getTrivialArrayValue() == 0) { + sectionSkyLights[i] = emptyData; -+ } else if (cs[i].l().getTrivialArrayValue() == 15) { ++ } else if (cs[i].getSkyLightArray().getTrivialArrayValue() == 15) { + sectionSkyLights[i] = emptySkyLight; + } else { + sectionSkyLights[i] = new byte[2048]; -+ cs[i].l().copyToByteArray(sectionSkyLights[i], 0); ++ cs[i].getSkyLightArray().copyToByteArray(sectionSkyLights[i], 0); + } } else { sectionSkyLights[i] = new byte[2048]; -- System.arraycopy(cs[i].l().a, 0, sectionSkyLights[i], 0, 2048); // Should be getSkyLight -+ cs[i].l().copyToByteArray(sectionSkyLights[i], 0); +- System.arraycopy(cs[i].getSkyLightArray().a, 0, sectionSkyLights[i], 0, 2048); ++ cs[i].getSkyLightArray().copyToByteArray(sectionSkyLights[i], 0); + } -+ if (cs[i].k().isTrivialArray() && (cs[i].k().getTrivialArrayValue() == 0)) { ++ if (cs[i].getEmittedLightArray().isTrivialArray() && (cs[i].getEmittedLightArray().getTrivialArrayValue() == 0)) { + sectionEmitLights[i] = emptyData; + } else { + sectionEmitLights[i] = new byte[2048]; -+ cs[i].k().copyToByteArray(sectionEmitLights[i], 0); ++ cs[i].getEmittedLightArray().copyToByteArray(sectionEmitLights[i], 0); } - sectionEmitLights[i] = new byte[2048]; -- System.arraycopy(cs[i].k().a, 0, sectionEmitLights[i], 0, 2048); // Should be getBlockLight +- System.arraycopy(cs[i].getEmittedLightArray().a, 0, sectionEmitLights[i], 0, 2048); + // Spigot end } } diff --git a/CraftBukkit-Patches/0012-Tick-loop-optimization-sleep-for-as-long-as-possible.patch b/CraftBukkit-Patches/0012-Tick-loop-optimization-sleep-for-as-long-as-possible.patch index 7f017ac..42d8adf 100644 --- a/CraftBukkit-Patches/0012-Tick-loop-optimization-sleep-for-as-long-as-possible.patch +++ b/CraftBukkit-Patches/0012-Tick-loop-optimization-sleep-for-as-long-as-possible.patch @@ -1,14 +1,14 @@ -From e39a30a154d3dfe558935df053cd854ed66b184a Mon Sep 17 00:00:00 2001 +From 80157a1f1af5e8dbdc7c3b10e355e1048970cea5 Mon Sep 17 00:00:00 2001 From: md_5 Date: Sun, 3 Feb 2013 12:28:17 +1100 Subject: [PATCH] Tick loop optimization - sleep for as long as possible. diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 3ee8ddc..8cc26b8 100644 +index 3e134fb..3c80340 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -83,6 +83,12 @@ public abstract class MinecraftServer implements ICommandListener, Runnable, IMo +@@ -84,6 +84,12 @@ public abstract class MinecraftServer implements ICommandListener, Runnable, IMo public java.util.Queue processQueue = new java.util.concurrent.ConcurrentLinkedQueue(); public int autosavePeriod; // CraftBukkit end @@ -21,7 +21,7 @@ index 3ee8ddc..8cc26b8 100644 public MinecraftServer(OptionSet options) { // CraftBukkit - signature file -> OptionSet k = this; -@@ -379,39 +385,23 @@ public abstract class MinecraftServer implements ICommandListener, Runnable, IMo +@@ -380,39 +386,23 @@ public abstract class MinecraftServer implements ICommandListener, Runnable, IMo public void run() { try { if (this.init()) { @@ -76,7 +76,7 @@ index 3ee8ddc..8cc26b8 100644 this.a((CrashReport) null); } diff --git a/src/main/java/org/bukkit/craftbukkit/Spigot.java b/src/main/java/org/bukkit/craftbukkit/Spigot.java -index 82dc5c8..b64a7ca 100644 +index fd90979..67477f4 100644 --- a/src/main/java/org/bukkit/craftbukkit/Spigot.java +++ b/src/main/java/org/bukkit/craftbukkit/Spigot.java @@ -10,6 +10,8 @@ public class Spigot { diff --git a/CraftBukkit-Patches/0013-Improved-Timings-System.patch b/CraftBukkit-Patches/0013-Improved-Timings-System.patch index 11056f4..5905223 100644 --- a/CraftBukkit-Patches/0013-Improved-Timings-System.patch +++ b/CraftBukkit-Patches/0013-Improved-Timings-System.patch @@ -1,4 +1,4 @@ -From 41be88f8ac09bd5c654ed1d413da940966f355d0 Mon Sep 17 00:00:00 2001 +From d1df9385f8b785885e766baf48c136c43f78cafb Mon Sep 17 00:00:00 2001 From: Aikar Date: Thu, 10 Jan 2013 00:18:11 -0500 Subject: [PATCH] Improved Timings System @@ -6,7 +6,7 @@ Subject: [PATCH] Improved Timings System Tracks nearly every point of minecraft internals and plugin events to give a good quick overview on what is causing TPS loss. diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java -index 8b280ab..31e3fce 100644 +index b73f69c..17934c0 100644 --- a/src/main/java/net/minecraft/server/ChunkProviderServer.java +++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java @@ -102,6 +102,7 @@ public class ChunkProviderServer implements IChunkProvider { @@ -26,7 +26,7 @@ index 8b280ab..31e3fce 100644 // CraftBukkit start - If we didn't need to load the chunk run the callback now diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index d510392..8a10948 100644 +index 0f7be97..c4fa4f3 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -14,6 +14,7 @@ import org.bukkit.block.BlockFace; @@ -63,7 +63,7 @@ index d510392..8a10948 100644 protected void C() { diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java -index f8dd417..8fe9a54 100644 +index 965e6ce..58a4acb 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java @@ -497,6 +497,7 @@ public abstract class EntityLiving extends Entity { @@ -132,7 +132,7 @@ index f8dd417..8fe9a54 100644 this.world.methodProfiler.b(); this.world.methodProfiler.a("looting"); diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 8cc26b8..0205822 100644 +index 3c80340..044db9f 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -6,7 +6,6 @@ import java.security.KeyPair; @@ -151,7 +151,7 @@ index 8cc26b8..0205822 100644 import org.bukkit.craftbukkit.util.Waitable; import org.bukkit.event.server.RemoteServerCommandEvent; import org.bukkit.event.world.WorldSaveEvent; -@@ -399,7 +399,10 @@ public abstract class MinecraftServer implements ICommandListener, Runnable, IMo +@@ -400,7 +400,10 @@ public abstract class MinecraftServer implements ICommandListener, Runnable, IMo currentTPS = (currentTPS * 0.95) + (1E9 / (curTime - lastTick) * 0.05); lastTick = curTime; MinecraftServer.currentTick++; @@ -162,7 +162,7 @@ index 8cc26b8..0205822 100644 } // Spigot end } else { -@@ -498,6 +501,7 @@ public abstract class MinecraftServer implements ICommandListener, Runnable, IMo +@@ -499,6 +502,7 @@ public abstract class MinecraftServer implements ICommandListener, Runnable, IMo public void r() { this.methodProfiler.a("levels"); @@ -170,7 +170,7 @@ index 8cc26b8..0205822 100644 // CraftBukkit start this.server.getScheduler().mainThreadHeartbeat(this.ticks); -@@ -506,7 +510,10 @@ public abstract class MinecraftServer implements ICommandListener, Runnable, IMo +@@ -507,7 +511,10 @@ public abstract class MinecraftServer implements ICommandListener, Runnable, IMo processQueue.remove().run(); } @@ -181,7 +181,7 @@ index 8cc26b8..0205822 100644 // Send time updates to everyone, it will get the right time from the world the player is in. if (this.ticks % 20 == 0) { -@@ -558,7 +565,9 @@ public abstract class MinecraftServer implements ICommandListener, Runnable, IMo +@@ -559,7 +566,9 @@ public abstract class MinecraftServer implements ICommandListener, Runnable, IMo this.methodProfiler.b(); this.methodProfiler.a("tracker"); @@ -191,7 +191,7 @@ index 8cc26b8..0205822 100644 this.methodProfiler.b(); this.methodProfiler.b(); // } // CraftBukkit -@@ -567,14 +576,20 @@ public abstract class MinecraftServer implements ICommandListener, Runnable, IMo +@@ -568,14 +577,20 @@ public abstract class MinecraftServer implements ICommandListener, Runnable, IMo } this.methodProfiler.c("connection"); @@ -213,7 +213,7 @@ index 8cc26b8..0205822 100644 this.methodProfiler.b(); } diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index 133c310..a2d95e3 100644 +index 0f6a0ae..51cc2ab 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java @@ -963,6 +963,7 @@ public class PlayerConnection extends Connection { @@ -266,7 +266,7 @@ index db3fc42..174546d 100644 private static Map b = new HashMap(); protected World world; diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index eb03aba..1bed9ed 100644 +index 9a3c492..b87865d 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -13,6 +13,7 @@ import java.util.concurrent.Callable; @@ -368,7 +368,7 @@ index eb03aba..1bed9ed 100644 } diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index a25cbf3..24379e6 100644 +index 3a321da..a2f7fee 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java @@ -186,9 +186,12 @@ public class WorldServer extends World implements org.bukkit.BlockChangeDelegate @@ -385,7 +385,7 @@ index a25cbf3..24379e6 100644 this.chunkProvider.unloadChunks(); int j = this.a(1.0F); @@ -214,6 +217,7 @@ public class WorldServer extends World implements org.bukkit.BlockChangeDelegate - this.Y(); + this.Z(); this.getWorld().processChunkGC(); // CraftBukkit + timings.doTickRest.stopTiming(); // Spigot diff --git a/CraftBukkit-Patches/0019-Watchdog-Thread.patch b/CraftBukkit-Patches/0019-Watchdog-Thread.patch index da44467..96a017b 100644 --- a/CraftBukkit-Patches/0019-Watchdog-Thread.patch +++ b/CraftBukkit-Patches/0019-Watchdog-Thread.patch @@ -1,14 +1,14 @@ -From fd5bdc0f0338a9148e0345765345932aab507a74 Mon Sep 17 00:00:00 2001 +From ffafe713302f8cb44397eaf8c794ebdfb3206914 Mon Sep 17 00:00:00 2001 From: md_5 Date: Sat, 23 Feb 2013 12:33:20 +1100 Subject: [PATCH] Watchdog Thread. diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 0205822..65a4e9f 100644 +index 044db9f..d57ed7a 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -403,6 +403,7 @@ public abstract class MinecraftServer implements ICommandListener, Runnable, IMo +@@ -404,6 +404,7 @@ public abstract class MinecraftServer implements ICommandListener, Runnable, IMo this.q(); SpigotTimings.serverTickTimer.stopTiming(); org.bukkit.CustomTimingsHandler.tick(); @@ -16,7 +16,7 @@ index 0205822..65a4e9f 100644 } // Spigot end } else { -@@ -430,6 +431,7 @@ public abstract class MinecraftServer implements ICommandListener, Runnable, IMo +@@ -431,6 +432,7 @@ public abstract class MinecraftServer implements ICommandListener, Runnable, IMo this.a(crashreport); } finally { try { diff --git a/CraftBukkit-Patches/0020-Netty.patch b/CraftBukkit-Patches/0020-Netty.patch index ee0ba67..ed63f36 100644 --- a/CraftBukkit-Patches/0020-Netty.patch +++ b/CraftBukkit-Patches/0020-Netty.patch @@ -1,4 +1,4 @@ -From 73f2cb6cf3b18d0cca0ee1057d4563ebc46fbded Mon Sep 17 00:00:00 2001 +From 34aed5c5ebcedb2e9f2febe7f9bca1b41088c3d7 Mon Sep 17 00:00:00 2001 From: md_5 Date: Tue, 23 Apr 2013 11:47:32 +1000 Subject: [PATCH] Netty @@ -32,7 +32,7 @@ Subject: [PATCH] Netty Commons Attribution-ShareAlike 3.0 Unported license. diff --git a/pom.xml b/pom.xml -index 3e02cc3..f2b6e35 100644 +index 3c6062e..db5a904 100644 --- a/pom.xml +++ b/pom.xml @@ -132,6 +132,11 @@ @@ -48,10 +48,10 @@ index 3e02cc3..f2b6e35 100644 diff --git a/src/main/java/net/minecraft/server/DedicatedServer.java b/src/main/java/net/minecraft/server/DedicatedServer.java -index bd7e41c..b04d8a1 100644 +index 7261dc9..097be65 100644 --- a/src/main/java/net/minecraft/server/DedicatedServer.java +++ b/src/main/java/net/minecraft/server/DedicatedServer.java -@@ -91,10 +91,10 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer +@@ -92,10 +92,10 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer this.getLogger().info("Generating keypair"); this.a(MinecraftEncryption.b()); @@ -64,7 +64,7 @@ index bd7e41c..b04d8a1 100644 } catch (Throwable ioexception) { // CraftBukkit - IOException -> Throwable this.getLogger().warning("**** FAILED TO BIND TO PORT!"); this.getLogger().warning("The exception was: {0}", new Object[] { ioexception.toString()}); -@@ -102,8 +102,6 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer +@@ -103,8 +103,6 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer return false; } @@ -139,7 +139,7 @@ index 1862863..5a24f2a 100644 + public void setSocketAddress(SocketAddress address) { k = address; } // Spigot } diff --git a/src/main/java/net/minecraft/server/Packet51MapChunk.java b/src/main/java/net/minecraft/server/Packet51MapChunk.java -index 84dbb88..617b474 100644 +index 2fcd7f7..11c44dd 100644 --- a/src/main/java/net/minecraft/server/Packet51MapChunk.java +++ b/src/main/java/net/minecraft/server/Packet51MapChunk.java @@ -42,7 +42,7 @@ public class Packet51MapChunk extends Packet { @@ -165,7 +165,7 @@ index 9f8afe3..a89c9c9 100644 }; // CraftBukkit end diff --git a/src/main/java/net/minecraft/server/PendingConnection.java b/src/main/java/net/minecraft/server/PendingConnection.java -index eb474f5..836ad94 100644 +index 17cfacc..a945892 100644 --- a/src/main/java/net/minecraft/server/PendingConnection.java +++ b/src/main/java/net/minecraft/server/PendingConnection.java @@ -17,7 +17,7 @@ public class PendingConnection extends Connection { @@ -201,7 +201,7 @@ index eb474f5..836ad94 100644 - if (packet254getinfo.a == 1) { + if (true) { // CraftBukkit start - Fix decompile issues, don't create a list from an array - Object[] list = new Object[] { 1, 60, this.server.getVersion(), pingEvent.getMotd(), playerlist.getPlayerCount(), pingEvent.getMaxPlayers() }; + Object[] list = new Object[] { 1, 61, this.server.getVersion(), pingEvent.getMotd(), playerlist.getPlayerCount(), pingEvent.getMaxPlayers() }; @@ -173,9 +178,11 @@ public class PendingConnection extends Connection { diff --git a/CraftBukkit-Patches/0024-Adds-BUKKIT-3667-Faux-sleepers-wake-up-normally.patch b/CraftBukkit-Patches/0024-Adds-BUKKIT-3667-Faux-sleepers-wake-up-normally.patch index 25fe919..1aed97e 100644 --- a/CraftBukkit-Patches/0024-Adds-BUKKIT-3667-Faux-sleepers-wake-up-normally.patch +++ b/CraftBukkit-Patches/0024-Adds-BUKKIT-3667-Faux-sleepers-wake-up-normally.patch @@ -1,14 +1,14 @@ -From c68181f54fb20ca5f5cd49bc8a9b43924171ab9d Mon Sep 17 00:00:00 2001 +From 6925d236670621994218b1bd034015ab791087ad Mon Sep 17 00:00:00 2001 From: Yariv Livay Date: Mon, 25 Feb 2013 22:26:36 +0200 Subject: [PATCH] Adds BUKKIT-3667, Faux sleepers wake up normally diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java -index e158935..735eb8a 100644 +index 3b08937..40a808d 100644 --- a/src/main/java/net/minecraft/server/EntityPlayer.java +++ b/src/main/java/net/minecraft/server/EntityPlayer.java -@@ -418,7 +418,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting { +@@ -422,7 +422,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting { } public void a(boolean flag, boolean flag1, boolean flag2) { diff --git a/CraftBukkit-Patches/0032-Texture-Pack-Resolutions.patch b/CraftBukkit-Patches/0032-Texture-Pack-Resolutions.patch index fe32bd6..531ab17 100644 --- a/CraftBukkit-Patches/0032-Texture-Pack-Resolutions.patch +++ b/CraftBukkit-Patches/0032-Texture-Pack-Resolutions.patch @@ -1,4 +1,4 @@ -From 8f06bcb14829489d0baa8169f74c4a7c0edeea05 Mon Sep 17 00:00:00 2001 +From 79e7558e9ded4e59921970448185b49c491eab9b Mon Sep 17 00:00:00 2001 From: md_5 Date: Sat, 23 Mar 2013 13:04:45 +1100 Subject: [PATCH] Texture Pack Resolutions @@ -6,10 +6,10 @@ Subject: [PATCH] Texture Pack Resolutions Fix issues when specifiying a server texture pack URL with resolution != 16. diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 65a4e9f..a1d77ad 100644 +index d57ed7a..6a6181c 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -1075,7 +1075,7 @@ public abstract class MinecraftServer implements ICommandListener, Runnable, IMo +@@ -1076,7 +1076,7 @@ public abstract class MinecraftServer implements ICommandListener, Runnable, IMo } public int S() { @@ -19,7 +19,7 @@ index 65a4e9f..a1d77ad 100644 public abstract boolean T(); diff --git a/src/main/java/org/bukkit/craftbukkit/Spigot.java b/src/main/java/org/bukkit/craftbukkit/Spigot.java -index 015976b..fa0b268 100644 +index e1db1be..0e917e2 100644 --- a/src/main/java/org/bukkit/craftbukkit/Spigot.java +++ b/src/main/java/org/bukkit/craftbukkit/Spigot.java @@ -55,6 +55,7 @@ public class Spigot {