CreatureSpawnEvent
Napsal: 07 lis 2016, 01:04
Dobrý deň skušal som naprogramovať plugin ktorý by som potreboval ale mám jeden problém ktorý však neviem vyriešiť . Plugin ma robiť nasledovnú vec: Ak sa na servery bude chceť spawnuť Entity Zombie ktorá nebude pomenovaná čiže keď to bude normalný Zombie tak sa nebude môcť spawnuť ale keď bude Zombie pomenovaný Super Boss tak potrebujem aby sa mohol spawnuť no a problém je v tom že keď chcem aby sa spawnul Zombie s menom Super boss tak to nejde blokuje mi to všetkých Zombie čo je problém.
Kod ktorý som napísal ja:
@EventHandler(priority=EventPriority.MONITOR)
public void onSpawn(CreatureSpawnEvent e) {
if (e.getEntity() instanceof Zombie) {
e.setCancelled(false);
Zombie z = (Zombie) e.getEntity();
if (z.getCustomName() == null) {
e.setCancelled(true);
}
Bukkit.broadcastMessage("Debug1");
try {
Bukkit.broadcastMessage("Debug2");
if (z.getCustomName().equalsIgnoreCase("SuperBoss")) {
Bukkit.broadcastMessage("Debug3");
e.setCancelled(false);
}
Bukkit.broadcastMessage("Debug4");
} catch (Exception ex) {
Bukkit.broadcastMessage("Debug5");
System.out.println("");
}
Bukkit.broadcastMessage("Debug6");
}
}
Bukkit.broadcastMessage("Debug1-6"); je v tom kode nato aby som zistil po kde to prejde a prejde to cez debug 1,2,5,6.
Chcem poprosiť nejakeho dobrého programátora aby mi ten kod opravil alebo aby mi napísal prečo to nejde a aby mi napísal ako to mám opraviť tak aby to fungovalo tak ako ja potrebujem Dakujem za pomoc
Kod ktorý som napísal ja:
@EventHandler(priority=EventPriority.MONITOR)
public void onSpawn(CreatureSpawnEvent e) {
if (e.getEntity() instanceof Zombie) {
e.setCancelled(false);
Zombie z = (Zombie) e.getEntity();
if (z.getCustomName() == null) {
e.setCancelled(true);
}
Bukkit.broadcastMessage("Debug1");
try {
Bukkit.broadcastMessage("Debug2");
if (z.getCustomName().equalsIgnoreCase("SuperBoss")) {
Bukkit.broadcastMessage("Debug3");
e.setCancelled(false);
}
Bukkit.broadcastMessage("Debug4");
} catch (Exception ex) {
Bukkit.broadcastMessage("Debug5");
System.out.println("");
}
Bukkit.broadcastMessage("Debug6");
}
}
Bukkit.broadcastMessage("Debug1-6"); je v tom kode nato aby som zistil po kde to prejde a prejde to cez debug 1,2,5,6.
Chcem poprosiť nejakeho dobrého programátora aby mi ten kod opravil alebo aby mi napísal prečo to nejde a aby mi napísal ako to mám opraviť tak aby to fungovalo tak ako ja potrebujem Dakujem za pomoc