9
0
mirror of https://github.com/HibiscusMC/HibiscusCommons.git synced 2025-12-19 15:09:26 +00:00

clean: clean up ItemSerializer a bit

This commit is contained in:
LoJoSho
2025-01-17 13:57:27 -06:00
parent 80a0ca2b15
commit 4210ae2edd

View File

@@ -81,11 +81,8 @@ public class ItemSerializer implements TypeSerializer<ItemStack> {
if (itemMeta == null) return item; if (itemMeta == null) return item;
if (!nameNode.virtual()) { if (!nameNode.virtual()) {
if (HibiscusCommonsPlugin.isOnPaper()) { if (HibiscusCommonsPlugin.isOnPaper()) itemMeta.displayName(AdventureUtils.MINI_MESSAGE.deserialize(nameNode.getString("")));
itemMeta.displayName(AdventureUtils.MINI_MESSAGE.deserialize(nameNode.getString(""))); else itemMeta.setDisplayName(StringUtils.parseStringToString(nameNode.getString("")));
} else {
itemMeta.setDisplayName(StringUtils.parseStringToString(nameNode.getString("")));
}
} }
if (!unbreakableNode.virtual()) itemMeta.setUnbreakable(unbreakableNode.getBoolean()); if (!unbreakableNode.virtual()) itemMeta.setUnbreakable(unbreakableNode.getBoolean());
if (!glowingNode.virtual()) { if (!glowingNode.virtual()) {
@@ -93,13 +90,12 @@ public class ItemSerializer implements TypeSerializer<ItemStack> {
itemMeta.addEnchant(Enchantment.LUCK, 1, true); itemMeta.addEnchant(Enchantment.LUCK, 1, true);
} }
if (!loreNode.virtual()) { if (!loreNode.virtual()) {
if (HibiscusCommonsPlugin.isOnPaper()) { if (HibiscusCommonsPlugin.isOnPaper())
itemMeta.lore(loreNode.getList(String.class, new ArrayList<>()). itemMeta.lore(loreNode.getList(String.class, new ArrayList<>()).
stream().map(AdventureUtils.MINI_MESSAGE::deserialize).collect(Collectors.toList())); stream().map(AdventureUtils.MINI_MESSAGE::deserialize).collect(Collectors.toList()));
} else { else itemMeta.setLore(loreNode.getList(String.class, new ArrayList<>()).
itemMeta.setLore(loreNode.getList(String.class, new ArrayList<>()).
stream().map(StringUtils::parseStringToString).collect(Collectors.toList())); stream().map(StringUtils::parseStringToString).collect(Collectors.toList()));
}
} }
if (!modelDataNode.virtual()) itemMeta.setCustomModelData(modelDataNode.getInt()); if (!modelDataNode.virtual()) itemMeta.setCustomModelData(modelDataNode.getInt());
@@ -113,13 +109,13 @@ public class ItemSerializer implements TypeSerializer<ItemStack> {
for (ConfigurationNode enchantNode : enchantsNode.childrenMap().values()) { for (ConfigurationNode enchantNode : enchantsNode.childrenMap().values()) {
String enchantName = enchantNode.key().toString().toLowerCase(); String enchantName = enchantNode.key().toString().toLowerCase();
NamespacedKey key = NamespacedKey.minecraft(enchantName); NamespacedKey key = NamespacedKey.minecraft(enchantName);
Enchantment enchant = Enchantment.getByKey(key); Enchantment enchant = Registry.ENCHANTMENT.get(key);
if (enchant == null) continue; if (enchant == null) continue;
itemMeta.addEnchant(enchant, enchantNode.getInt(1), true); itemMeta.addEnchant(enchant, enchantNode.getInt(1), true);
} }
} }
try {
if (!itemFlagsNode.virtual()) { if (!itemFlagsNode.virtual()) {
for (String itemFlag : itemFlagsNode.getList(String.class)) { for (String itemFlag : itemFlagsNode.getList(String.class)) {
if (!EnumUtils.isValidEnum(ItemFlag.class, itemFlag)) continue; if (!EnumUtils.isValidEnum(ItemFlag.class, itemFlag)) continue;
@@ -127,9 +123,6 @@ public class ItemSerializer implements TypeSerializer<ItemStack> {
itemMeta.addItemFlags(ItemFlag.valueOf(itemFlag)); itemMeta.addItemFlags(ItemFlag.valueOf(itemFlag));
} }
} }
} catch (Exception e) {
e.printStackTrace();
}
if (item.getType() == Material.PLAYER_HEAD) { if (item.getType() == Material.PLAYER_HEAD) {
SkullMeta skullMeta = (SkullMeta) itemMeta; SkullMeta skullMeta = (SkullMeta) itemMeta;
@@ -150,7 +143,7 @@ public class ItemSerializer implements TypeSerializer<ItemStack> {
skullMeta.getPersistentDataContainer().set(InventoryUtils.getSkullTexture(), PersistentDataType.STRING, textureString); skullMeta.getPersistentDataContainer().set(InventoryUtils.getSkullTexture(), PersistentDataType.STRING, textureString);
} }
// Decodes the texture string and sets the texture url to the skull // Decodes the texture string and sets the texture url to the skull
PlayerProfile profile = Bukkit.createPlayerProfile(UUID.randomUUID()); PlayerProfile profile = Bukkit.createProfile(UUID.randomUUID());
PlayerTextures textures = profile.getTextures(); PlayerTextures textures = profile.getTextures();
String decoded = new String(Base64.getDecoder().decode(textureString)); String decoded = new String(Base64.getDecoder().decode(textureString));
@@ -166,7 +159,6 @@ public class ItemSerializer implements TypeSerializer<ItemStack> {
skullMeta.setOwnerProfile(profile); skullMeta.setOwnerProfile(profile);
} }
} }
itemMeta = skullMeta;
} }
if (!colorNode.virtual()) { if (!colorNode.virtual()) {
@@ -186,6 +178,5 @@ public class ItemSerializer implements TypeSerializer<ItemStack> {
public void serialize(final Type type, @Nullable final ItemStack obj, final ConfigurationNode node) throws SerializationException { public void serialize(final Type type, @Nullable final ItemStack obj, final ConfigurationNode node) throws SerializationException {
} }
} }