SPIGOT-4605: Catch more physics problems

This commit is contained in:
md_5 2019-02-02 11:14:44 +11:00
parent f56e2e787f
commit b0f4c22b92
44 changed files with 224 additions and 210 deletions

View file

@ -1,14 +1,14 @@
From e76f351e9445561534fe9b2fc54ebc016522eb91 Mon Sep 17 00:00:00 2001
From 873d9c07df9fd6830b506e2e8756e2dc7c1b57b9 Mon Sep 17 00:00:00 2001
From: md_5 <git@md-5.net>
Date: Mon, 15 May 2017 15:16:15 +1000
Subject: [PATCH] Skeleton API Implementations
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
index d16357ea..aa22c3b7 100644
index 557d97bb..25c5d246 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
@@ -1388,4 +1388,9 @@ public final class Bukkit {
@@ -1418,4 +1418,9 @@ public final class Bukkit {
public static UnsafeValues getUnsafe() {
return server.getUnsafe();
}
@ -19,10 +19,10 @@ index d16357ea..aa22c3b7 100644
+ }
}
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
index 23b1344b..4f47f65e 100644
index 5fb5e4ff..d713ac8e 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
@@ -1155,4 +1155,13 @@ public interface Server extends PluginMessageRecipient {
@@ -1183,4 +1183,13 @@ public interface Server extends PluginMessageRecipient {
*/
@Deprecated
UnsafeValues getUnsafe();
@ -37,10 +37,10 @@ index 23b1344b..4f47f65e 100644
+ // Spigot end
}
diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java
index aa0b073c..5259b8db 100644
index 4bd2ea88..5cdd8a1f 100644
--- a/src/main/java/org/bukkit/World.java
+++ b/src/main/java/org/bukkit/World.java
@@ -1811,6 +1811,15 @@ public interface World extends PluginMessageRecipient, Metadatable {
@@ -1813,6 +1813,15 @@ public interface World extends PluginMessageRecipient, Metadatable {
*/
public Location locateNearestStructure(Location origin, StructureType structureType, int radius, boolean findUnexplored);

View file

@ -1,4 +1,4 @@
From 086c753ff9e386a26dc41112ed79537a64979cac Mon Sep 17 00:00:00 2001
From 513670f788946f070a0c6a9167567211ecf13df4 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Sun, 2 Jun 2013 10:42:57 +1000
Subject: [PATCH] Spigot Timings
@ -8,10 +8,10 @@ Adds performance tracking timings all around the Minecraft Server, and improves
Plugins can track their own timings with CustomTimingsHandler
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
index aa22c3b7..32e892f8 100644
index 25c5d246..e6c69a22 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
@@ -577,6 +577,7 @@ public final class Bukkit {
@@ -581,6 +581,7 @@ public final class Bukkit {
*/
public static void reload() {
server.reload();
@ -20,10 +20,10 @@ index aa22c3b7..32e892f8 100644
/**
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
index 4f47f65e..7b354064 100644
index d713ac8e..65023479 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
@@ -1160,6 +1160,10 @@ public interface Server extends PluginMessageRecipient {
@@ -1188,6 +1188,10 @@ public interface Server extends PluginMessageRecipient {
public class Spigot
{
@ -35,7 +35,7 @@ index 4f47f65e..7b354064 100644
Spigot spigot();
diff --git a/src/main/java/org/bukkit/command/Command.java b/src/main/java/org/bukkit/command/Command.java
index c77623f4..4c931f18 100644
index 1ad768c7..33e8681d 100644
--- a/src/main/java/org/bukkit/command/Command.java
+++ b/src/main/java/org/bukkit/command/Command.java
@@ -33,6 +33,7 @@ public abstract class Command {

View file

@ -1,14 +1,14 @@
From 20cc3727d2651fa9ba6ae0412239ec1ce55c1436 Mon Sep 17 00:00:00 2001
From 2ebfd434d135efa25e35a209b9d583dee0a91592 Mon Sep 17 00:00:00 2001
From: drXor <mcyoungsota@gmail.com>
Date: Sun, 23 Feb 2014 16:16:29 -0400
Subject: [PATCH] Silenceable Lightning API
diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java
index 5259b8db..08d8e909 100644
index 5cdd8a1f..d62277de 100644
--- a/src/main/java/org/bukkit/World.java
+++ b/src/main/java/org/bukkit/World.java
@@ -1815,6 +1815,29 @@ public interface World extends PluginMessageRecipient, Metadatable {
@@ -1817,6 +1817,29 @@ public interface World extends PluginMessageRecipient, Metadatable {
public class Spigot
{

View file

@ -1,4 +1,4 @@
From 5c5091424a52df705288a2e2fec81059a29a490f Mon Sep 17 00:00:00 2001
From da22504c3734eb61470979a68ecd0933f4096b2c Mon Sep 17 00:00:00 2001
From: md_5 <git@md-5.net>
Date: Sun, 30 Mar 2014 15:58:22 +1100
Subject: [PATCH] Remove deprecation on some player lookup methods
@ -6,10 +6,10 @@ Subject: [PATCH] Remove deprecation on some player lookup methods
Most of these methods still have plenty of use given that only one player with each name can exist at a time. Deprecating these methods renders even basic functionality such as /msg <name> impossible without causing compiler warnings. We will maintain this API and it should be considered safe and appropriate for most use cases.
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
index 32e892f8..2ce17440 100644
index e6c69a22..58f3efe0 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
@@ -367,12 +367,9 @@ public final class Bukkit {
@@ -371,12 +371,9 @@ public final class Bukkit {
* <p>
* This method may not return objects for offline players.
*
@ -22,7 +22,7 @@ index 32e892f8..2ce17440 100644
public static Player getPlayer(String name) {
return server.getPlayer(name);
}
@@ -380,12 +377,9 @@ public final class Bukkit {
@@ -384,12 +381,9 @@ public final class Bukkit {
/**
* Gets the player with the exact given name, case insensitive.
*
@ -35,7 +35,7 @@ index 32e892f8..2ce17440 100644
public static Player getPlayerExact(String name) {
return server.getPlayerExact(name);
}
@@ -397,12 +391,9 @@ public final class Bukkit {
@@ -401,12 +395,9 @@ public final class Bukkit {
* This list is not sorted in any particular order. If an exact match is
* found, the returned list will only contain a single result.
*
@ -49,10 +49,10 @@ index 32e892f8..2ce17440 100644
return server.matchPlayer(name);
}
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
index 7b354064..335985e7 100644
index 65023479..d55d7104 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
@@ -305,23 +305,17 @@ public interface Server extends PluginMessageRecipient {
@@ -309,23 +309,17 @@ public interface Server extends PluginMessageRecipient {
* <p>
* This method may not return objects for offline players.
*
@ -76,7 +76,7 @@ index 7b354064..335985e7 100644
public Player getPlayerExact(String name);
/**
@@ -331,12 +325,9 @@ public interface Server extends PluginMessageRecipient {
@@ -335,12 +329,9 @@ public interface Server extends PluginMessageRecipient {
* This list is not sorted in any particular order. If an exact match is
* found, the returned list will only contain a single result.
*

View file

@ -1,14 +1,14 @@
From 88b1582f5ae3bb5974ff09aa3d935922df032d8e Mon Sep 17 00:00:00 2001
From a0b0c44a16a88d4d905e4e187e97175d7bbeadf2 Mon Sep 17 00:00:00 2001
From: md_5 <git@md-5.net>
Date: Sat, 13 Dec 2014 02:59:14 +0100
Subject: [PATCH] BungeeCord Chat API
diff --git a/pom.xml b/pom.xml
index c073ad4e..ebcc781c 100644
index 589030ab..23fde962 100644
--- a/pom.xml
+++ b/pom.xml
@@ -77,6 +77,14 @@
@@ -83,6 +83,14 @@
<version>1.23</version>
<scope>compile</scope>
</dependency>
@ -268,10 +268,10 @@ index b8872b41..adbae51a 100644
* Gets the char value associated with this color
*
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
index 335985e7..3318ba9d 100644
index d55d7104..c94c7524 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
@@ -1155,6 +1155,24 @@ public interface Server extends PluginMessageRecipient {
@@ -1183,6 +1183,24 @@ public interface Server extends PluginMessageRecipient {
{
throw new UnsupportedOperationException( "Not supported yet." );
}

View file

@ -1,14 +1,14 @@
From 9904d1191d28d26c7cefa1dc007abc2617940697 Mon Sep 17 00:00:00 2001
From 494c1942ddfe0966b2e9a31df19dd96a7d559514 Mon Sep 17 00:00:00 2001
From: md_5 <git@md-5.net>
Date: Mon, 13 Jul 2015 19:10:15 +1000
Subject: [PATCH] Add restart API.
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
index 3318ba9d..63392d5e 100644
index c94c7524..23e7e417 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
@@ -1173,6 +1173,13 @@ public interface Server extends PluginMessageRecipient {
@@ -1201,6 +1201,13 @@ public interface Server extends PluginMessageRecipient {
public void broadcast(net.md_5.bungee.api.chat.BaseComponent... components) {
throw new UnsupportedOperationException("Not supported yet.");
}

View file

@ -1,4 +1,4 @@
From 61a4f6be3fac9b72a2316455b61aa5225196567b Mon Sep 17 00:00:00 2001
From 9009c67545f31cfcbe577282c7eb7f254d56653b Mon Sep 17 00:00:00 2001
From: md_5 <md_5@live.com.au>
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 4f6d3bc58..4304b622a 100644
index 1f6d87d85..a985cf0c7 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1,12 +1,12 @@
@ -46,7 +46,7 @@ index 4f6d3bc58..4304b622a 100644
<version>${project.version}</version>
<scope>compile</scope>
</dependency>
@@ -94,11 +101,26 @@
@@ -100,11 +107,26 @@
<groupId>net.md-5</groupId>
<artifactId>scriptus</artifactId>
<version>0.2</version>
@ -76,7 +76,7 @@ index 4f6d3bc58..4304b622a 100644
<phase>initialize</phase>
<goals>
<goal>describe</goal>
@@ -115,7 +137,7 @@
@@ -121,7 +143,7 @@
<manifestEntries>
<Main-Class>org.bukkit.craftbukkit.Main</Main-Class>
<Implementation-Title>CraftBukkit</Implementation-Title>

View file

@ -1,4 +1,4 @@
From cca81a41cac634000d3cf8f02bdcd83659f0b346 Mon Sep 17 00:00:00 2001
From e17e4224288433e54874c335508071e10a21575d Mon Sep 17 00:00:00 2001
From: md_5 <md_5@live.com.au>
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 6d026b70e..e302153b0 100644
index 5e2d2b652..ef4aa52dc 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -1878,4 +1878,14 @@ public final class CraftServer implements Server {
@@ -1899,4 +1899,14 @@ public final class CraftServer implements Server {
public UnsafeValues getUnsafe() {
return CraftMagicNumbers.INSTANCE;
}
@ -101,7 +101,7 @@ index 75dad21cd..4b8e5ab22 100644
+ // Spigot end
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
index 521dd48ed..e03ff0d6b 100644
index 5f7e0bd2a..d5e4fe0d8 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
@@ -766,4 +766,15 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
@ -141,7 +141,7 @@ index 64e346d84..194d830e1 100644
+ // Spigot end
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index 4523a7ed3..ef17b0ab8 100644
index d2bb043e9..cf5607846 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -1606,4 +1606,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@ -180,10 +180,10 @@ index 0831e13e5..adb21dd24 100644
+ // Spigot end
}
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
index 7784284a3..ad8d8d131 100644
index 32942ff24..99a5e4251 100644
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
@@ -1278,4 +1278,16 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable {
@@ -1282,4 +1282,16 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable {
return HANDLED_TAGS;
}
}

View file

@ -1,4 +1,4 @@
From 8f0cb1985bac601454dd0a912347126d5dd13b70 Mon Sep 17 00:00:00 2001
From 4a1dd1f93dfdf4eb2923396d8e327af1d64c4d43 Mon Sep 17 00:00:00 2001
From: md_5 <md_5@live.com.au>
Date: Sun, 7 Jul 2013 09:32:53 +1000
Subject: [PATCH] Spigot Configuration
@ -51,10 +51,10 @@ index 0227acb51..e5b3c3f0a 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 e302153b0..47f156ea7 100644
index ef4aa52dc..b9fec3c54 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -732,6 +732,7 @@ public final class CraftServer implements Server {
@@ -734,6 +734,7 @@ public final class CraftServer implements Server {
logger.log(Level.WARNING, "Failed to load banned-players.json, " + ex.getMessage());
}
@ -62,7 +62,7 @@ index e302153b0..47f156ea7 100644
for (WorldServer world : console.getWorlds()) {
world.worldData.setDifficulty(difficulty);
world.setSpawnFlags(monsters, animals);
@@ -746,12 +747,14 @@ public final class CraftServer implements Server {
@@ -748,12 +749,14 @@ public final class CraftServer implements Server {
} else {
world.ticksPerMonsterSpawns = this.getTicksPerMonsterSpawns();
}

View file

@ -1,4 +1,4 @@
From 836e5cec3036641c69209e7872eb9416a5cfa84d Mon Sep 17 00:00:00 2001
From 4e0a0daafe5ea699ef69ea3a808341d9b30fb1ec Mon Sep 17 00:00:00 2001
From: md_5 <md_5@live.com.au>
Date: Sat, 23 Mar 2013 09:46:33 +1100
Subject: [PATCH] Merge tweaks and configuration
@ -6,7 +6,7 @@ Subject: [PATCH] Merge tweaks and configuration
This allows the merging of Experience orbs, as well as the configuration of the merge radius of items. Additionally it refactors the merge algorithm to be a better experience for players.
diff --git a/src/main/java/net/minecraft/server/EntityItem.java b/src/main/java/net/minecraft/server/EntityItem.java
index f816c648a..0b03afd8c 100644
index 4c60017fb..e06cb5ede 100644
--- a/src/main/java/net/minecraft/server/EntityItem.java
+++ b/src/main/java/net/minecraft/server/EntityItem.java
@@ -149,7 +149,10 @@ public class EntityItem extends Entity {
@ -43,10 +43,10 @@ index f816c648a..0b03afd8c 100644
}
} else {
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
index 508a39f5e..e536f7f4a 100644
index 365d1525f..35ac909a5 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
@@ -383,6 +383,23 @@ public class CraftEventFactory {
@@ -388,6 +388,23 @@ public class CraftEventFactory {
event = CraftEventFactory.callProjectileLaunchEvent(entity);
} else if (entity.getBukkitEntity() instanceof org.bukkit.entity.Vehicle){
event = CraftEventFactory.callVehicleCreateEvent(entity);

View file

@ -1,4 +1,4 @@
From 74a3f95af3c907f627f55f22a52a173dbe6bb789 Mon Sep 17 00:00:00 2001
From fafcfe1ca4e40f7c83ed1f22f0385c3ef745618f Mon Sep 17 00:00:00 2001
From: md_5 <git@md-5.net>
Date: Tue, 25 Mar 2014 16:10:01 +1100
Subject: [PATCH] Async Operation Catching
@ -6,7 +6,7 @@ Subject: [PATCH] Async Operation Catching
Catch and throw an exception when a potentially unsafe operation occurs on a thread other than the main server thread.
diff --git a/src/main/java/net/minecraft/server/Block.java b/src/main/java/net/minecraft/server/Block.java
index f6829ff0..c09961be 100644
index f6829ff07..c09961be9 100644
--- a/src/main/java/net/minecraft/server/Block.java
+++ b/src/main/java/net/minecraft/server/Block.java
@@ -373,10 +373,14 @@ public class Block implements IMaterial {
@ -27,7 +27,7 @@ index f6829ff0..c09961be 100644
public int a(IBlockData iblockdata, Random random) {
return 1;
diff --git a/src/main/java/net/minecraft/server/CraftingManager.java b/src/main/java/net/minecraft/server/CraftingManager.java
index 26f16163..577a6910 100644
index 26f161634..577a69105 100644
--- a/src/main/java/net/minecraft/server/CraftingManager.java
+++ b/src/main/java/net/minecraft/server/CraftingManager.java
@@ -81,6 +81,7 @@ public class CraftingManager implements IResourcePackListener {
@ -39,7 +39,7 @@ index 26f16163..577a6910 100644
throw new IllegalStateException("Duplicate recipe ignored with ID " + irecipe.getKey());
} else {
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
index 018144d1..338532fa 100644
index 018144d19..338532fa2 100644
--- a/src/main/java/net/minecraft/server/EntityLiving.java
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
@@ -725,6 +725,7 @@ public abstract class EntityLiving extends Entity {
@ -51,7 +51,7 @@ index 018144d1..338532fa 100644
effectsToProcess.add(new ProcessableEffect(mobeffect, cause));
return true;
diff --git a/src/main/java/net/minecraft/server/EntityTracker.java b/src/main/java/net/minecraft/server/EntityTracker.java
index 1646a56f..9237ae20 100644
index 1646a56f5..9237ae20e 100644
--- a/src/main/java/net/minecraft/server/EntityTracker.java
+++ b/src/main/java/net/minecraft/server/EntityTracker.java
@@ -105,6 +105,7 @@ public class EntityTracker {
@ -71,7 +71,7 @@ index 1646a56f..9237ae20 100644
EntityPlayer entityplayer = (EntityPlayer) entity;
Iterator iterator = this.c.iterator();
diff --git a/src/main/java/net/minecraft/server/EntityTrackerEntry.java b/src/main/java/net/minecraft/server/EntityTrackerEntry.java
index 40b7d8d0..d00401ce 100644
index 40b7d8d06..d00401ce1 100644
--- a/src/main/java/net/minecraft/server/EntityTrackerEntry.java
+++ b/src/main/java/net/minecraft/server/EntityTrackerEntry.java
@@ -324,6 +324,7 @@ public class EntityTrackerEntry {
@ -91,7 +91,7 @@ index 40b7d8d0..d00401ce 100644
this.trackedPlayers.remove(entityplayer);
this.tracker.c(entityplayer);
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
index e5b3c3f0..010ddbc5 100644
index e5b3c3f0a..010ddbc5e 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -857,6 +857,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
@ -127,10 +127,10 @@ index e5b3c3f0..010ddbc5 100644
this.entityList.add(entity);
this.b(entity);
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 47f156ea..23ede066 100644
index b9fec3c54..22e271b8d 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -678,6 +678,7 @@ public final class CraftServer implements Server {
@@ -680,6 +680,7 @@ public final class CraftServer implements Server {
public boolean dispatchCommand(CommandSender sender, String commandLine) {
Validate.notNull(sender, "Sender cannot be null");
Validate.notNull(commandLine, "CommandLine cannot be null");
@ -139,7 +139,7 @@ index 47f156ea..23ede066 100644
if (commandMap.dispatch(sender, commandLine)) {
return true;
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
index f5fce00c..88182d21 100644
index f5fce00ca..88182d21e 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
@@ -190,6 +190,7 @@ public class CraftWorld implements World {
@ -175,7 +175,7 @@ index f5fce00c..88182d21 100644
return world.getChunkProvider().getChunkAt(x, z, true, generate) != null;
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index cf560784..285ec87c 100644
index cf5607846..285ec87ce 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -291,6 +291,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@ -187,7 +187,7 @@ index cf560784..285ec87c 100644
getHandle().playerConnection.disconnect(message == null ? "" : message);
diff --git a/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftScoreboardManager.java b/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftScoreboardManager.java
index cac87d30..9cce899f 100644
index cac87d306..9cce899f5 100644
--- a/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftScoreboardManager.java
+++ b/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftScoreboardManager.java
@@ -43,6 +43,7 @@ public final class CraftScoreboardManager implements ScoreboardManager {
@ -199,7 +199,7 @@ index cac87d30..9cce899f 100644
scoreboards.add(scoreboard);
return scoreboard;
diff --git a/src/main/java/org/bukkit/craftbukkit/util/ServerShutdownThread.java b/src/main/java/org/bukkit/craftbukkit/util/ServerShutdownThread.java
index ae3481ba..a0cdd231 100644
index ae3481ba8..a0cdd2317 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/ServerShutdownThread.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/ServerShutdownThread.java
@@ -13,6 +13,7 @@ public class ServerShutdownThread extends Thread {
@ -212,7 +212,7 @@ index ae3481ba..a0cdd231 100644
ex.printStackTrace();
diff --git a/src/main/java/org/spigotmc/AsyncCatcher.java b/src/main/java/org/spigotmc/AsyncCatcher.java
new file mode 100644
index 00000000..4b3aa85c
index 000000000..4b3aa85c9
--- /dev/null
+++ b/src/main/java/org/spigotmc/AsyncCatcher.java
@@ -0,0 +1,17 @@

View file

@ -1,4 +1,4 @@
From 5a45d26ec417aa348153a6f4b0b3f3db13af1265 Mon Sep 17 00:00:00 2001
From 2966a23a79d5812f2d0e6dba9662d56b6171da36 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Thu, 10 Jan 2013 00:18:11 -0500
Subject: [PATCH] Spigot Timings
@ -102,7 +102,7 @@ index 5813326aa..945055b43 100644
public boolean Q() {
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
index b3e2621c6..9cdf15dfc 100644
index 89e7f84c2..6fd1db6a1 100644
--- a/src/main/java/net/minecraft/server/Entity.java
+++ b/src/main/java/net/minecraft/server/Entity.java
@@ -27,6 +27,7 @@ import org.bukkit.command.CommandSender;
@ -121,7 +121,7 @@ index b3e2621c6..9cdf15dfc 100644
public float getBukkitYaw() {
return this.yaw;
@@ -521,6 +523,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener {
@@ -537,6 +539,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener {
}
public void move(EnumMoveType enummovetype, double d0, double d1, double d2) {
@ -129,7 +129,7 @@ index b3e2621c6..9cdf15dfc 100644
if (this.noclip) {
this.a(this.getBoundingBox().d(d0, d1, d2));
this.recalcPosition();
@@ -870,6 +873,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener {
@@ -886,6 +889,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener {
this.world.methodProfiler.exit();
}
@ -213,7 +213,7 @@ index 338532fa2..ab4dbf2d9 100644
}
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 7a8542c80..69e14dfc9 100644
index d83b91d2d..8b6a33e53 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -62,6 +62,7 @@ import org.bukkit.craftbukkit.CraftServer;
@ -224,7 +224,7 @@ index 7a8542c80..69e14dfc9 100644
public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStatistics, ICommandListener, Runnable {
@@ -779,6 +780,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
@@ -780,6 +781,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
public void t() {}
protected void a(BooleanSupplier booleansupplier) {
@ -232,7 +232,7 @@ index 7a8542c80..69e14dfc9 100644
long i = SystemUtils.getMonotonicNanos();
++this.ticks;
@@ -804,10 +806,12 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
@@ -805,10 +807,12 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
}
if (autosavePeriod > 0 && this.ticks % autosavePeriod == 0) { // CraftBukkit
@ -245,7 +245,7 @@ index 7a8542c80..69e14dfc9 100644
}
this.methodProfiler.enter("snooper");
@@ -826,10 +830,14 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
@@ -827,10 +831,14 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
this.ap = this.ap * 0.8F + (float) l / 1000000.0F * 0.19999999F;
this.methodProfiler.exit();
this.methodProfiler.exit();
@ -260,7 +260,7 @@ index 7a8542c80..69e14dfc9 100644
this.methodProfiler.enter("jobs");
FutureTask futuretask;
@@ -839,17 +847,24 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
@@ -840,17 +848,24 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
}
this.methodProfiler.exitEnter("commandFunctions");
@ -285,7 +285,7 @@ index 7a8542c80..69e14dfc9 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) {
@@ -857,6 +872,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
@@ -858,6 +873,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
entityplayer.playerConnection.sendPacket(new PacketPlayOutUpdateTime(entityplayer.world.getTime(), entityplayer.getPlayerTime(), entityplayer.world.getGameRules().getBoolean("doDaylightCycle"))); // Add support for per player time
}
}
@ -293,7 +293,7 @@ index 7a8542c80..69e14dfc9 100644
// WorldServer worldserver; // CraftBukkit - dropped down
long i;
@@ -882,7 +898,9 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
@@ -883,7 +899,9 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
CrashReport crashreport;
try {
@ -303,7 +303,7 @@ index 7a8542c80..69e14dfc9 100644
} catch (Throwable throwable) {
crashreport = CrashReport.a(throwable, "Exception ticking world");
worldserver.a(crashreport);
@@ -890,7 +908,9 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
@@ -891,7 +909,9 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
}
try {
@ -313,7 +313,7 @@ index 7a8542c80..69e14dfc9 100644
} catch (Throwable throwable1) {
crashreport = CrashReport.a(throwable1, "Exception ticking world entities");
worldserver.a(crashreport);
@@ -899,21 +919,29 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
@@ -900,21 +920,29 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
this.methodProfiler.exit();
this.methodProfiler.enter("tracker");
@ -344,7 +344,7 @@ index 7a8542c80..69e14dfc9 100644
this.methodProfiler.exit();
}
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
index e3532a516..1dacf1874 100644
index abebcdaf3..b3a7e43a6 100644
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
@@ -134,6 +134,7 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable {
@ -516,7 +516,7 @@ index 010ddbc5e..251b958ab 100644
}
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
index f1051d7a4..a8fcf346c 100644
index 87beec033..d08a6e20e 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java
@@ -256,11 +256,14 @@ public class WorldServer extends World implements IAsyncTaskHandler {
@ -573,10 +573,10 @@ index f1051d7a4..a8fcf346c 100644
public boolean j_() {
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 23ede066e..ff7dcf867 100644
index 22e271b8d..0f3333ac0 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -1886,6 +1886,11 @@ public final class CraftServer implements Server {
@@ -1907,6 +1907,11 @@ public final class CraftServer implements Server {
private final Spigot spigot = new Spigot()
{

View file

@ -1,11 +1,11 @@
From 7a0f426b0bb2990e9439d85a112846f4f03de285 Mon Sep 17 00:00:00 2001
From a91d842b3c05f65cd2182a719e6bd79c58a38dbf Mon Sep 17 00:00:00 2001
From: md_5 <md_5@live.com.au>
Date: Sun, 22 Sep 2013 19:10:53 +1000
Subject: [PATCH] Item Despawn Rate
diff --git a/src/main/java/net/minecraft/server/EntityItem.java b/src/main/java/net/minecraft/server/EntityItem.java
index 0b03afd8c..d84c4c003 100644
index e06cb5ede..ab6613e57 100644
--- a/src/main/java/net/minecraft/server/EntityItem.java
+++ b/src/main/java/net/minecraft/server/EntityItem.java
@@ -126,7 +126,7 @@ public class EntityItem extends Entity {
@ -17,7 +17,7 @@ index 0b03afd8c..d84c4c003 100644
// CraftBukkit start - fire ItemDespawnEvent
if (org.bukkit.craftbukkit.event.CraftEventFactory.callItemDespawnEvent(this).isCancelled()) {
this.age = 0;
@@ -398,6 +398,6 @@ public class EntityItem extends Entity {
@@ -399,6 +399,6 @@ public class EntityItem extends Entity {
public void t() {
this.p();

View file

@ -1,4 +1,4 @@
From 2568c2ce0072ffe843e95a9e8ae29e1a5923f136 Mon Sep 17 00:00:00 2001
From da73cf5188cf4d8fde9cab1bd657876c664401fb Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Sun, 3 Feb 2013 05:10:21 -0500
Subject: [PATCH] Entity Activation Range
@ -9,7 +9,7 @@ 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 9cdf15dfc..2be19a0bf 100644
index 6fd1db6a1..31370dc87 100644
--- a/src/main/java/net/minecraft/server/Entity.java
+++ b/src/main/java/net/minecraft/server/Entity.java
@@ -159,6 +159,12 @@ public abstract class Entity implements INamableTileEntity, ICommandListener {
@ -75,10 +75,10 @@ index 1789ee7f6..2af1ac702 100644
public abstract EntityAgeable createChild(EntityAgeable entityageable);
diff --git a/src/main/java/net/minecraft/server/EntityArrow.java b/src/main/java/net/minecraft/server/EntityArrow.java
index 067f54eb4..c85f6cc05 100644
index 241c29c0f..733ce2ad6 100644
--- a/src/main/java/net/minecraft/server/EntityArrow.java
+++ b/src/main/java/net/minecraft/server/EntityArrow.java
@@ -34,6 +34,18 @@ public abstract class EntityArrow extends Entity implements IProjectile {
@@ -33,6 +33,18 @@ public abstract class EntityArrow extends Entity implements IProjectile {
private double damage;
public int knockbackStrength;
@ -117,7 +117,7 @@ index 3e4fc59b2..9b6d217df 100644
this.datawatcher.register(EntityFireworks.FIREWORK_ITEM, ItemStack.a);
this.datawatcher.register(EntityFireworks.b, 0);
diff --git a/src/main/java/net/minecraft/server/EntityItem.java b/src/main/java/net/minecraft/server/EntityItem.java
index d84c4c003..cad1c1a17 100644
index ab6613e57..9b854d64f 100644
--- a/src/main/java/net/minecraft/server/EntityItem.java
+++ b/src/main/java/net/minecraft/server/EntityItem.java
@@ -139,6 +139,28 @@ public class EntityItem extends Entity {
@ -236,7 +236,7 @@ index 0a52ed375..2ab4b11a8 100644
public static final HashMap<String, CustomTimingsHandler> tileEntityTypeTimingMap = new HashMap<String, CustomTimingsHandler>();
public static final HashMap<String, CustomTimingsHandler> pluginTaskTimingMap = new HashMap<String, CustomTimingsHandler>();
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
index e03ff0d6b..3a9170290 100644
index d5e4fe0d8..cb10de2a3 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
@@ -316,6 +316,7 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {

View file

@ -1,14 +1,14 @@
From 09def7eab6ec75b4d28764bb9bde530673166694 Mon Sep 17 00:00:00 2001
From 8678a12e104a75889ad20281df7222e3ebb3a4d8 Mon Sep 17 00:00:00 2001
From: Antony Riley <antony@cyberiantiger.org>
Date: Wed, 27 Mar 2013 01:41:54 +0200
Subject: [PATCH] Close Unloaded Save Files
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index ff7dcf867..4246d618c 100644
index 0f3333ac0..da40b8821 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -1033,6 +1033,30 @@ public final class CraftServer implements Server {
@@ -1035,6 +1035,30 @@ public final class CraftServer implements Server {
worlds.remove(world.getName().toLowerCase(java.util.Locale.ENGLISH));
console.worldServer.remove(handle.dimension);

View file

@ -1,4 +1,4 @@
From c75978d71fa84deb3649ed79449e815c48e56352 Mon Sep 17 00:00:00 2001
From da2f16ef6628eb76ae89cc69b33706debd972335 Mon Sep 17 00:00:00 2001
From: md_5 <md_5@live.com.au>
Date: Fri, 21 Jun 2013 18:05:54 +1000
Subject: [PATCH] Allow Disabling of Command TabComplete
@ -25,10 +25,10 @@ index 0269fc433..b1bd08e5c 100644
if (commandnode2.canUse(commandlistenerwrapper)) {
ArgumentBuilder argumentbuilder = commandnode2.createBuilder(); // CraftBukkit - decompile error
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 4246d618c..ec838d417 100644
index da40b8821..7fbd24a8d 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -1648,6 +1648,13 @@ public final class CraftServer implements Server {
@@ -1650,6 +1650,13 @@ public final class CraftServer implements Server {
}
public List<String> tabCompleteCommand(Player player, String message, WorldServer world, Vec3D pos) {

View file

@ -1,4 +1,4 @@
From b8a949e2c41bb18d1b3907292867d60127553a29 Mon Sep 17 00:00:00 2001
From cec0f3a8091faf6060ef3111b33bdbd1377aaf97 Mon Sep 17 00:00:00 2001
From: md_5 <md_5@live.com.au>
Date: Fri, 21 Jun 2013 19:21:58 +1000
Subject: [PATCH] Configurable Messages
@ -45,10 +45,10 @@ index 22a22b6e4..a0edfdc7b 100644
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index ec838d417..d0b204219 100644
index 7fbd24a8d..a955e2012 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -684,11 +684,11 @@ public final class CraftServer implements Server {
@@ -686,11 +686,11 @@ public final class CraftServer implements Server {
return true;
}

View file

@ -1,14 +1,14 @@
From 40b904a49cc623e9d9bb34d1fdc18394fc2f839a Mon Sep 17 00:00:00 2001
From 493b12bca2f646e03896b92aa948afdd7e5c7c20 Mon Sep 17 00:00:00 2001
From: md_5 <git@md-5.net>
Date: Sat, 27 Feb 2016 10:07:58 +1100
Subject: [PATCH] Entity Mount and Dismount Events
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
index 2be19a0bf..02e338887 100644
index 31370dc87..7cb13c74d 100644
--- a/src/main/java/net/minecraft/server/Entity.java
+++ b/src/main/java/net/minecraft/server/Entity.java
@@ -1990,6 +1990,13 @@ public abstract class Entity implements INamableTileEntity, ICommandListener {
@@ -2006,6 +2006,13 @@ public abstract class Entity implements INamableTileEntity, ICommandListener {
}
}
// CraftBukkit end
@ -22,7 +22,7 @@ index 2be19a0bf..02e338887 100644
if (!this.world.isClientSide && entity instanceof EntityHuman && !(this.bO() instanceof EntityHuman)) {
this.passengers.add(0, entity);
} else {
@@ -2020,6 +2027,13 @@ public abstract class Entity implements INamableTileEntity, ICommandListener {
@@ -2036,6 +2043,13 @@ public abstract class Entity implements INamableTileEntity, ICommandListener {
}
}
// CraftBukkit end

View file

@ -1,14 +1,14 @@
From 1e7b579a241ed9e1e8d7d61751919bc0ab7835d3 Mon Sep 17 00:00:00 2001
From 7c67a310f12d1f75c12293c5ed714e90d1b19a33 Mon Sep 17 00:00:00 2001
From: agentk20 <agentkid20@gmail.com>
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 69e14dfc9..942a9757e 100644
index 8b6a33e53..3184546dc 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -815,11 +815,11 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
@@ -816,11 +816,11 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
}
this.methodProfiler.enter("snooper");

View file

@ -1,14 +1,14 @@
From ce49bacf8b2230ef8a3a68a40bd503066edb647e Mon Sep 17 00:00:00 2001
From ddbfd491b0369dbb419ed57ee100b51b9e128cd3 Mon Sep 17 00:00:00 2001
From: md_5 <md_5@live.com.au>
Date: Mon, 14 Oct 2013 19:20:10 +1100
Subject: [PATCH] Arrow Despawn Rate
diff --git a/src/main/java/net/minecraft/server/EntityArrow.java b/src/main/java/net/minecraft/server/EntityArrow.java
index c85f6cc05..a2e6e950d 100644
index 733ce2ad6..e8ce99eb9 100644
--- a/src/main/java/net/minecraft/server/EntityArrow.java
+++ b/src/main/java/net/minecraft/server/EntityArrow.java
@@ -262,7 +262,7 @@ public abstract class EntityArrow extends Entity implements IProjectile {
@@ -261,7 +261,7 @@ public abstract class EntityArrow extends Entity implements IProjectile {
protected void f() {
++this.despawnCounter;

View file

@ -1,4 +1,4 @@
From f4db4b62be6c491e13bae1b45c4d27e9ef864a95 Mon Sep 17 00:00:00 2001
From 061c170776a1f2bbf1be8fb2481febe083f6f171 Mon Sep 17 00:00:00 2001
From: md_5 <md_5@live.com.au>
Date: Tue, 5 Aug 2014 17:20:19 +0100
Subject: [PATCH] Watchdog Thread.
@ -18,10 +18,10 @@ index 945055b43..0f107c6ea 100644
thread1.setUncaughtExceptionHandler(new ThreadNamedUncaughtExceptionHandler(DedicatedServer.LOGGER));
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 942a9757e..75b7220ab 100644
index 3184546dc..0d3e9577e 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -725,6 +725,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
@@ -726,6 +726,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
this.a(crashreport);
} finally {
try {
@ -29,7 +29,7 @@ index 942a9757e..75b7220ab 100644
this.isStopped = true;
this.stop();
} catch (Throwable throwable1) {
@@ -830,6 +831,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
@@ -831,6 +832,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
this.ap = this.ap * 0.8F + (float) l / 1000000.0F * 0.19999999F;
this.methodProfiler.exit();
this.methodProfiler.exit();
@ -38,10 +38,10 @@ index 942a9757e..75b7220ab 100644
org.spigotmc.CustomTimingsHandler.tick(); // Spigot
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index d0b204219..4d7d9eb1e 100644
index a955e2012..1c5121670 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -1922,6 +1922,11 @@ public final class CraftServer implements Server {
@@ -1943,6 +1943,11 @@ public final class CraftServer implements Server {
{
return org.spigotmc.SpigotConfig.config;
}

View file

@ -1,4 +1,4 @@
From 099e1f81bdfd6a7b0e3e997844486f608153c061 Mon Sep 17 00:00:00 2001
From fea107c594b3d4efe6dcce4375b255dec4f31ab3 Mon Sep 17 00:00:00 2001
From: md_5 <md_5@live.com.au>
Date: Sun, 1 Dec 2013 18:18:41 +1100
Subject: [PATCH] BungeeCord Support
@ -128,10 +128,10 @@ index 01d9e17b4..d0c96d11e 100644
if (getProfileBans().isBanned(gameprofile) && !getProfileBans().get(gameprofile).hasExpired()) {
GameProfileBanEntry gameprofilebanentry = (GameProfileBanEntry) this.k.get(gameprofile);
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 4d7d9eb1e..107ff8d1a 100644
index 1c5121670..efec1f7b5 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -616,7 +616,13 @@ public final class CraftServer implements Server {
@@ -618,7 +618,13 @@ public final class CraftServer implements Server {
@Override
public long getConnectionThrottle() {
@ -147,7 +147,7 @@ index 4d7d9eb1e..107ff8d1a 100644
@Override
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index b13d603d4..824108e47 100644
index e14687b1d..06f454800 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -1612,6 +1612,12 @@ public class CraftPlayer extends CraftHumanEntity implements Player {

View file

@ -1,4 +1,4 @@
From 3ebe3cae10bf0a3851c9af469ae088444352614a Mon Sep 17 00:00:00 2001
From f65625df019da5b7ba3adafa116875916105fe7b Mon Sep 17 00:00:00 2001
From: Dylan Xaldin <Puremin0rez515@gmail.com>
Date: Thu, 12 Dec 2013 18:05:03 -0600
Subject: [PATCH] Allow Disabling Zombie Villager Aggression
@ -6,10 +6,10 @@ Subject: [PATCH] Allow Disabling Zombie Villager Aggression
Ability to configure if Zombies will be aggressive towards Villagers.
diff --git a/src/main/java/net/minecraft/server/EntityZombie.java b/src/main/java/net/minecraft/server/EntityZombie.java
index f5223595d..0d37b2bed 100644
index 2b9c14ce2..e3d52e7cf 100644
--- a/src/main/java/net/minecraft/server/EntityZombie.java
+++ b/src/main/java/net/minecraft/server/EntityZombie.java
@@ -57,7 +57,7 @@ public class EntityZombie extends EntityMonster {
@@ -56,7 +56,7 @@ public class EntityZombie extends EntityMonster {
this.goalSelector.a(7, new PathfinderGoalRandomStrollLand(this, 1.0D));
this.targetSelector.a(1, new PathfinderGoalHurtByTarget(this, true, new Class[] { EntityPigZombie.class}));
this.targetSelector.a(2, new PathfinderGoalNearestAttackableTarget<>(this, EntityHuman.class, true));

View file

@ -1,4 +1,4 @@
From 54ff2d6a6b15d114481ce40c23684029f74c7fb2 Mon Sep 17 00:00:00 2001
From 82aa36132ef001176e5f1dbad68deefb4541af17 Mon Sep 17 00:00:00 2001
From: md_5 <git@md-5.net>
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 75b7220ab..71a48a6bc 100644
index 0d3e9577e..c6604f004 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -73,7 +73,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
@ -27,7 +27,7 @@ index 75b7220ab..71a48a6bc 100644
// this.convertable = file == null ? null : new WorldLoaderServer(file.toPath(), file.toPath().resolve("../backups"), datafixer); // CraftBukkit - moved to DedicatedServer.init
this.dataConverterManager = datafixer;
this.ac.a((IResourcePackListener) this.ah);
@@ -1419,7 +1419,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
@@ -1420,7 +1420,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
}
public ServerConnection getServerConnection() {

View file

@ -1,14 +1,14 @@
From 486b568da8983e69262e9a2361dfea4a2ea5dee1 Mon Sep 17 00:00:00 2001
From 3d1b87350ad5a37808eaeb0684f009598d052e89 Mon Sep 17 00:00:00 2001
From: md_5 <git@md-5.net>
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 71a48a6bc..1bf3176ab 100644
index c6604f004..75e1a3def 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -706,6 +706,12 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
@@ -707,6 +707,12 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
}
} catch (Throwable throwable) {
MinecraftServer.LOGGER.error("Encountered an unexpected exception", throwable);

View file

@ -1,14 +1,14 @@
From 058cc999e3d4117c782fecc05f8714015ff4e43a Mon Sep 17 00:00:00 2001
From d9d0c49a37e46bd515038c00a16d13ee71dbc922 Mon Sep 17 00:00:00 2001
From: DerFlash <bte@freenet.de>
Date: Tue, 9 Jul 2013 00:11:12 +0200
Subject: [PATCH] Save ticks lived to nbttag
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
index 02e338887..7ee65ce10 100644
index 7cb13c74d..84c6c402c 100644
--- a/src/main/java/net/minecraft/server/Entity.java
+++ b/src/main/java/net/minecraft/server/Entity.java
@@ -1545,6 +1545,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener {
@@ -1561,6 +1561,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener {
nbttagcompound.setLong("WorldUUIDLeast", this.world.getDataManager().getUUID().getLeastSignificantBits());
nbttagcompound.setLong("WorldUUIDMost", this.world.getDataManager().getUUID().getMostSignificantBits());
nbttagcompound.setInt("Bukkit.updateLevel", CURRENT_LEVEL);
@ -16,7 +16,7 @@ index 02e338887..7ee65ce10 100644
// CraftBukkit end
IChatBaseComponent ichatbasecomponent = this.getCustomName();
@@ -1696,6 +1697,8 @@ public abstract class Entity implements INamableTileEntity, ICommandListener {
@@ -1712,6 +1713,8 @@ public abstract class Entity implements INamableTileEntity, ICommandListener {
if (this instanceof EntityLiving) {
EntityLiving entity = (EntityLiving) this;

View file

@ -1,14 +1,14 @@
From 4edfaa5b2ff7a69b528abec1dcfdb29d61ff0b84 Mon Sep 17 00:00:00 2001
From 6ed6573df1dff4796f21fd7cc4f7ac93a9c94a05 Mon Sep 17 00:00:00 2001
From: md_5 <git@md-5.net>
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 1bf3176ab..2f1a6d84e 100644
index 75e1a3def..a56dffbf6 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -910,7 +910,13 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
@@ -911,7 +911,13 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
worldserver.doTick(booleansupplier);
worldserver.timings.doTick.stopTiming(); // Spigot
} catch (Throwable throwable) {
@ -22,7 +22,7 @@ index 1bf3176ab..2f1a6d84e 100644
worldserver.a(crashreport);
throw new ReportedException(crashreport);
}
@@ -920,7 +926,13 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
@@ -921,7 +927,13 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
worldserver.tickEntities();
worldserver.timings.tickEntities.stopTiming(); // Spigot
} catch (Throwable throwable1) {

View file

@ -1,4 +1,4 @@
From 9b14a0f445b30a925def572966735f93024c1145 Mon Sep 17 00:00:00 2001
From 70c9e061efa8bf96ae3e6c5af1697026a364c3ab Mon Sep 17 00:00:00 2001
From: md_5 <git@md-5.net>
Date: Sun, 12 Jan 2014 21:07:18 +1100
Subject: [PATCH] Improve AutoSave Mechanism
@ -37,10 +37,10 @@ index d1868c5d0..3c61aa1f4 100644
}
}
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 2f1a6d84e..ddc29fdce 100644
index a56dffbf6..173c6f10f 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -816,7 +816,17 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
@@ -817,7 +817,17 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
SpigotTimings.worldSaveTimer.startTiming(); // Spigot
this.methodProfiler.enter("save");
this.playerList.savePlayers();

View file

@ -1,11 +1,11 @@
From 6bf83cdf0190f4b0465397abd0b7859e5eb9cb6c Mon Sep 17 00:00:00 2001
From 23f834299fe74b8acc30efc1ea219ab5eef061aa Mon Sep 17 00:00:00 2001
From: md_5 <git@md-5.net>
Date: Thu, 26 Jan 2017 21:50:51 +0000
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 ddc29fdce..c46e4fafd 100644
index 173c6f10f..6796b92d1 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -146,6 +146,12 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
@ -21,7 +21,7 @@ index ddc29fdce..c46e4fafd 100644
public MinecraftServer(OptionSet options, Proxy proxy, DataFixer datafixer, CommandDispatcher commanddispatcher, YggdrasilAuthenticationService yggdrasilauthenticationservice, MinecraftSessionService minecraftsessionservice, GameProfileRepository gameprofilerepository, UserCache usercache) {
this.ac = new ResourceManager(EnumResourcePackType.SERVER_DATA);
@@ -671,6 +677,13 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
@@ -672,6 +678,13 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
return SystemUtils.getMonotonicMillis() < this.nextTick;
}
@ -35,7 +35,7 @@ index ddc29fdce..c46e4fafd 100644
public void run() {
try {
if (this.init()) {
@@ -679,26 +692,34 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
@@ -680,26 +693,34 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
this.m.setServerInfo(new ServerPing.ServerData("1.13.2", 404));
this.a(this.m);

View file

@ -1,14 +1,14 @@
From 77185e236d6c96e0c4c4d3d59dc99c601a6526a3 Mon Sep 17 00:00:00 2001
From 6140ee8e03aebf221d9ba5938645a5aa378a404d Mon Sep 17 00:00:00 2001
From: md_5 <git@md-5.net>
Date: Sun, 9 Feb 2014 14:39:01 +1100
Subject: [PATCH] Add Option to Silence CommandBlock Console
diff --git a/src/main/java/net/minecraft/server/CommandListenerWrapper.java b/src/main/java/net/minecraft/server/CommandListenerWrapper.java
index bd00f475d..963f4922a 100644
index 2e5148e57..5aa3a93ce 100644
--- a/src/main/java/net/minecraft/server/CommandListenerWrapper.java
+++ b/src/main/java/net/minecraft/server/CommandListenerWrapper.java
@@ -198,7 +198,7 @@ public class CommandListenerWrapper implements ICompletionProvider {
@@ -204,7 +204,7 @@ public class CommandListenerWrapper implements ICompletionProvider {
}
}

View file

@ -1,14 +1,14 @@
From e28e5e337723b394015e9f8ecc97d29a37f07a26 Mon Sep 17 00:00:00 2001
From 9c01931d35babbf922163547c75aadac8a174c52 Mon Sep 17 00:00:00 2001
From: Thinkofdeath <thethinkofdeath@gmail.com>
Date: Wed, 12 Feb 2014 20:44:14 +0000
Subject: [PATCH] Allow vanilla commands to be the main version of a command
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 107ff8d1a..37bc5810c 100644
index efec1f7b5..44bfdc9c2 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -349,8 +349,11 @@ public final class CraftServer implements Server {
@@ -351,8 +351,11 @@ public final class CraftServer implements Server {
}
if (type == PluginLoadOrder.POSTWORLD) {
@ -21,7 +21,7 @@ index 107ff8d1a..37bc5810c 100644
commandMap.registerServerAliases();
loadCustomPermissions();
DefaultPermissions.registerCorePermissions();
@@ -364,12 +367,21 @@ public final class CraftServer implements Server {
@@ -366,12 +369,21 @@ public final class CraftServer implements Server {
pluginManager.disablePlugins();
}

View file

@ -1,4 +1,4 @@
From fbee7e53adb32d0d5fd1f764436c802540655b86 Mon Sep 17 00:00:00 2001
From 8c71eaaeef6e5fe78c1e0e2a7eec708f826c6526 Mon Sep 17 00:00:00 2001
From: Thinkofdeath <thethinkofdeath@gmail.com>
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 c46e4fafd..c34a6ee81 100644
index 6796b92d1..b8c8d6643 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1199,7 +1199,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
@@ -1200,7 +1200,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
}
public String getServerModName() {

View file

@ -1,4 +1,4 @@
From d50f1c2f5a2d016772076e6ecc1af47b91b825c5 Mon Sep 17 00:00:00 2001
From 0b058eae3e3e8310400cb2f38f3e8c7b5b4e8a2e Mon Sep 17 00:00:00 2001
From: Thinkofdeath <thethinkofdeath@gmail.com>
Date: Sun, 20 Apr 2014 13:18:55 +0100
Subject: [PATCH] Convert player skulls async
@ -203,10 +203,10 @@ index 042e84771..48fbcf863 100644
// CraftBukkit start
public static void a(IBlockAccess iblockaccess, BlockPosition blockposition) {
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSkull.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSkull.java
index bedb01cbc..f1e029d33 100644
index 27f4d7761..210c10b31 100644
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSkull.java
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSkull.java
@@ -78,7 +78,8 @@ class CraftMetaSkull extends CraftMetaItem implements SkullMeta {
@@ -80,7 +80,8 @@ class CraftMetaSkull extends CraftMetaItem implements SkullMeta {
if (profile != null) {
// Fill in textures

View file

@ -1,46 +1,60 @@
From 4447259cec60066857869af206b6750a3c408759 Mon Sep 17 00:00:00 2001
From 3c997fc99f9d86d82922a7944dbad640a8f50058 Mon Sep 17 00:00:00 2001
From: David <dmck2b@gmail.com>
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 5096e123e..d8617a31e 100644
index 5096e123e..18d91c3c4 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 IEntityAccess, GeneratorAccess, IIBlockAc
@@ -132,6 +132,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
public final SpigotTimings.WorldTimingsHandler timings; // Spigot
private boolean guardEntityList; // Spigot
+ public static boolean haveWeSilencedAPhysicsCrash;
+ public static String blockLocation;
+ public static BlockPosition lastPhysicsProblem; // Spigot
public CraftWorld getWorld() {
return this.world;
@@ -532,6 +534,10 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
@@ -352,7 +353,13 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
// CraftBukkit start
if (!this.captureBlockStates) { // Don't notify clients or update physics while capturing blockstates
// Modularize client and physic updates
- notifyAndUpdatePhysics(blockposition, chunk, iblockdata1, iblockdata, iblockdata2, i);
+ // Spigot start
+ try {
+ notifyAndUpdatePhysics(blockposition, chunk, iblockdata1, iblockdata, iblockdata2, i);
+ } catch (StackOverflowError ex) {
+ lastPhysicsProblem = new BlockPosition(blockposition);
+ }
+ // Spigot end
}
// CraftBukkit end
@@ -532,6 +539,10 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
}
// CraftBukkit end
iblockdata.doPhysics(this, blockposition, block, blockposition1);
+ } catch (StackOverflowError stackoverflowerror) { // Spigot Start
+ haveWeSilencedAPhysicsCrash = true;
+ blockLocation = blockposition.getX() + ", " + blockposition.getY() + ", " + blockposition.getZ();
+ // Spigot Start
+ } catch (StackOverflowError ex) {
+ lastPhysicsProblem = new BlockPosition(blockposition);
+ // Spigot End
} catch (Throwable throwable) {
CrashReport crashreport = CrashReport.a(throwable, "Exception while updating neighbours");
CrashReportSystemDetails crashreportsystemdetails = crashreport.a("Block being updated");
diff --git a/src/main/java/org/spigotmc/WatchdogThread.java b/src/main/java/org/spigotmc/WatchdogThread.java
index 1d60ddf0d..14a1084aa 100644
index 1d60ddf0d..9511f247a 100644
--- a/src/main/java/org/spigotmc/WatchdogThread.java
+++ b/src/main/java/org/spigotmc/WatchdogThread.java
@@ -70,6 +70,13 @@ public class WatchdogThread extends Thread
log.log( Level.SEVERE, "Be sure to include ALL relevant console errors and Minecraft crash reports" );
log.log( Level.SEVERE, "Spigot version: " + Bukkit.getServer().getVersion() );
//
+ if(net.minecraft.server.World.haveWeSilencedAPhysicsCrash)
+ if ( net.minecraft.server.World.lastPhysicsProblem != null )
+ {
+ log.log( Level.SEVERE, "------------------------------" );
+ log.log( Level.SEVERE, "During the run of the server, a physics stackoverflow was supressed" );
+ log.log( Level.SEVERE, "near " + net.minecraft.server.World.blockLocation);
+ log.log( Level.SEVERE, "near " + net.minecraft.server.World.lastPhysicsProblem );
+ }
+ //
log.log( Level.SEVERE, "------------------------------" );

View file

@ -1,14 +1,14 @@
From 186f6d571d31e60cc5ecc15151d66c8c04dd8f50 Mon Sep 17 00:00:00 2001
From d1dd0a9bfe950d0875e3c5bf2c5cc8ccc5161a4f Mon Sep 17 00:00:00 2001
From: drXor <mcyoungsota@gmail.com>
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 c34a6ee81..98284a63e 100644
index b8c8d6643..354a827bf 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -655,6 +655,12 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
@@ -656,6 +656,12 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
this.snooper.e();
}

View file

@ -1,14 +1,14 @@
From 2e66bcd354050f36820ab81429e9b43294294c7b Mon Sep 17 00:00:00 2001
From 748c63485d6c51290b2735510ee3550c7b3cc85b Mon Sep 17 00:00:00 2001
From: "Evan A. Haskell" <eah2119@gmail.com>
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 d8617a31e..f229e6fd6 100644
index 18d91c3c4..5452a2575 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -1687,6 +1687,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
@@ -1692,6 +1692,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
}
}

View file

@ -1,4 +1,4 @@
From b05dbdfe70b8f6e86aafda704ef51dda59d52d4e Mon Sep 17 00:00:00 2001
From d69ad04c4b604740df19bf90151ebb708a8e2f49 Mon Sep 17 00:00:00 2001
From: Maxim Van de Wynckel <maxim_vdw@hotmail.com>
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 37bc5810c..1cfc03dce 100644
index 44bfdc9c2..ea3b4c0a5 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -1368,8 +1368,14 @@ public final class CraftServer implements Server {
@@ -1370,8 +1370,14 @@ public final class CraftServer implements Server {
OfflinePlayer result = getPlayerExact(name);
if (result == null) {

View file

@ -1,14 +1,14 @@
From 66083a7e142e3ae2f5b83a7e991f7e408fc0bcd8 Mon Sep 17 00:00:00 2001
From 49966149800703ee9ac576ebdf77a822b7fe0a74 Mon Sep 17 00:00:00 2001
From: md_5 <git@md-5.net>
Date: Fri, 8 Aug 2014 19:57:03 +1000
Subject: [PATCH] Plug WorldMap Memory Leak
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
index f229e6fd6..cfe9142af 100644
index 5452a2575..2a7508128 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -953,6 +953,26 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
@@ -958,6 +958,26 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
entity.die();
if (entity instanceof EntityHuman) {
this.players.remove(entity);

View file

@ -1,11 +1,11 @@
From 3d284a2b6b1025c9945d221d2e001c77dd6d1a48 Mon Sep 17 00:00:00 2001
From d3ec9842915d74509c08c36237cecb63371df616 Mon Sep 17 00:00:00 2001
From: drXor <mcyoung@mit.edu>
Date: Fri, 15 Aug 2014 18:11:09 -0400
Subject: [PATCH] Remove uneeded validation
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
index 34d104732..ea9d39488 100644
index c47697d6e..243d4354f 100644
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
@@ -282,7 +282,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable {
@ -17,7 +17,7 @@ index 34d104732..ea9d39488 100644
this.enchantments = new HashMap<Enchantment, Integer>(meta.enchantments);
}
@@ -630,7 +630,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable {
@@ -634,7 +634,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable {
}
static void applyEnchantments(Map<Enchantment, Integer> enchantments, NBTTagCompound tag, ItemMetaKey key) {
@ -26,7 +26,7 @@ index 34d104732..ea9d39488 100644
return;
}
@@ -769,7 +769,14 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable {
@@ -773,7 +773,14 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable {
public boolean removeEnchant(Enchantment ench) {
Validate.notNull(ench, "Enchantment cannot be null");

View file

@ -1,14 +1,14 @@
From fddc0aa851d339277f48a8ef7fe11d2617beacc5 Mon Sep 17 00:00:00 2001
From 022d969839d3f2c4b0230edd8a59c37d06ce7643 Mon Sep 17 00:00:00 2001
From: libraryaddict <redwarfare@live.com>
Date: Fri, 22 Aug 2014 05:35:16 -0400
Subject: [PATCH] Added isUnbreakable and setUnbreakable to ItemMeta
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
index ea9d39488..9b31e2d72 100644
index 243d4354f..99a2c8c8b 100644
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
@@ -1293,6 +1293,17 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable {
@@ -1297,6 +1297,17 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable {
// Spigot start
private final Spigot spigot = new Spigot()
{

View file

@ -1,4 +1,4 @@
From 1154121721ad153e4d2b2fc91d04d42c697b6ea9 Mon Sep 17 00:00:00 2001
From 0c84de33b49c23c8bf567a91a0ffed8015958a24 Mon Sep 17 00:00:00 2001
From: md_5 <git@md-5.net>
Date: Sat, 13 Dec 2014 03:06:05 +0100
Subject: [PATCH] BungeeCord Chat API
@ -32,10 +32,10 @@ index e55384e70..28a262835 100644
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 1cfc03dce..fc49882c2 100644
index ea3b4c0a5..b9f8caa80 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -159,6 +159,7 @@ import org.bukkit.craftbukkit.util.CraftChatMessage;
@@ -161,6 +161,7 @@ import org.bukkit.craftbukkit.util.CraftChatMessage;
import org.bukkit.craftbukkit.util.CraftNamespacedKey;
import org.bukkit.event.server.ServerLoadEvent;
import org.bukkit.event.server.TabCompleteEvent;
@ -43,7 +43,7 @@ index 1cfc03dce..fc49882c2 100644
public final class CraftServer implements Server {
private final String serverName = "CraftBukkit";
@@ -1951,6 +1952,20 @@ public final class CraftServer implements Server {
@@ -1972,6 +1973,20 @@ public final class CraftServer implements Server {
public void restart() {
org.spigotmc.RestartCommand.restart();
}
@ -87,7 +87,7 @@ index c10a84452..5c3421dd3 100644
@Override
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
index f87591b82..42e492264 100644
index 8d7a23a54..a3435c11e 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
@@ -776,6 +776,16 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
@ -108,7 +108,7 @@ index f87591b82..42e492264 100644
public Spigot spigot()
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index b315d9af1..8594d6bb4 100644
index 9a2934443..753704c87 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -23,6 +23,7 @@ import java.util.UUID;

View file

@ -1,4 +1,4 @@
From 8e66404730588f5a014e0510d2c0e9ab344db9c3 Mon Sep 17 00:00:00 2001
From 49ef3c88c292722151e4d1215fc50fc0297c9b5b Mon Sep 17 00:00:00 2001
From: md_5 <git@md-5.net>
Date: Fri, 20 Feb 2015 21:39:31 +1100
Subject: [PATCH] Allow Capping (Tile)Entity Tick Time.
@ -10,20 +10,20 @@ 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 cfe9142af..6ea9eaa1a 100644
index 2a7508128..90c54a73d 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 IEntityAccess, GeneratorAccess, IIBlockAc
@@ -133,6 +133,9 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
public final SpigotTimings.WorldTimingsHandler timings; // Spigot
private boolean guardEntityList; // Spigot
public static boolean haveWeSilencedAPhysicsCrash;
public static String blockLocation;
public static BlockPosition lastPhysicsProblem; // Spigot
+ private org.spigotmc.TickLimiter entityLimiter;
+ private org.spigotmc.TickLimiter tileLimiter;
+ private int tileTickPosition;
public CraftWorld getWorld() {
return this.world;
@@ -196,6 +199,8 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
@@ -195,6 +198,8 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
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 cfe9142af..6ea9eaa1a 100644
}
public BiomeBase getBiome(BlockPosition blockposition) {
@@ -1097,7 +1102,12 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
@@ -1102,7 +1107,12 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
timings.entityTick.startTiming(); // Spigot
guardEntityList = true; // Spigot
// CraftBukkit start - Use field for loop variable
@ -46,7 +46,7 @@ index cfe9142af..6ea9eaa1a 100644
entity = (Entity) this.entityList.get(this.tickPosition);
// CraftBukkit end
Entity entity1 = entity.getVehicle();
@@ -1154,14 +1164,19 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
@@ -1159,14 +1169,19 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
}
this.J = true;
@ -71,7 +71,7 @@ index cfe9142af..6ea9eaa1a 100644
continue;
}
// Spigot end
@@ -1192,7 +1207,8 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
@@ -1197,7 +1212,8 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
}
if (tileentity.x()) {

View file

@ -1,4 +1,4 @@
From 3b2363b8f3a62410690d1b95904b2eeed1fa7f0c Mon Sep 17 00:00:00 2001
From 4087585764b11870082fd6d3f97b87ccc4274766 Mon Sep 17 00:00:00 2001
From: md_5 <git@md-5.net>
Date: Thu, 3 Mar 2016 19:45:46 +1100
Subject: [PATCH] Implement SpawnerSpawnEvent.
@ -26,10 +26,10 @@ index e0becc02f..cc0371b4a 100644
ChunkRegionLoader.a(entity, (GeneratorAccess) world, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.SPAWNER); // CraftBukkit
world.triggerEffect(2004, blockposition, 0);
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
index e536f7f4a..4d3bfd69e 100644
index 35ac909a5..b1df5985e 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
@@ -1178,6 +1178,21 @@ public class CraftEventFactory {
@@ -1189,6 +1189,21 @@ public class CraftEventFactory {
return event;
}

View file

@ -1,4 +1,4 @@
From e0f6292be76aa07b76e64b46797dd2abb0707969 Mon Sep 17 00:00:00 2001
From 2ee76569bf7cfc91dbcd319ecbea7bc880d10ce7 Mon Sep 17 00:00:00 2001
From: Geoff Crossland <gcrossland+bukkit@gmail.com>
Date: Thu, 26 Jan 2017 20:54:55 +0000
Subject: [PATCH] Replace chunk loading / unloading rate throttling.
@ -51,7 +51,7 @@ index 3c61aa1f4..4bfaaac93 100644
this.chunkScheduler.a(booleansupplier);
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 98284a63e..963c7e777 100644
index 354a827bf..72de40434 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -63,6 +63,7 @@ import org.bukkit.craftbukkit.Main;
@ -70,7 +70,7 @@ index 98284a63e..963c7e777 100644
// Spigot end
public MinecraftServer(OptionSet options, Proxy proxy, DataFixer datafixer, CommandDispatcher commanddispatcher, YggdrasilAuthenticationService yggdrasilauthenticationservice, MinecraftSessionService minecraftsessionservice, GameProfileRepository gameprofilerepository, UserCache usercache) {
@@ -815,6 +817,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
@@ -816,6 +818,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
protected void a(BooleanSupplier booleansupplier) {
SpigotTimings.serverTickTimer.startTiming(); // Spigot
@ -78,7 +78,7 @@ index 98284a63e..963c7e777 100644
long i = SystemUtils.getMonotonicNanos();
++this.ticks;
@@ -875,6 +878,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
@@ -876,6 +879,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
this.methodProfiler.exit();
this.methodProfiler.exit();
org.spigotmc.WatchdogThread.tick(); // Spigot