Catch async recipe add

This commit is contained in:
md_5 2019-01-07 10:30:38 +11:00
parent 19c3c5a51d
commit f56e2e787f

View file

@ -1,4 +1,4 @@
From e12f2c3099e661511fa2b1e3af4047ef0520f076 Mon Sep 17 00:00:00 2001
From 74a3f95af3c907f627f55f22a52a173dbe6bb789 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 f6829ff07..c09961be9 100644
index f6829ff0..c09961be 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 {
@ -26,8 +26,20 @@ index f6829ff07..c09961be9 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
--- 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 {
}
public void a(IRecipe irecipe) {
+ org.spigotmc.AsyncCatcher.catchOp("Recipe Add"); // Spigot
if (this.recipes.containsKey(irecipe.getKey())) {
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 018144d19..338532fa2 100644
index 018144d1..338532fa 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 {
@ -39,7 +51,7 @@ index 018144d19..338532fa2 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 1646a56f5..9237ae20e 100644
index 1646a56f..9237ae20 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 {
@ -59,7 +71,7 @@ index 1646a56f5..9237ae20e 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 40b7d8d06..d00401ce1 100644
index 40b7d8d0..d00401ce 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 {
@ -79,7 +91,7 @@ index 40b7d8d06..d00401ce1 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 e5b3c3f0a..010ddbc5e 100644
index e5b3c3f0..010ddbc5 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
@ -115,7 +127,7 @@ index e5b3c3f0a..010ddbc5e 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 47f156ea7..23ede066e 100644
index 47f156ea..23ede066 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 {
@ -127,7 +139,7 @@ index 47f156ea7..23ede066e 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 f5fce00ca..88182d21e 100644
index f5fce00c..88182d21 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 {
@ -163,7 +175,7 @@ index f5fce00ca..88182d21e 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 ef17b0ab8..700af54cf 100644
index cf560784..285ec87c 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 {
@ -175,7 +187,7 @@ index ef17b0ab8..700af54cf 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 cac87d306..9cce899f5 100644
index cac87d30..9cce899f 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 {
@ -187,7 +199,7 @@ index cac87d306..9cce899f5 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 ae3481ba8..a0cdd2317 100644
index ae3481ba..a0cdd231 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 {
@ -200,7 +212,7 @@ index ae3481ba8..a0cdd2317 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 000000000..4b3aa85c9
index 00000000..4b3aa85c
--- /dev/null
+++ b/src/main/java/org/spigotmc/AsyncCatcher.java
@@ -0,0 +1,17 @@