@@ -16,6 +16,7 @@ import crafttweaker.api.item.IIngredient
1616import crafttweaker.api.item.IItemStack
1717import crafttweaker.api.minecraft.CraftTweakerMC
1818import crafttweaker.api.oredict.IOreDictEntry
19+ import github.kasuminova.mmce.common.concurrent.Sync
1920import github.kasuminova.mmce.common.event.client.ControllerGUIRenderEvent
2021import github.kasuminova.mmce.common.event.machine.MachineStructureUpdateEvent
2122import github.kasuminova.mmce.common.event.machine.MachineTickEvent
@@ -33,7 +34,6 @@ import ink.ikx.mmce.common.utils.StackUtils
3334import it.unimi.dsi.fastutil.objects.ObjectLists
3435import kport.modularmagic.common.tile.TileLifeEssenceProvider
3536import net.minecraft.block.Block
36- import net.minecraft.block.state.IBlockState
3737import net.minecraft.init.Blocks
3838import net.minecraft.init.Items
3939import net.minecraft.item.ItemStack
@@ -122,15 +122,19 @@ object MMAltar : MachineSpecial {
122122 val altar = ctrl.getAltar()
123123
124124 var sacrifice: Short = 0
125- for (pos in ctrl.foundPattern.getPattern().keys) {
126- val realPos: BlockPos = ctrl.getPos().add(pos.x, pos.y, pos.z)
127- val state: IBlockState = ctrl.getWorld().getBlockState(realPos)
128- if (state.block == RegistrarBloodMagicBlocks .BLOOD_RUNE ) {
129- if (state.block.getMetaFromState(state) == 3 ) ++ sacrifice
125+ val mpos = BlockPos .MutableBlockPos ()
126+ val ctrlPos = ctrl.getPos()
127+ Sync .addSyncTask {
128+ for (pos in ctrl.foundPattern.getPattern().keys) {
129+ mpos.setPos(ctrlPos.x + pos.x, ctrlPos.y + pos.y, ctrlPos.z + pos.z)
130+ val state = ctrl.getWorld().getBlockState(mpos)
131+ if (state.block == RegistrarBloodMagicBlocks .BLOOD_RUNE ) {
132+ if (state.block.getMetaFromState(state) == 3 ) ++ sacrifice
133+ }
130134 }
135+ nbt.setShort(" sacrifice" , sacrifice)
136+ finishCheck(altar, ctrl, nbt)
131137 }
132- nbt.setShort(" sacrifice" , sacrifice)
133- finishCheck(altar, ctrl, nbt)
134138 }
135139 machine.addMachineEventHandler(MachineTickEvent ::class .java) {
136140 val ctrl = it.controller
0 commit comments