Add BauLock #415
@ -29,6 +29,7 @@ import de.steamwar.messages.ChatSender;
|
||||
import de.steamwar.network.packets.server.BaumemberUpdatePacket;
|
||||
import net.md_5.bungee.api.CommandSender;
|
||||
import net.md_5.bungee.api.ProxyServer;
|
||||
import net.md_5.bungee.api.chat.ClickEvent;
|
||||
import net.md_5.bungee.api.config.ServerInfo;
|
||||
import net.md_5.bungee.api.connection.ProxiedPlayer;
|
||||
|
||||
@ -81,11 +82,16 @@ public class BauCommand extends BasicCommand {
|
||||
break;
|
||||
|
||||
case "lock":
|
||||
xSpw markierte diese Unterhaltung als gelöst
Veraltet
|
||||
setLocked(SteamwarUser.get(p), args);
|
||||
if(!(args.length < 2)) {
|
||||
Message.send("BAU_LOCKED_OPTIONS", p);
|
||||
return;
|
||||
}
|
||||
xSpw markierte diese Unterhaltung als gelöst
Veraltet
YoyoNow
hat
Warum nimmt setLocked nicht genau einen String? Warum nimmt setLocked nicht genau einen String?
|
||||
|
||||
setLocked(SteamwarUser.get(p), args[1]);
|
||||
break;
|
||||
|
||||
case "unlock":
|
||||
setLocked(SteamwarUser.get(p), new String[]{"", "open"});
|
||||
setLocked(SteamwarUser.get(p), "open");
|
||||
break;
|
||||
|
||||
default:
|
||||
@ -127,7 +133,6 @@ public class BauCommand extends BasicCommand {
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
SteamwarUser worldOwner = SteamwarUser.get(args[1]);
|
||||
SteamwarUser user = SteamwarUser.get(p);
|
||||
|
||||
@ -331,18 +336,21 @@ public class BauCommand extends BasicCommand {
|
||||
if(activeLockState == null)
|
||||
activeLockState = BauLockState.OPEN;
|
||||
xSpw markierte diese Unterhaltung als gelöst
Veraltet
YoyoNow
hat
Werte haben ist eine Sache diese zu nutzen ist eine andere. Werte haben ist eine Sache diese zu nutzen ist eine andere.
|
||||
|
||||
if(activeLockState == BauLockState.TEAM)
|
||||
SubserverSystem.sendDeniedMessage(target.getPlayer(), owner.getUuid());
|
||||
|
||||
return activeLockState == BauLockState.NOBODY || (activeLockState == BauLockState.TEAM && owner.getTeam() == target.getTeam());
|
||||
}
|
||||
xSpw markierte diese Unterhaltung als gelöst
YoyoNow
hat
Keine Individuellen Nachrichten für die einzelnen States? Keine Individuellen Nachrichten für die einzelnen States?
|
||||
|
||||
xSpw markierte diese Unterhaltung als gelöst
Veraltet
YoyoNow
hat
Kann man mit einem Ternary operator inlinen Kann man mit einem Ternary operator inlinen
|
||||
private static final String bauLockConfigName = "baulockstate";
|
||||
|
||||
private static void setLocked(SteamwarUser owner, String[] args) {
|
||||
if(args.length < 2 || BauLockState.valueOf(args[1]) == null) {
|
||||
private static void setLocked(SteamwarUser owner, String arg) {
|
||||
if(BauLockState.valueOf(arg) == null) {
|
||||
Message.send("BAU_LOCKED_OPTIONS", owner.getPlayer());
|
||||
return;
|
||||
}
|
||||
|
||||
String lockState = args[1].toUpperCase();
|
||||
String lockState = arg.toUpperCase();
|
||||
UserConfig.updateUserConfig(owner.getId(), bauLockConfigName, lockState);
|
||||
|
||||
Message.send("BAU_LOCKED_" + lockState, owner.getPlayer());
|
||||
|
In neuem Issue referenzieren
Einen Benutzer sperren
siehe unten
Hier fliegt eine ArrayIndexOutOfBoundsException, wenn der User einfach nur /bau lock eingibt. Zudem solltest du auf das Argument noch .toUpperCase() ausführen, ansonsten muss der User den Lockzustand immer in Capslock schreiben.