1. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

Sponge: Будущее Bukkit и Minecraft моддинга в целом

Тема в разделе "Sponge", создана пользователем ql_Nik_lp, 10 сен 2014.

  1. Mothron

    Mothron Новичок Пользователь

    Баллы:
    21
    Имя в Minecraft:
    Mothron
    Закрытие платформы Bukkit не минуемо :( сейчас огромное количество людей обращают внимание на Spigot.
    #BUKKITRIP
    Ну что же, поделюсь впечатлениями. Очень не привычно если сравнивать с bukkit консолью, выглядит как бесконечный краш! Но так пока идет установка
    Ну это воообще жесть! Уже нетерпится перети на споут!
     
  2. Reality_SC

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

    Баллы:
    123
    Имя в Minecraft:
    Reality_SC
    Упаси, Господи, переходить на Spout! ;)
     
  3. Mothron

    Mothron Новичок Пользователь

    Баллы:
    21
    Имя в Minecraft:
    Mothron
    Ошибся, * Sponge
     
  4. fromgate

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

    Баллы:
    173
    Имя в Minecraft:
    fromgate
    Ну не умеет человек общаться с троллями, может у него нервы или что-то. Поливать его грязью и тыкать "посмотрите какой он плохой", по моему не спортивно.
    Тем более, что он проблему принял, понял её источник и создал тикет для разработчиков губки.
    https://github.com/SpongePowered/SpongeCommon/issues/833
    Подробнее с этого места. Это ваши персональные ощущения или где-то написано? ;)
     
  5. InterVi

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

    Баллы:
    173
    Так уже ведь закрыто, нет? Spigot всех тащит.
     
  6. Will Orion Z

    Will Orion Z Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    willorion
    Bukkit живет, жил, и будет жить:
    https://github.com/OvercastNetwork/SportBukkit
     
  7. alexandrage

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

    Баллы:
    173
    Ведро то живо с ним проще, а вот котел нет. А спонж останется не удел, ибо плагины под него писать никто не будет, есть же ведро.
     
  8. InterVi

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

    Баллы:
    173
  9. Will Orion Z

    Will Orion Z Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    willorion
    Единственный форк, сохранивший оригинальный bukkit api. Со слов автора, идёт уклон на стабильность и безопасность платформы.
    Правда, на корректную работу многих плагинов со spigotmc можете не рассчитывать (некоторые events нужно переносить или заменять). Старые плагины с dev.bukkit работают с пол пинка.
     
  10. alexandrage

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

    Баллы:
    173
    Да кому нужны эти вирусы под обфускацией...
     
  11. Mothron

    Mothron Новичок Пользователь

    Баллы:
    21
    Имя в Minecraft:
    Mothron
    Это магия. Щитай что я смотрю сквозь стены. Bukkit ведь никто не пользуется. Все предпочитают более производительный Spigot. Зачем садиться на копейку если в гараже бесплатный мерседес? Наверно для острых ощущений. :)
    images.jpg
     
  12. Will Orion Z

    Will Orion Z Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    willorion
    Есть только брать плагины с сорцами на гите. Таких полно.
    Либо популярные и от достоверного источника.
    Да и на spigotmc ситуация не лучше. Много плагинов под обфускацией кода и без сорцев, с каким нибудь скрытым бедкором который фиг найдешь.
     
  13. Mr_RoboMan

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

    Баллы:
    123
    Снова драстИ.
    Сразу два вопросига, вот что я накалякал:
    Код:
        @Listener
        public void doSmth(MessageEvent event) {
            Optional<Player> optionalPlayer = event.getCause().first(Player.class);
            if (optionalPlayer.isPresent()) {
                Player player = optionalPlayer.get();
                player.getInventory().set(ItemStack.of(ItemTypes.APPLE, 1));
                event.setMessage(Text.of(player.getName() + " сказал " + event.getMessage().toPlain() + " и получил яблочко!"));
            }
        }
    Чего я хочу добиться думаю понятно.
    Проблемы 2:
    1. Я хочу делать свои темные дела, только когда игрок пишет что-то в чат.
    Полазил по en. форумах, вроде нашел проверку, однако, эта проверка пропускает сообщение при входе игрока... И скорее всего при выходе.. Как мне убедится прямо на тыщупицот% что сообщение написал в чат игрок?
    2. Как нормально выдать юзверу например яблочку? Мой код, не выдает больше одного яблочка... т.е. один раз яблоко выдал - дальше выдавать не хочет.. Но если яблочко выбросить - плагин успешно выдаст еще яблочко.. Какого простите меня яблочка, яблочки не стакаются? O,o
     
  14. Larin

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

    Баллы:
    103
    1. "проверка пропускает сообщение при вход?
    2. Код
     
  15. Mr_RoboMan

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

    Баллы:
    123
    Ну... Ыыы... В коде есть проверка:
    Код:
            Optional<Player> optionalPlayer = event.getCause().first(Player.class);
            if (optionalPlayer.isPresent()) {
    Я надеялся, что true будет только когда игрок пишет в чат какое-то сообщение, однако, при сообщении "GWM joined the server." также получаю true.
    В общем, суть в том, что мне надо сделать *что-то*, в евенте MessageEvent, если сообщение было послано игроком. И я не могу понять как это проверить.
    2. Код
    Код:
              player.getInventory().set(ItemStack.of(ItemTypes.APPLE, 1));
    Однако, если в инвентаре уже есть 1 яблочко, еще одно выдаваться не будет.
     
  16. Larin

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

    Баллы:
    103
    1. MessaageChannelEvent
    2. offer вместо set (2 секунды поиска в javadoc)
    https://jd.spongepowered.org/4.1.0/org/spongepowered/api/item/inventory/Inventory.html
    https://github.com/SpongePowered/Sp...ongepowered/api/item/inventory/Inventory.java
     
    Последнее редактирование: 11 авг 2016
  17. Mr_RoboMan

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

    Баллы:
    123
    1. Нит...
    Код:
        @Listener
        public void doSmth(MessageChannelEvent event) {
            Optional<Player> optionalPlayer = event.getCause().first(Player.class);
            if (optionalPlayer.isPresent()) {
                Player player = optionalPlayer.get();
                player.getInventory().offer(ItemStack.of(ItemTypes.APPLE, 1));
                event.setMessage(Text.of(player.getName() + " сказал " + event.getMessage().toPlain() + " и получил яблолочко!"));
            }
        }
    [​IMG]
    2. Спасибо :D
    И вообще, не знаю как у остальных, но лично у меня, Sponge сервер ЖУТКО лагает, даже на собственном компе...
    С Bukkit/Spigot такого нету...
    Вся консоль в Can`t keep up ... skipping N tick(s), да и на сервере, тоже яблочко жрется секунд 20...
    При чем это просто самый ванильный SpongeVanilla, с одним единственным плагином - моим (который всего-то делает что слушает MessageEvent..)
     
  18. Larin

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

    Баллы:
    103
    https://docs.spongepowered.org/master/en/plugin/text/messagechannels.html

    Какие параметры запуска?
     
  19. Mr_RoboMan

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

    Баллы:
    123
  20. Larin

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

    Баллы:
    103
    Пиши сюда:
    https://github.com/SpongePowered/

    От тебя требуется:
    Список плагинов, лог сервера, тайминги; порядок действий, который вызывает эту проблему; конфигурация сервера, нагрузка на сам сервер(не игровой).
     

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