diff --git a/src/main/java/de/bixilon/minosoft/game/datatypes/entities/objects/Painting.java b/src/main/java/de/bixilon/minosoft/game/datatypes/entities/objects/Painting.java index 9d885e995..76930aa30 100644 --- a/src/main/java/de/bixilon/minosoft/game/datatypes/entities/objects/Painting.java +++ b/src/main/java/de/bixilon/minosoft/game/datatypes/entities/objects/Painting.java @@ -15,12 +15,15 @@ package de.bixilon.minosoft.game.datatypes.entities.objects; import de.bixilon.minosoft.game.datatypes.entities.*; import de.bixilon.minosoft.game.datatypes.entities.meta.EntityMetaData; +import de.bixilon.minosoft.game.datatypes.world.BlockPosition; import de.bixilon.minosoft.protocol.protocol.ProtocolVersion; import java.util.HashMap; public class Painting extends EntityObject implements ObjectInterface { EntityMetaData metaData; + int direction; + String title; public Painting(int entityId, Location location, short yaw, short pitch, int additionalInt) { super(entityId, location, yaw, pitch, null); @@ -36,6 +39,12 @@ public class Painting extends EntityObject implements ObjectInterface { this.metaData = new EntityMetaData(sets, version); } + public Painting(int entityId, BlockPosition position, int direction, String title) { + super(entityId, new Location(position.getX(), position.getY(), position.getZ()), (short) 0, (short) 0, null); + this.direction = direction; + this.title = title; + } + @Override public Entities getEntityType() { return Entities.PAINTING; diff --git a/src/main/java/de/bixilon/minosoft/protocol/protocol/PacketHandler.java b/src/main/java/de/bixilon/minosoft/protocol/protocol/PacketHandler.java index e95b03bac..e85ad1022 100644 --- a/src/main/java/de/bixilon/minosoft/protocol/protocol/PacketHandler.java +++ b/src/main/java/de/bixilon/minosoft/protocol/protocol/PacketHandler.java @@ -17,6 +17,7 @@ import de.bixilon.minosoft.game.datatypes.GameMode; import de.bixilon.minosoft.game.datatypes.blocks.Blocks; import de.bixilon.minosoft.game.datatypes.entities.meta.HumanMetaData; import de.bixilon.minosoft.game.datatypes.entities.mob.OtherPlayer; +import de.bixilon.minosoft.game.datatypes.entities.objects.Painting; import de.bixilon.minosoft.game.datatypes.player.PlayerInfo; import de.bixilon.minosoft.game.datatypes.player.PlayerInfoBulk; import de.bixilon.minosoft.game.datatypes.scoreboard.ScoreboardObjective; @@ -426,6 +427,7 @@ public class PacketHandler { } public void handle(PacketSpawnPainting pkg) { + connection.getPlayer().getWorld().addEntity(new Painting(pkg.getEntityId(), pkg.getPosition(), pkg.getDirection(), pkg.getTitle())); } public void handle(PacketEntity pkg) {