mirror of
https://github.com/Samsuik/Sakura.git
synced 2026-01-04 15:31:43 +00:00
Backport more upstream fixes
This commit is contained in:
@@ -0,0 +1,57 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Nassim Jahnke <nassim@njahnke.dev>
|
||||
Date: Mon, 12 Aug 2024 18:42:08 +0200
|
||||
Subject: [PATCH] PAPER Improve standard messenger logging
|
||||
|
||||
Backported https://github.com/PaperMC/Paper/commit/7c9240f4a63b13be1fdcedbfb0270f9b49b75518
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/plugin/messaging/ChannelNameTooLongException.java b/src/main/java/org/bukkit/plugin/messaging/ChannelNameTooLongException.java
|
||||
index 80ef8a2a342ff9dc16c98b5254cadd539f6ea0d9..ea73d9cd9d9d84731c083089d0b9913b4b1f92b6 100644
|
||||
--- a/src/main/java/org/bukkit/plugin/messaging/ChannelNameTooLongException.java
|
||||
+++ b/src/main/java/org/bukkit/plugin/messaging/ChannelNameTooLongException.java
|
||||
@@ -9,7 +9,9 @@ public class ChannelNameTooLongException extends RuntimeException {
|
||||
super("Attempted to send a Plugin Message to a channel that was too large. The maximum length a channel may be is " + Messenger.MAX_CHANNEL_SIZE + " chars.");
|
||||
}
|
||||
|
||||
- public ChannelNameTooLongException(String channel) {
|
||||
- super("Attempted to send a Plugin Message to a channel that was too large. The maximum length a channel may be is " + Messenger.MAX_CHANNEL_SIZE + " chars (attempted " + channel.length() + " - '" + channel + ".");
|
||||
+ // Paper start
|
||||
+ public ChannelNameTooLongException(int length, String shortenedChannel) {
|
||||
+ super("Attempted to send a Plugin Message to a channel that was too large. The maximum length a channel may be is " + Messenger.MAX_CHANNEL_SIZE + " chars (attempted " + length + " - '" + shortenedChannel + ".");
|
||||
+ // Paper end
|
||||
}
|
||||
}
|
||||
diff --git a/src/main/java/org/bukkit/plugin/messaging/StandardMessenger.java b/src/main/java/org/bukkit/plugin/messaging/StandardMessenger.java
|
||||
index 6fda7f3aa68e76af64362e9afed70fc6a5e92986..230ecf9f9752b0369da3ba7aa6ce68b34a0814c5 100644
|
||||
--- a/src/main/java/org/bukkit/plugin/messaging/StandardMessenger.java
|
||||
+++ b/src/main/java/org/bukkit/plugin/messaging/StandardMessenger.java
|
||||
@@ -496,19 +496,26 @@ public class StandardMessenger implements Messenger {
|
||||
if (channel.equals("bungeecord:main")) {
|
||||
return "BungeeCord";
|
||||
}
|
||||
+ // Paper start - improve error message
|
||||
if (channel.length() > Messenger.MAX_CHANNEL_SIZE) {
|
||||
- throw new ChannelNameTooLongException(channel);
|
||||
+ throw new ChannelNameTooLongException(channel.length(), shortened(channel));
|
||||
}
|
||||
if (channel.indexOf(':') == -1) {
|
||||
- throw new IllegalArgumentException("Channel must contain : separator (attempted to use " + channel + ")");
|
||||
+ throw new IllegalArgumentException("Channel must contain : separator (attempted to use " + shortened(channel) + ")");
|
||||
}
|
||||
if (!channel.toLowerCase(Locale.ROOT).equals(channel)) {
|
||||
// TODO: use NamespacedKey validation here
|
||||
- throw new IllegalArgumentException("Channel must be entirely lowercase (attempted to use " + channel + ")");
|
||||
+ throw new IllegalArgumentException("Channel must be entirely lowercase (attempted to use " + shortened(channel) + ")");
|
||||
}
|
||||
return channel;
|
||||
}
|
||||
|
||||
+ private static String shortened(String channel) {
|
||||
+ channel = org.apache.commons.lang3.StringUtils.normalizeSpace(channel);
|
||||
+ return channel.length() > 32 ? channel.substring(0, 32) + "..." : channel;
|
||||
+ }
|
||||
+ // Paper end - improve error message
|
||||
+
|
||||
/**
|
||||
* Validates the input of a Plugin Message, ensuring the arguments are all
|
||||
* valid.
|
||||
@@ -0,0 +1,20 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Nassim Jahnke <nassim@njahnke.dev>
|
||||
Date: Mon, 12 Aug 2024 18:42:08 +0200
|
||||
Subject: [PATCH] PAPER Improve standard messenger logging
|
||||
|
||||
Backported https://github.com/PaperMC/Paper/commit/7c9240f4a63b13be1fdcedbfb0270f9b49b75518
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
index 3ddd3fee5d8e2208c6e0afbdf68ca7344772fd8b..ed26fe6653fc01a73d78332243207fcbad033860 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
@@ -2579,7 +2579,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
}
|
||||
|
||||
public void addChannel(String channel) {
|
||||
- Preconditions.checkState(DISABLE_CHANNEL_LIMIT || this.channels.size() < 128, "Cannot register channel '%s'. Too many channels registered!", channel); // Paper - flag to disable channel limit
|
||||
+ Preconditions.checkState(DISABLE_CHANNEL_LIMIT || this.channels.size() < 128, "Cannot register channel. Too many channels registered!"); // Paper - flag to disable channel limit
|
||||
channel = StandardMessenger.validateAndCorrectChannel(channel);
|
||||
if (this.channels.add(channel)) {
|
||||
this.server.getPluginManager().callEvent(new PlayerRegisterChannelEvent(this, channel));
|
||||
@@ -0,0 +1,26 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Spottedleaf <Spottedleaf@users.noreply.github.com>
|
||||
Date: Sun, 18 Aug 2024 15:32:25 -0700
|
||||
Subject: [PATCH] PAPER Use player file, not directory, when checking for
|
||||
offline player data
|
||||
|
||||
When trying to fall back to offline player data in onlide mode,
|
||||
we need to use the player file. This fixes a mistake during
|
||||
update where 'file' was used, but the new code uses 'file1'
|
||||
for the player file.
|
||||
|
||||
Backported https://github.com/PaperMC/Paper/commit/be1078f5f2e28c1a1de99e9c96e4003c3f96f6e8
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/level/storage/PlayerDataStorage.java b/src/main/java/net/minecraft/world/level/storage/PlayerDataStorage.java
|
||||
index 8ab7ca373a885fbe658013c9c6a2e38d32d77bb2..b148cf247acdd36f856d0495cde4cc5ad32b5a2f 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/storage/PlayerDataStorage.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/storage/PlayerDataStorage.java
|
||||
@@ -78,7 +78,7 @@ public class PlayerDataStorage {
|
||||
File file1 = new File(file, s1 + s);
|
||||
// Spigot Start
|
||||
boolean usingWrongFile = false;
|
||||
- if ( org.bukkit.Bukkit.getOnlineMode() && !file.exists() ) // Paper - Check online mode first
|
||||
+ if ( org.bukkit.Bukkit.getOnlineMode() && !file1.exists() ) // Paper - Check online mode first
|
||||
{
|
||||
file1 = new File( file, java.util.UUID.nameUUIDFromBytes( ( "OfflinePlayer:" + name ).getBytes( java.nio.charset.StandardCharsets.UTF_8 ) ).toString() + s );
|
||||
if ( file1.exists() )
|
||||
Reference in New Issue
Block a user