diff --git a/CraftBukkit-Patches/0001-POM-Changes.patch b/CraftBukkit-Patches/0001-POM-Changes.patch index b56f1651f9..22a4c136cb 100644 --- a/CraftBukkit-Patches/0001-POM-Changes.patch +++ b/CraftBukkit-Patches/0001-POM-Changes.patch @@ -1,4 +1,4 @@ -From a33af7358dfa85e86fe64c23d34ec21a47f3f5cc Mon Sep 17 00:00:00 2001 +From be6a8aefafe4a6dc34d952b7c0cf860f7136defe Mon Sep 17 00:00:00 2001 From: md_5 Date: Tue, 2 Jul 2013 13:07:39 +1000 Subject: [PATCH] POM Changes @@ -6,7 +6,7 @@ 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 e2d4c7d..5fd93be 100644 +index 8d3f539..74efc8b 100644 --- a/pom.xml +++ b/pom.xml @@ -1,12 +1,12 @@ @@ -51,7 +51,7 @@ index e2d4c7d..5fd93be 100644 ${project.version} jar compile -@@ -132,18 +139,39 @@ +@@ -132,21 +139,39 @@ @@ -61,16 +61,14 @@ index e2d4c7d..5fd93be 100644 com.lukegb.mojo gitdescribe-maven-plugin -- 1.3 -+ 2.0 + 2.0 - ${buildtag.prefix} - ${buildtag.suffix} -- -+ -+ --always -+ -+ + + --always + + + ex-spigot @@ -96,7 +94,7 @@ index e2d4c7d..5fd93be 100644 compile gitdescribe -@@ -160,7 +188,7 @@ +@@ -163,7 +188,7 @@ org.bukkit.craftbukkit.Main CraftBukkit @@ -105,7 +103,7 @@ index e2d4c7d..5fd93be 100644 Bukkit Team Bukkit ${api.version} -@@ -193,7 +221,7 @@ +@@ -196,7 +221,7 @@ org.apache.maven.plugins maven-shade-plugin diff --git a/CraftBukkit-Patches/0003-Skeleton-API-Implementations.patch b/CraftBukkit-Patches/0003-Skeleton-API-Implementations.patch index da23099e9f..27c5647190 100644 --- a/CraftBukkit-Patches/0003-Skeleton-API-Implementations.patch +++ b/CraftBukkit-Patches/0003-Skeleton-API-Implementations.patch @@ -1,4 +1,4 @@ -From 612a8c1fc34fe2df4d22a21196f0b7df9341c974 Mon Sep 17 00:00:00 2001 +From 80cd16f04a4511aff368dbe080503feb517aeb80 Mon Sep 17 00:00:00 2001 From: md_5 Date: Sun, 2 Jun 2013 15:10:56 +1000 Subject: [PATCH] Skeleton API Implementations @@ -6,10 +6,10 @@ Subject: [PATCH] Skeleton API Implementations This contains the basic, empty implementations for some Spigot-API extensions. They are included early in the patching progress so that compilation will still succeed midway despite the APIs only being provided by subsequent patches. diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index fa1fe20..fb21e5b 100644 +index 075a7fd..38892a0 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -1625,4 +1625,14 @@ public final class CraftServer implements Server { +@@ -1622,4 +1622,14 @@ public final class CraftServer implements Server { public UnsafeValues getUnsafe() { return CraftMagicNumbers.INSTANCE; } @@ -25,7 +25,7 @@ index fa1fe20..fb21e5b 100644 + } } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index f20a040..17d24ce 100644 +index 83efd6a..8d28b9a 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -1323,4 +1323,14 @@ public class CraftWorld implements World { diff --git a/CraftBukkit-Patches/0004-Obfuscation-Helpers.patch b/CraftBukkit-Patches/0004-Obfuscation-Helpers.patch index 7f63b97878..d85e7f6021 100644 --- a/CraftBukkit-Patches/0004-Obfuscation-Helpers.patch +++ b/CraftBukkit-Patches/0004-Obfuscation-Helpers.patch @@ -1,4 +1,4 @@ -From 29a756575eaff194e5a3759084883c683ab1d4e6 Mon Sep 17 00:00:00 2001 +From 2588e39beca5baaa8a95225e8005bb69437e906a Mon Sep 17 00:00:00 2001 From: md_5 Date: Mon, 14 Apr 2014 10:38:04 +1000 Subject: [PATCH] Obfuscation Helpers @@ -6,10 +6,10 @@ Subject: [PATCH] Obfuscation Helpers Provides several friendly named methods which map to a obfuscated method. Obfuscated methods which are used frequently should be added to this file to ease with updates to new Minecraft versions. diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 2422a5f..7224ee6 100644 +index fe25804..5e53661 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -1298,6 +1298,12 @@ public abstract class MinecraftServer implements ICommandListener, Runnable, IAs +@@ -1294,6 +1294,12 @@ public abstract class MinecraftServer implements ICommandListener, Runnable, IAs } diff --git a/CraftBukkit-Patches/0005-Spigot-Configuration.patch b/CraftBukkit-Patches/0005-Spigot-Configuration.patch index 8dcecd9425..4b388634ce 100644 --- a/CraftBukkit-Patches/0005-Spigot-Configuration.patch +++ b/CraftBukkit-Patches/0005-Spigot-Configuration.patch @@ -1,4 +1,4 @@ -From cba0ed7de061f5e3becddd0f9db58437454371c7 Mon Sep 17 00:00:00 2001 +From a63a688407f5d27d053b8fd28e28387ee1a72610 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 29c0a34..424b71d 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 f45bf54..130c54d 100644 +index 82343c5..44eb108 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -98,6 +98,7 @@ public abstract class World implements IBlockAccess { @@ -55,7 +55,7 @@ index f45bf54..130c54d 100644 this.world = new CraftWorld((WorldServer) this, gen, env); 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 fb21e5b..50a44f4 100644 +index 38892a0..1f49e1c 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -245,8 +245,10 @@ public final class CraftServer implements Server { @@ -71,7 +71,7 @@ index fb21e5b..50a44f4 100644 } public boolean getCommandBlockOverride(String command) { -@@ -672,6 +674,7 @@ public final class CraftServer implements Server { +@@ -671,6 +673,7 @@ public final class CraftServer implements Server { logger.log(Level.WARNING, "Failed to load banned-players.json, " + ex.getMessage()); } @@ -79,7 +79,7 @@ index fb21e5b..50a44f4 100644 for (WorldServer world : console.worlds) { world.worldData.setDifficulty(difficulty); world.setSpawnFlags(monsters, animals); -@@ -686,11 +689,14 @@ public final class CraftServer implements Server { +@@ -685,11 +688,14 @@ public final class CraftServer implements Server { } else { world.ticksPerMonsterSpawns = this.getTicksPerMonsterSpawns(); } diff --git a/CraftBukkit-Patches/0012-Spigot-Timings.patch b/CraftBukkit-Patches/0012-Spigot-Timings.patch index 304d323147..2ed288ea4a 100644 --- a/CraftBukkit-Patches/0012-Spigot-Timings.patch +++ b/CraftBukkit-Patches/0012-Spigot-Timings.patch @@ -1,4 +1,4 @@ -From 4e94a503c9de92d30489655ea3affe5c577459ec Mon Sep 17 00:00:00 2001 +From 444fbb732d8b26b71369fac046fb382bbbe222ee Mon Sep 17 00:00:00 2001 From: Aikar Date: Thu, 10 Jan 2013 00:18:11 -0500 Subject: [PATCH] Spigot Timings @@ -133,7 +133,7 @@ index 424b71d..390c6eb 100644 public boolean ad() { diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 6e395b6..e2f3456 100644 +index f76dc85..59473f5 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -16,6 +16,7 @@ import org.bukkit.entity.Hanging; @@ -242,7 +242,7 @@ index 0aaee5f..803b5df 100644 this.world.methodProfiler.b(); diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 7224ee6..7d3b218 100644 +index 5e53661..49429d7 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -45,6 +45,7 @@ import joptsimple.OptionSet; @@ -253,7 +253,7 @@ index 7224ee6..7d3b218 100644 import org.bukkit.craftbukkit.util.Waitable; import org.bukkit.event.server.RemoteServerCommandEvent; import org.bukkit.event.world.WorldSaveEvent; -@@ -589,6 +590,7 @@ public abstract class MinecraftServer implements ICommandListener, Runnable, IAs +@@ -585,6 +586,7 @@ public abstract class MinecraftServer implements ICommandListener, Runnable, IAs protected void x() {} protected void y() throws ExceptionWorldConflict { // CraftBukkit - added throws @@ -261,7 +261,7 @@ index 7224ee6..7d3b218 100644 long i = System.nanoTime(); ++this.ticks; -@@ -615,10 +617,12 @@ public abstract class MinecraftServer implements ICommandListener, Runnable, IAs +@@ -611,10 +613,12 @@ public abstract class MinecraftServer implements ICommandListener, Runnable, IAs } if (autosavePeriod > 0 && this.ticks % autosavePeriod == 0) { // CraftBukkit @@ -274,7 +274,7 @@ index 7224ee6..7d3b218 100644 } this.methodProfiler.a("tallying"); -@@ -635,6 +639,8 @@ public abstract class MinecraftServer implements ICommandListener, Runnable, IAs +@@ -631,6 +635,8 @@ public abstract class MinecraftServer implements ICommandListener, Runnable, IAs this.methodProfiler.b(); this.methodProfiler.b(); @@ -283,7 +283,7 @@ index 7224ee6..7d3b218 100644 } public void z() { -@@ -653,16 +659,23 @@ public abstract class MinecraftServer implements ICommandListener, Runnable, IAs +@@ -649,16 +655,23 @@ public abstract class MinecraftServer implements ICommandListener, Runnable, IAs this.methodProfiler.c("levels"); @@ -307,7 +307,7 @@ index 7224ee6..7d3b218 100644 // Send time updates to everyone, it will get the right time from the world the player is in. if (this.ticks % 20 == 0) { for (int i = 0; i < this.getPlayerList().players.size(); ++i) { -@@ -670,6 +683,7 @@ public abstract class MinecraftServer implements ICommandListener, Runnable, IAs +@@ -666,6 +679,7 @@ public abstract class MinecraftServer implements ICommandListener, Runnable, IAs entityplayer.playerConnection.sendPacket(new PacketPlayOutUpdateTime(entityplayer.world.getTime(), entityplayer.getPlayerTime(), entityplayer.world.getGameRules().getBoolean("doDaylightCycle"))); // Add support for per player time } } @@ -315,7 +315,7 @@ index 7224ee6..7d3b218 100644 int i; -@@ -693,7 +707,9 @@ public abstract class MinecraftServer implements ICommandListener, Runnable, IAs +@@ -689,7 +703,9 @@ public abstract class MinecraftServer implements ICommandListener, Runnable, IAs CrashReport crashreport; try { @@ -325,7 +325,7 @@ index 7224ee6..7d3b218 100644 } catch (Throwable throwable1) { crashreport = CrashReport.a(throwable1, "Exception ticking world"); worldserver.a(crashreport); -@@ -701,7 +717,9 @@ public abstract class MinecraftServer implements ICommandListener, Runnable, IAs +@@ -697,7 +713,9 @@ public abstract class MinecraftServer implements ICommandListener, Runnable, IAs } try { @@ -335,7 +335,7 @@ index 7224ee6..7d3b218 100644 } catch (Throwable throwable2) { crashreport = CrashReport.a(throwable2, "Exception ticking world entities"); worldserver.a(crashreport); -@@ -710,7 +728,9 @@ public abstract class MinecraftServer implements ICommandListener, Runnable, IAs +@@ -706,7 +724,9 @@ public abstract class MinecraftServer implements ICommandListener, Runnable, IAs this.methodProfiler.b(); this.methodProfiler.a("tracker"); @@ -345,7 +345,7 @@ index 7224ee6..7d3b218 100644 this.methodProfiler.b(); this.methodProfiler.b(); // } // CraftBukkit -@@ -719,14 +739,20 @@ public abstract class MinecraftServer implements ICommandListener, Runnable, IAs +@@ -715,14 +735,20 @@ public abstract class MinecraftServer implements ICommandListener, Runnable, IAs } this.methodProfiler.c("connection"); @@ -367,7 +367,7 @@ index 7224ee6..7d3b218 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 17c5e38..c7d4f9f 100644 +index 2235ba4..1950abf 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java @@ -1009,6 +1009,8 @@ public class PlayerConnection implements PacketListenerPlayIn, IUpdatePlayerList @@ -420,7 +420,7 @@ index ec76148..a93ad27 100644 private static Map f = Maps.newHashMap(); private static Map g = Maps.newHashMap(); diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 69e78b8..d67f2eb 100644 +index 3fb0636..2d67346 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; @@ -530,7 +530,7 @@ index 69e78b8..d67f2eb 100644 } diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index f34b76e..9012c9e 100644 +index fc21cf7..b5627c5 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java @@ -212,10 +212,13 @@ public class WorldServer extends World implements IAsyncTaskHandler { @@ -584,10 +584,10 @@ index f34b76e..9012c9e 100644 public BiomeMeta a(EnumCreatureType enumcreaturetype, BlockPosition blockposition) { diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 50a44f4..9d3d76e 100644 +index 1f49e1c..1f5021f 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -1635,6 +1635,11 @@ public final class CraftServer implements Server { +@@ -1632,6 +1632,11 @@ public final class CraftServer implements Server { private final Spigot spigot = new Spigot() { @@ -600,7 +600,7 @@ index 50a44f4..9d3d76e 100644 public Spigot spigot() diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index a45f2a3..13f85d5 100644 +index 80f84a8..568072f 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -252,9 +252,11 @@ public class CraftWorld implements World { @@ -792,7 +792,7 @@ index 0000000..558574f + } +} diff --git a/src/main/java/org/bukkit/craftbukkit/chunkio/ChunkIOProvider.java b/src/main/java/org/bukkit/craftbukkit/chunkio/ChunkIOProvider.java -index c2d4c2e..f0db29f 100644 +index 26ea0d3..7fabfa3 100644 --- a/src/main/java/org/bukkit/craftbukkit/chunkio/ChunkIOProvider.java +++ b/src/main/java/org/bukkit/craftbukkit/chunkio/ChunkIOProvider.java @@ -40,7 +40,9 @@ class ChunkIOProvider implements AsynchronousExecutor.CallBackProvider Date: Sun, 3 Feb 2013 05:10:21 -0500 Subject: [PATCH] Entity Activation Range @@ -9,10 +9,10 @@ This will drastically cut down on tick timings for entities that are not in rang This change can have dramatic impact on gameplay if configured too low. Balance according to your servers desired gameplay. diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index e2f3456..10e99d1 100644 +index 59473f5..cffe530 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java -@@ -89,7 +89,7 @@ public abstract class Entity implements ICommandListener { +@@ -89,14 +89,14 @@ public abstract class Entity implements ICommandListener { public int ticksLived; public int maxFireTicks; public int fireTicks; @@ -21,6 +21,14 @@ index e2f3456..10e99d1 100644 public int noDamageTicks; protected boolean justCreated; protected boolean fireProof; + protected DataWatcher datawatcher; + private double ap; + private double aq; +- public boolean ad; ++ public boolean ad;public boolean isAddedToChunk() { return ad; } // Spigot + public int ae; + public int af; + public int ag; @@ -113,7 +113,13 @@ public abstract class Entity implements ICommandListener { public boolean valid; // CraftBukkit public org.bukkit.projectiles.ProjectileSource projectileSource; // CraftBukkit - For projectiles only @@ -155,7 +163,7 @@ index 803b5df..86474de 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 9cb7ab8..aa6d407 100644 +index 0584909..e5da9db 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -1256,6 +1256,7 @@ public abstract class World implements IBlockAccess { @@ -197,10 +205,10 @@ index 558574f..41d2d87 100644 public static final HashMap pluginTaskTimingMap = new HashMap(); diff --git a/src/main/java/org/spigotmc/ActivationRange.java b/src/main/java/org/spigotmc/ActivationRange.java new file mode 100644 -index 0000000..8ca6e20 +index 0000000..3505475 --- /dev/null +++ b/src/main/java/org/spigotmc/ActivationRange.java -@@ -0,0 +1,278 @@ +@@ -0,0 +1,283 @@ +package org.spigotmc; + +import java.util.ArrayList; @@ -447,6 +455,11 @@ index 0000000..8ca6e20 + public static boolean checkIfActive(Entity entity) + { + SpigotTimings.checkIfActiveTimer.startTiming(); ++ if ( !entity.isAddedToChunk() ) { ++ SpigotTimings.checkIfActiveTimer.stopTiming(); ++ return true; ++ } ++ + boolean isActive = entity.activatedTick >= MinecraftServer.currentTick || entity.defaultActivationState; + + // Should this entity tick? @@ -500,5 +513,5 @@ index 46249d7..ed2836a 100644 + } } -- -2.1.0 +1.9.1 diff --git a/CraftBukkit-Patches/0021-Close-Unloaded-Save-Files.patch b/CraftBukkit-Patches/0021-Close-Unloaded-Save-Files.patch index d7ae43fab0..345f738a11 100644 --- a/CraftBukkit-Patches/0021-Close-Unloaded-Save-Files.patch +++ b/CraftBukkit-Patches/0021-Close-Unloaded-Save-Files.patch @@ -1,4 +1,4 @@ -From e95361cd8ad19c073e62e7f7048a4616bdd65708 Mon Sep 17 00:00:00 2001 +From b2e323897b2d138c4ea2bc5175d6da6e64351024 Mon Sep 17 00:00:00 2001 From: Antony Riley Date: Wed, 27 Mar 2013 01:41:54 +0200 Subject: [PATCH] Close Unloaded Save Files @@ -18,10 +18,10 @@ index f4f72ef..1b03878 100644 public static synchronized RegionFile a(File file, int i, int j) { File file1 = new File(file, "region"); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 9d3d76e..ff06c34 100644 +index 1f5021f..d540cd0 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -950,6 +950,31 @@ public final class CraftServer implements Server { +@@ -947,6 +947,31 @@ public final class CraftServer implements Server { worlds.remove(world.getName().toLowerCase()); console.worlds.remove(console.worlds.indexOf(handle)); diff --git a/CraftBukkit-Patches/0029-Allow-Disabling-of-Command-TabComplete.patch b/CraftBukkit-Patches/0029-Allow-Disabling-of-Command-TabComplete.patch index b089c8bf63..d64e3c95f2 100644 --- a/CraftBukkit-Patches/0029-Allow-Disabling-of-Command-TabComplete.patch +++ b/CraftBukkit-Patches/0029-Allow-Disabling-of-Command-TabComplete.patch @@ -1,14 +1,14 @@ -From 938bb2bbecbdca581826bcc17c4611890027e65f Mon Sep 17 00:00:00 2001 +From 81d3cead13e4ec13794d87f99d556aeba5339fb7 Mon Sep 17 00:00:00 2001 From: md_5 Date: Fri, 21 Jun 2013 18:05:54 +1000 Subject: [PATCH] Allow Disabling of Command TabComplete diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index ff06c34..f9f5056 100644 +index d540cd0..a770279 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -1554,6 +1554,13 @@ public final class CraftServer implements Server { +@@ -1551,6 +1551,13 @@ public final class CraftServer implements Server { } public List tabCompleteCommand(Player player, String message) { diff --git a/CraftBukkit-Patches/0030-Configurable-Messages.patch b/CraftBukkit-Patches/0030-Configurable-Messages.patch index 34348db73d..021d298d3c 100644 --- a/CraftBukkit-Patches/0030-Configurable-Messages.patch +++ b/CraftBukkit-Patches/0030-Configurable-Messages.patch @@ -1,4 +1,4 @@ -From ba993a3c58235d8d8b949adb280788cafe9880e1 Mon Sep 17 00:00:00 2001 +From fa69a6cc11be682af6522f276ec6011ab3db5251 Mon Sep 17 00:00:00 2001 From: md_5 Date: Fri, 21 Jun 2013 19:21:58 +1000 Subject: [PATCH] Configurable Messages @@ -23,7 +23,7 @@ index f8bac48..e036bc6 100644 this.b.close(chatcomponenttext); } else { diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java -index 5e882cc..2b8a3e5 100644 +index b55a7a5..7f1fcaa 100644 --- a/src/main/java/net/minecraft/server/PlayerList.java +++ b/src/main/java/net/minecraft/server/PlayerList.java @@ -357,7 +357,7 @@ public abstract class PlayerList { @@ -45,10 +45,10 @@ index 5e882cc..2b8a3e5 100644 } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index f9f5056..537932a 100644 +index a770279..f1ec39b 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -626,11 +626,7 @@ public final class CraftServer implements Server { +@@ -625,11 +625,7 @@ public final class CraftServer implements Server { return true; } diff --git a/CraftBukkit-Patches/0038-Fully-Disable-Snooper-When-Not-Required.patch b/CraftBukkit-Patches/0038-Fully-Disable-Snooper-When-Not-Required.patch index 168e72f6ec..d55958ecdb 100644 --- a/CraftBukkit-Patches/0038-Fully-Disable-Snooper-When-Not-Required.patch +++ b/CraftBukkit-Patches/0038-Fully-Disable-Snooper-When-Not-Required.patch @@ -1,14 +1,14 @@ -From 6627cc2177ad9e1991e1c595c894e5b441dce6f9 Mon Sep 17 00:00:00 2001 +From c47774ff334f12fa7bf6a86570db6c97c452bdde Mon Sep 17 00:00:00 2001 From: agentk20 Date: Sat, 3 Aug 2013 19:28:48 +1000 Subject: [PATCH] Fully Disable Snooper When Not Required diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 7d3b218..2c39a80 100644 +index 49429d7..0619584 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -629,11 +629,11 @@ public abstract class MinecraftServer implements ICommandListener, Runnable, IAs +@@ -625,11 +625,11 @@ public abstract class MinecraftServer implements ICommandListener, Runnable, IAs this.g[this.ticks % 100] = System.nanoTime() - i; this.methodProfiler.b(); this.methodProfiler.a("snooper"); diff --git a/CraftBukkit-Patches/0049-Watchdog-Thread.patch b/CraftBukkit-Patches/0049-Watchdog-Thread.patch index f8abd95f97..46ebb464c5 100644 --- a/CraftBukkit-Patches/0049-Watchdog-Thread.patch +++ b/CraftBukkit-Patches/0049-Watchdog-Thread.patch @@ -1,4 +1,4 @@ -From 80cf3ea8dec4901f6ca9ec52b1cc93827b6e284f Mon Sep 17 00:00:00 2001 +From 9dc042d1bac57e22faacb6be61edbbc72f2aa168 Mon Sep 17 00:00:00 2001 From: md_5 Date: Tue, 5 Aug 2014 17:20:19 +0100 Subject: [PATCH] Watchdog Thread. @@ -18,10 +18,10 @@ index 390c6eb..240c909 100644 thread.setName("Server Watchdog"); diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 2c39a80..adbd92e 100644 +index 0619584..2fa1626 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -539,6 +539,7 @@ public abstract class MinecraftServer implements ICommandListener, Runnable, IAs +@@ -535,6 +535,7 @@ public abstract class MinecraftServer implements ICommandListener, Runnable, IAs this.a(crashreport); } finally { try { @@ -29,7 +29,7 @@ index 2c39a80..adbd92e 100644 this.stop(); this.isStopped = true; } catch (Throwable throwable1) { -@@ -639,6 +640,7 @@ public abstract class MinecraftServer implements ICommandListener, Runnable, IAs +@@ -635,6 +636,7 @@ public abstract class MinecraftServer implements ICommandListener, Runnable, IAs this.methodProfiler.b(); this.methodProfiler.b(); diff --git a/CraftBukkit-Patches/0056-BungeeCord-Support.patch b/CraftBukkit-Patches/0056-BungeeCord-Support.patch index add2da915f..8c8a0e4041 100644 --- a/CraftBukkit-Patches/0056-BungeeCord-Support.patch +++ b/CraftBukkit-Patches/0056-BungeeCord-Support.patch @@ -1,4 +1,4 @@ -From 71a96659f5525a395acafe230d584db86629917a Mon Sep 17 00:00:00 2001 +From 309ed5906bcd6d84e84dc9690f2688c25e692bd4 Mon Sep 17 00:00:00 2001 From: md_5 Date: Sun, 1 Dec 2013 18:18:41 +1100 Subject: [PATCH] BungeeCord Support @@ -119,7 +119,7 @@ index 97920b0..0b86011 100644 this.d = EnumProtocol.a(packetdataserializer.e()); } diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java -index fe4121f..1d3d00f 100644 +index c0d1403..65fb97e 100644 --- a/src/main/java/net/minecraft/server/PlayerList.java +++ b/src/main/java/net/minecraft/server/PlayerList.java @@ -342,7 +342,7 @@ public abstract class PlayerList { @@ -132,10 +132,10 @@ index fe4121f..1d3d00f 100644 if (getProfileBans().isBanned(gameprofile) && !getProfileBans().get(gameprofile).hasExpired()) { diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 537932a..dbb3324 100644 +index f1ec39b..c79ede5 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -559,7 +559,13 @@ public final class CraftServer implements Server { +@@ -558,7 +558,13 @@ public final class CraftServer implements Server { @Override public long getConnectionThrottle() { diff --git a/CraftBukkit-Patches/0058-Configurable-Amount-of-Netty-Threads.patch b/CraftBukkit-Patches/0058-Configurable-Amount-of-Netty-Threads.patch index b92b90da5b..8e62dba73a 100644 --- a/CraftBukkit-Patches/0058-Configurable-Amount-of-Netty-Threads.patch +++ b/CraftBukkit-Patches/0058-Configurable-Amount-of-Netty-Threads.patch @@ -1,4 +1,4 @@ -From 4e12fdec7d72b72b4ccdedef8613c25abac165c6 Mon Sep 17 00:00:00 2001 +From cdc98fda7a7f9b481196468ef04dc2fc47388a10 Mon Sep 17 00:00:00 2001 From: md_5 Date: Fri, 13 Dec 2013 11:58:58 +1100 Subject: [PATCH] Configurable Amount of Netty Threads @@ -6,7 +6,7 @@ Subject: [PATCH] Configurable Amount of Netty Threads This brings back the option that the Spigot version of netty saw. By default Netty will try and use cores*2 threads, however if running multiple servers on the same machine, this can be too many threads. Additionally some people have 16 core servers. If 32 Netty threads are allowed in this setup, then the lock contention, and thus blocking between threads becomes much greater, leading to decreased performance. diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index adbd92e..cdef354 100644 +index 2fa1626..abef561 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -61,7 +61,7 @@ public abstract class MinecraftServer implements ICommandListener, Runnable, IAs @@ -27,7 +27,7 @@ index adbd92e..cdef354 100644 this.Z = new UserCache(this, file1); this.p = this.h(); // this.convertable = new WorldLoaderServer(file); // CraftBukkit - moved to DedicatedServer.init -@@ -1333,7 +1333,7 @@ public abstract class MinecraftServer implements ICommandListener, Runnable, IAs +@@ -1329,7 +1329,7 @@ public abstract class MinecraftServer implements ICommandListener, Runnable, IAs } // Spigot End public ServerConnection ao() { diff --git a/CraftBukkit-Patches/0060-Log-Cause-of-Unexpected-Exceptions.patch b/CraftBukkit-Patches/0060-Log-Cause-of-Unexpected-Exceptions.patch index 933a7ceaa1..cec1abedc8 100644 --- a/CraftBukkit-Patches/0060-Log-Cause-of-Unexpected-Exceptions.patch +++ b/CraftBukkit-Patches/0060-Log-Cause-of-Unexpected-Exceptions.patch @@ -1,14 +1,14 @@ -From c502d8318bc17af0363db62a52b546c7d451cc16 Mon Sep 17 00:00:00 2001 +From 55a0e38f9e4935d64671da187f9addcbedc73839 Mon Sep 17 00:00:00 2001 From: md_5 Date: Wed, 18 Dec 2013 13:39:14 +1100 Subject: [PATCH] Log Cause of Unexpected Exceptions diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index cdef354..6ff5211 100644 +index abef561..a8bab04 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -520,6 +520,12 @@ public abstract class MinecraftServer implements ICommandListener, Runnable, IAs +@@ -516,6 +516,12 @@ public abstract class MinecraftServer implements ICommandListener, Runnable, IAs } } catch (Throwable throwable) { MinecraftServer.LOGGER.error("Encountered an unexpected exception", throwable); diff --git a/CraftBukkit-Patches/0070-Try-and-Debug-Crash-Reports-Crashing.patch b/CraftBukkit-Patches/0070-Try-and-Debug-Crash-Reports-Crashing.patch index 408a24eefd..287b37272e 100644 --- a/CraftBukkit-Patches/0070-Try-and-Debug-Crash-Reports-Crashing.patch +++ b/CraftBukkit-Patches/0070-Try-and-Debug-Crash-Reports-Crashing.patch @@ -1,14 +1,14 @@ -From ff274b6f8e30286775d5c6b10f50490523591142 Mon Sep 17 00:00:00 2001 +From 77dbbb73f38e8560a1b7eb2e7062738d206b8ee4 Mon Sep 17 00:00:00 2001 From: md_5 Date: Sun, 12 Jan 2014 20:56:41 +1100 Subject: [PATCH] Try and Debug Crash Reports Crashing diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 6ff5211..85c3e3f 100644 +index a8bab04..7ce37c0 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -719,7 +719,13 @@ public abstract class MinecraftServer implements ICommandListener, Runnable, IAs +@@ -715,7 +715,13 @@ public abstract class MinecraftServer implements ICommandListener, Runnable, IAs worldserver.doTick(); worldserver.timings.doTick.stopTiming(); // Spigot } catch (Throwable throwable1) { @@ -22,7 +22,7 @@ index 6ff5211..85c3e3f 100644 worldserver.a(crashreport); throw new ReportedException(crashreport); } -@@ -729,7 +735,13 @@ public abstract class MinecraftServer implements ICommandListener, Runnable, IAs +@@ -725,7 +731,13 @@ public abstract class MinecraftServer implements ICommandListener, Runnable, IAs worldserver.tickEntities(); worldserver.timings.tickEntities.stopTiming(); // Spigot } catch (Throwable throwable2) { diff --git a/CraftBukkit-Patches/0071-Improve-AutoSave-Mechanism.patch b/CraftBukkit-Patches/0071-Improve-AutoSave-Mechanism.patch new file mode 100644 index 0000000000..8e3c97806e --- /dev/null +++ b/CraftBukkit-Patches/0071-Improve-AutoSave-Mechanism.patch @@ -0,0 +1,74 @@ +From 1726fd02fac28834745b15aac24be4c8f050de5b Mon Sep 17 00:00:00 2001 +From: md_5 +Date: Sun, 12 Jan 2014 21:07:18 +1100 +Subject: [PATCH] Improve AutoSave Mechanism + +The problem here is that MinecraftServer.save(..), will attempt to sleep whilst all pending chunks are written to disk. +however due to various and complicated bugs, it will wait for an incorrect amount of chunks, which may cause it to sleep for an overly long amount of time. + +Instead we will mimic the save-all command in its behaviour, which is both safe and performant. + +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 e664e55..1412616 100644 +--- a/src/main/java/net/minecraft/server/Chunk.java ++++ b/src/main/java/net/minecraft/server/Chunk.java +@@ -917,7 +917,7 @@ public class Chunk { + if (this.r && this.world.getTime() != this.lastSaved || this.q) { + return true; + } +- } else if (this.r && this.world.getTime() >= this.lastSaved + 600L) { ++ } else if (this.r && this.world.getTime() >= this.lastSaved + MinecraftServer.getServer().autosavePeriod * 4) { // Spigot - Only save if we've passed 2 auto save intervals without modification + return true; + } + +diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java +index 7ce37c0..4a2f084 100644 +--- a/src/main/java/net/minecraft/server/MinecraftServer.java ++++ b/src/main/java/net/minecraft/server/MinecraftServer.java +@@ -623,7 +623,17 @@ public abstract class MinecraftServer implements ICommandListener, Runnable, IAs + SpigotTimings.worldSaveTimer.startTiming(); // Spigot + this.methodProfiler.a("save"); + this.v.savePlayers(); +- this.saveChunks(true); ++ // Spigot Start ++ // We replace this with saving each individual world as this.saveChunks(...) is broken, ++ // and causes the main thread to sleep for random amounts of time depending on chunk activity ++ // Also pass flag to only save modified chunks ++ server.playerCommandState = true; ++ for (World world : worlds) { ++ world.getWorld().save(false); ++ } ++ server.playerCommandState = false; ++ // this.saveChunks(true); ++ // Spigot End + this.methodProfiler.b(); + SpigotTimings.worldSaveTimer.stopTiming(); // Spigot + } +diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +index 2545b38..d61c1de 100644 +--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java ++++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +@@ -688,12 +688,17 @@ public class CraftWorld implements World { + } + + public void save() { ++ // Spigot start ++ save(true); ++ } ++ public void save(boolean forceSave) { ++ // Spigot end + this.server.checkSaveState(); + try { + boolean oldSave = world.savingDisabled; + + world.savingDisabled = false; +- world.save(true, null); ++ world.save(forceSave, null); // Spigot + + world.savingDisabled = oldSave; + } catch (ExceptionWorldConflict ex) { +-- +2.1.0 + diff --git a/CraftBukkit-Patches/0071-Replace-AutoSave-Mechanism.patch b/CraftBukkit-Patches/0071-Replace-AutoSave-Mechanism.patch deleted file mode 100644 index 42d70f95fa..0000000000 --- a/CraftBukkit-Patches/0071-Replace-AutoSave-Mechanism.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 040f87b48e7698730fff7107a8d776ed3c9cefce Mon Sep 17 00:00:00 2001 -From: md_5 -Date: Sun, 12 Jan 2014 21:07:18 +1100 -Subject: [PATCH] Replace AutoSave Mechanism - -The problem here is that MinecraftServer.save(..), will attempt to sleep whilst all pending chunks are written to disk, however due to various and complicated bugs, it will wait for an incorrect amount of chunks, which may cause it to sleep for an overly long amount of time. Instead we will mimic the save-all command in its behaviour, which is both safe and performant. - -diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 85c3e3f..bf2002c 100644 ---- a/src/main/java/net/minecraft/server/MinecraftServer.java -+++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -627,7 +627,16 @@ public abstract class MinecraftServer implements ICommandListener, Runnable, IAs - SpigotTimings.worldSaveTimer.startTiming(); // Spigot - this.methodProfiler.a("save"); - this.v.savePlayers(); -- this.saveChunks(true); -+ // Spigot Start -+ // We replace this with saving each individual world as this.saveChunks(...) is broken, -+ // and causes the main thread to sleep for random amounts of time depending on chunk activity -+ server.playerCommandState = true; -+ for (World world : worlds) { -+ world.getWorld().save(); -+ } -+ server.playerCommandState = false; -+ // this.saveChunks(true); -+ // Spigot End - this.methodProfiler.b(); - SpigotTimings.worldSaveTimer.stopTiming(); // Spigot - } --- -2.1.0 - diff --git a/CraftBukkit-Patches/0076-Highly-Optimized-Tick-Loop.patch b/CraftBukkit-Patches/0076-Highly-Optimized-Tick-Loop.patch index 7b281cf577..fd139da0ea 100644 --- a/CraftBukkit-Patches/0076-Highly-Optimized-Tick-Loop.patch +++ b/CraftBukkit-Patches/0076-Highly-Optimized-Tick-Loop.patch @@ -1,11 +1,11 @@ -From af448ce7f98122ac62de59e8d27d1f80159b1449 Mon Sep 17 00:00:00 2001 +From 5ceb8bec0a5b6d0c209c4fec89ca28b86a34ff9e Mon Sep 17 00:00:00 2001 From: md_5 Date: Sat, 25 Jan 2014 14:08:35 +1100 Subject: [PATCH] Highly Optimized Tick Loop diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index bf2002c..fd4c26a 100644 +index 4a2f084..d213ae4 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -118,6 +118,12 @@ public abstract class MinecraftServer implements ICommandListener, Runnable, IAs @@ -21,7 +21,7 @@ index bf2002c..fd4c26a 100644 public MinecraftServer(OptionSet options, Proxy proxy, File file1) { this.d = proxy; -@@ -473,6 +479,13 @@ public abstract class MinecraftServer implements ICommandListener, Runnable, IAs +@@ -469,6 +475,13 @@ public abstract class MinecraftServer implements ICommandListener, Runnable, IAs this.isRunning = false; } @@ -35,7 +35,7 @@ index bf2002c..fd4c26a 100644 public void run() { try { if (this.init()) { -@@ -483,38 +496,34 @@ public abstract class MinecraftServer implements ICommandListener, Runnable, IAs +@@ -479,38 +492,34 @@ public abstract class MinecraftServer implements ICommandListener, Runnable, IAs this.r.setServerInfo(new ServerPingServerData("1.8", 47)); this.a(this.r); diff --git a/CraftBukkit-Patches/0087-Allow-Disabling-Creative-Item-Filter.patch b/CraftBukkit-Patches/0087-Allow-Disabling-Creative-Item-Filter.patch index 5e2f88f6cb..3df1835eed 100644 --- a/CraftBukkit-Patches/0087-Allow-Disabling-Creative-Item-Filter.patch +++ b/CraftBukkit-Patches/0087-Allow-Disabling-Creative-Item-Filter.patch @@ -1,14 +1,14 @@ -From 209729d613ba8aa1d01c0fa8b2fc95ce7893fdda Mon Sep 17 00:00:00 2001 +From 5658eb456a8edea34220cbd763970a914c49262d Mon Sep 17 00:00:00 2001 From: md_5 Date: Wed, 12 Feb 2014 18:18:01 +1100 Subject: [PATCH] Allow Disabling Creative Item Filter diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index 3cb84aa..314c9ca 100644 +index d835cea..7e6c62a 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java -@@ -1641,7 +1641,7 @@ public class PlayerConnection implements PacketListenerPlayIn, IUpdatePlayerList +@@ -1647,7 +1647,7 @@ public class PlayerConnection implements PacketListenerPlayIn, IUpdatePlayerList boolean flag1 = packetplayinsetcreativeslot.a() >= 1 && packetplayinsetcreativeslot.a() < 36 + PlayerInventory.getHotbarSize(); // CraftBukkit - Add invalidItems check diff --git a/CraftBukkit-Patches/0090-Unfinalize-the-isDisconnected-method-by-bukkit.patch b/CraftBukkit-Patches/0090-Unfinalize-the-isDisconnected-method-by-bukkit.patch index 31998b43c5..45ef1f937d 100644 --- a/CraftBukkit-Patches/0090-Unfinalize-the-isDisconnected-method-by-bukkit.patch +++ b/CraftBukkit-Patches/0090-Unfinalize-the-isDisconnected-method-by-bukkit.patch @@ -1,4 +1,4 @@ -From 193bc8c57b645373f66ab8943d889ebe2f3af87a Mon Sep 17 00:00:00 2001 +From 75028fdcd5c0f6eb0a6980eb8c595158601f4284 Mon Sep 17 00:00:00 2001 From: hcherndon Date: Sat, 15 Feb 2014 01:51:20 -0600 Subject: [PATCH] Unfinalize the isDisconnected() method by bukkit. @@ -6,10 +6,10 @@ Subject: [PATCH] Unfinalize the isDisconnected() method by bukkit. This would literally mean the world to me. You have no idea how much this method being final is fucking me over right now. (Working with NPC's and what not.) diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index 314c9ca..d7cd546 100644 +index 7e6c62a..105f38b 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java -@@ -1998,7 +1998,7 @@ public class PlayerConnection implements PacketListenerPlayIn, IUpdatePlayerList +@@ -2004,7 +2004,7 @@ public class PlayerConnection implements PacketListenerPlayIn, IUpdatePlayerList } // CraftBukkit start - Add "isDisconnected" method diff --git a/CraftBukkit-Patches/0091-Implement-Silenceable-Lightning-API.patch b/CraftBukkit-Patches/0091-Implement-Silenceable-Lightning-API.patch index a2d52c1e11..e134ed1308 100644 --- a/CraftBukkit-Patches/0091-Implement-Silenceable-Lightning-API.patch +++ b/CraftBukkit-Patches/0091-Implement-Silenceable-Lightning-API.patch @@ -1,4 +1,4 @@ -From 730b85ab092a7365bede2db67e038d2c8c86f748 Mon Sep 17 00:00:00 2001 +From fe41f463af26484364345384b92b29aa6a18cb79 Mon Sep 17 00:00:00 2001 From: drXor Date: Sun, 23 Feb 2014 16:16:59 -0400 Subject: [PATCH] Implement Silenceable Lightning API @@ -39,10 +39,10 @@ index 5bda5d3..1bbce9b 100644 //this.world.makeSound(this.locX, this.locY, this.locZ, "ambient.weather.thunder", 10000.0F, 0.8F + this.random.nextFloat() * 0.2F); float pitch = 0.8F + this.random.nextFloat() * 0.2F; diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index e395704..50fdfcd 100644 +index d61c1de..2322a96 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -1385,6 +1385,22 @@ public class CraftWorld implements World { +@@ -1390,6 +1390,22 @@ public class CraftWorld implements World { { CraftWorld.this.playEffect( location, effect, 0 ); } @@ -82,5 +82,5 @@ index 243e8e5..0bacc83 100644 @Override -- -2.1.0 +1.9.1 diff --git a/CraftBukkit-Patches/0099-Display-Spigot-in-client-crashes-server-lists-and-Mo.patch b/CraftBukkit-Patches/0099-Display-Spigot-in-client-crashes-server-lists-and-Mo.patch index 0b8c2228be..43a7c18fa0 100644 --- a/CraftBukkit-Patches/0099-Display-Spigot-in-client-crashes-server-lists-and-Mo.patch +++ b/CraftBukkit-Patches/0099-Display-Spigot-in-client-crashes-server-lists-and-Mo.patch @@ -1,4 +1,4 @@ -From 4561e9149f95ee8c355290b081d234056b4fb982 Mon Sep 17 00:00:00 2001 +From f5b02414cfef75e2bed71ec2e4cf2a06f58141b5 Mon Sep 17 00:00:00 2001 From: Thinkofdeath Date: Fri, 11 Apr 2014 11:16:34 +0100 Subject: [PATCH] Display 'Spigot' in client crashes, server lists and Mojang @@ -6,10 +6,10 @@ Subject: [PATCH] Display 'Spigot' in client crashes, server lists and Mojang diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index fd4c26a..1525704 100644 +index d213ae4..8521259 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -1041,7 +1041,7 @@ public abstract class MinecraftServer implements ICommandListener, Runnable, IAs +@@ -1038,7 +1038,7 @@ public abstract class MinecraftServer implements ICommandListener, Runnable, IAs } public String getServerModName() { diff --git a/CraftBukkit-Patches/0106-Check-for-blank-OfflinePlayer-Names.patch b/CraftBukkit-Patches/0106-Check-for-blank-OfflinePlayer-Names.patch index 90a4826771..a1e9e8a6dc 100644 --- a/CraftBukkit-Patches/0106-Check-for-blank-OfflinePlayer-Names.patch +++ b/CraftBukkit-Patches/0106-Check-for-blank-OfflinePlayer-Names.patch @@ -1,14 +1,14 @@ -From 1504ad83eab2228b25ac55319678fac7f3984354 Mon Sep 17 00:00:00 2001 +From 1e6cd90b02676d7d895fb88ce176e7c8fc3f9984 Mon Sep 17 00:00:00 2001 From: md_5 Date: Mon, 14 Apr 2014 17:21:24 +1000 Subject: [PATCH] Check for blank OfflinePlayer Names diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 55658b6..19b0c4d 100644 +index db1465e..50bb2ba 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -1274,6 +1274,7 @@ public final class CraftServer implements Server { +@@ -1271,6 +1271,7 @@ public final class CraftServer implements Server { @Deprecated public OfflinePlayer getOfflinePlayer(String name) { Validate.notNull(name, "Name cannot be null"); diff --git a/CraftBukkit-Patches/0110-Convert-Horses-owner-to-UUID.patch b/CraftBukkit-Patches/0110-Convert-Horses-owner-to-UUID.patch index 961f06055e..589ce91ecc 100644 --- a/CraftBukkit-Patches/0110-Convert-Horses-owner-to-UUID.patch +++ b/CraftBukkit-Patches/0110-Convert-Horses-owner-to-UUID.patch @@ -1,14 +1,14 @@ -From ef2f6fc7c62a328bd003a96fb695173fd970be61 Mon Sep 17 00:00:00 2001 +From 125ef0300ef92639807b91346c45d8d15524880b Mon Sep 17 00:00:00 2001 From: Aikar Date: Wed, 16 Apr 2014 01:40:30 -0400 Subject: [PATCH] Convert Horses owner to UUID diff --git a/src/main/java/net/minecraft/server/EntityHorse.java b/src/main/java/net/minecraft/server/EntityHorse.java -index db86610..ac37892 100644 +index b3ad7e7..50e9292 100644 --- a/src/main/java/net/minecraft/server/EntityHorse.java +++ b/src/main/java/net/minecraft/server/EntityHorse.java -@@ -1018,6 +1018,17 @@ public class EntityHorse extends EntityAnimal implements IInventoryListener { +@@ -1010,6 +1010,17 @@ public class EntityHorse extends EntityAnimal implements IInventoryListener { s = nbttagcompound.getString("OwnerUUID"); } else { String s1 = nbttagcompound.getString("Owner"); @@ -27,5 +27,5 @@ index db86610..ac37892 100644 s = NameReferencingFileConverter.a(s1); } -- -2.1.0 +1.9.1 diff --git a/CraftBukkit-Patches/0114-Don-t-special-case-invalid-usernames-for-UUIDs.patch b/CraftBukkit-Patches/0114-Don-t-special-case-invalid-usernames-for-UUIDs.patch index da03bf8351..1a269d06f3 100644 --- a/CraftBukkit-Patches/0114-Don-t-special-case-invalid-usernames-for-UUIDs.patch +++ b/CraftBukkit-Patches/0114-Don-t-special-case-invalid-usernames-for-UUIDs.patch @@ -1,14 +1,14 @@ -From b74d329decdd9399ada0706ea1dc572aaaf86c8a Mon Sep 17 00:00:00 2001 +From aa05774c3fbd923f3cdc7bcfea204462866323e1 Mon Sep 17 00:00:00 2001 From: md_5 Date: Sun, 20 Apr 2014 18:58:00 +1000 Subject: [PATCH] Don't special case 'invalid' usernames for UUIDs. diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 19b0c4d..d82ac04 100644 +index 50bb2ba..899982b 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -1276,11 +1276,6 @@ public final class CraftServer implements Server { +@@ -1273,11 +1273,6 @@ public final class CraftServer implements Server { Validate.notNull(name, "Name cannot be null"); com.google.common.base.Preconditions.checkArgument( !org.apache.commons.lang.StringUtils.isBlank( name ), "Name cannot be blank" ); // Spigot diff --git a/CraftBukkit-Patches/0124-Configurable-save-on-stop-only-for-UserCache.patch b/CraftBukkit-Patches/0124-Configurable-save-on-stop-only-for-UserCache.patch index 302089127d..0727063e5c 100644 --- a/CraftBukkit-Patches/0124-Configurable-save-on-stop-only-for-UserCache.patch +++ b/CraftBukkit-Patches/0124-Configurable-save-on-stop-only-for-UserCache.patch @@ -1,14 +1,14 @@ -From b51a0a33ce75b69848531c0a50332d0c0aeec4ab Mon Sep 17 00:00:00 2001 +From 3ce8d2cb840f6b427b34c1eb5b14157d5c692b91 Mon Sep 17 00:00:00 2001 From: drXor Date: Fri, 23 May 2014 18:05:10 -0400 Subject: [PATCH] Configurable save-on-stop-only for UserCache diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 1525704..28c91cd 100644 +index 8521259..f13be48 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -459,7 +459,13 @@ public abstract class MinecraftServer implements ICommandListener, Runnable, IAs +@@ -455,7 +455,13 @@ public abstract class MinecraftServer implements ICommandListener, Runnable, IAs if (this.m.d()) { this.m.e(); } diff --git a/CraftBukkit-Patches/0137-Don-t-spawn-bonus-ocelots-when-plugins-spawn-ocelots.patch b/CraftBukkit-Patches/0137-Don-t-spawn-bonus-ocelots-when-plugins-spawn-ocelots.patch index 77a94c36be..d8836fe266 100644 --- a/CraftBukkit-Patches/0137-Don-t-spawn-bonus-ocelots-when-plugins-spawn-ocelots.patch +++ b/CraftBukkit-Patches/0137-Don-t-spawn-bonus-ocelots-when-plugins-spawn-ocelots.patch @@ -1,4 +1,4 @@ -From 383992b4386c2ade3121e49027abe147bae13914 Mon Sep 17 00:00:00 2001 +From 5c6d9448aa5bf7b1eaf8817382d43486a91a6a8c Mon Sep 17 00:00:00 2001 From: Thinkofdeath Date: Sat, 19 Jul 2014 12:49:48 +0100 Subject: [PATCH] Don't spawn bonus ocelots when plugins spawn ocelots @@ -26,10 +26,10 @@ index 9d09404..7ae68bb 100644 EntityOcelot entityocelot = new EntityOcelot(this.world); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 50fdfcd..d5ea292 100644 +index 2322a96..ffa7e24 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -1066,6 +1066,12 @@ public class CraftWorld implements World { +@@ -1071,6 +1071,12 @@ public class CraftWorld implements World { } if (entity != null) { @@ -43,5 +43,5 @@ index 50fdfcd..d5ea292 100644 ((EntityInsentient) entity).prepare(getHandle().E(new BlockPosition(entity)), (GroupDataEntity) null); } -- -2.1.0 +1.9.1 diff --git a/CraftBukkit-Patches/0146-Only-fetch-an-online-UUID-in-online-mode.patch b/CraftBukkit-Patches/0146-Only-fetch-an-online-UUID-in-online-mode.patch index f6f1796e0e..318fceb9bd 100644 --- a/CraftBukkit-Patches/0146-Only-fetch-an-online-UUID-in-online-mode.patch +++ b/CraftBukkit-Patches/0146-Only-fetch-an-online-UUID-in-online-mode.patch @@ -1,4 +1,4 @@ -From a29eab8d83e2efd67e42a08569066cc118f654f1 Mon Sep 17 00:00:00 2001 +From 2c388c7f705c6615e19692e82ccf20a4c47f79a8 Mon Sep 17 00:00:00 2001 From: Maxim Van de Wynckel Date: Wed, 30 Jul 2014 01:19:51 +0200 Subject: [PATCH] Only fetch an online UUID in online mode @@ -12,10 +12,10 @@ You want to store data for player "Test" who never joined. An online UUID is cr The player Test joins with an offline UUID but that will not match the online UUID of the saved data. diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index d82ac04..8117acd 100644 +index 899982b..57bd4f1 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -1278,8 +1278,14 @@ public final class CraftServer implements Server { +@@ -1275,8 +1275,14 @@ public final class CraftServer implements Server { OfflinePlayer result = getPlayerExact(name); if (result == null) {