Войти или зарегистрироваться

Помогите Проблема (isChunkInUse || isChunkLoaded)

  • Автор темы Автор темы Bars
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.

Bars

Старожил
Девелопер
Пользователь
Баллы
173
Чанк загружен и я стою в соседнем, но ничего не происходит. В чате лишь
  • Debug: пришло время спавнить гиганта!
  • Debug: проверяем, загружен ли чанк на xxxx -zzzz
Java:
        Bukkit.getScheduler().runTaskTimer(this, new Runnable() {
            @Override
            public void run() {
                for (String spc : giantspawns) {
                    Bukkit.broadcastMessage("Debug: пришло время спавнить и тестить гиганта!");
                    double x = 0, y = 0, z = 0;
                    String[] s = spc.split(",");
                    try {
                        World w = Bukkit.getWorld("world");
                        Bukkit.broadcastMessage("Debug: проверяем, загружен ли чанк на " + Integer.parseInt(s[0]) + " " + Integer.parseInt(s[2]));
                        if (w.isChunkLoaded(Integer.parseInt(s[0]), Integer.parseInt(s[2]))) {
                            x = Double.parseDouble(s[0]) - 0.5;
                            y = Double.parseDouble(s[1]) + 0.5;
                            z = Double.parseDouble(s[2]) + 0.5;
                            Location l = new Location(w, x, y, z);
                            Bukkit.broadcastMessage("Debug: локация гиганта: " + x + ", " + y + ", " + z);
                            Entity e;
                            e = w.spawnEntity(l, EntityType.GIANT);
                            Bukkit.broadcastMessage("Debug: гигант заспавнен! Entity ID: " + e.getEntityId());
                            Boolean despawn = true;
                            for (Entity en : e.getNearbyEntities(250, 50, 250)) {
                                if (en instanceof Player) despawn = false;
                                if (en instanceof Giant) {
                                    Bukkit.broadcastMessage("Debug: не спавним, поблизости найден другой гигант");
                                    e.remove();
                                    break;
                                }
                            }
                       
                            if (despawn) e.remove();
                            Bukkit.broadcastMessage("_________________________");
                        }
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                }

                for (Player p : Bukkit.getOnlinePlayers()) {
                    savePlayerData(p, false);
                    p.playSound(p.getLocation(), Sound.AMBIENCE_CAVE, 1.0F, 1.0F);
                }
            }
        }, 0L, 6000L);
 
Чанк загружен и я стою в соседнем, но ничего не происходит. В
.isChunkLoaded(x координата чанка, z координата чанка)
Рекомендую использовать:
w.isChunkLoaded(Integer.parseInt(s[0])>>4, Integer.parseInt(s[2])>>4)
 
.isChunkLoaded(x координата чанка, z координата чанка)
Рекомендую использовать:
w.isChunkLoaded(Integer.parseInt(s[0])>>4, Integer.parseInt(s[2])>>4)
Оперативненько :)
Докладываю результат:
T72bLZo.png
 
Последнее редактирование:
Статус
Закрыто для дальнейших ответов.
Назад
Верх