Каким образом их можно отслеживать? Мне просто в голову ничего не приходит. Я с таким ранее не имел дело.
А какие есть эвенты, которые оповещают о спавне entity в мире?
Java:
@EventHandler//(priority = EventPriority.HIGHEST)
public void onEntitySpawn(final EntitySpawnEvent event) {
//Bukkit.getServer().getWorlds().get(0).getChunkAt(event.getLocation()).isLoaded();
System.out.println("TEST");
isNeededEntity = false;
EntityType etype = event.getEntityType();
if (etype == EntityType.HORSE) { //EntityType.HORSE || bullet
amountbullet++;
isNeededEntity = true;
} else if (etype == EntityType.PIG) { //EntityType.PIG || throwableitem
amountthrowableitem++;
isNeededEntity = true;
}
if (isNeededEntity) {
Bukkit.getScheduler().runTaskLater(this, new Runnable() {
@Override
public void run() {
event.getEntity().remove();
}
}, 300);
}
}
Вот так я сделал. У меня есть сомнения по поводу удаления из выгруженных чанков.
Стоит ли делать проверку на то, что чанк в котором находится entity загружен?
И стоил ли ставить "(priority = EventPriority.HIGHEST)" ?