summaryrefslogtreecommitdiffstats
path: root/src/main/java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/org/bukkit/craftbukkit/util/Commodore.java3
-rw-r--r--src/main/java/org/bukkit/craftbukkit/util/CraftLegacy.java9
2 files changed, 12 insertions, 0 deletions
diff --git a/src/main/java/org/bukkit/craftbukkit/util/Commodore.java b/src/main/java/org/bukkit/craftbukkit/util/Commodore.java
index aefba149..cc877f0a 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/Commodore.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/Commodore.java
@@ -196,6 +196,9 @@ public class Commodore
case "values":
super.visitMethodInsn( opcode, "org/bukkit/craftbukkit/util/CraftLegacy", "modern_" + name, desc, itf );
return;
+ case "ordinal":
+ super.visitMethodInsn( Opcodes.INVOKESTATIC, "org/bukkit/craftbukkit/util/CraftLegacy", "modern_" + name, "(Lorg/bukkit/Material;)I", false );
+ return;
}
}
diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftLegacy.java b/src/main/java/org/bukkit/craftbukkit/util/CraftLegacy.java
index 5965e82c..4ecba728 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftLegacy.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftLegacy.java
@@ -221,6 +221,15 @@ public class CraftLegacy {
return Arrays.copyOfRange(values, 0, Material.LEGACY_AIR.ordinal());
}
+ public static int modern_ordinal(Material material) {
+ if (material.isLegacy()) {
+ // SPIGOT-4002: Fix for eclipse compiler manually compiling in default statements to lookupswitch
+ throw new NoSuchFieldError("Legacy field ordinal: " + material);
+ }
+
+ return material.ordinal();
+ }
+
static {
SPAWN_EGGS.put(EntityType.BAT, Material.BAT_SPAWN_EGG);
SPAWN_EGGS.put(EntityType.BLAZE, Material.BLAZE_SPAWN_EGG);