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 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
--- a/src/main/java/io/papermc/paper/attribute/UnmodifiableAttributeInstance.java
+++ b/src/main/java/io/papermc/paper/attribute/UnmodifiableAttributeInstance.java
@@ -0,0 +0,0 @@ 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 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
--- a/src/main/java/org/bukkit/craftbukkit/attribute/CraftAttributeInstance.java
+++ b/src/main/java/org/bukkit/craftbukkit/attribute/CraftAttributeInstance.java
@@ -0,0 +0,0 @@ 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");