diff --git a/src/main/java/de/bixilon/minosoft/data/mappings/blocks/actions/BeaconAction.java b/src/main/java/de/bixilon/minosoft/data/mappings/blocks/actions/BeaconAction.java index 4681e0892..3d87a0014 100644 --- a/src/main/java/de/bixilon/minosoft/data/mappings/blocks/actions/BeaconAction.java +++ b/src/main/java/de/bixilon/minosoft/data/mappings/blocks/actions/BeaconAction.java @@ -15,7 +15,7 @@ package de.bixilon.minosoft.data.mappings.blocks.actions; public class BeaconAction implements BlockAction { - public BeaconAction(short status, short ignored) { + public BeaconAction(int status, int ignored) { // only 1 action (id 1) } diff --git a/src/main/java/de/bixilon/minosoft/data/mappings/blocks/actions/ChestAction.java b/src/main/java/de/bixilon/minosoft/data/mappings/blocks/actions/ChestAction.java index 07c7ea725..af328c8a9 100644 --- a/src/main/java/de/bixilon/minosoft/data/mappings/blocks/actions/ChestAction.java +++ b/src/main/java/de/bixilon/minosoft/data/mappings/blocks/actions/ChestAction.java @@ -14,9 +14,9 @@ package de.bixilon.minosoft.data.mappings.blocks.actions; public class ChestAction implements BlockAction { - private final short playersLookingInChest; + private final int playersLookingInChest; - public ChestAction(short unused, short playersLookingInChest) { + public ChestAction(int unused, int playersLookingInChest) { this.playersLookingInChest = playersLookingInChest; } diff --git a/src/main/java/de/bixilon/minosoft/data/mappings/blocks/actions/EndGatewayAction.java b/src/main/java/de/bixilon/minosoft/data/mappings/blocks/actions/EndGatewayAction.java index 2e2a93b41..1ac89cbf4 100644 --- a/src/main/java/de/bixilon/minosoft/data/mappings/blocks/actions/EndGatewayAction.java +++ b/src/main/java/de/bixilon/minosoft/data/mappings/blocks/actions/EndGatewayAction.java @@ -15,7 +15,7 @@ package de.bixilon.minosoft.data.mappings.blocks.actions; public class EndGatewayAction implements BlockAction { - public EndGatewayAction(short status, short ignored) { + public EndGatewayAction(int status, int ignored) { // only 1 action (id 1) } diff --git a/src/main/java/de/bixilon/minosoft/data/mappings/blocks/actions/MobSpawnerAction.java b/src/main/java/de/bixilon/minosoft/data/mappings/blocks/actions/MobSpawnerAction.java index 1dfe1d783..96c740a8b 100644 --- a/src/main/java/de/bixilon/minosoft/data/mappings/blocks/actions/MobSpawnerAction.java +++ b/src/main/java/de/bixilon/minosoft/data/mappings/blocks/actions/MobSpawnerAction.java @@ -15,7 +15,7 @@ package de.bixilon.minosoft.data.mappings.blocks.actions; public class MobSpawnerAction implements BlockAction { - public MobSpawnerAction(short status, short ignored) { + public MobSpawnerAction(int status, int ignored) { // only 1 action (id 1) } diff --git a/src/main/java/de/bixilon/minosoft/data/mappings/blocks/actions/NoteBlockAction.java b/src/main/java/de/bixilon/minosoft/data/mappings/blocks/actions/NoteBlockAction.java index 3c1e6b65c..438d0d02e 100644 --- a/src/main/java/de/bixilon/minosoft/data/mappings/blocks/actions/NoteBlockAction.java +++ b/src/main/java/de/bixilon/minosoft/data/mappings/blocks/actions/NoteBlockAction.java @@ -15,9 +15,9 @@ package de.bixilon.minosoft.data.mappings.blocks.actions; public class NoteBlockAction implements BlockAction { private final Instruments instrument; - private final short pitch; + private final int pitch; - public NoteBlockAction(short instrument, short pitch) { + public NoteBlockAction(int instrument, int pitch) { this.instrument = Instruments.byId(instrument); this.pitch = pitch; } diff --git a/src/main/java/de/bixilon/minosoft/data/mappings/blocks/actions/PistonAction.java b/src/main/java/de/bixilon/minosoft/data/mappings/blocks/actions/PistonAction.java index 35ebea235..e9de03888 100644 --- a/src/main/java/de/bixilon/minosoft/data/mappings/blocks/actions/PistonAction.java +++ b/src/main/java/de/bixilon/minosoft/data/mappings/blocks/actions/PistonAction.java @@ -19,7 +19,7 @@ public class PistonAction implements BlockAction { private final PistonStates status; private final Directions direction; - public PistonAction(short status, short direction) { + public PistonAction(int status, int direction) { this.status = PistonStates.byId(status); this.direction = Directions.byId(direction); } diff --git a/src/main/java/de/bixilon/minosoft/protocol/packets/clientbound/play/PacketBlockAction.java b/src/main/java/de/bixilon/minosoft/protocol/packets/clientbound/play/PacketBlockAction.java index 664b4e081..1bef926d2 100644 --- a/src/main/java/de/bixilon/minosoft/protocol/packets/clientbound/play/PacketBlockAction.java +++ b/src/main/java/de/bixilon/minosoft/protocol/packets/clientbound/play/PacketBlockAction.java @@ -35,8 +35,8 @@ public class PacketBlockAction extends ClientboundPacket { } else { this.position = buffer.readBlockPosition(); } - short byte1 = buffer.readUnsignedByte(); - short byte2 = buffer.readUnsignedByte(); + int byte1 = buffer.readUnsignedByte(); + int byte2 = buffer.readUnsignedByte(); Block blockId = buffer.getConnection().getMapping().getBlockRegistry().get(buffer.readVarInt()); if (blockId == null) { this.data = null; diff --git a/src/main/java/de/bixilon/minosoft/protocol/packets/clientbound/play/PacketEntityTeleport.java b/src/main/java/de/bixilon/minosoft/protocol/packets/clientbound/play/PacketEntityTeleport.java index 5d19a4173..4fe70a458 100644 --- a/src/main/java/de/bixilon/minosoft/protocol/packets/clientbound/play/PacketEntityTeleport.java +++ b/src/main/java/de/bixilon/minosoft/protocol/packets/clientbound/play/PacketEntityTeleport.java @@ -36,7 +36,7 @@ public class PacketEntityTeleport extends ClientboundPacket { if (buffer.getVersionId() < V_16W06A) { this.position = new Vec3(buffer.readFixedPointNumberInt(), buffer.readFixedPointNumberInt(), buffer.readFixedPointNumberInt()); } else { - this.position = buffer.readLocation(); + this.position = buffer.readEntityPosition(); } this.yaw = buffer.readAngle(); this.pitch = buffer.readAngle(); diff --git a/src/main/java/de/bixilon/minosoft/protocol/packets/clientbound/play/PacketFacePlayer.java b/src/main/java/de/bixilon/minosoft/protocol/packets/clientbound/play/PacketFacePlayer.java index 2efd3fd3b..bbc88d2ef 100644 --- a/src/main/java/de/bixilon/minosoft/protocol/packets/clientbound/play/PacketFacePlayer.java +++ b/src/main/java/de/bixilon/minosoft/protocol/packets/clientbound/play/PacketFacePlayer.java @@ -26,7 +26,7 @@ public class PacketFacePlayer extends ClientboundPacket { public PacketFacePlayer(InByteBuffer buffer) { this.face = PlayerFaces.byId(buffer.readVarInt()); - this.position = buffer.readLocation(); + this.position = buffer.readEntityPosition(); if (buffer.readBoolean()) { // entity present this.entityId = buffer.readVarInt(); diff --git a/src/main/java/de/bixilon/minosoft/protocol/packets/clientbound/play/PacketMapData.java b/src/main/java/de/bixilon/minosoft/protocol/packets/clientbound/play/PacketMapData.java index 86f544bea..9795f84c0 100644 --- a/src/main/java/de/bixilon/minosoft/protocol/packets/clientbound/play/PacketMapData.java +++ b/src/main/java/de/bixilon/minosoft/protocol/packets/clientbound/play/PacketMapData.java @@ -107,16 +107,15 @@ public class PacketMapData extends ClientboundPacket { this.pins.add(new MapPinSet(type, direction, x, z, displayName)); } - short columns = buffer.readUnsignedByte(); + int columns = buffer.readUnsignedByte(); if (columns > 0) { - short rows = buffer.readUnsignedByte(); - short xOffset = buffer.readUnsignedByte(); - short zOffset = buffer.readUnsignedByte(); + int rows = buffer.readUnsignedByte(); + int xOffset = buffer.readUnsignedByte(); + int zOffset = buffer.readUnsignedByte(); int dataLength = buffer.readVarInt(); this.data = buffer.readBytes(dataLength); } - return; } @Override diff --git a/src/main/java/de/bixilon/minosoft/protocol/packets/clientbound/play/PacketParticle.java b/src/main/java/de/bixilon/minosoft/protocol/packets/clientbound/play/PacketParticle.java index 44c1e49c7..580680424 100644 --- a/src/main/java/de/bixilon/minosoft/protocol/packets/clientbound/play/PacketParticle.java +++ b/src/main/java/de/bixilon/minosoft/protocol/packets/clientbound/play/PacketParticle.java @@ -47,7 +47,7 @@ public class PacketParticle extends ClientboundPacket { if (buffer.getVersionId() < V_1_15_PRE4) { this.position = buffer.readFloatPosition(); } else { - this.position = buffer.readLocation(); + this.position = buffer.readEntityPosition(); } // offset diff --git a/src/main/java/de/bixilon/minosoft/protocol/packets/clientbound/play/PacketPlayerPositionAndRotation.java b/src/main/java/de/bixilon/minosoft/protocol/packets/clientbound/play/PacketPlayerPositionAndRotation.java index b8881af27..3b1ed656d 100644 --- a/src/main/java/de/bixilon/minosoft/protocol/packets/clientbound/play/PacketPlayerPositionAndRotation.java +++ b/src/main/java/de/bixilon/minosoft/protocol/packets/clientbound/play/PacketPlayerPositionAndRotation.java @@ -33,7 +33,7 @@ public class PacketPlayerPositionAndRotation extends ClientboundPacket { private boolean dismountVehicle = true; public PacketPlayerPositionAndRotation(InByteBuffer buffer) { - this.position = buffer.readLocation(); + this.position = buffer.readEntityPosition(); this.rotation = new EntityRotation(buffer.readFloat(), buffer.readFloat(), 0); if (buffer.getVersionId() < V_14W03B) { this.onGround = buffer.readBoolean(); diff --git a/src/main/java/de/bixilon/minosoft/protocol/packets/clientbound/play/PacketSpawnExperienceOrb.java b/src/main/java/de/bixilon/minosoft/protocol/packets/clientbound/play/PacketSpawnExperienceOrb.java index 4fda85eb9..36f0b06d6 100644 --- a/src/main/java/de/bixilon/minosoft/protocol/packets/clientbound/play/PacketSpawnExperienceOrb.java +++ b/src/main/java/de/bixilon/minosoft/protocol/packets/clientbound/play/PacketSpawnExperienceOrb.java @@ -33,7 +33,7 @@ public class PacketSpawnExperienceOrb extends ClientboundPacket { if (buffer.getVersionId() < V_16W06A) { position = new Vec3(buffer.readFixedPointNumberInt(), buffer.readFixedPointNumberInt(), buffer.readFixedPointNumberInt()); } else { - position = buffer.readLocation(); + position = buffer.readEntityPosition(); } int count = buffer.readUnsignedShort(); this.entity = new ExperienceOrb(buffer.getConnection(), position, count); diff --git a/src/main/java/de/bixilon/minosoft/protocol/packets/clientbound/play/PacketSpawnMob.java b/src/main/java/de/bixilon/minosoft/protocol/packets/clientbound/play/PacketSpawnMob.java index f4f97dc75..7e824efa8 100644 --- a/src/main/java/de/bixilon/minosoft/protocol/packets/clientbound/play/PacketSpawnMob.java +++ b/src/main/java/de/bixilon/minosoft/protocol/packets/clientbound/play/PacketSpawnMob.java @@ -54,7 +54,7 @@ public class PacketSpawnMob extends ClientboundPacket { if (buffer.getVersionId() < V_16W06A) { position = new Vec3(buffer.readFixedPointNumberInt(), buffer.readFixedPointNumberInt(), buffer.readFixedPointNumberInt()); } else { - position = buffer.readLocation(); + position = buffer.readEntityPosition(); } EntityRotation rotation = new EntityRotation(buffer.readAngle(), buffer.readAngle(), buffer.readAngle()); this.velocity = new Velocity(buffer.readShort(), buffer.readShort(), buffer.readShort()); diff --git a/src/main/java/de/bixilon/minosoft/protocol/packets/clientbound/play/PacketSpawnObject.java b/src/main/java/de/bixilon/minosoft/protocol/packets/clientbound/play/PacketSpawnObject.java index 9d878e30e..d5106709d 100644 --- a/src/main/java/de/bixilon/minosoft/protocol/packets/clientbound/play/PacketSpawnObject.java +++ b/src/main/java/de/bixilon/minosoft/protocol/packets/clientbound/play/PacketSpawnObject.java @@ -59,7 +59,7 @@ public class PacketSpawnObject extends ClientboundPacket { if (buffer.getVersionId() < V_16W06A) { position = new Vec3(buffer.readFixedPointNumberInt(), buffer.readFixedPointNumberInt(), buffer.readFixedPointNumberInt()); } else { - position = buffer.readLocation(); + position = buffer.readEntityPosition(); } EntityRotation rotation = new EntityRotation(buffer.readAngle(), buffer.readAngle(), 0); int data = buffer.readInt(); diff --git a/src/main/java/de/bixilon/minosoft/protocol/packets/clientbound/play/PacketSpawnPlayer.java b/src/main/java/de/bixilon/minosoft/protocol/packets/clientbound/play/PacketSpawnPlayer.java index b28c7f3ec..2e7b7d87e 100644 --- a/src/main/java/de/bixilon/minosoft/protocol/packets/clientbound/play/PacketSpawnPlayer.java +++ b/src/main/java/de/bixilon/minosoft/protocol/packets/clientbound/play/PacketSpawnPlayer.java @@ -55,7 +55,7 @@ public class PacketSpawnPlayer extends ClientboundPacket { if (buffer.getVersionId() < V_16W06A) { position = new Vec3(buffer.readFixedPointNumberInt(), buffer.readFixedPointNumberInt(), buffer.readFixedPointNumberInt()); } else { - position = buffer.readLocation(); + position = buffer.readEntityPosition(); } short yaw = buffer.readAngle(); short pitch = buffer.readAngle(); diff --git a/src/main/java/de/bixilon/minosoft/protocol/packets/clientbound/play/PacketSpawnWeatherEntity.java b/src/main/java/de/bixilon/minosoft/protocol/packets/clientbound/play/PacketSpawnWeatherEntity.java index 849e6b8a0..480d8959d 100644 --- a/src/main/java/de/bixilon/minosoft/protocol/packets/clientbound/play/PacketSpawnWeatherEntity.java +++ b/src/main/java/de/bixilon/minosoft/protocol/packets/clientbound/play/PacketSpawnWeatherEntity.java @@ -35,7 +35,7 @@ public class PacketSpawnWeatherEntity extends ClientboundPacket { if (buffer.getVersionId() < V_16W06A) { position = new Vec3(buffer.readFixedPointNumberInt(), buffer.readFixedPointNumberInt(), buffer.readFixedPointNumberInt()); } else { - position = buffer.readLocation(); + position = buffer.readEntityPosition(); } this.entity = new LightningBolt(buffer.getConnection(), this.entityId, position); } diff --git a/src/main/java/de/bixilon/minosoft/protocol/packets/clientbound/play/PacketVehicleMovement.java b/src/main/java/de/bixilon/minosoft/protocol/packets/clientbound/play/PacketVehicleMovement.java index aa8da0c7c..73b508a42 100644 --- a/src/main/java/de/bixilon/minosoft/protocol/packets/clientbound/play/PacketVehicleMovement.java +++ b/src/main/java/de/bixilon/minosoft/protocol/packets/clientbound/play/PacketVehicleMovement.java @@ -24,7 +24,7 @@ public class PacketVehicleMovement extends ClientboundPacket { private final float pitch; public PacketVehicleMovement(InByteBuffer buffer) { - this.position = buffer.readLocation(); + this.position = buffer.readEntityPosition(); this.yaw = buffer.readFloat(); this.pitch = buffer.readFloat(); } diff --git a/src/main/java/de/bixilon/minosoft/protocol/protocol/InByteBuffer.java b/src/main/java/de/bixilon/minosoft/protocol/protocol/InByteBuffer.java index 9f5f0d9ca..e99b441fd 100644 --- a/src/main/java/de/bixilon/minosoft/protocol/protocol/InByteBuffer.java +++ b/src/main/java/de/bixilon/minosoft/protocol/protocol/InByteBuffer.java @@ -135,11 +135,11 @@ public class InByteBuffer { return readByte() == 1; } - public int[] readUnsignedLEShorts(int num) { - if (num > ProtocolDefinition.PROTOCOL_PACKET_MAX_SIZE) { + public int[] readUnsignedShortsLE(int count) { + if (count > ProtocolDefinition.PROTOCOL_PACKET_MAX_SIZE) { throw new IllegalArgumentException("Trying to allocate to much memory"); } - int[] ret = new int[num]; + int[] ret = new int[count]; for (int i = 0; i < ret.length; i++) { ret[i] = ((readUnsignedByte()) | (readUnsignedByte() << 8)); } @@ -198,8 +198,8 @@ public class InByteBuffer { } @IntRange(from = 0, to = ((int) Byte.MAX_VALUE) * 2 + 1) - public short readUnsignedByte() { - return (short) (this.bytes[this.position++] & 0xFF); + public int readUnsignedByte() { + return (this.bytes[this.position++] & 0xFF); } public Vec3i readBlockPosition() { @@ -356,7 +356,7 @@ public class InByteBuffer { return (short) (readByte() * ProtocolDefinition.ANGLE_CALCULATION_CONSTANT); } - public Vec3 readLocation() { + public Vec3 readEntityPosition() { return new Vec3(readDouble(), readDouble(), readDouble()); } @@ -448,7 +448,7 @@ public class InByteBuffer { EntityMetaData.MetaDataHashMap sets = metaData.getSets(); if (this.versionId < V_15W31A) { // ToDo: This version was 48, but this one does not exist! - short item = readUnsignedByte(); + int item = readUnsignedByte(); while (item != 0x7F) { byte index = (byte) (item & 0x1F); EntityMetaData.EntityMetaDataDataTypes type = this.connection.getMapping().getEntityMetaDataDataDataTypesRegistry().get((item & 0xFF) >> 5); diff --git a/src/main/java/de/bixilon/minosoft/util/chunk/ChunkUtil.kt b/src/main/java/de/bixilon/minosoft/util/chunk/ChunkUtil.kt index ff3968167..ee62314be 100644 --- a/src/main/java/de/bixilon/minosoft/util/chunk/ChunkUtil.kt +++ b/src/main/java/de/bixilon/minosoft/util/chunk/ChunkUtil.kt @@ -114,7 +114,7 @@ object ChunkUtil { val totalEntries: Int = ProtocolDefinition.BLOCKS_PER_SECTION * sectionBitMask.cardinality() val totalHalfEntries = totalEntries / 2 - val blockData = buffer.readUnsignedLEShorts(totalEntries) // blocks >>> 4, data & 0xF + val blockData = buffer.readUnsignedShortsLE(totalEntries) // blocks >>> 4, data & 0xF val light = buffer.readBytes(totalHalfEntries)