Skip to content

Commit

Permalink
Update sign immediately in 'setAdminshop', 'setOwner' and 'saveAccess…
Browse files Browse the repository at this point in the history
…ors'

Refactor code in ChestShopSign.java to immediately update sign after changes in functions: 'setAdminshop', 'setOwner', and 'saveAccessors'. This helps to ensure that all the changes are immediately reflected on the respective shop signs.
  • Loading branch information
Feli499 committed Dec 20, 2023
1 parent cb363ec commit 9eacee4
Showing 1 changed file with 5 additions and 2 deletions.
7 changes: 5 additions & 2 deletions src/main/java/com/Acrobot/ChestShop/Signs/ChestShopSign.java
Expand Up @@ -62,6 +62,7 @@ public static boolean isAdminShopNameString(String string) {

public static void setAdminshop(boolean isAdminshop, Sign sign) {
sign.getPersistentDataContainer().set(ADMINSHOP_NAMESPACED_KEY, PersistentDataType.BOOLEAN, Boolean.valueOf(isAdminshop));
sign.update(true);
}

public static boolean isAdminShop(Sign sign) {
Expand All @@ -70,7 +71,7 @@ public static boolean isAdminShop(Sign sign) {
if (!persistentDataContainer.has(ADMINSHOP_NAMESPACED_KEY, PersistentDataType.BOOLEAN)) {

boolean isAdminshop = isAdminShopNameString(sign.getLine(NAME_LINE));
persistentDataContainer.set(ADMINSHOP_NAMESPACED_KEY, PersistentDataType.BOOLEAN, Boolean.valueOf(isAdminshop));
setAdminshop(isAdminshop, sign);
return isAdminshop;
}

Expand Down Expand Up @@ -116,7 +117,7 @@ public static boolean isOwner(OfflinePlayer player, Sign sign) {
// Update old Signs
String ownerName = sign.getLine(NAME_LINE);
UUID uuidByName = NameManager.getUUIDFor(ownerName);
persistentDataContainer.set(OWNER_NAMESPACED_KEY, PersistentDataType.STRING, uuidByName.toString());
setOwner(uuidByName, sign);

if (!NameManager.canUseName(player, ownerName)) {
return false; // Player isn't Owner
Expand All @@ -129,6 +130,7 @@ public static boolean isOwner(OfflinePlayer player, Sign sign) {

public static void setOwner(UUID player, Sign sign) {
sign.getPersistentDataContainer().set(OWNER_NAMESPACED_KEY, PersistentDataType.STRING, player.toString());
sign.update(true);
}

private static String getOwner(Sign sign) {
Expand Down Expand Up @@ -181,6 +183,7 @@ public static void removeAccessor(OfflinePlayer player, Sign sign) {
private static void saveAccessors(Collection<String> accessors, Sign sign) {
String joined = String.join(";", accessors);
sign.getPersistentDataContainer().set(ACCESSORS_NAMESPACED_KEY, PersistentDataType.STRING, joined);
sign.update(true);
}

public static boolean isValidPreparedSign(String[] lines) {
Expand Down

0 comments on commit 9eacee4

Please sign in to comment.