- Баллы
- 66
- Имя в Minecraft
- Mitriyf
Здравствуйте, не могу заспавнить сущность через spawnEntity, то-есть как это работает. Если я рядом нахожусь с локацией где должен заспавниться босс, то он спавнится (в радиусе 20 блоков), а если я ушёл куда-нибудь, то его нету, якобы я телепортируюсь когда заспавнил на точку, а от него следа даже нет только остаётся боссбар, который при перезаходе может пропасть. (Также она пропадает тоже если игрок ушёл от неё)
Paper 1.19.4, Minecraft, Java
Код, в котором может возникать ошибка:
Paper 1.19.4, Minecraft, Java
Код, в котором может возникать ошибка:
Код:
public void spawnBoss(Boss boss) {
this.boss = boss;
boss.getLocation().getChunk().load();
this.bossEntity = (LivingEntity)boss.getLocation().getWorld().spawnEntity(boss.getLocation(), boss.getType());
this.bossEntity.setCanPickupItems(false);
this.bossEntity.setMaxHealth((double)boss.getHealth());
this.bossEntity.setHealth((double)boss.getHealth());
this.bossEntity.setCustomName(boss.getName());
this.bossEntity.setCustomNameVisible(true);
this.bossEntity.setGlowing(true);
if (this.bossEntity.getType() == EntityType.ZOMBIE) {
((Zombie)this.bossEntity).setBaby(false);
}
this.bossEntity.setMetadata(boss.getId(), new FixedMetadataValue(this, "from_ricebosses"));
this.bossBar = this.getServer().createBossBar(ColorHelper.colorize(Configs.MAIN_CONFIG.getBossbar().replace("%name%", boss.getName()).replace("%health%", String.valueOf(Math.round(this.bossEntity.getHealth())))), boss.getColor(), BarStyle.SEGMENTED_12, new BarFlag[0]);
this.bossBar.setVisible(true);
this.bossBar.setProgress(1.0D);
Collection<? extends Player> onlinePlayers = this.getServer().getOnlinePlayers();
BossBar bossBar = this.bossBar;
onlinePlayers.forEach(player -> bossBar.addPlayer(player));
this.getServer().getOnlinePlayers().forEach((player) -> {
Lang.SPAWNED.send(player, new Pair("%id%", boss.getId()), new Pair("%name%", boss.getName()));
});
}