Fix prefix not appearing before some translations and #1

This commit is contained in:
Tomasz Kuraczyk 2026-02-25 22:15:37 +01:00
parent f60e280bad
commit 4fd4cc81f9
2 changed files with 61 additions and 25 deletions

View file

@ -45,10 +45,10 @@ public class Ban implements CommandExecutor {
if(args.length>=2) scope=args[1];
if(args.length>=3) {
duration=args[2];
String regex = "^\\d+:(s|m|h|d)$";
String regex = "^(perm)|(-1)|\\d+:(s|m|h|d)$";
String regexOnlyNum = "^\\d+$";
if(!(duration.matches(regex) || duration.matches(regexOnlyNum))) {
p.sendMessage(TextUtils.colorString(plugin.translations.getString("command.ban.durationFormatError")));
p.sendMessage(TextUtils.colorString(addPrefix(plugin.translations.getString("command.ban.durationFormatError"))));
return false;
}
char type = plugin.config.getString("defaultDurationType").charAt(0);
@ -76,7 +76,7 @@ public class Ban implements CommandExecutor {
banEndDate = new Timestamp(System.currentTimeMillis()+TimeUnit.SECONDS.toMillis(time));
break;
default:
p.sendMessage(TextUtils.colorString(plugin.translations.getString("command.ban.durationFormatError")));
p.sendMessage(TextUtils.colorString(addPrefix(plugin.translations.getString("command.ban.durationFormatError"))));
return false;
}
}
@ -96,7 +96,7 @@ public class Ban implements CommandExecutor {
if(target!=null)
if(target.isOnline())
if(Objects.equals(plugin.config.getString("serverID"), scope) || Objects.equals(scope, "*")) target.kick(TextUtils.colorString(TextUtils.resolvePlaceholders(plugin.translations.getString("banKickMessage.playerBanPerm"), b)));
p.sendMessage(TextUtils.colorString(resolveBanMessagePlaceholders(plugin.translations.getString("command.ban.successfulBanMessagePerm"), args[0], scope, reason, p.getName())));
p.sendMessage(TextUtils.colorString(resolveBanMessagePlaceholders(addPrefix(plugin.translations.getString("command.ban.successfulBanMessagePerm")), args[0], scope, reason, p.getName())));
Bukkit.broadcast(TextUtils.colorString(resolveBanMessagePlaceholders(plugin.translations.getString("command.ban.banPublicAnnouncementPerm"), args[0], scope, reason, p.getName())));
}
else {
@ -113,7 +113,7 @@ public class Ban implements CommandExecutor {
if(target!=null)
if(target.isOnline())
if(Objects.equals(plugin.config.getString("serverID"), scope) || Objects.equals(scope, "*")) target.kick(TextUtils.colorString(TextUtils.resolvePlaceholders(plugin.translations.getString("banKickMessage.playerBanTemp"), b)));
p.sendMessage(TextUtils.colorString(resolveBanMessagePlaceholders(plugin.translations.getString("command.ban.successfulBanMessageTemp"), args[0], scope, reason, p.getName(), parsedBanDuration)));
p.sendMessage(TextUtils.colorString(resolveBanMessagePlaceholders(addPrefix(plugin.translations.getString("command.ban.successfulBanMessageTemp")), args[0], scope, reason, p.getName(), parsedBanDuration)));
Bukkit.broadcast(TextUtils.colorString(resolveBanMessagePlaceholders(plugin.translations.getString("command.ban.banPublicAnnouncementTemp"), args[0], scope, reason, p.getName(), parsedBanDuration)));
}
@ -121,7 +121,7 @@ public class Ban implements CommandExecutor {
}
else {
plugin.getLogger().severe("BanHammer: Something went wrong while user used ban command... Maybe DB or Technician has skill issue???");
p.sendMessage(TextUtils.colorString(plugin.translations.getString("command.ban.unexpectedError")));
p.sendMessage(TextUtils.colorString(addPrefix(plugin.translations.getString("command.ban.unexpectedError"))));
return false;
}

View file

@ -1,30 +1,66 @@
prefix: '<gradient:#FF0000:#6E261B><bold>BanHammer</bold></gradient> <#808080>- '
prefix: "<#383838>[</#383838><#e63030><bold>!</bold></#e63030><#383838>]</#383838> "
default:
reason: 'No reason provided.'
reason: "Nie podano powodu."
banKickMessage:
playerBanPerm: |-
<#FF5744>You are banned from this server!
Reason: </#FF5744><#C03221>{reason}</#C03221>
<#383838><bold><st> </st></bold></#383838> <gradient:#FF0000:#6E261B><bold>BanHammer</bold></gradient> <#383838><bold><st> </st></bold></#383838>
<#AAAAAA>Zostałeś <#e63030>permanentnie zbanowany</#e63030>!</#AAAAAA>
<#AAAAAA>Powód:</#AAAAAA> <#e63030>{reason}</#e63030>
<#555555>(BanID: <#b64141>{banId}</#b64141>)</#555555>
<#383838><bold><st> </st></bold></#383838>
playerBanTemp: |-
<#FF5744>You are banned from this server!
<#FF5744>Time left: </#FF5744><#C03221>{timeLeft}</#C03221>
<#FF5744>Reason: </#FF5744><#C03221>{reason}</#C03221>
<#383838><bold><st> </st></bold></#383838> <gradient:#FF0000:#6E261B><bold>BanHammer</bold></gradient> <#383838><bold><st> </st></bold></#383838>
<#AAAAAA>Zostałeś <#e63030>tymczasowo zbanowany</#e63030> na <#e63030>{timeLeft}</#e63030>!</#AAAAAA>
<#AAAAAA>Powód:</#AAAAAA> <#e63030>{reason}</#e63030>
<#555555>(BanID: <#b64141>{banId}</#b64141>)</#555555>
<#383838><bold><st> </st></bold></#383838>
ipBanPerm: |-
<#FF5744>You are IP-banned from this server!
Reason: </#FF5744><#C03221>{reason}</#C03221>
<#383838><bold><st> </st></bold></#383838> <gradient:#FF0000:#6E261B><bold>BanHammer</bold></gradient> <#383838><bold><st> </st></bold></#383838>
<#AAAAAA>Zostałeś <#e63030>permanentnie zbanowany</#e63030>!</#AAAAAA>
<#AAAAAA>Powód:</#AAAAAA> <#e63030>{reason}</#e63030>
<#555555>(BanID: <#b64141>{banId}</#b64141>)</#555555>
<#383838><bold><st> </st></bold></#383838>
ipBanTemp: |-
<#FF5744>You are IP-banned from this server!
<#FF5744>Time left: </#FF5744><#C03221>{timeLeft}</#C03221>
<#FF5744>Reason: </#FF5744><#C03221>{reason}</#C03221>
<#383838><bold><st> </st></bold></#383838> <gradient:#FF0000:#6E261B><bold>BanHammer</bold></gradient> <#383838><bold><st> </st></bold></#383838>
<#AAAAAA>Zostałeś <#e63030>tymczasowo zbanowany</#e63030> na <#e63030>{timeLeft}</#e63030>!</#AAAAAA>
<#AAAAAA>Powód:</#AAAAAA> <#e63030>{reason}</#e63030>
<#555555>(BanID: <#b64141>{banId}</#b64141>)</#555555>
<#383838><bold><st> </st></bold></#383838>
command:
ban:
usage: '<#ffffff>Usage:</#ffffff> <#FF5744>/ban <Target> <Scope> <Duration> <Reason>'
durationFormatError: 'Error: bad duration syntax. Available syntax: ":d", ":h", ":m", ":s"'
unexpectedError: 'Error: something went terribly wrong. Please contact someone who knows what he is doing.'
successfulBanMessagePerm: 'Successfully banned {player} in scope {scope} for reason {reason}'
successfulBanMessageTemp: 'Successfully banned {player} for {duration} in scope {scope} for reason {reason}'
banPublicAnnouncementPerm: 'Player {player} was banned by operator {operator} in scope {scope} for reason {reason}'
banPublicAnnouncementTemp: 'Player {player} was banned by operator {operator} for {duration} in scope {scope} for reason {reason}'
usage: "<#ffffff>Użycie:</#ffffff> <#FF5744>/ban <Cel> <Zakres> <Czas> <Powód>"
durationFormatError: "<#e63030><bold>Błąd!</bold></#e63030> <#AAAAAA>Niepoprawny format <#e63030>długości kary</#e63030>.</#AAAAAA>"
unexpectedError: "<#AAAAAA>Wystąpił <#e63030>nieoczekiwany błąd</#e63030>! Koniecznie skontaktuj się z <#e63030>dowolnym technicznym</#e63030>.</#AAAAAA>"
successfulBanMessagePerm: "<#AAAAAA>Pomyślnie zbanowano <#e63030>{player}</#e63030> w zakresie <#e63030>{scope}</#e63030> za <#e63030>{reason}</#e63030></#AAAAAA>"
successfulBanMessageTemp: "<#AAAAAA>Pomyślnie zbanowano <#e63030>{player}</#e63030> na <#e63030>{duration}</#e63030> w zakresie <#e63030>{scope}</#e63030> za <#e63030>{reason}</#e63030></#AAAAAA>"
banPublicAnnouncementPerm: |-
<#383838> </#383838>
<#383838>[</#383838><gradient:#FF0000:#6E261B><bold>BanHammer</bold></gradient><#383838>]</#383838> <#b64141>Gracz <#e63030>{player}</#e63030> został zbanowany przez <#e63030>{operator}</#e63030> za <#e63030>{reason}</#e63030></#b64141>
<#383838> </#383838>
banPublicAnnouncementTemp: |-
<#383838> </#383838>
<#383838>[</#383838><gradient:#FF0000:#6E261B><bold>BanHammer</bold></gradient><#383838>]</#383838> <#b64141>Gracz <#e63030>{player}</#e63030> Został zbanowany przez <#e63030>{operator}</#e63030> na <#e63030>{duration}</#e63030> za <#e63030>{reason}</#e63030></#b64141>
<#383838> </#383838>