Skip to content

Commit

Permalink
Update ChestShopSign for better metadata handling
Browse files Browse the repository at this point in the history
ChestShopSign metadata handling has been improved by encapsulating the sign update within the validity check. The method for updating the sign display has also been restructured to firstly fetch the relevant ChestShopMetaData before proceeding, providing a more efficient processing order.
  • Loading branch information
Feli499 committed Jan 6, 2024
1 parent 4ce2866 commit a9e736f
Showing 1 changed file with 9 additions and 6 deletions.
15 changes: 9 additions & 6 deletions src/main/java/com/Acrobot/ChestShop/Signs/ChestShopSign.java
Expand Up @@ -131,11 +131,17 @@ public static boolean isChestShop(Sign sign) {
return true;
}

return sign.getPersistentDataContainer().has(METADATA_NAMESPACED_KEY, PersistentDataType.STRING);
boolean isChestshop = sign.getPersistentDataContainer().has(METADATA_NAMESPACED_KEY, PersistentDataType.STRING);
if (isChestshop) {
updateSignDisplay(sign);
}

return isChestshop;
}

private static void updateSignDisplay(ChestShopMetaData chestShopMetaData, Sign sign) {
private static void updateSignDisplay(Sign sign) {

ChestShopMetaData chestShopMetaData = getChestShopMetaData(sign);
UUID owner = chestShopMetaData.getOwner();
String fullOwnerName = NameManager.getFullNameFor(owner);

Expand All @@ -153,10 +159,7 @@ public static ChestShopMetaData getChestShopMetaData(Sign sign) {
YamlConfiguration yamlConfiguration = new YamlConfiguration();
yamlConfiguration.loadFromString(string);

ChestShopMetaData chestShopMetaData = (ChestShopMetaData) yamlConfiguration.get("metadata");
updateSignDisplay(chestShopMetaData, sign);

return chestShopMetaData;
return (ChestShopMetaData) yamlConfiguration.get("metadata");

} catch (Exception e) {
Bukkit.getLogger().log(Level.WARNING, "Exception loading Chestshop Metadata (" + sign.getX() + " " + sign.getY() + " " + sign.getZ() + ").", e);
Expand Down

0 comments on commit a9e736f

Please sign in to comment.