Add Overwrite Warning #144
@ -118,6 +118,8 @@ COMMAND_SAVE_CLIPBOARD_EMPTY=§cYour clipboard is empty
|
|||||||
COMMAND_SAVE_ERROR=§cError while saving the Schematic
|
COMMAND_SAVE_ERROR=§cError while saving the Schematic
|
||||||
COMMAND_SAVE_DONE=Schematic §e{0} §7stored
|
COMMAND_SAVE_DONE=Schematic §e{0} §7stored
|
||||||
COMMAND_SAVE_OVERWRITE=Schematic §e{0} §7overwritten
|
COMMAND_SAVE_OVERWRITE=Schematic §e{0} §7overwritten
|
||||||
|
COMMAND_SAVE_OVERWRITE_CONFIRM=§cThe Schematic §e{0} §calready exists. Do you want to overwrite it? §e*click*
|
||||||
|
COMMAND_SAVE_OVERWRITE_CONFIRM_HOVER=§eOverwrite Schematic
|
||||||
COMMAND_ADD_PUNISH=§cYou may not add anyone to your schematics: §f§l{0}
|
COMMAND_ADD_PUNISH=§cYou may not add anyone to your schematics: §f§l{0}
|
||||||
COMMAND_ADD_USER_PUNISHED=§c{0} must not be added to schematics
|
COMMAND_ADD_USER_PUNISHED=§c{0} must not be added to schematics
|
||||||
COMMAND_ADD_OWN=§cSo please: This is your own Schematic!
|
COMMAND_ADD_OWN=§cSo please: This is your own Schematic!
|
||||||
|
@ -103,6 +103,8 @@ COMMAND_SAVE_CLIPBOARD_EMPTY=§cDein Clipboard ist leer
|
|||||||
COMMAND_SAVE_ERROR=§cFehler beim Speichern der Schematic
|
COMMAND_SAVE_ERROR=§cFehler beim Speichern der Schematic
|
||||||
COMMAND_SAVE_DONE=Schematic §e{0} §7gespeichert
|
COMMAND_SAVE_DONE=Schematic §e{0} §7gespeichert
|
||||||
COMMAND_SAVE_OVERWRITE=Schematic §e{0} §7überschrieben
|
COMMAND_SAVE_OVERWRITE=Schematic §e{0} §7überschrieben
|
||||||
|
COMMAND_SAVE_OVERWRITE_CONFIRM=§cDie Schematic §e{0} §7existiert bereits. Möchtest du sie überschreiben? §e*klick*
|
||||||
|
COMMAND_SAVE_OVERWRITE_CONFIRM_HOVER=§eSchematic überschreiben
|
||||||
COMMAND_ADD_PUNISH=§cDu darfst niemanden auf deine Schematics hinzufügen: §f§l{0}
|
COMMAND_ADD_PUNISH=§cDu darfst niemanden auf deine Schematics hinzufügen: §f§l{0}
|
||||||
COMMAND_ADD_USER_PUNISHED=§c{0} darf nicht auf Schematics hinzugefügt werden
|
COMMAND_ADD_USER_PUNISHED=§c{0} darf nicht auf Schematics hinzugefügt werden
|
||||||
COMMAND_ADD_OWN=§cAlso bitte: Das ist deine eigene Schematic!
|
COMMAND_ADD_OWN=§cAlso bitte: Das ist deine eigene Schematic!
|
||||||
|
@ -148,11 +148,11 @@ public class SchematicCommand extends SWCommand {
|
|||||||
SteamwarUser user = SteamwarUser.get(player.getUniqueId());
|
SteamwarUser user = SteamwarUser.get(player.getUniqueId());
|
||||||
if(schematicNode == null || schematicNode.isDir()) {
|
if(schematicNode == null || schematicNode.isDir()) {
|
||||||
SWAnvilInv anvilInv = new SWAnvilInv(player, SchematicSystem.MESSAGE.parse("COMMAND_ENTER_NAME", player));
|
SWAnvilInv anvilInv = new SWAnvilInv(player, SchematicSystem.MESSAGE.parse("COMMAND_ENTER_NAME", player));
|
||||||
anvilInv.setCallback(s -> saveSchem(player, schematicNode==null?s:(schematicNode.generateBreadcrumbs() + s)));
|
anvilInv.setCallback(s -> saveSchem(player, schematicNode==null?s:(schematicNode.generateBreadcrumbs() + s), true));
|
||||||
anvilInv.setItem(Material.CAULDRON);
|
anvilInv.setItem(Material.CAULDRON);
|
||||||
anvilInv.open();
|
anvilInv.open();
|
||||||
} else {
|
} else {
|
||||||
saveSchem(player, schematicNode.generateBreadcrumbs());
|
saveSchem(player, schematicNode.generateBreadcrumbs(), true);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
selector.setSingleDirOpen(false);
|
selector.setSingleDirOpen(false);
|
||||||
@ -161,7 +161,7 @@ public class SchematicCommand extends SWCommand {
|
|||||||
|
|
||||||
@Register("save")
|
@Register("save")
|
||||||
@Register("s")
|
@Register("s")
|
||||||
public void saveSchem(Player player, @Mapper("dirStringMapper") String name) {
|
public void saveSchem(Player player, @Mapper("stringMapper") String name, @StaticValue(value = {"", "-f"}, allowISE=true) @OptionalValue("") boolean overwrite) {
|
||||||
SteamwarUser user = getUser(player);
|
SteamwarUser user = getUser(player);
|
||||||
if(BauServerInfo.isBauServer() && BauServerInfo.getOwnerId() != user.getId() &&
|
if(BauServerInfo.isBauServer() && BauServerInfo.getOwnerId() != user.getId() &&
|
||||||
(Punishment.isPunished(user, Punishment.PunishmentType.NoSchemReceiving, punishment ->
|
(Punishment.isPunished(user, Punishment.PunishmentType.NoSchemReceiving, punishment ->
|
||||||
@ -187,6 +187,9 @@ public class SchematicCommand extends SWCommand {
|
|||||||
} else if (!node.getSchemtype().writeable() || node.getOwner() != user.getId()) {
|
} else if (!node.getSchemtype().writeable() || node.getOwner() != user.getId()) {
|
||||||
SchematicSystem.MESSAGE.send("COMMAND_SAVE_NO_OVERWRITE", player);
|
SchematicSystem.MESSAGE.send("COMMAND_SAVE_NO_OVERWRITE", player);
|
||||||
return;
|
return;
|
||||||
|
} else if(!overwrite) {
|
||||||
|
SchematicSystem.MESSAGE.send("COMMAND_SAVE_OVERWRITE_CONFIRM", player, SchematicSystem.MESSAGE.parse("COMMAND_SAVE_OVERWRITE_CONFIRM_HOVER", player), new ClickEvent(ClickEvent.Action.RUN_COMMAND, "/schem s " + name + " true"), node.generateBreadcrumbs());
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -759,6 +762,23 @@ public class SchematicCommand extends SWCommand {
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Mapper("stringMapper")
|
||||||
|
public TypeMapper<String> stringMapper() {
|
||||||
|
return new TypeMapper<String>() {
|
||||||
|
@Override
|
||||||
|
public List<String> tabCompletes(CommandSender commandSender, String[] strings, String s) {
|
||||||
|
List<String> list = SchematicNode.getNodeTabcomplete(getUser((Player) commandSender), s);
|
||||||
|
list.add(s);
|
||||||
|
return list;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String map(CommandSender commandSender, String[] previousArguments, String s) {
|
||||||
|
return s;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
@ClassMapper(SchematicType.class)
|
@ClassMapper(SchematicType.class)
|
||||||
public TypeMapper<SchematicType> typeTypeMapper() {
|
public TypeMapper<SchematicType> typeTypeMapper() {
|
||||||
return new TypeMapper<SchematicType>() {
|
return new TypeMapper<SchematicType>() {
|
||||||
|
In neuem Issue referenzieren
Einen Benutzer sperren