Updated Upstream (Paper & Purpur)
Upstream has released updates that appear to apply and compile correctly Paper Changes: PaperMC/Paper@4e99466 Updated Upstream (Bukkit/CraftBukkit/Spigot) (#8874) Purpur Changes: PurpurMC/Purpur@235d507 Updated Upstream (Paper & Pufferfish)
This commit is contained in:
@@ -1,2 +1,2 @@
|
|||||||
purpurCommit = 9e436f732aae7f826c9acd5134a2948190c08b79
|
purpurCommit = 235d5075a1eb9d733acbd88e19724b0662f6d7c1
|
||||||
pufferfishCommit = 52307ae220ad5a9a01ac4e273b921f3cbb097de5
|
pufferfishCommit = 52307ae220ad5a9a01ac4e273b921f3cbb097de5
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
group = org.plazmamc.plazma
|
group = org.plazmamc.plazma
|
||||||
version = 1.19.3-R0.1-SNAPSHOT
|
version = 1.19.3-R0.1-SNAPSHOT
|
||||||
|
|
||||||
paperCommit = 4d7269e07cf152cd25943a17eaf1ced790bbb8ce
|
paperCommit = 4e994669d3073977cda747d60205d94fbc94f2a7
|
||||||
|
|
||||||
org.gradle.caching = true
|
org.gradle.caching = true
|
||||||
org.gradle.parallel = true
|
org.gradle.parallel = true
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||||
From: AlphaKR93 <dev@alpha93.kr>
|
From: AlphaKR93 <dev@alpha93.kr>
|
||||||
Date: Fri, 10 Mar 2023 11:34:36 +0000
|
Date: Sun, 12 Mar 2023 05:31:17 +0000
|
||||||
Subject: [PATCH] Pufferfish API Changes
|
Subject: [PATCH] Pufferfish API Changes
|
||||||
|
|
||||||
Original: Kevin Raneri <kevin.raneri@gmail.com>
|
Original: Kevin Raneri <kevin.raneri@gmail.com>
|
||||||
@@ -20,7 +20,7 @@ You should have received a copy of the GNU General Public License
|
|||||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
diff --git a/build.gradle.kts b/build.gradle.kts
|
diff --git a/build.gradle.kts b/build.gradle.kts
|
||||||
index 7ba2b08b8c5eb405a64f9edfa72195dcf48f82bd..d351ae66db72208a78ee6c522201693f19f68ef5 100644
|
index 9421e45653e68922a51cf0071792e6fa7999d0b8..181e9cd8623995f40e696ccfe49754dc340405d8 100644
|
||||||
--- a/build.gradle.kts
|
--- a/build.gradle.kts
|
||||||
+++ b/build.gradle.kts
|
+++ b/build.gradle.kts
|
||||||
@@ -41,6 +41,7 @@ dependencies {
|
@@ -41,6 +41,7 @@ dependencies {
|
||||||
@@ -29,8 +29,8 @@ index 7ba2b08b8c5eb405a64f9edfa72195dcf48f82bd..d351ae66db72208a78ee6c522201693f
|
|||||||
api("org.slf4j:slf4j-api:1.8.0-beta4")
|
api("org.slf4j:slf4j-api:1.8.0-beta4")
|
||||||
+ api("io.sentry:sentry:5.4.0") // Pufferfish
|
+ api("io.sentry:sentry:5.4.0") // Pufferfish
|
||||||
|
|
||||||
implementation("org.ow2.asm:asm:9.2")
|
implementation("org.ow2.asm:asm:9.4")
|
||||||
implementation("org.ow2.asm:asm-commons:9.2")
|
implementation("org.ow2.asm:asm-commons:9.4")
|
||||||
@@ -84,6 +85,13 @@ val generateApiVersioningFile by tasks.registering {
|
@@ -84,6 +85,13 @@ val generateApiVersioningFile by tasks.registering {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -47,7 +47,7 @@ index 7ba2b08b8c5eb405a64f9edfa72195dcf48f82bd..d351ae66db72208a78ee6c522201693f
|
|||||||
into("META-INF/maven/${project.group}/${project.name}")
|
into("META-INF/maven/${project.group}/${project.name}")
|
||||||
diff --git a/src/main/java/gg/pufferfish/pufferfish/sentry/SentryContext.java b/src/main/java/gg/pufferfish/pufferfish/sentry/SentryContext.java
|
diff --git a/src/main/java/gg/pufferfish/pufferfish/sentry/SentryContext.java b/src/main/java/gg/pufferfish/pufferfish/sentry/SentryContext.java
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
index 0000000000000000000000000000000000000000..10310fdd53de28efb8a8250f6d3b0c8eb08fb68a
|
index 0000000000000000000000000000000000000000..cfbc75a4525b0596547db496eabe867975081642
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/src/main/java/gg/pufferfish/pufferfish/sentry/SentryContext.java
|
+++ b/src/main/java/gg/pufferfish/pufferfish/sentry/SentryContext.java
|
||||||
@@ -0,0 +1,161 @@
|
@@ -0,0 +1,161 @@
|
||||||
@@ -69,21 +69,21 @@ index 0000000000000000000000000000000000000000..10310fdd53de28efb8a8250f6d3b0c8e
|
|||||||
+import org.jetbrains.annotations.Nullable;
|
+import org.jetbrains.annotations.Nullable;
|
||||||
+
|
+
|
||||||
+public class SentryContext {
|
+public class SentryContext {
|
||||||
+
|
+
|
||||||
+ private static final Gson GSON = new Gson();
|
+ private static final Gson GSON = new Gson();
|
||||||
+
|
+
|
||||||
+ public static void setPluginContext(@Nullable Plugin plugin) {
|
+ public static void setPluginContext(@Nullable Plugin plugin) {
|
||||||
+ if (plugin != null) {
|
+ if (plugin != null) {
|
||||||
+ ThreadContext.put("pufferfishsentry_pluginname", plugin.getName());
|
+ ThreadContext.put("pufferfishsentry_pluginname", plugin.getName());
|
||||||
+ ThreadContext.put("pufferfishsentry_pluginversion", plugin.getDescription().getVersion());
|
+ ThreadContext.put("pufferfishsentry_pluginversion", plugin.getDescription().getVersion());
|
||||||
+ }
|
+ }
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
+ public static void removePluginContext() {
|
+ public static void removePluginContext() {
|
||||||
+ ThreadContext.remove("pufferfishsentry_pluginname");
|
+ ThreadContext.remove("pufferfishsentry_pluginname");
|
||||||
+ ThreadContext.remove("pufferfishsentry_pluginversion");
|
+ ThreadContext.remove("pufferfishsentry_pluginversion");
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
+ public static void setSenderContext(@Nullable CommandSender sender) {
|
+ public static void setSenderContext(@Nullable CommandSender sender) {
|
||||||
+ if (sender != null) {
|
+ if (sender != null) {
|
||||||
+ ThreadContext.put("pufferfishsentry_playername", sender.getName());
|
+ ThreadContext.put("pufferfishsentry_playername", sender.getName());
|
||||||
@@ -92,15 +92,15 @@ index 0000000000000000000000000000000000000000..10310fdd53de28efb8a8250f6d3b0c8e
|
|||||||
+ }
|
+ }
|
||||||
+ }
|
+ }
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
+ public static void removeSenderContext() {
|
+ public static void removeSenderContext() {
|
||||||
+ ThreadContext.remove("pufferfishsentry_playername");
|
+ ThreadContext.remove("pufferfishsentry_playername");
|
||||||
+ ThreadContext.remove("pufferfishsentry_playerid");
|
+ ThreadContext.remove("pufferfishsentry_playerid");
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
+ public static void setEventContext(Event event, RegisteredListener registration) {
|
+ public static void setEventContext(Event event, RegisteredListener registration) {
|
||||||
+ setPluginContext(registration.getPlugin());
|
+ setPluginContext(registration.getPlugin());
|
||||||
+
|
+
|
||||||
+ try {
|
+ try {
|
||||||
+ // Find the player that was involved with this event
|
+ // Find the player that was involved with this event
|
||||||
+ Player player = null;
|
+ Player player = null;
|
||||||
@@ -108,36 +108,36 @@ index 0000000000000000000000000000000000000000..10310fdd53de28efb8a8250f6d3b0c8e
|
|||||||
+ player = ((PlayerEvent) event).getPlayer();
|
+ player = ((PlayerEvent) event).getPlayer();
|
||||||
+ } else {
|
+ } else {
|
||||||
+ Class<? extends Event> eventClass = event.getClass();
|
+ Class<? extends Event> eventClass = event.getClass();
|
||||||
+
|
+
|
||||||
+ Field playerField = null;
|
+ Field playerField = null;
|
||||||
+
|
+
|
||||||
+ for (Field field : eventClass.getDeclaredFields()) {
|
+ for (Field field : eventClass.getDeclaredFields()) {
|
||||||
+ if (field.getType().equals(Player.class)) {
|
+ if (field.getType().equals(Player.class)) {
|
||||||
+ playerField = field;
|
+ playerField = field;
|
||||||
+ break;
|
+ break;
|
||||||
+ }
|
+ }
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
+ if (playerField != null) {
|
+ if (playerField != null) {
|
||||||
+ playerField.setAccessible(true);
|
+ playerField.setAccessible(true);
|
||||||
+ player = (Player) playerField.get(event);
|
+ player = (Player) playerField.get(event);
|
||||||
+ }
|
+ }
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
+ if (player != null) {
|
+ if (player != null) {
|
||||||
+ setSenderContext(player);
|
+ setSenderContext(player);
|
||||||
+ }
|
+ }
|
||||||
+ } catch (Exception e) {} // We can't really safely log exceptions.
|
+ } catch (Exception e) {} // We can't really safely log exceptions.
|
||||||
+
|
+
|
||||||
+ ThreadContext.put("pufferfishsentry_eventdata", GSON.toJson(serializeFields(event)));
|
+ ThreadContext.put("pufferfishsentry_eventdata", GSON.toJson(serializeFields(event)));
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
+ public static void removeEventContext() {
|
+ public static void removeEventContext() {
|
||||||
+ removePluginContext();
|
+ removePluginContext();
|
||||||
+ removeSenderContext();
|
+ removeSenderContext();
|
||||||
+ ThreadContext.remove("pufferfishsentry_eventdata");
|
+ ThreadContext.remove("pufferfishsentry_eventdata");
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
+ private static Map<String, String> serializeFields(Object object) {
|
+ private static Map<String, String> serializeFields(Object object) {
|
||||||
+ Map<String, String> fields = new TreeMap<>();
|
+ Map<String, String> fields = new TreeMap<>();
|
||||||
+ fields.put("_class", object.getClass().getName());
|
+ fields.put("_class", object.getClass().getName());
|
||||||
@@ -146,7 +146,7 @@ index 0000000000000000000000000000000000000000..10310fdd53de28efb8a8250f6d3b0c8e
|
|||||||
+ if (Modifier.isStatic(declaredField.getModifiers())) {
|
+ if (Modifier.isStatic(declaredField.getModifiers())) {
|
||||||
+ continue;
|
+ continue;
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
+ String fieldName = declaredField.getName();
|
+ String fieldName = declaredField.getName();
|
||||||
+ if (fieldName.equals("handlers")) {
|
+ if (fieldName.equals("handlers")) {
|
||||||
+ continue;
|
+ continue;
|
||||||
@@ -162,47 +162,47 @@ index 0000000000000000000000000000000000000000..10310fdd53de28efb8a8250f6d3b0c8e
|
|||||||
+ }
|
+ }
|
||||||
+ return fields;
|
+ return fields;
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
+ public static class State {
|
+ public static class State {
|
||||||
+
|
+
|
||||||
+ private Plugin plugin;
|
+ private Plugin plugin;
|
||||||
+ private Command command;
|
+ private Command command;
|
||||||
+ private String commandLine;
|
+ private String commandLine;
|
||||||
+ private Event event;
|
+ private Event event;
|
||||||
+ private RegisteredListener registeredListener;
|
+ private RegisteredListener registeredListener;
|
||||||
+
|
+
|
||||||
+ public Plugin getPlugin() {
|
+ public Plugin getPlugin() {
|
||||||
+ return plugin;
|
+ return plugin;
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
+ public void setPlugin(Plugin plugin) {
|
+ public void setPlugin(Plugin plugin) {
|
||||||
+ this.plugin = plugin;
|
+ this.plugin = plugin;
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
+ public Command getCommand() {
|
+ public Command getCommand() {
|
||||||
+ return command;
|
+ return command;
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
+ public void setCommand(Command command) {
|
+ public void setCommand(Command command) {
|
||||||
+ this.command = command;
|
+ this.command = command;
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
+ public String getCommandLine() {
|
+ public String getCommandLine() {
|
||||||
+ return commandLine;
|
+ return commandLine;
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
+ public void setCommandLine(String commandLine) {
|
+ public void setCommandLine(String commandLine) {
|
||||||
+ this.commandLine = commandLine;
|
+ this.commandLine = commandLine;
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
+ public Event getEvent() {
|
+ public Event getEvent() {
|
||||||
+ return event;
|
+ return event;
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
+ public void setEvent(Event event) {
|
+ public void setEvent(Event event) {
|
||||||
+ this.event = event;
|
+ this.event = event;
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
+ public RegisteredListener getRegisteredListener() {
|
+ public RegisteredListener getRegisteredListener() {
|
||||||
+ return registeredListener;
|
+ return registeredListener;
|
||||||
+ }
|
+ }
|
||||||
@@ -452,20 +452,24 @@ index 2b8308989fce7f8a16907f8711b362e671fdbfb6..bd4d1a40f53784662174d426533ef4b5
|
|||||||
callEvent(new com.destroystokyo.paper.event.server.ServerExceptionEvent(new com.destroystokyo.paper.exception.ServerEventException(msg, ex, registration.getPlugin(), registration.getListener(), event)));
|
callEvent(new com.destroystokyo.paper.event.server.ServerExceptionEvent(new com.destroystokyo.paper.exception.ServerEventException(msg, ex, registration.getPlugin(), registration.getListener(), event)));
|
||||||
}
|
}
|
||||||
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 eaefbb00e9993d54906cc8cf35cf753c0d6c7707..6efa6732e5559c3192d08b8631911be7cdaf15b4 100644
|
index eaefbb00e9993d54906cc8cf35cf753c0d6c7707..301e82369603f3dd6e6c1bd380da4bacacd7ef6c 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
|
||||||
@@ -336,7 +336,9 @@ public final class JavaPluginLoader implements PluginLoader {
|
@@ -336,7 +336,13 @@ public final class JavaPluginLoader implements PluginLoader {
|
||||||
try {
|
try {
|
||||||
jPlugin.setEnabled(true);
|
jPlugin.setEnabled(true);
|
||||||
} catch (Throwable ex) {
|
} catch (Throwable ex) {
|
||||||
+ gg.pufferfish.pufferfish.sentry.SentryContext.setPluginContext(plugin); // Pufferfish
|
+ gg.pufferfish.pufferfish.sentry.SentryContext.setPluginContext(plugin); // Pufferfish
|
||||||
server.getLogger().log(Level.SEVERE, "Error occurred while enabling " + plugin.getDescription().getFullName() + " (Is it up to date?)", ex);
|
server.getLogger().log(Level.SEVERE, "Error occurred while enabling " + plugin.getDescription().getFullName() + " (Is it up to date?)", ex);
|
||||||
+ gg.pufferfish.pufferfish.sentry.SentryContext.removePluginContext(); // Pufferfish
|
+ gg.pufferfish.pufferfish.sentry.SentryContext.removePluginContext(); // Pufferfish
|
||||||
|
+ // Paper start - Disable plugins that fail to load
|
||||||
|
+ this.server.getPluginManager().disablePlugin(jPlugin);
|
||||||
|
+ return;
|
||||||
|
+ // Paper end
|
||||||
}
|
}
|
||||||
|
|
||||||
// Perhaps abort here, rather than continue going, but as it stands,
|
// Perhaps abort here, rather than continue going, but as it stands,
|
||||||
@@ -361,7 +363,9 @@ public final class JavaPluginLoader implements PluginLoader {
|
@@ -361,7 +367,9 @@ public final class JavaPluginLoader implements PluginLoader {
|
||||||
try {
|
try {
|
||||||
jPlugin.setEnabled(false);
|
jPlugin.setEnabled(false);
|
||||||
} catch (Throwable ex) {
|
} catch (Throwable ex) {
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||||
From: AlphaKR93 <dev@alpha93.kr>
|
From: AlphaKR93 <dev@alpha93.kr>
|
||||||
Date: Fri, 10 Mar 2023 11:36:23 +0000
|
Date: Sun, 12 Mar 2023 05:33:21 +0000
|
||||||
Subject: [PATCH] Purpur API Changes
|
Subject: [PATCH] Purpur API Changes
|
||||||
|
|
||||||
Original: PurpurMC
|
Original: PurpurMC
|
||||||
@@ -25,7 +25,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|||||||
SOFTWARE.
|
SOFTWARE.
|
||||||
|
|
||||||
diff --git a/build.gradle.kts b/build.gradle.kts
|
diff --git a/build.gradle.kts b/build.gradle.kts
|
||||||
index d351ae66db72208a78ee6c522201693f19f68ef5..754c700cbdf0e775d0c12ebe468d9f2bdcc22cc2 100644
|
index 181e9cd8623995f40e696ccfe49754dc340405d8..e7c5f7eabaf4f2af07dd987a7879f45c4f66658d 100644
|
||||||
--- a/build.gradle.kts
|
--- a/build.gradle.kts
|
||||||
+++ b/build.gradle.kts
|
+++ b/build.gradle.kts
|
||||||
@@ -104,6 +104,8 @@ tasks.jar {
|
@@ -104,6 +104,8 @@ tasks.jar {
|
||||||
@@ -1155,10 +1155,10 @@ index bc84b892cae5fe7019a3ad481e9da79956efa1fe..48eb5b00c460cccde29d327cef1d63fc
|
|||||||
+ // Purpur end
|
+ // Purpur end
|
||||||
}
|
}
|
||||||
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
|
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
|
||||||
index 7e7a21b21afdf40d7516ce1a5f5c1c5d6048984a..5ff9f0d9bc2bc08af251a677a8c98d6f288da8a8 100644
|
index fd890d0a3a2c92ad821ade7711191bdb0e3e3624..b9a924058f99c24db499dbb97373514d1f2ea174 100644
|
||||||
--- a/src/main/java/org/bukkit/entity/Player.java
|
--- a/src/main/java/org/bukkit/entity/Player.java
|
||||||
+++ b/src/main/java/org/bukkit/entity/Player.java
|
+++ b/src/main/java/org/bukkit/entity/Player.java
|
||||||
@@ -2978,4 +2978,139 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
|
@@ -2969,4 +2969,139 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
|
||||||
@Override
|
@Override
|
||||||
Spigot spigot();
|
Spigot spigot();
|
||||||
// Spigot end
|
// Spigot end
|
||||||
@@ -2160,7 +2160,7 @@ index cd3296fea01648592d2af89b3d80135acb6d0958..45797a6fbae1d8edc4211cb30def24ad
|
|||||||
|
|
||||||
permissions.put(lname, new PermissionAttachmentInfo(parent, lname, attachment, value));
|
permissions.put(lname, new PermissionAttachmentInfo(parent, lname, attachment, value));
|
||||||
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 6efa6732e5559c3192d08b8631911be7cdaf15b4..1cf1f761790a5e3cd9286b9cecab817ce58de352 100644
|
index 301e82369603f3dd6e6c1bd380da4bacacd7ef6c..0c6ca7588fb3d6b6497ddf032fe75e5c6c9719e5 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
|
||||||
@@ -55,6 +55,7 @@ public final class JavaPluginLoader implements PluginLoader {
|
@@ -55,6 +55,7 @@ public final class JavaPluginLoader implements PluginLoader {
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||||
From: AlphaKR93 <dev@alpha93.kr>
|
From: AlphaKR93 <dev@alpha93.kr>
|
||||||
Date: Fri, 10 Mar 2023 11:34:36 +0000
|
Date: Sun, 12 Mar 2023 05:31:17 +0000
|
||||||
Subject: [PATCH] Pufferfish Server Changes
|
Subject: [PATCH] Pufferfish Server Changes
|
||||||
|
|
||||||
Original: Kevin Raneri <kevin.raneri@gmail.com>
|
Original: Kevin Raneri <kevin.raneri@gmail.com>
|
||||||
@@ -20,7 +20,7 @@ You should have received a copy of the GNU General Public License
|
|||||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
diff --git a/build.gradle.kts b/build.gradle.kts
|
diff --git a/build.gradle.kts b/build.gradle.kts
|
||||||
index 4cc7d15f43b2547a723ea231bcf98bc13bdb85bf..af8a561e4d59d98ebb6d7a8fbcb072e361b10058 100644
|
index 1919a8e9cb7c995b2a9c876ff4980bdc98977133..8d8c5a8bd2a53ac6d9b36e0330a7be6725aa407c 100644
|
||||||
--- a/build.gradle.kts
|
--- a/build.gradle.kts
|
||||||
+++ b/build.gradle.kts
|
+++ b/build.gradle.kts
|
||||||
@@ -7,8 +7,12 @@ plugins {
|
@@ -7,8 +7,12 @@ plugins {
|
||||||
@@ -91,7 +91,7 @@ index 06bff37e4c1fddd3be6343049a66787c63fb420c..2cc44fbf8e5bd436b6d4e19f6c06b351
|
|||||||
|
|
||||||
new TimingsExport(listeners, parent, history).start();
|
new TimingsExport(listeners, parent, history).start();
|
||||||
diff --git a/src/main/java/com/destroystokyo/paper/Metrics.java b/src/main/java/com/destroystokyo/paper/Metrics.java
|
diff --git a/src/main/java/com/destroystokyo/paper/Metrics.java b/src/main/java/com/destroystokyo/paper/Metrics.java
|
||||||
index 4b002e8b75d117b726b0de274a76d3596fce015b..061716934ba0a1f01e4d85d664034f72b3c7a765 100644
|
index 4b002e8b75d117b726b0de274a76d3596fce015b..692c962193cf9fcc6801fc93f3220bdc673d527b 100644
|
||||||
--- a/src/main/java/com/destroystokyo/paper/Metrics.java
|
--- a/src/main/java/com/destroystokyo/paper/Metrics.java
|
||||||
+++ b/src/main/java/com/destroystokyo/paper/Metrics.java
|
+++ b/src/main/java/com/destroystokyo/paper/Metrics.java
|
||||||
@@ -593,7 +593,7 @@ public class Metrics {
|
@@ -593,7 +593,7 @@ public class Metrics {
|
||||||
@@ -103,20 +103,17 @@ index 4b002e8b75d117b726b0de274a76d3596fce015b..061716934ba0a1f01e4d85d664034f72
|
|||||||
|
|
||||||
metrics.addCustomChart(new Metrics.SimplePie("minecraft_version", () -> {
|
metrics.addCustomChart(new Metrics.SimplePie("minecraft_version", () -> {
|
||||||
String minecraftVersion = Bukkit.getVersion();
|
String minecraftVersion = Bukkit.getVersion();
|
||||||
@@ -603,15 +603,7 @@ public class Metrics {
|
@@ -607,11 +607,11 @@ public class Metrics {
|
||||||
|
final String implVersion = org.bukkit.craftbukkit.Main.class.getPackage().getImplementationVersion();
|
||||||
metrics.addCustomChart(new Metrics.SingleLineChart("players", () -> Bukkit.getOnlinePlayers().size()));
|
if (implVersion != null) {
|
||||||
metrics.addCustomChart(new Metrics.SimplePie("online_mode", () -> Bukkit.getOnlineMode() ? "online" : "offline"));
|
final String buildOrHash = implVersion.substring(implVersion.lastIndexOf('-') + 1);
|
||||||
- final String paperVersion;
|
|
||||||
- final String implVersion = org.bukkit.craftbukkit.Main.class.getPackage().getImplementationVersion();
|
|
||||||
- if (implVersion != null) {
|
|
||||||
- final String buildOrHash = implVersion.substring(implVersion.lastIndexOf('-') + 1);
|
|
||||||
- paperVersion = "git-Paper-%s-%s".formatted(Bukkit.getServer().getMinecraftVersion(), buildOrHash);
|
- paperVersion = "git-Paper-%s-%s".formatted(Bukkit.getServer().getMinecraftVersion(), buildOrHash);
|
||||||
- } else {
|
+ paperVersion = "git-Pufferfish-%s-%s".formatted(Bukkit.getServer().getMinecraftVersion(), buildOrHash); // Pufferfish
|
||||||
- paperVersion = "unknown";
|
} else {
|
||||||
- }
|
paperVersion = "unknown";
|
||||||
|
}
|
||||||
- metrics.addCustomChart(new Metrics.SimplePie("paper_version", () -> paperVersion));
|
- metrics.addCustomChart(new Metrics.SimplePie("paper_version", () -> paperVersion));
|
||||||
+ metrics.addCustomChart(new Metrics.SimplePie("pufferfish_version", () -> (Metrics.class.getPackage().getImplementationVersion() != null) ? Metrics.class.getPackage().getImplementationVersion() : "unknown"));
|
+ metrics.addCustomChart(new Metrics.SimplePie("pufferfish_version", () -> paperVersion)); // Pufferfish
|
||||||
|
|
||||||
metrics.addCustomChart(new Metrics.DrilldownPie("java_version", () -> {
|
metrics.addCustomChart(new Metrics.DrilldownPie("java_version", () -> {
|
||||||
Map<String, Map<String, Integer>> map = new HashMap<>();
|
Map<String, Map<String, Integer>> map = new HashMap<>();
|
||||||
@@ -1789,7 +1786,7 @@ index e84c67f02bce4c2f9c4eeca1b888d53377fb20d7..619ee9d8b99970fb6fce19438f29e098
|
|||||||
this.getRandomBlockPosition(j, 0, k, 15, blockposition);
|
this.getRandomBlockPosition(j, 0, k, 15, blockposition);
|
||||||
int normalY = chunk.getHeight(Heightmap.Types.MOTION_BLOCKING, blockposition.getX() & 15, blockposition.getZ() & 15) + 1;
|
int normalY = chunk.getHeight(Heightmap.Types.MOTION_BLOCKING, blockposition.getX() & 15, blockposition.getZ() & 15) + 1;
|
||||||
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||||
index d9c29725e015cb4684ff2d547352505d2ad8a2fe..c6a1bde35274bdd0e008a6ca5af006a5d7bcd8bb 100644
|
index bac6b62419d85b3772ef243aa3d5f73311abdda7..2ca19bbe3a71091843fc7175d726c70321d1fee3 100644
|
||||||
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||||
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||||
@@ -1204,6 +1204,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
@@ -1204,6 +1204,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||||
@@ -3583,10 +3580,10 @@ index f7ea77dd82d978ad307f99c743efacfb34478b3d..009ab06182359862b8f543030ec4fe4e
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
|
diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
|
||||||
index 1244c1ca5e0907298b1ca6de538db82b2209ec4d..6aa2121e286dd6d43201a38722ea0cdd205baaa7 100644
|
index 81ffcca62c2ebb15889d286bfe9138b86ccfe71e..0ccde7fe2a852f7da72f0b3f5a53cb48d28d1840 100644
|
||||||
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
|
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
|
||||||
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
|
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
|
||||||
@@ -468,7 +468,7 @@ public final class CraftMagicNumbers implements UnsafeValues {
|
@@ -464,7 +464,7 @@ public final class CraftMagicNumbers implements UnsafeValues {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public com.destroystokyo.paper.util.VersionFetcher getVersionFetcher() {
|
public com.destroystokyo.paper.util.VersionFetcher getVersionFetcher() {
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||||
From: AlphaKR93 <dev@alpha93.kr>
|
From: AlphaKR93 <dev@alpha93.kr>
|
||||||
Date: Fri, 10 Mar 2023 11:36:23 +0000
|
Date: Sun, 12 Mar 2023 05:33:21 +0000
|
||||||
Subject: [PATCH] Purpur Server Changes
|
Subject: [PATCH] Purpur Server Changes
|
||||||
|
|
||||||
Original: PurpurMC
|
Original: PurpurMC
|
||||||
@@ -25,7 +25,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|||||||
SOFTWARE.
|
SOFTWARE.
|
||||||
|
|
||||||
diff --git a/build.gradle.kts b/build.gradle.kts
|
diff --git a/build.gradle.kts b/build.gradle.kts
|
||||||
index af8a561e4d59d98ebb6d7a8fbcb072e361b10058..b6fde7181a58037a2e2a6fd23daac9766127fc0e 100644
|
index 8d8c5a8bd2a53ac6d9b36e0330a7be6725aa407c..70d512c0c70d2470eaca295b6e35bb3be2f3f6a3 100644
|
||||||
--- a/build.gradle.kts
|
--- a/build.gradle.kts
|
||||||
+++ b/build.gradle.kts
|
+++ b/build.gradle.kts
|
||||||
@@ -7,9 +7,9 @@ plugins {
|
@@ -7,9 +7,9 @@ plugins {
|
||||||
@@ -69,7 +69,7 @@ index af8a561e4d59d98ebb6d7a8fbcb072e361b10058..b6fde7181a58037a2e2a6fd23daac976
|
|||||||
standardInput = System.`in`
|
standardInput = System.`in`
|
||||||
workingDir = rootProject.layout.projectDirectory
|
workingDir = rootProject.layout.projectDirectory
|
||||||
diff --git a/src/main/java/com/destroystokyo/paper/Metrics.java b/src/main/java/com/destroystokyo/paper/Metrics.java
|
diff --git a/src/main/java/com/destroystokyo/paper/Metrics.java b/src/main/java/com/destroystokyo/paper/Metrics.java
|
||||||
index 061716934ba0a1f01e4d85d664034f72b3c7a765..9713263c3bd34ab8a3bfc0a8797ba0b1b88ed733 100644
|
index 692c962193cf9fcc6801fc93f3220bdc673d527b..9713263c3bd34ab8a3bfc0a8797ba0b1b88ed733 100644
|
||||||
--- a/src/main/java/com/destroystokyo/paper/Metrics.java
|
--- a/src/main/java/com/destroystokyo/paper/Metrics.java
|
||||||
+++ b/src/main/java/com/destroystokyo/paper/Metrics.java
|
+++ b/src/main/java/com/destroystokyo/paper/Metrics.java
|
||||||
@@ -593,7 +593,7 @@ public class Metrics {
|
@@ -593,7 +593,7 @@ public class Metrics {
|
||||||
@@ -81,12 +81,20 @@ index 061716934ba0a1f01e4d85d664034f72b3c7a765..9713263c3bd34ab8a3bfc0a8797ba0b1
|
|||||||
|
|
||||||
metrics.addCustomChart(new Metrics.SimplePie("minecraft_version", () -> {
|
metrics.addCustomChart(new Metrics.SimplePie("minecraft_version", () -> {
|
||||||
String minecraftVersion = Bukkit.getVersion();
|
String minecraftVersion = Bukkit.getVersion();
|
||||||
@@ -602,8 +602,8 @@ public class Metrics {
|
@@ -602,16 +602,8 @@ public class Metrics {
|
||||||
}));
|
}));
|
||||||
|
|
||||||
metrics.addCustomChart(new Metrics.SingleLineChart("players", () -> Bukkit.getOnlinePlayers().size()));
|
metrics.addCustomChart(new Metrics.SingleLineChart("players", () -> Bukkit.getOnlinePlayers().size()));
|
||||||
- metrics.addCustomChart(new Metrics.SimplePie("online_mode", () -> Bukkit.getOnlineMode() ? "online" : "offline"));
|
- metrics.addCustomChart(new Metrics.SimplePie("online_mode", () -> Bukkit.getOnlineMode() ? "online" : "offline"));
|
||||||
- metrics.addCustomChart(new Metrics.SimplePie("pufferfish_version", () -> (Metrics.class.getPackage().getImplementationVersion() != null) ? Metrics.class.getPackage().getImplementationVersion() : "unknown"));
|
- final String paperVersion;
|
||||||
|
- final String implVersion = org.bukkit.craftbukkit.Main.class.getPackage().getImplementationVersion();
|
||||||
|
- if (implVersion != null) {
|
||||||
|
- final String buildOrHash = implVersion.substring(implVersion.lastIndexOf('-') + 1);
|
||||||
|
- paperVersion = "git-Pufferfish-%s-%s".formatted(Bukkit.getServer().getMinecraftVersion(), buildOrHash); // Pufferfish
|
||||||
|
- } else {
|
||||||
|
- paperVersion = "unknown";
|
||||||
|
- }
|
||||||
|
- metrics.addCustomChart(new Metrics.SimplePie("pufferfish_version", () -> paperVersion)); // Pufferfish
|
||||||
+ metrics.addCustomChart(new Metrics.SimplePie("online_mode", () -> Bukkit.getOnlineMode() ? "online" : (io.papermc.paper.configuration.GlobalConfiguration.get().proxies.isProxyOnlineMode() ? "bungee" : "offline"))); // Purpur
|
+ metrics.addCustomChart(new Metrics.SimplePie("online_mode", () -> Bukkit.getOnlineMode() ? "online" : (io.papermc.paper.configuration.GlobalConfiguration.get().proxies.isProxyOnlineMode() ? "bungee" : "offline"))); // Purpur
|
||||||
+ metrics.addCustomChart(new Metrics.SimplePie("purpur_version", () -> (org.bukkit.craftbukkit.Main.class.getPackage().getImplementationVersion() != null) ? org.bukkit.craftbukkit.Main.class.getPackage().getImplementationVersion() : "unknown")); // Purpur
|
+ metrics.addCustomChart(new Metrics.SimplePie("purpur_version", () -> (org.bukkit.craftbukkit.Main.class.getPackage().getImplementationVersion() != null) ? org.bukkit.craftbukkit.Main.class.getPackage().getImplementationVersion() : "unknown")); // Purpur
|
||||||
|
|
||||||
@@ -3014,7 +3022,7 @@ index 877498729c66de9aa6a27c9148f7494d7895615c..acd7468ee3c86d3456e96e4ec3d7e6a4
|
|||||||
Util.logAndPauseIfInIde("Detected setBlock in a far chunk [" + i + ", " + j + "], pos: " + pos + ", status: " + this.generatingStatus + (this.currentlyGenerating == null ? "" : ", currently generating: " + (String) this.currentlyGenerating.get()));
|
Util.logAndPauseIfInIde("Detected setBlock in a far chunk [" + i + ", " + j + "], pos: " + pos + ", status: " + this.generatingStatus + (this.currentlyGenerating == null ? "" : ", currently generating: " + (String) this.currentlyGenerating.get()));
|
||||||
hasSetFarWarned = true;
|
hasSetFarWarned = true;
|
||||||
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||||
index c6a1bde35274bdd0e008a6ca5af006a5d7bcd8bb..69463c7ca9995c02968bc2688adbe7131d91aa8b 100644
|
index 2ca19bbe3a71091843fc7175d726c70321d1fee3..6f5b98ecae60a34284d9679e95bb2ff85567b5bc 100644
|
||||||
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||||
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||||
@@ -259,6 +259,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
@@ -259,6 +259,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||||
@@ -17193,7 +17201,7 @@ index 3b959f42d958bf0f426853aee56753d6c455fcdb..d17abb283ea818244df0379d6b57fc63
|
|||||||
if (range < 0.0D || d < range * range) {
|
if (range < 0.0D || d < range * range) {
|
||||||
return true;
|
return true;
|
||||||
diff --git a/src/main/java/net/minecraft/world/level/Explosion.java b/src/main/java/net/minecraft/world/level/Explosion.java
|
diff --git a/src/main/java/net/minecraft/world/level/Explosion.java b/src/main/java/net/minecraft/world/level/Explosion.java
|
||||||
index a213f4098859858a73ddd601bbe8c7511972e0d5..cd63170e56b402fbf8bbd904270979fa51330e26 100644
|
index 5ef6b5ad4dd69a57595914c7af8422ee2f6ad054..0b572fab7b282676233e4f61aa357f1bfcfcfad1 100644
|
||||||
--- a/src/main/java/net/minecraft/world/level/Explosion.java
|
--- a/src/main/java/net/minecraft/world/level/Explosion.java
|
||||||
+++ b/src/main/java/net/minecraft/world/level/Explosion.java
|
+++ b/src/main/java/net/minecraft/world/level/Explosion.java
|
||||||
@@ -86,7 +86,7 @@ public class Explosion {
|
@@ -86,7 +86,7 @@ public class Explosion {
|
||||||
@@ -17234,7 +17242,7 @@ index a213f4098859858a73ddd601bbe8c7511972e0d5..cd63170e56b402fbf8bbd904270979fa
|
|||||||
this.level.gameEvent(this.source, GameEvent.EXPLODE, new Vec3(this.x, this.y, this.z));
|
this.level.gameEvent(this.source, GameEvent.EXPLODE, new Vec3(this.x, this.y, this.z));
|
||||||
Set<BlockPos> set = Sets.newHashSet();
|
Set<BlockPos> set = Sets.newHashSet();
|
||||||
boolean flag = true;
|
boolean flag = true;
|
||||||
@@ -360,7 +377,7 @@ public class Explosion {
|
@@ -363,7 +380,7 @@ public class Explosion {
|
||||||
if (!iblockdata.isAir() && iblockdata.isDestroyable()) { // Paper
|
if (!iblockdata.isAir() && iblockdata.isDestroyable()) { // Paper
|
||||||
BlockPos blockposition1 = blockposition.immutable();
|
BlockPos blockposition1 = blockposition.immutable();
|
||||||
|
|
||||||
@@ -17243,7 +17251,7 @@ index a213f4098859858a73ddd601bbe8c7511972e0d5..cd63170e56b402fbf8bbd904270979fa
|
|||||||
if (block.dropFromExplosion(this)) {
|
if (block.dropFromExplosion(this)) {
|
||||||
Level world = this.level;
|
Level world = this.level;
|
||||||
|
|
||||||
@@ -382,7 +399,7 @@ public class Explosion {
|
@@ -385,7 +402,7 @@ public class Explosion {
|
||||||
|
|
||||||
this.level.setBlock(blockposition, Blocks.AIR.defaultBlockState(), 3);
|
this.level.setBlock(blockposition, Blocks.AIR.defaultBlockState(), 3);
|
||||||
block.wasExploded(this.level, blockposition, this);
|
block.wasExploded(this.level, blockposition, this);
|
||||||
@@ -20366,7 +20374,7 @@ index c91bac6f3f1d60c950b93d157531cd8f7500e8d8..6a327616cd590b70170f8441c003a210
|
|||||||
public PersistentDataContainer getPersistentDataContainer() {
|
public PersistentDataContainer getPersistentDataContainer() {
|
||||||
return this.persistentDataContainer;
|
return this.persistentDataContainer;
|
||||||
diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java
|
diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java
|
||||||
index 190e17eb28d166aedee06e9578561ba402d1b6d2..576cd8e20982bb20d10213b6c7a229428eec1c2f 100644
|
index f30621be24c6c3a4f173436fce1ad1c13507c84f..8a4c8701122edf2f29edbe97e4fa199da2744e9e 100644
|
||||||
--- a/src/main/java/org/bukkit/craftbukkit/Main.java
|
--- a/src/main/java/org/bukkit/craftbukkit/Main.java
|
||||||
+++ b/src/main/java/org/bukkit/craftbukkit/Main.java
|
+++ b/src/main/java/org/bukkit/craftbukkit/Main.java
|
||||||
@@ -166,6 +166,20 @@ public class Main {
|
@@ -166,6 +166,20 @@ public class Main {
|
||||||
@@ -20728,7 +20736,7 @@ index 4d7a2c4c1001aefe9fcd4be8dbcb414f721bfff9..2c7716a9d65ebda209a144b82c2126b6
|
|||||||
+ // Purpur end
|
+ // Purpur end
|
||||||
}
|
}
|
||||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||||
index c5078b9e4f1853126546c802ae29766e7dd4d151..33483f88a8c53f5ad29dcff0faa1a27995601474 100644
|
index c546a465a2f85e1b0e785074af15546637619e8f..08649f51adb40fa69d45b95c2d13aa918fff41bf 100644
|
||||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||||
@@ -524,10 +524,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
@@ -524,10 +524,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||||
@@ -20748,7 +20756,7 @@ index c5078b9e4f1853126546c802ae29766e7dd4d151..33483f88a8c53f5ad29dcff0faa1a279
|
|||||||
for (ServerPlayer player : (List<ServerPlayer>) server.getHandle().players) {
|
for (ServerPlayer player : (List<ServerPlayer>) server.getHandle().players) {
|
||||||
if (player.getBukkitEntity().canSee(this)) {
|
if (player.getBukkitEntity().canSee(this)) {
|
||||||
player.connection.send(new ClientboundPlayerInfoUpdatePacket(ClientboundPlayerInfoUpdatePacket.Action.UPDATE_DISPLAY_NAME, this.getHandle()));
|
player.connection.send(new ClientboundPlayerInfoUpdatePacket(ClientboundPlayerInfoUpdatePacket.Action.UPDATE_DISPLAY_NAME, this.getHandle()));
|
||||||
@@ -1307,6 +1312,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
@@ -1313,6 +1318,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (entity.isVehicle() && !ignorePassengers) { // Paper - Teleport API
|
if (entity.isVehicle() && !ignorePassengers) { // Paper - Teleport API
|
||||||
@@ -20759,7 +20767,7 @@ index c5078b9e4f1853126546c802ae29766e7dd4d151..33483f88a8c53f5ad29dcff0faa1a279
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2284,6 +2293,28 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
@@ -2288,6 +2297,28 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||||
return this.getHandle().getAbilities().walkingSpeed * 2f;
|
return this.getHandle().getAbilities().walkingSpeed * 2f;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -20788,7 +20796,7 @@ index c5078b9e4f1853126546c802ae29766e7dd4d151..33483f88a8c53f5ad29dcff0faa1a279
|
|||||||
private void validateSpeed(float value) {
|
private void validateSpeed(float value) {
|
||||||
if (value < 0) {
|
if (value < 0) {
|
||||||
if (value < -1f) {
|
if (value < -1f) {
|
||||||
@@ -3077,4 +3108,97 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
@@ -3081,4 +3112,97 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||||
return this.spigot;
|
return this.spigot;
|
||||||
}
|
}
|
||||||
// Spigot end
|
// Spigot end
|
||||||
@@ -21112,7 +21120,7 @@ index 88d3ca586ff6905f18a8ab9f0e229f440ed44088..27dd4eb4781a3c75772860c11db886e1
|
|||||||
+ // Purpur end
|
+ // Purpur end
|
||||||
}
|
}
|
||||||
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaPotion.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaPotion.java
|
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaPotion.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaPotion.java
|
||||||
index 298326115f048bb79e3c949861c187134eb5efb8..9b060070ddbbade4c1b6830b9b861f462d60b138 100644
|
index 0d4348ce1c4ec9bb779eaebf8606ea578f17d2cb..486768894f130cd23905cc7a8be16ce705667bbb 100644
|
||||||
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaPotion.java
|
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaPotion.java
|
||||||
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaPotion.java
|
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaPotion.java
|
||||||
@@ -13,6 +13,7 @@ import net.minecraft.nbt.ListTag;
|
@@ -13,6 +13,7 @@ import net.minecraft.nbt.ListTag;
|
||||||
@@ -21133,8 +21141,8 @@ index 298326115f048bb79e3c949861c187134eb5efb8..9b060070ddbbade4c1b6830b9b861f46
|
|||||||
// is treated as the empty form of the meta because it represents an empty potion with no effect
|
// is treated as the empty form of the meta because it represents an empty potion with no effect
|
||||||
@@ -92,7 +94,13 @@ class CraftMetaPotion extends CraftMetaItem implements PotionMeta {
|
@@ -92,7 +94,13 @@ class CraftMetaPotion extends CraftMetaItem implements PotionMeta {
|
||||||
boolean ambient = effect.getBoolean(AMBIENT.NBT);
|
boolean ambient = effect.getBoolean(AMBIENT.NBT);
|
||||||
boolean particles = tag.contains(SHOW_PARTICLES.NBT, CraftMagicNumbers.NBT.TAG_BYTE) ? effect.getBoolean(SHOW_PARTICLES.NBT) : true;
|
boolean particles = effect.contains(SHOW_PARTICLES.NBT, CraftMagicNumbers.NBT.TAG_BYTE) ? effect.getBoolean(SHOW_PARTICLES.NBT) : true;
|
||||||
boolean icon = tag.contains(SHOW_ICON.NBT, CraftMagicNumbers.NBT.TAG_BYTE) ? effect.getBoolean(SHOW_ICON.NBT) : particles;
|
boolean icon = effect.contains(SHOW_ICON.NBT, CraftMagicNumbers.NBT.TAG_BYTE) ? effect.getBoolean(SHOW_ICON.NBT) : particles;
|
||||||
- this.customEffects.add(new PotionEffect(type, duration, amp, ambient, particles, icon));
|
- this.customEffects.add(new PotionEffect(type, duration, amp, ambient, particles, icon));
|
||||||
+ // Purpur start
|
+ // Purpur start
|
||||||
+ NamespacedKey key = null;
|
+ NamespacedKey key = null;
|
||||||
@@ -21300,10 +21308,10 @@ index 138407c2d4b0bc55ddb9aac5d2aa3edadda090fb..a6e9e503a496c18e2501b03ec84f4600
|
|||||||
// Paper end - add timings for scoreboard search
|
// Paper end - add timings for scoreboard search
|
||||||
}
|
}
|
||||||
diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
|
diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
|
||||||
index 6aa2121e286dd6d43201a38722ea0cdd205baaa7..aa65fb409f52cf79b2f532e5cd1fb11bef753180 100644
|
index 0ccde7fe2a852f7da72f0b3f5a53cb48d28d1840..2d53d30d603a4627ad96dfff659ad04012aaf7f9 100644
|
||||||
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
|
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
|
||||||
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
|
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
|
||||||
@@ -468,7 +468,7 @@ public final class CraftMagicNumbers implements UnsafeValues {
|
@@ -464,7 +464,7 @@ public final class CraftMagicNumbers implements UnsafeValues {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public com.destroystokyo.paper.util.VersionFetcher getVersionFetcher() {
|
public com.destroystokyo.paper.util.VersionFetcher getVersionFetcher() {
|
||||||
|
|||||||
Reference in New Issue
Block a user