Add checking for valid color and sending message if its invalid
This commit is contained in:
@@ -14,6 +14,7 @@ import org.bukkit.entity.Player;
|
|||||||
import net.md_5.bungee.api.ChatColor;
|
import net.md_5.bungee.api.ChatColor;
|
||||||
import net.md_5.bungee.api.chat.ComponentStyle;
|
import net.md_5.bungee.api.chat.ComponentStyle;
|
||||||
import net.md_5.bungee.api.chat.TextComponent;
|
import net.md_5.bungee.api.chat.TextComponent;
|
||||||
|
import net.md_5.bungee.api.chat.TranslatableComponent;
|
||||||
import nl.interestingcorner.db.Coordinate;
|
import nl.interestingcorner.db.Coordinate;
|
||||||
import nl.interestingcorner.db.DatabaseManager;
|
import nl.interestingcorner.db.DatabaseManager;
|
||||||
import nl.interestingcorner.db.MinecraftColor;
|
import nl.interestingcorner.db.MinecraftColor;
|
||||||
@@ -36,14 +37,12 @@ public class AddCoordinateCommandHandler implements CoordinatesCommandHandler {
|
|||||||
this.sender = sender;
|
this.sender = sender;
|
||||||
|
|
||||||
List<String> argsWithoutFirstCommand = removeFirstArg(args);
|
List<String> argsWithoutFirstCommand = removeFirstArg(args);
|
||||||
if (argsWithoutFirstCommand.isEmpty())
|
if (argsWithoutFirstCommand.isEmpty()) {
|
||||||
{
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
List<String> parsedArgs = parseArgs(argsWithoutFirstCommand.toArray(String[]::new));
|
List<String> parsedArgs = parseArgs(argsWithoutFirstCommand.toArray(String[]::new));
|
||||||
if (parsedArgs.isEmpty())
|
if (parsedArgs.isEmpty()) {
|
||||||
{
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -51,17 +50,16 @@ public class AddCoordinateCommandHandler implements CoordinatesCommandHandler {
|
|||||||
sender.sendMessage("0:" + parsedArgs.get(0));
|
sender.sendMessage("0:" + parsedArgs.get(0));
|
||||||
sender.sendMessage("1:" + parsedArgs.get(1));
|
sender.sendMessage("1:" + parsedArgs.get(1));
|
||||||
sender.sendMessage("2:" + parsedArgs.get(2));
|
sender.sendMessage("2:" + parsedArgs.get(2));
|
||||||
|
|
||||||
if (!MinecraftColor.isValidColor(parsedArgs.get(2)))
|
String name = parsedArgs.get(0);
|
||||||
{
|
String description = parsedArgs.get(0);
|
||||||
TextComponent errorMessage = new TextComponent();
|
String color = parsedArgs.get(0);
|
||||||
ComponentStyle messageStyle = new ComponentStyle();
|
|
||||||
messageStyle.setColor(ChatColor.DARK_RED);
|
if (!MinecraftColor.isValidColor(color)) {
|
||||||
errorMessage.setStyle(messageStyle);
|
sendInvalidColorMessage(color);
|
||||||
errorMessage.setText("Color " + parsedArgs.get(2) + " is not a valid color!");
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (sender instanceof Player player) {
|
if (sender instanceof Player player) {
|
||||||
Location playerLocation = player.getLocation();
|
Location playerLocation = player.getLocation();
|
||||||
if (playerLocation == null) {
|
if (playerLocation == null) {
|
||||||
@@ -73,15 +71,14 @@ public class AddCoordinateCommandHandler implements CoordinatesCommandHandler {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
return DatabaseManager.INSTANCE
|
return DatabaseManager.INSTANCE
|
||||||
.addCoordinate(parsedArgs.get(0), // name
|
.addCoordinate(name, // name
|
||||||
parsedArgs.get(1), // description
|
description, // description
|
||||||
new Coordinate.Position(playerLocation.getBlockX(), playerLocation.getBlockY(),
|
new Coordinate.Position(playerLocation.getBlockX(), playerLocation.getBlockY(),
|
||||||
playerLocation.getBlockZ()), // position
|
playerLocation.getBlockZ()), // position
|
||||||
playerWorld.getEnvironment().equals(World.Environment.NETHER), // nether
|
playerWorld.getEnvironment().equals(World.Environment.NETHER), // nether
|
||||||
playerWorld.getName(), // world
|
playerWorld.getName(), // world
|
||||||
MinecraftColor.fromString(parsedArgs.get(2)) // color
|
MinecraftColor.fromString(color) // color
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -142,4 +139,21 @@ public class AddCoordinateCommandHandler implements CoordinatesCommandHandler {
|
|||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void sendInvalidColorMessage(String color)
|
||||||
|
{
|
||||||
|
TextComponent finalMessage = new TextComponent();
|
||||||
|
TextComponent colorMessage = new TextComponent("Color ");
|
||||||
|
colorMessage.setColor(ChatColor.RED);
|
||||||
|
finalMessage.addExtra(colorMessage);
|
||||||
|
|
||||||
|
TextComponent enteredColor = new TextComponent(color);
|
||||||
|
enteredColor.setColor(ChatColor.AQUA);
|
||||||
|
finalMessage.addExtra(enteredColor);
|
||||||
|
|
||||||
|
TextComponent endOfMessage = new TextComponent(" is not a valid color!");
|
||||||
|
colorMessage.setColor(ChatColor.RED);
|
||||||
|
finalMessage.addExtra(endOfMessage);
|
||||||
|
sender.spigot().sendMessage(finalMessage);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user