mirror of
https://github.com/PaperMC/Paper.git
synced 2024-12-12 04:06:52 +01:00
6e71f41536
Upstream has released updates that appear to apply and compile correctly. This update has not been tested by PaperMC and as with ANY update, please do your own testing CraftBukkit Changes: 65247583f SPIGOT-7857: Improve ItemMeta block data deserialization 05d80500d SPIGOT-7857: Fix spurious internal NBT tag when deserializing BlockStateMeta cebb58e9a SPIGOT-7804: Fix written book serialization efcdd5d38 SPIGOT-7794: Cancelling InventoryItemMoveEvent destroys items b568ba572 SPIGOT-7789: Fix NPE in CraftMetaFirework applyToItem f057cf449 Remove outdated build delay Spigot Changes: f6a48054 SPIGOT-7835: Fix issue with custom hopper settings bb63b137 Rebuild patches e1142b4d Rebuild patches
57 lines
2.7 KiB
Diff
57 lines
2.7 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: TonytheMacaroni <tonythemacaroni123@gmail.com>
|
|
Date: Thu, 9 Nov 2023 20:34:44 -0500
|
|
Subject: [PATCH] Add UUID attribute modifier API
|
|
|
|
|
|
diff --git a/src/main/java/io/papermc/paper/attribute/UnmodifiableAttributeInstance.java b/src/main/java/io/papermc/paper/attribute/UnmodifiableAttributeInstance.java
|
|
index 52439f4b959c74027eb191a3af960c70beb978e8..a2c057d92ea34368c7efc538b6e5b15ef342c54e 100644
|
|
--- a/src/main/java/io/papermc/paper/attribute/UnmodifiableAttributeInstance.java
|
|
+++ b/src/main/java/io/papermc/paper/attribute/UnmodifiableAttributeInstance.java
|
|
@@ -5,6 +5,7 @@ import org.bukkit.attribute.Attribute;
|
|
import org.bukkit.attribute.AttributeModifier;
|
|
import org.bukkit.craftbukkit.attribute.CraftAttributeInstance;
|
|
|
|
+import java.util.UUID;
|
|
import java.util.Collection;
|
|
|
|
public class UnmodifiableAttributeInstance extends CraftAttributeInstance {
|
|
@@ -18,6 +19,11 @@ public class UnmodifiableAttributeInstance extends CraftAttributeInstance {
|
|
throw new UnsupportedOperationException("Cannot modify default attributes");
|
|
}
|
|
|
|
+ @Override
|
|
+ public void removeModifier(UUID uuid) {
|
|
+ throw new UnsupportedOperationException("Cannot modify default attributes");
|
|
+ }
|
|
+
|
|
@Override
|
|
public void addModifier(AttributeModifier modifier) {
|
|
throw new UnsupportedOperationException("Cannot modify default attributes");
|
|
diff --git a/src/main/java/org/bukkit/craftbukkit/attribute/CraftAttributeInstance.java b/src/main/java/org/bukkit/craftbukkit/attribute/CraftAttributeInstance.java
|
|
index 7d16545665f74ce619f7b18e568226642c84ceee..c8dffec6e4524a6b02dd068429e4b12f256d1741 100644
|
|
--- a/src/main/java/org/bukkit/craftbukkit/attribute/CraftAttributeInstance.java
|
|
+++ b/src/main/java/org/bukkit/craftbukkit/attribute/CraftAttributeInstance.java
|
|
@@ -44,6 +44,21 @@ public class CraftAttributeInstance implements AttributeInstance {
|
|
return result;
|
|
}
|
|
|
|
+ // Paper start
|
|
+ @Override
|
|
+ public AttributeModifier getModifier(java.util.UUID uuid) {
|
|
+ Preconditions.checkArgument(uuid != null, "UUID cannot be null");
|
|
+ net.minecraft.world.entity.ai.attributes.AttributeModifier modifier = this.handle.getModifier(uuid);
|
|
+ return modifier == null ? null : CraftAttributeInstance.convert(modifier);
|
|
+ }
|
|
+
|
|
+ @Override
|
|
+ public void removeModifier(java.util.UUID uuid) {
|
|
+ Preconditions.checkArgument(uuid != null, "UUID cannot be null");
|
|
+ this.handle.removeModifier(uuid);
|
|
+ }
|
|
+ // Paper end
|
|
+
|
|
@Override
|
|
public void addModifier(AttributeModifier modifier) {
|
|
Preconditions.checkArgument(modifier != null, "modifier");
|