File tree Expand file tree Collapse file tree
src/main/java/github/kasuminova/novaeng/common/machine Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -2,6 +2,7 @@ package github.kasuminova.novaeng.common.machine
22
33import crafttweaker.CraftTweakerAPI.itemUtils
44import github.kasuminova.mmce.common.event.client.ControllerGUIRenderEvent
5+ import github.kasuminova.mmce.common.event.machine.MachineStructureUpdateEvent
56import github.kasuminova.mmce.common.event.recipe.RecipeEvent
67import github.kasuminova.novaeng.NovaEngineeringCore
78import github.kasuminova.novaeng.common.machine.MMAltar.addBlood
@@ -31,6 +32,12 @@ object LifeExtractsAltar : MachineSpecial {
3132
3233 override fun preInit (machine : DynamicMachine ) {
3334 super .init (machine)
35+ machine.addMachineEventHandler(
36+ MachineStructureUpdateEvent ::class .java
37+ ) {
38+ val controller = it.getController()
39+ controller.setWorkMode(TileMultiblockMachineController .WorkMode .SEMI_SYNC )
40+ }
3441 RecipeBuilder .newBuilder(" knzj" , MACHINEID , 20 )
3542 .addItemInput(itemUtils.getItem(" deepmoblearningbm:digital_agonizer" , 0 )).setChance(0.0f )
3643 .addItemInput(itemUtils.getItem(" contenttweaker:zbk" , 0 )).setChance(0.0f )
@@ -115,10 +122,15 @@ object LifeExtractsAltar : MachineSpecial {
115122 data.getInteger(" y" ),
116123 data.getInteger(" z" )
117124 )
118- val mm_altarctrl =
119- world.getTileEntity(mmpos) as ? TileMultiblockMachineController
120- mmpos.release()
121- return mm_altarctrl
125+ try {
126+ if (world.isBlockLoaded(mmpos)) {
127+ val mmAltarctrl =
128+ world.getTileEntity(mmpos) as ? TileMultiblockMachineController
129+ return mmAltarctrl
130+ } else return null
131+ } finally {
132+ mmpos.release()
133+ }
122134 }
123135
124136 @SideOnly(Side .CLIENT )
You can’t perform that action at this time.
0 commit comments