ForgePatch/patches/minecraft/net/minecraft/enchantment/EnchantmentType.java.patch

30 lines
1.0 KiB
Diff

--- a/net/minecraft/enchantment/EnchantmentType.java
+++ b/net/minecraft/enchantment/EnchantmentType.java
@@ -11,7 +11,7 @@
import net.minecraft.item.ToolItem;
import net.minecraft.item.TridentItem;
-public enum EnchantmentType {
+public enum EnchantmentType implements net.minecraftforge.common.IExtensibleEnum {
ARMOR {
public boolean func_77557_a(Item p_77557_1_) {
return p_77557_1_ instanceof ArmorItem;
@@ -86,5 +86,16 @@
private EnchantmentType() {
}
- public abstract boolean func_77557_a(Item p_77557_1_);
+ private java.util.function.Predicate<Item> delegate;
+ private EnchantmentType(java.util.function.Predicate<Item> delegate) {
+ this.delegate = delegate;
+ }
+
+ public static EnchantmentType create(String name, java.util.function.Predicate<Item> delegate) {
+ throw new IllegalStateException("Enum not extended");
+ }
+
+ public boolean func_77557_a(Item p_77557_1_) {
+ return this.delegate == null ? false : this.delegate.test(p_77557_1_);
+ }
}