42 Zeilen
2.2 KiB
Diff
42 Zeilen
2.2 KiB
Diff
|
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||
|
From: Malfrador <malfrador@gmail.com>
|
||
|
Date: Wed, 31 May 2023 23:30:00 +0200
|
||
|
Subject: [PATCH] Add transient 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 12135ffeacd648f6bc4d7d327059ea1a7e8c79c4..52439f4b959c74027eb191a3af960c70beb978e8 100644
|
||
|
--- a/src/main/java/io/papermc/paper/attribute/UnmodifiableAttributeInstance.java
|
||
|
+++ b/src/main/java/io/papermc/paper/attribute/UnmodifiableAttributeInstance.java
|
||
|
@@ -23,6 +23,11 @@ public class UnmodifiableAttributeInstance extends CraftAttributeInstance {
|
||
|
throw new UnsupportedOperationException("Cannot modify default attributes");
|
||
|
}
|
||
|
|
||
|
+ @Override
|
||
|
+ public void addTransientModifier(AttributeModifier modifier) {
|
||
|
+ throw new UnsupportedOperationException("Cannot modify default attributes");
|
||
|
+ }
|
||
|
+
|
||
|
@Override
|
||
|
public void removeModifier(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 e828ef7df04de98628e59e93c0431ea0e10199f8..0029412b1242879deb898524001bb4cc7550fa78 100644
|
||
|
--- a/src/main/java/org/bukkit/craftbukkit/attribute/CraftAttributeInstance.java
|
||
|
+++ b/src/main/java/org/bukkit/craftbukkit/attribute/CraftAttributeInstance.java
|
||
|
@@ -50,6 +50,14 @@ public class CraftAttributeInstance implements AttributeInstance {
|
||
|
this.handle.addPermanentModifier(CraftAttributeInstance.convert(modifier));
|
||
|
}
|
||
|
|
||
|
+ // Paper start - Transient modifier API
|
||
|
+ @Override
|
||
|
+ public void addTransientModifier(AttributeModifier modifier) {
|
||
|
+ Preconditions.checkArgument(modifier != null, "modifier");
|
||
|
+ this.handle.addTransientModifier(CraftAttributeInstance.convert(modifier));
|
||
|
+ }
|
||
|
+ // Paper end
|
||
|
+
|
||
|
@Override
|
||
|
public void removeModifier(AttributeModifier modifier) {
|
||
|
Preconditions.checkArgument(modifier != null, "modifier");
|