mirror of
https://github.com/PaperMC/Paper.git
synced 2025-01-04 02:01:44 +01:00
SPIGOT-4002: Fix usage of default: statements in 1.13 plugins compiled w/ Eclipse
This commit is contained in:
parent
421c1728c8
commit
72cf620d47
2 changed files with 12 additions and 0 deletions
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -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);
|
||||
|
|
Loading…
Reference in a new issue