From ab519bd34b5e11159074dd370e319c317c8d4d67 Mon Sep 17 00:00:00 2001 From: Thinkofdeath Date: Mon, 16 Mar 2015 10:19:21 +0000 Subject: [PATCH] Upstream merge --- CraftBukkit-Patches/0001-POM-Changes.patch | 187 ++++++++---------- .../0005-Spigot-Configuration.patch | 8 +- .../0006-Better-Chunk-Tick-Selection.patch | 14 +- .../0009-Merge-tweaks-and-configuration.patch | 6 +- .../0010-Async-Operation-Catching.patch | 10 +- CraftBukkit-Patches/0012-Spigot-Timings.patch | 34 ++-- .../0014-Handle-Null-Tile-Entities.patch | 6 +- .../0015-Entity-Activation-Range.patch | 8 +- .../0017-PlayerItemDamageEvent.patch | 10 +- ...Disabling-of-Random-Lighting-Updates.patch | 10 +- .../0032-Properly-Close-Inventories.patch | 8 +- ...-chunks-not-being-sent-to-the-client.patch | 6 +- CraftBukkit-Patches/0053-Orebfuscator.patch | 8 +- .../0063-More-Efficient-GetCubes.patch | 6 +- .../0069-Fix-ItemStack-Unbreakable-Code.patch | 6 +- .../0071-Improve-AutoSave-Mechanism.patch | 6 +- .../0092-Guard-Entity-List.patch | 12 +- ...dificationException-while-being-idle.patch | 8 +- ...ssDefError-crash-and-notify-on-crash.patch | 8 +- .../0137-Fix-Null-Tile-Entity-Worlds.patch | 6 +- .../0143-Plug-WorldMap-Memory-Leak.patch | 6 +- ...5-Use-Standard-List-for-EntitySlices.patch | 8 +- ...-Allow-Capping-Tile-Entity-Tick-Time.patch | 14 +- ...astMatches-for-ItemStack-Dirty-Check.patch | 6 +- 24 files changed, 193 insertions(+), 208 deletions(-) diff --git a/CraftBukkit-Patches/0001-POM-Changes.patch b/CraftBukkit-Patches/0001-POM-Changes.patch index b92f5f5..811af41 100644 --- a/CraftBukkit-Patches/0001-POM-Changes.patch +++ b/CraftBukkit-Patches/0001-POM-Changes.patch @@ -1,4 +1,4 @@ -From 9559d82514814e006a54738572cbe0f313c2f639 Mon Sep 17 00:00:00 2001 +From 9ad720c5ae972ff7defca4be0e776a0ff9cef43a Mon Sep 17 00:00:00 2001 From: md_5 Date: Tue, 2 Jul 2013 13:07:39 +1000 Subject: [PATCH] POM Changes @@ -6,112 +6,97 @@ Subject: [PATCH] POM Changes Basic changes to the build system which mark the artifact as Spigot, and the necessary code changes to ensure proper functionality. Also disables the auto updater provided by CraftBukkit as it is useless to us. diff --git a/pom.xml b/pom.xml -index 55e2603..1c4f56e 100644 +index d8f0054..1c8d4ea 100644 --- a/pom.xml +++ b/pom.xml @@ -1,12 +1,12 @@ - 4.0.0 -- org.bukkit -- craftbukkit -+ org.spigotmc -+ spigot - jar - 1.8.3-R0.1-SNAPSHOT -- CraftBukkit -- http://www.bukkit.org -+ Spigot -+ http://www.spigotmc.org - - - UTF-8 -@@ -20,10 +20,22 @@ - 1.6 - - -+ + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + 4.0.0 +- org.bukkit +- craftbukkit + org.spigotmc -+ spigot-parent -+ dev-SNAPSHOT -+ ../pom.xml -+ -+ - - -- org.bukkit -- bukkit -+ net.sf.trove4j -+ trove4j -+ 3.0.3 -+ -+ -+ org.spigotmc -+ spigot-api - ${project.version} - jar - compile -@@ -88,21 +100,39 @@ ++ spigot + jar + 1.8.3-R0.1-SNAPSHOT +- CraftBukkit +- http://www.bukkit.org ++ Spigot ++ http://www.spigotmc.org - - -- clean install -+ install - - - com.lukegb.mojo - gitdescribe-maven-plugin - 2.0 - -- ${buildtag.prefix} -- ${buildtag.suffix} - - --always - - - - -+ ex-spigot -+ -+ git-Spigot- -+ -+ ../ -+ spigot.desc -+ -+ compile -+ -+ gitdescribe -+ -+ -+ -+ ex-craftbukkit -+ -+ - -+ -+ ../../CraftBukkit -+ craftbukkit.desc -+ - compile - - gitdescribe -@@ -119,7 +149,7 @@ - - org.bukkit.craftbukkit.Main - CraftBukkit -- ${describe} -+ ${spigot.desc}${craftbukkit.desc} - Bukkit Team - Bukkit - ${api.version} -@@ -164,7 +194,7 @@ - - - org.codehaus.mojo.signature -- java16 -+ java16-sun - 1.1 - - + + UTF-8 +@@ -20,10 +20,22 @@ + 1.6 + + ++ ++ org.spigotmc ++ spigot-parent ++ dev-SNAPSHOT ++ ../pom.xml ++ ++ + + +- org.bukkit +- bukkit ++ net.sf.trove4j ++ trove4j ++ 3.0.3 ++ ++ ++ org.spigotmc ++ spigot-api + ${project.version} + jar + compile +@@ -88,17 +100,32 @@ + + + +- clean install ++ install + + + net.md-5 + scriptus + 0.2 +- +- git-Bukkit-%s +- + + ++ ex-spigot ++ ++ git-Spigot-%s ++ ../ ++ spigot.desc ++ ++ initialize ++ ++ describe ++ ++ ++ ++ ex-craftbukkit ++ ++ -%s ++ ../../CraftBukkit ++ craftbukkit.desc ++ + initialize + + describe +@@ -115,7 +142,7 @@ + + org.bukkit.craftbukkit.Main + CraftBukkit +- ${describe} ++ ${spigot.desc}${craftbukkit.desc} + Bukkit Team + Bukkit + ${api.version} diff --git a/src/main/java/org/bukkit/craftbukkit/util/Versioning.java b/src/main/java/org/bukkit/craftbukkit/util/Versioning.java index f905d17..9304637 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/Versioning.java diff --git a/CraftBukkit-Patches/0005-Spigot-Configuration.patch b/CraftBukkit-Patches/0005-Spigot-Configuration.patch index 2712a8d..0277127 100644 --- a/CraftBukkit-Patches/0005-Spigot-Configuration.patch +++ b/CraftBukkit-Patches/0005-Spigot-Configuration.patch @@ -1,4 +1,4 @@ -From a6c9ca3c9cc3e1978133b4181548a9ea6dd08aad Mon Sep 17 00:00:00 2001 +From e4382ca683da8ca5f0927445ef449f0eeff820b7 Mon Sep 17 00:00:00 2001 From: md_5 Date: Sun, 7 Jul 2013 09:32:53 +1000 Subject: [PATCH] Spigot Configuration @@ -35,10 +35,10 @@ index d57a796..8bc6ad6 100644 if (!this.getOnlineMode()) { DedicatedServer.LOGGER.warn("**** SERVER IS RUNNING IN OFFLINE/INSECURE MODE!"); diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 5f0464e..1545074 100644 +index f03c704..89c8634 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java -@@ -99,6 +99,7 @@ public abstract class World implements IBlockAccess { +@@ -102,6 +102,7 @@ public abstract class World implements IBlockAccess { public long ticksPerMonsterSpawns; public boolean populating; private int tickPosition; @@ -46,7 +46,7 @@ index 5f0464e..1545074 100644 public CraftWorld getWorld() { return this.world; -@@ -113,6 +114,7 @@ public abstract class World implements IBlockAccess { +@@ -116,6 +117,7 @@ public abstract class World implements IBlockAccess { } protected World(IDataManager idatamanager, WorldData worlddata, WorldProvider worldprovider, MethodProfiler methodprofiler, boolean flag, ChunkGenerator gen, org.bukkit.World.Environment env) { diff --git a/CraftBukkit-Patches/0006-Better-Chunk-Tick-Selection.patch b/CraftBukkit-Patches/0006-Better-Chunk-Tick-Selection.patch index 833b938..dc72f32 100644 --- a/CraftBukkit-Patches/0006-Better-Chunk-Tick-Selection.patch +++ b/CraftBukkit-Patches/0006-Better-Chunk-Tick-Selection.patch @@ -1,4 +1,4 @@ -From 442ed7a4510840871b654ef75bf6f8c1d42de1e8 Mon Sep 17 00:00:00 2001 +From 1efa454d7b8601827d72a561da2b68eb73b451c3 Mon Sep 17 00:00:00 2001 From: md_5 Date: Tue, 11 Jun 2013 12:56:02 +1000 Subject: [PATCH] Better Chunk Tick Selection @@ -6,10 +6,10 @@ Subject: [PATCH] Better Chunk Tick Selection An optimized chunk ticking algorithm which better selects chunks around players which are active on the server. diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 1545074..9e33d12 100644 +index 89c8634..fbd1796 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java -@@ -65,7 +65,7 @@ public abstract class World implements IBlockAccess { +@@ -68,7 +68,7 @@ public abstract class World implements IBlockAccess { public Scoreboard scoreboard = new Scoreboard(); // CraftBukkit - public public final boolean isClientSide; // CraftBukkit - longhashset @@ -18,7 +18,7 @@ index 1545074..9e33d12 100644 private int L; public boolean allowMonsters; // CraftBukkit - public public boolean allowAnimals; // CraftBukkit - public -@@ -99,6 +99,31 @@ public abstract class World implements IBlockAccess { +@@ -102,6 +102,31 @@ public abstract class World implements IBlockAccess { public long ticksPerMonsterSpawns; public boolean populating; private int tickPosition; @@ -50,7 +50,7 @@ index 1545074..9e33d12 100644 public final org.spigotmc.SpigotWorldConfig spigotConfig; // Spigot public CraftWorld getWorld() { -@@ -120,6 +145,12 @@ public abstract class World implements IBlockAccess { +@@ -123,6 +148,12 @@ public abstract class World implements IBlockAccess { this.ticksPerAnimalSpawns = this.getServer().getTicksPerAnimalSpawns(); // CraftBukkit this.ticksPerMonsterSpawns = this.getServer().getTicksPerMonsterSpawns(); // CraftBukkit // CraftBukkit end @@ -63,7 +63,7 @@ index 1545074..9e33d12 100644 this.L = this.random.nextInt(12000); this.allowMonsters = true; this.allowAnimals = true; -@@ -1945,17 +1976,44 @@ public abstract class World implements IBlockAccess { +@@ -1962,17 +1993,44 @@ public abstract class World implements IBlockAccess { int k; int l; @@ -112,7 +112,7 @@ index 1545074..9e33d12 100644 this.methodProfiler.b(); diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index bab76ea..19d113b 100644 +index 9b1af00..2bcf7d3 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java @@ -350,12 +350,15 @@ public class WorldServer extends World implements IAsyncTaskHandler { diff --git a/CraftBukkit-Patches/0009-Merge-tweaks-and-configuration.patch b/CraftBukkit-Patches/0009-Merge-tweaks-and-configuration.patch index dd55546..445d892 100644 --- a/CraftBukkit-Patches/0009-Merge-tweaks-and-configuration.patch +++ b/CraftBukkit-Patches/0009-Merge-tweaks-and-configuration.patch @@ -1,4 +1,4 @@ -From 4a48a8f12c2a67ac9922e507ced21888b95390e5 Mon Sep 17 00:00:00 2001 +From a326a6af9a325cd9f9e43f98ecb4e3e1ef83e246 Mon Sep 17 00:00:00 2001 From: md_5 Date: Sat, 23 Mar 2013 09:46:33 +1100 Subject: [PATCH] Merge tweaks and configuration @@ -41,10 +41,10 @@ index 1e575fe..fa7e6df 100644 } } else { diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 9e33d12..31343c4 100644 +index fbd1796..f58e618 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java -@@ -967,6 +967,23 @@ public abstract class World implements IBlockAccess { +@@ -970,6 +970,23 @@ public abstract class World implements IBlockAccess { // Not all projectiles extend EntityProjectile, so check for Bukkit interface instead event = CraftEventFactory.callProjectileLaunchEvent(entity); } diff --git a/CraftBukkit-Patches/0010-Async-Operation-Catching.patch b/CraftBukkit-Patches/0010-Async-Operation-Catching.patch index 2588823..f93ffd3 100644 --- a/CraftBukkit-Patches/0010-Async-Operation-Catching.patch +++ b/CraftBukkit-Patches/0010-Async-Operation-Catching.patch @@ -1,4 +1,4 @@ -From fc148940050fd61ddcdad6e128c96bd038594f5c Mon Sep 17 00:00:00 2001 +From 76f5dd6901a83046e9efcdb1196ba7744771364d Mon Sep 17 00:00:00 2001 From: md_5 Date: Tue, 25 Mar 2014 16:10:01 +1100 Subject: [PATCH] Async Operation Catching @@ -78,10 +78,10 @@ index 5ef2be4..8d50e05 100644 this.trackedPlayers.remove(entityplayer); entityplayer.d(this.tracker); diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 31343c4..f55bfed 100644 +index f58e618..52a801f 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java -@@ -937,6 +937,7 @@ public abstract class World implements IBlockAccess { +@@ -940,6 +940,7 @@ public abstract class World implements IBlockAccess { } public boolean addEntity(Entity entity, SpawnReason spawnReason) { // Changed signature, added SpawnReason @@ -89,7 +89,7 @@ index 31343c4..f55bfed 100644 if (entity == null) return false; // CraftBukkit end int i = MathHelper.floor(entity.locX / 16.0D); -@@ -1044,6 +1045,7 @@ public abstract class World implements IBlockAccess { +@@ -1047,6 +1048,7 @@ public abstract class World implements IBlockAccess { } public void removeEntity(Entity entity) { @@ -97,7 +97,7 @@ index 31343c4..f55bfed 100644 entity.die(); if (entity instanceof EntityHuman) { this.players.remove(entity); -@@ -2481,6 +2483,7 @@ public abstract class World implements IBlockAccess { +@@ -2498,6 +2500,7 @@ public abstract class World implements IBlockAccess { } public void b(Collection collection) { diff --git a/CraftBukkit-Patches/0012-Spigot-Timings.patch b/CraftBukkit-Patches/0012-Spigot-Timings.patch index 7f6613d..002e2df 100644 --- a/CraftBukkit-Patches/0012-Spigot-Timings.patch +++ b/CraftBukkit-Patches/0012-Spigot-Timings.patch @@ -1,4 +1,4 @@ -From af32f61251756eed8678c094bd25e585b6397e76 Mon Sep 17 00:00:00 2001 +From 879e587ea31d3fc17233e8dca602c5ceb8911745 Mon Sep 17 00:00:00 2001 From: Aikar Date: Thu, 10 Jan 2013 00:18:11 -0500 Subject: [PATCH] Spigot Timings @@ -6,10 +6,10 @@ Subject: [PATCH] Spigot Timings Overhauls the Timings System adding performance tracking all around the Minecraft Server diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index 1deeac6..3a05d9d 100644 +index 0ad6f17..c213307 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java -@@ -895,6 +895,7 @@ public class Chunk { +@@ -903,6 +903,7 @@ public class Chunk { } public void loadNearby(IChunkProvider ichunkprovider, IChunkProvider ichunkprovider1, int i, int j) { @@ -17,7 +17,7 @@ index 1deeac6..3a05d9d 100644 boolean flag = ichunkprovider.isChunkLoaded(i, j - 1); boolean flag1 = ichunkprovider.isChunkLoaded(i + 1, j); boolean flag2 = ichunkprovider.isChunkLoaded(i, j + 1); -@@ -941,6 +942,7 @@ public class Chunk { +@@ -949,6 +950,7 @@ public class Chunk { } } @@ -419,10 +419,10 @@ index 8afd376..71bf63a 100644 private static Map> f = Maps.newHashMap(); private static Map, String> g = Maps.newHashMap(); diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index f55bfed..64f82f7 100644 +index 52a801f..b831e55 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java -@@ -18,6 +18,7 @@ import org.bukkit.Bukkit; +@@ -21,6 +21,7 @@ import org.bukkit.Bukkit; import org.bukkit.block.BlockState; import org.bukkit.craftbukkit.util.CraftMagicNumbers; import org.bukkit.craftbukkit.util.LongHashSet; @@ -430,7 +430,7 @@ index f55bfed..64f82f7 100644 import org.bukkit.generator.ChunkGenerator; import org.bukkit.craftbukkit.CraftServer; import org.bukkit.craftbukkit.CraftWorld; -@@ -126,6 +127,8 @@ public abstract class World implements IBlockAccess { +@@ -129,6 +130,8 @@ public abstract class World implements IBlockAccess { public final org.spigotmc.SpigotWorldConfig spigotConfig; // Spigot @@ -439,7 +439,7 @@ index f55bfed..64f82f7 100644 public CraftWorld getWorld() { return this.world; } -@@ -190,6 +193,7 @@ public abstract class World implements IBlockAccess { +@@ -193,6 +196,7 @@ public abstract class World implements IBlockAccess { }); this.getServer().addWorld(this.world); // CraftBukkit end @@ -447,7 +447,7 @@ index f55bfed..64f82f7 100644 } public World b() { -@@ -1299,6 +1303,7 @@ public abstract class World implements IBlockAccess { +@@ -1302,6 +1306,7 @@ public abstract class World implements IBlockAccess { this.g.clear(); this.methodProfiler.c("regular"); @@ -455,7 +455,7 @@ index f55bfed..64f82f7 100644 // CraftBukkit start - Use field for loop variable for (this.tickPosition = 0; this.tickPosition < this.entityList.size(); ++this.tickPosition) { entity = (Entity) this.entityList.get(this.tickPosition); -@@ -1315,7 +1320,9 @@ public abstract class World implements IBlockAccess { +@@ -1318,7 +1323,9 @@ public abstract class World implements IBlockAccess { this.methodProfiler.a("tick"); if (!entity.dead) { try { @@ -465,7 +465,7 @@ index f55bfed..64f82f7 100644 } catch (Throwable throwable1) { crashreport = CrashReport.a(throwable1, "Ticking entity"); crashreportsystemdetails = crashreport.a("Entity being ticked"); -@@ -1340,7 +1347,9 @@ public abstract class World implements IBlockAccess { +@@ -1343,7 +1350,9 @@ public abstract class World implements IBlockAccess { this.methodProfiler.b(); } @@ -475,7 +475,7 @@ index f55bfed..64f82f7 100644 this.M = true; // CraftBukkit start - From below, clean up tile entities before ticking them if (!this.c.isEmpty()) { -@@ -1359,6 +1368,7 @@ public abstract class World implements IBlockAccess { +@@ -1362,6 +1371,7 @@ public abstract class World implements IBlockAccess { if (this.isLoaded(blockposition) && this.N.a(blockposition)) { try { @@ -483,7 +483,7 @@ index f55bfed..64f82f7 100644 ((IUpdatePlayerListBox) tileentity).c(); } catch (Throwable throwable2) { CrashReport crashreport1 = CrashReport.a(throwable2, "Ticking block entity"); -@@ -1367,6 +1377,11 @@ public abstract class World implements IBlockAccess { +@@ -1370,6 +1380,11 @@ public abstract class World implements IBlockAccess { tileentity.a(crashreportsystemdetails1); throw new ReportedException(crashreport1); } @@ -495,7 +495,7 @@ index f55bfed..64f82f7 100644 } } -@@ -1379,6 +1394,8 @@ public abstract class World implements IBlockAccess { +@@ -1382,6 +1397,8 @@ public abstract class World implements IBlockAccess { } } @@ -504,7 +504,7 @@ index f55bfed..64f82f7 100644 this.M = false; /* CraftBukkit start - Moved up if (!this.c.isEmpty()) { -@@ -1411,6 +1428,7 @@ public abstract class World implements IBlockAccess { +@@ -1414,6 +1431,7 @@ public abstract class World implements IBlockAccess { this.b.clear(); } @@ -512,7 +512,7 @@ index f55bfed..64f82f7 100644 this.methodProfiler.b(); this.methodProfiler.b(); } -@@ -1455,6 +1473,7 @@ public abstract class World implements IBlockAccess { +@@ -1458,6 +1476,7 @@ public abstract class World implements IBlockAccess { // CraftBukkit start - Use neighbor cache instead of looking up Chunk startingChunk = this.getChunkIfLoaded(i >> 4, j >> 4); if (!flag || (startingChunk != null && startingChunk.areNeighborsLoaded(2)) /* this.isAreaLoaded(i - b0, 0, j - b0, i + b0, 0, j + b0) */) { @@ -520,7 +520,7 @@ index f55bfed..64f82f7 100644 // CraftBukkit end entity.P = entity.locX; entity.Q = entity.locY; -@@ -1518,6 +1537,7 @@ public abstract class World implements IBlockAccess { +@@ -1521,6 +1540,7 @@ public abstract class World implements IBlockAccess { } } diff --git a/CraftBukkit-Patches/0014-Handle-Null-Tile-Entities.patch b/CraftBukkit-Patches/0014-Handle-Null-Tile-Entities.patch index 5c11a88..6dd4189 100644 --- a/CraftBukkit-Patches/0014-Handle-Null-Tile-Entities.patch +++ b/CraftBukkit-Patches/0014-Handle-Null-Tile-Entities.patch @@ -1,14 +1,14 @@ -From 269f042d8786398dd5ba465f17e9a6b227ae1d60 Mon Sep 17 00:00:00 2001 +From e9ae4657eb2390dd241396f299648c23a220d9e5 Mon Sep 17 00:00:00 2001 From: md_5 Date: Sun, 3 Feb 2013 09:20:19 +1100 Subject: [PATCH] Handle Null Tile Entities diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 64f82f7..486ee68 100644 +index b831e55..0733a89 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java -@@ -1362,6 +1362,13 @@ public abstract class World implements IBlockAccess { +@@ -1365,6 +1365,13 @@ public abstract class World implements IBlockAccess { while (iterator.hasNext()) { TileEntity tileentity = (TileEntity) iterator.next(); diff --git a/CraftBukkit-Patches/0015-Entity-Activation-Range.patch b/CraftBukkit-Patches/0015-Entity-Activation-Range.patch index cc0beec..00d2074 100644 --- a/CraftBukkit-Patches/0015-Entity-Activation-Range.patch +++ b/CraftBukkit-Patches/0015-Entity-Activation-Range.patch @@ -1,4 +1,4 @@ -From 78c7eb45e0a73906cb57ee0b183e299aee580b91 Mon Sep 17 00:00:00 2001 +From 58b4b6dfe07e76eeb461b91a600d84446639265f Mon Sep 17 00:00:00 2001 From: Aikar Date: Sun, 3 Feb 2013 05:10:21 -0500 Subject: [PATCH] Entity Activation Range @@ -196,10 +196,10 @@ index 24aaec5..e90ff2f 100644 public void G() { this.damageEntity(DamageSource.OUT_OF_WORLD, Float.MAX_VALUE); diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 486ee68..2e96398 100644 +index 0733a89..2758a1d 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java -@@ -1303,6 +1303,7 @@ public abstract class World implements IBlockAccess { +@@ -1306,6 +1306,7 @@ public abstract class World implements IBlockAccess { this.g.clear(); this.methodProfiler.c("regular"); @@ -207,7 +207,7 @@ index 486ee68..2e96398 100644 timings.entityTick.startTiming(); // Spigot // CraftBukkit start - Use field for loop variable for (this.tickPosition = 0; this.tickPosition < this.entityList.size(); ++this.tickPosition) { -@@ -1477,9 +1478,11 @@ public abstract class World implements IBlockAccess { +@@ -1480,9 +1481,11 @@ public abstract class World implements IBlockAccess { int j = MathHelper.floor(entity.locZ); byte b0 = 32; diff --git a/CraftBukkit-Patches/0017-PlayerItemDamageEvent.patch b/CraftBukkit-Patches/0017-PlayerItemDamageEvent.patch index 7ac9a46..f3ab9ba 100644 --- a/CraftBukkit-Patches/0017-PlayerItemDamageEvent.patch +++ b/CraftBukkit-Patches/0017-PlayerItemDamageEvent.patch @@ -1,14 +1,14 @@ -From 7230fb058e223a98656be635d9df294b09850a19 Mon Sep 17 00:00:00 2001 +From 2c876eaa56238bb700198294c30c4ba6109be97c Mon Sep 17 00:00:00 2001 From: md_5 Date: Mon, 4 Mar 2013 18:45:52 +1100 Subject: [PATCH] PlayerItemDamageEvent diff --git a/src/main/java/net/minecraft/server/ItemStack.java b/src/main/java/net/minecraft/server/ItemStack.java -index 25c6877..62b2136 100644 +index b966307..4976174 100644 --- a/src/main/java/net/minecraft/server/ItemStack.java +++ b/src/main/java/net/minecraft/server/ItemStack.java -@@ -324,6 +324,11 @@ public final class ItemStack { +@@ -330,6 +330,11 @@ public final class ItemStack { } public boolean isDamaged(int i, Random random) { @@ -20,7 +20,7 @@ index 25c6877..62b2136 100644 if (!this.e()) { return false; } else { -@@ -338,7 +343,16 @@ public final class ItemStack { +@@ -344,7 +349,16 @@ public final class ItemStack { } i -= k; @@ -38,7 +38,7 @@ index 25c6877..62b2136 100644 return false; } } -@@ -351,7 +365,7 @@ public final class ItemStack { +@@ -357,7 +371,7 @@ public final class ItemStack { public void damage(int i, EntityLiving entityliving) { if (!(entityliving instanceof EntityHuman) || !((EntityHuman) entityliving).abilities.canInstantlyBuild) { if (this.e()) { diff --git a/CraftBukkit-Patches/0031-Allow-Disabling-of-Random-Lighting-Updates.patch b/CraftBukkit-Patches/0031-Allow-Disabling-of-Random-Lighting-Updates.patch index 5a44c39..bf9e15d 100644 --- a/CraftBukkit-Patches/0031-Allow-Disabling-of-Random-Lighting-Updates.patch +++ b/CraftBukkit-Patches/0031-Allow-Disabling-of-Random-Lighting-Updates.patch @@ -1,14 +1,14 @@ -From e29f11efa7283205faa6af14ebdfc716ce72ca14 Mon Sep 17 00:00:00 2001 +From 5f13de821399a3edf4c2248058841defef030bf6 Mon Sep 17 00:00:00 2001 From: md_5 Date: Sat, 22 Jun 2013 16:12:02 +1000 Subject: [PATCH] Allow Disabling of Random Lighting Updates diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index 633af1d..0bc0dce 100644 +index cd206f6..f75bd24 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java -@@ -1013,7 +1013,7 @@ public class Chunk { +@@ -1021,7 +1021,7 @@ public class Chunk { } this.p = true; @@ -18,10 +18,10 @@ index 633af1d..0bc0dce 100644 } diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 2e96398..dda2853 100644 +index 2758a1d..3218138 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java -@@ -2071,7 +2071,7 @@ public abstract class World implements IBlockAccess { +@@ -2088,7 +2088,7 @@ public abstract class World implements IBlockAccess { } this.methodProfiler.a("playerCheckLight"); diff --git a/CraftBukkit-Patches/0032-Properly-Close-Inventories.patch b/CraftBukkit-Patches/0032-Properly-Close-Inventories.patch index b81ddd0..4edb58a 100644 --- a/CraftBukkit-Patches/0032-Properly-Close-Inventories.patch +++ b/CraftBukkit-Patches/0032-Properly-Close-Inventories.patch @@ -1,4 +1,4 @@ -From 682ecbd7928f83c0604da582d3fc965bd4a98fde Mon Sep 17 00:00:00 2001 +From 38117f2f0ee270dd3242749d0b3f0f4c19e0d544 Mon Sep 17 00:00:00 2001 From: md_5 Date: Thu, 27 Jun 2013 17:26:09 +1000 Subject: [PATCH] Properly Close Inventories @@ -6,10 +6,10 @@ Subject: [PATCH] Properly Close Inventories Properly close inventories when unloading and switching worlds. diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index 0bc0dce..a17aa1d 100644 +index f75bd24..08cf30e 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java -@@ -822,6 +822,18 @@ public class Chunk { +@@ -830,6 +830,18 @@ public class Chunk { while (iterator.hasNext()) { TileEntity tileentity = (TileEntity) iterator.next(); @@ -28,7 +28,7 @@ index 0bc0dce..a17aa1d 100644 this.world.b(tileentity); } -@@ -832,6 +844,18 @@ public class Chunk { +@@ -840,6 +852,18 @@ public class Chunk { java.util.Iterator iter = newList.iterator(); while (iter.hasNext()) { Entity entity = iter.next(); diff --git a/CraftBukkit-Patches/0051-Fix-some-chunks-not-being-sent-to-the-client.patch b/CraftBukkit-Patches/0051-Fix-some-chunks-not-being-sent-to-the-client.patch index 2fadca4..1b53013 100644 --- a/CraftBukkit-Patches/0051-Fix-some-chunks-not-being-sent-to-the-client.patch +++ b/CraftBukkit-Patches/0051-Fix-some-chunks-not-being-sent-to-the-client.patch @@ -1,14 +1,14 @@ -From 31992935ee360dd1757af14e842d68a02a485807 Mon Sep 17 00:00:00 2001 +From c7db17e4abe5169836622144425dc1dc165b15cb Mon Sep 17 00:00:00 2001 From: Thinkofdeath Date: Mon, 2 Dec 2013 23:42:09 +0000 Subject: [PATCH] Fix some chunks not being sent to the client diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index a17aa1d..bcb6683 100644 +index 08cf30e..6e5fe05 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java -@@ -1055,7 +1055,15 @@ public class Chunk { +@@ -1063,7 +1063,15 @@ public class Chunk { } public boolean isReady() { diff --git a/CraftBukkit-Patches/0053-Orebfuscator.patch b/CraftBukkit-Patches/0053-Orebfuscator.patch index ac4953d..aeed34a 100644 --- a/CraftBukkit-Patches/0053-Orebfuscator.patch +++ b/CraftBukkit-Patches/0053-Orebfuscator.patch @@ -1,4 +1,4 @@ -From 74c386f2e37c5b978452431e35a04b47fff811d2 Mon Sep 17 00:00:00 2001 +From 0e8505239a1fb379830bfa7b713b18d91e2b7236 Mon Sep 17 00:00:00 2001 From: md_5 Date: Thu, 16 May 2013 18:51:05 +1000 Subject: [PATCH] Orebfuscator @@ -91,10 +91,10 @@ index 0301fba..7a84a95 100644 public void a(BlockPosition blockposition) { diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index dda2853..e94a89e 100644 +index 3218138..b168454 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java -@@ -494,6 +494,7 @@ public abstract class World implements IBlockAccess { +@@ -497,6 +497,7 @@ public abstract class World implements IBlockAccess { this.d(blockposition.up(), block); this.d(blockposition.north(), block); this.d(blockposition.south(), block); @@ -102,7 +102,7 @@ index dda2853..e94a89e 100644 } public void a(BlockPosition blockposition, Block block, EnumDirection enumdirection) { -@@ -719,9 +720,16 @@ public abstract class World implements IBlockAccess { +@@ -722,9 +723,16 @@ public abstract class World implements IBlockAccess { return this.worldProvider.p()[this.getLightLevel(blockposition)]; } diff --git a/CraftBukkit-Patches/0063-More-Efficient-GetCubes.patch b/CraftBukkit-Patches/0063-More-Efficient-GetCubes.patch index 3c57442..608b4f0 100644 --- a/CraftBukkit-Patches/0063-More-Efficient-GetCubes.patch +++ b/CraftBukkit-Patches/0063-More-Efficient-GetCubes.patch @@ -1,14 +1,14 @@ -From 05690a789775788614917ada908082cf11603161 Mon Sep 17 00:00:00 2001 +From 50ccd1d1649e24297b5234add2392c2510da8ac4 Mon Sep 17 00:00:00 2001 From: md_5 Date: Tue, 11 Jun 2013 12:17:37 +1000 Subject: [PATCH] More Efficient GetCubes diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index e94a89e..e7a2803 100644 +index b168454..308e418 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java -@@ -1101,28 +1101,56 @@ public abstract class World implements IBlockAccess { +@@ -1104,28 +1104,56 @@ public abstract class World implements IBlockAccess { IBlockData iblockdata = Blocks.STONE.getBlockData(); BlockPosition.MutableBlockPosition blockposition_mutableblockposition = new BlockPosition.MutableBlockPosition(); diff --git a/CraftBukkit-Patches/0069-Fix-ItemStack-Unbreakable-Code.patch b/CraftBukkit-Patches/0069-Fix-ItemStack-Unbreakable-Code.patch index 376a9f4..7add810 100644 --- a/CraftBukkit-Patches/0069-Fix-ItemStack-Unbreakable-Code.patch +++ b/CraftBukkit-Patches/0069-Fix-ItemStack-Unbreakable-Code.patch @@ -1,14 +1,14 @@ -From 84daed6644e5628abf26b64f6e670e7f18297ced Mon Sep 17 00:00:00 2001 +From f3a5324fb09a3c31c6ce755d77b46d087cb696bc Mon Sep 17 00:00:00 2001 From: md_5 Date: Fri, 10 Jan 2014 15:15:50 +1100 Subject: [PATCH] Fix ItemStack Unbreakable Code diff --git a/src/main/java/net/minecraft/server/ItemStack.java b/src/main/java/net/minecraft/server/ItemStack.java -index 62b2136..4b33dbd 100644 +index 4976174..bbe816c 100644 --- a/src/main/java/net/minecraft/server/ItemStack.java +++ b/src/main/java/net/minecraft/server/ItemStack.java -@@ -272,7 +272,13 @@ public final class ItemStack { +@@ -278,7 +278,13 @@ public final class ItemStack { } public boolean e() { diff --git a/CraftBukkit-Patches/0071-Improve-AutoSave-Mechanism.patch b/CraftBukkit-Patches/0071-Improve-AutoSave-Mechanism.patch index 62ac9a5..76f38a8 100644 --- a/CraftBukkit-Patches/0071-Improve-AutoSave-Mechanism.patch +++ b/CraftBukkit-Patches/0071-Improve-AutoSave-Mechanism.patch @@ -1,4 +1,4 @@ -From 0d795dbf31bfd057ffb8e290a2795924455290f1 Mon Sep 17 00:00:00 2001 +From 1c3c37f03d4a728e40b1c4afecb2c3b1f9ef281b Mon Sep 17 00:00:00 2001 From: md_5 Date: Sun, 12 Jan 2014 21:07:18 +1100 Subject: [PATCH] Improve AutoSave Mechanism @@ -11,10 +11,10 @@ Instead we will mimic the save-all command in its behaviour, which is both safe Also, only save modified chunks, or chunks with entities after 4 auto save passes diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index bcb6683..109b657 100644 +index 6e5fe05..db7f6bc 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java -@@ -936,7 +936,7 @@ public class Chunk { +@@ -944,7 +944,7 @@ public class Chunk { if (this.r && this.world.getTime() != this.lastSaved || this.q) { return true; } diff --git a/CraftBukkit-Patches/0092-Guard-Entity-List.patch b/CraftBukkit-Patches/0092-Guard-Entity-List.patch index 992b0e2..5f9600e 100644 --- a/CraftBukkit-Patches/0092-Guard-Entity-List.patch +++ b/CraftBukkit-Patches/0092-Guard-Entity-List.patch @@ -1,14 +1,14 @@ -From 41083c1e7274904a1d4487610d44a9611c6968b1 Mon Sep 17 00:00:00 2001 +From a2f1f25f44b2b65f1f28958bc3b09b465a585213 Mon Sep 17 00:00:00 2001 From: md_5 Date: Mon, 10 Mar 2014 09:03:28 +1100 Subject: [PATCH] Guard Entity List diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index e7a2803..8d6aa7a 100644 +index 308e418..ecdebeb 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java -@@ -34,7 +34,32 @@ public abstract class World implements IBlockAccess { +@@ -37,7 +37,32 @@ public abstract class World implements IBlockAccess { private int a = 63; protected boolean e; @@ -42,7 +42,7 @@ index e7a2803..8d6aa7a 100644 protected final List g = Lists.newArrayList(); public final List h = Lists.newArrayList(); public final List tileEntityList = Lists.newArrayList(); -@@ -102,6 +127,7 @@ public abstract class World implements IBlockAccess { +@@ -105,6 +130,7 @@ public abstract class World implements IBlockAccess { private int tickPosition; // Spigot start @@ -50,7 +50,7 @@ index e7a2803..8d6aa7a 100644 protected final gnu.trove.map.hash.TLongShortHashMap chunkTickList; protected float growthOdds = 100; protected float modifiedOdds = 100; -@@ -1341,6 +1367,7 @@ public abstract class World implements IBlockAccess { +@@ -1344,6 +1370,7 @@ public abstract class World implements IBlockAccess { org.spigotmc.ActivationRange.activateEntities(this); // Spigot timings.entityTick.startTiming(); // Spigot @@ -58,7 +58,7 @@ index e7a2803..8d6aa7a 100644 // CraftBukkit start - Use field for loop variable for (this.tickPosition = 0; this.tickPosition < this.entityList.size(); ++this.tickPosition) { entity = (Entity) this.entityList.get(this.tickPosition); -@@ -1377,12 +1404,15 @@ public abstract class World implements IBlockAccess { +@@ -1380,12 +1407,15 @@ public abstract class World implements IBlockAccess { this.getChunkAt(j, k).b(entity); } diff --git a/CraftBukkit-Patches/0093-Fix-ConcurrentModificationException-while-being-idle.patch b/CraftBukkit-Patches/0093-Fix-ConcurrentModificationException-while-being-idle.patch index 10ef70b..5b81800 100644 --- a/CraftBukkit-Patches/0093-Fix-ConcurrentModificationException-while-being-idle.patch +++ b/CraftBukkit-Patches/0093-Fix-ConcurrentModificationException-while-being-idle.patch @@ -1,4 +1,4 @@ -From f7c679145cbad061ad38ddbae66acd237f283799 Mon Sep 17 00:00:00 2001 +From 35bfd36fe3a58d003058f45666d66b23d2c307a1 Mon Sep 17 00:00:00 2001 From: Thinkofdeath Date: Tue, 14 Jan 2014 20:11:25 +0000 Subject: [PATCH] Fix ConcurrentModificationException while being idle kicked @@ -6,10 +6,10 @@ Subject: [PATCH] Fix ConcurrentModificationException while being idle kicked diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 8d6aa7a..3c4c0fe 100644 +index ecdebeb..776830a 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java -@@ -1090,6 +1090,7 @@ public abstract class World implements IBlockAccess { +@@ -1093,6 +1093,7 @@ public abstract class World implements IBlockAccess { this.everyoneSleeping(); } @@ -17,7 +17,7 @@ index 8d6aa7a..3c4c0fe 100644 int i = entity.ae; int j = entity.ag; -@@ -1106,6 +1107,7 @@ public abstract class World implements IBlockAccess { +@@ -1109,6 +1110,7 @@ public abstract class World implements IBlockAccess { this.entityList.remove(index); } // CraftBukkit end diff --git a/CraftBukkit-Patches/0114-Prevent-NoClassDefError-crash-and-notify-on-crash.patch b/CraftBukkit-Patches/0114-Prevent-NoClassDefError-crash-and-notify-on-crash.patch index a0d7734..1e929e5 100644 --- a/CraftBukkit-Patches/0114-Prevent-NoClassDefError-crash-and-notify-on-crash.patch +++ b/CraftBukkit-Patches/0114-Prevent-NoClassDefError-crash-and-notify-on-crash.patch @@ -1,14 +1,14 @@ -From 27a8e021352f1fc873ed315a64bef483a8cfa87a Mon Sep 17 00:00:00 2001 +From df7a4228114d335deefe40b4d7412b8ebf50dbd1 Mon Sep 17 00:00:00 2001 From: David Date: Mon, 21 Apr 2014 12:43:08 +0100 Subject: [PATCH] Prevent NoClassDefError crash and notify on crash diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 3c4c0fe..a53c59e 100644 +index 776830a..1507117 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java -@@ -132,6 +132,8 @@ public abstract class World implements IBlockAccess { +@@ -135,6 +135,8 @@ public abstract class World implements IBlockAccess { protected float growthOdds = 100; protected float modifiedOdds = 100; private final byte chunkTickRadius; @@ -17,7 +17,7 @@ index 3c4c0fe..a53c59e 100644 public static long chunkToKey(int x, int z) { -@@ -567,6 +569,9 @@ public abstract class World implements IBlockAccess { +@@ -570,6 +572,9 @@ public abstract class World implements IBlockAccess { } // CraftBukkit end iblockdata.getBlock().doPhysics(this, blockposition, iblockdata, block); diff --git a/CraftBukkit-Patches/0137-Fix-Null-Tile-Entity-Worlds.patch b/CraftBukkit-Patches/0137-Fix-Null-Tile-Entity-Worlds.patch index c685680..f8e7deb 100644 --- a/CraftBukkit-Patches/0137-Fix-Null-Tile-Entity-Worlds.patch +++ b/CraftBukkit-Patches/0137-Fix-Null-Tile-Entity-Worlds.patch @@ -1,14 +1,14 @@ -From 47f544b2d6dbc76e02c6e446e72ae825c04f0555 Mon Sep 17 00:00:00 2001 +From e0775a83d8d6e9c9df2920ee88762a4342a610a8 Mon Sep 17 00:00:00 2001 From: "Evan A. Haskell" Date: Thu, 26 Jun 2014 18:37:29 -0400 Subject: [PATCH] Fix Null Tile Entity Worlds diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index a53c59e..99b81b5 100644 +index 1507117..4a92bd0 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java -@@ -1927,6 +1927,7 @@ public abstract class World implements IBlockAccess { +@@ -1944,6 +1944,7 @@ public abstract class World implements IBlockAccess { } } diff --git a/CraftBukkit-Patches/0143-Plug-WorldMap-Memory-Leak.patch b/CraftBukkit-Patches/0143-Plug-WorldMap-Memory-Leak.patch index 3b4fda8..47004f0 100644 --- a/CraftBukkit-Patches/0143-Plug-WorldMap-Memory-Leak.patch +++ b/CraftBukkit-Patches/0143-Plug-WorldMap-Memory-Leak.patch @@ -1,4 +1,4 @@ -From 7f4baabb2496489826be226ef4ed583de3ca7c22 Mon Sep 17 00:00:00 2001 +From ffc0ccf4ee920c82b760bed086dc176b3b07a3ee Mon Sep 17 00:00:00 2001 From: md_5 Date: Fri, 8 Aug 2014 19:57:03 +1000 Subject: [PATCH] Plug WorldMap Memory Leak @@ -18,10 +18,10 @@ index 4b8d548..451f481 100644 public PersistentCollection(IDataManager idatamanager) { diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 99b81b5..ba5f1db 100644 +index 4a92bd0..8aace28 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java -@@ -1081,6 +1081,23 @@ public abstract class World implements IBlockAccess { +@@ -1084,6 +1084,23 @@ public abstract class World implements IBlockAccess { entity.die(); if (entity instanceof EntityHuman) { this.players.remove(entity); diff --git a/CraftBukkit-Patches/0155-Use-Standard-List-for-EntitySlices.patch b/CraftBukkit-Patches/0155-Use-Standard-List-for-EntitySlices.patch index 02d72af..0abb479 100644 --- a/CraftBukkit-Patches/0155-Use-Standard-List-for-EntitySlices.patch +++ b/CraftBukkit-Patches/0155-Use-Standard-List-for-EntitySlices.patch @@ -1,11 +1,11 @@ -From 85a19c23ec2e95de28cb094814b9c24b9f44878e Mon Sep 17 00:00:00 2001 +From 32510863cbbd124bae1daeff599e7348519f8f88 Mon Sep 17 00:00:00 2001 From: md_5 Date: Fri, 20 Feb 2015 21:33:36 +1100 Subject: [PATCH] Use Standard List for EntitySlices. diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index 109b657..d70f979 100644 +index db7f6bc..2141126 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java @@ -31,7 +31,7 @@ public class Chunk { @@ -35,7 +35,7 @@ index 109b657..d70f979 100644 } // CraftBukkit end */ -@@ -918,12 +918,12 @@ public class Chunk { +@@ -926,12 +926,12 @@ public class Chunk { j = MathHelper.clamp(j, 0, this.entitySlices.length - 1); for (int k = i; k <= j; ++k) { @@ -50,7 +50,7 @@ index 109b657..d70f979 100644 list.add((T) entity); // Fix decompile error } } -@@ -1303,7 +1303,7 @@ public class Chunk { +@@ -1311,7 +1311,7 @@ public class Chunk { return this.tileEntities; } diff --git a/CraftBukkit-Patches/0156-Allow-Capping-Tile-Entity-Tick-Time.patch b/CraftBukkit-Patches/0156-Allow-Capping-Tile-Entity-Tick-Time.patch index 40b7cef..5f0f4af 100644 --- a/CraftBukkit-Patches/0156-Allow-Capping-Tile-Entity-Tick-Time.patch +++ b/CraftBukkit-Patches/0156-Allow-Capping-Tile-Entity-Tick-Time.patch @@ -1,4 +1,4 @@ -From bc129e3ad9c9823db73c7c4ade4ca55131b0a5b7 Mon Sep 17 00:00:00 2001 +From a9ae7cd20557f3d028a276b487cfab1872c33cee Mon Sep 17 00:00:00 2001 From: md_5 Date: Fri, 20 Feb 2015 21:39:31 +1100 Subject: [PATCH] Allow Capping (Tile)Entity Tick Time. @@ -10,10 +10,10 @@ For tiles there is very little tradeoff for this option, as tile ticks are based This feature was commisioned by Chunkr. diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index ba5f1db..3c89c0d 100644 +index 8aace28..0731d42 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java -@@ -134,6 +134,9 @@ public abstract class World implements IBlockAccess { +@@ -137,6 +137,9 @@ public abstract class World implements IBlockAccess { private final byte chunkTickRadius; public static boolean haveWeSilencedAPhysicsCrash; public static String blockLocation; @@ -23,7 +23,7 @@ index ba5f1db..3c89c0d 100644 public static long chunkToKey(int x, int z) { -@@ -222,6 +225,8 @@ public abstract class World implements IBlockAccess { +@@ -225,6 +228,8 @@ public abstract class World implements IBlockAccess { this.getServer().addWorld(this.world); // CraftBukkit end timings = new SpigotTimings.WorldTimingsHandler(this); // Spigot - code below can generate new world and access timings @@ -32,7 +32,7 @@ index ba5f1db..3c89c0d 100644 } public World b() { -@@ -1393,7 +1398,12 @@ public abstract class World implements IBlockAccess { +@@ -1396,7 +1401,12 @@ public abstract class World implements IBlockAccess { timings.entityTick.startTiming(); // Spigot guardEntityList = true; // Spigot // CraftBukkit start - Use field for loop variable @@ -46,7 +46,7 @@ index ba5f1db..3c89c0d 100644 entity = (Entity) this.entityList.get(this.tickPosition); // CraftBukkit end if (entity.vehicle != null) { -@@ -1449,14 +1459,18 @@ public abstract class World implements IBlockAccess { +@@ -1452,14 +1462,18 @@ public abstract class World implements IBlockAccess { this.c.clear(); } // CraftBukkit end @@ -69,7 +69,7 @@ index ba5f1db..3c89c0d 100644 continue; } // Spigot end -@@ -1484,7 +1498,7 @@ public abstract class World implements IBlockAccess { +@@ -1487,7 +1501,7 @@ public abstract class World implements IBlockAccess { } if (tileentity.x()) { diff --git a/CraftBukkit-Patches/0157-Use-FastMatches-for-ItemStack-Dirty-Check.patch b/CraftBukkit-Patches/0157-Use-FastMatches-for-ItemStack-Dirty-Check.patch index 5914442..5fb4cf1 100644 --- a/CraftBukkit-Patches/0157-Use-FastMatches-for-ItemStack-Dirty-Check.patch +++ b/CraftBukkit-Patches/0157-Use-FastMatches-for-ItemStack-Dirty-Check.patch @@ -1,4 +1,4 @@ -From f77927deb4acc0d5f8bf0f4ab833fe8b673b86bd Mon Sep 17 00:00:00 2001 +From f98ff94fa3783823cb178968299c91e1dee7991e Mon Sep 17 00:00:00 2001 From: md_5 Date: Sun, 22 Feb 2015 12:27:40 +1100 Subject: [PATCH] Use FastMatches for ItemStack Dirty Check @@ -35,10 +35,10 @@ index 9c53acd..3e29730 100644 } diff --git a/src/main/java/net/minecraft/server/ItemStack.java b/src/main/java/net/minecraft/server/ItemStack.java -index 4b33dbd..de60437 100644 +index bbe816c..9a7c7cb 100644 --- a/src/main/java/net/minecraft/server/ItemStack.java +++ b/src/main/java/net/minecraft/server/ItemStack.java -@@ -440,6 +440,18 @@ public final class ItemStack { +@@ -446,6 +446,18 @@ public final class ItemStack { return itemstack == null && itemstack1 == null ? true : (itemstack != null && itemstack1 != null ? (itemstack.tag == null && itemstack1.tag != null ? false : itemstack.tag == null || itemstack.tag.equals(itemstack1.tag)) : false); }