package Ġcom . tw micro . bed rock lang Ċ Ċ import Ġcom . tw micro . bed rock lang . types . Mod Blocks Ċ import Ġcom . tw micro . bed rock lang . types . Mod Items Ċ import Ġnet . minecraft . block . Block Ċ import Ġnet . minecraft . client . Minecraft Ċ import Ġnet . minecraftforge . event . Registry Event Ċ import Ġnet . minecraftforge . fml . common . Mod Ċ import Ġnet . minecraftforge . fml . event . lifecycle . F ML Client Setup Event Ċ import Ġnet . minecraftforge . fml . event . server . F ML Server About To Start Event Ċ import Ġorg . apache . logging . log 4 j . Level Ċ import Ġorg . apache . logging . log 4 j . Log Manager Ċ import Ġorg . apache . logging . log 4 j . Logger Ċ import Ġthe dark colour . kotlin for forge . forge . FOR GE _ BUS Ċ import Ġthe dark colour . kotlin for forge . forge . MOD _ BUS Ċ import Ġjava . io . File Ċ Ċ /** Ċ Ġ* ĠMain Ġmod Ġclass . ĠShould Ġbe Ġan Ġ` object ` Ġdeclaration Ġannotated Ġwith Ġ`@ Mod `. Ċ Ġ* ĠThe Ġmod id Ġshould Ġbe Ġdeclared Ġin Ġthis Ġobject Ġand Ġshould Ġmatch Ġthe Ġmod Id Ġentry Ċ Ġ* Ġin Ġmods . toml . Ċ Ġ* Ċ Ġ* ĠAn Ġexample Ġfor Ġblocks Ġis Ġin Ġthe Ġ` blocks ` Ġpackage Ġof Ġthis Ġmod . Ċ Ġ*/ Ċ @ Mod ( Example Mod . ID ) Ċ object ĠExample Mod Ġ{ ĊĠĠĠ Ġ// Ġthe Ġmod id Ġof Ġour Ġmod ĊĠĠĠ Ġconst Ġval ĠID : ĠString Ġ= Ġ" bed rock lang " ĊĊĠĠĠ Ġ// Ġthe Ġlogger Ġfor Ġour Ġmod ĊĠĠĠ Ġval ĠLOGGER : ĠLogger Ġ= ĠLog Manager . getLogger () ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ ĠLOGGER . log ( Level . INFO , Ġ" Hello Ġworld !") ĊĊĠĠĠĠĠĠĠ ĠBed rock Lang . init () ĊĠĠĠĠĠĠĠ Ġ// ĠRegister Ġthe ĠK Deferred Register Ġto Ġthe Ġmod - specific Ġevent Ġbus ĊĠĠĠĠĠĠĠ ĠMod Blocks . REGISTRY . register ( MOD _ BUS ) ĊĠĠĠĠĠĠĠ ĠMod Items . REGISTRY . register ( MOD _ BUS ) ĊĊĊĠĠĠĠĠĠĠ Ġ// Ġusage Ġof Ġthe ĠKotlin EventBus ĊĠĠĠĠĠĠĠ ĠMOD _ BUS . add Generic Listener ( Example Mod :: register Blocks ) ĊĠĠĠĠĠĠĠ ĠMOD _ BUS . addListener ( Example Mod :: on Client Setup ) ĊĠĠĠĠĠĠĠ ĠFOR GE _ BUS . addListener ( Example Mod :: on Server About To Start ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠRegister Ġyour Ġmod 's Ġblocks Ġduring Ġthe ĊĠĠĠĠ Ġ* Ġblock Ġregistry Ġevent , Ġfired Ġon Ġthe Ġmod Ġspecific Ġevent Ġbus . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprivate Ġfun Ġregister Blocks ( event : ĠRegistry Event . Register < Block >) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// Ġfrom ĠFor ge . kt ĊĠĠĠĠĠĠĠ Ġ// Ġexecuting Ġside d Ġcode Ġsafely ĊĠĠĠĠĠĠĠ Ġ/* run When On ( Dist . CLIENT ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLOGGER . log ( Level . INFO , Ġ" Hello Ġclient Ġside ! ĠI 'm Ġin Ġblock Ġregistry !") ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// Ġregister Ġour Ġexample Ġblock Ġwith Ġregistry Ġname Ġmatching Ġour Ġobject Ġholder ĊĠĠĠĠĠĠĠ Ġevent . registry . register ( Block ( Abstract Block . Properties . create ( Material . PL ANT S )). set Registry Name (" example _ block ")) */ ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠThis Ġis Ġused Ġfor Ġinitializing Ġclient Ġspecific ĊĠĠĠĠ Ġ* Ġthings Ġsuch Ġas Ġrender ers Ġand Ġkey maps ĊĠĠĠĠ Ġ* ĠF ired Ġon Ġthe Ġmod Ġspecific Ġevent Ġbus . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprivate Ġfun Ġon Client Setup ( event : ĠF ML Client Setup Event ) Ġ{ ĊĠĠĠĠĠĠĠ ĠLOGGER . log ( Level . INFO , Ġ" Initializing Ġclient ... ĠGame ĠDIR : Ġ${ Minecraft . getInstance (). game Dir }") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠF ired Ġon Ġthe Ġglobal ĠFor ge Ġbus . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprivate Ġfun Ġon Server About To Start ( event : ĠF ML Server About To Start Event ) Ġ{ ĊĠĠĠĠĠĠĠ ĠLOGGER . log ( Level . INFO , Ġ" Server Ġstarting ...") ĊĠĠĠ Ġ} Ċ }