Помогите Запрет на течение воды.

HamBurgeR

Участник
Пользователь
Баллы
31
Приветули. Такая ситуация. Очень пытаюсь познать ремесло написания плагинов, но делать это сложно, поскольку все линки старые и многие не работают. У меня есть мод Mariculture на сервере и там есть тип воды, которая ломает всё своим течением. В конфигах запрета данной функции нету. Плюс, помимо с этим хотел написать плагин на запрет течения воды и лавы на всей карте, включая территории без привата, а таких плагинов найти не смог. Как я понял, мне нужна эта штука BlockFromToEvent. Но, мне нужно немного помощи с объяснением, как именно её использовать. Спасибо!
 
Если есть WG, то можно выставлять флаг water-flow.Иначе, в ивенте BlockFromToEvent проверяешь, вода ли это и закрываешь ивент.Примерно так:
Java:
@EventHandler
private void onWaterFlow(BlockFromToEvent event) {
    if (event.getBlock().getType() == Material.WATER)
        event.setCancelled(true);
}
 
Если есть WG, то можно выставлять флаг water-flow.Иначе, в ивенте BlockFromToEvent проверяешь, вода ли это и закрываешь ивент.Примерно так:
Java:
@EventHandler
private void onWaterFlow(BlockFromToEvent event) {
    if (event.getBlock().getType() == Material.WATER)
        event.setCancelled(true);
}
А не знаешь, можно ли WATER заменить на ид воды из мода? Или нужно что-то другое делать?
 
Потому что староверы не могут в проверку обновлений, и узнать, что Material есть почти у всех предметов в модах.
getTypeId() == 800)
Фразу getTypeId Эклипс почему-то зачёркивает. И просит добавить @SuppressWarnings("deprecation")
И ещё вопрос. А если внести дополнительно мод, как библиотеку, а в нём указать место "WATER" слово из мода? Такое будет работать?
 
getTypeId() == 800)
Фразу getTypeId Эклипс почему-то зачёркивает. И просит добавить @SuppressWarnings("deprecation")
И ещё вопрос. А если внести дополнительно мод, как библиотеку, а в нём указать место "WATER" слово из мода? Такое будет работать?
ну и пусть зачеркивает. главное чтобы красным не зачеркивало :)
 
getTypeId() == 800)
Фразу getTypeId Эклипс почему-то зачёркивает. И просит добавить @SuppressWarnings("deprecation")
это значит что метод устарел и что в любой момент его могут убрать, поэтому его использование не желательно. если мне не изменяет память то он еще с 1.7 уже deprecated

И ещё вопрос. А если внести дополнительно мод, как библиотеку, а в нём указать место "WATER" слово из мода? Такое будет работать?
эээксперименты. проверьте и посмотрите.
 
это значит что метод устарел и что в любой момент его могут убрать, поэтому его использование не желательно. если мне не изменяет память то он еще с 1.7 уже deprecated


эээксперименты. проверьте и посмотрите.
Если метод устарел, то это не значит что его в любой момент могут убрать.
getTypeId() == 800)
Фразу getTypeId Эклипс почему-то зачёркивает. И просит добавить @SuppressWarnings("deprecation")
И ещё вопрос. А если внести дополнительно мод, как библиотеку, а в нём указать место "WATER" слово из мода? Такое будет работать?
Проверка по id дело не надежное.Если уж так нужно, то лучше выведи значение в конфиг и оттуда получай его, так как потом будут проблемы.Но вообще, не понимаю, зачем возится с устарелыми ненадёжными методами, к тому же id, когда у модовых предметов тоже есть Material и можно проверять по нему, если автор того мода не совсем дурак.
А вот советовать magic value методы - не бред.
 
Если метод устарел, то это не значит что его в любой момент могут убрать.

Проверка по id дело не надежное.Если уж так нужно, то лучше выведи значение в конфиг и оттуда получай его, так как потом будут проблемы.Но вообще, не понимаю, зачем возится с устарелыми ненадёжными методами, к тому же id, когда у модовых предметов тоже есть Material и можно проверять по нему, если автор того мода не совсем дурак.

А вот советовать magic value методы - не бред.
Дык, а каким образом тогда узнать Material из мода?
 
Потому что у модов айдишники создаются рандомнот, после вайпа слетит все.
Material.valueOf("arg");
Не спорю, айдишники - да, а материал всегда обычно статический.
Дык, а каким образом тогда узнать Material из мода?
Хорошо бы иметь небольшой дебаг-плагин, который выводит разные параметры вещей и т.п.Конкретно материал можно проверить примерно так:
Java:
player.sendMessage(player.getItemInHand().getType().toString());
Можно на команды сделать, можно на клики, как угодно.
 
Не спорю, айдишники - да, а материал всегда обычно статический.

Хорошо бы иметь небольшой дебаг-плагин, который выводит разные параметры вещей и т.п.Конкретно материал можно проверить примерно так:
Java:
player.sendMessage(player.getItemInHand().getType().toString());
Можно на команды сделать, можно на клики, как угодно.
Тогда уж полностью автоматизировать добавление в конфиг через команду с предметом в руке.
 
Тогда уж полностью автоматизировать добавление в конфиг через команду с предметом в руке.
Можно и так.У меня есть десктоп, она лог парсит и вырезает только модовские материалы, тоже можно использовать.
 
Назад
Верх