try to fix block click

This commit is contained in:
creeper123123321 2021-04-02 15:24:11 -03:00
parent 83e0ec0a72
commit 4faedc7894
3 changed files with 13 additions and 15 deletions

View File

@ -31,14 +31,14 @@ val xyzUBytePos = ValueReader { packetWrapper: PacketWrapper ->
Position(x, y, z)
}
val xyzUBytePosWriter: ValueWriter<Position> = ValueWriter<Position> { packetWrapper: PacketWrapper, pos: Position ->
packetWrapper.write(Type.INT, pos.x.toInt())
packetWrapper.write(Type.INT, pos.x)
packetWrapper.write(Type.UNSIGNED_BYTE, pos.y.toShort())
packetWrapper.write(Type.INT, pos.z.toInt())
packetWrapper.write(Type.INT, pos.z)
}
val xyzShortPosWriter: ValueWriter<Position> = ValueWriter<Position> { packetWrapper: PacketWrapper, pos: Position ->
packetWrapper.write(Type.INT, pos.x.toInt())
packetWrapper.write(Type.INT, pos.x)
packetWrapper.write(Type.SHORT, pos.y.toShort())
packetWrapper.write(Type.INT, pos.z.toInt())
packetWrapper.write(Type.INT, pos.z)
}
val xyzShortPos: ValueReader<Position> = ValueReader<Position> { packetWrapper: PacketWrapper ->
val x = packetWrapper.read(Type.INT)

View File

@ -61,7 +61,7 @@ object Protocol1_8To1_7_6 : SimpleProtocol() {
userConnection.put(MapStorage(userConnection))
}
fun isPlayerInsideBlock(x: Long, y: Long, z: Long, direction: Byte): Boolean {
fun isPlayerInsideBlock(x: Long, y: Long, z: Long, direction: Short): Boolean {
//switch (direction) {
// case 0: {
// y--;

View File

@ -220,18 +220,16 @@ fun Protocol1_8To1_7_6.registerWorldPackets() {
//Player Block Placement
this.registerIncoming(State.PLAY, 0x08, 0x08, object : PacketRemapper() {
override fun registerMap() {
map(TypeRemapper(Type.POSITION), xyzUBytePosWriter)
map(Type.UNSIGNED_BYTE)
map(Type.ITEM, Types1_7_6_10.COMPRESSED_NBT_ITEM)
handler { packetWrapper ->
val pos: Position = packetWrapper.read(Type.POSITION) //Position
val x: Int = pos.x
val y: Short = pos.y.toShort()
val z: Int = pos.z
val x: Int = packetWrapper.get(Type.INT, 0)
val y: Short = packetWrapper.get(Type.UNSIGNED_BYTE, 0)
val z: Int = packetWrapper.get(Type.INT, 1)
// https://github.com/ViaVersion/ViaVersion/pull/1379
packetWrapper.write(Type.INT, x)
packetWrapper.write(Type.UNSIGNED_BYTE, y)
packetWrapper.write(Type.INT, z)
val direction = packetWrapper.passthrough(Type.BYTE) //Direction
val item = packetWrapper.read(Type.ITEM)
packetWrapper.write(Types1_7_6_10.COMPRESSED_NBT_ITEM, item)
val direction = packetWrapper.get(Type.UNSIGNED_BYTE, 0) //Direction
val item = packetWrapper.get(Types1_7_6_10.COMPRESSED_NBT_ITEM, 0)
if (isPlayerInsideBlock(
x.toLong(),
y.toLong(),