Войти или зарегистрироваться
  • Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.

Помогите Не могу заспавнить сущность без игроков

Статус
Закрыто для дальнейших ответов.

Loltik

Активный участник
Пользователь
Баллы
66
Имя в Minecraft
Mitriyf
Здравствуйте, не могу заспавнить сущность через spawnEntity, то-есть как это работает. Если я рядом нахожусь с локацией где должен заспавниться босс, то он спавнится (в радиусе 20 блоков), а если я ушёл куда-нибудь, то его нету, якобы я телепортируюсь когда заспавнил на точку, а от него следа даже нет только остаётся боссбар, который при перезаходе может пропасть. (Также она пропадает тоже если игрок ушёл от неё)
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()));
      });
   }
 
Попробуй
this.bossEntity.setRemoveWhenFarAway(false)
 
Статус
Закрыто для дальнейших ответов.

Поделиться этой страницей

Назад
Верх