Update from upstream SpigotMC
Fix Corrupted Trapped Chests SpigotMC/Spigot@08de30ca3e Don't time async events SpigotMC/Spigot@c3a9e71da3
This commit is contained in:
parent
57ec3d64be
commit
d301626815
2 changed files with 35 additions and 6 deletions
|
@ -1,4 +1,4 @@
|
||||||
From 1a8060d85c71cd9047243fd1fb8d8484601abf99 Mon Sep 17 00:00:00 2001
|
From 8436d82f19ccc283c93fa2a2a2df7621437dd5ae Mon Sep 17 00:00:00 2001
|
||||||
From: Aikar <aikar@aikar.co>
|
From: Aikar <aikar@aikar.co>
|
||||||
Date: Sun, 2 Jun 2013 10:42:57 +1000
|
Date: Sun, 2 Jun 2013 10:42:57 +1000
|
||||||
Subject: [PATCH] Spigot Timings
|
Subject: [PATCH] Spigot Timings
|
||||||
|
@ -242,7 +242,7 @@ index d2fe422..1d51908 100644
|
||||||
}
|
}
|
||||||
|
|
||||||
diff --git a/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java b/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java
|
diff --git a/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java b/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java
|
||||||
index b178c0d..6611342 100644
|
index b178c0d..fe723c9 100644
|
||||||
--- a/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java
|
--- a/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java
|
||||||
+++ b/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java
|
+++ b/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java
|
||||||
@@ -39,6 +39,7 @@ import org.bukkit.plugin.PluginLoader;
|
@@ -39,6 +39,7 @@ import org.bukkit.plugin.PluginLoader;
|
||||||
|
@ -261,7 +261,7 @@ index b178c0d..6611342 100644
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This class was not meant to be constructed explicitly
|
* This class was not meant to be constructed explicitly
|
||||||
@@ -283,13 +285,16 @@ public final class JavaPluginLoader implements PluginLoader {
|
@@ -283,13 +285,19 @@ public final class JavaPluginLoader implements PluginLoader {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -272,13 +272,16 @@ index b178c0d..6611342 100644
|
||||||
if (!eventClass.isAssignableFrom(event.getClass())) {
|
if (!eventClass.isAssignableFrom(event.getClass())) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
+ timings.startTiming(); // Spigot
|
+ // Spigot start
|
||||||
|
+ boolean isAsync = event.isAsynchronous();
|
||||||
|
+ if (!isAsync) timings.startTiming();
|
||||||
method.invoke(listener, event);
|
method.invoke(listener, event);
|
||||||
+ timings.stopTiming(); // Spigot
|
+ if (!isAsync) timings.stopTiming();
|
||||||
|
+ // Spigot end
|
||||||
} catch (InvocationTargetException ex) {
|
} catch (InvocationTargetException ex) {
|
||||||
throw new EventException(ex.getCause());
|
throw new EventException(ex.getCause());
|
||||||
} catch (Throwable t) {
|
} catch (Throwable t) {
|
||||||
@@ -297,7 +302,7 @@ public final class JavaPluginLoader implements PluginLoader {
|
@@ -297,7 +305,7 @@ public final class JavaPluginLoader implements PluginLoader {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
26
CraftBukkit-Patches/0174-Fix-Corrupted-Trapped-Chest.patch
Normal file
26
CraftBukkit-Patches/0174-Fix-Corrupted-Trapped-Chest.patch
Normal file
|
@ -0,0 +1,26 @@
|
||||||
|
From baa91fa0bb4aee82819f9ccb4aa2f6c8889365ca Mon Sep 17 00:00:00 2001
|
||||||
|
From: Aikar <aikar@aikar.co>
|
||||||
|
Date: Fri, 15 Aug 2014 00:56:41 -0400
|
||||||
|
Subject: [PATCH] Fix Corrupted Trapped Chest
|
||||||
|
|
||||||
|
The CraftBukkit code that auto repairs corrupted tile entities never was updated for Trapped Chest.
|
||||||
|
If a Trapped Chest gets its Tile Entity corrupted, it will crash the server every time the chunk is loaded.
|
||||||
|
|
||||||
|
This will now fix Trapped Chests too.
|
||||||
|
|
||||||
|
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
|
||||||
|
index d93eb8b..f9dc0fc 100644
|
||||||
|
--- a/src/main/java/net/minecraft/server/WorldServer.java
|
||||||
|
+++ b/src/main/java/net/minecraft/server/WorldServer.java
|
||||||
|
@@ -87,7 +87,7 @@ public class WorldServer extends World {
|
||||||
|
TileEntity result = super.getTileEntity(i, j, k);
|
||||||
|
Block type = getType(i, j, k);
|
||||||
|
|
||||||
|
- if (type == Blocks.CHEST) {
|
||||||
|
+ if (type == Blocks.CHEST || type == Blocks.TRAPPED_CHEST) { // Spigot
|
||||||
|
if (!(result instanceof TileEntityChest)) {
|
||||||
|
result = fixTileEntity(i, j, k, type, result);
|
||||||
|
}
|
||||||
|
--
|
||||||
|
1.9.1
|
||||||
|
|
Loading…
Reference in a new issue