mirror of
https://github.com/AtlasMediaGroup/TotalFreedomMod.git
synced 2025-06-11 21:43:54 +00:00
yay more things
This commit is contained in:
@ -1,8 +1,12 @@
|
||||
package me.totalfreedom.totalfreedommod.command;
|
||||
|
||||
import com.sk89q.worldedit.blocks.metadata.MobType;
|
||||
import me.totalfreedom.totalfreedommod.rank.Rank;
|
||||
import me.totalfreedom.totalfreedommod.util.FUtil;
|
||||
import me.totalfreedom.totalfreedommod.util.Groups;
|
||||
import org.apache.commons.lang.WordUtils;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.World;
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandSender;
|
||||
@ -10,32 +14,64 @@ import org.bukkit.entity.Ambient;
|
||||
import org.bukkit.entity.Creature;
|
||||
import org.bukkit.entity.EnderDragon;
|
||||
import org.bukkit.entity.Entity;
|
||||
import org.bukkit.entity.EntityType;
|
||||
import org.bukkit.entity.Ghast;
|
||||
import org.bukkit.entity.LivingEntity;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.entity.Slime;
|
||||
|
||||
@CommandPermissions(level = Rank.SUPER_ADMIN, source = SourceType.BOTH)
|
||||
@CommandParameters(description = "Purge all mobs in all worlds.", usage = "/<command>", aliases = "mp")
|
||||
@CommandParameters(description = "Purge all mobs in all worlds.", usage = "/<command> [name]", aliases = "mp")
|
||||
public class Command_mobpurge extends FreedomCommand
|
||||
{
|
||||
|
||||
@Override
|
||||
public boolean run(CommandSender sender, Player playerSender, Command cmd, String commandLabel, String[] args, boolean senderIsConsole)
|
||||
{
|
||||
FUtil.adminAction(sender.getName(), "Purging all mobs", true);
|
||||
msg(purgeMobs() + " mobs removed.");
|
||||
EntityType type = null;
|
||||
String mobName = null;
|
||||
if (args.length > 0)
|
||||
{
|
||||
try
|
||||
{
|
||||
type = EntityType.valueOf(args[0].toUpperCase());
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
msg(args[0] + " is not a valid mob type.", ChatColor.RED);
|
||||
return true;
|
||||
}
|
||||
|
||||
if (!Groups.MOB_TYPES.contains(type))
|
||||
{
|
||||
msg(WordUtils.capitalizeFully(type.name().replace("_", " ")) + " is an entity, however it is not a mob.", ChatColor.RED);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
if (type != null)
|
||||
{
|
||||
mobName = WordUtils.capitalizeFully(type.name().replace("_", " "));
|
||||
}
|
||||
|
||||
FUtil.adminAction(sender.getName(), "Purging all " + (type != null ? mobName + "s" : "mobs"), true);
|
||||
msg(purgeMobs(type) + " " + (type != null ? mobName : "mob") + "s removed.");
|
||||
return true;
|
||||
}
|
||||
|
||||
public static int purgeMobs()
|
||||
public static int purgeMobs(EntityType type)
|
||||
{
|
||||
int removed = 0;
|
||||
for (World world : Bukkit.getWorlds())
|
||||
{
|
||||
for (Entity ent : world.getLivingEntities())
|
||||
{
|
||||
if (ent instanceof Creature || ent instanceof Ghast || ent instanceof Slime || ent instanceof EnderDragon || ent instanceof Ambient)
|
||||
if (ent instanceof LivingEntity && !(ent instanceof Player))
|
||||
{
|
||||
if (type != null && !ent.getType().equals(type))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
ent.remove();
|
||||
removed++;
|
||||
}
|
||||
|
@ -66,7 +66,7 @@ public class Command_purgeall extends FreedomCommand
|
||||
plugin.fm.setGlobalFreeze(false);
|
||||
|
||||
// Remove all mobs
|
||||
Command_mobpurge.purgeMobs();
|
||||
Command_mobpurge.purgeMobs(null);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
@ -4,7 +4,7 @@ import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import me.totalfreedom.totalfreedommod.rank.Rank;
|
||||
import me.totalfreedom.totalfreedommod.util.FUtil;
|
||||
import me.totalfreedom.totalfreedommod.util.MaterialGroup;
|
||||
import me.totalfreedom.totalfreedommod.util.Groups;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.Location;
|
||||
@ -32,7 +32,7 @@ public class Command_ro extends FreedomCommand
|
||||
String names = null;
|
||||
if (args[0].equalsIgnoreCase("shulker_boxes") || args[0].equalsIgnoreCase("shulkers"))
|
||||
{
|
||||
materials.addAll(MaterialGroup.SHULKER_BOXES);
|
||||
materials.addAll(Groups.SHULKER_BOXES);
|
||||
names = "shulker boxes";
|
||||
}
|
||||
else
|
||||
|
@ -1,6 +1,8 @@
|
||||
package me.totalfreedom.totalfreedommod.command;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import me.totalfreedom.totalfreedommod.admin.Admin;
|
||||
import me.totalfreedom.totalfreedommod.masterbuilder.MasterBuilder;
|
||||
import me.totalfreedom.totalfreedommod.player.FPlayer;
|
||||
@ -301,4 +303,10 @@ public class Command_saconfig extends FreedomCommand
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/*@Override
|
||||
public List<String> tabComplete(CommandSender sender, Command command, String alias, String[] args)
|
||||
{
|
||||
return Arrays.asList("list", "clean", "reload", "setrank", "add", "remove", "info");
|
||||
}*/
|
||||
}
|
||||
|
@ -8,7 +8,7 @@ import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
@CommandPermissions(level = Rank.TELNET_ADMIN, source = SourceType.BOTH)
|
||||
@CommandPermissions(level = Rank.SENIOR_ADMIN, source = SourceType.ONLY_CONSOLE)
|
||||
@CommandParameters(description = "Wipe all WorldGuard regions for a specified world.", usage = "/<command> <world>")
|
||||
public class Command_wiperegions extends FreedomCommand
|
||||
{
|
||||
@ -29,21 +29,25 @@ public class Command_wiperegions extends FreedomCommand
|
||||
World world = server.getWorld(args[0]);
|
||||
if (world == null)
|
||||
{
|
||||
msg("World : \"" + args[0] + "\" not found.");
|
||||
msg("There is no world named \"" + args[0] + "\"", ChatColor.RED);
|
||||
return true;
|
||||
}
|
||||
if (world.equals(plugin.wm.adminworld.getWorld()))
|
||||
{
|
||||
checkRank(Rank.SENIOR_ADMIN);
|
||||
}
|
||||
if (plugin.wgb.wipeRegions(world))
|
||||
|
||||
int regionsWiped = plugin.wgb.wipeRegions(world);
|
||||
|
||||
if (regionsWiped != 0)
|
||||
{
|
||||
FUtil.adminAction(sender.getName(), "Wiping regions for world: " + world.getName(), true);
|
||||
FUtil.adminAction(sender.getName(), "Wiped all regions in " + world.getName(), true);
|
||||
msg("Wiped " + regionsWiped + " regions in " + world.getName());
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
msg(ChatColor.RED + "No regions were found in: \"" + world.getName() + "\".");
|
||||
msg(ChatColor.RED + "No regions were found in \"" + world.getName() + "\"");
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
@ -1,5 +1,11 @@
|
||||
package me.totalfreedom.totalfreedommod.command;
|
||||
|
||||
import com.earth2me.essentials.CommandSource;
|
||||
import com.google.common.collect.Lists;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import lombok.Getter;
|
||||
import me.totalfreedom.totalfreedommod.TotalFreedomMod;
|
||||
import me.totalfreedom.totalfreedommod.admin.Admin;
|
||||
@ -10,10 +16,12 @@ import me.totalfreedom.totalfreedommod.util.FUtil;
|
||||
import net.pravian.aero.command.AbstractCommandBase;
|
||||
import net.pravian.aero.util.Players;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.Server;
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.command.PluginCommand;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.util.StringUtil;
|
||||
|
||||
public abstract class FreedomCommand extends AbstractCommandBase<TotalFreedomMod>
|
||||
{
|
||||
@ -68,6 +76,12 @@ public abstract class FreedomCommand extends AbstractCommandBase<TotalFreedomMod
|
||||
|
||||
protected abstract boolean run(final CommandSender sender, final Player playerSender, final Command cmd, final String commandLabel, final String[] args, final boolean senderIsConsole);
|
||||
|
||||
/*@Override
|
||||
public List<String> tabComplete(CommandSender sender, Command command, String alias, String[] args)
|
||||
{
|
||||
return Arrays.asList("x", "d");
|
||||
}*/
|
||||
|
||||
protected void checkConsole()
|
||||
{
|
||||
if (!isConsole())
|
||||
|
Reference in New Issue
Block a user