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

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

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

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

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

    Баллы:
    76
    Измени на своё имя пользователя
    C:/Users/ТВОЁ ИМЯ ПОЛЬЗОВАТЕЛЯ/...
    Я думал в / дело, но нет!
    Ну как успехи?
    Мда... Я как только путь к ассетсам не указывал.... Читать отказывается!
     
  2. Mr.appleXZ

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

    Баллы:
    78
    Имя в Minecraft:
    mrAppleXZ
    И это, на киберфоруме вопросы задавать не советую. Мне один раз насоветовали юзать встроенный JSON-парсер, заместо нормального Newtonsoft.Json. Пиши на stackoverflow, мб помогут.
     
  3. Автор темы
    Oinvizion Craft

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

    Баллы:
    76
    Мой мозг напрочь отказывается сотрудничать с майнкрафтом, запускаюшем assets!
    Да у меня ща проблема другая, я всё почти сделал, да вот assets не грузит майн!
    Хочешь присоединится к нам - вникай в тему, 3 головы лучше чем 2!
     
  4. Mr.appleXZ

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

    Баллы:
    78
    Имя в Minecraft:
    mrAppleXZ
    Коль хочешь инфу из assetIndex.json в переменную грузить, могу это дать:
    Создай класс, допустим AssetsFile:
    Код:
        public class AssetsFile
        {
            public class AssetsObject
            {
                public string hash { get; set; }
                public long size { get; set; }
            }
    
            public class RootObject
            {
                public Dictionary<string, AssetsObject> objects { get; set; }
            }
        }
    
    Потом делай так, где-нибудь в коде:
    Код:
    AssetsFile.RootObject file = JsonConvert.DeserializeObject<AssetsFile.RootObject>(File.ReadAllText("/home/me/.minecraft/assets/indexes/1.10.json"));
     
  5. Автор темы
    Oinvizion Craft

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

    Баллы:
    76
    Можно вопрос, ты читать умеешь?
    Я уже всё давно прочитал! И автоскачивание сделал! Майн ассетсы видеть не хочет! Вот в чём проблема
     
  6. alexandrage

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

    Баллы:
    173
    Вот мой тестовый запуск через процессстарт. Все нормально со звуками.
    Код:
                string mjar = "1.10.2";
                var json = app + @"versions\"+mjar+ @"\"+mjar+".json";
                JObject versions = JObject.Parse(File.ReadAllText(json));
                JArray libraries = (JArray)versions["libraries"];
                var url = @"-Djava.library.path="+app+@"versions\1.10.2\natives -cp ";
                foreach (var pair in libraries) {
                    string[] libdir = pair["name"].ToString().Split(':');
                    url += app+@"libraries\"+libdir[0].Replace(".", @"\")+@"\"+libdir[1]+@"\"+libdir[2]+@"\"+libdir[1]+"-"+libdir[2]+".jar;";
                }
                url += app+@"versions\"+mjar+@"\"+mjar+".jar ";
                url += (string)versions["mainClass"]+" ";
                string assetIndex = (string)versions["assetIndex"]["id"];
                url += versions["minecraftArguments"].ToString().Replace("${auth_player_name}", "zenit").Replace("${version_name}", mjar).Replace("${game_directory}", app).Replace("${assets_root}", app+ @"\assets").Replace("${assets_index_name}", assetIndex).Replace("${auth_uuid}", "00000000000000000000000000000000").Replace("${auth_access_token}", "0").Replace("${user_type}", "legacy").Replace("${version_type}", "release");
                Process.Start("java", url);
     
  7. Автор темы
    Oinvizion Craft

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

    Баллы:
    76
    Exception in thread "main" joptsimple.MissingRequiredOptionException: Missing required option(s) ['version']
    Вот что у меня стало выдавать!
     
  8. alexandrage

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

    Баллы:
    173
    Аргумент version не указал.
     
  9. Автор темы
    Oinvizion Craft

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

    Баллы:
    76
    Что надо в ${version_type} писать?
     
  10. alexandrage

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

    Баллы:
    173
    Replace("${version_name}", "1.7.10")
     
  11. Автор темы
    Oinvizion Craft

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

    Баллы:
    76
    У меня вот такие аргументы получились:

    - Dfml.ignoreInvalidMinecraftCertificates = true - Dfml.ignorePatchDiscrepancies = true - Xms256M - XX:+UseG1GC - XX:ConcGCThreads = 4 - Xms7000m - Xmx7000m net.minecraft.client.main.Main --username --version mjar --gameDir C:\Users\XxOinvizioNxX\AppData\Roaming\minecraft\ --assetsDir C:\Users\XxOinvizioNxX\AppData\Roaming\minecraft\assets\ --assetIndex --uuid 00000000-0000-0000-0000-000000000000 --accessToken 0 --userType legacy --versionType release --width 1670 --height 980

    Он всё равно выдаёт ошибку:
    Exception in thread "main" joptsimple.MissingRequiredOptionException: Missing required option(s) ['version']
     
  12. alexandrage

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

    Баллы:
    173
    Ты реально слЯпой.
    Ты вообще отличаешь переменные от строк? Твоя иде тебя за это не писдит?
     
  13. Автор темы
    Oinvizion Craft

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

    Баллы:
    76
    Я пока в своих аргументах ошибку ищу
    Т.е.?
    В чём ошибка!? Напиши толково!
    Теперь Forge 1.5.2 отказывает, пишет:

    Код:
    юъЄ 03, 2016 7:53:27 PM net.minecraft.launchwrapper.LogWrapper log
    INFO: Using tweak class name net.minecraftforge.legacy._1_5_2.LibraryFixerTweaker
    юъЄ 03, 2016 7:53:27 PM net.minecraft.launchwrapper.LogWrapper log
    SEVERE: Unable to launch
    java.lang.ClassNotFoundException: net.minecraftforge.legacy._1_5_2.LibraryFixerTweaker
            at java.net.URLClassLoader.findClass(Unknown Source)
            at java.lang.ClassLoader.loadClass(Unknown Source)
            at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
            at java.lang.ClassLoader.loadClass(Unknown Source)
            at net.minecraft.launchwrapper.LaunchClassLoader.findClass(LaunchClassLoader.java:99)
            at java.lang.ClassLoader.loadClass(Unknown Source)
            at java.lang.ClassLoader.loadClass(Unknown Source)
            at java.lang.Class.forName0(Native Method)
            at java.lang.Class.forName(Unknown Source)
            at net.minecraft.launchwrapper.Launch.launch(Launch.java:49)
            at net.minecraft.launchwrapper.Launch.main(Launch.java:18)

    Судя по крашу, я понял, что он на tweak класс ругается
    Кстати 1.10.2 не грузился, из-за того, что он ник неправильно реплейсил
     
  14. Mr.appleXZ

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

    Баллы:
    78
    Имя в Minecraft:
    mrAppleXZ
    (facepalm). Парень, иди читать доки MSDN.
     
  15. Автор темы
    Oinvizion Craft

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

    Баллы:
    76
    Так по какой причине Forge 1.5.2 краш выдаёт?
    Самое интересное, что обычный 1.5.2 грузится норм, а Forge 1.5.2 - нет!
    Вопрос, почему?!
     
  16. Shevchik

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

    Баллы:
    173
    Имя в Minecraft:
    _Shevchik_
    У тебя ассет индекс пустой. У тебя юзернейм пустой. Ты блин это в упор не видишь чтоли?
     
  17. Автор темы
    Oinvizion Craft

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

    Баллы:
    76
    У Forge 1.5.2 он lagacy, если я не путаю?
    Ведь обычный 1.5.2 грузится норм! Значит у форджа краш не из-за ассет индекс!
     
  18. alexandrage

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

    Баллы:
    173
    Там вообще нету assetIndex.
    Ставим затычку

    Код:
                string assetIndex = "";
                if (versions["assetIndex"] != null) {
                    assetIndex = (string)versions["assetIndex"]["id"];
                }
    И еще 1 аргумент на иконку Replace("${game_assets}", clientdir + gameassets).
     
  19. Автор темы
    Oinvizion Craft

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

    Баллы:
    76
    Написано же в Forge 1.5.2:

    "assets": "legacy",
    Так почему у меня Forge 1,5,2 не грузится-то?
    Спасибо тебе, я знал, в мире очень много добрых людей.
    Но тогда, скажи, раз такой умный, какого фига обычный 1.5.2 и Forge 1.4.7 и forge 1.6.2 запускаются, а forge 1.5.2 нет!
    И ещё, мудрец, возми тогда и объясни, что означает:
    Код:
    Unable to launch
    java.lang.ClassNotFoundException: net.minecraftforge.legacy._1_5_2.LibraryFixerTweaker
    Как может быть не найден класс!?
    А то хамить мы все умеем, а вот как доходит дело до элементарной (как ты считаешь) помощи......
     
  20. Mr.appleXZ

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

    Баллы:
    78
    Имя в Minecraft:
    mrAppleXZ
    Мы тебе код подсказали. Дальше - сам. Кодинг и исходит из того, что нужно думать.
     

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