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

Помогите Добавить проверку блока

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

Vyacheslav7319521

Участник
Баллы
31
Здравствуйте. Я новичок в разработке плагинов, по этому прошу помощи. (Заранее извиняюсь, если делаю это не в том разделе)

Есть плагин на автоматические карьеры. Нужно добавить проверку, что если текущай блок - алмазная руда - не добывать ничего, но и блок из мира удалить. А то ломает экономику))
Сейчас плагин добывает все блоки, кроме исключений (бедрок и т.д.), которые просто пропускает. (эту функцию и нужно так оставить)

Код плагина прикладываю
 

Вложения:

Думаю что добавить нужно что-то именно в эту функцию:
Код:
public void mineNextBlock() {
        if(markedForDeletion) return;
        Block blockToMine = findNextBlock();
        
        if(classicMode) {
            // Ignore air, water, lava, or bedrock
            Material thisMaterial = blockToMine.getType();
            while(thisMaterial.equals(Material.AIR )|| thisMaterial.equals(Material.WATER) || thisMaterial.equals(Material.LAVA) || thisMaterial.equals(Material.BEDROCK) || thisMaterial.equals(Material.SPAWNER) || thisMaterial.equals(Material.TRIAL_SPAWNER) || thisMaterial.equals(Material.VAULT) || thisMaterial.equals(Material.END_PORTAL_FRAME) || thisMaterial.equals(Material.REINFORCED_DEEPSLATE)) {
                moveMiningCursor();
                blockToMine = findNextBlock();
                thisMaterial = blockToMine.getType();
                if(nextX == maxX && nextY == world.getMinHeight() && nextZ == maxZ) break;
            }
            if(thisMaterial.equals(Material.AIR )|| thisMaterial.equals(Material.WATER) || thisMaterial.equals(Material.LAVA) || thisMaterial.equals(Material.BEDROCK) || thisMaterial.equals(Material.SPAWNER) || thisMaterial.equals(Material.TRIAL_SPAWNER) || thisMaterial.equals(Material.VAULT) || thisMaterial.equals(Material.END_PORTAL_FRAME) || thisMaterial.equals(Material.REINFORCED_DEEPSLATE)) {
                if(nextX == maxX && nextY == world.getMinHeight() && nextZ == maxZ && !alerted) {
                    alerted = true;
                    finished = true;
                    tellOwner(ChatColor.BLUE + Main.configurableMessages.finishedBeforeCoords() + " " + centreChestLocation.toVector().toString() + " " + Main.configurableMessages.finishedAfterCoords());
                }
                    
                return;
            }
 
Статус
Закрыто для дальнейших ответов.

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

Назад
Верх