Add /ma ready

This commit adds a new command, /ma ready (/ma rdy for short), as an alternative to the iron block for readying up after picking a class.

Note that this conflicts with the shorthand for /ma notready, which no longer triggers on the word "ready", but only on "notready".
This commit is contained in:
Sait™ 2018-08-19 16:00:19 +07:00 committed by garbagemule
parent 548d8c7e4f
commit 977df0b9f4
4 changed files with 48 additions and 1 deletions

View File

@ -64,6 +64,7 @@ public enum Msg {
LOBBY_CLASS_PRICE("This class costs &c%&r (paid on arena start)."),
LOBBY_CLASS_TOO_EXPENSIVE("You can't afford that class (&c%&r)"),
LOBBY_NO_SUCH_CLASS("There is no class named &c%&r."),
NOT_IN_LOBBY("You are not in the lobby"),
WARP_TO_ARENA("Warping to the arena not allowed!"),
WARP_FROM_ARENA("Warping from the arena not allowed!"),
WAVE_DEFAULT("Wave &b#%&r!"),

View File

@ -29,6 +29,7 @@ import com.garbagemule.MobArena.commands.user.NotReadyCommand;
import com.garbagemule.MobArena.commands.user.PickClassCommand;
import com.garbagemule.MobArena.commands.user.PlayerListCommand;
import com.garbagemule.MobArena.commands.user.SpecCommand;
import com.garbagemule.MobArena.commands.user.ReadyCommand;
import com.garbagemule.MobArena.framework.ArenaMaster;
import org.bukkit.ChatColor;
import org.bukkit.command.CommandExecutor;
@ -252,6 +253,7 @@ public class CommandHandler implements CommandExecutor
register(PlayerListCommand.class);
register(NotReadyCommand.class);
register(PickClassCommand.class);
register(ReadyCommand.class);
// mobarena.admin
register(EnableCommand.class);

View File

@ -12,7 +12,7 @@ import org.bukkit.entity.Player;
@CommandInfo(
name = "notready",
pattern = "notr.*|ready",
pattern = "notr.*",
usage = "/ma notready (<arena>)",
desc = "see which players aren't ready",
permission = "mobarena.use.notready"

View File

@ -0,0 +1,44 @@
package com.garbagemule.MobArena.commands.user;
import com.garbagemule.MobArena.Msg;
import com.garbagemule.MobArena.commands.Command;
import com.garbagemule.MobArena.commands.CommandInfo;
import com.garbagemule.MobArena.commands.Commands;
import com.garbagemule.MobArena.framework.Arena;
import com.garbagemule.MobArena.framework.ArenaMaster;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
@CommandInfo(
name = "join",
pattern = "ready|rdy",
usage = "/ma ready",
desc = "ready to start the battle",
permission = "mobarena.use.ready"
)
public class ReadyCommand implements Command {
@Override
public boolean execute(ArenaMaster am, CommandSender sender, String... args) {
if (!Commands.isPlayer(sender)) {
am.getGlobalMessenger().tell(sender, Msg.MISC_NOT_FROM_CONSOLE);
return true;
}
Player p = Commands.unwrap(sender);
Arena arena = am.getArenaWithPlayer(p);
if (arena == null) {
am.getGlobalMessenger().tell(p, Msg.NOT_IN_LOBBY);
} else if (!arena.inLobby(p)) {
arena.getMessenger().tell(p, Msg.NOT_IN_LOBBY);
} else if (arena.getArenaPlayer(p).getArenaClass() != null) {
arena.getMessenger().tell(p, Msg.LOBBY_PLAYER_READY);
arena.playerReady(p);
} else {
arena.getMessenger().tell(p, Msg.LOBBY_PICK_CLASS);
}
return true;
}
}