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

Помогите [Решено] Запрет на тушение огня рукой

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

dnebik

Активный участник
Пользователь
Баллы
66
Имя в Minecraft
dnebik
Просто нужно сделать так чтобы нельзя было потушить огонь рукой, но если есть креатив или оп то пожалуйста... Так вот будь то огонь блоком нет проблем а тут я хз... и по моему это даже не entity как там рамка или вагонетка
так что просьба подогнать кодик
 
Неужели ни кто не знает?
 
А если слушать блокбреакевент? Не видит? Вроде, огонь это как вода, через него ломать можно.

Если все-же не работает, то можно сделать все через попу смотреть на какую грань тыкнул игрок и проверять, если на 1 блок в сторону этой грани огонь, то отменять.
 
А если слушать блокбреакевент? Не видит? Вроде, огонь это как вода, через него ломать можно.

Если все-же не работает, то можно сделать все через попу смотреть на какую грань тыкнул игрок и проверять, если на 1 блок в сторону этой грани огонь, то отменять.


у меня такая фигня я сделал список блоков которые можно разрушать ,если блока в списке нет ,то отмена действия, ну как можно понять огонь если ударишь он спокойно тушится

у меня была верся что это entity как рамки и т.п., но если подумать, тогда бы он тушился от попадания стрелой снежком и т.п. ...
кто нибудь еще?
 
у меня такая фигня я сделал список блоков которые можно разрушать ,если блока в списке нет ,то отмена действия, ну как можно понять огонь если ударишь он спокойно тушится

у меня была верся что это entity как рамки и т.п., но если подумать, тогда бы он тушился от попадания стрелой снежком и т.п. ...
кто нибудь еще?

Я-же вам сказал, что это не entity и даже предложил вариант.
 
Я-же вам сказал, что это не entity и даже предложил вариант.

у меня такая фигня я сделал список блоков которые можно разрушать ,если блока в списке нет ,то отмена действия, ну как можно понять огонь если ударишь он спокойно тушится

я вроде понятно ответил...
то есть огонь не является блоком
Если все-же не работает, то можно сделать все через попу смотреть на какую грань тыкнул игрок и проверять, если на 1 блок в сторону этой грани огонь, то отменять.

и если так делать ,то мне нужно сначала понять что такое огонь если это не блок и не entity
 
я вроде понятно ответил...
то есть огонь не является блоком


и если так делать ,то мне нужно сначала понять что такое огонь если это не блок и не entity

Огонь - блок. Просто через него можно бить. Как через воду.
Вот, что-то подобное тут уже было: http://www.rubukkit.org/threads/Ловля-eventa-набирания-колбы.69823/#post-895610
 
Огонь - блок. Просто через него можно бить. Как через воду.
Вот, что-то подобное тут уже было: http://www.rubukkit.org/threads/Ловля-eventa-набирания-колбы.69823/#post-895610

ну ок это я понял но как тогда понять на что он смотрит в плане if((player.что тут == и что тут) && (event.getAction() == Action.LEFT_CLICK_BLOCK)) *да я нубас блин
я просто просмотре все что туда можно пихтуть и не нашол что либо связаное со взглядом...
 
Последнее редактирование:
ну ок это я понял но как тогда понять на что он смотрит в плане if((player.что тут == и что тут) && (event.getAction() == Action.LEFT_CLICK_BLOCK)) *да я нубас блин
я просто просмотре все что туда можно пихтуть и не нашол что либо связаное со взглядом...

Ну вообще, Player есть метод getTargetBlock. Но повторюсь, ни на воду ни на огонь смотреть нельзя.
 
Ну вообще, Player есть метод getTargetBlock. Но повторюсь, ни на воду ни на огонь смотреть нельзя.
ну ок вот я что то написал:
Код:
@SuppressWarnings("deprecation")
    @EventHandler
    public void onFireBrick(PlayerInteractEvent event){
        if(event.getPlayer().getTargetBlock(null, 10) != null && event.getAction() == Action.LEFT_CLICK_BLOCK){
            Block block = event.getPlayer().getTargetBlock(null, 10);
            Location loc = block.getLocation();
            loc.setY(loc.getY()+1);
            if(loc.getBlock().getType() == Material.FIRE){
                event.setCancelled(true);
            }
        }
    }
но не работает
При малом дэбаге понял что loc.getY()+1 не нужен при ударе он видет что это огонь и так
но даже и так это не работает в плане setCancelled не проходит
ок раз не работает setCancelled то делаем так:
Код:
 loc.getBlock().setType(Material.FIRE);
но не тут то было....
если я ставлю вместо огня там STONE то он уже появляется....
Лол не знаю почему но при перезаходе огонь все же появляется!!! так что все работает!!!
 
Последнее редактирование:
Статус
Закрыто для дальнейших ответов.
Назад
Верх