Add SimulatorCommand.rename

This commit is contained in:
2024-08-25 15:46:03 +02:00
parent 18cb7157d7
commit c8381413a3
3 changed files with 22 additions and 0 deletions
@@ -271,6 +271,7 @@ SIMULATOR_CHANGE_HELP=§8/§esimulator change §8-§7 Change your simulator wand
SIMULATOR_DELETE_HELP=§8/§esimulator delete §8[§7name§8] §8-§7 Deletes the simulator
SIMULATOR_START_HELP=§8/§esimulator start §8[§7name§8] §8-§7 Starts the simulator
SIMULATOR_COPY_HELP=§8/§esimulator copy §8[§7to-copy§8] §8[§7name§8] §8-§7 Copy the simulator
SIMULATOR_RENAME_HELP=§8/§esimulator rename §8[§7to-rename§8] §8[§7name§8] §8-§7 Rename the simulator
SIMULATOR_GUI_ITEM_NAME=§eTNT Simulator
SIMULATOR_NO_SIM_IN_HAND=§cNo simulator item selected
SIMULATOR_GUI_SELECT_SIM=Simulator selection
@@ -307,6 +308,7 @@ SIMULATOR_POSITION_Z=§7z-Position
SIMULATOR_BACK=§eBack
SIMULATOR_GUI_TOTAL_TNT=§7Total TNT§8: §e{0}
SIMULATOR_DELETED=§cSimulator deleted
SIMULATOR_RENAMED=§cSimulator renamed
## GUI
SIMULATOR_POSITION_EDIT=§eEdit position
SIMULATOR_POSITION_ADD=§eSet position
@@ -254,6 +254,7 @@ SIMULATOR_CHANGE_HELP=§8/§esimulator change §8-§7 Wechsel zu einem anderen S
SIMULATOR_DELETE_HELP=§8/§esimulator delete §8[§7name§8] §8-§7 Löscht den Simulator
SIMULATOR_START_HELP=§8/§esimulator start §8[§7name§8] §8-§7 Startet die Simulation
SIMULATOR_COPY_HELP=§8/§esimulator copy §8[§7to-copy§8] §8[§7name§8] §8-§7 Kopiert einen Simulator
SIMULATOR_RENAME_HELP=§8/§esimulator rename §8[§7to-copy§8] §8[§7name§8] §8-§7 Benennt einen Simulator um
SIMULATOR_GUI_ITEM_NAME=§eTNT Simulator
SIMULATOR_NO_SIM_IN_HAND=§cKein Simulator Item gewählt
SIMULATOR_GUI_SELECT_SIM=Simulator wählen
@@ -290,6 +291,7 @@ SIMULATOR_POSITION_Z=§7z-Position
SIMULATOR_BACK=§eZurück
SIMULATOR_GUI_TOTAL_TNT=§7Gesamt TNT§8: §e{0}
SIMULATOR_DELETED=§cSimulator gelöscht
SIMULATOR_RENAMED=§cSimulator umbenannt
## GUI
SIMULATOR_POSITION_EDIT=§ePosition bearbeiten
SIMULATOR_POSITION_ADD=§ePosition setzen
@@ -88,6 +88,24 @@ public class SimulatorCommand extends SWCommand {
SimulatorExecutor.run(simulator);
}
@Register(value = "rename", description = "SIMULATOR_RENAME_HELP")
public void rename(@Validator Player p, @ErrorMessage("SIMULATOR_NOT_EXISTS") Simulator simulator, String name) {
if (SimulatorStorage.getSimulator(name) != null) {
BauSystem.MESSAGE.send("SIMULATOR_NAME_ALREADY_EXISTS", p);
return;
}
if (!name.matches("[a-zA-Z_0-9-]+")) {
BauSystem.MESSAGE.send("SIMULATOR_NAME_INVALID", p);
return;
}
if (SimulatorStorage.copy(simulator, name)) {
SimulatorStorage.delete(simulator);
BauSystem.MESSAGE.send("SIMULATOR_RENAMED", p);
} else {
BauSystem.MESSAGE.send("SIMULATOR_ERROR_COPY", p);
}
}
@ClassMapper(value = Simulator.class, local = true)
public TypeMapper<Simulator> allSimulators() {
return new TypeMapper<>() {