Fix ItemStack serializer being unable to serialize some items
Fix PlayerDisguise using code I forgot to use, instead of real code
This commit is contained in:
@@ -64,6 +64,11 @@ public class ParamInfoItemStack extends ParamInfoEnum {
|
||||
return name;
|
||||
}
|
||||
|
||||
// If its not a CraftItemStack
|
||||
if (item.getClass().getSimpleName().equals("ItemStack") && item.hasItemMeta()) {
|
||||
item = ReflectionManager.getCraftItem(item);
|
||||
}
|
||||
|
||||
String itemName = ReflectionManager.getItemName(item.getType());
|
||||
ArrayList<String> mcArray = new ArrayList<>();
|
||||
|
||||
|
@@ -18,6 +18,7 @@ import org.apache.commons.lang.StringUtils;
|
||||
import org.bukkit.*;
|
||||
import org.bukkit.configuration.InvalidConfigurationException;
|
||||
import org.bukkit.configuration.file.YamlConfiguration;
|
||||
import org.bukkit.craftbukkit.v1_15_R1.inventory.CraftItemStack;
|
||||
import org.bukkit.entity.*;
|
||||
import org.bukkit.inventory.EquipmentSlot;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
@@ -361,6 +362,17 @@ public class ReflectionManager {
|
||||
return null;
|
||||
}
|
||||
|
||||
public static ItemStack getCraftItem(ItemStack bukkitItem) {
|
||||
try {
|
||||
return (ItemStack) craftItemClass.getMethod("asCraftMirror", ItemStack.class).invoke(null, bukkitItem);
|
||||
}
|
||||
catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
public static NmsVersion getVersion() {
|
||||
if (version == null) {
|
||||
getBukkitVersion();
|
||||
|
Reference in New Issue
Block a user