- 198
- 1
- 24
Хочу добавить в свой мод возможность замены всех скелетов на зомби. Для этого сделал вот такой обработчик событий:
Но при загрузке мира на сервере виснет где-то на 95-98%.
Виснет именно на
Если в конфиге noSkeletons=false то грузится нормально.
Нерабочий код:
@SubscribeEvent
public static void onJoin(EntityJoinWorldEvent event) {
if (ConfigHandler.GENERAL.noSkeletons.get()) {
Zombienation.LOGGER.debug("Attempting to replace skeleton with zombie...");
if (event.getEntity() instanceof SkeletonEntity || event.getEntity() instanceof StrayEntity) {
if (event.getEntity().level.dimension().location().toString().equals("minecraft:overworld")) {
ZombieEntity zombie = new ZombieEntity(EntityType.ZOMBIE, event.getEntity().level);
zombie.setPos(event.getEntity().getX(), event.getEntity().getY(), event.getEntity().getZ());
event.getEntity().level.addFreshEntity(zombie);
event.getEntity().remove();
Zombienation.LOGGER.debug("Done!");
}
}
}
/* Дальше идёт ещё куча кода, он весь там уже давно, работает, и я его сегодня не трогал */
} /* И ещё куча всего, тоже давно, работает и не трогал :D /*
Виснет именно на
event.getEntity().level.addFreshEntity(zombie);, насколько я понял, заставляя мод на каждом этапе писать в консоль, что он сейчас собирается делать.Если в конфиге noSkeletons=false то грузится нормально.