79 lines
3.5 KiB
Java
79 lines
3.5 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.Core;
|
|
import eu.univento.core.api.command.Command;
|
|
import eu.univento.core.api.command.CommandArgs;
|
|
import eu.univento.core.api.player.CustomPlayer;
|
|
import eu.univento.core.api.server.ServerSettings;
|
|
import lombok.Getter;
|
|
import org.bukkit.inventory.ItemStack;
|
|
|
|
import java.util.ArrayList;
|
|
import java.util.HashMap;
|
|
|
|
/**
|
|
* @author joethei
|
|
* @version 1.0
|
|
*/
|
|
public class ModCommands {
|
|
|
|
@Getter private static ArrayList<CustomPlayer> vanishedPlayers = new ArrayList<>();
|
|
private HashMap<CustomPlayer, ItemStack[]> inventoryContents = new HashMap<>();
|
|
private HashMap<CustomPlayer, ItemStack[]> armorContents = new HashMap<>();
|
|
|
|
@Command(name="chatclear", aliases = {"cc"}, description = "clears the chat", usage = "/clearchat", rank = Rank.JrModerator, inGameOnly = true)
|
|
public void chatClear(CommandArgs args) {
|
|
for(CustomPlayer player : Core.getOnlinePlayers()) {
|
|
if(!player.getDatabasePlayer().isAllowed(Rank.JrSupporter)) {
|
|
for(int i = 0; i <= 100; i++) player.sendMessage("");
|
|
}else player.sendMessage("§cDer Chat wurde von " + args.getPlayer().getDatabasePlayer().getRank().getColor() + args.getPlayer().getName() + " §cgeleert");
|
|
}
|
|
}
|
|
|
|
@Command(name="vanish", aliases={"v"}, description = "hide yourself", usage = "/vanish", rank = Rank.JrModerator, inGameOnly = true)
|
|
public void vanish(CommandArgs args) {
|
|
if(vanishedPlayers.contains(args.getPlayer())) {
|
|
for(CustomPlayer player : Core.getOnlinePlayers()) player.showPlayer(args.getPlayer());
|
|
vanishedPlayers.remove(args.getPlayer());
|
|
}else {
|
|
for(CustomPlayer player : Core.getOnlinePlayers()) player.hidePlayer(args.getPlayer());
|
|
vanishedPlayers.add(args.getPlayer());
|
|
}
|
|
}
|
|
|
|
@Command(name = "servermute", aliases = {"smute"}, description = "mute the entire server", usage = "/servermute", rank = Rank.SrModerator, inGameOnly = true)
|
|
public void serverMute(CommandArgs args) {
|
|
if(ServerSettings.isMute()) ServerSettings.setMute(false);
|
|
else ServerSettings.setMute(true);
|
|
}
|
|
|
|
@Command(name = "invsee", description = "see other players inventories", usage = "/invsee <player>", rank = Rank.JrModerator, inGameOnly = true)
|
|
public void invsee(CommandArgs args) {
|
|
CustomPlayer p = args.getPlayer();
|
|
if(args.length() == 1 && CustomPlayer.getPlayer(args.getArg(0)) != null) {
|
|
CustomPlayer t = CustomPlayer.getPlayer(args.getArg(0));
|
|
assert t != null;
|
|
if(inventoryContents.containsKey(p) && armorContents.containsKey(p))
|
|
return;
|
|
inventoryContents.put(p, p.getInventory().getContents());
|
|
armorContents.put(p, p.getInventory().getArmorContents());
|
|
|
|
p.getInventory().setContents(t.getInventory().getContents());
|
|
p.getInventory().setArmorContents(t.getInventory().getArmorContents());
|
|
|
|
p.openInventory(p.getInventory());
|
|
}
|
|
if(args.length() == 1 && args.getArg(0).equalsIgnoreCase("clear")) {
|
|
p.getInventory().setContents(inventoryContents.get(p));
|
|
p.getInventory().setArmorContents(armorContents.get(p));
|
|
inventoryContents.remove(p);
|
|
armorContents.remove(p);
|
|
}
|
|
}
|
|
} |