Skip to content

Commit

Permalink
Expose anvil cost in the API
Browse files Browse the repository at this point in the history
  • Loading branch information
pontaoski committed May 23, 2024
1 parent 5e7b65a commit b0bacb1
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 4 deletions.
15 changes: 13 additions & 2 deletions patches/api/0278-More-Enchantment-API.patch
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ Date: Thu, 6 May 2021 19:58:03 -0700
Subject: [PATCH] More Enchantment API

Co-authored-by: Luis <luisc99@icloud.com>
Co-authored-by: Janet Blackquill <uhhadd@gmail.com>

diff --git a/src/main/java/io/papermc/paper/enchantments/EnchantmentRarity.java b/src/main/java/io/papermc/paper/enchantments/EnchantmentRarity.java
new file mode 100644
Expand Down Expand Up @@ -37,7 +38,7 @@ index 0000000000000000000000000000000000000000..50c49739cc25679c9d241466e3069c9c
+ }
+}
diff --git a/src/main/java/org/bukkit/enchantments/Enchantment.java b/src/main/java/org/bukkit/enchantments/Enchantment.java
index 4e41980dfbb256356231bc9565f6a90ea66aab76..de616cecaeb45018d96685c916532188e369bdd4 100644
index 4e41980dfbb256356231bc9565f6a90ea66aab76..73e367fdf405b926599f4a7d34d61c25bb6c6e81 100644
--- a/src/main/java/org/bukkit/enchantments/Enchantment.java
+++ b/src/main/java/org/bukkit/enchantments/Enchantment.java
@@ -292,11 +292,7 @@ public abstract class Enchantment implements Keyed, Translatable, net.kyori.adve
Expand All @@ -52,7 +53,7 @@ index 4e41980dfbb256356231bc9565f6a90ea66aab76..de616cecaeb45018d96685c916532188
public abstract boolean isCursed();

/**
@@ -330,6 +326,87 @@ public abstract class Enchantment implements Keyed, Translatable, net.kyori.adve
@@ -330,6 +326,97 @@ public abstract class Enchantment implements Keyed, Translatable, net.kyori.adve
* @return the name of the enchantment with {@code level} applied
*/
public abstract net.kyori.adventure.text.@NotNull Component displayName(int level);
Expand Down Expand Up @@ -97,6 +98,16 @@ index 4e41980dfbb256356231bc9565f6a90ea66aab76..de616cecaeb45018d96685c916532188
+ public abstract int getMaxModifiedCost(int level);
+
+ /**
+ * Gets cost of applying this enchantment using an anvil.
+ * <p>
+ * Note that this is halved when using an enchantment book, and is multiplied by the level of the enchantment.
+ * See <a href="https://minecraft.wiki/w/Anvil_mechanics">https://minecraft.wiki/w/Anvil_mechanics</a> for more information.
+ * </p>
+ * @return The anvil cost of this enchantment
+ */
+ public abstract int getAnvilCost();
+
+ /**
+ * Gets the rarity of this enchantment.
+ *
+ * @return the rarity
Expand Down
10 changes: 8 additions & 2 deletions patches/server/0545-More-Enchantment-API.patch
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,10 @@ Subject: [PATCH] More Enchantment API
public net.minecraft.world.item.enchantment.Enchantment definition

Co-authored-by: Luis <luisc99@icloud.com>
Co-authored-by: Janet Blackquill <uhhadd@gmail.com>

diff --git a/src/main/java/org/bukkit/craftbukkit/enchantments/CraftEnchantment.java b/src/main/java/org/bukkit/craftbukkit/enchantments/CraftEnchantment.java
index faf0f726453aa957d17b75dfd8de5b40d984e69c..3157cac1905728ba0f51af412a5bba57578352b3 100644
index faf0f726453aa957d17b75dfd8de5b40d984e69c..067aa761abd023991c884278a5cf0a63684026aa 100644
--- a/src/main/java/org/bukkit/craftbukkit/enchantments/CraftEnchantment.java
+++ b/src/main/java/org/bukkit/craftbukkit/enchantments/CraftEnchantment.java
@@ -94,7 +94,7 @@ public class CraftEnchantment extends Enchantment implements Handleable<net.mine
Expand All @@ -21,7 +22,7 @@ index faf0f726453aa957d17b75dfd8de5b40d984e69c..3157cac1905728ba0f51af412a5bba57
}

@Override
@@ -166,13 +166,70 @@ public class CraftEnchantment extends Enchantment implements Handleable<net.mine
@@ -166,13 +166,75 @@ public class CraftEnchantment extends Enchantment implements Handleable<net.mine
// Paper start
@Override
public net.kyori.adventure.text.Component displayName(int level) {
Expand Down Expand Up @@ -55,6 +56,11 @@ index faf0f726453aa957d17b75dfd8de5b40d984e69c..3157cac1905728ba0f51af412a5bba57
+ }
+
+ @Override
+ public int getAnvilCost() {
+ return this.handle.getAnvilCost();
+ }
+
+ @Override
+ public io.papermc.paper.enchantments.EnchantmentRarity getRarity() {
+ throw new UnsupportedOperationException("Enchantments don't have a rarity anymore in 1.20.5+.");
+ }
Expand Down

0 comments on commit b0bacb1

Please sign in to comment.