register и unregister во время работы

Версия Minecraft
1.12.2
3,005
192
592
Можно ли разрегать и "раз"регать предмет/блок когда майн уже запущен?
Либо же как-то отключить и включить мод.

В списке модов есть кнопка "выключить", но "быстро посмотрев" я не нашел, где используется кнопка.
 

tox1cozZ

aka Agravaine
8,456
598
2,892
Можно ли разрегать и "раз"регать предмет/блок когда майн уже запущен?
Сломаешь к черту людям миры. Не надо так.
В списке модов есть кнопка "выключить", но "быстро посмотрев" я не нашел, где используется кнопка.
Нужно в аннотацию Mod(блен, @mod есть такой юзер) добавить параметр canBeDeactivation = true. Фиг знает, в 1.7.10 эта кнопка еще ничего не делала, может сейчас допили и она вызывает какое-то событие.
 
3,005
192
592
3,005
192
592
М-да.. Форджевцы..
Сделали метод, а привязать его забыли.. :f_facepalm::m_faceplam::f_facepalm::m_faceplam:
Loader#runtimeDisableMod
По идеи это может вызвать выключение мода, как раз там используется ModContainer#canBeDisabled.
~
Кхм, по поводу enum Disableable - все таки в аннотации ставиться просто true, а после майн уже сам выбирает в зависимости от ... какой enum ставить.
~
Но, увы после тыка в отключение в меню с модами - пусто.
 
Последнее редактирование:
Там не все так просто как кажется на первый взгляд. Первые траблы возникнут с текстуратлас спрайтом.
Дело в том что при добавлении в игру нового итема или блока майн резервирует под него место в глобальном атласе со всеми текстурками. Т.е. при добавлении нового итема придется еще пересобирать атлас, что не быстро. Либо каким-то образом добавить в уже существующий атлас текстурку, что вообще может оказаться нетривиальной задачей.
 
3,005
192
592
@Agravaine Хукаться куда? В disable mod ? А включать же нету способов.

@iconst_1 А если при старте - добавлять все текстуры в атлас, а при удалении не удалять их из атласа, то что произойдет?
Или он привязан к ID ? Если привязан, то по идеи можно заменять на какой-то temp итем, после сохранять оригинал и при включении мода возвращать оригинал на эти же ID.
 
Не знаю как в новых версиях, но в старых он точно не привязан на id.
А если при старте - добавлять все текстуры в атлас, а при удалении не удалять их из атласа, то что произойдет?
Ничего. Они останутся мертвым грузом, я думаю
 
3,005
192
592
Они останутся мертвым грузом, я думаю
Короче говоря, если сделать регистр спрайтов в мапу только один раз, при старте и после unregister и register заново не трогать регистр мапы, то все будет нормально?
Первые траблы возникнут с текстуратлас спрайтом.
И "первые траблы" не будут? :eek:
 
Сверху