Mirror von
https://github.com/PaperMC/Paper.git
synchronisiert 2024-12-16 19:40:07 +01:00
Be more tolerant of invalid attributes
Dieser Commit ist enthalten in:
Ursprung
3dafa6a08a
Commit
fa7400e567
@ -0,0 +1,32 @@
|
||||
From e433847829248399e6cab3296dd39dcf8471cfbf Mon Sep 17 00:00:00 2001
|
||||
From: Zach Brown <zach@zachbr.io>
|
||||
Date: Thu, 6 Feb 2020 19:20:27 -0600
|
||||
Subject: [PATCH] Be more tolerant of invalid attributes
|
||||
|
||||
Prior to this commit, the player would be disconnected if they ever encountered an attribute with a name that did
|
||||
not match Bukkit's expected vanilla scheme. It appears that datapacks can set whatever attribute name they want,
|
||||
ignoring vanilla's typical scheme.
|
||||
|
||||
In a more perfect world the API would expose some way to interact with these attributes, however Bukkit is not
|
||||
particularly flexible in this area. Perhaps this is an area for future expansion at a later time.
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/attribute/CraftAttributeMap.java b/src/main/java/org/bukkit/craftbukkit/attribute/CraftAttributeMap.java
|
||||
index 77e584b12..007d28b16 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/attribute/CraftAttributeMap.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/attribute/CraftAttributeMap.java
|
||||
@@ -47,6 +47,12 @@ public class CraftAttributeMap implements Attributable {
|
||||
public static Attribute fromMinecraft(String nms) {
|
||||
String[] split = nms.split("\\.", 2);
|
||||
|
||||
+ // Paper start - Datapacks can set their own attributes that may not match our expectations, ignore them
|
||||
+ if (split.length != 2) {
|
||||
+ return null;
|
||||
+ }
|
||||
+ // Paper end
|
||||
+
|
||||
String generic = split[0];
|
||||
String descriptor = CaseFormat.LOWER_CAMEL.to(CaseFormat.UPPER_UNDERSCORE, split[1]); // movementSpeed -> MOVEMENT_SPEED
|
||||
String fin = generic + "_" + descriptor;
|
||||
--
|
||||
2.25.0
|
||||
|
Laden…
In neuem Issue referenzieren
Einen Benutzer sperren