From 5b424574ac839a2e6952a28248ea69a6b44d2c3a Mon Sep 17 00:00:00 2001 From: bixilon Date: Tue, 16 Jun 2020 14:37:42 +0200 Subject: [PATCH] proper angle calculation (yaw/pitch/(roll)) --- .../game/datatypes/entities/Entity.java | 30 ++++++++++++------- .../game/datatypes/entities/EntityObject.java | 2 +- .../minosoft/game/datatypes/entities/Mob.java | 2 +- .../game/datatypes/entities/mob/Bat.java | 2 +- .../game/datatypes/entities/mob/Blaze.java | 2 +- .../datatypes/entities/mob/CaveSpider.java | 2 +- .../game/datatypes/entities/mob/Chicken.java | 2 +- .../game/datatypes/entities/mob/Cow.java | 2 +- .../game/datatypes/entities/mob/Creeper.java | 2 +- .../datatypes/entities/mob/EnderDragon.java | 2 +- .../game/datatypes/entities/mob/EnderMan.java | 2 +- .../game/datatypes/entities/mob/Ghast.java | 2 +- .../datatypes/entities/mob/GiantZombie.java | 2 +- .../game/datatypes/entities/mob/Horse.java | 2 +- .../datatypes/entities/mob/IronGolem.java | 2 +- .../datatypes/entities/mob/MagmaCube.java | 2 +- .../datatypes/entities/mob/Mooshroom.java | 2 +- .../game/datatypes/entities/mob/Ocelot.java | 2 +- .../datatypes/entities/mob/OtherPlayer.java | 2 +- .../game/datatypes/entities/mob/Pig.java | 2 +- .../game/datatypes/entities/mob/Sheep.java | 2 +- .../datatypes/entities/mob/Silverfish.java | 2 +- .../game/datatypes/entities/mob/Skeleton.java | 2 +- .../game/datatypes/entities/mob/Slime.java | 2 +- .../datatypes/entities/mob/SnowGolem.java | 2 +- .../game/datatypes/entities/mob/Spider.java | 2 +- .../game/datatypes/entities/mob/Squid.java | 2 +- .../game/datatypes/entities/mob/Villager.java | 2 +- .../game/datatypes/entities/mob/Witch.java | 2 +- .../game/datatypes/entities/mob/Wither.java | 2 +- .../game/datatypes/entities/mob/Wolf.java | 2 +- .../game/datatypes/entities/mob/Zombie.java | 2 +- .../datatypes/entities/mob/ZombiePigman.java | 2 +- .../datatypes/entities/objects/Arrow.java | 3 +- .../game/datatypes/entities/objects/Boat.java | 2 +- .../game/datatypes/entities/objects/Egg.java | 3 +- .../entities/objects/EnderCrystal.java | 3 +- .../entities/objects/Enderpearl.java | 3 +- .../entities/objects/EyeOfEnder.java | 3 +- .../entities/objects/FallingBlock.java | 3 +- .../entities/objects/FallingDragonEgg.java | 3 +- .../datatypes/entities/objects/FireBall.java | 3 +- .../entities/objects/FireCharge.java | 3 +- .../datatypes/entities/objects/Firework.java | 3 +- .../entities/objects/FishingFloat.java | 3 +- .../datatypes/entities/objects/ItemFrame.java | 3 +- .../datatypes/entities/objects/ItemStack.java | 4 +-- .../datatypes/entities/objects/LeashKnot.java | 3 +- .../datatypes/entities/objects/Minecart.java | 2 +- .../datatypes/entities/objects/PrimedTNT.java | 3 +- .../datatypes/entities/objects/Snowball.java | 3 +- .../entities/objects/ThrownExpBottle.java | 3 +- .../entities/objects/ThrownPotion.java | 3 +- .../entities/objects/WitherSkull.java | 3 +- .../play/PacketEntityHeadRotation.java | 6 ++-- .../play/PacketEntityPositionAndRotation.java | 12 ++++---- .../play/PacketEntityRotation.java | 12 ++++---- .../play/PacketEntityTeleport.java | 12 ++++---- .../clientbound/play/PacketSpawnMob.java | 8 ++--- .../clientbound/play/PacketSpawnObject.java | 6 ++-- .../clientbound/play/PacketSpawnPlayer.java | 4 +-- .../protocol/protocol/InByteBuffer.java | 17 ++++++----- .../protocol/protocol/ProtocolDefinition.java | 1 + 63 files changed, 115 insertions(+), 119 deletions(-) diff --git a/src/main/java/de/bixilon/minosoft/game/datatypes/entities/Entity.java b/src/main/java/de/bixilon/minosoft/game/datatypes/entities/Entity.java index ccbc5e24c..182400611 100644 --- a/src/main/java/de/bixilon/minosoft/game/datatypes/entities/Entity.java +++ b/src/main/java/de/bixilon/minosoft/game/datatypes/entities/Entity.java @@ -27,11 +27,11 @@ public abstract class Entity implements EntityInterface { final List effectList; Location location; Velocity velocity; - int yaw; - int pitch; - int headYaw; + short yaw; + short pitch; + short headYaw; - public Entity(int id, Location location, int yaw, int pitch, Velocity velocity) { + public Entity(int id, Location location, short yaw, short pitch, Velocity velocity) { this.id = id; this.location = location; this.yaw = yaw; @@ -41,6 +41,16 @@ public abstract class Entity implements EntityInterface { this.effectList = new ArrayList<>(); } + public Entity(int id, Location location, int yaw, int pitch, Velocity velocity) { + this.id = id; + this.location = location; + this.yaw = (short) yaw; + this.pitch = (short) pitch; + this.velocity = velocity; + this.equipment = new HashMap<>(); + this.effectList = new ArrayList<>(); + } + public int getId() { return id; @@ -68,20 +78,20 @@ public abstract class Entity implements EntityInterface { this.velocity = velocity; } - public int getYaw() { + public short getYaw() { return 0; } - public void setYaw(int yaw) { + public void setYaw(short yaw) { this.yaw = yaw; } - public int getPitch() { + public short getPitch() { return 0; } - public void setPitch(int pitch) { + public void setPitch(short pitch) { this.pitch = pitch; } @@ -95,11 +105,11 @@ public abstract class Entity implements EntityInterface { } - public int getHeadYaw() { + public short getHeadYaw() { return headYaw; } - public void setHeadYaw(int headYaw) { + public void setHeadYaw(short headYaw) { this.headYaw = headYaw; } diff --git a/src/main/java/de/bixilon/minosoft/game/datatypes/entities/EntityObject.java b/src/main/java/de/bixilon/minosoft/game/datatypes/entities/EntityObject.java index cf9a0cde9..4aed463b5 100644 --- a/src/main/java/de/bixilon/minosoft/game/datatypes/entities/EntityObject.java +++ b/src/main/java/de/bixilon/minosoft/game/datatypes/entities/EntityObject.java @@ -15,7 +15,7 @@ package de.bixilon.minosoft.game.datatypes.entities; public abstract class EntityObject extends Entity implements ObjectInterface { - public EntityObject(int id, Location location, int yaw, int pitch, Velocity velocity) { + public EntityObject(int id, Location location, short yaw, short pitch, Velocity velocity) { super(id, location, yaw, pitch, velocity); } diff --git a/src/main/java/de/bixilon/minosoft/game/datatypes/entities/Mob.java b/src/main/java/de/bixilon/minosoft/game/datatypes/entities/Mob.java index bdeea6ae1..0d6d1e45f 100644 --- a/src/main/java/de/bixilon/minosoft/game/datatypes/entities/Mob.java +++ b/src/main/java/de/bixilon/minosoft/game/datatypes/entities/Mob.java @@ -17,7 +17,7 @@ import de.bixilon.minosoft.game.datatypes.entities.meta.EntityMetaData; import de.bixilon.minosoft.game.datatypes.entities.meta.MobMetaData; public abstract class Mob extends Entity implements MobInterface { - public Mob(int id, Location location, int yaw, int pitch, Velocity velocity) { + public Mob(int id, Location location, short yaw, short pitch, Velocity velocity) { super(id, location, yaw, pitch, velocity); } diff --git a/src/main/java/de/bixilon/minosoft/game/datatypes/entities/mob/Bat.java b/src/main/java/de/bixilon/minosoft/game/datatypes/entities/mob/Bat.java index 31427a2ff..157b28e87 100644 --- a/src/main/java/de/bixilon/minosoft/game/datatypes/entities/mob/Bat.java +++ b/src/main/java/de/bixilon/minosoft/game/datatypes/entities/mob/Bat.java @@ -22,7 +22,7 @@ import de.bixilon.minosoft.protocol.protocol.ProtocolVersion; public class Bat extends Mob implements MobInterface { BatMetaData metaData; - public Bat(int id, Location location, int yaw, int pitch, Velocity velocity, InByteBuffer buffer, ProtocolVersion v) { + public Bat(int id, Location location, short yaw, short pitch, Velocity velocity, InByteBuffer buffer, ProtocolVersion v) { super(id, location, yaw, pitch, velocity); this.metaData = new BatMetaData(buffer, v); } diff --git a/src/main/java/de/bixilon/minosoft/game/datatypes/entities/mob/Blaze.java b/src/main/java/de/bixilon/minosoft/game/datatypes/entities/mob/Blaze.java index 71377410e..81dd4bc3a 100644 --- a/src/main/java/de/bixilon/minosoft/game/datatypes/entities/mob/Blaze.java +++ b/src/main/java/de/bixilon/minosoft/game/datatypes/entities/mob/Blaze.java @@ -22,7 +22,7 @@ import de.bixilon.minosoft.protocol.protocol.ProtocolVersion; public class Blaze extends Mob implements MobInterface { BlazeMetaData metaData; - public Blaze(int id, Location location, int yaw, int pitch, Velocity velocity, InByteBuffer buffer, ProtocolVersion v) { + public Blaze(int id, Location location, short yaw, short pitch, Velocity velocity, InByteBuffer buffer, ProtocolVersion v) { super(id, location, yaw, pitch, velocity); this.metaData = new BlazeMetaData(buffer, v); } diff --git a/src/main/java/de/bixilon/minosoft/game/datatypes/entities/mob/CaveSpider.java b/src/main/java/de/bixilon/minosoft/game/datatypes/entities/mob/CaveSpider.java index 3095a29e6..c67290dda 100644 --- a/src/main/java/de/bixilon/minosoft/game/datatypes/entities/mob/CaveSpider.java +++ b/src/main/java/de/bixilon/minosoft/game/datatypes/entities/mob/CaveSpider.java @@ -20,7 +20,7 @@ import de.bixilon.minosoft.protocol.protocol.InByteBuffer; import de.bixilon.minosoft.protocol.protocol.ProtocolVersion; public class CaveSpider extends Spider { - public CaveSpider(int id, Location location, int yaw, int pitch, Velocity velocity, InByteBuffer buffer, ProtocolVersion v) { + public CaveSpider(int id, Location location, short yaw, short pitch, Velocity velocity, InByteBuffer buffer, ProtocolVersion v) { super(id, location, yaw, pitch, velocity, buffer, v); } diff --git a/src/main/java/de/bixilon/minosoft/game/datatypes/entities/mob/Chicken.java b/src/main/java/de/bixilon/minosoft/game/datatypes/entities/mob/Chicken.java index 0c613e8d7..9f9671c35 100644 --- a/src/main/java/de/bixilon/minosoft/game/datatypes/entities/mob/Chicken.java +++ b/src/main/java/de/bixilon/minosoft/game/datatypes/entities/mob/Chicken.java @@ -22,7 +22,7 @@ import de.bixilon.minosoft.protocol.protocol.ProtocolVersion; public class Chicken extends Mob implements MobInterface { AgeableMetaData metaData; - public Chicken(int id, Location location, int yaw, int pitch, Velocity velocity, InByteBuffer buffer, ProtocolVersion v) { + public Chicken(int id, Location location, short yaw, short pitch, Velocity velocity, InByteBuffer buffer, ProtocolVersion v) { super(id, location, yaw, pitch, velocity); this.metaData = new AgeableMetaData(buffer, v); } diff --git a/src/main/java/de/bixilon/minosoft/game/datatypes/entities/mob/Cow.java b/src/main/java/de/bixilon/minosoft/game/datatypes/entities/mob/Cow.java index 191004426..9e8cf2d3e 100644 --- a/src/main/java/de/bixilon/minosoft/game/datatypes/entities/mob/Cow.java +++ b/src/main/java/de/bixilon/minosoft/game/datatypes/entities/mob/Cow.java @@ -22,7 +22,7 @@ import de.bixilon.minosoft.protocol.protocol.ProtocolVersion; public class Cow extends Mob implements MobInterface { AgeableMetaData metaData; - public Cow(int id, Location location, int yaw, int pitch, Velocity velocity, InByteBuffer buffer, ProtocolVersion v) { + public Cow(int id, Location location, short yaw, short pitch, Velocity velocity, InByteBuffer buffer, ProtocolVersion v) { super(id, location, yaw, pitch, velocity); this.metaData = new AgeableMetaData(buffer, v); } diff --git a/src/main/java/de/bixilon/minosoft/game/datatypes/entities/mob/Creeper.java b/src/main/java/de/bixilon/minosoft/game/datatypes/entities/mob/Creeper.java index ed980d636..dade48466 100644 --- a/src/main/java/de/bixilon/minosoft/game/datatypes/entities/mob/Creeper.java +++ b/src/main/java/de/bixilon/minosoft/game/datatypes/entities/mob/Creeper.java @@ -22,7 +22,7 @@ import de.bixilon.minosoft.protocol.protocol.ProtocolVersion; public class Creeper extends Mob implements MobInterface { CreeperMetaData metaData; - public Creeper(int id, Location location, int yaw, int pitch, Velocity velocity, InByteBuffer buffer, ProtocolVersion v) { + public Creeper(int id, Location location, short yaw, short pitch, Velocity velocity, InByteBuffer buffer, ProtocolVersion v) { super(id, location, yaw, pitch, velocity); this.metaData = new CreeperMetaData(buffer, v); } diff --git a/src/main/java/de/bixilon/minosoft/game/datatypes/entities/mob/EnderDragon.java b/src/main/java/de/bixilon/minosoft/game/datatypes/entities/mob/EnderDragon.java index bcd08f146..9d6489285 100644 --- a/src/main/java/de/bixilon/minosoft/game/datatypes/entities/mob/EnderDragon.java +++ b/src/main/java/de/bixilon/minosoft/game/datatypes/entities/mob/EnderDragon.java @@ -22,7 +22,7 @@ import de.bixilon.minosoft.protocol.protocol.ProtocolVersion; public class EnderDragon extends Mob implements MobInterface { MobMetaData metaData; - public EnderDragon(int id, Location location, int yaw, int pitch, Velocity velocity, InByteBuffer buffer, ProtocolVersion v) { + public EnderDragon(int id, Location location, short yaw, short pitch, Velocity velocity, InByteBuffer buffer, ProtocolVersion v) { super(id, location, yaw, pitch, velocity); this.metaData = new MobMetaData(buffer, v); } diff --git a/src/main/java/de/bixilon/minosoft/game/datatypes/entities/mob/EnderMan.java b/src/main/java/de/bixilon/minosoft/game/datatypes/entities/mob/EnderMan.java index ddf11c62a..2bc345c7b 100644 --- a/src/main/java/de/bixilon/minosoft/game/datatypes/entities/mob/EnderMan.java +++ b/src/main/java/de/bixilon/minosoft/game/datatypes/entities/mob/EnderMan.java @@ -22,7 +22,7 @@ import de.bixilon.minosoft.protocol.protocol.ProtocolVersion; public class EnderMan extends Mob implements MobInterface { EndermanMetaData metaData; - public EnderMan(int id, Location location, int yaw, int pitch, Velocity velocity, InByteBuffer buffer, ProtocolVersion v) { + public EnderMan(int id, Location location, short yaw, short pitch, Velocity velocity, InByteBuffer buffer, ProtocolVersion v) { super(id, location, yaw, pitch, velocity); this.metaData = new EndermanMetaData(buffer, v); } diff --git a/src/main/java/de/bixilon/minosoft/game/datatypes/entities/mob/Ghast.java b/src/main/java/de/bixilon/minosoft/game/datatypes/entities/mob/Ghast.java index a2a0d7a5d..dc8cc2a69 100644 --- a/src/main/java/de/bixilon/minosoft/game/datatypes/entities/mob/Ghast.java +++ b/src/main/java/de/bixilon/minosoft/game/datatypes/entities/mob/Ghast.java @@ -22,7 +22,7 @@ import de.bixilon.minosoft.protocol.protocol.ProtocolVersion; public class Ghast extends Mob implements MobInterface { GhastMetaData metaData; - public Ghast(int id, Location location, int yaw, int pitch, Velocity velocity, InByteBuffer buffer, ProtocolVersion v) { + public Ghast(int id, Location location, short yaw, short pitch, Velocity velocity, InByteBuffer buffer, ProtocolVersion v) { super(id, location, yaw, pitch, velocity); this.metaData = new GhastMetaData(buffer, v); } diff --git a/src/main/java/de/bixilon/minosoft/game/datatypes/entities/mob/GiantZombie.java b/src/main/java/de/bixilon/minosoft/game/datatypes/entities/mob/GiantZombie.java index f99badebe..637d9c530 100644 --- a/src/main/java/de/bixilon/minosoft/game/datatypes/entities/mob/GiantZombie.java +++ b/src/main/java/de/bixilon/minosoft/game/datatypes/entities/mob/GiantZombie.java @@ -20,7 +20,7 @@ import de.bixilon.minosoft.protocol.protocol.InByteBuffer; import de.bixilon.minosoft.protocol.protocol.ProtocolVersion; public class GiantZombie extends Zombie { - public GiantZombie(int id, Location location, int yaw, int pitch, Velocity velocity, InByteBuffer buffer, ProtocolVersion v) { + public GiantZombie(int id, Location location, short yaw, short pitch, Velocity velocity, InByteBuffer buffer, ProtocolVersion v) { super(id, location, yaw, pitch, velocity, buffer, v); } diff --git a/src/main/java/de/bixilon/minosoft/game/datatypes/entities/mob/Horse.java b/src/main/java/de/bixilon/minosoft/game/datatypes/entities/mob/Horse.java index 3372efcb7..09aa4a14f 100644 --- a/src/main/java/de/bixilon/minosoft/game/datatypes/entities/mob/Horse.java +++ b/src/main/java/de/bixilon/minosoft/game/datatypes/entities/mob/Horse.java @@ -22,7 +22,7 @@ import de.bixilon.minosoft.protocol.protocol.ProtocolVersion; public class Horse extends Mob implements MobInterface { HorseMetaData metaData; - public Horse(int id, Location location, int yaw, int pitch, Velocity velocity, InByteBuffer buffer, ProtocolVersion v) { + public Horse(int id, Location location, short yaw, short pitch, Velocity velocity, InByteBuffer buffer, ProtocolVersion v) { super(id, location, yaw, pitch, velocity); this.metaData = new HorseMetaData(buffer, v); } diff --git a/src/main/java/de/bixilon/minosoft/game/datatypes/entities/mob/IronGolem.java b/src/main/java/de/bixilon/minosoft/game/datatypes/entities/mob/IronGolem.java index 781933753..e93c2492e 100644 --- a/src/main/java/de/bixilon/minosoft/game/datatypes/entities/mob/IronGolem.java +++ b/src/main/java/de/bixilon/minosoft/game/datatypes/entities/mob/IronGolem.java @@ -22,7 +22,7 @@ import de.bixilon.minosoft.protocol.protocol.ProtocolVersion; public class IronGolem extends Mob implements MobInterface { MobMetaData metaData; - public IronGolem(int id, Location location, int yaw, int pitch, Velocity velocity, InByteBuffer buffer, ProtocolVersion v) { + public IronGolem(int id, Location location, short yaw, short pitch, Velocity velocity, InByteBuffer buffer, ProtocolVersion v) { super(id, location, yaw, pitch, velocity); this.metaData = new MobMetaData(buffer, v); } diff --git a/src/main/java/de/bixilon/minosoft/game/datatypes/entities/mob/MagmaCube.java b/src/main/java/de/bixilon/minosoft/game/datatypes/entities/mob/MagmaCube.java index aad8f7875..36ec8ba99 100644 --- a/src/main/java/de/bixilon/minosoft/game/datatypes/entities/mob/MagmaCube.java +++ b/src/main/java/de/bixilon/minosoft/game/datatypes/entities/mob/MagmaCube.java @@ -21,7 +21,7 @@ import de.bixilon.minosoft.protocol.protocol.ProtocolVersion; public class MagmaCube extends Slime { - public MagmaCube(int id, Location location, int yaw, int pitch, Velocity velocity, InByteBuffer buffer, ProtocolVersion v) { + public MagmaCube(int id, Location location, short yaw, short pitch, Velocity velocity, InByteBuffer buffer, ProtocolVersion v) { super(id, location, yaw, pitch, velocity, buffer, v); } diff --git a/src/main/java/de/bixilon/minosoft/game/datatypes/entities/mob/Mooshroom.java b/src/main/java/de/bixilon/minosoft/game/datatypes/entities/mob/Mooshroom.java index 2d529f407..555297a2f 100644 --- a/src/main/java/de/bixilon/minosoft/game/datatypes/entities/mob/Mooshroom.java +++ b/src/main/java/de/bixilon/minosoft/game/datatypes/entities/mob/Mooshroom.java @@ -22,7 +22,7 @@ import de.bixilon.minosoft.protocol.protocol.ProtocolVersion; public class Mooshroom extends Mob implements MobInterface { AgeableMetaData metaData; - public Mooshroom(int id, Location location, int yaw, int pitch, Velocity velocity, InByteBuffer buffer, ProtocolVersion v) { + public Mooshroom(int id, Location location, short yaw, short pitch, Velocity velocity, InByteBuffer buffer, ProtocolVersion v) { super(id, location, yaw, pitch, velocity); this.metaData = new AgeableMetaData(buffer, v); } diff --git a/src/main/java/de/bixilon/minosoft/game/datatypes/entities/mob/Ocelot.java b/src/main/java/de/bixilon/minosoft/game/datatypes/entities/mob/Ocelot.java index e64fc3a5e..793e1e156 100644 --- a/src/main/java/de/bixilon/minosoft/game/datatypes/entities/mob/Ocelot.java +++ b/src/main/java/de/bixilon/minosoft/game/datatypes/entities/mob/Ocelot.java @@ -22,7 +22,7 @@ import de.bixilon.minosoft.protocol.protocol.ProtocolVersion; public class Ocelot extends Mob implements MobInterface { OcelotMetaData metaData; - public Ocelot(int id, Location location, int yaw, int pitch, Velocity velocity, InByteBuffer buffer, ProtocolVersion v) { + public Ocelot(int id, Location location, short yaw, short pitch, Velocity velocity, InByteBuffer buffer, ProtocolVersion v) { super(id, location, yaw, pitch, velocity); this.metaData = new OcelotMetaData(buffer, v); } diff --git a/src/main/java/de/bixilon/minosoft/game/datatypes/entities/mob/OtherPlayer.java b/src/main/java/de/bixilon/minosoft/game/datatypes/entities/mob/OtherPlayer.java index 670dca1ba..0d4806542 100644 --- a/src/main/java/de/bixilon/minosoft/game/datatypes/entities/mob/OtherPlayer.java +++ b/src/main/java/de/bixilon/minosoft/game/datatypes/entities/mob/OtherPlayer.java @@ -29,7 +29,7 @@ public class OtherPlayer extends Mob implements MobInterface { HumanMetaData metaData; Pose status = Pose.STANDING; - public OtherPlayer(int id, String name, UUID uuid, PlayerPropertyData[] properties, Location location, Velocity velocity, int yaw, int pitch, short currentItem, HumanMetaData metaData) { + public OtherPlayer(int id, String name, UUID uuid, PlayerPropertyData[] properties, Location location, Velocity velocity, short yaw, short pitch, short currentItem, HumanMetaData metaData) { super(id, location, yaw, pitch, velocity); this.name = name; this.uuid = uuid; diff --git a/src/main/java/de/bixilon/minosoft/game/datatypes/entities/mob/Pig.java b/src/main/java/de/bixilon/minosoft/game/datatypes/entities/mob/Pig.java index 24c200b51..785549a50 100644 --- a/src/main/java/de/bixilon/minosoft/game/datatypes/entities/mob/Pig.java +++ b/src/main/java/de/bixilon/minosoft/game/datatypes/entities/mob/Pig.java @@ -23,7 +23,7 @@ import de.bixilon.minosoft.protocol.protocol.ProtocolVersion; public class Pig extends Mob implements MobInterface { PigMetaData metaData; - public Pig(int id, Location location, int yaw, int pitch, Velocity velocity, InByteBuffer buffer, ProtocolVersion v) { + public Pig(int id, Location location, short yaw, short pitch, Velocity velocity, InByteBuffer buffer, ProtocolVersion v) { super(id, location, yaw, pitch, velocity); this.metaData = new PigMetaData(buffer, v); } diff --git a/src/main/java/de/bixilon/minosoft/game/datatypes/entities/mob/Sheep.java b/src/main/java/de/bixilon/minosoft/game/datatypes/entities/mob/Sheep.java index 31dfccfac..c0db6d2b9 100644 --- a/src/main/java/de/bixilon/minosoft/game/datatypes/entities/mob/Sheep.java +++ b/src/main/java/de/bixilon/minosoft/game/datatypes/entities/mob/Sheep.java @@ -23,7 +23,7 @@ import de.bixilon.minosoft.protocol.protocol.ProtocolVersion; public class Sheep extends Mob implements MobInterface { SheepMetaData metaData; - public Sheep(int id, Location location, int yaw, int pitch, Velocity velocity, InByteBuffer buffer, ProtocolVersion v) { + public Sheep(int id, Location location, short yaw, short pitch, Velocity velocity, InByteBuffer buffer, ProtocolVersion v) { super(id, location, yaw, pitch, velocity); this.metaData = new SheepMetaData(buffer, v); } diff --git a/src/main/java/de/bixilon/minosoft/game/datatypes/entities/mob/Silverfish.java b/src/main/java/de/bixilon/minosoft/game/datatypes/entities/mob/Silverfish.java index 1873eb922..2c5a79f02 100644 --- a/src/main/java/de/bixilon/minosoft/game/datatypes/entities/mob/Silverfish.java +++ b/src/main/java/de/bixilon/minosoft/game/datatypes/entities/mob/Silverfish.java @@ -22,7 +22,7 @@ import de.bixilon.minosoft.protocol.protocol.ProtocolVersion; public class Silverfish extends Mob implements MobInterface { MobMetaData metaData; - public Silverfish(int id, Location location, int yaw, int pitch, Velocity velocity, InByteBuffer buffer, ProtocolVersion v) { + public Silverfish(int id, Location location, short yaw, short pitch, Velocity velocity, InByteBuffer buffer, ProtocolVersion v) { super(id, location, yaw, pitch, velocity); this.metaData = new MobMetaData(buffer, v); } diff --git a/src/main/java/de/bixilon/minosoft/game/datatypes/entities/mob/Skeleton.java b/src/main/java/de/bixilon/minosoft/game/datatypes/entities/mob/Skeleton.java index 3de8c961b..088b1494f 100644 --- a/src/main/java/de/bixilon/minosoft/game/datatypes/entities/mob/Skeleton.java +++ b/src/main/java/de/bixilon/minosoft/game/datatypes/entities/mob/Skeleton.java @@ -22,7 +22,7 @@ import de.bixilon.minosoft.protocol.protocol.ProtocolVersion; public class Skeleton extends Mob implements MobInterface { SkeletonMetaData metaData; - public Skeleton(int id, Location location, int yaw, int pitch, Velocity velocity, InByteBuffer buffer, ProtocolVersion v) { + public Skeleton(int id, Location location, short yaw, short pitch, Velocity velocity, InByteBuffer buffer, ProtocolVersion v) { super(id, location, yaw, pitch, velocity); this.metaData = new SkeletonMetaData(buffer, v); } diff --git a/src/main/java/de/bixilon/minosoft/game/datatypes/entities/mob/Slime.java b/src/main/java/de/bixilon/minosoft/game/datatypes/entities/mob/Slime.java index 5faac6641..076b35866 100644 --- a/src/main/java/de/bixilon/minosoft/game/datatypes/entities/mob/Slime.java +++ b/src/main/java/de/bixilon/minosoft/game/datatypes/entities/mob/Slime.java @@ -22,7 +22,7 @@ import de.bixilon.minosoft.protocol.protocol.ProtocolVersion; public class Slime extends Mob implements MobInterface { SlimeMetaData metaData; - public Slime(int id, Location location, int yaw, int pitch, Velocity velocity, InByteBuffer buffer, ProtocolVersion v) { + public Slime(int id, Location location, short yaw, short pitch, Velocity velocity, InByteBuffer buffer, ProtocolVersion v) { super(id, location, yaw, pitch, velocity); this.metaData = new SlimeMetaData(buffer, v); } diff --git a/src/main/java/de/bixilon/minosoft/game/datatypes/entities/mob/SnowGolem.java b/src/main/java/de/bixilon/minosoft/game/datatypes/entities/mob/SnowGolem.java index 3563d8ef8..b63123950 100644 --- a/src/main/java/de/bixilon/minosoft/game/datatypes/entities/mob/SnowGolem.java +++ b/src/main/java/de/bixilon/minosoft/game/datatypes/entities/mob/SnowGolem.java @@ -22,7 +22,7 @@ import de.bixilon.minosoft.protocol.protocol.ProtocolVersion; public class SnowGolem extends Mob implements MobInterface { MobMetaData metaData; - public SnowGolem(int id, Location location, int yaw, int pitch, Velocity velocity, InByteBuffer buffer, ProtocolVersion v) { + public SnowGolem(int id, Location location, short yaw, short pitch, Velocity velocity, InByteBuffer buffer, ProtocolVersion v) { super(id, location, yaw, pitch, velocity); this.metaData = new MobMetaData(buffer, v); } diff --git a/src/main/java/de/bixilon/minosoft/game/datatypes/entities/mob/Spider.java b/src/main/java/de/bixilon/minosoft/game/datatypes/entities/mob/Spider.java index 3343307b3..fd0df6f7b 100644 --- a/src/main/java/de/bixilon/minosoft/game/datatypes/entities/mob/Spider.java +++ b/src/main/java/de/bixilon/minosoft/game/datatypes/entities/mob/Spider.java @@ -22,7 +22,7 @@ import de.bixilon.minosoft.protocol.protocol.ProtocolVersion; public class Spider extends Mob implements MobInterface { SpiderMetaData metaData; - public Spider(int id, Location location, int yaw, int pitch, Velocity velocity, InByteBuffer buffer, ProtocolVersion v) { + public Spider(int id, Location location, short yaw, short pitch, Velocity velocity, InByteBuffer buffer, ProtocolVersion v) { super(id, location, yaw, pitch, velocity); this.metaData = new SpiderMetaData(buffer, v); } diff --git a/src/main/java/de/bixilon/minosoft/game/datatypes/entities/mob/Squid.java b/src/main/java/de/bixilon/minosoft/game/datatypes/entities/mob/Squid.java index e652219f1..b3179a985 100644 --- a/src/main/java/de/bixilon/minosoft/game/datatypes/entities/mob/Squid.java +++ b/src/main/java/de/bixilon/minosoft/game/datatypes/entities/mob/Squid.java @@ -23,7 +23,7 @@ import de.bixilon.minosoft.protocol.protocol.ProtocolVersion; public class Squid extends Mob implements MobInterface { AgeableMetaData metaData; - public Squid(int id, Location location, int yaw, int pitch, Velocity velocity, InByteBuffer buffer, ProtocolVersion v) { + public Squid(int id, Location location, short yaw, short pitch, Velocity velocity, InByteBuffer buffer, ProtocolVersion v) { super(id, location, yaw, pitch, velocity); this.metaData = new AgeableMetaData(buffer, v); } diff --git a/src/main/java/de/bixilon/minosoft/game/datatypes/entities/mob/Villager.java b/src/main/java/de/bixilon/minosoft/game/datatypes/entities/mob/Villager.java index bd9109edf..51627a2d3 100644 --- a/src/main/java/de/bixilon/minosoft/game/datatypes/entities/mob/Villager.java +++ b/src/main/java/de/bixilon/minosoft/game/datatypes/entities/mob/Villager.java @@ -22,7 +22,7 @@ import de.bixilon.minosoft.protocol.protocol.ProtocolVersion; public class Villager extends Mob implements MobInterface { VillagerMetaData metaData; - public Villager(int id, Location location, int yaw, int pitch, Velocity velocity, InByteBuffer buffer, ProtocolVersion v) { + public Villager(int id, Location location, short yaw, short pitch, Velocity velocity, InByteBuffer buffer, ProtocolVersion v) { super(id, location, yaw, pitch, velocity); this.metaData = new VillagerMetaData(buffer, v); } diff --git a/src/main/java/de/bixilon/minosoft/game/datatypes/entities/mob/Witch.java b/src/main/java/de/bixilon/minosoft/game/datatypes/entities/mob/Witch.java index 4a1d84ac2..405ef1013 100644 --- a/src/main/java/de/bixilon/minosoft/game/datatypes/entities/mob/Witch.java +++ b/src/main/java/de/bixilon/minosoft/game/datatypes/entities/mob/Witch.java @@ -22,7 +22,7 @@ import de.bixilon.minosoft.protocol.protocol.ProtocolVersion; public class Witch extends Mob implements MobInterface { WitchMetaData metaData; - public Witch(int id, Location location, int yaw, int pitch, Velocity velocity, InByteBuffer buffer, ProtocolVersion v) { + public Witch(int id, Location location, short yaw, short pitch, Velocity velocity, InByteBuffer buffer, ProtocolVersion v) { super(id, location, yaw, pitch, velocity); this.metaData = new WitchMetaData(buffer, v); } diff --git a/src/main/java/de/bixilon/minosoft/game/datatypes/entities/mob/Wither.java b/src/main/java/de/bixilon/minosoft/game/datatypes/entities/mob/Wither.java index 4d4bd1ced..294d18e1f 100644 --- a/src/main/java/de/bixilon/minosoft/game/datatypes/entities/mob/Wither.java +++ b/src/main/java/de/bixilon/minosoft/game/datatypes/entities/mob/Wither.java @@ -22,7 +22,7 @@ import de.bixilon.minosoft.protocol.protocol.ProtocolVersion; public class Wither extends Mob implements MobInterface { WitherMetaData metaData; - public Wither(int id, Location location, int yaw, int pitch, Velocity velocity, InByteBuffer buffer, ProtocolVersion v) { + public Wither(int id, Location location, short yaw, short pitch, Velocity velocity, InByteBuffer buffer, ProtocolVersion v) { super(id, location, yaw, pitch, velocity); this.metaData = new WitherMetaData(buffer, v); } diff --git a/src/main/java/de/bixilon/minosoft/game/datatypes/entities/mob/Wolf.java b/src/main/java/de/bixilon/minosoft/game/datatypes/entities/mob/Wolf.java index ec4722334..667ddfe63 100644 --- a/src/main/java/de/bixilon/minosoft/game/datatypes/entities/mob/Wolf.java +++ b/src/main/java/de/bixilon/minosoft/game/datatypes/entities/mob/Wolf.java @@ -22,7 +22,7 @@ import de.bixilon.minosoft.protocol.protocol.ProtocolVersion; public class Wolf extends Mob implements MobInterface { WolfMetaData metaData; - public Wolf(int id, Location location, int yaw, int pitch, Velocity velocity, InByteBuffer buffer, ProtocolVersion v) { + public Wolf(int id, Location location, short yaw, short pitch, Velocity velocity, InByteBuffer buffer, ProtocolVersion v) { super(id, location, yaw, pitch, velocity); this.metaData = new WolfMetaData(buffer, v); } diff --git a/src/main/java/de/bixilon/minosoft/game/datatypes/entities/mob/Zombie.java b/src/main/java/de/bixilon/minosoft/game/datatypes/entities/mob/Zombie.java index fbcf26e8e..8fdca4f9f 100644 --- a/src/main/java/de/bixilon/minosoft/game/datatypes/entities/mob/Zombie.java +++ b/src/main/java/de/bixilon/minosoft/game/datatypes/entities/mob/Zombie.java @@ -22,7 +22,7 @@ import de.bixilon.minosoft.protocol.protocol.ProtocolVersion; public class Zombie extends Mob implements MobInterface { ZombieMetaData metaData; - public Zombie(int id, Location location, int yaw, int pitch, Velocity velocity, InByteBuffer buffer, ProtocolVersion v) { + public Zombie(int id, Location location, short yaw, short pitch, Velocity velocity, InByteBuffer buffer, ProtocolVersion v) { super(id, location, yaw, pitch, velocity); this.metaData = new ZombieMetaData(buffer, v); } diff --git a/src/main/java/de/bixilon/minosoft/game/datatypes/entities/mob/ZombiePigman.java b/src/main/java/de/bixilon/minosoft/game/datatypes/entities/mob/ZombiePigman.java index 1675ed83d..1af7aa57b 100644 --- a/src/main/java/de/bixilon/minosoft/game/datatypes/entities/mob/ZombiePigman.java +++ b/src/main/java/de/bixilon/minosoft/game/datatypes/entities/mob/ZombiePigman.java @@ -21,7 +21,7 @@ import de.bixilon.minosoft.protocol.protocol.ProtocolVersion; public class ZombiePigman extends Zombie { - public ZombiePigman(int id, Location location, int yaw, int pitch, Velocity velocity, InByteBuffer buffer, ProtocolVersion v) { + public ZombiePigman(int id, Location location, short yaw, short pitch, Velocity velocity, InByteBuffer buffer, ProtocolVersion v) { super(id, location, yaw, pitch, velocity, buffer, v); } diff --git a/src/main/java/de/bixilon/minosoft/game/datatypes/entities/objects/Arrow.java b/src/main/java/de/bixilon/minosoft/game/datatypes/entities/objects/Arrow.java index bbfab8827..5413aa581 100644 --- a/src/main/java/de/bixilon/minosoft/game/datatypes/entities/objects/Arrow.java +++ b/src/main/java/de/bixilon/minosoft/game/datatypes/entities/objects/Arrow.java @@ -25,10 +25,9 @@ public class Arrow extends EntityObject implements ObjectInterface { ArrowMetaData metaData; int shooter; - public Arrow(int id, Location location, int yaw, int pitch, int additionalInt, ProtocolVersion v) { + public Arrow(int id, Location location, short yaw, short pitch, int additionalInt, ProtocolVersion v) { super(id, location, yaw, pitch, null); // objects do not spawn with metadata... reading additional info from the following int - // tnt does not have any additional info this.shooter = additionalInt; } diff --git a/src/main/java/de/bixilon/minosoft/game/datatypes/entities/objects/Boat.java b/src/main/java/de/bixilon/minosoft/game/datatypes/entities/objects/Boat.java index 2d7f6cb92..1b3efc247 100644 --- a/src/main/java/de/bixilon/minosoft/game/datatypes/entities/objects/Boat.java +++ b/src/main/java/de/bixilon/minosoft/game/datatypes/entities/objects/Boat.java @@ -24,7 +24,7 @@ import de.bixilon.minosoft.protocol.protocol.ProtocolVersion; public class Boat extends EntityObject implements ObjectInterface { BoatMetaData metaData; - public Boat(int id, Location location, int yaw, int pitch, int additionalInt, ProtocolVersion v) { + public Boat(int id, Location location, short yaw, short pitch, int additionalInt, ProtocolVersion v) { super(id, location, yaw, pitch, null); // objects do not spawn with metadata... reading additional info from the following int // boat does not have any additional info diff --git a/src/main/java/de/bixilon/minosoft/game/datatypes/entities/objects/Egg.java b/src/main/java/de/bixilon/minosoft/game/datatypes/entities/objects/Egg.java index 9c4e835ba..98d207278 100644 --- a/src/main/java/de/bixilon/minosoft/game/datatypes/entities/objects/Egg.java +++ b/src/main/java/de/bixilon/minosoft/game/datatypes/entities/objects/Egg.java @@ -24,10 +24,9 @@ public class Egg extends EntityObject implements ObjectInterface { EntityMetaData metaData; int thrower; - public Egg(int id, Location location, int yaw, int pitch, int additionalInt, ProtocolVersion v) { + public Egg(int id, Location location, short yaw, short pitch, int additionalInt, ProtocolVersion v) { super(id, location, yaw, pitch, null); // objects do not spawn with metadata... reading additional info from the following int - // tnt does not have any additional info this.thrower = additionalInt; } diff --git a/src/main/java/de/bixilon/minosoft/game/datatypes/entities/objects/EnderCrystal.java b/src/main/java/de/bixilon/minosoft/game/datatypes/entities/objects/EnderCrystal.java index 388beb434..55fa14f44 100644 --- a/src/main/java/de/bixilon/minosoft/game/datatypes/entities/objects/EnderCrystal.java +++ b/src/main/java/de/bixilon/minosoft/game/datatypes/entities/objects/EnderCrystal.java @@ -24,10 +24,9 @@ import de.bixilon.minosoft.protocol.protocol.ProtocolVersion; public class EnderCrystal extends EntityObject implements ObjectInterface { EnderCrystalMetaData metaData; - public EnderCrystal(int id, Location location, int yaw, int pitch, int additionalInt, ProtocolVersion v) { + public EnderCrystal(int id, Location location, short yaw, short pitch, int additionalInt, ProtocolVersion v) { super(id, location, yaw, pitch, null); // objects do not spawn with metadata... reading additional info from the following int - // tnt does not have any additional info } @Override diff --git a/src/main/java/de/bixilon/minosoft/game/datatypes/entities/objects/Enderpearl.java b/src/main/java/de/bixilon/minosoft/game/datatypes/entities/objects/Enderpearl.java index b6c834262..7b5c68dc5 100644 --- a/src/main/java/de/bixilon/minosoft/game/datatypes/entities/objects/Enderpearl.java +++ b/src/main/java/de/bixilon/minosoft/game/datatypes/entities/objects/Enderpearl.java @@ -23,10 +23,9 @@ import de.bixilon.minosoft.protocol.protocol.ProtocolVersion; public class Enderpearl extends EntityObject implements ObjectInterface { EntityMetaData metaData; - public Enderpearl(int id, Location location, int yaw, int pitch, int additionalInt, ProtocolVersion v) { + public Enderpearl(int id, Location location, short yaw, short pitch, int additionalInt, ProtocolVersion v) { super(id, location, yaw, pitch, null); // objects do not spawn with metadata... reading additional info from the following int - // tnt does not have any additional info } @Override diff --git a/src/main/java/de/bixilon/minosoft/game/datatypes/entities/objects/EyeOfEnder.java b/src/main/java/de/bixilon/minosoft/game/datatypes/entities/objects/EyeOfEnder.java index 31f1ff858..e1175deb9 100644 --- a/src/main/java/de/bixilon/minosoft/game/datatypes/entities/objects/EyeOfEnder.java +++ b/src/main/java/de/bixilon/minosoft/game/datatypes/entities/objects/EyeOfEnder.java @@ -23,10 +23,9 @@ import de.bixilon.minosoft.protocol.protocol.ProtocolVersion; public class EyeOfEnder extends EntityObject implements ObjectInterface { EntityMetaData metaData; - public EyeOfEnder(int id, Location location, int yaw, int pitch, int additionalInt, ProtocolVersion v) { + public EyeOfEnder(int id, Location location, short yaw, short pitch, int additionalInt, ProtocolVersion v) { super(id, location, yaw, pitch, null); // objects do not spawn with metadata... reading additional info from the following int - // tnt does not have any additional info } @Override diff --git a/src/main/java/de/bixilon/minosoft/game/datatypes/entities/objects/FallingBlock.java b/src/main/java/de/bixilon/minosoft/game/datatypes/entities/objects/FallingBlock.java index 3362fb0fa..9328878d3 100644 --- a/src/main/java/de/bixilon/minosoft/game/datatypes/entities/objects/FallingBlock.java +++ b/src/main/java/de/bixilon/minosoft/game/datatypes/entities/objects/FallingBlock.java @@ -25,10 +25,9 @@ public class FallingBlock extends EntityObject implements ObjectInterface { EntityMetaData metaData; Blocks block; - public FallingBlock(int id, Location location, int yaw, int pitch, int additionalInt, ProtocolVersion v) { + public FallingBlock(int id, Location location, short yaw, short pitch, int additionalInt, ProtocolVersion v) { super(id, location, yaw, pitch, null); // objects do not spawn with metadata... reading additional info from the following int - // tnt does not have any additional info block = Blocks.byLegacy(additionalInt & 0xFFF, additionalInt >> 12); } diff --git a/src/main/java/de/bixilon/minosoft/game/datatypes/entities/objects/FallingDragonEgg.java b/src/main/java/de/bixilon/minosoft/game/datatypes/entities/objects/FallingDragonEgg.java index 4ba938033..d39aea3b9 100644 --- a/src/main/java/de/bixilon/minosoft/game/datatypes/entities/objects/FallingDragonEgg.java +++ b/src/main/java/de/bixilon/minosoft/game/datatypes/entities/objects/FallingDragonEgg.java @@ -23,10 +23,9 @@ import de.bixilon.minosoft.protocol.protocol.ProtocolVersion; public class FallingDragonEgg extends EntityObject implements ObjectInterface { EntityMetaData metaData; - public FallingDragonEgg(int id, Location location, int yaw, int pitch, int additionalInt, ProtocolVersion v) { + public FallingDragonEgg(int id, Location location, short yaw, short pitch, int additionalInt, ProtocolVersion v) { super(id, location, yaw, pitch, null); // objects do not spawn with metadata... reading additional info from the following int - // tnt does not have any additional info } @Override diff --git a/src/main/java/de/bixilon/minosoft/game/datatypes/entities/objects/FireBall.java b/src/main/java/de/bixilon/minosoft/game/datatypes/entities/objects/FireBall.java index cc411587d..9975b53b8 100644 --- a/src/main/java/de/bixilon/minosoft/game/datatypes/entities/objects/FireBall.java +++ b/src/main/java/de/bixilon/minosoft/game/datatypes/entities/objects/FireBall.java @@ -24,10 +24,9 @@ public class FireBall extends EntityObject implements ObjectInterface { EntityMetaData metaData; int thrower; - public FireBall(int id, Location location, int yaw, int pitch, int additionalInt, ProtocolVersion v) { + public FireBall(int id, Location location, short yaw, short pitch, int additionalInt, ProtocolVersion v) { super(id, location, yaw, pitch, null); // objects do not spawn with metadata... reading additional info from the following int - // tnt does not have any additional info this.thrower = additionalInt; } diff --git a/src/main/java/de/bixilon/minosoft/game/datatypes/entities/objects/FireCharge.java b/src/main/java/de/bixilon/minosoft/game/datatypes/entities/objects/FireCharge.java index 081d51297..af2b45aee 100644 --- a/src/main/java/de/bixilon/minosoft/game/datatypes/entities/objects/FireCharge.java +++ b/src/main/java/de/bixilon/minosoft/game/datatypes/entities/objects/FireCharge.java @@ -24,10 +24,9 @@ public class FireCharge extends EntityObject implements ObjectInterface { EntityMetaData metaData; int thrower; - public FireCharge(int id, Location location, int yaw, int pitch, int additionalInt, ProtocolVersion v) { + public FireCharge(int id, Location location, short yaw, short pitch, int additionalInt, ProtocolVersion v) { super(id, location, yaw, pitch, null); // objects do not spawn with metadata... reading additional info from the following int - // tnt does not have any additional info this.thrower = additionalInt; } diff --git a/src/main/java/de/bixilon/minosoft/game/datatypes/entities/objects/Firework.java b/src/main/java/de/bixilon/minosoft/game/datatypes/entities/objects/Firework.java index 22edd2f6c..3bc29532a 100644 --- a/src/main/java/de/bixilon/minosoft/game/datatypes/entities/objects/Firework.java +++ b/src/main/java/de/bixilon/minosoft/game/datatypes/entities/objects/Firework.java @@ -24,10 +24,9 @@ import de.bixilon.minosoft.protocol.protocol.ProtocolVersion; public class Firework extends EntityObject implements ObjectInterface { FireworkMetaData metaData; - public Firework(int id, Location location, int yaw, int pitch, int additionalInt, ProtocolVersion v) { + public Firework(int id, Location location, short yaw, short pitch, int additionalInt, ProtocolVersion v) { super(id, location, yaw, pitch, null); // objects do not spawn with metadata... reading additional info from the following int - // tnt does not have any additional info } @Override diff --git a/src/main/java/de/bixilon/minosoft/game/datatypes/entities/objects/FishingFloat.java b/src/main/java/de/bixilon/minosoft/game/datatypes/entities/objects/FishingFloat.java index e768410b1..33bca20a6 100644 --- a/src/main/java/de/bixilon/minosoft/game/datatypes/entities/objects/FishingFloat.java +++ b/src/main/java/de/bixilon/minosoft/game/datatypes/entities/objects/FishingFloat.java @@ -24,10 +24,9 @@ public class FishingFloat extends EntityObject implements ObjectInterface { EntityMetaData metaData; int owner; - public FishingFloat(int id, Location location, int yaw, int pitch, int additionalInt, ProtocolVersion v) { + public FishingFloat(int id, Location location, short yaw, short pitch, int additionalInt, ProtocolVersion v) { super(id, location, yaw, pitch, null); // objects do not spawn with metadata... reading additional info from the following int - // tnt does not have any additional info this.owner = additionalInt; } diff --git a/src/main/java/de/bixilon/minosoft/game/datatypes/entities/objects/ItemFrame.java b/src/main/java/de/bixilon/minosoft/game/datatypes/entities/objects/ItemFrame.java index 8d2cc710a..a12f70019 100644 --- a/src/main/java/de/bixilon/minosoft/game/datatypes/entities/objects/ItemFrame.java +++ b/src/main/java/de/bixilon/minosoft/game/datatypes/entities/objects/ItemFrame.java @@ -25,10 +25,9 @@ public class ItemFrame extends EntityObject implements ObjectInterface { ItemFrameMetaData metaData; FrameDirection direction; - public ItemFrame(int id, Location location, int yaw, int pitch, int additionalInt, ProtocolVersion v) { + public ItemFrame(int id, Location location, short yaw, short pitch, int additionalInt, ProtocolVersion v) { super(id, location, yaw, pitch, null); // objects do not spawn with metadata... reading additional info from the following int - // tnt does not have any additional info direction = FrameDirection.byId(additionalInt); } diff --git a/src/main/java/de/bixilon/minosoft/game/datatypes/entities/objects/ItemStack.java b/src/main/java/de/bixilon/minosoft/game/datatypes/entities/objects/ItemStack.java index 0d2550ae6..285c3ad77 100644 --- a/src/main/java/de/bixilon/minosoft/game/datatypes/entities/objects/ItemStack.java +++ b/src/main/java/de/bixilon/minosoft/game/datatypes/entities/objects/ItemStack.java @@ -24,10 +24,10 @@ import de.bixilon.minosoft.protocol.protocol.ProtocolVersion; public class ItemStack extends EntityObject implements ObjectInterface { ItemMetaData metaData; - public ItemStack(int id, Location location, int yaw, int pitch, int additionalInt, ProtocolVersion v) { + public ItemStack(int id, Location location, short yaw, short pitch, int additionalInt, ProtocolVersion v) { super(id, location, yaw, pitch, null); // objects do not spawn with metadata... reading additional info from the following int - // tnt does not have any additional info + } @Override diff --git a/src/main/java/de/bixilon/minosoft/game/datatypes/entities/objects/LeashKnot.java b/src/main/java/de/bixilon/minosoft/game/datatypes/entities/objects/LeashKnot.java index 46ef7016c..31e2bf47a 100644 --- a/src/main/java/de/bixilon/minosoft/game/datatypes/entities/objects/LeashKnot.java +++ b/src/main/java/de/bixilon/minosoft/game/datatypes/entities/objects/LeashKnot.java @@ -23,10 +23,9 @@ import de.bixilon.minosoft.protocol.protocol.ProtocolVersion; public class LeashKnot extends EntityObject implements ObjectInterface { EntityMetaData metaData; - public LeashKnot(int id, Location location, int yaw, int pitch, int additionalInt, ProtocolVersion v) { + public LeashKnot(int id, Location location, short yaw, short pitch, int additionalInt, ProtocolVersion v) { super(id, location, yaw, pitch, null); // objects do not spawn with metadata... reading additional info from the following int - // tnt does not have any additional info } @Override diff --git a/src/main/java/de/bixilon/minosoft/game/datatypes/entities/objects/Minecart.java b/src/main/java/de/bixilon/minosoft/game/datatypes/entities/objects/Minecart.java index 2b4f48674..5f3ffe935 100644 --- a/src/main/java/de/bixilon/minosoft/game/datatypes/entities/objects/Minecart.java +++ b/src/main/java/de/bixilon/minosoft/game/datatypes/entities/objects/Minecart.java @@ -25,7 +25,7 @@ public class Minecart extends EntityObject implements ObjectInterface { MinecartType type; MinecartMetaData metaData; - public Minecart(int id, Location location, int yaw, int pitch, int additionalInt, ProtocolVersion v) { + public Minecart(int id, Location location, short yaw, short pitch, int additionalInt, ProtocolVersion v) { super(id, location, yaw, pitch, null); type = MinecartType.byType(additionalInt); } diff --git a/src/main/java/de/bixilon/minosoft/game/datatypes/entities/objects/PrimedTNT.java b/src/main/java/de/bixilon/minosoft/game/datatypes/entities/objects/PrimedTNT.java index 20dd6fb75..dde97404a 100644 --- a/src/main/java/de/bixilon/minosoft/game/datatypes/entities/objects/PrimedTNT.java +++ b/src/main/java/de/bixilon/minosoft/game/datatypes/entities/objects/PrimedTNT.java @@ -23,10 +23,9 @@ import de.bixilon.minosoft.protocol.protocol.ProtocolVersion; public class PrimedTNT extends EntityObject implements ObjectInterface { EntityMetaData metaData; - public PrimedTNT(int id, Location location, int yaw, int pitch, int additionalInt, ProtocolVersion v) { + public PrimedTNT(int id, Location location, short yaw, short pitch, int additionalInt, ProtocolVersion v) { super(id, location, yaw, pitch, null); // objects do not spawn with metadata... reading additional info from the following int - // tnt does not have any additional info } @Override diff --git a/src/main/java/de/bixilon/minosoft/game/datatypes/entities/objects/Snowball.java b/src/main/java/de/bixilon/minosoft/game/datatypes/entities/objects/Snowball.java index 52ead9417..7cbee497a 100644 --- a/src/main/java/de/bixilon/minosoft/game/datatypes/entities/objects/Snowball.java +++ b/src/main/java/de/bixilon/minosoft/game/datatypes/entities/objects/Snowball.java @@ -24,10 +24,9 @@ public class Snowball extends EntityObject implements ObjectInterface { EntityMetaData metaData; int thrower; - public Snowball(int id, Location location, int yaw, int pitch, int additionalInt, ProtocolVersion v) { + public Snowball(int id, Location location, short yaw, short pitch, int additionalInt, ProtocolVersion v) { super(id, location, yaw, pitch, null); // objects do not spawn with metadata... reading additional info from the following int - // tnt does not have any additional info this.thrower = additionalInt; } diff --git a/src/main/java/de/bixilon/minosoft/game/datatypes/entities/objects/ThrownExpBottle.java b/src/main/java/de/bixilon/minosoft/game/datatypes/entities/objects/ThrownExpBottle.java index 7bddcdbbb..4c87abb06 100644 --- a/src/main/java/de/bixilon/minosoft/game/datatypes/entities/objects/ThrownExpBottle.java +++ b/src/main/java/de/bixilon/minosoft/game/datatypes/entities/objects/ThrownExpBottle.java @@ -23,10 +23,9 @@ import de.bixilon.minosoft.protocol.protocol.ProtocolVersion; public class ThrownExpBottle extends EntityObject implements ObjectInterface { EntityMetaData metaData; - public ThrownExpBottle(int id, Location location, int yaw, int pitch, int additionalInt, ProtocolVersion v) { + public ThrownExpBottle(int id, Location location, short yaw, short pitch, int additionalInt, ProtocolVersion v) { super(id, location, yaw, pitch, null); // objects do not spawn with metadata... reading additional info from the following int - // tnt does not have any additional info } @Override diff --git a/src/main/java/de/bixilon/minosoft/game/datatypes/entities/objects/ThrownPotion.java b/src/main/java/de/bixilon/minosoft/game/datatypes/entities/objects/ThrownPotion.java index 80151ef99..bcd11a981 100644 --- a/src/main/java/de/bixilon/minosoft/game/datatypes/entities/objects/ThrownPotion.java +++ b/src/main/java/de/bixilon/minosoft/game/datatypes/entities/objects/ThrownPotion.java @@ -24,10 +24,9 @@ public class ThrownPotion extends EntityObject implements ObjectInterface { EntityMetaData metaData; int potion; //ToDo - public ThrownPotion(int id, Location location, int yaw, int pitch, int additionalInt, ProtocolVersion v) { + public ThrownPotion(int id, Location location, short yaw, short pitch, int additionalInt, ProtocolVersion v) { super(id, location, yaw, pitch, null); // objects do not spawn with metadata... reading additsional info from the following int - // tnt does not have any additional info this.potion = additionalInt; } diff --git a/src/main/java/de/bixilon/minosoft/game/datatypes/entities/objects/WitherSkull.java b/src/main/java/de/bixilon/minosoft/game/datatypes/entities/objects/WitherSkull.java index 893a5a85b..9551ad8e1 100644 --- a/src/main/java/de/bixilon/minosoft/game/datatypes/entities/objects/WitherSkull.java +++ b/src/main/java/de/bixilon/minosoft/game/datatypes/entities/objects/WitherSkull.java @@ -24,10 +24,9 @@ public class WitherSkull extends EntityObject implements ObjectInterface { EntityMetaData metaData; int thrower; - public WitherSkull(int id, Location location, int yaw, int pitch, int additionalInt, ProtocolVersion v) { + public WitherSkull(int id, Location location, short yaw, short pitch, int additionalInt, ProtocolVersion v) { super(id, location, yaw, pitch, null); // objects do not spawn with metadata... reading additional info from the following int - // tnt does not have any additional info this.thrower = additionalInt; } diff --git a/src/main/java/de/bixilon/minosoft/protocol/packets/clientbound/play/PacketEntityHeadRotation.java b/src/main/java/de/bixilon/minosoft/protocol/packets/clientbound/play/PacketEntityHeadRotation.java index 9ce68945b..54e8cf026 100644 --- a/src/main/java/de/bixilon/minosoft/protocol/packets/clientbound/play/PacketEntityHeadRotation.java +++ b/src/main/java/de/bixilon/minosoft/protocol/packets/clientbound/play/PacketEntityHeadRotation.java @@ -22,14 +22,14 @@ import de.bixilon.minosoft.protocol.protocol.ProtocolVersion; public class PacketEntityHeadRotation implements ClientboundPacket { int entityId; - int headYaw; + short headYaw; @Override public void read(InPacketBuffer buffer, ProtocolVersion v) { switch (v) { case VERSION_1_7_10: this.entityId = buffer.readInteger(); - this.headYaw = buffer.readByte(); + this.headYaw = buffer.readAngle(); break; } } @@ -44,7 +44,7 @@ public class PacketEntityHeadRotation implements ClientboundPacket { } - public int getHeadYaw() { + public short getHeadYaw() { return headYaw; } diff --git a/src/main/java/de/bixilon/minosoft/protocol/packets/clientbound/play/PacketEntityPositionAndRotation.java b/src/main/java/de/bixilon/minosoft/protocol/packets/clientbound/play/PacketEntityPositionAndRotation.java index 40ecbf376..3ac69e748 100644 --- a/src/main/java/de/bixilon/minosoft/protocol/packets/clientbound/play/PacketEntityPositionAndRotation.java +++ b/src/main/java/de/bixilon/minosoft/protocol/packets/clientbound/play/PacketEntityPositionAndRotation.java @@ -24,8 +24,8 @@ import de.bixilon.minosoft.protocol.protocol.ProtocolVersion; public class PacketEntityPositionAndRotation implements ClientboundPacket { int entityId; RelativeLocation location; - int yaw; - int pitch; + short yaw; + short pitch; @Override public void read(InPacketBuffer buffer, ProtocolVersion v) { @@ -33,8 +33,8 @@ public class PacketEntityPositionAndRotation implements ClientboundPacket { case VERSION_1_7_10: this.entityId = buffer.readInteger(); this.location = new RelativeLocation(buffer.readFixedPointNumberByte(), buffer.readFixedPointNumberByte(), buffer.readFixedPointNumberByte()); - this.yaw = buffer.readByte(); //ToDo dividing, ... - this.pitch = buffer.readByte(); + this.yaw = buffer.readAngle(); + this.pitch = buffer.readAngle(); break; } } @@ -52,11 +52,11 @@ public class PacketEntityPositionAndRotation implements ClientboundPacket { return location; } - public int getYaw() { + public short getYaw() { return yaw; } - public int getPitch() { + public short getPitch() { return pitch; } diff --git a/src/main/java/de/bixilon/minosoft/protocol/packets/clientbound/play/PacketEntityRotation.java b/src/main/java/de/bixilon/minosoft/protocol/packets/clientbound/play/PacketEntityRotation.java index bc44c9bca..95562ef22 100644 --- a/src/main/java/de/bixilon/minosoft/protocol/packets/clientbound/play/PacketEntityRotation.java +++ b/src/main/java/de/bixilon/minosoft/protocol/packets/clientbound/play/PacketEntityRotation.java @@ -22,16 +22,16 @@ import de.bixilon.minosoft.protocol.protocol.ProtocolVersion; public class PacketEntityRotation implements ClientboundPacket { int entityId; - int yaw; - int pitch; + short yaw; + short pitch; @Override public void read(InPacketBuffer buffer, ProtocolVersion v) { switch (v) { case VERSION_1_7_10: this.entityId = buffer.readInteger(); - this.yaw = buffer.readByte(); - this.pitch = buffer.readByte(); + this.yaw = buffer.readAngle(); + this.pitch = buffer.readAngle(); break; } } @@ -46,11 +46,11 @@ public class PacketEntityRotation implements ClientboundPacket { } - public int getYaw() { + public short getYaw() { return yaw; } - public int getPitch() { + public short getPitch() { return pitch; } 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 7fa5fc5bf..8188a5768 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 @@ -24,8 +24,8 @@ import de.bixilon.minosoft.protocol.protocol.ProtocolVersion; public class PacketEntityTeleport implements ClientboundPacket { int entityId; Location location; - int yaw; - int pitch; + short yaw; + short pitch; @Override public void read(InPacketBuffer buffer, ProtocolVersion v) { @@ -33,8 +33,8 @@ public class PacketEntityTeleport implements ClientboundPacket { case VERSION_1_7_10: this.entityId = buffer.readInteger(); this.location = new Location(buffer.readFixedPointNumberInteger(), buffer.readFixedPointNumberInteger(), buffer.readFixedPointNumberInteger()); - this.yaw = buffer.readByte(); - this.pitch = buffer.readByte(); + this.yaw = buffer.readAngle(); + this.pitch = buffer.readAngle(); break; } } @@ -52,11 +52,11 @@ public class PacketEntityTeleport implements ClientboundPacket { return location; } - public int getYaw() { + public short getYaw() { return yaw; } - public int getPitch() { + public short getPitch() { return pitch; } 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 2c432e857..ede477845 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 @@ -36,14 +36,14 @@ public class PacketSpawnMob implements ClientboundPacket { int entityId = buffer.readVarInt(); Mobs type = Mobs.byType(buffer.readByte()); Location location = new Location(buffer.readFixedPointNumberInteger(), buffer.readFixedPointNumberInteger(), buffer.readFixedPointNumberInteger()); - int yaw = buffer.readByte(); - int pitch = buffer.readByte(); - int headPitch = buffer.readByte(); + short yaw = buffer.readAngle(); + short pitch = buffer.readAngle(); + int headpitch = buffer.readAngle(); Velocity velocity = new Velocity(buffer.readShort(), buffer.readShort(), buffer.readShort()); assert type != null; try { - mob = type.getClazz().getConstructor(int.class, Location.class, int.class, int.class, Velocity.class, InByteBuffer.class, ProtocolVersion.class).newInstance(entityId, location, yaw, pitch, velocity, buffer, v); + mob = type.getClazz().getConstructor(int.class, Location.class, short.class, short.class, Velocity.class, InByteBuffer.class, ProtocolVersion.class).newInstance(entityId, location, yaw, pitch, velocity, buffer, v); } catch (InstantiationException | IllegalAccessException | InvocationTargetException | NoSuchMethodException e) { e.printStackTrace(); } 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 5467be253..26b79aafb 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 @@ -34,12 +34,12 @@ public class PacketSpawnObject implements ClientboundPacket { int entityId = buffer.readVarInt(); Objects type = Objects.byType(buffer.readByte()); Location location = new Location(buffer.readFixedPointNumberInteger(), buffer.readFixedPointNumberInteger(), buffer.readFixedPointNumberInteger()); - int pitch = buffer.readByte(); - int yaw = buffer.readByte(); + short pitch = buffer.readAngle(); + short yaw = buffer.readAngle(); assert type != null; try { - object = type.getClazz().getConstructor(int.class, Location.class, int.class, int.class, int.class, ProtocolVersion.class).newInstance(entityId, location, yaw, pitch, buffer.readInteger(), v); + object = type.getClazz().getConstructor(int.class, Location.class, short.class, short.class, int.class, ProtocolVersion.class).newInstance(entityId, location, yaw, pitch, buffer.readInteger(), v); } catch (InstantiationException | IllegalAccessException | InvocationTargetException | NoSuchMethodException e) { e.printStackTrace(); } 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 475228da3..4e6aca090 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 @@ -42,8 +42,8 @@ public class PacketSpawnPlayer implements ClientboundPacket { properties[i] = new PlayerPropertyData(buffer.readString(), buffer.readString(), buffer.readString()); } Location location = new Location(buffer.readFixedPointNumberInteger(), buffer.readFixedPointNumberInteger(), buffer.readFixedPointNumberInteger()); - int yaw = buffer.readByte(); - int pitch = buffer.readByte(); + short yaw = buffer.readAngle(); + short pitch = buffer.readAngle(); short currentItem = buffer.readShort(); HumanMetaData metaData = new HumanMetaData(buffer, v); 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 552aa71df..ee450a9d8 100644 --- a/src/main/java/de/bixilon/minosoft/protocol/protocol/InByteBuffer.java +++ b/src/main/java/de/bixilon/minosoft/protocol/protocol/InByteBuffer.java @@ -13,15 +13,15 @@ package de.bixilon.minosoft.protocol.protocol; -import de.bixilon.minosoft.game.datatypes.world.BlockPosition; -import de.bixilon.minosoft.game.datatypes.TextComponent; import de.bixilon.minosoft.game.datatypes.Direction; import de.bixilon.minosoft.game.datatypes.Slot; +import de.bixilon.minosoft.game.datatypes.TextComponent; import de.bixilon.minosoft.game.datatypes.entities.Pose; import de.bixilon.minosoft.game.datatypes.particle.BlockParticle; import de.bixilon.minosoft.game.datatypes.particle.OtherParticles; import de.bixilon.minosoft.game.datatypes.particle.Particle; import de.bixilon.minosoft.game.datatypes.particle.Particles; +import de.bixilon.minosoft.game.datatypes.world.BlockPosition; import de.bixilon.minosoft.nbt.tag.CompoundTag; import de.bixilon.minosoft.nbt.tag.TagTypes; import de.bixilon.minosoft.util.Util; @@ -195,6 +195,10 @@ public class InByteBuffer { return this.pos; } + public void setPosition(int pos) { + this.pos = pos; + } + public int getLength() { return bytes.length; } @@ -203,7 +207,6 @@ public class InByteBuffer { return bytes.length - pos; } - public Direction readDirection() { return Direction.byId(readVarInt()); } @@ -227,10 +230,6 @@ public class InByteBuffer { return null; } - public void setPosition(int pos) { - this.pos = pos; - } - public CompoundTag readNBT() { if (readByte() != TagTypes.COMPOUND.getId()) { // will be a Compound Tag @@ -281,4 +280,8 @@ public class InByteBuffer { public String getBase64() { return getBase64(getPosition(), getBytesLeft()); } + + public short readAngle() { + return (short) (readByte() * ProtocolDefinition.ANGLE_CALCULATION_CONSTANT); + } } diff --git a/src/main/java/de/bixilon/minosoft/protocol/protocol/ProtocolDefinition.java b/src/main/java/de/bixilon/minosoft/protocol/protocol/ProtocolDefinition.java index 5f7a66259..2dda0764f 100644 --- a/src/main/java/de/bixilon/minosoft/protocol/protocol/ProtocolDefinition.java +++ b/src/main/java/de/bixilon/minosoft/protocol/protocol/ProtocolDefinition.java @@ -17,4 +17,5 @@ public final class ProtocolDefinition { public static final int STRING_MAX_LEN = 32767; public static final int DEFAULT_PORT = 25565; public static final int PROTOCOL_PACKET_MAX_SIZE = 2097152; + public static final float ANGLE_CALCULATION_CONSTANT = 360.0F / 256.0F; }