mirror of
https://github.com/PaperMC/Paper.git
synced 2025-01-01 17:01:56 +01:00
Be more tolerant of invalid attributes
This commit is contained in:
parent
03d18a3fcd
commit
10ce71b992
1 changed files with 30 additions and 0 deletions
|
@ -0,0 +1,30 @@
|
|||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Zach Brown <1254957+zachbr@users.noreply.github.com>
|
||||
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
|
||||
@@ -0,0 +0,0 @@ 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;
|
||||
--
|
Loading…
Reference in a new issue