Skip to content

Commit

Permalink
Fixed saving to storage bug, ban reason now uses entire string rather…
Browse files Browse the repository at this point in the history
… than first word
  • Loading branch information
GreatWyrm committed Nov 19, 2021
1 parent 2cb20ed commit bb711e2
Show file tree
Hide file tree
Showing 3 changed files with 17 additions and 8 deletions.
2 changes: 1 addition & 1 deletion build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ plugins {
}

group 'com.arcanewarrior'
version '0.1.5'
version '0.1.6'

repositories {
mavenCentral()
Expand Down
6 changes: 4 additions & 2 deletions src/main/java/com/arcanewarrior/DataManager.java
Original file line number Diff line number Diff line change
Expand Up @@ -31,15 +31,17 @@ public String getBanReason(UUID id) {

public BanDetails addBannedPlayer(Player player, String reason) {
if(!isIDBanned(player.getUuid())) {
return banList.put(player.getUuid(), new BanDetails(player.getUuid(), player.getUsername(), reason));
return addBannedPlayer(player.getUuid(), player.getUsername(), reason);
} else {
return null;
}
}

public BanDetails addBannedPlayer(UUID id, String username, String reason) {
if(!isIDBanned(id)) {
return banList.put(id, new BanDetails(id, username, reason));
BanDetails details = new BanDetails(id, username, reason);
banList.put(id, details);
return details;
}
return null;
}
Expand Down
17 changes: 12 additions & 5 deletions src/main/java/com/arcanewarrior/commands/BanCommand.java
Original file line number Diff line number Diff line change
Expand Up @@ -20,17 +20,24 @@ public BanCommand(String permissionName, BanAction banAction) {
setDefaultExecutor((sender, context) -> sender.sendMessage("Usage: /ban [player] [reason]"));

ArgumentEntity players = ArgumentType.Entity("player").onlyPlayers(true);
Argument<String> reason = ArgumentType.String("reason").setDefaultValue("The Ban Hammer has spoken!");
Argument<String[]> reason = ArgumentType.StringArray("reason").setDefaultValue(new String[]{"The Ban Hammer has spoken!"});

addSyntax((sender, context) -> {
String banReason = context.get(reason);
// Create ban reason by concatenating the string array with spaces
StringBuilder banReason = new StringBuilder();
for(String s : context.get(reason)) {
banReason.append(s);
banReason.append(" ");
}
// Remove last space
banReason.deleteCharAt(banReason.length() - 1);
List<Entity> entityList = context.get(players).find(sender);
if(entityList.size() > 0) {
for(Entity entity : entityList) {
// Should only be players, but hey, cast just to be safe
if(entity instanceof Player player) {
player.kick(Component.text(banReason, NamedTextColor.RED));
banAction.addBannedPlayer(player, banReason);
player.kick(Component.text(banReason.toString(), NamedTextColor.RED));
banAction.addBannedPlayer(player, banReason.toString());
}
}
} else {
Expand All @@ -39,7 +46,7 @@ public BanCommand(String permissionName, BanAction banAction) {
// Output is of format {"name":Player Username,"id":UUID of Player (without dashes)}
if(output != null) {
String uuid = output.get("id").getAsString();
banAction.addBannedPlayer(UUIDUtils.makeUUIDFromStringWithoutDashes(uuid), output.get("name").getAsString(), banReason);
banAction.addBannedPlayer(UUIDUtils.makeUUIDFromStringWithoutDashes(uuid), output.get("name").getAsString(), banReason.toString());
} else {
sender.sendMessage("Error: Could not find offline player with name " + offlinePlayer);
}
Expand Down

0 comments on commit bb711e2

Please sign in to comment.