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) Position(x, y, z)
} }
val xyzUBytePosWriter: ValueWriter<Position> = ValueWriter<Position> { packetWrapper: PacketWrapper, pos: Position -> 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.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 -> 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.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 xyzShortPos: ValueReader<Position> = ValueReader<Position> { packetWrapper: PacketWrapper ->
val x = packetWrapper.read(Type.INT) val x = packetWrapper.read(Type.INT)

View File

@ -61,7 +61,7 @@ object Protocol1_8To1_7_6 : SimpleProtocol() {
userConnection.put(MapStorage(userConnection)) 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) { //switch (direction) {
// case 0: { // case 0: {
// y--; // y--;

View File

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