Модификация игры
Благодаря такому типу скрипта, вы можете модифицировать игру, не создавая отдельные моды.
В любом скрипте типа 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
(размытие).