2023-06-05 19:15:18 +02:00
|
|
|
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
|
2024-04-25 00:36:49 +02:00
|
|
|
index 8afbb8e0cb368e95f23bb78c1261f9aa9b8abd86..c0fb6da6bc3c5b4f37601d898fa421d430417d97 100644
|
2023-06-05 19:15:18 +02:00
|
|
|
--- 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");
|