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

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

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

  1. Larin

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

    Баллы:
    103
    Во время входа отправь игроку value. Мне кажется, это косяк твоего авторизатора.
    p.s. вместо getValue можно использовать get(TypeToken.of(UUID.class))
     
  2. Mr Hosting
  3. sanjee

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

    Баллы:
    78
    Имя в Minecraft:
    sanjee
    мдее лучше дождаться релиза...
     
  4. Larin

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

    Баллы:
    103
    Что не так? Всё збс же. Даже оптимизацию сделали.
     
  5. sanjee

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

    Баллы:
    78
    Имя в Minecraft:
    sanjee
    минус в том что конфиги сделаны по инопланетянски
     
  6. Larin

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

    Баллы:
    103
    По-человечески. И не нужно считать пробелы. И человеческий десериализатор, без кастов и прочего дерьма.
     
  7. sanjee

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

    Баллы:
    78
    Имя в Minecraft:
    sanjee
    я хотел оптимизировать до максимума но когда запустил то ядро просто крашился и все
     
  8. Larin

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

    Баллы:
    103
    Я хотел оптимизировать и почистить диск C:, удалил там Windows и система не загрузилась, какая плохая Windows, лучше голый linux поставлю.
     
  9. sanjee

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

    Баллы:
    78
    Имя в Minecraft:
    sanjee
    Точно! Надо ставить линукс вместо windows!!
     
  10. Mr_RoboMan

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

    Баллы:
    123
    Skype:
    nk_GWM
    Имя в Minecraft:
    GWM
    Нит :D
    Кстати, прикольная фишечка... Думаю даже очень... Но тут она мне пока не нужна.
    А вот тут у меня вопрос.
    Sponge, какого *уя?!
    Моя логика такова: если метод config.getNode принимает значения Object[], то я могу ему давать значения Object[], а не String[], и он сам чето как-то кастанет к String.
    Однако, видимо все-таки нет, и надо вручную все кастовать к String... WTF?!
    Итак, то как я решил протестить:
    Код (Text):
    1.     @Listener
    2.     public void test(ClientConnectionEvent.Auth event) {
    3.         GameProfile profile = event.getProfile();
    4.         UUID uuid = profile.getUniqueId();
    5.         ConfigurationNode node = config.getNode(uuid, "PASSWORD");
    6.         Object value = node.getValue();
    7.         System.out.println("ТУТ КАРОЧ ЗНАЧЕНИЕ = " + value);
    8.         System.out.println("ТУТ КАРОЧЕ ТЕСТ №1 = " + config.getNode(uuid, "PASSWORD").getValue());
    9.         System.out.println("ТУТ КАРОЧЕ ТЕСТ №2 = " + config.getNode(uuid.toString(), "PASSWORD").getValue());
    10.         auth.put(uuid, value == null ? AuthType.REGISTER : AuthType.LOGIN);
    11.     }
    И в итоге, последний вариант таки выдал мне мой пароль (PASSWORD)...
    [​IMG]
    Это баг, или так и задумано? Почему тогда метод принимает Object[] а не String[]?
     
  11. Larin

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

    Баллы:
    103
    Потому, что это нормальный сериализатор/десериализатор, а не баккитовское дерьмо, которое всё в непонятном виде хранит. Привыкай.
    Тебе надо так устанавливать значение:
    .setValue(TypeToken.of(UUID.class), newUuid);
    и получать его так, как я выше говорил.
    Это программирование НОРМАЛЬНОГО человека.
     
  12. Mr_RoboMan

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

    Баллы:
    123
    Skype:
    nk_GWM
    Имя в Minecraft:
    GWM
    Так я же само UUID фактически никогда не выставляю...
    Ну как сказать...
    UUID у меня как-бы только как "ПУТЬ" до нужных мне значений по заданному UUID! Типо пароль, email, раса, etc...
    Но смысл плюс минус понял..
     
  13. Larin

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

    Баллы:
    103
    Тогда и храни UUID.toString()
    Вообще, ему без разницы, что десериализовывать. Если какой-то свой класс - то просто регистрируешь TypeSerializer и всё.
     
  14. Mr_RoboMan

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

    Баллы:
    123
    Skype:
    nk_GWM
    Имя в Minecraft:
    GWM
    OKay, спасибо!)
    --- Сообщения объединены: 17 авг 2016, предыдущее сообщение: 17 авг 2016 ---
    @Larin пока ты тут, скажи как делать лучше, что возвращать в методе Text getUsage (CommandCallable) если у меня в команде нету аргументов?
    т.е.,
    для команд регистрации и авторизации соответственно я делаю вот так:
    Код (Text):
    1.     @Override
    2.     public Text getUsage(CommandSource source) {
    3.         return Text.of("<race> <password> [email]");
    4.     }
    Код (Text):
    1.     @Override
    2.     public Text getUsage(CommandSource source) {
    3.         return Text.of("<password>");
    4.     }
    А если нету аргументов?
    Text.of(); ?
    Text.of("")?
    Или как?
     
  15. Larin

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

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

    Зачем ты CommandCallable используешь?
     
  16. Mr_RoboMan

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

    Баллы:
    123
    Skype:
    nk_GWM
    Имя в Minecraft:
    GWM
  17. Larin

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

    Баллы:
    103
    Его нужно использовать только в том случае, когда builder'а не хватает, а так нужно использовать CommandExecutor.
     
  18. minecrafter123

    minecrafter123 Ньюби

    Баллы:
    1
    Имя в Minecraft:
    der_shlanger
    Когда уже релиз sponge vanilla?!
     
  19. InterVi

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

    Баллы:
    173
    Имя в Minecraft:
    InterVi
    давно был
     
  20. minecrafter123

    minecrafter123 Ньюби

    Баллы:
    1
    Имя в Minecraft:
    der_shlanger
    Там только бета версии...
     
  21. Mr_RoboMan

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

    Баллы:
    123
    Skype:
    nk_GWM
    Имя в Minecraft:
    GWM
    Которые более чем играбельные, и под них даже можно писать плагины...
     

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