mirror of
https://github.com/AtlasMediaGroup/TotalFreedomMod.git
synced 2024-11-27 01:05:38 +00:00
rewrote the entitywiper
This commit is contained in:
parent
81621d260d
commit
cf21b8d07e
@ -0,0 +1,78 @@
|
||||
package me.totalfreedom.totalfreedommod;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.World;
|
||||
import org.bukkit.entity.Entity;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.scheduler.BukkitRunnable;
|
||||
import org.bukkit.scheduler.BukkitTask;
|
||||
|
||||
public class EntityWiper extends FreedomService
|
||||
{
|
||||
private BukkitTask wiper;
|
||||
|
||||
public EntityWiper(TotalFreedomMod plugin)
|
||||
{
|
||||
super(plugin);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onStart()
|
||||
{
|
||||
// Continuous Entity Wiper
|
||||
wiper = new BukkitRunnable()
|
||||
{
|
||||
@Override
|
||||
public void run()
|
||||
{
|
||||
for (World world : Bukkit.getWorlds())
|
||||
{
|
||||
if (world.getEntities().size() > 400)
|
||||
{
|
||||
world.getEntities().clear();
|
||||
}
|
||||
}
|
||||
}
|
||||
}.runTaskTimer(plugin, 0, 1);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onStop()
|
||||
{
|
||||
wiper.cancel();
|
||||
wiper = null;
|
||||
}
|
||||
|
||||
// Methods for wiping
|
||||
|
||||
public int wipe()
|
||||
{
|
||||
int removed = 0;
|
||||
for (World world : Bukkit.getWorlds())
|
||||
{
|
||||
for (Entity entity : world.getEntities())
|
||||
{
|
||||
if (!(entity instanceof Player))
|
||||
{
|
||||
entity.remove();
|
||||
removed++;
|
||||
}
|
||||
}
|
||||
}
|
||||
return removed;
|
||||
}
|
||||
|
||||
public int wipe(World world)
|
||||
{
|
||||
int removed = 0;
|
||||
for (Entity entity : world.getEntities())
|
||||
{
|
||||
if (!(entity instanceof Player))
|
||||
{
|
||||
entity.remove();
|
||||
removed++;
|
||||
}
|
||||
}
|
||||
return removed;
|
||||
}
|
||||
}
|
@ -126,6 +126,7 @@ public class TotalFreedomMod extends AeroPlugin<TotalFreedomMod>
|
||||
public MasterBuilderWorldRestrictions mbwr;
|
||||
public SignBlocker snp;
|
||||
public PlayerVerification pv;
|
||||
public EntityWiper ew;
|
||||
//public HubWorldRestrictions hwr;
|
||||
//
|
||||
// Bridges
|
||||
@ -210,6 +211,7 @@ public class TotalFreedomMod extends AeroPlugin<TotalFreedomMod>
|
||||
pa = services.registerService(ProtectArea.class);
|
||||
gr = services.registerService(GameRuleHandler.class);
|
||||
snp = services.registerService(SignBlocker.class);
|
||||
ew = services.registerService(EntityWiper.class);
|
||||
|
||||
// Single admin utils
|
||||
rb = services.registerService(RollbackManager.class);
|
||||
|
@ -18,18 +18,7 @@ public class Command_entitywipe extends FreedomCommand
|
||||
public boolean run(CommandSender sender, Player playerSender, Command cmd, String commandLabel, String[] args, boolean senderIsConsole)
|
||||
{
|
||||
FUtil.adminAction(sender.getName(), "Removing all server entities", true);
|
||||
int removed = 0;
|
||||
for (World world : Bukkit.getWorlds())
|
||||
{
|
||||
for (Entity entity : world.getEntities())
|
||||
{
|
||||
if (!(entity instanceof Player))
|
||||
{
|
||||
entity.remove();
|
||||
removed++;
|
||||
}
|
||||
}
|
||||
}
|
||||
int removed = plugin.ew.wipe();
|
||||
msg(removed + " entities removed.");
|
||||
|
||||
return true;
|
||||
|
Loading…
Reference in New Issue
Block a user