Allow use of TYPE_USE annotations
This commit is contained in:
parent
33a04d97ab
commit
15e4b30e9e
317 changed files with 56 additions and 27 deletions
124
patches/api/0305-More-Enchantment-API.patch
Normal file
124
patches/api/0305-More-Enchantment-API.patch
Normal file
|
@ -0,0 +1,124 @@
|
|||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Jake Potrebic <jake.m.potrebic@gmail.com>
|
||||
Date: Thu, 6 May 2021 19:58:03 -0700
|
||||
Subject: [PATCH] More Enchantment API
|
||||
|
||||
|
||||
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
|
||||
index 0000000000000000000000000000000000000000..e6a40c1fcea761bd66743b50e3da3d14797d05b0
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/io/papermc/paper/enchantments/EnchantmentRarity.java
|
||||
@@ -0,0 +1,24 @@
|
||||
+package io.papermc.paper.enchantments;
|
||||
+
|
||||
+public enum EnchantmentRarity {
|
||||
+
|
||||
+ COMMON(10),
|
||||
+ UNCOMMON(5),
|
||||
+ RARE(2),
|
||||
+ VERY_RARE(1);
|
||||
+
|
||||
+ private final int weight;
|
||||
+
|
||||
+ EnchantmentRarity(int weight) {
|
||||
+ this.weight = weight;
|
||||
+ }
|
||||
+
|
||||
+ /**
|
||||
+ * Gets the weight for the rarity.
|
||||
+ *
|
||||
+ * @return the weight
|
||||
+ */
|
||||
+ public int getWeight() {
|
||||
+ return weight;
|
||||
+ }
|
||||
+}
|
||||
diff --git a/src/main/java/org/bukkit/enchantments/Enchantment.java b/src/main/java/org/bukkit/enchantments/Enchantment.java
|
||||
index 8eb0497c81744874809ebc4bc2e28b128e66a926..799813410f40589ba1d7d530a47d87f609764705 100644
|
||||
--- a/src/main/java/org/bukkit/enchantments/Enchantment.java
|
||||
+++ b/src/main/java/org/bukkit/enchantments/Enchantment.java
|
||||
@@ -306,6 +306,46 @@ public abstract class Enchantment implements Keyed {
|
||||
* @return the name of the enchantment with {@code level} applied
|
||||
*/
|
||||
public abstract @NotNull net.kyori.adventure.text.Component displayName(int level);
|
||||
+
|
||||
+ /**
|
||||
+ * Checks if this enchantment can be found in villager trades.
|
||||
+ *
|
||||
+ * @return true if the enchantment can be found in trades
|
||||
+ */
|
||||
+ public abstract boolean isTradeable();
|
||||
+
|
||||
+ /**
|
||||
+ * Checks if this enchantment can be found in an enchanting table
|
||||
+ * or use to enchant items generated by loot tables.
|
||||
+ *
|
||||
+ * @return true if the enchantment can be found in a table or by loot tables
|
||||
+ */
|
||||
+ public abstract boolean isDiscoverable();
|
||||
+
|
||||
+ /**
|
||||
+ * Gets the rarity of this enchantment.
|
||||
+ *
|
||||
+ * @return the rarity
|
||||
+ */
|
||||
+ @NotNull
|
||||
+ public abstract io.papermc.paper.enchantments.EnchantmentRarity getRarity();
|
||||
+
|
||||
+ /**
|
||||
+ * Gets the damage increase as a result of the level and entity category specified
|
||||
+ *
|
||||
+ * @param level the level of enchantment
|
||||
+ * @param entityCategory the category of entity
|
||||
+ * @return the damage increase
|
||||
+ */
|
||||
+ public abstract float getDamageIncrease(int level, @NotNull org.bukkit.entity.EntityCategory entityCategory);
|
||||
+
|
||||
+ /**
|
||||
+ * Gets the equipment slots where this enchantment is considered "active".
|
||||
+ *
|
||||
+ * @return the equipment slots
|
||||
+ */
|
||||
+ @NotNull
|
||||
+ public abstract java.util.Set<org.bukkit.inventory.EquipmentSlot> getActiveSlots();
|
||||
// Paper end
|
||||
|
||||
@Override
|
||||
diff --git a/src/main/java/org/bukkit/enchantments/EnchantmentWrapper.java b/src/main/java/org/bukkit/enchantments/EnchantmentWrapper.java
|
||||
index 4d5f0837bd0e02a30c943d8969fb6b13452322e0..ca097db904db96e81c0ea4b06b445a13e9333cfe 100644
|
||||
--- a/src/main/java/org/bukkit/enchantments/EnchantmentWrapper.java
|
||||
+++ b/src/main/java/org/bukkit/enchantments/EnchantmentWrapper.java
|
||||
@@ -69,5 +69,32 @@ public class EnchantmentWrapper extends Enchantment {
|
||||
public net.kyori.adventure.text.Component displayName(int level) {
|
||||
return getEnchantment().displayName(level);
|
||||
}
|
||||
+
|
||||
+ @Override
|
||||
+ public boolean isTradeable() {
|
||||
+ return getEnchantment().isTradeable();
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public boolean isDiscoverable() {
|
||||
+ return getEnchantment().isDiscoverable();
|
||||
+ }
|
||||
+
|
||||
+ @NotNull
|
||||
+ @Override
|
||||
+ public io.papermc.paper.enchantments.EnchantmentRarity getRarity() {
|
||||
+ return getEnchantment().getRarity();
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public float getDamageIncrease(int level, @NotNull org.bukkit.entity.EntityCategory entityCategory) {
|
||||
+ return getEnchantment().getDamageIncrease(level, entityCategory);
|
||||
+ }
|
||||
+
|
||||
+ @NotNull
|
||||
+ @Override
|
||||
+ public java.util.Set<org.bukkit.inventory.EquipmentSlot> getActiveSlots() {
|
||||
+ return getEnchantment().getActiveSlots();
|
||||
+ }
|
||||
// Paper end
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue