Skip to content

Commit 4ed3866

Browse files
committed
Drop support for integer material ids and legacy material names
1 parent 776bf1b commit 4ed3866

File tree

13 files changed

+8
-419
lines changed

13 files changed

+8
-419
lines changed

CompatibilityLib/base/src/main/java/com/elmakers/mine/bukkit/utility/platform/base/CompatibilityUtilsBase.java

Lines changed: 0 additions & 115 deletions
Original file line numberDiff line numberDiff line change
@@ -546,36 +546,6 @@ public Material getMaterial(FallingBlock falling) {
546546
return falling.getBlockData().getMaterial();
547547
}
548548

549-
@Override
550-
@SuppressWarnings("deprecation")
551-
public Material getMaterial(int id, byte data) {
552-
Material material = getMaterial(id);
553-
if (material != null) {
554-
material = fromLegacy(new org.bukkit.material.MaterialData(material, data));
555-
}
556-
if (material == null) {
557-
material = Material.AIR;
558-
}
559-
return material;
560-
}
561-
562-
@Override
563-
@SuppressWarnings("deprecation")
564-
public Material getMaterial(int id) {
565-
if (materialIdMap == null) {
566-
materialIdMap = new HashMap<>();
567-
568-
Object[] allMaterials = Material.AIR.getDeclaringClass().getEnumConstants();
569-
for (Object o : allMaterials) {
570-
Material material = (Material)o;
571-
if (!hasLegacyMaterials() || isLegacy(material)) {
572-
materialIdMap.put(material.getId(), material);
573-
}
574-
}
575-
}
576-
return materialIdMap.get(id);
577-
}
578-
579549
@Override
580550
public Material getMaterial(String blockData) {
581551
String[] pieces = StringUtils.split(blockData, "[", 2);
@@ -596,53 +566,6 @@ public Material getMaterial(String blockData) {
596566
return null;
597567
}
598568

599-
@Override
600-
@SuppressWarnings("deprecation")
601-
public Material migrateMaterial(Material material, byte data) {
602-
return fromLegacy(new org.bukkit.material.MaterialData(material, data));
603-
}
604-
605-
@Override
606-
@SuppressWarnings("deprecation")
607-
public String migrateMaterial(String materialKey) {
608-
if (materialKey == null || materialKey.isEmpty()) return materialKey;
609-
byte data = 0;
610-
String[] pieces = StringUtils.split(materialKey, ':');
611-
String textData = "";
612-
if (pieces.length > 1) {
613-
textData = pieces[1];
614-
try {
615-
data = Byte.parseByte(pieces[1]);
616-
textData = "";
617-
} catch (Exception ignore) {
618-
}
619-
}
620-
621-
String materialName = pieces[0].toUpperCase();
622-
Material material = Material.getMaterial(materialName);
623-
if (material != null && data == 0) {
624-
return material.name().toLowerCase();
625-
}
626-
627-
Material legacyMaterial = data == 0 ? getLegacyMaterial(materialName) : Material.getMaterial("LEGACY_" + materialName);
628-
if (legacyMaterial != null) {
629-
org.bukkit.material.MaterialData materialData = new org.bukkit.material.MaterialData(legacyMaterial, data);
630-
legacyMaterial = fromLegacy(materialData);
631-
if (legacyMaterial != null) {
632-
material = legacyMaterial;
633-
}
634-
}
635-
636-
if (material != null) {
637-
materialKey = material.name().toLowerCase();
638-
// This mainly covers player skulls, but .. maybe other things? Maps?
639-
if (!textData.isEmpty()) {
640-
materialKey += ":" + textData;
641-
}
642-
}
643-
return materialKey;
644-
}
645-
646569
@Override
647570
public boolean isChunkLoaded(Block block) {
648571
return isChunkLoaded(block.getLocation());
@@ -2720,44 +2643,6 @@ public void setMaxHealth(Damageable li, double maxHealth) {
27202643
}
27212644
}
27222645

2723-
@Override
2724-
@SuppressWarnings("deprecation")
2725-
public Material fromLegacy(org.bukkit.material.MaterialData materialData) {
2726-
Material converted = Bukkit.getUnsafe().fromLegacy(materialData);
2727-
if (converted == Material.AIR) {
2728-
materialData.setData((byte)0);
2729-
converted = Bukkit.getUnsafe().fromLegacy(materialData);
2730-
}
2731-
// Converting legacy signs doesn't seem to work
2732-
// This fixes them, but the direction is wrong, and restoring text causes internal errors
2733-
// So I guess it's best to just let signs be broken for now.
2734-
/*
2735-
if (converted == Material.AIR) {
2736-
String typeKey = materialData.getItemType().name();
2737-
if (typeKey.equals("LEGACY_WALL_SIGN")) return Material.WALL_SIGN;
2738-
if (typeKey.equals("LEGACY_SIGN_POST")) return Material.SIGN_POST;
2739-
if (typeKey.equals("LEGACY_SIGN")) return Material.SIGN;
2740-
}
2741-
*/
2742-
return converted;
2743-
}
2744-
2745-
@Override
2746-
public boolean hasLegacyMaterials() {
2747-
return true;
2748-
}
2749-
2750-
@Override
2751-
@SuppressWarnings("deprecation")
2752-
public boolean isLegacy(Material material) {
2753-
return material.isLegacy();
2754-
}
2755-
2756-
@Override
2757-
public Material getLegacyMaterial(String materialName) {
2758-
return Material.getMaterial(materialName, true);
2759-
}
2760-
27612646
@Override
27622647
public boolean applyBonemeal(Location location) {
27632648
if (NMSUtils.class_ItemDye_bonemealMethod == null) return false;

CompatibilityLib/common/src/main/java/com/elmakers/mine/bukkit/utility/platform/CompatibilityUtils.java

Lines changed: 0 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -331,26 +331,10 @@ public interface CompatibilityUtils {
331331

332332
void setMaxHealth(Damageable li, double maxHealth);
333333

334-
Material fromLegacy(org.bukkit.material.MaterialData materialData);
335-
336-
Material getMaterial(int id, byte data);
337-
338-
Material getMaterial(int id);
339-
340334
Material getMaterial(String blockData);
341335

342336
Material getMaterial(FallingBlock falling);
343337

344-
boolean hasLegacyMaterials();
345-
346-
boolean isLegacy(Material material);
347-
348-
Material getLegacyMaterial(String materialName);
349-
350-
Material migrateMaterial(Material material, byte data);
351-
352-
String migrateMaterial(String materialKey);
353-
354338
boolean isChunkLoaded(Block block);
355339

356340
boolean isChunkLoaded(Location location);

CompatibilityLib/main/src/main/java/com/elmakers/mine/bukkit/utility/CompatibilityLib.java

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66
import javax.annotation.Nonnull;
77

88
import org.bukkit.Bukkit;
9-
import org.bukkit.Material;
109
import org.bukkit.plugin.Plugin;
1110
import org.bukkit.plugin.PluginManager;
1211

@@ -101,20 +100,6 @@ public static boolean isLegacy() {
101100
return platform == null ? false : platform.isLegacy();
102101
}
103102

104-
// This is here as a bit of a hack, MaterialAndData needs to know how to parse materials, but this is used
105-
// by the MaterialSetTest test framework, where we don't actually have a server and can't really
106-
// initialize CompatibilityLib.
107-
// Kind of ugly, but this sidesteps the problem.
108-
public static boolean isLegacy(Material material) {
109-
CompatibilityUtils compatibilityUtils = platform == null ? null : platform.getCompatibilityUtils();
110-
return compatibilityUtils == null ? false : compatibilityUtils.isLegacy(material);
111-
}
112-
113-
public static boolean hasLegacyMaterials() {
114-
CompatibilityUtils compatibilityUtils = platform == null ? null : platform.getCompatibilityUtils();
115-
return compatibilityUtils == null ? false : compatibilityUtils.hasLegacyMaterials();
116-
}
117-
118103
public static boolean hasChatComponents() {
119104
return platform == null ? false : platform.hasChatComponents();
120105
}

CompatibilityLib/v1_20_5/src/main/java/com/elmakers/mine/bukkit/utility/platform/v1_20_5/CompatibilityUtils.java

Lines changed: 0 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -15,15 +15,13 @@
1515
import org.bukkit.Art;
1616
import org.bukkit.Bukkit;
1717
import org.bukkit.Chunk;
18-
import org.bukkit.Color;
1918
import org.bukkit.FireworkEffect;
2019
import org.bukkit.Keyed;
2120
import org.bukkit.Location;
2221
import org.bukkit.Material;
2322
import org.bukkit.NamespacedKey;
2423
import org.bukkit.Rotation;
2524
import org.bukkit.Server;
26-
import org.bukkit.Sound;
2725
import org.bukkit.World;
2826
import org.bukkit.attribute.Attribute;
2927
import org.bukkit.block.Block;
@@ -32,7 +30,6 @@
3230
import org.bukkit.block.Jukebox;
3331
import org.bukkit.block.Lectern;
3432
import org.bukkit.block.Lockable;
35-
import org.bukkit.block.data.BlockData;
3633
import org.bukkit.boss.BossBar;
3734
import org.bukkit.command.CommandSender;
3835
import org.bukkit.configuration.ConfigurationSection;
@@ -78,8 +75,6 @@
7875
import org.bukkit.inventory.ShapedRecipe;
7976
import org.bukkit.inventory.meta.FireworkMeta;
8077
import org.bukkit.inventory.meta.ItemMeta;
81-
import org.bukkit.inventory.meta.KnowledgeBookMeta;
82-
import org.bukkit.inventory.meta.PotionMeta;
8378
import org.bukkit.loot.Lootable;
8479
import org.bukkit.map.MapView;
8580
import org.bukkit.plugin.Plugin;
@@ -985,44 +980,6 @@ public void setMaxHealth(Damageable li, double maxHealth) {
985980
}
986981
}
987982

988-
@Override
989-
@SuppressWarnings("deprecation")
990-
public Material fromLegacy(org.bukkit.material.MaterialData materialData) {
991-
Material converted = Bukkit.getUnsafe().fromLegacy(materialData);
992-
if (converted == Material.AIR) {
993-
materialData.setData((byte)0);
994-
converted = Bukkit.getUnsafe().fromLegacy(materialData);
995-
}
996-
// Converting legacy signs doesn't seem to work
997-
// This fixes them, but the direction is wrong, and restoring text causes internal errors
998-
// So I guess it's best to just let signs be broken for now.
999-
/*
1000-
if (converted == Material.AIR) {
1001-
String typeKey = materialData.getItemType().name();
1002-
if (typeKey.equals("LEGACY_WALL_SIGN")) return Material.WALL_SIGN;
1003-
if (typeKey.equals("LEGACY_SIGN_POST")) return Material.SIGN_POST;
1004-
if (typeKey.equals("LEGACY_SIGN")) return Material.SIGN;
1005-
}
1006-
*/
1007-
return converted;
1008-
}
1009-
1010-
@Override
1011-
public boolean hasLegacyMaterials() {
1012-
return true;
1013-
}
1014-
1015-
@Override
1016-
@SuppressWarnings("deprecation")
1017-
public boolean isLegacy(Material material) {
1018-
return material.isLegacy();
1019-
}
1020-
1021-
@Override
1022-
public Material getLegacyMaterial(String materialName) {
1023-
return Material.getMaterial(materialName, true);
1024-
}
1025-
1026983
@Override
1027984
public boolean applyBonemeal(Location location) {
1028985
if (dummyItem == null) {

CompatibilityLib/v1_20_6/src/main/java/com/elmakers/mine/bukkit/utility/platform/v1_20_6/CompatibilityUtils.java

Lines changed: 0 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -15,15 +15,13 @@
1515
import org.bukkit.Art;
1616
import org.bukkit.Bukkit;
1717
import org.bukkit.Chunk;
18-
import org.bukkit.Color;
1918
import org.bukkit.FireworkEffect;
2019
import org.bukkit.Keyed;
2120
import org.bukkit.Location;
2221
import org.bukkit.Material;
2322
import org.bukkit.NamespacedKey;
2423
import org.bukkit.Rotation;
2524
import org.bukkit.Server;
26-
import org.bukkit.Sound;
2725
import org.bukkit.World;
2826
import org.bukkit.attribute.Attribute;
2927
import org.bukkit.block.Block;
@@ -32,7 +30,6 @@
3230
import org.bukkit.block.Jukebox;
3331
import org.bukkit.block.Lectern;
3432
import org.bukkit.block.Lockable;
35-
import org.bukkit.block.data.BlockData;
3633
import org.bukkit.boss.BossBar;
3734
import org.bukkit.command.CommandSender;
3835
import org.bukkit.configuration.ConfigurationSection;
@@ -78,8 +75,6 @@
7875
import org.bukkit.inventory.ShapedRecipe;
7976
import org.bukkit.inventory.meta.FireworkMeta;
8077
import org.bukkit.inventory.meta.ItemMeta;
81-
import org.bukkit.inventory.meta.KnowledgeBookMeta;
82-
import org.bukkit.inventory.meta.PotionMeta;
8378
import org.bukkit.loot.Lootable;
8479
import org.bukkit.map.MapView;
8580
import org.bukkit.plugin.Plugin;
@@ -982,44 +977,6 @@ public void setMaxHealth(Damageable li, double maxHealth) {
982977
}
983978
}
984979

985-
@Override
986-
@SuppressWarnings("deprecation")
987-
public Material fromLegacy(org.bukkit.material.MaterialData materialData) {
988-
Material converted = Bukkit.getUnsafe().fromLegacy(materialData);
989-
if (converted == Material.AIR) {
990-
materialData.setData((byte)0);
991-
converted = Bukkit.getUnsafe().fromLegacy(materialData);
992-
}
993-
// Converting legacy signs doesn't seem to work
994-
// This fixes them, but the direction is wrong, and restoring text causes internal errors
995-
// So I guess it's best to just let signs be broken for now.
996-
/*
997-
if (converted == Material.AIR) {
998-
String typeKey = materialData.getItemType().name();
999-
if (typeKey.equals("LEGACY_WALL_SIGN")) return Material.WALL_SIGN;
1000-
if (typeKey.equals("LEGACY_SIGN_POST")) return Material.SIGN_POST;
1001-
if (typeKey.equals("LEGACY_SIGN")) return Material.SIGN;
1002-
}
1003-
*/
1004-
return converted;
1005-
}
1006-
1007-
@Override
1008-
public boolean hasLegacyMaterials() {
1009-
return true;
1010-
}
1011-
1012-
@Override
1013-
@SuppressWarnings("deprecation")
1014-
public boolean isLegacy(Material material) {
1015-
return material.isLegacy();
1016-
}
1017-
1018-
@Override
1019-
public Material getLegacyMaterial(String materialName) {
1020-
return Material.getMaterial(materialName, true);
1021-
}
1022-
1023980
@Override
1024981
public boolean applyBonemeal(Location location) {
1025982
if (dummyItem == null) {

0 commit comments

Comments
 (0)