Хостинг серверов Minecraft playvds.com
  1. Вы находитесь в русском сообществе Bukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на русский язык плагины наших собратьев из других стран.
    Скрыть объявление

Claim API

Тема в разделе "Разработка плагинов для новичков", создана пользователем Sirse, 13 апр 2014.

  1. Автор темы
    Sirse

    Sirse Старожил Пользователь

    Баллы:
    173
    Имя в Minecraft:
    Sirse
    Доброго времени суток!
    Как многие из вас знают, при портировании модов на MCPC+ и написании плагинов, приходится извращаться и либо кидать BlockBreakEvent (херовый вариант), либо кидать кастомный ивент (слишком много кода, @Shevchik, hello!), или же подключать API всех возможных плагинов для привата, и проверять пермишены на территорию с его помощью.
    У меня появилась идея написать небольшой плагин, который будет работать со всеми популярными плагинами для защиты территории (WorldGuard, GriefPrevention, Factions, etc...) и с помощью которого можно будет проверять права на территорию не заботясь о том, какой из плагинов стоит у конечного пользователя (Vault для клаймов, в общем).
    Вопрос: выстрелит ли идея, и нужен ли вообще такой плагин?
     
    Bormandesign, Defilak и FedorNogopletov нравится это.
  2. Хостинг MineCraft
    <
  3. Den_Abr

    Den_Abr Старожил Девелопер Пользователь

    Баллы:
    173
    Skype:
    Den_Abr
    Имя в Minecraft:
    Den_Abr
    А как плагин будет ловить действия мода без его модификации?
     
  4. Автор темы
    Sirse

    Sirse Старожил Пользователь

    Баллы:
    173
    Имя в Minecraft:
    Sirse
    Никак. Я говорю именно о вызове метода из мода, который и проверит пермы на регион.
    Просто EntityBlockEvent имеет свойство мешать античитам, а кастомные ивенты нужно дополнительно слушать плагином.
     
  5. Den_Abr

    Den_Abr Старожил Девелопер Пользователь

    Баллы:
    173
    Skype:
    Den_Abr
    Имя в Minecraft:
    Den_Abr
    Разве мороки не меньше?
     
  6. Автор темы
    Sirse

    Sirse Старожил Пользователь

    Баллы:
    173
    Имя в Minecraft:
    Sirse
    В масштабах одного мода больше (целый плагин написать нужно :D), а вот когда это дело поставлено на поток, куча сил и времени думаю будет сэкономлена.
     
    ПриветОтЛайки нравится это.
  7. Den_Abr

    Den_Abr Старожил Девелопер Пользователь

    Баллы:
    173
    Skype:
    Den_Abr
    Имя в Minecraft:
    Den_Abr
    Было бы прикольно делать плагин-патчер модов, который бы вносил изменения в код мода(через жавасист, например)
     
  8. ql_Nik_lp

    ql_Nik_lp Старожил Девелопер Пользователь

    Баллы:
    173
    Skype:
    q-nik-p
    Имя в Minecraft:
    ql_Nik_lp
    С тем же успехом можно сделать плагин который будет сам писать моды)

    А для меня все еще загадка зачем они вообще нужны...
     
  9. saharin94

    saharin94 Старожил Пользователь Заблокирован

    Баллы:
    173
    Skype:
    RikkiLooh
    Имя в Minecraft:
    RubukkitDniwe
    Чтобы не гриферили вещами из модов.
     
  10. FedorNogopletov

    FedorNogopletov Старожил Пользователь

    Баллы:
    173
    Конечно нужен!
     
    ПриветОтЛайки нравится это.
  11. serega6531

    serega6531 Старожил Девелопер Пользователь

    Баллы:
    173
    Skype:
    shkurovs
    Зачем поднял месячную тему?
     
  12. FedorNogopletov

    FedorNogopletov Старожил Пользователь

    Баллы:
    173
    Дабы возобновить идею
     
  13. Автор темы
    Sirse

    Sirse Старожил Пользователь

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

    ensirius Старожил Пользователь

    Баллы:
    123
    Идея знатная, но надо обговорить с другими крупными плагинами.
     
  15. Shevchik

    Shevchik Старожил Пользователь

    Баллы:
    173
    Имя в Minecraft:
    _Shevchik_
    А чё тот обговаривать то?

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

    Вообще сама идея взлетит, но точно не как замена кастомным эвентам в моде.
     
  16. Shevchik

    Shevchik Старожил Пользователь

    Баллы:
    173
    Имя в Minecraft:
    _Shevchik_
    Это уже обсуждалось, большинство плагинов неадекватно реагируют на фейкового игрока, поэтому такой метод не подходит вообще. Да и даже если игрок не фейковых один хрен фигня выходит. (НАпример даже в ModFixNG есть такая байда, если игрок будет держать в руке микроблок и в этот момент что-то попробует поствить в чужом регионе от имени игрока то выйдет бум(точнее удалится предыдущий блок поставленный игроком)). И есть много таких плагинов для которых важно чтобы именно игрок кидал эвенты и кидал их согласно craftbukkit behaviour
     
  17. Shevchik

    Shevchik Старожил Пользователь

    Баллы:
    173
    Имя в Minecraft:
    _Shevchik_
    Это крайне сложно и затратно по ресурсам. Простой расчёт необходимой позиции и взгляда чтобы например nocheatplus не среагировал на неправильную постановку блока займёт больше времени чем запрос к плагину привата на предмет может ли данный ник строить на данном месте будет куда быстрее и проще.
     
  18. ensirius

    ensirius Старожил Пользователь

    Баллы:
    123
    Фейковый игрок - неправильный путь развития. Вызывать для модов BlockBreakEvent с нулевым игроком - неправильный путь развития.

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

    Вопросы перфоманса не уместны. Смешно читать.
     
  19. Shevchik

    Shevchik Старожил Пользователь

    Баллы:
    173
    Имя в Minecraft:
    _Shevchik_
    Вопросы перформанса неуместны? А чёж вы тогда на моджангов плюётесь что сервер хреново написан если вам всё равно.

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

    Когда я занимался написанием эвентов я рассмотрел все доступные простые варианты, и кастомный эвент+обрабатывающий плагин оказался наиболее быстрым, простым, и функциональным.
    Собственно ClaimAPI бы не помешал, потому что мне лень писать хуки для всех плагинов сразу.


    А вообще на самом деле не взлетит, просто потому что всем насрать. Да и фордж почти умер.
     
    Последнее редактирование: 20 май 2014
  20. Shevchik

    Shevchik Старожил Пользователь

    Баллы:
    173
    Имя в Minecraft:
    _Shevchik_
    Античиты отнюдь не первые в списке плагинов которые реагруют неадекватно. С ними проблемы наименьшие, хук к ним пишется за 2 секунды.
    Есть слишком большой пласт плагинов которые рассчитывают на то что игрок действительно настоящий. Ситуация с BC3 с эвентами когда сервер подыхал из-за того что ProtocolLib не понимал чёзах происходит с пакетами наглядное тому подтверждение.(Собственно там до сих пор торчит костыль для проверки настоящий игрок или нет).
    И таких плагинов лезущих в getHandle() игрока и ковыряющихся там достаточно много.
     

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