mirror of
https://gitlab.bixilon.de/bixilon/minosoft.git
synced 2025-09-18 11:54:59 -04:00
interaction handler: place and destroy blocks async
This commit is contained in:
parent
ec3513a13b
commit
00c7097b02
@ -14,6 +14,7 @@
|
||||
package de.bixilon.minosoft.data.registries.items.block
|
||||
|
||||
import de.bixilon.kutil.cast.CastUtil.unsafeNull
|
||||
import de.bixilon.kutil.concurrent.pool.DefaultThreadPool
|
||||
import de.bixilon.minosoft.data.abilities.Gamemodes
|
||||
import de.bixilon.minosoft.data.container.stack.ItemStack
|
||||
import de.bixilon.minosoft.data.entities.entities.player.Hands
|
||||
@ -74,7 +75,7 @@ open class BlockItem(
|
||||
}
|
||||
|
||||
|
||||
connection.world[placePosition] = placeBlockState
|
||||
DefaultThreadPool += { connection.world[placePosition] = placeBlockState }
|
||||
|
||||
if (connection.player.gamemode != Gamemodes.CREATIVE) {
|
||||
stack.item.decreaseCount()
|
||||
|
@ -16,6 +16,7 @@ package de.bixilon.minosoft.gui.rendering.input.interaction
|
||||
import de.bixilon.kotlinglm.pow
|
||||
import de.bixilon.kotlinglm.vec3.Vec3i
|
||||
import de.bixilon.kutil.collections.CollectionUtil.synchronizedMapOf
|
||||
import de.bixilon.kutil.concurrent.pool.DefaultThreadPool
|
||||
import de.bixilon.kutil.time.TimeUtil
|
||||
import de.bixilon.minosoft.config.key.KeyActions
|
||||
import de.bixilon.minosoft.config.key.KeyBinding
|
||||
@ -138,7 +139,7 @@ class BreakInteractionHandler(
|
||||
fun finishDigging() {
|
||||
connection.sendPacket(PlayerActionC2SP(PlayerActionC2SP.Actions.FINISHED_DIGGING, target.blockPosition, target.direction))
|
||||
clearDigging()
|
||||
connection.world[target.blockPosition] = null
|
||||
DefaultThreadPool += { connection.world[target.blockPosition] = null }
|
||||
|
||||
BlockDestroyedHandler.handleDestroy(connection, target.blockPosition, target.blockState)
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user