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

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

Discussion in 'Управление сервером Bukkit' started by Oinvizion Craft, Sep 27, 2016.

  1. Dereku

    Dereku Старожил

    Trophy Points:
    173
    Skype:
    derek_unavailable
    Имя в Minecraft:
    _Dereku
    ISO 8601
     
  2. Хостинг MineCraft
    <
  3. Larin

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

    Trophy Points:
    103
    [offtop]Подписался на топик, лучше, чем кино.[/offtop]
     
  4. Автор темы
    Oinvizion Craft

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

    Trophy Points:
    76
    Разобрался. Это
    Code:
    Convert.ToDateTime().ToShortDateString()
    [DOUBLEPOST=1483888131,1483888068][/DOUBLEPOST]Теперь проблема сортировку сделать
     
  5. Dereku

    Dereku Старожил

    Trophy Points:
    173
    Skype:
    derek_unavailable
    Имя в Minecraft:
    _Dereku
    https://msdn.microsoft.com/ru-ru/library/b0zbh7b6(v=vs.110).aspx

    А если делать сортировку версий (на чем я тоже горя хапнул немного), то тебе придётся сплитить string по точкам и сверять числа. А может быть в шарпе есть уже готовые решения, хз.
     
  6. alexandrage

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

    Trophy Points:
    173
    Skype:
    alexandr0116
    Это лишнее, даты достаточно.
     
  7. Dereku

    Dereku Старожил

    Trophy Points:
    173
    Skype:
    derek_unavailable
    Имя в Minecraft:
    _Dereku
    Если работать с массивом json клиентов - да. А если есть только массив со значениями версий - то такое.
     
  8. alexandrage

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

    Trophy Points:
    173
    Skype:
    alexandr0116
    Переведи в уникс тиме, достаточно будет.[DOUBLEPOST=1483888852][/DOUBLEPOST]
    У него стандартный json с датами.
     
  9. Автор темы
    Oinvizion Craft

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

    Trophy Points:
    76
    Можно пожалуйста привести конкретный пример сортировки?[DOUBLEPOST=1483942884,1483940951][/DOUBLEPOST]Сортировку массива дат я сделал:

    Code:
    JArray versionlistarray = JArray.Parse(versionlist["versions"].ToString());
    
                    DateTime[] dtimes = new DateTime[versionlistarray.Count()];
                    for (int i = 0; i < versionlistarray.Count(); i++)
                    {
                       
    
                        dtimes[i] = new DateTime(Convert.ToDateTime(versionlistarray[i]["releaseTime"]).Year,
                            Convert.ToDateTime(versionlistarray[i]["releaseTime"]).Month,
                            Convert.ToDateTime(versionlistarray[i]["releaseTime"]).Day,
                            Convert.ToDateTime(versionlistarray[i]["releaseTime"]).Hour,
                            Convert.ToDateTime(versionlistarray[i]["releaseTime"]).Minute,
                            0);
    
    
    
                    }
    
    
                    Array.Sort(dtimes);
    
                    string out = "";
                    foreach (DateTime vrem in dtimes)
                    {
                        out = out + vrem.Year + "." + vrem.Month + "." + vrem.Day + "-" + vrem.Hour + ":" + vrem.Minute + Environment.NewLine;
                    }
                    MessageBox.Show(out);
     
  10. Larin

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

    Trophy Points:
    103
    Зачем ты даты сортируешь? Тебе версии сортировать надо.
     
  11. Автор темы
    Oinvizion Craft

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

    Trophy Points:
    76
    Я вот нечего лучше придумать не смог, как сделать отдельный массив дат, его отсортировать. а потом в основном - найти, какая версия соответствует этой дате. Ведь лаунчер должен жить не только на официальных билдах, но и на версиях, которые пользователь устанавливает сам!
    Но есть небольшая проблема (вру, большая): Т.к. версий много, то под одной датой может стоят очень много версий! И надо. чтобы лаунчер выписал все эти версии, вот и маюсь![DOUBLEPOST=1483990445,1483990171][/DOUBLEPOST]Т.е. у меня есть массив дат и версий:

    [
    {
    "id": " rd-132328",
    "releaseTime": "2009-05-13T21:28:00+00:00"
    },
    {
    "id": " Forge_1.9",
    "releaseTime": "2016-02-29T13:49:54+00:00"
    },
    {
    "id": " Forge_1.7.2",
    "releaseTime": "2013-10-25T13:00:00+00:00"
    },
    {
    "id": " Forge 1.7.10",
    "releaseTime": "2014-05-14T17:29:23+00:00"
    }
    ...
    {
    "id": "b1.7",
    "releaseTime": "2011-06-29T22:00:00+00:00"
    },
    {
    "id": "b1.6.6",
    "releaseTime": "2011-05-30T22:00:00+00:00"
    },
    {
    "id": "b1.6.5",
    "releaseTime": "2011-05-27T22:00:00+00:00"
    },
    {
    "id": "b1.6.4",
    "releaseTime": "2011-05-25T22:00:04+00:00"
    },
    {
    "id": "b1.6.3",
    "releaseTime": "2011-05-25T22:00:03+00:00"
    },
    ...

    И есть массив отсортированных дат в том же формате. И мне надо, чтобы лаунчер выписал все версии, которые соответствуют этой дате.
     
  12. alexandrage

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

    Trophy Points:
    173
    Skype:
    alexandr0116
    Да и так нормально будет. Ты же не будешь сам себе вредить и менять дату на всех версиях.
     
  13. Автор темы
    Oinvizion Craft

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

    Trophy Points:
    76
    Так как сделать сортировку версий-то? Меня гугл даже не понимает
     
  14. alexandrage

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

    Trophy Points:
    173
    Skype:
    alexandr0116
    Ну, можешь сделать реплейс по регулярке и убрать все буквы и точки, дописать 0-ли там где число короче. И сортировать потом по числам.[DOUBLEPOST=1483992278,1483992209][/DOUBLEPOST]Но ты должен учитывать, что в снапшотах не пишется номер версий. Ну и бетоверсии как то различать. Я хз что там имеется кроме bномер.
     
  15. Автор темы
    Oinvizion Craft

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

    Trophy Points:
    76
    Да я же написал!!!!!!! Как сделать подбор! Как найти ВСЕ версии, которые соответствуют этой дате!?
     
  16. alexandrage

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

    Trophy Points:
    173
    Skype:
    alexandr0116
    Оно и так рядом будет.
     
    Last edited: Jan 10, 2017
  17. Автор темы
    Oinvizion Craft

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

    Trophy Points:
    76
    О ГОСПОДИ!!!!!!!

    JObject jo = array.Children<JObject>().FirstOrDefault(o => o["text"]!=null&& o["text"].ToString()=="Two");

    ЭТО ищет ОДИН элемент, а мне надо ВСЕ
     
  18. alexandrage

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

    Trophy Points:
    173
    Skype:
    alexandr0116
    Короче юзай дату, это самый лучший вариант. Ибо ты еще не раз наступишь на грабли с этими именами. Там может и не быть циферок с версией. А assets подскажет приблизительную версию, да и только после 1.6.
     
  19. Автор темы
    Oinvizion Craft

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

    Trophy Points:
    76
    ТЫ МОЖЕШЬ НАПИСАТЬ, КАК НАЙТИ СООТВЕТСТВИЕ ИМЁН К ДАТЕ???????????[DOUBLEPOST=1484009422,1484006600][/DOUBLEPOST]Всё, я уже опытным путём сам догадался, получилось конечно топорно, но зато всё как надо, и версии, которые имеются он помечает[DOUBLEPOST=1484020747][/DOUBLEPOST]А как можно запустить версию, где в названии есть пробелы?
     
  20. Larin

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

    Trophy Points:
    103
    Добавь в класс с версией поле date, добавь все версии в список, напиши свой компаратор для этого списка, чтобы он даты сравнивал, затем просто Arrays.sort(list) и всё. Зачем ты такие костыли делаешь?
     
  21. alexandrage

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

    Trophy Points:
    173
    Skype:
    alexandr0116
    урл в ковычках сделай.
    Code:
    -Djava.library.path="versions\Dark Light Client 1.9\natives" -cp "libraries\oshi-project\oshi-core\1.1\oshi-core-1.1.jar";"libraries\net\java\dev\jna\jna\3.4.0\jna-3.4.0.jar";"libraries\net\java\dev\jna\platform\3.4.0\platform-3.4.0.jar";"libraries\com\ibm\icu\icu4j-core-mojang\51.2\icu4j-core-mojang-51.2.jar";"libraries\net\sf\jopt-simple\jopt-simple\4.6\jopt-simple-4.6.jar";"libraries\com\paulscode\codecjorbis\20101023\codecjorbis-20101023.jar";"libraries\com\paulscode\codecwav\20101023\codecwav-20101023.jar";"libraries\com\paulscode\libraryjavasound\20101123\libraryjavasound-20101123.jar";"libraries\com\paulscode\librarylwjglopenal\20100824\librarylwjglopenal-20100824.jar";"libraries\com\paulscode\soundsystem\20120107\soundsystem-20120107.jar";"libraries\io\netty\netty-all\4.0.23.Final\netty-all-4.0.23.Final.jar";"libraries\com\google\guava\guava\17.0\guava-17.0.jar";"libraries\org\apache\commons\commons-lang3\3.3.2\commons-lang3-3.3.2.jar";"libraries\commons-io\commons-io\2.4\commons-io-2.4.jar";"libraries\commons-codec\commons-codec\1.9\commons-codec-1.9.jar";"libraries\net\java\jinput\jinput\2.0.5\jinput-2.0.5.jar";"libraries\net\java\jutils\jutils\1.0.0\jutils-1.0.0.jar";"libraries\com\google\code\gson\gson\2.2.4\gson-2.2.4.jar";"libraries\com\mojang\authlib\1.5.22\authlib-1.5.22.jar";"libraries\com\mojang\realms\1.8.7\realms-1.8.7.jar";"libraries\org\apache\commons\commons-compress\1.8.1\commons-compress-1.8.1.jar";"libraries\org\apache\httpcomponents\httpclient\4.3.3\httpclient-4.3.3.jar";"libraries\commons-logging\commons-logging\1.1.3\commons-logging-1.1.3.jar";"libraries\org\apache\httpcomponents\httpcore\4.3.2\httpcore-4.3.2.jar";"libraries\org\apache\logging\log4j\log4j-api\2.0-beta9\log4j-api-2.0-beta9.jar";"libraries\org\apache\logging\log4j\log4j-core\2.0-beta9\log4j-core-2.0-beta9.jar";"libraries\org\lwjgl\lwjgl\lwjgl\2.9.4-nightly-20150209\lwjgl-2.9.4-nightly-20150209.jar";"libraries\org\lwjgl\lwjgl\lwjgl_util\2.9.4-nightly-20150209\lwjgl_util-2.9.4-nightly-20150209.jar";"libraries\org\lwjgl\lwjgl\lwjgl\2.9.2-nightly-20140822\lwjgl-2.9.2-nightly-20140822.jar";"libraries\org\lwjgl\lwjgl\lwjgl_util\2.9.2-nightly-20140822\lwjgl_util-2.9.2-nightly-20140822.jar";"versions\Dark Light Client 1.9\Dark Light Client 1.9.jar" net.minecraft.client.main.Main --username zenit --version "Dark Light Client 1.9" --gameDir . --assetsDir assets --assetIndex 1.9 --uuid 00000000000000000000000000000000 --accessToken 0 --userType legacy --versionType release
     

Share This Page