Помогите Как понять, игрок рубит дерево или просто блок дуба?

Удалил первое сообщение, которое писал тут, ибо не понял вопроса*

Нужно проверить примерное количество древесины и наличие прилегающей напрямую листвы.
 
Удалил первое сообщение, которое писал тут, ибо не понял вопроса*

Нужно проверить примерное количество древесины и наличие прилегающей напрямую листвы.
https://www.spigotmc.org/resources/woodcutter-plugin-for-a-unique-income.64599/
Как тут работает(не считая регионы)?
 
Игрок всегда рубит блок дерева. Тебе нужно самому проверять в цикле все ближайшие блоки.
 
Игрок всегда рубит блок дерева. Тебе нужно самому проверять в цикле все ближайшие блоки.
Удалил первое сообщение, которое писал тут, ибо не понял вопроса*

Нужно проверить примерное количество древесины и наличие прилегающей напрямую листвы.

Так если он срубил блок находящийся в дереве, а потом обратно поставил и снова срубил.
 
Так если он срубил блок находящийся в дереве, а потом обратно поставил и снова срубил.
Ну это ж майнкрафт, тут все из отдельных блоков, внезапно. Да он сможет ручками построить типо дерево и твой алгоритм сработает как и с естественными при генерации.
 
Ну это ж майнкрафт, тут все из отдельных блоков, внезапно. Да он сможет ручками построить типо дерево и твой алгоритм сработает как и с естественными при генерации.
На гриф сервере с квестами по срубанию деревьев это каким-то образом пофикшено. И строить деревья пытался и на место срубленного - не работает. Может как-то узнать кто блок установил, по типу CoreProtect.
 
На гриф сервере с квестами по срубанию деревьев это каким-то образом пофикшено. И строить деревья пытался и на место срубленного - не работает. Может как-то узнать кто блок установил, по типу CoreProtect.
Ну скорее всего ты просто листву не так ставил. Она у тебя исчезала без прикосновения к стволу?
 
Значит слушали BlockPlaceEvent и костылями исправляли это.
 
Или собирали все установленные игроками брёвна в файлик и потом через условия шагать
Пора вас остановить, а то совсем куда то в дебри копать начали.
Код:
    @EventHandler
    public void onBreak(BlockBreakEvent e){
        if(e.getBlock().hasMetadata("rubukkit")){
            e.getPlayer().sendMessage("Вы сломали блок который сами же поставили");
        }
    }
   
    @EventHandler
    public void onPlace(BlockPlaceEvent e){
        e.getBlock().setMetadata("rubukkit", new FixedMetadataValue(this, "bambuk"));
    }
 
Пора вас остановить, а то совсем куда то в дебри копать начали.
Код:
    @EventHandler
    public void onBreak(BlockBreakEvent e){
        if(e.getBlock().hasMetadata("rubukkit")){
            e.getPlayer().sendMessage("Вы сломали блок который сами же поставили");
        }
    }
 
    @EventHandler
    public void onPlace(BlockPlaceEvent e){
        e.getBlock().setMetadata("rubukkit", new FixedMetadataValue(this, "bambuk"));
    }
Ну как затычка до рестарта сойдет. Только озу потечет, все в памяти хранит же)
 
Назад
Верх