79 lines
2.7 KiB
Java
79 lines
2.7 KiB
Java
/*
|
|
* Copyright (c) 2017 univento.eu - All rights reserved
|
|
* You are not allowed to use, distribute or modify this code
|
|
*/
|
|
|
|
package eu.univento.core.commands;
|
|
|
|
import eu.univento.commons.player.rank.Rank;
|
|
import eu.univento.core.api.command.Command;
|
|
import eu.univento.core.api.command.CommandArgs;
|
|
import eu.univento.core.api.command.Completer;
|
|
import eu.univento.core.api.player.CustomPlayer;
|
|
import eu.univento.core.api.server.ServerSettings;
|
|
import lombok.Getter;
|
|
import org.bukkit.GameMode;
|
|
import org.bukkit.inventory.ItemStack;
|
|
|
|
import java.util.ArrayList;
|
|
import java.util.HashMap;
|
|
import java.util.List;
|
|
|
|
/**
|
|
* @author joethei
|
|
* @version 1.0
|
|
*/
|
|
public class BuilderCommands {
|
|
|
|
@Getter private static HashMap<CustomPlayer, ItemStack[]> buildPlayers = new HashMap<>();
|
|
|
|
@Command(name = "build", description = "set yourself into build mode", rank = Rank.JrBuilder, inGameOnly = true)
|
|
public void build(CommandArgs args) {
|
|
if(buildPlayers.containsKey(args.getPlayer())) {
|
|
args.getPlayer().getInventory().setContents(buildPlayers.get(args.getPlayer()));
|
|
buildPlayers.remove(args.getPlayer());
|
|
args.getPlayer().setGameMode(ServerSettings.getGameMode());
|
|
}else {
|
|
buildPlayers.put(args.getPlayer(), args.getPlayer().getInventory().getContents());
|
|
args.getPlayer().getInventory().clear();
|
|
args.getPlayer().setGameMode(GameMode.CREATIVE);
|
|
}
|
|
}
|
|
|
|
@Command(name = "gamemode", aliases = {"gm"}, description = "change your gamemode", rank = Rank.Builder, inGameOnly = true)
|
|
public void gamemode(CommandArgs args) {
|
|
if(args.length() == 1) {
|
|
args.getPlayer().setGameMode(getModeFromString(args.getArg(0)));
|
|
}
|
|
}
|
|
|
|
@Completer(name = "gamemode", aliases = {"gm"})
|
|
public List<String> gameModeCompletor(CommandArgs args) {
|
|
List<String> list = new ArrayList<>();
|
|
|
|
list.add("0");
|
|
list.add("1");
|
|
list.add("2");
|
|
list.add("3");
|
|
list.add("Survival");
|
|
list.add("Creative");
|
|
list.add("Adventure");
|
|
list.add("Spectator");
|
|
|
|
return list;
|
|
}
|
|
|
|
private GameMode getModeFromString(String string) {
|
|
switch(string) {
|
|
case "0" : return GameMode.SURVIVAL;
|
|
case "1" : return GameMode.CREATIVE;
|
|
case "2": return GameMode.ADVENTURE;
|
|
case "3" : return GameMode.SPECTATOR;
|
|
case "Survial" : return GameMode.SURVIVAL;
|
|
case "Creative" : return GameMode.CREATIVE;
|
|
case "Adventure" : return GameMode.ADVENTURE;
|
|
case "Spectator" : return GameMode.SPECTATOR;
|
|
default: return GameMode.SPECTATOR;
|
|
}
|
|
}
|
|
} |