Claim API

  • Автор темы Автор темы Sirse
  • Дата начала Дата начала

Sirse

Старожил
Пользователь
Баллы
173
Имя в Minecraft
Sirse
Доброго времени суток!
Как многие из вас знают, при портировании модов на MCPC+ и написании плагинов, приходится извращаться и либо кидать BlockBreakEvent (херовый вариант), либо кидать кастомный ивент (слишком много кода, @Shevchik, hello!), или же подключать API всех возможных плагинов для привата, и проверять пермишены на территорию с его помощью.
У меня появилась идея написать небольшой плагин, который будет работать со всеми популярными плагинами для защиты территории (WorldGuard, GriefPrevention, Factions, etc...) и с помощью которого можно будет проверять права на территорию не заботясь о том, какой из плагинов стоит у конечного пользователя (Vault для клаймов, в общем).
Вопрос: выстрелит ли идея, и нужен ли вообще такой плагин?
 
Доброго времени суток!
Как многие из вас знают, при портировании модов на MCPC+ и написании плагинов, приходится извращаться и либо кидать BlockBreakEvent (херовый вариант), либо кидать кастомный ивент (слишком много кода, @Shevchik, hello!), или же подключать API всех возможных плагинов для привата, и проверять пермишены на территорию с его помощью.
У меня появилась идея написать небольшой плагин, который будет работать со всеми популярными плагинами для защиты территории (WorldGuard, GriefPrevention, Factions, etc...) и с помощью которого можно будет проверять права на территорию не заботясь о том, какой из плагинов стоит у конечного пользователя (Vault для клаймов, в общем).
Вопрос: выстрелит ли идея, и нужен ли вообще такой плагин?
А как плагин будет ловить действия мода без его модификации?
 
А как плагин будет ловить действия мода без его модификации?

Никак. Я говорю именно о вызове метода из мода, который и проверит пермы на регион.
Просто EntityBlockEvent имеет свойство мешать античитам, а кастомные ивенты нужно дополнительно слушать плагином.
 
Никак. Я говорю именно о вызове метода из мода, который и проверит пермы на регион.
Просто EntityBlockEvent имеет свойство мешать античитам, а кастомные ивенты нужно дополнительно слушать плагином.
Разве мороки не меньше?
 
Разве мороки не меньше?

В масштабах одного мода больше (целый плагин написать нужно :D), а вот когда это дело поставлено на поток, куча сил и времени думаю будет сэкономлена.
 
В масштабах одного мода больше (целый плагин написать нужно :D), а вот когда это дело поставлено на поток, куча сил и времени думаю будет сэкономлена.
Было бы прикольно делать плагин-патчер модов, который бы вносил изменения в код мода(через жавасист, например)
 
Было бы прикольно делать плагин-патчер модов, который бы вносил изменения в код мода(через жавасист, например)
С тем же успехом можно сделать плагин который будет сам писать моды)

А для меня все еще загадка зачем они вообще нужны...
 
Доброго времени суток!
Как многие из вас знают, при портировании модов на MCPC+ и написании плагинов, приходится извращаться и либо кидать BlockBreakEvent (херовый вариант), либо кидать кастомный ивент (слишком много кода, @Shevchik, hello!), или же подключать API всех возможных плагинов для привата, и проверять пермишены на территорию с его помощью.
У меня появилась идея написать небольшой плагин, который будет работать со всеми популярными плагинами для защиты территории (WorldGuard, GriefPrevention, Factions, etc...) и с помощью которого можно будет проверять права на территорию не заботясь о том, какой из плагинов стоит у конечного пользователя (Vault для клаймов, в общем).
Вопрос: выстрелит ли идея, и нужен ли вообще такой плагин?
Конечно нужен!
 
Доброго времени суток!
Как многие из вас знают, при портировании модов на MCPC+ и написании плагинов, приходится извращаться и либо кидать BlockBreakEvent (херовый вариант), либо кидать кастомный ивент (слишком много кода, @Shevchik, hello!), или же подключать API всех возможных плагинов для привата, и проверять пермишены на территорию с его помощью.
У меня появилась идея написать небольшой плагин, который будет работать со всеми популярными плагинами для защиты территории (WorldGuard, GriefPrevention, Factions, etc...) и с помощью которого можно будет проверять права на территорию не заботясь о том, какой из плагинов стоит у конечного пользователя (Vault для клаймов, в общем).
Вопрос: выстрелит ли идея, и нужен ли вообще такой плагин?

Что-то мне подсказывает, что кода будет больше чем с "кастомным ивентом" ;)
Вообще что проверять собираетесь?
Может ли игрок тут что-то делать или нет? Строить/ломать? Или что-то ещё?
 
Что-то мне подсказывает, что кода будет больше чем с "кастомным ивентом" ;)
Вообще что проверять собираетесь?
Может ли игрок тут что-то делать или нет? Строить/ломать? Или что-то ещё?

Строить, ломать, взаимодействовать, разливать что-либо и так далее. Всё ограничено собственн функционалом плагина защиты.
Оффтоп: долго пытался понять, как можно сделать это с ReActions)
 
Идея знатная, но надо обговорить с другими крупными плагинами.
 
А чё тот обговаривать то?

Берёшь и пишешь хуки к остальным плагинам и всё и закидываешь под какой-нибудь общий интерфейс.
Пруфит.

Вообще сама идея взлетит, но точно не как замена кастомным эвентам в моде.
 
Я чего-то не понимаю?.. Зачем эти хуки ко всевозможным плагинам?
Мне всегда хватало чего-то вроде:

Код:
    public static boolean breakBlock(Block b, Player p){
        BlockBreakEvent event = new BlockBreakEvent(b, p);
        Bukkit.getServer().getPluginManager().callEvent(event);
        return event.isCancelled();
    }

И не важно какой плагин запрещает ломать блоки WorldGuard, Towny или плагин имени Васи Пупкина.

Естественно аналогично проверяется и для устновки блока, нанесения урона мобу/игроку и т.п. В зависимости от того, что Вы делаете.
 
Это уже обсуждалось, большинство плагинов неадекватно реагируют на фейкового игрока, поэтому такой метод не подходит вообще. Да и даже если игрок не фейковых один хрен фигня выходит. (НАпример даже в ModFixNG есть такая байда, если игрок будет держать в руке микроблок и в этот момент что-то попробует поствить в чужом регионе от имени игрока то выйдет бум(точнее удалится предыдущий блок поставленный игроком)). И есть много таких плагинов для которых важно чтобы именно игрок кидал эвенты и кидал их согласно craftbukkit behaviour
 
Shevchik, про фейковых игроков я ничего не говорю. Не было необходимости их создавать, соответственно не знаю как они будут себя вести ;)
Речь тут идёт о "API всех возможных плагинов для привата, и проверять пермишены на территорию с его помощью"
Как можно говорить о привате неприминительно к игроку. То что для одного разрешено - для другого запрещено. Поэтому проверка на приват имеет смысл если есть реальный игрок. А при реальном игроке - достаточно проверки событием.
Ну а если говорить о фейковом игроке. То для тех случаев когда по какой-то причине нужно проверить приват, то по логике нужно озадачиться полноценно-грамотным созданием такого игрока. Чтобы все сторонние плагины были довольны и не было каких-то казусов.
Это задача, на мой взгляд, гораздо интереснее, чем просто vault для плагинов привата.
 
Последнее редактирование:
Это крайне сложно и затратно по ресурсам. Простой расчёт необходимой позиции и взгляда чтобы например nocheatplus не среагировал на неправильную постановку блока займёт больше времени чем запрос к плагину привата на предмет может ли данный ник строить на данном месте будет куда быстрее и проще.
 
Фейковый игрок - неправильный путь развития. Вызывать для модов BlockBreakEvent с нулевым игроком - неправильный путь развития.

Я представляю себе это так, Claim API это не хук, а в перевую очередь API. Он предоставляет классы которые позволяют разработчикам защиты наследовать их и тем самым проверять нужно ли защитить регион. Вызовы событий должны идти тоже через клайм.

Вопросы перфоманса не уместны. Смешно читать.
 
Назад
Верх