Справа ось в чому. Є клієнт, призначений для сервера, на ньому стоїть 5-6 модов, і від цього завантаження займає 35 секунд. Я вирішив спробувати її прискорити. Просте перенесення з mods в minecraft.jar не працює, хоча б через mcmod.info. Відкрив лог Фордж, з'ясувалося, що більшу частину часу займає зміна клієнта модами
Ось частина балки:
16:04:59 [FINEST] [CustomSpawner] Sent event FMLPreInitializationEvent to mod CustomSpawner
16:04:59 [FINEST] [ExtrabiomesXL] Sending event FMLPreInitializationEvent to mod ExtrabiomesXL
16:04:59 [INFO] [ExtrabiomesXL]
16:05:01 [FINE] [fml.ItemTracker] Adding item extrabiomes.items.ItemCustomLeaves (2200) owned by ExtrabiomesXL
16:05:01 [FINE] [fml.ItemTracker] Adding item extrabiomes.items.ItemCatTail (2201) owned by ExtrabiomesXL
яке відбувається кожного разу приблизно однаково. Питання: чи можна зробити все це, т. Е. FMLConstructionEvent, FMLPreInitializationEvent і т. Д. Заздалегідь, щоб це не забирало 30 секунд при старті гри?
Питання: чи можна зробити все це, т. Е. FMLConstructionEvent, FMLPreInitializationEvent і т. Д. Заздалегідь, щоб це не забирало 30 секунд при старті гри?
Чи не вимикати гру? Взагалі твоє запитання звучить точно так же, як "Чому винда так довго вантажиться? Не можна все драйвера завантажити заздалегідь, що б це не займало 20 секунд при завантаженні?"
Питання: чи можна зробити все це, т. Е. FMLConstructionEvent, FMLPreInitializationEvent і т. Д. Заздалегідь, щоб це не забирало 30 секунд при старті гри?
Чи не вимикати гру? Взагалі твоє запитання звучить точно так же, як "Чому винда так довго вантажиться? Не можна все драйвера завантажити заздалегідь, що б це не займало 20 секунд при завантаженні?"
Я так розумію, Фордж в цей час додає нові види блоків і т. Д. Тобто модифікує класи minecraft.jar. Ось в цьому і питання - чи не можна їх модифікувати заздалегідь?
Якщо переписати код Фордж, то, напевно, можна. Але за тебе це робити ніхто не буде. А готових способів швидше за все немає.
Заздалегідь це як? FMLPreInitializationEvent і інші просто спосіб виклику функцій, у самого minecraft'а теж є свій код, який теж виконується в цей час (але він просто не протоколюється в балці). На думку спадає тільки збереження дампа пам'яті віртуальної машини Java, але це трудомістко і безглуздо. До того ж більшу частину часу зазвичай займає завантаження текстур.
/ Me дивиться на свій лог, і призводить першу сходинку після старту клієнта, і останню перед появою головного меню.
А ви говорите про якісь 30 секундах. Як вам не соромно
Спробуй перепакувати всі архіви з модами як zip архів з нульовим рівнем стиснення.
Я так розумію, Фордж в цей час додає нові види блоків і т. Д. Тобто модифікує класи minecraft.jar. Ось в цьому і питання - чи не можна їх модифікувати заздалегідь?
Ні. У minecraft.jar Інжект тільки моди з папки coremods (і то не впевнений). Моди з папки Mods вантажаться безпосередньо. Точно так же, як і ванільні блоки.