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

Обсудим Лепим пиратский лаунчер

Тема в разделе "Управление сервером Bukkit", создана пользователем Oinvizion Craft, 27 сен 2016.

  1. Автор темы
    Oinvizion Craft

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

    Баллы:
    76
    Спасибо. И ещё, откуда качать legacy.json?
     
  2. Хостинг MineCraft
    <
  3. alexandrage

    alexandrage Администратор

    Баллы:
    173
    Skype:
    alexandr0116
    Не смотрел даже никогда.
     
  4. Автор темы
    Oinvizion Craft

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

    Баллы:
    76
    О! Ща в консольку залезу к тлаунчеру![DOUBLEPOST=1478284399,1478284339][/DOUBLEPOST]Там не сказано[DOUBLEPOST=1478284719][/DOUBLEPOST]Если найдёшь откуда legacy.json качается напиши пж[DOUBLEPOST=1478284911][/DOUBLEPOST]О нашёл!!!!

    https://s3.amazonaws.com/Minecraft.Download/indexes/legacy.json

    Вот тут если что все ссылки:
    http://wiki.vg/Game_files[DOUBLEPOST=1478288627][/DOUBLEPOST]А как natives которые в папки версии лежат скачать?[DOUBLEPOST=1478293910][/DOUBLEPOST]Слушай, очень надо узнать, как получить список версий и их JSON-нников?
    А также откуда качать dll нэйтивсов в папке версии[DOUBLEPOST=1478296863][/DOUBLEPOST]Всё с нативсами я разобрался,


    (Если кому-то надо будет)
    Это качается от сюда: http://s3.amazonaws.com/MinecraftDownload/windows_natives.jar.lzma
    [DOUBLEPOST=1478296974][/DOUBLEPOST]Их просто вытащить из этого джарника и всё?[DOUBLEPOST=1478299551][/DOUBLEPOST]Слушай, что это такое вылазит у меня при запуске с новыми нэйтивсами:
    Код:
    2016-11-04 16:44:58 [INFO] [STDERR] java.lang.reflect.InvocationTargetException
    2016-11-04 16:44:58 [INFO] [STDERR]     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    2016-11-04 16:44:58 [INFO] [STDERR]     at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    2016-11-04 16:44:58 [INFO] [STDERR]     at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    2016-11-04 16:44:58 [INFO] [STDERR]     at java.lang.reflect.Method.invoke(Unknown Source)
    2016-11-04 16:44:58 [INFO] [STDERR]     at cpw.mods.fml.relauncher.FMLRelauncher.relaunchClient(FMLRelauncher.java:123)
    2016-11-04 16:44:58 [INFO] [STDERR]     at cpw.mods.fml.relauncher.FMLRelauncher.handleClientRelaunch(FMLRelauncher.java:38)
    2016-11-04 16:44:58 [INFO] [STDERR]     at net.minecraft.client.Minecraft.main(Minecraft.java:2237)
    2016-11-04 16:44:58 [INFO] [STDERR]     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    2016-11-04 16:44:58 [INFO] [STDERR]     at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    2016-11-04 16:44:58 [INFO] [STDERR]     at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    2016-11-04 16:44:58 [INFO] [STDERR]     at java.lang.reflect.Method.invoke(Unknown Source)
    2016-11-04 16:44:58 [INFO] [STDERR]     at net.minecraft.launchwrapper.Launch.launch(Launch.java:57)
    2016-11-04 16:44:58 [INFO] [STDERR]     at net.minecraft.launchwrapper.Launch.main(Launch.java:18)
    2016-11-04 16:44:58 [INFO] [STDERR] Caused by: java.lang.UnsatisfiedLinkError: org.lwjgl.DefaultSysImplementation.getPointerSize()I
    2016-11-04 16:44:58 [INFO] [STDERR]     at org.lwjgl.DefaultSysImplementation.getPointerSize(Native Method)
    2016-11-04 16:44:58 [INFO] [STDERR]     at org.lwjgl.Sys.<clinit>(Sys.java:113)
    2016-11-04 16:44:58 [INFO] [STDERR]     at net.minecraft.client.Minecraft.func_71386_F(Minecraft.java:2576)
    2016-11-04 16:44:58 [INFO] [STDERR]     at net.minecraft.client.Minecraft.fmlReentry(Minecraft.java:2247)
    2016-11-04 16:44:58 [INFO] [STDERR]     ... 13 more
    [DOUBLEPOST=1478358601][/DOUBLEPOST]Перепробовал кучу методов, не знаешь, какую версию lwjgl майнкрафт юзает?[DOUBLEPOST=1478360204][/DOUBLEPOST]Я заметил, что в каждой версии майна, своя версия lwjgl[DOUBLEPOST=1478574536][/DOUBLEPOST]Возникла проблема при загрузки библиотек.
    По какой причине не качаются многие библиотеки, типа этой:

    https://libraries.minecraft.net/org...1-nightly-20130708-debug3-natives-windows.jar (эту ссылку выдаёт мой лаунчер и не может скачать)

    Вот что в JSON-нике:
    Код:
    {
          "name": "org.lwjgl.lwjgl:lwjgl-platform:2.9.1-nightly-20130708-debug3",
          "rules": [
            {
              "action": "allow",
              "os": {
                "name": "osx",
                "version": "^10\\.5\\.\\d$"
              }
            }
          ],
          "natives": {
            "linux": "natives-linux",
            "osx": "natives-osx",
            "windows": "natives-windows"
          },
          "extract": {
            "exclude": [
              "META-INF/"
            ]
          }
        },
    Вроде всё правильно, но оно не качается. Почему?
     
  5. alexandrage

    alexandrage Администратор

    Баллы:
    173
    Skype:
    alexandr0116
    Ответ тут

    1. "action": "allow",
    2. "os": {
    3. "name": "osx",
    4. "version": "^10\\.5\\.\\d$"
    5. }
      только для osx.
     
  6. Автор темы
    Oinvizion Craft

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

    Баллы:
    76
    Т.е. Где в Rules OS Name стоит OSX эту библиотеку просто тупо пропускать?[DOUBLEPOST=1479019438,1479015720][/DOUBLEPOST][DOUBLEPOST=1479022166][/DOUBLEPOST]Всё! Пришлось помаяться со считыванием значения, вот как сделал:

    В самом начале идёт цикл, который и раньше запускал проверку, загрузку и распаковку либов:
    Код:
    for (int i = 0; i < jobject["libraries"].Count(); i++)
    {
    А потом такое:
    Код:
    try
                    {
                        rules = (JValue)jobject["libraries"][i]["rules"][0]["os"]["name"];
                        2rules = Convert.ToString(rules);
                    }
                    catch
                    {
                        2rules = "";
                    }
    И затем:
    Код:
    if (2rules != "")
                    {
                        goto end; //Пропускает этот либ
                    }
    P.S
    Мож коряво, но зато работает![DOUBLEPOST=1479022375][/DOUBLEPOST]Да, и такой вопросик, может ли name быть windows ?
     
    Последнее редактирование: 13 ноя 2016
  7. alexandrage

    alexandrage Администратор

    Баллы:
    173
    Skype:
    alexandr0116
    Там где в рулес нету форточки = да, пропускаем.[DOUBLEPOST=1479047972][/DOUBLEPOST]P.s можно так foreach (var librari in libraries) {}
     
  8. Автор темы
    Oinvizion Craft

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

    Баллы:
    76
    Удобнее первым вариантом, так как цикл этот как бы главный, т.е. именно он проверяет и скачивает либы, распаковывает их, распаковывает natives и т.д. Но вообще к едино решению можно придти разными путями.

    Ах да, и всё висит пара вопросов, от куда качать JSON-нники версий?
    И откуда получать список самих версий?[DOUBLEPOST=1479050685,1479050382][/DOUBLEPOST][DOUBLEPOST=1479050853][/DOUBLEPOST]Вот:
    http://s3.amazonaws.com/Minecraft.Download/versions/versions.json
    Это?[DOUBLEPOST=1479051162][/DOUBLEPOST]"This URL is being phased out! Please update your scripts to check https://launchermeta.mojang.com/mc/game/version_manifest.json instead. Thanks <3 --Dinnerbone"

    И что юзать тогда?[DOUBLEPOST=1479056968][/DOUBLEPOST]Слушай, не знаешь как в MS визуалке запретить ввод своего текста в ComboBox?[DOUBLEPOST=1479057591][/DOUBLEPOST]И ещё, как сопоставить значение выбранной версии ComboBox с url из джоснника?
     
  9. alexandrage

    alexandrage Администратор

    Баллы:
    173
    Skype:
    alexandr0116
    Ну видимо это новый json.[DOUBLEPOST=1479058271,1479057923][/DOUBLEPOST]
    Тут я не понял про что ты.[DOUBLEPOST=1479058330][/DOUBLEPOST]
    Если про это, то foreach (var librari in jobject["libraries"]) {}
     
  10. Автор темы
    Oinvizion Craft

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

    Баллы:
    76
    Это я так.. Ты вот на это лучше ответь:

     
  11. alexandrage

    alexandrage Администратор

    Баллы:
    173
    Skype:
    alexandr0116
    Не знаю.[DOUBLEPOST=1479058496,1479058408][/DOUBLEPOST]Ты наверное сделал комбобокс поля для ввода.
     
  12. Автор темы
    Oinvizion Craft

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

    Баллы:
    76
    Хорошо, а если так:
    У нас есть массив считанных версий где каждой версии (id) соответствует url джсонника
    И есть string со значением id.
    Как открыть из массива значение url?
     
  13. alexandrage

    alexandrage Администратор

    Баллы:
    173
    Skype:
    alexandr0116
    хз о чем ты. Или ты сляпой ).

    Код:
    {
    "id":"1.11-pre1",
    "type":"snapshot","time":"2016-11-08T13:44:29+00:00",
    "releaseTime":"2016-11-08T13:42:50+00:00",
    "url":"https://launchermeta.mojang.com/mc/game/7dfcb37dd7f2c354b6cb10896f791df6a32151dc/1.11-pre1.json"
    }
     
  14. Автор темы
    Oinvizion Craft

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

    Баллы:
    76
    А про ComboBox нарыл.
    Надо в DropDownStyle установить DropDownList[DOUBLEPOST=1479058792,1479058724][/DOUBLEPOST]Это ты меня не понял! Как из массива вытащить значение url, которое соответствует id (например 1.10.2), выбранное из ComboBox
     
  15. alexandrage

    alexandrage Администратор

    Баллы:
    173
    Skype:
    alexandr0116
    Разве бокс не указывает на индекс объекта?
     
  16. Автор темы
    Oinvizion Craft

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

    Баллы:
    76
    Слушай, ты вообще не понимаешь что я спрашиваю про соответствие значения url из массива, значению id из ComboBox?
     
  17. alexandrage

    alexandrage Администратор

    Баллы:
    173
    Skype:
    alexandr0116
    Я не понимаю твоей проблемы. У тебя массив объектов версий. Ты надуваешь комбобокс
    foreach(чтототам массив) {
    чтототам get(id), добавить в бокс.
    }
    При выборе бокса он указывает на индекс массива.
    Массив get(наш индекс) get(урл).
     
  18. Автор темы
    Oinvizion Craft

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

    Баллы:
    76
    Ну смотри короче!

    У нас есть ComboBox, содержащий id версий из JSON-а
    Пользователь выбирает в ComboBox версию, например (1.10.2)
    И лаунчер считывает то, что он выбрал:
    string versia = versionlistbox.SelectedItem // переменная versia равна 1.10.2
    И мне необходимо из JSON-а вытащить url, который соответствует выбранной версии
     
  19. alexandrage

    alexandrage Администратор

    Баллы:
    173
    Skype:
    alexandr0116
    selectedIndex = comboBox.SelectedIndex.
    Массив версий get(selectedIndex) get("url").
    Проблем?
     
  20. Автор темы
    Oinvizion Craft

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

    Баллы:
    76
    Слушай, как versionlist["versions"] Переделать в массив?
     
  21. alexandrage

    alexandrage Администратор

    Баллы:
    173
    Skype:
    alexandr0116
    Оно уже, массив json.
     

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