Хостинг серверов Minecraft playvds.com
  1. Вы находитесь в русском сообществе Bukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на русский язык плагины наших собратьев из других стран.
    Скрыть объявление

Помогите Проблема с ChunkPopulateEvent

Тема в разделе "Разработка плагинов для новичков", создана пользователем Zoom4ikDan4ik, 1 ноя 2016.

  1. Автор темы
    Zoom4ikDan4ik

    Zoom4ikDan4ik Активный участник Пользователь

    Баллы:
    78
    Skype:
    knaz1564
    Здравствуйте, возникла проблема с проверкой блоков в чанке (работает только на Spigot, на других отказывается). Поставил грузить WorldBoarder мир, но что-то пошло не так, как запланировалось.
    [​IMG]
    Проверка чанков не должна так идти, пробовал разные способы, но ничего не помогает, может что-то где-то упустил или использую старый метод. Прошу разобраться с этой проблемой.
    Код:
        public void ChunkPopulate(ChunkPopulateEvent event) {
            World world = event.getWorld();
            Chunk chunk = event.getChunk();
            for (int i = 0; i < worldList.size(); i++)
                if (world.getName().equals(worldList.get(i))) {
                    Random random = new Random();
                    final int x = chunk.getX() << 4;
                    final int z = chunk.getZ() << 4;
                    if (debug) {
                        Main.log.info("-======-" + world.getName() + "-======-");
                        Main.log.info("-======-New Chunk-======-");
                        Main.log.info("X: " + x);
                        Main.log.info("Z: " + z);
                    }
                    Material material = Material.STONE;
                    if (air)
                        material = Material.AIR;
                    for (int ix = 0; ix < 16; ix++)
                        for (int iz = 0; iz < 16; iz++)
                            for (int y = 0; y < 128; y++) {
                                Block block = world.getBlockAt(x + ix, y, z + iz);
                                for (int j = 0; j < oreList.size(); j++) {
                                    List<Integer> blockInfo = changeToIntList(oreList.get(j));
                                    int id = blockInfo.get(0);
                                    int meta = blockInfo.get(1);
                                    int procent = blockInfo.get(2);
                                    if (id == block.getTypeId())
                                        if (meta == block.getState().getData().getData())
                                            if (random.nextInt(100) + 1 >= procent || procent == 100) 
                                                block.setType(material);
                                }
                            }
                }
        }
     
  2. Хостинг MineCraft
    <

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