diff --git a/src/main/java/de/bixilon/minosoft/data/registries/items/block/BlockItem.kt b/src/main/java/de/bixilon/minosoft/data/registries/items/block/BlockItem.kt index 1aaed544f..2ccac5539 100644 --- a/src/main/java/de/bixilon/minosoft/data/registries/items/block/BlockItem.kt +++ b/src/main/java/de/bixilon/minosoft/data/registries/items/block/BlockItem.kt @@ -25,8 +25,6 @@ import de.bixilon.minosoft.gui.rendering.input.camera.hit.BlockRaycastHit import de.bixilon.minosoft.gui.rendering.input.camera.hit.RaycastHit import de.bixilon.minosoft.gui.rendering.util.VecUtil.plus import de.bixilon.minosoft.protocol.network.connection.play.PlayConnection -import de.bixilon.minosoft.protocol.packets.c2s.play.BlockPlaceC2SP -import glm_.vec3.Vec3 open class BlockItem( resourceLocation: ResourceLocation, @@ -72,16 +70,6 @@ open class BlockItem( placeBlockState.placeSoundEvent?.let { connection.world.playSoundEvent(it, placePosition, placeBlockState.soundEventVolume, placeBlockState.soundEventPitch) } - - - connection.sendPacket(BlockPlaceC2SP( - position = placePosition, - direction = raycastHit.hitDirection, - cursorPosition = Vec3(raycastHit.hitPosition), - item = connection.player.inventory.getHotbarSlot(), - hand = Hands.MAIN_HAND, - insideBlock = false, // ToDo - )) return BlockUsages.SUCCESS } } diff --git a/src/main/java/de/bixilon/minosoft/data/world/World.kt b/src/main/java/de/bixilon/minosoft/data/world/World.kt index 85c3de2c3..2d41ebcff 100644 --- a/src/main/java/de/bixilon/minosoft/data/world/World.kt +++ b/src/main/java/de/bixilon/minosoft/data/world/World.kt @@ -106,12 +106,11 @@ class World( VersionTweaker.transformBlock(blockState, sections, blockPosition.inChunkSectionPosition, blockPosition.sectionHeight) } val inChunkPosition = blockPosition.inChunkPosition - if (it[inChunkPosition] == blockState) { + val previousBlock = it[inChunkPosition] + if (previousBlock == transformedBlockState) { return } - it[inChunkPosition]?.let { oldBlockState -> - oldBlockState.block.onBreak(connection, blockPosition, oldBlockState, it.getBlockEntity(inChunkPosition)) - } + previousBlock?.block?.onBreak(connection, blockPosition, previousBlock, it.getBlockEntity(inChunkPosition)) blockState?.block?.onPlace(connection, blockPosition, blockState) it[inChunkPosition] = transformedBlockState connection.fireEvent(BlockSetEvent( diff --git a/src/main/java/de/bixilon/minosoft/protocol/packets/s2c/play/BlockSetS2CP.kt b/src/main/java/de/bixilon/minosoft/protocol/packets/s2c/play/BlockSetS2CP.kt index 30c6c18ce..cec4cbb54 100644 --- a/src/main/java/de/bixilon/minosoft/protocol/packets/s2c/play/BlockSetS2CP.kt +++ b/src/main/java/de/bixilon/minosoft/protocol/packets/s2c/play/BlockSetS2CP.kt @@ -41,6 +41,6 @@ class BlockSetS2CP(buffer: PlayInByteBuffer) : PlayS2CPacket() { } override fun log() { - Log.log(LogMessageType.NETWORK_PACKETS_IN, level = LogLevels.VERBOSE) { "Block change (position=${blockPosition}, block=$blockState)" } + Log.log(LogMessageType.NETWORK_PACKETS_IN, level = LogLevels.VERBOSE) { "Block set (position=${blockPosition}, blockState=$blockState)" } } }