Перейти к основному содержимому
Версия: Legacy

Модификация игры

no-title



Модификационный тип скриптов

Благодаря такому типу скрипта, вы можете модифицировать игру, не создавая отдельные моды.


Обязательства

В любом скрипте типа mod.kts должна быть создать метод init(), даже пустой:

fun init() {}



Возможности

Возможности

Стоит отметить, что все действия пишутся исключительно в методе init():

fun init() {
// Тут пишете все действия //
}

Модифицировать можно что угодно, начиная от «Добавление контента», «Созданием конфигов» и «Регистрацией чего-либо», заканчивая чем-то большим.

подсказка

Данный тип метода вызывается всего 1 раз при запуске игры. Так что если вы что-то поменяли в методе - перезапустите игру.




События (Ивенты)

Событие (Ивенты)

Вы можете также добавлять события, которые будут запускаться в определённых событиях в игре. События не пишутся в методе init(), т.к. само событие - это и есть метод.

Такой метод должен включать в себя следующие действия:

  • Анотацию @SubscribeEvent
  • Само событие в игре

Благодаря аннотации @SubscribeEvent метод будет самостоятельно вызываться, когда произойдёт событие.

Также после изменения действия при событии можно просто перезагрузить его через команду /reload.

Пример
import net.minecraftforge.client.event.ScreenEvent
import net.minecraftforge.eventbus.api.SubscribeEvent
import ru.hollowhorizon.hc.client.utils.mc
import ru.hollowhorizon.hollowengine.common.scripting.story.nodes.util.PostEffect

@SubscribeEvent
fun onScreenOpen(event: ScreenEvent.Opening) {
mc.gameRenderer.loadEffect(PostEffect.BLUR)
}

Из примера, событие происходит, когда открывается любое меню в игре, и после чего накладывается пост-эффект типа BLUR (размытие).