forked from SteamWar/SteamWar
add "/team prefix" command
This commit is contained in:
@@ -47,6 +47,8 @@ import static de.steamwar.persistent.Storage.teamInvitations;
|
||||
|
||||
@Linked
|
||||
public class TeamCommand extends SWCommand {
|
||||
private static final String PREFIX_MODE_CONFIG = "chatprefix";
|
||||
private static final String PREFIX_MODE_SW = "SW";
|
||||
|
||||
public TeamCommand() {
|
||||
super("team");
|
||||
@@ -362,6 +364,39 @@ public class TeamCommand extends SWCommand {
|
||||
return "§e";
|
||||
}
|
||||
|
||||
@Register(value = "prefix", description = "TEAM_PREFIX_USAGE")
|
||||
public void prefix(@Validator("canUseTeamPrefix") Chatter sender){
|
||||
boolean swPrefix = PREFIX_MODE_SW.equals(UserConfig.getConfig(sender.user().getId(), PREFIX_MODE_CONFIG));
|
||||
sender.system(swPrefix ? "TEAM_PREFIX_CURRENT_SW" : "TEAM_PREFIX_CURRENT_TEAM");
|
||||
}
|
||||
|
||||
@Register(value = "prefix", description = "TEAM_PREFIX_USAGE")
|
||||
public void prefix(@Validator("canUseTeamPrefix") Chatter sender, PrefixMode mode) {
|
||||
if (mode == PrefixMode.SW) {
|
||||
UserConfig.updatePlayerConfig(sender.user().getId(), PREFIX_MODE_CONFIG, PREFIX_MODE_SW);
|
||||
sender.system("TEAM_PREFIX_SET_SW");
|
||||
} else {
|
||||
UserConfig.updatePlayerConfig(sender.user().getId(), PREFIX_MODE_CONFIG, null);
|
||||
sender.system("TEAM_PREFIX_SET_TEAM");
|
||||
}
|
||||
}
|
||||
|
||||
@Validator("canUseTeamPrefix")
|
||||
public TypeValidator<Chatter> canUseTeamPrefixValidator() {
|
||||
return (sender, value, messageSender) -> {
|
||||
SteamwarUser user = value.user();
|
||||
|
||||
return user.hasPerm(UserPerm.TEAM)
|
||||
&& user.getTeam() != 0
|
||||
&& user.prefix() != UserPerm.emptyPrefix;
|
||||
};
|
||||
}
|
||||
|
||||
private enum PrefixMode {
|
||||
TEAM,
|
||||
SW
|
||||
}
|
||||
|
||||
@Register("list")
|
||||
public void list(Chatter sender, @Min(intValue = 1) @OptionalValue("1") @ErrorMessage("TEAM_LIST_NOT_PAGE") int page) {
|
||||
final int TEAMS_PER_PAGE = 10;
|
||||
|
||||
Reference in New Issue
Block a user