Skip to content

Commit 2027bd4

Browse files
committed
1
1 parent 0fff744 commit 2027bd4

1 file changed

Lines changed: 16 additions & 4 deletions

File tree

src/main/java/github/kasuminova/novaeng/common/machine/LifeExtractsAltar.kt

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package github.kasuminova.novaeng.common.machine
22

33
import crafttweaker.CraftTweakerAPI.itemUtils
44
import github.kasuminova.mmce.common.event.client.ControllerGUIRenderEvent
5+
import github.kasuminova.mmce.common.event.machine.MachineStructureUpdateEvent
56
import github.kasuminova.mmce.common.event.recipe.RecipeEvent
67
import github.kasuminova.novaeng.NovaEngineeringCore
78
import 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)

0 commit comments

Comments
 (0)