diff --git a/src/main/java/net/knarcraft/permissionsigns/container/PermissionSign.java b/src/main/java/net/knarcraft/permissionsigns/container/PermissionSign.java index 043bf71..dcab3ca 100644 --- a/src/main/java/net/knarcraft/permissionsigns/container/PermissionSign.java +++ b/src/main/java/net/knarcraft/permissionsigns/container/PermissionSign.java @@ -13,7 +13,6 @@ import java.util.List; import java.util.Map; import static net.knarcraft.permissionsigns.formatting.StringFormatter.replacePlaceholder; -import static net.knarcraft.permissionsigns.formatting.StringFormatter.translateAllColorCodes; /** * This class represents a placed and active permission sign @@ -132,9 +131,9 @@ public class PermissionSign { */ public String[] getSignLines() { String[] lines = new String[4]; - lines[0] = translateAllColorCodes(Translator.getTranslatedMessage(TranslatableMessage.SIGN_PREFIX)); - lines[1] = translateAllColorCodes(replacePlaceholder(Translator.getTranslatedMessage( - TranslatableMessage.SIGN_NAME_FORMAT), "{name}", getName())); + lines[0] = Translator.getTranslatedMessage(TranslatableMessage.SIGN_PREFIX); + lines[1] = replacePlaceholder(Translator.getTranslatedMessage( + TranslatableMessage.SIGN_NAME_FORMAT), "{name}", getName()); lines[2] = getDurationString(); lines[3] = getCostString(); return lines; diff --git a/src/main/java/net/knarcraft/permissionsigns/formatting/StringFormatter.java b/src/main/java/net/knarcraft/permissionsigns/formatting/StringFormatter.java index fe001ec..0218324 100644 --- a/src/main/java/net/knarcraft/permissionsigns/formatting/StringFormatter.java +++ b/src/main/java/net/knarcraft/permissionsigns/formatting/StringFormatter.java @@ -84,8 +84,8 @@ public class StringFormatter { * @return
The formatted message
*/ private static String formatMessage(String message) { - return translateAllColorCodes(Translator.getTranslatedMessage(TranslatableMessage.PREFIX)) + " " + - ChatColor.RESET + translateAllColorCodes(message); + return Translator.getTranslatedMessage(TranslatableMessage.PREFIX) + " " + + ChatColor.RESET + message; } /** diff --git a/src/main/java/net/knarcraft/permissionsigns/formatting/TranslatableMessage.java b/src/main/java/net/knarcraft/permissionsigns/formatting/TranslatableMessage.java index 2cab223..ea27560 100644 --- a/src/main/java/net/knarcraft/permissionsigns/formatting/TranslatableMessage.java +++ b/src/main/java/net/knarcraft/permissionsigns/formatting/TranslatableMessage.java @@ -173,6 +173,11 @@ public enum TranslatableMessage { /** * The text describing all properties of a permission sign */ - SIGN_INFO + SIGN_INFO, + + /** + * The format used for each permission displayed in a list when displaying permission sign info + */ + SIGN_INFO_PERMISSION_FORMAT } diff --git a/src/main/java/net/knarcraft/permissionsigns/formatting/Translator.java b/src/main/java/net/knarcraft/permissionsigns/formatting/Translator.java index e4798aa..6a907d6 100644 --- a/src/main/java/net/knarcraft/permissionsigns/formatting/Translator.java +++ b/src/main/java/net/knarcraft/permissionsigns/formatting/Translator.java @@ -42,13 +42,15 @@ public final class Translator { if (translatedMessages == null) { return "Translated strings not loaded"; } + String translatedMessage; if (translatedMessages.containsKey(translatableMessage)) { - return translatedMessages.get(translatableMessage); + translatedMessage = translatedMessages.get(translatableMessage); } else if (backupTranslatedMessages.containsKey(translatableMessage)) { - return backupTranslatedMessages.get(translatableMessage); + translatedMessage = backupTranslatedMessages.get(translatableMessage); } else { - return translatableMessage.toString(); + translatedMessage = translatableMessage.toString(); } + return StringFormatter.translateAllColorCodes(translatedMessage); } /** diff --git a/src/main/java/net/knarcraft/permissionsigns/listener/SignListener.java b/src/main/java/net/knarcraft/permissionsigns/listener/SignListener.java index 12403c0..36fa3dc 100644 --- a/src/main/java/net/knarcraft/permissionsigns/listener/SignListener.java +++ b/src/main/java/net/knarcraft/permissionsigns/listener/SignListener.java @@ -101,15 +101,14 @@ public class SignListener implements Listener { permissionString = new StringBuilder(permissionNodes.get(0)); } else { for (String permissionNode : permissionNodes) { - permissionString.append("\n" + "&f| &7- ").append(permissionNode); + String format = Translator.getTranslatedMessage(TranslatableMessage.SIGN_INFO_PERMISSION_FORMAT); + permissionString.append(StringFormatter.replacePlaceholder(format, "{permission}", permissionNode)); } - permissionString.append("\n"); } - String replacedString = StringFormatter.replacePlaceholders(rawSignInfo, new String[]{"{Name}", "{Permissions}", + return StringFormatter.replacePlaceholders(rawSignInfo, new String[]{"{Name}", "{Permissions}", "{Cost}", "{Duration}"}, new String[]{sign.getName(), permissionString.toString(), sign.getCostString(), sign.getDurationString()}); - return StringFormatter.translateAllColorCodes(replacedString); } /** diff --git a/src/main/resources/strings.yml b/src/main/resources/strings.yml index 416679e..6cd4970 100644 --- a/src/main/resources/strings.yml +++ b/src/main/resources/strings.yml @@ -14,7 +14,7 @@ en: SIGN_DURATION_FORMAT: "{duration} {unit}" SIGN_PERMANENT: "Permanent" SIGN_COST_FREE: "Free" - SIGN_COST_FORMAT: "{cost}#66ff00{currency}" + SIGN_COST_FORMAT: "{cost}{currency}" COST_INVALID_NUMBER: "&7The given cost is not a valid number" DURATION_INVALID_NUMBER: "&7The given duration is not a valid number" COMMAND_PLAYER_ONLY: "&7This command is only available to players" @@ -33,6 +33,7 @@ en: CREATION_REQUEST_CANCELLED: "&7Your last permission sign creation request has been cancelled" RELOAD_SUCCESSFUL: "&7The plugin has been successfully reloaded" SIGN_INFO: "&f---- &4Permission Sign&f ----\n&f| &bName: &7{Name}\n&f| &bPermission(s): &7{Permissions}\n&f| &bCost: &7{Cost}\n&f| &bDuration: &7{Duration}\n&f| &7Right-click the sign while sneaking to buy the permission(s)\n&f-------------------------" + SIGN_INFO_PERMISSION_FORMAT: "\n&f| &7- {permission}" nb-no: PREFIX: "[Tilgangsrettighetsskilt]" SIGN_PREFIX: "&4[PermSign]" @@ -46,10 +47,10 @@ nb-no: UNIT_DAY: "dag" UNIT_DAYS: "dager" SIGN_NAME_FORMAT: "{name}" - SIGN_DURATION_FORMAT: "{duration} {unit}" + SIGN_DURATION_FORMAT: "{duration} {unit}" SIGN_PERMANENT: "Permanent" SIGN_COST_FREE: "Gratis" - SIGN_COST_FORMAT: "{cost}#66ff00{currency}" + SIGN_COST_FORMAT: "{cost}{currency}" COST_INVALID_NUMBER: "&7Den gitte kostnaden er ikke et gyldig nummer" DURATION_INVALID_NUMBER: "&7Den gitte varigheten er ikke et gyldig nummer" COMMAND_PLAYER_ONLY: "&7Denne kommandoen kan bare brukes av spillere" @@ -67,4 +68,5 @@ nb-no: INTERACT_PERMISSION_MISSING: "&7Du har ikke de nødvendige tilgangsrettighetene for å bruke tilgangsrettighetsskilt" CREATION_REQUEST_CANCELLED: "&7Din siste tilgangsrettighetsskiltsforespørsel har blitt kansellert" RELOAD_SUCCESSFUL: "&7Plugin-modulen har blitt lastet inn på nytt" - SIGN_INFO: "&f---- &4Tilgangsrettighetsskilt&f ----\n&f| &bNavn: &7{Name}\n&f| &bTilgangsrettighet(er): &7{Permissions}\n&f| &bKostnad: &7{Cost}\n&f| &bVarighet: &7{Duration}\n&f| &7Høyreklikk skiltet mens du sniker for å kjøpe tilgangsrettighet(en/ene)\n&f-------------------------" \ No newline at end of file + SIGN_INFO: "&f---- &4Tilgangsrettighetsskilt&f ----\n&f| &bNavn: &7{Name}\n&f| &bTilgangsrettighet(er): &7{Permissions}\n&f| &bKostnad: &7{Cost}\n&f| &bVarighet: &7{Duration}\n&f| &7Høyreklikk skiltet mens du sniker for å kjøpe tilgangsrettighet(en/ene)\n&f-------------------------" + SIGN_INFO_PERMISSION_FORMAT: "\n&f| &7- {permission}" \ No newline at end of file