mirror of
https://gitlab.bixilon.de/bixilon/minosoft.git
synced 2025-09-19 04:15:14 -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
|
package de.bixilon.minosoft.data.registries.items.block
|
||||||
|
|
||||||
import de.bixilon.kutil.cast.CastUtil.unsafeNull
|
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.abilities.Gamemodes
|
||||||
import de.bixilon.minosoft.data.container.stack.ItemStack
|
import de.bixilon.minosoft.data.container.stack.ItemStack
|
||||||
import de.bixilon.minosoft.data.entities.entities.player.Hands
|
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) {
|
if (connection.player.gamemode != Gamemodes.CREATIVE) {
|
||||||
stack.item.decreaseCount()
|
stack.item.decreaseCount()
|
||||||
|
@ -16,6 +16,7 @@ package de.bixilon.minosoft.gui.rendering.input.interaction
|
|||||||
import de.bixilon.kotlinglm.pow
|
import de.bixilon.kotlinglm.pow
|
||||||
import de.bixilon.kotlinglm.vec3.Vec3i
|
import de.bixilon.kotlinglm.vec3.Vec3i
|
||||||
import de.bixilon.kutil.collections.CollectionUtil.synchronizedMapOf
|
import de.bixilon.kutil.collections.CollectionUtil.synchronizedMapOf
|
||||||
|
import de.bixilon.kutil.concurrent.pool.DefaultThreadPool
|
||||||
import de.bixilon.kutil.time.TimeUtil
|
import de.bixilon.kutil.time.TimeUtil
|
||||||
import de.bixilon.minosoft.config.key.KeyActions
|
import de.bixilon.minosoft.config.key.KeyActions
|
||||||
import de.bixilon.minosoft.config.key.KeyBinding
|
import de.bixilon.minosoft.config.key.KeyBinding
|
||||||
@ -138,7 +139,7 @@ class BreakInteractionHandler(
|
|||||||
fun finishDigging() {
|
fun finishDigging() {
|
||||||
connection.sendPacket(PlayerActionC2SP(PlayerActionC2SP.Actions.FINISHED_DIGGING, target.blockPosition, target.direction))
|
connection.sendPacket(PlayerActionC2SP(PlayerActionC2SP.Actions.FINISHED_DIGGING, target.blockPosition, target.direction))
|
||||||
clearDigging()
|
clearDigging()
|
||||||
connection.world[target.blockPosition] = null
|
DefaultThreadPool += { connection.world[target.blockPosition] = null }
|
||||||
|
|
||||||
BlockDestroyedHandler.handleDestroy(connection, target.blockPosition, target.blockState)
|
BlockDestroyedHandler.handleDestroy(connection, target.blockPosition, target.blockState)
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user