diff --git a/CraftBukkit-Patches/0005-Spigot-Configuration.patch b/CraftBukkit-Patches/0005-Spigot-Configuration.patch index 5358598c56..2712a8dd4b 100644 --- a/CraftBukkit-Patches/0005-Spigot-Configuration.patch +++ b/CraftBukkit-Patches/0005-Spigot-Configuration.patch @@ -1,4 +1,4 @@ -From 87a1b9de0edd52ea0f5b7ba3c313b99770259d74 Mon Sep 17 00:00:00 2001 +From a6c9ca3c9cc3e1978133b4181548a9ea6dd08aad Mon Sep 17 00:00:00 2001 From: md_5 Date: Sun, 7 Jul 2013 09:32:53 +1000 Subject: [PATCH] Spigot Configuration @@ -35,7 +35,7 @@ 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 9b0e0ed..437c64d 100644 +index 5f0464e..1545074 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 { @@ -53,7 +53,7 @@ index 9b0e0ed..437c64d 100644 + this.spigotConfig = new org.spigotmc.SpigotWorldConfig( worlddata.getName() ); // Spigot this.generator = gen; this.world = new CraftWorld((WorldServer) this, gen, env); - if (gen != null) { + this.ticksPerAnimalSpawns = this.getServer().getTicksPerAnimalSpawns(); // CraftBukkit diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java index 4b3fcac..2aceeb4 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java diff --git a/CraftBukkit-Patches/0006-Better-Chunk-Tick-Selection.patch b/CraftBukkit-Patches/0006-Better-Chunk-Tick-Selection.patch index d42d0185bb..833b9386c7 100644 --- a/CraftBukkit-Patches/0006-Better-Chunk-Tick-Selection.patch +++ b/CraftBukkit-Patches/0006-Better-Chunk-Tick-Selection.patch @@ -1,4 +1,4 @@ -From 1dc62bd472d5ecaa6a0d08c963796e1499bff2bc Mon Sep 17 00:00:00 2001 +From 442ed7a4510840871b654ef75bf6f8c1d42de1e8 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,7 +6,7 @@ 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 437c64d..bc0d479 100644 +index 1545074..9e33d12 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 { @@ -50,7 +50,7 @@ index 437c64d..bc0d479 100644 public final org.spigotmc.SpigotWorldConfig spigotConfig; // Spigot public CraftWorld getWorld() { -@@ -123,6 +148,12 @@ public abstract class World implements IBlockAccess { +@@ -120,6 +145,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 437c64d..bc0d479 100644 this.L = this.random.nextInt(12000); this.allowMonsters = true; this.allowAnimals = true; -@@ -1948,17 +1979,44 @@ public abstract class World implements IBlockAccess { +@@ -1945,17 +1976,44 @@ public abstract class World implements IBlockAccess { int k; int l; @@ -112,10 +112,10 @@ index 437c64d..bc0d479 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 1587cf2..b04b512 100644 +index bab76ea..19d113b 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java -@@ -344,12 +344,15 @@ public class WorldServer extends World implements IAsyncTaskHandler { +@@ -350,12 +350,15 @@ public class WorldServer extends World implements IAsyncTaskHandler { protected void h() { super.h(); if (this.worldData.getType() == WorldType.DEBUG_ALL_BLOCK_STATES) { @@ -134,7 +134,7 @@ index 1587cf2..b04b512 100644 } } else { -@@ -361,9 +364,21 @@ public class WorldServer extends World implements IAsyncTaskHandler { +@@ -367,9 +370,21 @@ public class WorldServer extends World implements IAsyncTaskHandler { // ChunkCoordIntPair chunkcoordintpair1 = (ChunkCoordIntPair) iterator1.next(); // int k = chunkcoordintpair1.x * 16; // int l = chunkcoordintpair1.z * 16; @@ -159,7 +159,7 @@ index 1587cf2..b04b512 100644 int k = chunkX * 16; int l = chunkZ * 16; -@@ -457,6 +472,12 @@ public class WorldServer extends World implements IAsyncTaskHandler { +@@ -463,6 +478,12 @@ 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 8b83358447..dd5554658c 100644 --- a/CraftBukkit-Patches/0009-Merge-tweaks-and-configuration.patch +++ b/CraftBukkit-Patches/0009-Merge-tweaks-and-configuration.patch @@ -1,4 +1,4 @@ -From d23b5e9c3bd170760516f2b11e4be553dd5696a2 Mon Sep 17 00:00:00 2001 +From 4a48a8f12c2a67ac9922e507ced21888b95390e5 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 bc0d479..33edb6d 100644 +index 9e33d12..31343c4 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java -@@ -970,6 +970,23 @@ public abstract class World implements IBlockAccess { +@@ -967,6 +967,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 8f8887da1a..2588823e9e 100644 --- a/CraftBukkit-Patches/0010-Async-Operation-Catching.patch +++ b/CraftBukkit-Patches/0010-Async-Operation-Catching.patch @@ -1,4 +1,4 @@ -From b8b201abbbe9c86165bb5e6452f5ed65a4bcf5a7 Mon Sep 17 00:00:00 2001 +From fc148940050fd61ddcdad6e128c96bd038594f5c 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 33edb6d..5e25f3f 100644 +index 31343c4..f55bfed 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java -@@ -940,6 +940,7 @@ public abstract class World implements IBlockAccess { +@@ -937,6 +937,7 @@ public abstract class World implements IBlockAccess { } public boolean addEntity(Entity entity, SpawnReason spawnReason) { // Changed signature, added SpawnReason @@ -89,7 +89,7 @@ index 33edb6d..5e25f3f 100644 if (entity == null) return false; // CraftBukkit end int i = MathHelper.floor(entity.locX / 16.0D); -@@ -1047,6 +1048,7 @@ public abstract class World implements IBlockAccess { +@@ -1044,6 +1045,7 @@ public abstract class World implements IBlockAccess { } public void removeEntity(Entity entity) { @@ -97,7 +97,7 @@ index 33edb6d..5e25f3f 100644 entity.die(); if (entity instanceof EntityHuman) { this.players.remove(entity); -@@ -2484,6 +2486,7 @@ public abstract class World implements IBlockAccess { +@@ -2481,6 +2483,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 baf45de818..abd75f59b9 100644 --- a/CraftBukkit-Patches/0012-Spigot-Timings.patch +++ b/CraftBukkit-Patches/0012-Spigot-Timings.patch @@ -1,4 +1,4 @@ -From ce8c304984522d44281eb7b859d7c9783f3e9234 Mon Sep 17 00:00:00 2001 +From 739f6434a2df8ab24912fb5dcbb74738b8ae3bde Mon Sep 17 00:00:00 2001 From: Aikar Date: Thu, 10 Jan 2013 00:18:11 -0500 Subject: [PATCH] Spigot Timings @@ -419,7 +419,7 @@ 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 5e25f3f..d141c98 100644 +index f55bfed..64f82f7 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; @@ -439,7 +439,7 @@ index 5e25f3f..d141c98 100644 public CraftWorld getWorld() { return this.world; } -@@ -193,6 +196,7 @@ public abstract class World implements IBlockAccess { +@@ -190,6 +193,7 @@ public abstract class World implements IBlockAccess { }); this.getServer().addWorld(this.world); // CraftBukkit end @@ -447,7 +447,7 @@ index 5e25f3f..d141c98 100644 } public World b() { -@@ -1302,6 +1306,7 @@ public abstract class World implements IBlockAccess { +@@ -1299,6 +1303,7 @@ public abstract class World implements IBlockAccess { this.g.clear(); this.methodProfiler.c("regular"); @@ -455,7 +455,7 @@ index 5e25f3f..d141c98 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); -@@ -1318,7 +1323,9 @@ public abstract class World implements IBlockAccess { +@@ -1315,7 +1320,9 @@ public abstract class World implements IBlockAccess { this.methodProfiler.a("tick"); if (!entity.dead) { try { @@ -465,7 +465,7 @@ index 5e25f3f..d141c98 100644 } catch (Throwable throwable1) { crashreport = CrashReport.a(throwable1, "Ticking entity"); crashreportsystemdetails = crashreport.a("Entity being ticked"); -@@ -1343,7 +1350,9 @@ public abstract class World implements IBlockAccess { +@@ -1340,7 +1347,9 @@ public abstract class World implements IBlockAccess { this.methodProfiler.b(); } @@ -475,7 +475,7 @@ index 5e25f3f..d141c98 100644 this.M = true; // CraftBukkit start - From below, clean up tile entities before ticking them if (!this.c.isEmpty()) { -@@ -1362,6 +1371,7 @@ public abstract class World implements IBlockAccess { +@@ -1359,6 +1368,7 @@ public abstract class World implements IBlockAccess { if (this.isLoaded(blockposition) && this.N.a(blockposition)) { try { @@ -483,7 +483,7 @@ index 5e25f3f..d141c98 100644 ((IUpdatePlayerListBox) tileentity).c(); } catch (Throwable throwable2) { CrashReport crashreport1 = CrashReport.a(throwable2, "Ticking block entity"); -@@ -1370,6 +1380,11 @@ public abstract class World implements IBlockAccess { +@@ -1367,6 +1377,11 @@ public abstract class World implements IBlockAccess { tileentity.a(crashreportsystemdetails1); throw new ReportedException(crashreport1); } @@ -495,7 +495,7 @@ index 5e25f3f..d141c98 100644 } } -@@ -1382,6 +1397,8 @@ public abstract class World implements IBlockAccess { +@@ -1379,6 +1394,8 @@ public abstract class World implements IBlockAccess { } } @@ -504,7 +504,7 @@ index 5e25f3f..d141c98 100644 this.M = false; /* CraftBukkit start - Moved up if (!this.c.isEmpty()) { -@@ -1414,6 +1431,7 @@ public abstract class World implements IBlockAccess { +@@ -1411,6 +1428,7 @@ public abstract class World implements IBlockAccess { this.b.clear(); } @@ -512,7 +512,7 @@ index 5e25f3f..d141c98 100644 this.methodProfiler.b(); this.methodProfiler.b(); } -@@ -1458,6 +1476,7 @@ public abstract class World implements IBlockAccess { +@@ -1455,6 +1473,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 5e25f3f..d141c98 100644 // CraftBukkit end entity.P = entity.locX; entity.Q = entity.locY; -@@ -1521,6 +1540,7 @@ public abstract class World implements IBlockAccess { +@@ -1518,6 +1537,7 @@ public abstract class World implements IBlockAccess { } } @@ -529,10 +529,10 @@ index 5e25f3f..d141c98 100644 } diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index 31bb2eb..cd07095 100644 +index 2a7b68f..ce76d4b 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java -@@ -210,10 +210,13 @@ public class WorldServer extends World implements IAsyncTaskHandler { +@@ -216,10 +216,13 @@ public class WorldServer extends World implements IAsyncTaskHandler { // CraftBukkit start - Only call spawner if we have players online and the world allows for mobs or animals long time = this.worldData.getTime(); if (this.getGameRules().getBoolean("doMobSpawning") && this.worldData.getType() != WorldType.DEBUG_ALL_BLOCK_STATES && (this.allowMonsters || this.allowAnimals) && (this instanceof WorldServer && this.players.size() > 0)) { @@ -547,7 +547,7 @@ index 31bb2eb..cd07095 100644 this.methodProfiler.c("chunkSource"); this.chunkProvider.unloadChunks(); int j = this.a(1.0F); -@@ -227,21 +230,34 @@ public class WorldServer extends World implements IAsyncTaskHandler { +@@ -233,21 +236,34 @@ public class WorldServer extends World implements IAsyncTaskHandler { this.worldData.setDayTime(this.worldData.getDayTime() + 1L); } diff --git a/CraftBukkit-Patches/0014-Handle-Null-Tile-Entities.patch b/CraftBukkit-Patches/0014-Handle-Null-Tile-Entities.patch index a6d70c8e08..5c11a887bc 100644 --- a/CraftBukkit-Patches/0014-Handle-Null-Tile-Entities.patch +++ b/CraftBukkit-Patches/0014-Handle-Null-Tile-Entities.patch @@ -1,14 +1,14 @@ -From bee61fa06a11c6801d572612e9db8836b481cd3f Mon Sep 17 00:00:00 2001 +From 269f042d8786398dd5ba465f17e9a6b227ae1d60 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 d141c98..40faa66 100644 +index 64f82f7..486ee68 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java -@@ -1365,6 +1365,13 @@ public abstract class World implements IBlockAccess { +@@ -1362,6 +1362,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 aa98e8615d..cc0beecee1 100644 --- a/CraftBukkit-Patches/0015-Entity-Activation-Range.patch +++ b/CraftBukkit-Patches/0015-Entity-Activation-Range.patch @@ -1,4 +1,4 @@ -From 4c0c9850ed8e0d16ab2a08b3cd6c638a3958d713 Mon Sep 17 00:00:00 2001 +From 78c7eb45e0a73906cb57ee0b183e299aee580b91 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 40faa66..5116444 100644 +index 486ee68..2e96398 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java -@@ -1306,6 +1306,7 @@ public abstract class World implements IBlockAccess { +@@ -1303,6 +1303,7 @@ public abstract class World implements IBlockAccess { this.g.clear(); this.methodProfiler.c("regular"); @@ -207,7 +207,7 @@ index 40faa66..5116444 100644 timings.entityTick.startTiming(); // Spigot // CraftBukkit start - Use field for loop variable for (this.tickPosition = 0; this.tickPosition < this.entityList.size(); ++this.tickPosition) { -@@ -1480,9 +1481,11 @@ public abstract class World implements IBlockAccess { +@@ -1477,9 +1478,11 @@ public abstract class World implements IBlockAccess { int j = MathHelper.floor(entity.locZ); byte b0 = 32; 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 0e3cb3f8a1..906191ff6d 100644 --- a/CraftBukkit-Patches/0031-Allow-Disabling-of-Random-Lighting-Updates.patch +++ b/CraftBukkit-Patches/0031-Allow-Disabling-of-Random-Lighting-Updates.patch @@ -1,4 +1,4 @@ -From 7f73cd075e1a1a9a55d562c1893b9a7f5504500d Mon Sep 17 00:00:00 2001 +From e9eade2eb7eecfd2247bd86317fea7ec51a6e989 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 @@ -18,10 +18,10 @@ index 92b25f0..ab971cf 100644 } diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 5116444..f32985f 100644 +index 2e96398..dda2853 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java -@@ -2074,7 +2074,7 @@ public abstract class World implements IBlockAccess { +@@ -2071,7 +2071,7 @@ public abstract class World implements IBlockAccess { } this.methodProfiler.a("playerCheckLight"); diff --git a/CraftBukkit-Patches/0053-Orebfuscator.patch b/CraftBukkit-Patches/0053-Orebfuscator.patch index 43e52c7c8e..ac4953d087 100644 --- a/CraftBukkit-Patches/0053-Orebfuscator.patch +++ b/CraftBukkit-Patches/0053-Orebfuscator.patch @@ -1,4 +1,4 @@ -From afb5ac02e70cb648e6b2f3e0697f1be5b361775f Mon Sep 17 00:00:00 2001 +From 74c386f2e37c5b978452431e35a04b47fff811d2 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 f32985f..c6ea886 100644 +index dda2853..e94a89e 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java -@@ -497,6 +497,7 @@ public abstract class World implements IBlockAccess { +@@ -494,6 +494,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 f32985f..c6ea886 100644 } public void a(BlockPosition blockposition, Block block, EnumDirection enumdirection) { -@@ -722,9 +723,16 @@ public abstract class World implements IBlockAccess { +@@ -719,9 +720,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 593e08d8fc..3c57442706 100644 --- a/CraftBukkit-Patches/0063-More-Efficient-GetCubes.patch +++ b/CraftBukkit-Patches/0063-More-Efficient-GetCubes.patch @@ -1,14 +1,14 @@ -From 167ef06dcd77a658fd9994a2ce5c0a4a2602aea8 Mon Sep 17 00:00:00 2001 +From 05690a789775788614917ada908082cf11603161 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 c6ea886..9be6fb7 100644 +index e94a89e..e7a2803 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java -@@ -1104,28 +1104,56 @@ public abstract class World implements IBlockAccess { +@@ -1101,28 +1101,56 @@ public abstract class World implements IBlockAccess { IBlockData iblockdata = Blocks.STONE.getBlockData(); BlockPosition.MutableBlockPosition blockposition_mutableblockposition = new BlockPosition.MutableBlockPosition(); diff --git a/CraftBukkit-Patches/0092-Guard-Entity-List.patch b/CraftBukkit-Patches/0092-Guard-Entity-List.patch index da41738570..992b0e2898 100644 --- a/CraftBukkit-Patches/0092-Guard-Entity-List.patch +++ b/CraftBukkit-Patches/0092-Guard-Entity-List.patch @@ -1,11 +1,11 @@ -From c2d7f1c3f6c33ff4c092d949d0d518501d3a0a75 Mon Sep 17 00:00:00 2001 +From 41083c1e7274904a1d4487610d44a9611c6968b1 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 9be6fb7..0d97f71 100644 +index e7a2803..8d6aa7a 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 { @@ -50,7 +50,7 @@ index 9be6fb7..0d97f71 100644 protected final gnu.trove.map.hash.TLongShortHashMap chunkTickList; protected float growthOdds = 100; protected float modifiedOdds = 100; -@@ -1344,6 +1370,7 @@ public abstract class World implements IBlockAccess { +@@ -1341,6 +1367,7 @@ public abstract class World implements IBlockAccess { org.spigotmc.ActivationRange.activateEntities(this); // Spigot timings.entityTick.startTiming(); // Spigot @@ -58,7 +58,7 @@ index 9be6fb7..0d97f71 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); -@@ -1380,12 +1407,15 @@ public abstract class World implements IBlockAccess { +@@ -1377,12 +1404,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 5c36601519..10ef70b026 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 cae0937ade50fb86203d217e6163cd57fa303626 Mon Sep 17 00:00:00 2001 +From f7c679145cbad061ad38ddbae66acd237f283799 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 0d97f71..e7af966 100644 +index 8d6aa7a..3c4c0fe 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java -@@ -1093,6 +1093,7 @@ public abstract class World implements IBlockAccess { +@@ -1090,6 +1090,7 @@ public abstract class World implements IBlockAccess { this.everyoneSleeping(); } @@ -17,7 +17,7 @@ index 0d97f71..e7af966 100644 int i = entity.ae; int j = entity.ag; -@@ -1109,6 +1110,7 @@ public abstract class World implements IBlockAccess { +@@ -1106,6 +1107,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 4c98ad4d8a..a0d77343c6 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,11 +1,11 @@ -From dc56c6e054e61c77a698c09b7e39adcd5031ab01 Mon Sep 17 00:00:00 2001 +From 27a8e021352f1fc873ed315a64bef483a8cfa87a 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 e7af966..20bad35 100644 +index 3c4c0fe..a53c59e 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 { @@ -17,7 +17,7 @@ index e7af966..20bad35 100644 public static long chunkToKey(int x, int z) { -@@ -570,6 +572,9 @@ public abstract class World implements IBlockAccess { +@@ -567,6 +569,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 54e98ad274..c6856800b3 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 808595e3295e577837ed66d03cdb3b2f23b2ecaf Mon Sep 17 00:00:00 2001 +From 47f544b2d6dbc76e02c6e446e72ae825c04f0555 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 20bad35..1d1b5bf 100644 +index a53c59e..99b81b5 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java -@@ -1930,6 +1930,7 @@ public abstract class World implements IBlockAccess { +@@ -1927,6 +1927,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 79c7ca40e6..3b4fda8eb6 100644 --- a/CraftBukkit-Patches/0143-Plug-WorldMap-Memory-Leak.patch +++ b/CraftBukkit-Patches/0143-Plug-WorldMap-Memory-Leak.patch @@ -1,4 +1,4 @@ -From 23de8ceb07e9c88986f2fbf1db4bc2bd5d5ae0d6 Mon Sep 17 00:00:00 2001 +From 7f4baabb2496489826be226ef4ed583de3ca7c22 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 1d1b5bf..1f41281 100644 +index 99b81b5..ba5f1db 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java -@@ -1084,6 +1084,23 @@ public abstract class World implements IBlockAccess { +@@ -1081,6 +1081,23 @@ public abstract class World implements IBlockAccess { entity.die(); if (entity instanceof EntityHuman) { this.players.remove(entity); diff --git a/CraftBukkit-Patches/0144-Fix-Corrupted-Trapped-Chest.patch b/CraftBukkit-Patches/0144-Fix-Corrupted-Trapped-Chest.patch index 5f9d1f9797..2ecd37ce95 100644 --- a/CraftBukkit-Patches/0144-Fix-Corrupted-Trapped-Chest.patch +++ b/CraftBukkit-Patches/0144-Fix-Corrupted-Trapped-Chest.patch @@ -1,4 +1,4 @@ -From d52a65408226de421ff596dbeaea6c9fdd5d2db5 Mon Sep 17 00:00:00 2001 +From 948620cfb80ebe099eccc51ab7b9dd67e49d3230 Mon Sep 17 00:00:00 2001 From: Aikar Date: Fri, 15 Aug 2014 00:56:41 -0400 Subject: [PATCH] Fix Corrupted Trapped Chest @@ -9,10 +9,10 @@ If a Trapped Chest gets its Tile Entity corrupted, it will crash the server ever This will now fix Trapped Chests too. diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index cd07095..05d9f12 100644 +index ce76d4b..4c2eba3 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java -@@ -113,7 +113,7 @@ public class WorldServer extends World implements IAsyncTaskHandler { +@@ -119,7 +119,7 @@ public class WorldServer extends World implements IAsyncTaskHandler { TileEntity result = super.getTileEntity(pos); Block type = getType(pos).getBlock(); diff --git a/CraftBukkit-Patches/0149-Limit-TNT-Detonations-per-tick.patch b/CraftBukkit-Patches/0149-Limit-TNT-Detonations-per-tick.patch index b056d232fa..3d8c8f836a 100644 --- a/CraftBukkit-Patches/0149-Limit-TNT-Detonations-per-tick.patch +++ b/CraftBukkit-Patches/0149-Limit-TNT-Detonations-per-tick.patch @@ -1,4 +1,4 @@ -From 915ab51c5b998c76abe78ccb515cabc5ed108166 Mon Sep 17 00:00:00 2001 +From b460117a9217f26ba4959241de7c05dfbdec4976 Mon Sep 17 00:00:00 2001 From: Aikar Date: Wed, 20 Aug 2014 18:12:32 -0400 Subject: [PATCH] Limit TNT Detonations per tick @@ -19,10 +19,10 @@ index 10f6e47..2d22327 100644 this.lastY = this.locY; this.lastZ = this.locZ; diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index 05d9f12..22e4b10 100644 +index 4c2eba3..1090707 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java -@@ -582,6 +582,7 @@ public class WorldServer extends World implements IAsyncTaskHandler { +@@ -588,6 +588,7 @@ public class WorldServer extends World implements IAsyncTaskHandler { } super.tickEntities(); diff --git a/CraftBukkit-Patches/0157-Allow-Capping-Tile-Entity-Tick-Time.patch b/CraftBukkit-Patches/0157-Allow-Capping-Tile-Entity-Tick-Time.patch index 9556cdd8f6..85c2659515 100644 --- a/CraftBukkit-Patches/0157-Allow-Capping-Tile-Entity-Tick-Time.patch +++ b/CraftBukkit-Patches/0157-Allow-Capping-Tile-Entity-Tick-Time.patch @@ -1,4 +1,4 @@ -From 9d4faf8e6621c81e44b80943505042469bb59683 Mon Sep 17 00:00:00 2001 +From 18f8cbc694301758d04d4321c51694546bc463db 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,7 +10,7 @@ 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 1f41281..34d3697 100644 +index ba5f1db..3c89c0d 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 { @@ -23,7 +23,7 @@ index 1f41281..34d3697 100644 public static long chunkToKey(int x, int z) { -@@ -225,6 +228,8 @@ public abstract class World implements IBlockAccess { +@@ -222,6 +225,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 1f41281..34d3697 100644 } public World b() { -@@ -1396,7 +1401,12 @@ public abstract class World implements IBlockAccess { +@@ -1393,7 +1398,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 1f41281..34d3697 100644 entity = (Entity) this.entityList.get(this.tickPosition); // CraftBukkit end if (entity.vehicle != null) { -@@ -1452,14 +1462,18 @@ public abstract class World implements IBlockAccess { +@@ -1449,14 +1459,18 @@ public abstract class World implements IBlockAccess { this.c.clear(); } // CraftBukkit end @@ -69,7 +69,7 @@ index 1f41281..34d3697 100644 continue; } // Spigot end -@@ -1487,7 +1501,7 @@ public abstract class World implements IBlockAccess { +@@ -1484,7 +1498,7 @@ public abstract class World implements IBlockAccess { } if (tileentity.x()) {