Hi, my friend had make plugin, and here's the code - but monsters don't attack players and mobs are dissaperaing when noone is nearly - can onyone help ? It's a plugin that disable monsters & mobs from spawn, and allow spawn them by command. Code: package bukkit.Nsuidara.Spawner; import org.bukkit.event.Event; import org.bukkit.event.Event.Priority; import org.bukkit.plugin.java.JavaPlugin; import org.bukkit.plugin.PluginManager; public class Spawner extends JavaPlugin { @Override public void onDisable() { } public ListnerPlayer vPListner = new ListnerPlayer(this); public ListnerMobs vMListner = new ListnerMobs(this); public boolean vOFF = true; public void onEnable() { System.out.println("Start Pluginu"); PluginManager gManager = getServer().getPluginManager(); gManager.registerEvent(Event.Type.CREATURE_SPAWN, vMListner, Priority.Highest, this); gManager.registerEvent(Event.Type.PLAYER_COMMAND_PREPROCESS , vPListner, Priority.Highest, this); }a } 16:49:14 package bukkit.Nsuidara.Spawner; import org.bukkit.Location; import org.bukkit.World; import org.bukkit.entity.CreatureType; import org.bukkit.entity.Player; import org.bukkit.event.player.PlayerCommandPreprocessEvent; import org.bukkit.event.player.PlayerListener; public class ListnerPlayer extends PlayerListener { private Spawner vPlugin = null; public ListnerPlayer(Spawner _Plugin) { vPlugin = _Plugin; } public void onPlayerCommandPreprocess(PlayerCommandPreprocessEvent _Event) { if(_Event.getMessage().contains(" ")) { String[] _Split = _Event.getMessage().split(" "); Player _Player = _Event.getPlayer(); World _World = _Player.getLocation().getWorld(); if(_Split[0].equalsIgnoreCase("/monster") && _Player.isOp()) { CreatureType vType = null; if(_Split[1].equalsIgnoreCase("CHICKEN")) vType = CreatureType.CHICKEN; else if(_Split[1].equalsIgnoreCase("COW")) vType = CreatureType.COW; else if(_Split[1].equalsIgnoreCase("CREEPER")) vType = CreatureType.CREEPER; else if(_Split[1].equalsIgnoreCase("GHAST")) vType = CreatureType.GHAST; else if(_Split[1].equalsIgnoreCase("GIANT")) vType = CreatureType.GIANT; else if(_Split[1].equalsIgnoreCase("MONSTER")) vType = CreatureType.MONSTER; else if(_Split[1].equalsIgnoreCase("PIG")) vType = CreatureType.PIG; else if(_Split[1].equalsIgnoreCase("PIG_ZOMBIE")) vType = CreatureType.PIG_ZOMBIE; else if(_Split[1].equalsIgnoreCase("SHEEP")) vType = CreatureType.SHEEP; else if(_Split[1].equalsIgnoreCase("SKELETON")) vType = CreatureType.SKELETON; else if(_Split[1].equalsIgnoreCase("SLIME")) vType = CreatureType.SLIME; else if(_Split[1].equalsIgnoreCase("SPIDER")) vType = CreatureType.SPIDER; else if(_Split[1].equalsIgnoreCase("SQUID")) vType = CreatureType.SQUID; else if(_Split[1].equalsIgnoreCase("WOLF")) vType = CreatureType.WOLF; else if(_Split[1].equalsIgnoreCase("ZOMBIE")) vType = CreatureType.ZOMBIE; else { _Player.sendMessage("Zwierze/Potwor o takiej nazwie nie istnieje!"); _Event.setCancelled(true); return; } if(_Split.length == 4) { int oMax = Integer.parseInt(_Split[2]); int oR = Integer.parseInt(_Split[3]); for(int i = 0; i < oMax; i++) { Location oLocation = _Player.getLocation(); double oX = oLocation.getX()+Math.random()*(2*oR) - oR; double oZ = oLocation.getZ()+Math.random()*(2*oR) - oR; oLocation.setX(oX); oLocation.setZ(oZ); vPlugin.vOFF = false; _World.spawnCreature(oLocation, vType); } _Player.sendMessage("Summoned!! "+vType.getName()+"x"+oMax+" R = "+oR); } else if(_Split.length == 3) { int oMax = Integer.parseInt(_Split[2]); for(int i = 0; i < oMax; i++) { vPlugin.vOFF = false; _World.spawnCreature(_Player.getLocation(), vType); } } else if(_Split.length == 2) { _World.spawnCreature(_Player.getLocation(), vType); } } } } } 16:49:28 package bukkit.Nsuidara.Spawner; import org.bukkit.event.entity.CreatureSpawnEvent; import org.bukkit.event.entity.EntityDeathEvent; import org.bukkit.event.entity.EntityListener; public class ListnerMobs extends EntityListener { private Spawner vPlugin = null; public ListnerMobs(Spawner _Plugin) { vPlugin = _Plugin; } public void onCreatureSpawn(CreatureSpawnEvent event) { if(vPlugin.vOFF == true) event.setCancelled(true); else vPlugin.vOFF = true; } }