diff --git a/src/main/java/de/bixilon/minosoft/config/StaticConfiguration.java b/src/main/java/de/bixilon/minosoft/config/StaticConfiguration.java index e184d4052..280ceecc3 100644 --- a/src/main/java/de/bixilon/minosoft/config/StaticConfiguration.java +++ b/src/main/java/de/bixilon/minosoft/config/StaticConfiguration.java @@ -22,6 +22,7 @@ public class StaticConfiguration { public static final boolean DEBUG_MODE = true; // if true, additional checks will be made to validate data, ... Decreases performance public static final boolean BIOME_DEBUG_MODE = false; // colors all biomes according to the biome hashCode public static final boolean DEBUG_SLOW_LOADING = false; // if true, many Thread.sleep will be executed and the start will be delayed (by a lot) + public static final boolean SHOW_LOG_MESSAGES_IN_CHAT = false; // prints all console messages in the chat box public static String CONFIG_FILENAME = "minosoft.json"; // Filename of minosoft's base configuration (located in AppData/Minosoft/config) public static boolean SKIP_MOJANG_AUTHENTICATION; // disables all connections to mojang public static boolean COLORED_LOG = true; // the log should be colored with ANSI (does not affect base components) diff --git a/src/main/java/de/bixilon/minosoft/config/config/game/controls/KeyBindingsGameConfig.kt b/src/main/java/de/bixilon/minosoft/config/config/game/controls/KeyBindingsGameConfig.kt index d950fc915..bf9a6215a 100644 --- a/src/main/java/de/bixilon/minosoft/config/config/game/controls/KeyBindingsGameConfig.kt +++ b/src/main/java/de/bixilon/minosoft/config/config/game/controls/KeyBindingsGameConfig.kt @@ -13,6 +13,7 @@ package de.bixilon.minosoft.config.config.game.controls +import de.bixilon.minosoft.config.config.game.controls.KeyBindingsNames.DEBUG_CLEAR_CHUNK_CACHE import de.bixilon.minosoft.config.config.game.controls.KeyBindingsNames.DEBUG_MOUSE_CATCH import de.bixilon.minosoft.config.config.game.controls.KeyBindingsNames.DEBUG_POLYGEN import de.bixilon.minosoft.config.config.game.controls.KeyBindingsNames.DEBUG_SCREEN @@ -108,6 +109,13 @@ data class KeyBindingsGameConfig( ), mutableSetOf(mutableSetOf(WHEN_IN_GAME)) ), + DEBUG_CLEAR_CHUNK_CACHE to KeyBinding( + mutableMapOf( + KeyAction.MODIFIER to mutableSetOf(KeyCodes.KEY_F3), + KeyAction.RELEASE to mutableSetOf(KeyCodes.KEY_A) + ), + mutableSetOf(mutableSetOf(WHEN_IN_GAME)) + ), ), ) @@ -125,6 +133,7 @@ object KeyBindingsNames { val QUIT_RENDERING = ResourceLocation("minosoft:quit_rendering") val DEBUG_SCREEN = ResourceLocation("minosoft:debug_screen") + val DEBUG_CLEAR_CHUNK_CACHE = ResourceLocation("minosoft:debug_clear_chunk_cache") val DEBUG_POLYGEN = ResourceLocation("minosoft:debug_polygen") val DEBUG_MOUSE_CATCH = ResourceLocation("minosoft:debug_mouse_catch") diff --git a/src/main/java/de/bixilon/minosoft/data/Player.java b/src/main/java/de/bixilon/minosoft/data/Player.java index ed0b4c6cc..588090512 100644 --- a/src/main/java/de/bixilon/minosoft/data/Player.java +++ b/src/main/java/de/bixilon/minosoft/data/Player.java @@ -39,7 +39,7 @@ public class Player { private float health; private int food; private float saturation; - private BlockPosition spawnLocation; + private BlockPosition spawnPosition; private GameModes gameMode; private byte selectedSlot; private int level; @@ -105,12 +105,12 @@ public class Player { this.saturation = saturation; } - public BlockPosition getSpawnLocation() { - return this.spawnLocation; + public BlockPosition getSpawnPosition() { + return this.spawnPosition; } - public void setSpawnLocation(BlockPosition spawnLocation) { - this.spawnLocation = spawnLocation; + public void setSpawnPosition(BlockPosition spawnPosition) { + this.spawnPosition = spawnPosition; } public GameModes getGameMode() { diff --git a/src/main/java/de/bixilon/minosoft/data/entities/EvokerFangs.java b/src/main/java/de/bixilon/minosoft/data/entities/EvokerFangs.java index a27fc64d6..3bfb6308a 100644 --- a/src/main/java/de/bixilon/minosoft/data/entities/EvokerFangs.java +++ b/src/main/java/de/bixilon/minosoft/data/entities/EvokerFangs.java @@ -20,7 +20,7 @@ import java.util.UUID; public class EvokerFangs extends Entity { - public EvokerFangs(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) { - super(connection, entityId, uuid, location, rotation); + public EvokerFangs(Connection connection, int entityId, UUID uuid, Position position, EntityRotation rotation) { + super(connection, entityId, uuid, position, rotation); } } diff --git a/src/main/java/de/bixilon/minosoft/data/entities/Location.kt b/src/main/java/de/bixilon/minosoft/data/entities/Position.kt similarity index 87% rename from src/main/java/de/bixilon/minosoft/data/entities/Location.kt rename to src/main/java/de/bixilon/minosoft/data/entities/Position.kt index 0d7a08b60..86bf9c8a8 100644 --- a/src/main/java/de/bixilon/minosoft/data/entities/Location.kt +++ b/src/main/java/de/bixilon/minosoft/data/entities/Position.kt @@ -16,7 +16,7 @@ import de.bixilon.minosoft.data.world.BlockPosition import glm_.vec3.Vec3 -data class Location(val x: Double, val y: Double, val z: Double) { +data class Position(val x: Double, val y: Double, val z: Double) { constructor(position: Vec3) : this(position.x.toDouble(), position.y.toDouble(), position.z.toDouble()) @@ -34,8 +34,8 @@ data class Location(val x: Double, val y: Double, val z: Double) { companion object { @JvmStatic - fun fromPosition(position: BlockPosition): Location { - return Location(position.x.toDouble(), position.y.toDouble(), position.z.toDouble()) + fun fromPosition(position: BlockPosition): Position { + return Position(position.x.toDouble(), position.y.toDouble(), position.z.toDouble()) } } } diff --git a/src/main/java/de/bixilon/minosoft/data/entities/RelativeLocation.kt b/src/main/java/de/bixilon/minosoft/data/entities/RelativePosition.kt similarity index 93% rename from src/main/java/de/bixilon/minosoft/data/entities/RelativeLocation.kt rename to src/main/java/de/bixilon/minosoft/data/entities/RelativePosition.kt index 2fb09c55f..cca4f6b41 100644 --- a/src/main/java/de/bixilon/minosoft/data/entities/RelativeLocation.kt +++ b/src/main/java/de/bixilon/minosoft/data/entities/RelativePosition.kt @@ -12,7 +12,7 @@ */ package de.bixilon.minosoft.data.entities -data class RelativeLocation(val x: Double, val y: Double, val z: Double) { +data class RelativePosition(val x: Double, val y: Double, val z: Double) { override fun toString(): String { return "($x $y $z)" diff --git a/src/main/java/de/bixilon/minosoft/data/entities/entities/AgeableMob.java b/src/main/java/de/bixilon/minosoft/data/entities/entities/AgeableMob.java index 1b891140c..0d4c215a8 100644 --- a/src/main/java/de/bixilon/minosoft/data/entities/entities/AgeableMob.java +++ b/src/main/java/de/bixilon/minosoft/data/entities/entities/AgeableMob.java @@ -15,15 +15,15 @@ package de.bixilon.minosoft.data.entities.entities; import de.bixilon.minosoft.data.entities.EntityMetaDataFields; import de.bixilon.minosoft.data.entities.EntityRotation; -import de.bixilon.minosoft.data.entities.Location; +import de.bixilon.minosoft.data.entities.Position; import de.bixilon.minosoft.protocol.network.Connection; import java.util.UUID; public abstract class AgeableMob extends PathfinderMob { - public AgeableMob(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) { - super(connection, entityId, uuid, location, rotation); + public AgeableMob(Connection connection, int entityId, UUID uuid, Position position, EntityRotation rotation) { + super(connection, entityId, uuid, position, rotation); } @EntityMetaDataFunction(name = "Is baby") diff --git a/src/main/java/de/bixilon/minosoft/data/entities/entities/AreaEffectCloud.java b/src/main/java/de/bixilon/minosoft/data/entities/entities/AreaEffectCloud.java index d54a28cd4..8b585490a 100644 --- a/src/main/java/de/bixilon/minosoft/data/entities/entities/AreaEffectCloud.java +++ b/src/main/java/de/bixilon/minosoft/data/entities/entities/AreaEffectCloud.java @@ -15,7 +15,7 @@ package de.bixilon.minosoft.data.entities.entities; import de.bixilon.minosoft.data.entities.EntityMetaDataFields; import de.bixilon.minosoft.data.entities.EntityRotation; -import de.bixilon.minosoft.data.entities.Location; +import de.bixilon.minosoft.data.entities.Position; import de.bixilon.minosoft.data.mappings.particle.data.ParticleData; import de.bixilon.minosoft.protocol.network.Connection; @@ -23,8 +23,8 @@ import java.util.UUID; public class AreaEffectCloud extends Entity { - public AreaEffectCloud(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) { - super(connection, entityId, uuid, location, rotation); + public AreaEffectCloud(Connection connection, int entityId, UUID uuid, Position position, EntityRotation rotation) { + super(connection, entityId, uuid, position, rotation); } @EntityMetaDataFunction(name = "Radius") diff --git a/src/main/java/de/bixilon/minosoft/data/entities/entities/Entity.java b/src/main/java/de/bixilon/minosoft/data/entities/entities/Entity.java index 20263b31b..44a40f995 100644 --- a/src/main/java/de/bixilon/minosoft/data/entities/entities/Entity.java +++ b/src/main/java/de/bixilon/minosoft/data/entities/entities/Entity.java @@ -39,18 +39,18 @@ public abstract class Entity { protected final HashMap equipment = new HashMap<>(); protected final HashSet effectList = new HashSet<>(); protected final int versionId; - protected Location location; + protected Position position; protected EntityRotation rotation; protected int attachedTo = -1; protected EntityMetaData metaData; - public Entity(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) { + public Entity(Connection connection, int entityId, UUID uuid, Position position, EntityRotation rotation) { this.connection = connection; this.information = connection.getMapping().getEntityInformation(getClass()); this.entityId = entityId; this.uuid = uuid; this.versionId = connection.getVersion().getVersionId(); - this.location = location; + this.position = position; this.rotation = rotation; } @@ -58,16 +58,16 @@ public abstract class Entity { return this.entityId; } - public Location getLocation() { - return this.location; + public Position getPosition() { + return this.position; } - public void setLocation(Location location) { - this.location = location; + public void setLocation(Position position) { + this.position = position; } - public void setLocation(RelativeLocation relativeLocation) { - this.location = new Location(this.location.getX() + relativeLocation.getX(), this.location.getY() + relativeLocation.getY(), this.location.getZ() + relativeLocation.getZ()); + public void setLocation(RelativePosition relativePosition) { + this.position = new Position(this.position.getX() + relativePosition.getX(), this.position.getY() + relativePosition.getY(), this.position.getZ() + relativePosition.getZ()); } public Slot getEquipment(InventorySlots.EntityInventorySlots slot) { diff --git a/src/main/java/de/bixilon/minosoft/data/entities/entities/EvokerFangs.java b/src/main/java/de/bixilon/minosoft/data/entities/entities/EvokerFangs.java index aad29fe25..7cabd5c43 100644 --- a/src/main/java/de/bixilon/minosoft/data/entities/entities/EvokerFangs.java +++ b/src/main/java/de/bixilon/minosoft/data/entities/entities/EvokerFangs.java @@ -14,14 +14,14 @@ package de.bixilon.minosoft.data.entities.entities; import de.bixilon.minosoft.data.entities.EntityRotation; -import de.bixilon.minosoft.data.entities.Location; +import de.bixilon.minosoft.data.entities.Position; import de.bixilon.minosoft.protocol.network.Connection; import java.util.UUID; public class EvokerFangs extends Entity { - public EvokerFangs(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) { - super(connection, entityId, uuid, location, rotation); + public EvokerFangs(Connection connection, int entityId, UUID uuid, Position position, EntityRotation rotation) { + super(connection, entityId, uuid, position, rotation); } } diff --git a/src/main/java/de/bixilon/minosoft/data/entities/entities/ExperienceOrb.java b/src/main/java/de/bixilon/minosoft/data/entities/entities/ExperienceOrb.java index fbc35d988..7a375ec40 100644 --- a/src/main/java/de/bixilon/minosoft/data/entities/entities/ExperienceOrb.java +++ b/src/main/java/de/bixilon/minosoft/data/entities/entities/ExperienceOrb.java @@ -14,7 +14,7 @@ package de.bixilon.minosoft.data.entities.entities; import de.bixilon.minosoft.data.entities.EntityRotation; -import de.bixilon.minosoft.data.entities.Location; +import de.bixilon.minosoft.data.entities.Position; import de.bixilon.minosoft.protocol.network.Connection; import java.util.UUID; @@ -22,13 +22,13 @@ import java.util.UUID; public class ExperienceOrb extends Entity { private final int count; - public ExperienceOrb(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) { - super(connection, entityId, uuid, location, rotation); + public ExperienceOrb(Connection connection, int entityId, UUID uuid, Position position, EntityRotation rotation) { + super(connection, entityId, uuid, position, rotation); this.count = 0; } - public ExperienceOrb(Connection connection, int entityId, Location location, int count) { - super(connection, entityId, UUID.randomUUID(), location, new EntityRotation(0, 0, 0)); + public ExperienceOrb(Connection connection, int entityId, Position position, int count) { + super(connection, entityId, UUID.randomUUID(), position, new EntityRotation(0, 0, 0)); this.count = count; } diff --git a/src/main/java/de/bixilon/minosoft/data/entities/entities/FlyingMob.java b/src/main/java/de/bixilon/minosoft/data/entities/entities/FlyingMob.java index eda9a96b1..a9066e5f7 100644 --- a/src/main/java/de/bixilon/minosoft/data/entities/entities/FlyingMob.java +++ b/src/main/java/de/bixilon/minosoft/data/entities/entities/FlyingMob.java @@ -14,14 +14,14 @@ package de.bixilon.minosoft.data.entities.entities; import de.bixilon.minosoft.data.entities.EntityRotation; -import de.bixilon.minosoft.data.entities.Location; +import de.bixilon.minosoft.data.entities.Position; import de.bixilon.minosoft.protocol.network.Connection; import java.util.UUID; public abstract class FlyingMob extends Mob { - public FlyingMob(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) { - super(connection, entityId, uuid, location, rotation); + public FlyingMob(Connection connection, int entityId, UUID uuid, Position position, EntityRotation rotation) { + super(connection, entityId, uuid, position, rotation); } } diff --git a/src/main/java/de/bixilon/minosoft/data/entities/entities/LightningBolt.java b/src/main/java/de/bixilon/minosoft/data/entities/entities/LightningBolt.java index f705a296a..81f5dfeeb 100644 --- a/src/main/java/de/bixilon/minosoft/data/entities/entities/LightningBolt.java +++ b/src/main/java/de/bixilon/minosoft/data/entities/entities/LightningBolt.java @@ -14,18 +14,18 @@ package de.bixilon.minosoft.data.entities.entities; import de.bixilon.minosoft.data.entities.EntityRotation; -import de.bixilon.minosoft.data.entities.Location; +import de.bixilon.minosoft.data.entities.Position; import de.bixilon.minosoft.protocol.network.Connection; import java.util.UUID; public class LightningBolt extends Entity { - public LightningBolt(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) { - super(connection, entityId, uuid, location, rotation); + public LightningBolt(Connection connection, int entityId, UUID uuid, Position position, EntityRotation rotation) { + super(connection, entityId, uuid, position, rotation); } - public LightningBolt(Connection connection, int entityId, Location location) { - super(connection, entityId, UUID.randomUUID(), location, new EntityRotation(0, 0, 0)); + public LightningBolt(Connection connection, int entityId, Position position) { + super(connection, entityId, UUID.randomUUID(), position, new EntityRotation(0, 0, 0)); } } diff --git a/src/main/java/de/bixilon/minosoft/data/entities/entities/LivingEntity.java b/src/main/java/de/bixilon/minosoft/data/entities/entities/LivingEntity.java index 541b3bcd7..f51859d1d 100644 --- a/src/main/java/de/bixilon/minosoft/data/entities/entities/LivingEntity.java +++ b/src/main/java/de/bixilon/minosoft/data/entities/entities/LivingEntity.java @@ -15,7 +15,7 @@ package de.bixilon.minosoft.data.entities.entities; import de.bixilon.minosoft.data.entities.EntityMetaDataFields; import de.bixilon.minosoft.data.entities.EntityRotation; -import de.bixilon.minosoft.data.entities.Location; +import de.bixilon.minosoft.data.entities.Position; import de.bixilon.minosoft.data.player.Hands; import de.bixilon.minosoft.data.world.BlockPosition; import de.bixilon.minosoft.protocol.network.Connection; @@ -25,8 +25,8 @@ import java.util.UUID; public abstract class LivingEntity extends Entity { - public LivingEntity(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) { - super(connection, entityId, uuid, location, rotation); + public LivingEntity(Connection connection, int entityId, UUID uuid, Position position, EntityRotation rotation) { + super(connection, entityId, uuid, position, rotation); } private boolean getLivingEntityFlag(int bitMask) { @@ -76,7 +76,7 @@ public abstract class LivingEntity extends Entity { @EntityMetaDataFunction(name = "Bed location") @Nullable - public BlockPosition getBedLocation() { + public BlockPosition getBedPosition() { return this.metaData.getSets().getPosition(EntityMetaDataFields.LIVING_ENTITY_BED_POSITION); } diff --git a/src/main/java/de/bixilon/minosoft/data/entities/entities/Mob.java b/src/main/java/de/bixilon/minosoft/data/entities/entities/Mob.java index db0a0bdba..5275a19af 100644 --- a/src/main/java/de/bixilon/minosoft/data/entities/entities/Mob.java +++ b/src/main/java/de/bixilon/minosoft/data/entities/entities/Mob.java @@ -15,14 +15,14 @@ package de.bixilon.minosoft.data.entities.entities; import de.bixilon.minosoft.data.entities.EntityMetaDataFields; import de.bixilon.minosoft.data.entities.EntityRotation; -import de.bixilon.minosoft.data.entities.Location; +import de.bixilon.minosoft.data.entities.Position; import de.bixilon.minosoft.protocol.network.Connection; import java.util.UUID; public abstract class Mob extends LivingEntity { - public Mob(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) { - super(connection, entityId, uuid, location, rotation); + public Mob(Connection connection, int entityId, UUID uuid, Position position, EntityRotation rotation) { + super(connection, entityId, uuid, position, rotation); } private boolean getMobFlags(int bitMask) { diff --git a/src/main/java/de/bixilon/minosoft/data/entities/entities/PathfinderMob.java b/src/main/java/de/bixilon/minosoft/data/entities/entities/PathfinderMob.java index b52cf94ea..40e70d145 100644 --- a/src/main/java/de/bixilon/minosoft/data/entities/entities/PathfinderMob.java +++ b/src/main/java/de/bixilon/minosoft/data/entities/entities/PathfinderMob.java @@ -14,15 +14,15 @@ package de.bixilon.minosoft.data.entities.entities; import de.bixilon.minosoft.data.entities.EntityRotation; -import de.bixilon.minosoft.data.entities.Location; +import de.bixilon.minosoft.data.entities.Position; import de.bixilon.minosoft.protocol.network.Connection; import java.util.UUID; public abstract class PathfinderMob extends Mob { - public PathfinderMob(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) { - super(connection, entityId, uuid, location, rotation); + public PathfinderMob(Connection connection, int entityId, UUID uuid, Position position, EntityRotation rotation) { + super(connection, entityId, uuid, position, rotation); } } diff --git a/src/main/java/de/bixilon/minosoft/data/entities/entities/TamableAnimal.java b/src/main/java/de/bixilon/minosoft/data/entities/entities/TamableAnimal.java index 335f12f9e..af9dba3f9 100644 --- a/src/main/java/de/bixilon/minosoft/data/entities/entities/TamableAnimal.java +++ b/src/main/java/de/bixilon/minosoft/data/entities/entities/TamableAnimal.java @@ -15,7 +15,7 @@ package de.bixilon.minosoft.data.entities.entities; import de.bixilon.minosoft.data.entities.EntityMetaDataFields; import de.bixilon.minosoft.data.entities.EntityRotation; -import de.bixilon.minosoft.data.entities.Location; +import de.bixilon.minosoft.data.entities.Position; import de.bixilon.minosoft.data.entities.entities.animal.Animal; import de.bixilon.minosoft.protocol.network.Connection; @@ -23,8 +23,8 @@ import javax.annotation.Nullable; import java.util.UUID; public abstract class TamableAnimal extends Animal { - public TamableAnimal(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) { - super(connection, entityId, uuid, location, rotation); + public TamableAnimal(Connection connection, int entityId, UUID uuid, Position position, EntityRotation rotation) { + super(connection, entityId, uuid, position, rotation); } private boolean getTameableFlag(int bitMask) { diff --git a/src/main/java/de/bixilon/minosoft/data/entities/entities/ambient/AmbientCreature.java b/src/main/java/de/bixilon/minosoft/data/entities/entities/ambient/AmbientCreature.java index e3eba39c1..291d25f88 100644 --- a/src/main/java/de/bixilon/minosoft/data/entities/entities/ambient/AmbientCreature.java +++ b/src/main/java/de/bixilon/minosoft/data/entities/entities/ambient/AmbientCreature.java @@ -14,7 +14,7 @@ package de.bixilon.minosoft.data.entities.entities.ambient; import de.bixilon.minosoft.data.entities.EntityRotation; -import de.bixilon.minosoft.data.entities.Location; +import de.bixilon.minosoft.data.entities.Position; import de.bixilon.minosoft.data.entities.entities.Mob; import de.bixilon.minosoft.protocol.network.Connection; @@ -22,8 +22,8 @@ import java.util.UUID; public abstract class AmbientCreature extends Mob { - public AmbientCreature(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) { - super(connection, entityId, uuid, location, rotation); + public AmbientCreature(Connection connection, int entityId, UUID uuid, Position position, EntityRotation rotation) { + super(connection, entityId, uuid, position, rotation); } } diff --git a/src/main/java/de/bixilon/minosoft/data/entities/entities/ambient/Bat.java b/src/main/java/de/bixilon/minosoft/data/entities/entities/ambient/Bat.java index edd69a466..20551de83 100644 --- a/src/main/java/de/bixilon/minosoft/data/entities/entities/ambient/Bat.java +++ b/src/main/java/de/bixilon/minosoft/data/entities/entities/ambient/Bat.java @@ -15,7 +15,7 @@ package de.bixilon.minosoft.data.entities.entities.ambient; import de.bixilon.minosoft.data.entities.EntityMetaDataFields; import de.bixilon.minosoft.data.entities.EntityRotation; -import de.bixilon.minosoft.data.entities.Location; +import de.bixilon.minosoft.data.entities.Position; import de.bixilon.minosoft.data.entities.entities.EntityMetaDataFunction; import de.bixilon.minosoft.protocol.network.Connection; @@ -23,8 +23,8 @@ import java.util.UUID; public class Bat extends AmbientCreature { - public Bat(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) { - super(connection, entityId, uuid, location, rotation); + public Bat(Connection connection, int entityId, UUID uuid, Position position, EntityRotation rotation) { + super(connection, entityId, uuid, position, rotation); } private boolean getBatFlag(int bitMask) { diff --git a/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/AbstractGolem.java b/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/AbstractGolem.java index 86a8e3b3e..24eea4f74 100644 --- a/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/AbstractGolem.java +++ b/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/AbstractGolem.java @@ -14,7 +14,7 @@ package de.bixilon.minosoft.data.entities.entities.animal; import de.bixilon.minosoft.data.entities.EntityRotation; -import de.bixilon.minosoft.data.entities.Location; +import de.bixilon.minosoft.data.entities.Position; import de.bixilon.minosoft.data.entities.entities.PathfinderMob; import de.bixilon.minosoft.protocol.network.Connection; @@ -22,7 +22,7 @@ import java.util.UUID; public abstract class AbstractGolem extends PathfinderMob { - public AbstractGolem(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) { - super(connection, entityId, uuid, location, rotation); + public AbstractGolem(Connection connection, int entityId, UUID uuid, Position position, EntityRotation rotation) { + super(connection, entityId, uuid, position, rotation); } } diff --git a/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/Animal.java b/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/Animal.java index d5111bd40..de8c1d04c 100644 --- a/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/Animal.java +++ b/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/Animal.java @@ -14,7 +14,7 @@ package de.bixilon.minosoft.data.entities.entities.animal; import de.bixilon.minosoft.data.entities.EntityRotation; -import de.bixilon.minosoft.data.entities.Location; +import de.bixilon.minosoft.data.entities.Position; import de.bixilon.minosoft.data.entities.entities.AgeableMob; import de.bixilon.minosoft.protocol.network.Connection; @@ -22,8 +22,8 @@ import java.util.UUID; public abstract class Animal extends AgeableMob { - public Animal(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) { - super(connection, entityId, uuid, location, rotation); + public Animal(Connection connection, int entityId, UUID uuid, Position position, EntityRotation rotation) { + super(connection, entityId, uuid, position, rotation); } } diff --git a/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/Axolotl.java b/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/Axolotl.java index 78dfa6dca..d2306e4a7 100644 --- a/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/Axolotl.java +++ b/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/Axolotl.java @@ -15,7 +15,7 @@ package de.bixilon.minosoft.data.entities.entities.animal; import de.bixilon.minosoft.data.entities.EntityMetaDataFields; import de.bixilon.minosoft.data.entities.EntityRotation; -import de.bixilon.minosoft.data.entities.Location; +import de.bixilon.minosoft.data.entities.Position; import de.bixilon.minosoft.data.entities.entities.EntityMetaDataFunction; import de.bixilon.minosoft.protocol.network.Connection; @@ -23,8 +23,8 @@ import java.util.UUID; public class Axolotl extends Animal { - public Axolotl(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) { - super(connection, entityId, uuid, location, rotation); + public Axolotl(Connection connection, int entityId, UUID uuid, Position position, EntityRotation rotation) { + super(connection, entityId, uuid, position, rotation); } @EntityMetaDataFunction(name = "Axolotl variant") diff --git a/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/Bee.java b/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/Bee.java index 0ff49711f..0b6e4e295 100644 --- a/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/Bee.java +++ b/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/Bee.java @@ -15,7 +15,7 @@ package de.bixilon.minosoft.data.entities.entities.animal; import de.bixilon.minosoft.data.entities.EntityMetaDataFields; import de.bixilon.minosoft.data.entities.EntityRotation; -import de.bixilon.minosoft.data.entities.Location; +import de.bixilon.minosoft.data.entities.Position; import de.bixilon.minosoft.data.entities.entities.EntityMetaDataFunction; import de.bixilon.minosoft.protocol.network.Connection; @@ -23,8 +23,8 @@ import java.util.UUID; public class Bee extends Animal { - public Bee(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) { - super(connection, entityId, uuid, location, rotation); + public Bee(Connection connection, int entityId, UUID uuid, Position position, EntityRotation rotation) { + super(connection, entityId, uuid, position, rotation); } private boolean getBeeFlag(int bitMask) { diff --git a/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/Cat.java b/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/Cat.java index f72d80b82..6f5b66b07 100644 --- a/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/Cat.java +++ b/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/Cat.java @@ -15,7 +15,7 @@ package de.bixilon.minosoft.data.entities.entities.animal; import de.bixilon.minosoft.data.entities.EntityMetaDataFields; import de.bixilon.minosoft.data.entities.EntityRotation; -import de.bixilon.minosoft.data.entities.Location; +import de.bixilon.minosoft.data.entities.Position; import de.bixilon.minosoft.data.entities.entities.EntityMetaDataFunction; import de.bixilon.minosoft.data.entities.entities.TamableAnimal; import de.bixilon.minosoft.data.text.ChatColors; @@ -26,8 +26,8 @@ import java.util.UUID; public class Cat extends TamableAnimal { - public Cat(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) { - super(connection, entityId, uuid, location, rotation); + public Cat(Connection connection, int entityId, UUID uuid, Position position, EntityRotation rotation) { + super(connection, entityId, uuid, position, rotation); } @EntityMetaDataFunction(name = "Variant") diff --git a/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/Chicken.java b/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/Chicken.java index 9baf9a438..694260b18 100644 --- a/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/Chicken.java +++ b/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/Chicken.java @@ -14,14 +14,14 @@ package de.bixilon.minosoft.data.entities.entities.animal; import de.bixilon.minosoft.data.entities.EntityRotation; -import de.bixilon.minosoft.data.entities.Location; +import de.bixilon.minosoft.data.entities.Position; import de.bixilon.minosoft.protocol.network.Connection; import java.util.UUID; public class Chicken extends Animal { - public Chicken(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) { - super(connection, entityId, uuid, location, rotation); + public Chicken(Connection connection, int entityId, UUID uuid, Position position, EntityRotation rotation) { + super(connection, entityId, uuid, position, rotation); } } diff --git a/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/Cow.java b/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/Cow.java index d04ea3b9a..ae493f9b7 100644 --- a/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/Cow.java +++ b/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/Cow.java @@ -14,14 +14,14 @@ package de.bixilon.minosoft.data.entities.entities.animal; import de.bixilon.minosoft.data.entities.EntityRotation; -import de.bixilon.minosoft.data.entities.Location; +import de.bixilon.minosoft.data.entities.Position; import de.bixilon.minosoft.protocol.network.Connection; import java.util.UUID; public class Cow extends Animal { - public Cow(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) { - super(connection, entityId, uuid, location, rotation); + public Cow(Connection connection, int entityId, UUID uuid, Position position, EntityRotation rotation) { + super(connection, entityId, uuid, position, rotation); } } diff --git a/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/Fox.java b/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/Fox.java index d109b3883..f41776f91 100644 --- a/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/Fox.java +++ b/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/Fox.java @@ -15,7 +15,7 @@ package de.bixilon.minosoft.data.entities.entities.animal; import de.bixilon.minosoft.data.entities.EntityMetaDataFields; import de.bixilon.minosoft.data.entities.EntityRotation; -import de.bixilon.minosoft.data.entities.Location; +import de.bixilon.minosoft.data.entities.Position; import de.bixilon.minosoft.data.entities.entities.EntityMetaDataFunction; import de.bixilon.minosoft.protocol.network.Connection; @@ -24,8 +24,8 @@ import java.util.UUID; public class Fox extends Animal { - public Fox(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) { - super(connection, entityId, uuid, location, rotation); + public Fox(Connection connection, int entityId, UUID uuid, Position position, EntityRotation rotation) { + super(connection, entityId, uuid, position, rotation); } @EntityMetaDataFunction(name = "Variant") diff --git a/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/IronGolem.java b/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/IronGolem.java index 0a6bd8836..dc05b2aa6 100644 --- a/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/IronGolem.java +++ b/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/IronGolem.java @@ -15,7 +15,7 @@ package de.bixilon.minosoft.data.entities.entities.animal; import de.bixilon.minosoft.data.entities.EntityMetaDataFields; import de.bixilon.minosoft.data.entities.EntityRotation; -import de.bixilon.minosoft.data.entities.Location; +import de.bixilon.minosoft.data.entities.Position; import de.bixilon.minosoft.data.entities.entities.EntityMetaDataFunction; import de.bixilon.minosoft.protocol.network.Connection; @@ -23,8 +23,8 @@ import java.util.UUID; public class IronGolem extends AbstractGolem { - public IronGolem(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) { - super(connection, entityId, uuid, location, rotation); + public IronGolem(Connection connection, int entityId, UUID uuid, Position position, EntityRotation rotation) { + super(connection, entityId, uuid, position, rotation); } private boolean getIronGolemFlag(int bitMask) { diff --git a/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/Mooshroom.java b/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/Mooshroom.java index b4be957d3..d2d23e4e2 100644 --- a/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/Mooshroom.java +++ b/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/Mooshroom.java @@ -15,7 +15,7 @@ package de.bixilon.minosoft.data.entities.entities.animal; import de.bixilon.minosoft.data.entities.EntityMetaDataFields; import de.bixilon.minosoft.data.entities.EntityRotation; -import de.bixilon.minosoft.data.entities.Location; +import de.bixilon.minosoft.data.entities.Position; import de.bixilon.minosoft.data.entities.entities.EntityMetaDataFunction; import de.bixilon.minosoft.protocol.network.Connection; @@ -23,8 +23,8 @@ import java.util.UUID; public class Mooshroom extends Cow { - public Mooshroom(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) { - super(connection, entityId, uuid, location, rotation); + public Mooshroom(Connection connection, int entityId, UUID uuid, Position position, EntityRotation rotation) { + super(connection, entityId, uuid, position, rotation); } @EntityMetaDataFunction(name = "Variant") diff --git a/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/Ocelot.java b/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/Ocelot.java index 64b52bc57..2b4a267a8 100644 --- a/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/Ocelot.java +++ b/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/Ocelot.java @@ -15,7 +15,7 @@ package de.bixilon.minosoft.data.entities.entities.animal; import de.bixilon.minosoft.data.entities.EntityMetaDataFields; import de.bixilon.minosoft.data.entities.EntityRotation; -import de.bixilon.minosoft.data.entities.Location; +import de.bixilon.minosoft.data.entities.Position; import de.bixilon.minosoft.data.entities.entities.EntityMetaDataFunction; import de.bixilon.minosoft.protocol.network.Connection; @@ -23,8 +23,8 @@ import java.util.UUID; public class Ocelot extends Animal { - public Ocelot(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) { - super(connection, entityId, uuid, location, rotation); + public Ocelot(Connection connection, int entityId, UUID uuid, Position position, EntityRotation rotation) { + super(connection, entityId, uuid, position, rotation); } @EntityMetaDataFunction(name = "Trusting") diff --git a/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/Panda.java b/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/Panda.java index 99f119eba..296802de0 100644 --- a/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/Panda.java +++ b/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/Panda.java @@ -15,7 +15,7 @@ package de.bixilon.minosoft.data.entities.entities.animal; import de.bixilon.minosoft.data.entities.EntityMetaDataFields; import de.bixilon.minosoft.data.entities.EntityRotation; -import de.bixilon.minosoft.data.entities.Location; +import de.bixilon.minosoft.data.entities.Position; import de.bixilon.minosoft.data.entities.entities.EntityMetaDataFunction; import de.bixilon.minosoft.protocol.network.Connection; @@ -23,8 +23,8 @@ import java.util.UUID; public class Panda extends Animal { - public Panda(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) { - super(connection, entityId, uuid, location, rotation); + public Panda(Connection connection, int entityId, UUID uuid, Position position, EntityRotation rotation) { + super(connection, entityId, uuid, position, rotation); } @EntityMetaDataFunction(name = "Unhappy timer") diff --git a/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/Parrot.java b/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/Parrot.java index 9adc702ec..1fc24f71c 100644 --- a/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/Parrot.java +++ b/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/Parrot.java @@ -15,7 +15,7 @@ package de.bixilon.minosoft.data.entities.entities.animal; import de.bixilon.minosoft.data.entities.EntityMetaDataFields; import de.bixilon.minosoft.data.entities.EntityRotation; -import de.bixilon.minosoft.data.entities.Location; +import de.bixilon.minosoft.data.entities.Position; import de.bixilon.minosoft.data.entities.entities.EntityMetaDataFunction; import de.bixilon.minosoft.protocol.network.Connection; @@ -23,8 +23,8 @@ import java.util.UUID; public class Parrot extends ShoulderRidingAnimal { - public Parrot(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) { - super(connection, entityId, uuid, location, rotation); + public Parrot(Connection connection, int entityId, UUID uuid, Position position, EntityRotation rotation) { + super(connection, entityId, uuid, position, rotation); } @EntityMetaDataFunction(name = "Variant") diff --git a/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/Pig.java b/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/Pig.java index 99befe8cf..62c00eee5 100644 --- a/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/Pig.java +++ b/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/Pig.java @@ -15,7 +15,7 @@ package de.bixilon.minosoft.data.entities.entities.animal; import de.bixilon.minosoft.data.entities.EntityMetaDataFields; import de.bixilon.minosoft.data.entities.EntityRotation; -import de.bixilon.minosoft.data.entities.Location; +import de.bixilon.minosoft.data.entities.Position; import de.bixilon.minosoft.data.entities.entities.EntityMetaDataFunction; import de.bixilon.minosoft.protocol.network.Connection; @@ -23,8 +23,8 @@ import java.util.UUID; public class Pig extends Animal { - public Pig(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) { - super(connection, entityId, uuid, location, rotation); + public Pig(Connection connection, int entityId, UUID uuid, Position position, EntityRotation rotation) { + super(connection, entityId, uuid, position, rotation); } @EntityMetaDataFunction(name = "Has saddle") diff --git a/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/PolarBear.java b/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/PolarBear.java index 637153d16..34aea5655 100644 --- a/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/PolarBear.java +++ b/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/PolarBear.java @@ -15,7 +15,7 @@ package de.bixilon.minosoft.data.entities.entities.animal; import de.bixilon.minosoft.data.entities.EntityMetaDataFields; import de.bixilon.minosoft.data.entities.EntityRotation; -import de.bixilon.minosoft.data.entities.Location; +import de.bixilon.minosoft.data.entities.Position; import de.bixilon.minosoft.data.entities.entities.EntityMetaDataFunction; import de.bixilon.minosoft.protocol.network.Connection; @@ -23,8 +23,8 @@ import java.util.UUID; public class PolarBear extends Animal { - public PolarBear(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) { - super(connection, entityId, uuid, location, rotation); + public PolarBear(Connection connection, int entityId, UUID uuid, Position position, EntityRotation rotation) { + super(connection, entityId, uuid, position, rotation); } @EntityMetaDataFunction(name = "Is standing") diff --git a/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/Rabbit.java b/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/Rabbit.java index e273935f3..5f14f162d 100644 --- a/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/Rabbit.java +++ b/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/Rabbit.java @@ -15,7 +15,7 @@ package de.bixilon.minosoft.data.entities.entities.animal; import de.bixilon.minosoft.data.entities.EntityMetaDataFields; import de.bixilon.minosoft.data.entities.EntityRotation; -import de.bixilon.minosoft.data.entities.Location; +import de.bixilon.minosoft.data.entities.Position; import de.bixilon.minosoft.data.entities.entities.EntityMetaDataFunction; import de.bixilon.minosoft.protocol.network.Connection; @@ -23,8 +23,8 @@ import java.util.UUID; public class Rabbit extends Animal { - public Rabbit(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) { - super(connection, entityId, uuid, location, rotation); + public Rabbit(Connection connection, int entityId, UUID uuid, Position position, EntityRotation rotation) { + super(connection, entityId, uuid, position, rotation); } @EntityMetaDataFunction(name = "Variant") diff --git a/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/Sheep.java b/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/Sheep.java index ca6d42007..6f44ceef0 100644 --- a/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/Sheep.java +++ b/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/Sheep.java @@ -15,7 +15,7 @@ package de.bixilon.minosoft.data.entities.entities.animal; import de.bixilon.minosoft.data.entities.EntityMetaDataFields; import de.bixilon.minosoft.data.entities.EntityRotation; -import de.bixilon.minosoft.data.entities.Location; +import de.bixilon.minosoft.data.entities.Position; import de.bixilon.minosoft.data.entities.entities.EntityMetaDataFunction; import de.bixilon.minosoft.data.text.ChatColors; import de.bixilon.minosoft.data.text.RGBColor; @@ -25,8 +25,8 @@ import java.util.UUID; public class Sheep extends Animal { - public Sheep(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) { - super(connection, entityId, uuid, location, rotation); + public Sheep(Connection connection, int entityId, UUID uuid, Position position, EntityRotation rotation) { + super(connection, entityId, uuid, position, rotation); } @EntityMetaDataFunction(name = "Color") diff --git a/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/ShoulderRidingAnimal.java b/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/ShoulderRidingAnimal.java index 1e984cb4a..78fe19173 100644 --- a/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/ShoulderRidingAnimal.java +++ b/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/ShoulderRidingAnimal.java @@ -14,7 +14,7 @@ package de.bixilon.minosoft.data.entities.entities.animal; import de.bixilon.minosoft.data.entities.EntityRotation; -import de.bixilon.minosoft.data.entities.Location; +import de.bixilon.minosoft.data.entities.Position; import de.bixilon.minosoft.data.entities.entities.TamableAnimal; import de.bixilon.minosoft.protocol.network.Connection; @@ -22,7 +22,7 @@ import java.util.UUID; public class ShoulderRidingAnimal extends TamableAnimal { - public ShoulderRidingAnimal(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) { - super(connection, entityId, uuid, location, rotation); + public ShoulderRidingAnimal(Connection connection, int entityId, UUID uuid, Position position, EntityRotation rotation) { + super(connection, entityId, uuid, position, rotation); } } diff --git a/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/SnowGolem.java b/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/SnowGolem.java index ccdbf3f5d..725b2154e 100644 --- a/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/SnowGolem.java +++ b/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/SnowGolem.java @@ -15,7 +15,7 @@ package de.bixilon.minosoft.data.entities.entities.animal; import de.bixilon.minosoft.data.entities.EntityMetaDataFields; import de.bixilon.minosoft.data.entities.EntityRotation; -import de.bixilon.minosoft.data.entities.Location; +import de.bixilon.minosoft.data.entities.Position; import de.bixilon.minosoft.data.entities.entities.EntityMetaDataFunction; import de.bixilon.minosoft.protocol.network.Connection; @@ -23,8 +23,8 @@ import java.util.UUID; public class SnowGolem extends AbstractGolem { - public SnowGolem(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) { - super(connection, entityId, uuid, location, rotation); + public SnowGolem(Connection connection, int entityId, UUID uuid, Position position, EntityRotation rotation) { + super(connection, entityId, uuid, position, rotation); } private boolean getPumpkinFlags(int bitMask) { diff --git a/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/Strider.java b/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/Strider.java index daa2687ae..b49a67e03 100644 --- a/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/Strider.java +++ b/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/Strider.java @@ -15,7 +15,7 @@ package de.bixilon.minosoft.data.entities.entities.animal; import de.bixilon.minosoft.data.entities.EntityMetaDataFields; import de.bixilon.minosoft.data.entities.EntityRotation; -import de.bixilon.minosoft.data.entities.Location; +import de.bixilon.minosoft.data.entities.Position; import de.bixilon.minosoft.data.entities.entities.EntityMetaDataFunction; import de.bixilon.minosoft.protocol.network.Connection; @@ -23,8 +23,8 @@ import java.util.UUID; public class Strider extends Animal { - public Strider(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) { - super(connection, entityId, uuid, location, rotation); + public Strider(Connection connection, int entityId, UUID uuid, Position position, EntityRotation rotation) { + super(connection, entityId, uuid, position, rotation); } @EntityMetaDataFunction(name = "Boost stime") diff --git a/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/Turtle.java b/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/Turtle.java index 39248d1bf..61cab4037 100644 --- a/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/Turtle.java +++ b/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/Turtle.java @@ -15,7 +15,7 @@ package de.bixilon.minosoft.data.entities.entities.animal; import de.bixilon.minosoft.data.entities.EntityMetaDataFields; import de.bixilon.minosoft.data.entities.EntityRotation; -import de.bixilon.minosoft.data.entities.Location; +import de.bixilon.minosoft.data.entities.Position; import de.bixilon.minosoft.data.entities.entities.EntityMetaDataFunction; import de.bixilon.minosoft.data.world.BlockPosition; import de.bixilon.minosoft.protocol.network.Connection; @@ -25,8 +25,8 @@ import java.util.UUID; public class Turtle extends Animal { - public Turtle(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) { - super(connection, entityId, uuid, location, rotation); + public Turtle(Connection connection, int entityId, UUID uuid, Position position, EntityRotation rotation) { + super(connection, entityId, uuid, position, rotation); } @EntityMetaDataFunction(name = "Home Position") diff --git a/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/Wolf.java b/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/Wolf.java index 3f260a43d..138cbc5d6 100644 --- a/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/Wolf.java +++ b/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/Wolf.java @@ -15,7 +15,7 @@ package de.bixilon.minosoft.data.entities.entities.animal; import de.bixilon.minosoft.data.entities.EntityMetaDataFields; import de.bixilon.minosoft.data.entities.EntityRotation; -import de.bixilon.minosoft.data.entities.Location; +import de.bixilon.minosoft.data.entities.Position; import de.bixilon.minosoft.data.entities.entities.EntityMetaDataFunction; import de.bixilon.minosoft.data.entities.entities.TamableAnimal; import de.bixilon.minosoft.data.text.ChatColors; @@ -29,8 +29,8 @@ import static de.bixilon.minosoft.protocol.protocol.ProtocolVersions.V_1_8_9; public class Wolf extends TamableAnimal { - public Wolf(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) { - super(connection, entityId, uuid, location, rotation); + public Wolf(Connection connection, int entityId, UUID uuid, Position position, EntityRotation rotation) { + super(connection, entityId, uuid, position, rotation); } @EntityMetaDataFunction(name = "Is beging") diff --git a/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/hoglin/Hoglin.java b/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/hoglin/Hoglin.java index 3f6af58e2..8e53b302f 100644 --- a/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/hoglin/Hoglin.java +++ b/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/hoglin/Hoglin.java @@ -15,7 +15,7 @@ package de.bixilon.minosoft.data.entities.entities.animal.hoglin; import de.bixilon.minosoft.data.entities.EntityMetaDataFields; import de.bixilon.minosoft.data.entities.EntityRotation; -import de.bixilon.minosoft.data.entities.Location; +import de.bixilon.minosoft.data.entities.Position; import de.bixilon.minosoft.data.entities.entities.EntityMetaDataFunction; import de.bixilon.minosoft.data.entities.entities.animal.Animal; import de.bixilon.minosoft.protocol.network.Connection; @@ -24,8 +24,8 @@ import java.util.UUID; public class Hoglin extends Animal { - public Hoglin(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) { - super(connection, entityId, uuid, location, rotation); + public Hoglin(Connection connection, int entityId, UUID uuid, Position position, EntityRotation rotation) { + super(connection, entityId, uuid, position, rotation); } @EntityMetaDataFunction(name = "Immune zo zombification") diff --git a/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/horse/AbstractChestedHorse.java b/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/horse/AbstractChestedHorse.java index 9aa766f60..bc4881a02 100644 --- a/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/horse/AbstractChestedHorse.java +++ b/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/horse/AbstractChestedHorse.java @@ -15,7 +15,7 @@ package de.bixilon.minosoft.data.entities.entities.animal.horse; import de.bixilon.minosoft.data.entities.EntityMetaDataFields; import de.bixilon.minosoft.data.entities.EntityRotation; -import de.bixilon.minosoft.data.entities.Location; +import de.bixilon.minosoft.data.entities.Position; import de.bixilon.minosoft.data.entities.entities.EntityMetaDataFunction; import de.bixilon.minosoft.protocol.network.Connection; @@ -23,8 +23,8 @@ import java.util.UUID; public abstract class AbstractChestedHorse extends AbstractHorse { - public AbstractChestedHorse(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) { - super(connection, entityId, uuid, location, rotation); + public AbstractChestedHorse(Connection connection, int entityId, UUID uuid, Position position, EntityRotation rotation) { + super(connection, entityId, uuid, position, rotation); } @EntityMetaDataFunction(name = "Has chest") diff --git a/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/horse/AbstractHorse.java b/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/horse/AbstractHorse.java index 30016697e..b129e4ac9 100644 --- a/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/horse/AbstractHorse.java +++ b/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/horse/AbstractHorse.java @@ -15,7 +15,7 @@ package de.bixilon.minosoft.data.entities.entities.animal.horse; import de.bixilon.minosoft.data.entities.EntityMetaDataFields; import de.bixilon.minosoft.data.entities.EntityRotation; -import de.bixilon.minosoft.data.entities.Location; +import de.bixilon.minosoft.data.entities.Position; import de.bixilon.minosoft.data.entities.entities.EntityMetaDataFunction; import de.bixilon.minosoft.data.entities.entities.animal.Animal; import de.bixilon.minosoft.protocol.network.Connection; @@ -25,8 +25,8 @@ import java.util.UUID; public abstract class AbstractHorse extends Animal { - public AbstractHorse(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) { - super(connection, entityId, uuid, location, rotation); + public AbstractHorse(Connection connection, int entityId, UUID uuid, Position position, EntityRotation rotation) { + super(connection, entityId, uuid, position, rotation); } private boolean getAbstractHorseFlag(int bitMask) { diff --git a/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/horse/Donkey.java b/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/horse/Donkey.java index d8dae945e..06e6d8ef0 100644 --- a/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/horse/Donkey.java +++ b/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/horse/Donkey.java @@ -14,14 +14,14 @@ package de.bixilon.minosoft.data.entities.entities.animal.horse; import de.bixilon.minosoft.data.entities.EntityRotation; -import de.bixilon.minosoft.data.entities.Location; +import de.bixilon.minosoft.data.entities.Position; import de.bixilon.minosoft.protocol.network.Connection; import java.util.UUID; public class Donkey extends AbstractChestedHorse { - public Donkey(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) { - super(connection, entityId, uuid, location, rotation); + public Donkey(Connection connection, int entityId, UUID uuid, Position position, EntityRotation rotation) { + super(connection, entityId, uuid, position, rotation); } } diff --git a/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/horse/Horse.kt b/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/horse/Horse.kt index b74d71061..9b702c829 100644 --- a/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/horse/Horse.kt +++ b/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/horse/Horse.kt @@ -14,7 +14,7 @@ package de.bixilon.minosoft.data.entities.entities.animal.horse import de.bixilon.minosoft.data.entities.EntityMetaDataFields import de.bixilon.minosoft.data.entities.EntityRotation -import de.bixilon.minosoft.data.entities.Location +import de.bixilon.minosoft.data.entities.Position import de.bixilon.minosoft.data.entities.entities.EntityMetaDataFunction import de.bixilon.minosoft.data.mappings.Item import de.bixilon.minosoft.data.mappings.ResourceLocation @@ -22,7 +22,7 @@ import de.bixilon.minosoft.protocol.network.Connection import de.bixilon.minosoft.protocol.protocol.ProtocolVersions import java.util.* -class Horse(connection: Connection?, entityId: Int, uuid: UUID?, location: Location?, rotation: EntityRotation?) : AbstractHorse(connection, entityId, uuid, location, rotation) { +class Horse(connection: Connection?, entityId: Int, uuid: UUID?, location: Position?, rotation: EntityRotation?) : AbstractHorse(connection, entityId, uuid, location, rotation) { private fun getAbstractHorseFlag(bitMask: Int): Boolean { return metaData.sets.getBitMask(EntityMetaDataFields.ABSTRACT_HORSE_FLAGS, bitMask) diff --git a/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/horse/Llama.java b/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/horse/Llama.java index 9152bdeeb..481828e03 100644 --- a/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/horse/Llama.java +++ b/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/horse/Llama.java @@ -15,7 +15,7 @@ package de.bixilon.minosoft.data.entities.entities.animal.horse; import de.bixilon.minosoft.data.entities.EntityMetaDataFields; import de.bixilon.minosoft.data.entities.EntityRotation; -import de.bixilon.minosoft.data.entities.Location; +import de.bixilon.minosoft.data.entities.Position; import de.bixilon.minosoft.data.entities.entities.EntityMetaDataFunction; import de.bixilon.minosoft.protocol.network.Connection; @@ -23,8 +23,8 @@ import java.util.UUID; public class Llama extends AbstractChestedHorse { - public Llama(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) { - super(connection, entityId, uuid, location, rotation); + public Llama(Connection connection, int entityId, UUID uuid, Position position, EntityRotation rotation) { + super(connection, entityId, uuid, position, rotation); } @EntityMetaDataFunction(name = "Strength") diff --git a/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/horse/Mule.java b/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/horse/Mule.java index 2ede9cc44..f745d8622 100644 --- a/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/horse/Mule.java +++ b/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/horse/Mule.java @@ -14,14 +14,14 @@ package de.bixilon.minosoft.data.entities.entities.animal.horse; import de.bixilon.minosoft.data.entities.EntityRotation; -import de.bixilon.minosoft.data.entities.Location; +import de.bixilon.minosoft.data.entities.Position; import de.bixilon.minosoft.protocol.network.Connection; import java.util.UUID; public class Mule extends AbstractChestedHorse { - public Mule(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) { - super(connection, entityId, uuid, location, rotation); + public Mule(Connection connection, int entityId, UUID uuid, Position position, EntityRotation rotation) { + super(connection, entityId, uuid, position, rotation); } } diff --git a/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/horse/SkeletonHorse.java b/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/horse/SkeletonHorse.java index 2ea9d043b..9a0ba2bc8 100644 --- a/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/horse/SkeletonHorse.java +++ b/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/horse/SkeletonHorse.java @@ -14,14 +14,14 @@ package de.bixilon.minosoft.data.entities.entities.animal.horse; import de.bixilon.minosoft.data.entities.EntityRotation; -import de.bixilon.minosoft.data.entities.Location; +import de.bixilon.minosoft.data.entities.Position; import de.bixilon.minosoft.protocol.network.Connection; import java.util.UUID; public class SkeletonHorse extends AbstractHorse { - public SkeletonHorse(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) { - super(connection, entityId, uuid, location, rotation); + public SkeletonHorse(Connection connection, int entityId, UUID uuid, Position position, EntityRotation rotation) { + super(connection, entityId, uuid, position, rotation); } } diff --git a/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/horse/TraderLlama.java b/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/horse/TraderLlama.java index 8838d39fc..fc996328e 100644 --- a/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/horse/TraderLlama.java +++ b/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/horse/TraderLlama.java @@ -14,14 +14,14 @@ package de.bixilon.minosoft.data.entities.entities.animal.horse; import de.bixilon.minosoft.data.entities.EntityRotation; -import de.bixilon.minosoft.data.entities.Location; +import de.bixilon.minosoft.data.entities.Position; import de.bixilon.minosoft.protocol.network.Connection; import java.util.UUID; public class TraderLlama extends Llama { - public TraderLlama(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) { - super(connection, entityId, uuid, location, rotation); + public TraderLlama(Connection connection, int entityId, UUID uuid, Position position, EntityRotation rotation) { + super(connection, entityId, uuid, position, rotation); } } diff --git a/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/horse/ZombieHorse.java b/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/horse/ZombieHorse.java index 67bc330eb..a83dcfddf 100644 --- a/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/horse/ZombieHorse.java +++ b/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/horse/ZombieHorse.java @@ -14,14 +14,14 @@ package de.bixilon.minosoft.data.entities.entities.animal.horse; import de.bixilon.minosoft.data.entities.EntityRotation; -import de.bixilon.minosoft.data.entities.Location; +import de.bixilon.minosoft.data.entities.Position; import de.bixilon.minosoft.protocol.network.Connection; import java.util.UUID; public class ZombieHorse extends AbstractHorse { - public ZombieHorse(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) { - super(connection, entityId, uuid, location, rotation); + public ZombieHorse(Connection connection, int entityId, UUID uuid, Position position, EntityRotation rotation) { + super(connection, entityId, uuid, position, rotation); } } diff --git a/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/water/AbstractFish.java b/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/water/AbstractFish.java index d9d98ea2b..9d4936b61 100644 --- a/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/water/AbstractFish.java +++ b/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/water/AbstractFish.java @@ -15,7 +15,7 @@ package de.bixilon.minosoft.data.entities.entities.animal.water; import de.bixilon.minosoft.data.entities.EntityMetaDataFields; import de.bixilon.minosoft.data.entities.EntityRotation; -import de.bixilon.minosoft.data.entities.Location; +import de.bixilon.minosoft.data.entities.Position; import de.bixilon.minosoft.data.entities.entities.EntityMetaDataFunction; import de.bixilon.minosoft.protocol.network.Connection; @@ -23,8 +23,8 @@ import java.util.UUID; public abstract class AbstractFish extends WaterAnimal { - public AbstractFish(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) { - super(connection, entityId, uuid, location, rotation); + public AbstractFish(Connection connection, int entityId, UUID uuid, Position position, EntityRotation rotation) { + super(connection, entityId, uuid, position, rotation); } @EntityMetaDataFunction(name = "Is from bucket") diff --git a/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/water/AbstractSchoolingFish.java b/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/water/AbstractSchoolingFish.java index aa1870639..a79d5f191 100644 --- a/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/water/AbstractSchoolingFish.java +++ b/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/water/AbstractSchoolingFish.java @@ -14,15 +14,15 @@ package de.bixilon.minosoft.data.entities.entities.animal.water; import de.bixilon.minosoft.data.entities.EntityRotation; -import de.bixilon.minosoft.data.entities.Location; +import de.bixilon.minosoft.data.entities.Position; import de.bixilon.minosoft.protocol.network.Connection; import java.util.UUID; public abstract class AbstractSchoolingFish extends AbstractFish { - public AbstractSchoolingFish(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) { - super(connection, entityId, uuid, location, rotation); + public AbstractSchoolingFish(Connection connection, int entityId, UUID uuid, Position position, EntityRotation rotation) { + super(connection, entityId, uuid, position, rotation); } } diff --git a/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/water/Cod.java b/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/water/Cod.java index fc6f100ff..ae04b3e09 100644 --- a/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/water/Cod.java +++ b/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/water/Cod.java @@ -14,14 +14,14 @@ package de.bixilon.minosoft.data.entities.entities.animal.water; import de.bixilon.minosoft.data.entities.EntityRotation; -import de.bixilon.minosoft.data.entities.Location; +import de.bixilon.minosoft.data.entities.Position; import de.bixilon.minosoft.protocol.network.Connection; import java.util.UUID; public class Cod extends AbstractSchoolingFish { - public Cod(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) { - super(connection, entityId, uuid, location, rotation); + public Cod(Connection connection, int entityId, UUID uuid, Position position, EntityRotation rotation) { + super(connection, entityId, uuid, position, rotation); } } diff --git a/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/water/Dolphin.java b/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/water/Dolphin.java index 287821d65..fc354feaf 100644 --- a/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/water/Dolphin.java +++ b/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/water/Dolphin.java @@ -15,7 +15,7 @@ package de.bixilon.minosoft.data.entities.entities.animal.water; import de.bixilon.minosoft.data.entities.EntityMetaDataFields; import de.bixilon.minosoft.data.entities.EntityRotation; -import de.bixilon.minosoft.data.entities.Location; +import de.bixilon.minosoft.data.entities.Position; import de.bixilon.minosoft.data.entities.entities.EntityMetaDataFunction; import de.bixilon.minosoft.data.world.BlockPosition; import de.bixilon.minosoft.protocol.network.Connection; @@ -25,8 +25,8 @@ import java.util.UUID; public class Dolphin extends WaterAnimal { - public Dolphin(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) { - super(connection, entityId, uuid, location, rotation); + public Dolphin(Connection connection, int entityId, UUID uuid, Position position, EntityRotation rotation) { + super(connection, entityId, uuid, position, rotation); } @EntityMetaDataFunction(name = "Treasure position") diff --git a/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/water/GlowSquid.java b/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/water/GlowSquid.java index 1344ad0ca..52295b1e7 100644 --- a/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/water/GlowSquid.java +++ b/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/water/GlowSquid.java @@ -15,7 +15,7 @@ package de.bixilon.minosoft.data.entities.entities.animal.water; import de.bixilon.minosoft.data.entities.EntityMetaDataFields; import de.bixilon.minosoft.data.entities.EntityRotation; -import de.bixilon.minosoft.data.entities.Location; +import de.bixilon.minosoft.data.entities.Position; import de.bixilon.minosoft.data.entities.entities.EntityMetaDataFunction; import de.bixilon.minosoft.protocol.network.Connection; @@ -23,8 +23,8 @@ import java.util.UUID; public class GlowSquid extends Squid { - public GlowSquid(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) { - super(connection, entityId, uuid, location, rotation); + public GlowSquid(Connection connection, int entityId, UUID uuid, Position position, EntityRotation rotation) { + super(connection, entityId, uuid, position, rotation); } @EntityMetaDataFunction(name = "Dark ticks remaining") diff --git a/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/water/PufferFish.java b/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/water/PufferFish.java index d6e17cdb5..c2c241843 100644 --- a/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/water/PufferFish.java +++ b/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/water/PufferFish.java @@ -15,7 +15,7 @@ package de.bixilon.minosoft.data.entities.entities.animal.water; import de.bixilon.minosoft.data.entities.EntityMetaDataFields; import de.bixilon.minosoft.data.entities.EntityRotation; -import de.bixilon.minosoft.data.entities.Location; +import de.bixilon.minosoft.data.entities.Position; import de.bixilon.minosoft.data.entities.entities.EntityMetaDataFunction; import de.bixilon.minosoft.protocol.network.Connection; @@ -23,8 +23,8 @@ import java.util.UUID; public class PufferFish extends AbstractFish { - public PufferFish(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) { - super(connection, entityId, uuid, location, rotation); + public PufferFish(Connection connection, int entityId, UUID uuid, Position position, EntityRotation rotation) { + super(connection, entityId, uuid, position, rotation); } @EntityMetaDataFunction(name = "Puff state") diff --git a/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/water/Salmon.java b/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/water/Salmon.java index 13708131a..53f826832 100644 --- a/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/water/Salmon.java +++ b/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/water/Salmon.java @@ -14,14 +14,14 @@ package de.bixilon.minosoft.data.entities.entities.animal.water; import de.bixilon.minosoft.data.entities.EntityRotation; -import de.bixilon.minosoft.data.entities.Location; +import de.bixilon.minosoft.data.entities.Position; import de.bixilon.minosoft.protocol.network.Connection; import java.util.UUID; public class Salmon extends AbstractSchoolingFish { - public Salmon(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) { - super(connection, entityId, uuid, location, rotation); + public Salmon(Connection connection, int entityId, UUID uuid, Position position, EntityRotation rotation) { + super(connection, entityId, uuid, position, rotation); } } diff --git a/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/water/Squid.java b/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/water/Squid.java index 746b913b3..92d8e70e1 100644 --- a/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/water/Squid.java +++ b/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/water/Squid.java @@ -14,15 +14,15 @@ package de.bixilon.minosoft.data.entities.entities.animal.water; import de.bixilon.minosoft.data.entities.EntityRotation; -import de.bixilon.minosoft.data.entities.Location; +import de.bixilon.minosoft.data.entities.Position; import de.bixilon.minosoft.protocol.network.Connection; import java.util.UUID; public class Squid extends WaterAnimal { - public Squid(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) { - super(connection, entityId, uuid, location, rotation); + public Squid(Connection connection, int entityId, UUID uuid, Position position, EntityRotation rotation) { + super(connection, entityId, uuid, position, rotation); } } diff --git a/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/water/TropicalFish.java b/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/water/TropicalFish.java index a2e393635..da5b4d627 100644 --- a/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/water/TropicalFish.java +++ b/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/water/TropicalFish.java @@ -15,7 +15,7 @@ package de.bixilon.minosoft.data.entities.entities.animal.water; import de.bixilon.minosoft.data.entities.EntityMetaDataFields; import de.bixilon.minosoft.data.entities.EntityRotation; -import de.bixilon.minosoft.data.entities.Location; +import de.bixilon.minosoft.data.entities.Position; import de.bixilon.minosoft.data.entities.entities.EntityMetaDataFunction; import de.bixilon.minosoft.protocol.network.Connection; @@ -23,8 +23,8 @@ import java.util.UUID; public class TropicalFish extends AbstractSchoolingFish { - public TropicalFish(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) { - super(connection, entityId, uuid, location, rotation); + public TropicalFish(Connection connection, int entityId, UUID uuid, Position position, EntityRotation rotation) { + super(connection, entityId, uuid, position, rotation); } @EntityMetaDataFunction(name = "Variant") diff --git a/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/water/WaterAnimal.java b/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/water/WaterAnimal.java index 988d9f0f8..857ee5053 100644 --- a/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/water/WaterAnimal.java +++ b/src/main/java/de/bixilon/minosoft/data/entities/entities/animal/water/WaterAnimal.java @@ -14,7 +14,7 @@ package de.bixilon.minosoft.data.entities.entities.animal.water; import de.bixilon.minosoft.data.entities.EntityRotation; -import de.bixilon.minosoft.data.entities.Location; +import de.bixilon.minosoft.data.entities.Position; import de.bixilon.minosoft.data.entities.entities.PathfinderMob; import de.bixilon.minosoft.protocol.network.Connection; @@ -22,8 +22,8 @@ import java.util.UUID; public abstract class WaterAnimal extends PathfinderMob { - public WaterAnimal(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) { - super(connection, entityId, uuid, location, rotation); + public WaterAnimal(Connection connection, int entityId, UUID uuid, Position position, EntityRotation rotation) { + super(connection, entityId, uuid, position, rotation); } } diff --git a/src/main/java/de/bixilon/minosoft/data/entities/entities/boss/enderdragon/EndCrystal.java b/src/main/java/de/bixilon/minosoft/data/entities/entities/boss/enderdragon/EndCrystal.java index aa6468174..31b008454 100644 --- a/src/main/java/de/bixilon/minosoft/data/entities/entities/boss/enderdragon/EndCrystal.java +++ b/src/main/java/de/bixilon/minosoft/data/entities/entities/boss/enderdragon/EndCrystal.java @@ -15,7 +15,7 @@ package de.bixilon.minosoft.data.entities.entities.boss.enderdragon; import de.bixilon.minosoft.data.entities.EntityMetaDataFields; import de.bixilon.minosoft.data.entities.EntityRotation; -import de.bixilon.minosoft.data.entities.Location; +import de.bixilon.minosoft.data.entities.Position; import de.bixilon.minosoft.data.entities.entities.Entity; import de.bixilon.minosoft.data.entities.entities.EntityMetaDataFunction; import de.bixilon.minosoft.data.world.BlockPosition; @@ -26,8 +26,8 @@ import java.util.UUID; public class EndCrystal extends Entity { - public EndCrystal(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) { - super(connection, entityId, uuid, location, rotation); + public EndCrystal(Connection connection, int entityId, UUID uuid, Position position, EntityRotation rotation) { + super(connection, entityId, uuid, position, rotation); } @EntityMetaDataFunction(name = "Beam target") diff --git a/src/main/java/de/bixilon/minosoft/data/entities/entities/boss/enderdragon/EnderDragon.java b/src/main/java/de/bixilon/minosoft/data/entities/entities/boss/enderdragon/EnderDragon.java index d713fa823..3ab996e55 100644 --- a/src/main/java/de/bixilon/minosoft/data/entities/entities/boss/enderdragon/EnderDragon.java +++ b/src/main/java/de/bixilon/minosoft/data/entities/entities/boss/enderdragon/EnderDragon.java @@ -15,7 +15,7 @@ package de.bixilon.minosoft.data.entities.entities.boss.enderdragon; import de.bixilon.minosoft.data.entities.EntityMetaDataFields; import de.bixilon.minosoft.data.entities.EntityRotation; -import de.bixilon.minosoft.data.entities.Location; +import de.bixilon.minosoft.data.entities.Position; import de.bixilon.minosoft.data.entities.entities.EntityMetaDataFunction; import de.bixilon.minosoft.data.entities.entities.Mob; import de.bixilon.minosoft.protocol.network.Connection; @@ -24,8 +24,8 @@ import java.util.UUID; public class EnderDragon extends Mob { - public EnderDragon(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) { - super(connection, entityId, uuid, location, rotation); + public EnderDragon(Connection connection, int entityId, UUID uuid, Position position, EntityRotation rotation) { + super(connection, entityId, uuid, position, rotation); } @EntityMetaDataFunction(name = "Phase") diff --git a/src/main/java/de/bixilon/minosoft/data/entities/entities/boss/wither/WitherBoss.java b/src/main/java/de/bixilon/minosoft/data/entities/entities/boss/wither/WitherBoss.java index 3ce82c6bc..408351db9 100644 --- a/src/main/java/de/bixilon/minosoft/data/entities/entities/boss/wither/WitherBoss.java +++ b/src/main/java/de/bixilon/minosoft/data/entities/entities/boss/wither/WitherBoss.java @@ -15,7 +15,7 @@ package de.bixilon.minosoft.data.entities.entities.boss.wither; import de.bixilon.minosoft.data.entities.EntityMetaDataFields; import de.bixilon.minosoft.data.entities.EntityRotation; -import de.bixilon.minosoft.data.entities.Location; +import de.bixilon.minosoft.data.entities.Position; import de.bixilon.minosoft.data.entities.entities.EntityMetaDataFunction; import de.bixilon.minosoft.data.entities.entities.monster.Monster; import de.bixilon.minosoft.protocol.network.Connection; @@ -24,8 +24,8 @@ import java.util.UUID; public class WitherBoss extends Monster { - public WitherBoss(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) { - super(connection, entityId, uuid, location, rotation); + public WitherBoss(Connection connection, int entityId, UUID uuid, Position position, EntityRotation rotation) { + super(connection, entityId, uuid, position, rotation); } @EntityMetaDataFunction(name = "Center head target entity id") diff --git a/src/main/java/de/bixilon/minosoft/data/entities/entities/decoration/ArmorStand.java b/src/main/java/de/bixilon/minosoft/data/entities/entities/decoration/ArmorStand.java index 4693d42c3..2450c4209 100644 --- a/src/main/java/de/bixilon/minosoft/data/entities/entities/decoration/ArmorStand.java +++ b/src/main/java/de/bixilon/minosoft/data/entities/entities/decoration/ArmorStand.java @@ -15,7 +15,7 @@ package de.bixilon.minosoft.data.entities.entities.decoration; import de.bixilon.minosoft.data.entities.EntityMetaDataFields; import de.bixilon.minosoft.data.entities.EntityRotation; -import de.bixilon.minosoft.data.entities.Location; +import de.bixilon.minosoft.data.entities.Position; import de.bixilon.minosoft.data.entities.entities.EntityMetaDataFunction; import de.bixilon.minosoft.data.entities.entities.LivingEntity; import de.bixilon.minosoft.protocol.network.Connection; @@ -24,8 +24,8 @@ import java.util.UUID; public class ArmorStand extends LivingEntity { - public ArmorStand(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) { - super(connection, entityId, uuid, location, rotation); + public ArmorStand(Connection connection, int entityId, UUID uuid, Position position, EntityRotation rotation) { + super(connection, entityId, uuid, position, rotation); } private boolean getArmorStandFlag(int bitMask) { diff --git a/src/main/java/de/bixilon/minosoft/data/entities/entities/decoration/HangingEntity.java b/src/main/java/de/bixilon/minosoft/data/entities/entities/decoration/HangingEntity.java index 9a6208eab..beca9fbc7 100644 --- a/src/main/java/de/bixilon/minosoft/data/entities/entities/decoration/HangingEntity.java +++ b/src/main/java/de/bixilon/minosoft/data/entities/entities/decoration/HangingEntity.java @@ -14,7 +14,7 @@ package de.bixilon.minosoft.data.entities.entities.decoration; import de.bixilon.minosoft.data.entities.EntityRotation; -import de.bixilon.minosoft.data.entities.Location; +import de.bixilon.minosoft.data.entities.Position; import de.bixilon.minosoft.data.entities.entities.Entity; import de.bixilon.minosoft.protocol.network.Connection; @@ -22,8 +22,8 @@ import java.util.UUID; public abstract class HangingEntity extends Entity { - public HangingEntity(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) { - super(connection, entityId, uuid, location, rotation); + public HangingEntity(Connection connection, int entityId, UUID uuid, Position position, EntityRotation rotation) { + super(connection, entityId, uuid, position, rotation); } } diff --git a/src/main/java/de/bixilon/minosoft/data/entities/entities/decoration/ItemFrame.java b/src/main/java/de/bixilon/minosoft/data/entities/entities/decoration/ItemFrame.java index 6acad8c09..70fc4f9f1 100644 --- a/src/main/java/de/bixilon/minosoft/data/entities/entities/decoration/ItemFrame.java +++ b/src/main/java/de/bixilon/minosoft/data/entities/entities/decoration/ItemFrame.java @@ -15,7 +15,7 @@ package de.bixilon.minosoft.data.entities.entities.decoration; import de.bixilon.minosoft.data.entities.EntityMetaDataFields; import de.bixilon.minosoft.data.entities.EntityRotation; -import de.bixilon.minosoft.data.entities.Location; +import de.bixilon.minosoft.data.entities.Position; import de.bixilon.minosoft.data.entities.entities.EntityMetaDataFunction; import de.bixilon.minosoft.data.inventory.Slot; import de.bixilon.minosoft.protocol.network.Connection; @@ -25,8 +25,8 @@ import java.util.UUID; public class ItemFrame extends HangingEntity { - public ItemFrame(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) { - super(connection, entityId, uuid, location, rotation); + public ItemFrame(Connection connection, int entityId, UUID uuid, Position position, EntityRotation rotation) { + super(connection, entityId, uuid, position, rotation); } @EntityMetaDataFunction(name = "Item") diff --git a/src/main/java/de/bixilon/minosoft/data/entities/entities/decoration/LeashFenceKnotEntity.java b/src/main/java/de/bixilon/minosoft/data/entities/entities/decoration/LeashFenceKnotEntity.java index e75b8a9bd..b0b337ce0 100644 --- a/src/main/java/de/bixilon/minosoft/data/entities/entities/decoration/LeashFenceKnotEntity.java +++ b/src/main/java/de/bixilon/minosoft/data/entities/entities/decoration/LeashFenceKnotEntity.java @@ -14,14 +14,14 @@ package de.bixilon.minosoft.data.entities.entities.decoration; import de.bixilon.minosoft.data.entities.EntityRotation; -import de.bixilon.minosoft.data.entities.Location; +import de.bixilon.minosoft.data.entities.Position; import de.bixilon.minosoft.protocol.network.Connection; import java.util.UUID; public class LeashFenceKnotEntity extends HangingEntity { - public LeashFenceKnotEntity(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) { - super(connection, entityId, uuid, location, rotation); + public LeashFenceKnotEntity(Connection connection, int entityId, UUID uuid, Position position, EntityRotation rotation) { + super(connection, entityId, uuid, position, rotation); } } diff --git a/src/main/java/de/bixilon/minosoft/data/entities/entities/decoration/Painting.kt b/src/main/java/de/bixilon/minosoft/data/entities/entities/decoration/Painting.kt index feb1fe0eb..ebe5f8f61 100644 --- a/src/main/java/de/bixilon/minosoft/data/entities/entities/decoration/Painting.kt +++ b/src/main/java/de/bixilon/minosoft/data/entities/entities/decoration/Painting.kt @@ -14,7 +14,7 @@ package de.bixilon.minosoft.data.entities.entities.decoration import de.bixilon.minosoft.data.Directions import de.bixilon.minosoft.data.entities.EntityRotation -import de.bixilon.minosoft.data.entities.Location.Companion.fromPosition +import de.bixilon.minosoft.data.entities.Position.Companion.fromPosition import de.bixilon.minosoft.data.entities.entities.Entity import de.bixilon.minosoft.data.entities.entities.EntityMetaDataFunction import de.bixilon.minosoft.data.mappings.Motive diff --git a/src/main/java/de/bixilon/minosoft/data/entities/entities/item/FallingBlock.java b/src/main/java/de/bixilon/minosoft/data/entities/entities/item/FallingBlock.java index 0c2080f5e..a09edc54f 100644 --- a/src/main/java/de/bixilon/minosoft/data/entities/entities/item/FallingBlock.java +++ b/src/main/java/de/bixilon/minosoft/data/entities/entities/item/FallingBlock.java @@ -15,7 +15,7 @@ package de.bixilon.minosoft.data.entities.entities.item; import de.bixilon.minosoft.data.entities.EntityMetaDataFields; import de.bixilon.minosoft.data.entities.EntityRotation; -import de.bixilon.minosoft.data.entities.Location; +import de.bixilon.minosoft.data.entities.Position; import de.bixilon.minosoft.data.entities.entities.Entity; import de.bixilon.minosoft.data.entities.entities.EntityMetaDataFunction; import de.bixilon.minosoft.data.world.BlockPosition; @@ -26,8 +26,8 @@ import java.util.UUID; public class FallingBlock extends Entity { - public FallingBlock(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) { - super(connection, entityId, uuid, location, rotation); + public FallingBlock(Connection connection, int entityId, UUID uuid, Position position, EntityRotation rotation) { + super(connection, entityId, uuid, position, rotation); } @EntityMetaDataFunction(name = "Spawn position") diff --git a/src/main/java/de/bixilon/minosoft/data/entities/entities/item/ItemEntity.java b/src/main/java/de/bixilon/minosoft/data/entities/entities/item/ItemEntity.java index 539ae655f..70519d358 100644 --- a/src/main/java/de/bixilon/minosoft/data/entities/entities/item/ItemEntity.java +++ b/src/main/java/de/bixilon/minosoft/data/entities/entities/item/ItemEntity.java @@ -15,7 +15,7 @@ package de.bixilon.minosoft.data.entities.entities.item; import de.bixilon.minosoft.data.entities.EntityMetaDataFields; import de.bixilon.minosoft.data.entities.EntityRotation; -import de.bixilon.minosoft.data.entities.Location; +import de.bixilon.minosoft.data.entities.Position; import de.bixilon.minosoft.data.entities.entities.Entity; import de.bixilon.minosoft.data.entities.entities.EntityMetaDataFunction; import de.bixilon.minosoft.data.inventory.Slot; @@ -26,8 +26,8 @@ import java.util.UUID; public class ItemEntity extends Entity { - public ItemEntity(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) { - super(connection, entityId, uuid, location, rotation); + public ItemEntity(Connection connection, int entityId, UUID uuid, Position position, EntityRotation rotation) { + super(connection, entityId, uuid, position, rotation); } @EntityMetaDataFunction(name = "Item") diff --git a/src/main/java/de/bixilon/minosoft/data/entities/entities/item/PrimedTNT.java b/src/main/java/de/bixilon/minosoft/data/entities/entities/item/PrimedTNT.java index 85d8bb60e..2e22df2f5 100644 --- a/src/main/java/de/bixilon/minosoft/data/entities/entities/item/PrimedTNT.java +++ b/src/main/java/de/bixilon/minosoft/data/entities/entities/item/PrimedTNT.java @@ -15,7 +15,7 @@ package de.bixilon.minosoft.data.entities.entities.item; import de.bixilon.minosoft.data.entities.EntityMetaDataFields; import de.bixilon.minosoft.data.entities.EntityRotation; -import de.bixilon.minosoft.data.entities.Location; +import de.bixilon.minosoft.data.entities.Position; import de.bixilon.minosoft.data.entities.entities.Entity; import de.bixilon.minosoft.data.entities.entities.EntityMetaDataFunction; import de.bixilon.minosoft.protocol.network.Connection; @@ -24,8 +24,8 @@ import java.util.UUID; public class PrimedTNT extends Entity { - public PrimedTNT(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) { - super(connection, entityId, uuid, location, rotation); + public PrimedTNT(Connection connection, int entityId, UUID uuid, Position position, EntityRotation rotation) { + super(connection, entityId, uuid, position, rotation); } @EntityMetaDataFunction(name = "Fuse time") diff --git a/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/AbstractSkeleton.java b/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/AbstractSkeleton.java index 1deeb23bc..3b3887748 100644 --- a/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/AbstractSkeleton.java +++ b/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/AbstractSkeleton.java @@ -14,14 +14,14 @@ package de.bixilon.minosoft.data.entities.entities.monster; import de.bixilon.minosoft.data.entities.EntityRotation; -import de.bixilon.minosoft.data.entities.Location; +import de.bixilon.minosoft.data.entities.Position; import de.bixilon.minosoft.protocol.network.Connection; import java.util.UUID; public abstract class AbstractSkeleton extends Monster { - public AbstractSkeleton(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) { - super(connection, entityId, uuid, location, rotation); + public AbstractSkeleton(Connection connection, int entityId, UUID uuid, Position position, EntityRotation rotation) { + super(connection, entityId, uuid, position, rotation); } } diff --git a/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/Blaze.java b/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/Blaze.java index dbd602de0..8f3b75d15 100644 --- a/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/Blaze.java +++ b/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/Blaze.java @@ -15,7 +15,7 @@ package de.bixilon.minosoft.data.entities.entities.monster; import de.bixilon.minosoft.data.entities.EntityMetaDataFields; import de.bixilon.minosoft.data.entities.EntityRotation; -import de.bixilon.minosoft.data.entities.Location; +import de.bixilon.minosoft.data.entities.Position; import de.bixilon.minosoft.data.entities.entities.EntityMetaDataFunction; import de.bixilon.minosoft.protocol.network.Connection; @@ -23,8 +23,8 @@ import java.util.UUID; public class Blaze extends Monster { - public Blaze(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) { - super(connection, entityId, uuid, location, rotation); + public Blaze(Connection connection, int entityId, UUID uuid, Position position, EntityRotation rotation) { + super(connection, entityId, uuid, position, rotation); } private boolean getBlazeFlag(int bitMask) { diff --git a/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/CaveSpider.java b/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/CaveSpider.java index 90470aaa3..1fbcf3ad6 100644 --- a/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/CaveSpider.java +++ b/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/CaveSpider.java @@ -14,14 +14,14 @@ package de.bixilon.minosoft.data.entities.entities.monster; import de.bixilon.minosoft.data.entities.EntityRotation; -import de.bixilon.minosoft.data.entities.Location; +import de.bixilon.minosoft.data.entities.Position; import de.bixilon.minosoft.protocol.network.Connection; import java.util.UUID; public class CaveSpider extends Spider { - public CaveSpider(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) { - super(connection, entityId, uuid, location, rotation); + public CaveSpider(Connection connection, int entityId, UUID uuid, Position position, EntityRotation rotation) { + super(connection, entityId, uuid, position, rotation); } } diff --git a/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/Creeper.java b/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/Creeper.java index a2c51b493..c3a213cf5 100644 --- a/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/Creeper.java +++ b/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/Creeper.java @@ -15,7 +15,7 @@ package de.bixilon.minosoft.data.entities.entities.monster; import de.bixilon.minosoft.data.entities.EntityMetaDataFields; import de.bixilon.minosoft.data.entities.EntityRotation; -import de.bixilon.minosoft.data.entities.Location; +import de.bixilon.minosoft.data.entities.Position; import de.bixilon.minosoft.data.entities.entities.EntityMetaDataFunction; import de.bixilon.minosoft.protocol.network.Connection; @@ -23,8 +23,8 @@ import java.util.UUID; public class Creeper extends Monster { - public Creeper(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) { - super(connection, entityId, uuid, location, rotation); + public Creeper(Connection connection, int entityId, UUID uuid, Position position, EntityRotation rotation) { + super(connection, entityId, uuid, position, rotation); } @EntityMetaDataFunction(name = "State") diff --git a/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/Drowned.java b/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/Drowned.java index c647e932f..2d3df060d 100644 --- a/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/Drowned.java +++ b/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/Drowned.java @@ -14,14 +14,14 @@ package de.bixilon.minosoft.data.entities.entities.monster; import de.bixilon.minosoft.data.entities.EntityRotation; -import de.bixilon.minosoft.data.entities.Location; +import de.bixilon.minosoft.data.entities.Position; import de.bixilon.minosoft.protocol.network.Connection; import java.util.UUID; public class Drowned extends Zombie { - public Drowned(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) { - super(connection, entityId, uuid, location, rotation); + public Drowned(Connection connection, int entityId, UUID uuid, Position position, EntityRotation rotation) { + super(connection, entityId, uuid, position, rotation); } } diff --git a/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/ElderGuardian.java b/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/ElderGuardian.java index d77453519..42b3a1494 100644 --- a/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/ElderGuardian.java +++ b/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/ElderGuardian.java @@ -14,14 +14,14 @@ package de.bixilon.minosoft.data.entities.entities.monster; import de.bixilon.minosoft.data.entities.EntityRotation; -import de.bixilon.minosoft.data.entities.Location; +import de.bixilon.minosoft.data.entities.Position; import de.bixilon.minosoft.protocol.network.Connection; import java.util.UUID; public class ElderGuardian extends Guardian { - public ElderGuardian(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) { - super(connection, entityId, uuid, location, rotation); + public ElderGuardian(Connection connection, int entityId, UUID uuid, Position position, EntityRotation rotation) { + super(connection, entityId, uuid, position, rotation); } } diff --git a/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/Enderman.java b/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/Enderman.java index b2e74b3b4..d348264cc 100644 --- a/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/Enderman.java +++ b/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/Enderman.java @@ -15,7 +15,7 @@ package de.bixilon.minosoft.data.entities.entities.monster; import de.bixilon.minosoft.data.entities.EntityMetaDataFields; import de.bixilon.minosoft.data.entities.EntityRotation; -import de.bixilon.minosoft.data.entities.Location; +import de.bixilon.minosoft.data.entities.Position; import de.bixilon.minosoft.data.entities.entities.EntityMetaDataFunction; import de.bixilon.minosoft.data.mappings.blocks.BlockState; import de.bixilon.minosoft.protocol.network.Connection; @@ -27,8 +27,8 @@ import static de.bixilon.minosoft.protocol.protocol.ProtocolVersions.V_1_8_9; public class Enderman extends AbstractSkeleton { - public Enderman(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) { - super(connection, entityId, uuid, location, rotation); + public Enderman(Connection connection, int entityId, UUID uuid, Position position, EntityRotation rotation) { + super(connection, entityId, uuid, position, rotation); } @EntityMetaDataFunction(name = "Carried block") diff --git a/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/Endermite.java b/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/Endermite.java index 18d3205d0..be597fcab 100644 --- a/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/Endermite.java +++ b/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/Endermite.java @@ -14,14 +14,14 @@ package de.bixilon.minosoft.data.entities.entities.monster; import de.bixilon.minosoft.data.entities.EntityRotation; -import de.bixilon.minosoft.data.entities.Location; +import de.bixilon.minosoft.data.entities.Position; import de.bixilon.minosoft.protocol.network.Connection; import java.util.UUID; public class Endermite extends Monster { - public Endermite(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) { - super(connection, entityId, uuid, location, rotation); + public Endermite(Connection connection, int entityId, UUID uuid, Position position, EntityRotation rotation) { + super(connection, entityId, uuid, position, rotation); } } diff --git a/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/Ghast.java b/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/Ghast.java index 50998be64..aa8856f56 100644 --- a/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/Ghast.java +++ b/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/Ghast.java @@ -15,7 +15,7 @@ package de.bixilon.minosoft.data.entities.entities.monster; import de.bixilon.minosoft.data.entities.EntityMetaDataFields; import de.bixilon.minosoft.data.entities.EntityRotation; -import de.bixilon.minosoft.data.entities.Location; +import de.bixilon.minosoft.data.entities.Position; import de.bixilon.minosoft.data.entities.entities.EntityMetaDataFunction; import de.bixilon.minosoft.data.entities.entities.FlyingMob; import de.bixilon.minosoft.protocol.network.Connection; @@ -24,8 +24,8 @@ import java.util.UUID; public class Ghast extends FlyingMob { - public Ghast(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) { - super(connection, entityId, uuid, location, rotation); + public Ghast(Connection connection, int entityId, UUID uuid, Position position, EntityRotation rotation) { + super(connection, entityId, uuid, position, rotation); } @EntityMetaDataFunction(name = "Is attacking") diff --git a/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/Giant.java b/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/Giant.java index 27ca045c4..35c2ff6f6 100644 --- a/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/Giant.java +++ b/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/Giant.java @@ -14,14 +14,14 @@ package de.bixilon.minosoft.data.entities.entities.monster; import de.bixilon.minosoft.data.entities.EntityRotation; -import de.bixilon.minosoft.data.entities.Location; +import de.bixilon.minosoft.data.entities.Position; import de.bixilon.minosoft.protocol.network.Connection; import java.util.UUID; public class Giant extends Monster { - public Giant(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) { - super(connection, entityId, uuid, location, rotation); + public Giant(Connection connection, int entityId, UUID uuid, Position position, EntityRotation rotation) { + super(connection, entityId, uuid, position, rotation); } } diff --git a/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/Guardian.java b/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/Guardian.java index 4e31510b0..921e531ce 100644 --- a/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/Guardian.java +++ b/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/Guardian.java @@ -15,7 +15,7 @@ package de.bixilon.minosoft.data.entities.entities.monster; import de.bixilon.minosoft.data.entities.EntityMetaDataFields; import de.bixilon.minosoft.data.entities.EntityRotation; -import de.bixilon.minosoft.data.entities.Location; +import de.bixilon.minosoft.data.entities.Position; import de.bixilon.minosoft.data.entities.entities.EntityMetaDataFunction; import de.bixilon.minosoft.protocol.network.Connection; @@ -23,8 +23,8 @@ import java.util.UUID; public class Guardian extends Monster { - public Guardian(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) { - super(connection, entityId, uuid, location, rotation); + public Guardian(Connection connection, int entityId, UUID uuid, Position position, EntityRotation rotation) { + super(connection, entityId, uuid, position, rotation); } @EntityMetaDataFunction(name = "Is moving") diff --git a/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/Husk.java b/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/Husk.java index 636b83a6d..aacf064e2 100644 --- a/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/Husk.java +++ b/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/Husk.java @@ -14,14 +14,14 @@ package de.bixilon.minosoft.data.entities.entities.monster; import de.bixilon.minosoft.data.entities.EntityRotation; -import de.bixilon.minosoft.data.entities.Location; +import de.bixilon.minosoft.data.entities.Position; import de.bixilon.minosoft.protocol.network.Connection; import java.util.UUID; public class Husk extends Zombie { - public Husk(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) { - super(connection, entityId, uuid, location, rotation); + public Husk(Connection connection, int entityId, UUID uuid, Position position, EntityRotation rotation) { + super(connection, entityId, uuid, position, rotation); } } diff --git a/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/MagmaCube.java b/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/MagmaCube.java index 1fad91aea..aa5380ff4 100644 --- a/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/MagmaCube.java +++ b/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/MagmaCube.java @@ -14,14 +14,14 @@ package de.bixilon.minosoft.data.entities.entities.monster; import de.bixilon.minosoft.data.entities.EntityRotation; -import de.bixilon.minosoft.data.entities.Location; +import de.bixilon.minosoft.data.entities.Position; import de.bixilon.minosoft.protocol.network.Connection; import java.util.UUID; public class MagmaCube extends Slime { - public MagmaCube(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) { - super(connection, entityId, uuid, location, rotation); + public MagmaCube(Connection connection, int entityId, UUID uuid, Position position, EntityRotation rotation) { + super(connection, entityId, uuid, position, rotation); } } diff --git a/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/Monster.java b/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/Monster.java index acb4aad45..67ec3ae7c 100644 --- a/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/Monster.java +++ b/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/Monster.java @@ -14,7 +14,7 @@ package de.bixilon.minosoft.data.entities.entities.monster; import de.bixilon.minosoft.data.entities.EntityRotation; -import de.bixilon.minosoft.data.entities.Location; +import de.bixilon.minosoft.data.entities.Position; import de.bixilon.minosoft.data.entities.entities.PathfinderMob; import de.bixilon.minosoft.protocol.network.Connection; @@ -22,7 +22,7 @@ import java.util.UUID; public abstract class Monster extends PathfinderMob { - public Monster(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) { - super(connection, entityId, uuid, location, rotation); + public Monster(Connection connection, int entityId, UUID uuid, Position position, EntityRotation rotation) { + super(connection, entityId, uuid, position, rotation); } } diff --git a/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/PatrollingMonster.java b/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/PatrollingMonster.java index f7bb7a4bf..b070e1e96 100644 --- a/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/PatrollingMonster.java +++ b/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/PatrollingMonster.java @@ -14,14 +14,14 @@ package de.bixilon.minosoft.data.entities.entities.monster; import de.bixilon.minosoft.data.entities.EntityRotation; -import de.bixilon.minosoft.data.entities.Location; +import de.bixilon.minosoft.data.entities.Position; import de.bixilon.minosoft.protocol.network.Connection; import java.util.UUID; public abstract class PatrollingMonster extends Monster { - public PatrollingMonster(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) { - super(connection, entityId, uuid, location, rotation); + public PatrollingMonster(Connection connection, int entityId, UUID uuid, Position position, EntityRotation rotation) { + super(connection, entityId, uuid, position, rotation); } } diff --git a/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/Phantom.java b/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/Phantom.java index 60fe9d2df..602cba8b1 100644 --- a/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/Phantom.java +++ b/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/Phantom.java @@ -15,7 +15,7 @@ package de.bixilon.minosoft.data.entities.entities.monster; import de.bixilon.minosoft.data.entities.EntityMetaDataFields; import de.bixilon.minosoft.data.entities.EntityRotation; -import de.bixilon.minosoft.data.entities.Location; +import de.bixilon.minosoft.data.entities.Position; import de.bixilon.minosoft.data.entities.entities.EntityMetaDataFunction; import de.bixilon.minosoft.data.entities.entities.FlyingMob; import de.bixilon.minosoft.protocol.network.Connection; @@ -24,8 +24,8 @@ import java.util.UUID; public class Phantom extends FlyingMob { - public Phantom(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) { - super(connection, entityId, uuid, location, rotation); + public Phantom(Connection connection, int entityId, UUID uuid, Position position, EntityRotation rotation) { + super(connection, entityId, uuid, position, rotation); } @EntityMetaDataFunction(name = "Size") diff --git a/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/Shulker.java b/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/Shulker.java index b60cd7984..248b7610a 100644 --- a/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/Shulker.java +++ b/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/Shulker.java @@ -16,7 +16,7 @@ package de.bixilon.minosoft.data.entities.entities.monster; import de.bixilon.minosoft.data.Directions; import de.bixilon.minosoft.data.entities.EntityMetaDataFields; import de.bixilon.minosoft.data.entities.EntityRotation; -import de.bixilon.minosoft.data.entities.Location; +import de.bixilon.minosoft.data.entities.Position; import de.bixilon.minosoft.data.entities.entities.EntityMetaDataFunction; import de.bixilon.minosoft.data.entities.entities.animal.AbstractGolem; import de.bixilon.minosoft.data.text.ChatColors; @@ -29,8 +29,8 @@ import java.util.UUID; public class Shulker extends AbstractGolem { - public Shulker(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) { - super(connection, entityId, uuid, location, rotation); + public Shulker(Connection connection, int entityId, UUID uuid, Position position, EntityRotation rotation) { + super(connection, entityId, uuid, position, rotation); } @EntityMetaDataFunction(name = "Attachment face") diff --git a/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/Silverfish.java b/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/Silverfish.java index cdeb43f87..ad175dfca 100644 --- a/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/Silverfish.java +++ b/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/Silverfish.java @@ -14,14 +14,14 @@ package de.bixilon.minosoft.data.entities.entities.monster; import de.bixilon.minosoft.data.entities.EntityRotation; -import de.bixilon.minosoft.data.entities.Location; +import de.bixilon.minosoft.data.entities.Position; import de.bixilon.minosoft.protocol.network.Connection; import java.util.UUID; public class Silverfish extends Monster { - public Silverfish(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) { - super(connection, entityId, uuid, location, rotation); + public Silverfish(Connection connection, int entityId, UUID uuid, Position position, EntityRotation rotation) { + super(connection, entityId, uuid, position, rotation); } } diff --git a/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/Skeleton.java b/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/Skeleton.java index acbb9e566..e28a941f6 100644 --- a/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/Skeleton.java +++ b/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/Skeleton.java @@ -15,15 +15,15 @@ package de.bixilon.minosoft.data.entities.entities.monster; import de.bixilon.minosoft.data.entities.EntityMetaDataFields; import de.bixilon.minosoft.data.entities.EntityRotation; -import de.bixilon.minosoft.data.entities.Location; +import de.bixilon.minosoft.data.entities.Position; import de.bixilon.minosoft.protocol.network.Connection; import java.util.UUID; public class Skeleton extends AbstractSkeleton { - public Skeleton(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) { - super(connection, entityId, uuid, location, rotation); + public Skeleton(Connection connection, int entityId, UUID uuid, Position position, EntityRotation rotation) { + super(connection, entityId, uuid, position, rotation); } public boolean isFreezeConverting() { diff --git a/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/Slime.java b/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/Slime.java index 8dc8dc1c1..076ea23d6 100644 --- a/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/Slime.java +++ b/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/Slime.java @@ -15,7 +15,7 @@ package de.bixilon.minosoft.data.entities.entities.monster; import de.bixilon.minosoft.data.entities.EntityMetaDataFields; import de.bixilon.minosoft.data.entities.EntityRotation; -import de.bixilon.minosoft.data.entities.Location; +import de.bixilon.minosoft.data.entities.Position; import de.bixilon.minosoft.data.entities.entities.EntityMetaDataFunction; import de.bixilon.minosoft.data.entities.entities.Mob; import de.bixilon.minosoft.protocol.network.Connection; @@ -25,8 +25,8 @@ import java.util.UUID; public class Slime extends Mob { - public Slime(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) { - super(connection, entityId, uuid, location, rotation); + public Slime(Connection connection, int entityId, UUID uuid, Position position, EntityRotation rotation) { + super(connection, entityId, uuid, position, rotation); } @IntRange(from = 0) diff --git a/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/Spider.java b/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/Spider.java index a32e1ef34..20d9977e1 100644 --- a/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/Spider.java +++ b/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/Spider.java @@ -15,7 +15,7 @@ package de.bixilon.minosoft.data.entities.entities.monster; import de.bixilon.minosoft.data.entities.EntityMetaDataFields; import de.bixilon.minosoft.data.entities.EntityRotation; -import de.bixilon.minosoft.data.entities.Location; +import de.bixilon.minosoft.data.entities.Position; import de.bixilon.minosoft.data.entities.entities.EntityMetaDataFunction; import de.bixilon.minosoft.protocol.network.Connection; @@ -23,8 +23,8 @@ import java.util.UUID; public class Spider extends Monster { - public Spider(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) { - super(connection, entityId, uuid, location, rotation); + public Spider(Connection connection, int entityId, UUID uuid, Position position, EntityRotation rotation) { + super(connection, entityId, uuid, position, rotation); } private boolean getSpiderFlag(int bitMask) { diff --git a/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/Stray.java b/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/Stray.java index 6b6b76344..e2bc4cd92 100644 --- a/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/Stray.java +++ b/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/Stray.java @@ -14,14 +14,14 @@ package de.bixilon.minosoft.data.entities.entities.monster; import de.bixilon.minosoft.data.entities.EntityRotation; -import de.bixilon.minosoft.data.entities.Location; +import de.bixilon.minosoft.data.entities.Position; import de.bixilon.minosoft.protocol.network.Connection; import java.util.UUID; public class Stray extends AbstractSkeleton { - public Stray(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) { - super(connection, entityId, uuid, location, rotation); + public Stray(Connection connection, int entityId, UUID uuid, Position position, EntityRotation rotation) { + super(connection, entityId, uuid, position, rotation); } } diff --git a/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/Vex.java b/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/Vex.java index fbf1d00a0..1e607971c 100644 --- a/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/Vex.java +++ b/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/Vex.java @@ -15,7 +15,7 @@ package de.bixilon.minosoft.data.entities.entities.monster; import de.bixilon.minosoft.data.entities.EntityMetaDataFields; import de.bixilon.minosoft.data.entities.EntityRotation; -import de.bixilon.minosoft.data.entities.Location; +import de.bixilon.minosoft.data.entities.Position; import de.bixilon.minosoft.data.entities.entities.EntityMetaDataFunction; import de.bixilon.minosoft.protocol.network.Connection; @@ -23,8 +23,8 @@ import java.util.UUID; public class Vex extends Monster { - public Vex(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) { - super(connection, entityId, uuid, location, rotation); + public Vex(Connection connection, int entityId, UUID uuid, Position position, EntityRotation rotation) { + super(connection, entityId, uuid, position, rotation); } private boolean getVexFlag(int bitMask) { diff --git a/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/WitherSkeleton.java b/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/WitherSkeleton.java index e6f50f342..07dc622ba 100644 --- a/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/WitherSkeleton.java +++ b/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/WitherSkeleton.java @@ -14,14 +14,14 @@ package de.bixilon.minosoft.data.entities.entities.monster; import de.bixilon.minosoft.data.entities.EntityRotation; -import de.bixilon.minosoft.data.entities.Location; +import de.bixilon.minosoft.data.entities.Position; import de.bixilon.minosoft.protocol.network.Connection; import java.util.UUID; public class WitherSkeleton extends AbstractSkeleton { - public WitherSkeleton(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) { - super(connection, entityId, uuid, location, rotation); + public WitherSkeleton(Connection connection, int entityId, UUID uuid, Position position, EntityRotation rotation) { + super(connection, entityId, uuid, position, rotation); } } diff --git a/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/Zoglin.java b/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/Zoglin.java index ecc626853..0b14e6867 100644 --- a/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/Zoglin.java +++ b/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/Zoglin.java @@ -15,7 +15,7 @@ package de.bixilon.minosoft.data.entities.entities.monster; import de.bixilon.minosoft.data.entities.EntityMetaDataFields; import de.bixilon.minosoft.data.entities.EntityRotation; -import de.bixilon.minosoft.data.entities.Location; +import de.bixilon.minosoft.data.entities.Position; import de.bixilon.minosoft.data.entities.entities.EntityMetaDataFunction; import de.bixilon.minosoft.protocol.network.Connection; @@ -23,8 +23,8 @@ import java.util.UUID; public class Zoglin extends Monster { - public Zoglin(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) { - super(connection, entityId, uuid, location, rotation); + public Zoglin(Connection connection, int entityId, UUID uuid, Position position, EntityRotation rotation) { + super(connection, entityId, uuid, position, rotation); } @EntityMetaDataFunction(name = "Is baby") diff --git a/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/Zombie.java b/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/Zombie.java index b8f179e09..626e29fb3 100644 --- a/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/Zombie.java +++ b/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/Zombie.java @@ -15,7 +15,7 @@ package de.bixilon.minosoft.data.entities.entities.monster; import de.bixilon.minosoft.data.entities.EntityMetaDataFields; import de.bixilon.minosoft.data.entities.EntityRotation; -import de.bixilon.minosoft.data.entities.Location; +import de.bixilon.minosoft.data.entities.Position; import de.bixilon.minosoft.data.entities.entities.EntityMetaDataFunction; import de.bixilon.minosoft.protocol.network.Connection; @@ -23,8 +23,8 @@ import java.util.UUID; public class Zombie extends Monster { - public Zombie(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) { - super(connection, entityId, uuid, location, rotation); + public Zombie(Connection connection, int entityId, UUID uuid, Position position, EntityRotation rotation) { + super(connection, entityId, uuid, position, rotation); } @EntityMetaDataFunction(name = "Is baby") diff --git a/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/ZombiePigman.java b/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/ZombiePigman.java index 130cb96d7..aa8954094 100644 --- a/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/ZombiePigman.java +++ b/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/ZombiePigman.java @@ -14,7 +14,7 @@ package de.bixilon.minosoft.data.entities.entities.monster; import de.bixilon.minosoft.data.entities.EntityRotation; -import de.bixilon.minosoft.data.entities.Location; +import de.bixilon.minosoft.data.entities.Position; import de.bixilon.minosoft.protocol.network.Connection; import java.util.UUID; @@ -25,8 +25,8 @@ import java.util.UUID; @Deprecated public class ZombiePigman extends ZombifiedPiglin { - public ZombiePigman(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) { - super(connection, entityId, uuid, location, rotation); + public ZombiePigman(Connection connection, int entityId, UUID uuid, Position position, EntityRotation rotation) { + super(connection, entityId, uuid, position, rotation); } } diff --git a/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/ZombieVillager.java b/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/ZombieVillager.java index 45844be9c..0dc01f610 100644 --- a/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/ZombieVillager.java +++ b/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/ZombieVillager.java @@ -15,7 +15,7 @@ package de.bixilon.minosoft.data.entities.entities.monster; import de.bixilon.minosoft.data.entities.EntityMetaDataFields; import de.bixilon.minosoft.data.entities.EntityRotation; -import de.bixilon.minosoft.data.entities.Location; +import de.bixilon.minosoft.data.entities.Position; import de.bixilon.minosoft.data.entities.VillagerData; import de.bixilon.minosoft.data.entities.entities.EntityMetaDataFunction; import de.bixilon.minosoft.protocol.network.Connection; @@ -24,8 +24,8 @@ import java.util.UUID; public class ZombieVillager extends Zombie { - public ZombieVillager(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) { - super(connection, entityId, uuid, location, rotation); + public ZombieVillager(Connection connection, int entityId, UUID uuid, Position position, EntityRotation rotation) { + super(connection, entityId, uuid, position, rotation); } @EntityMetaDataFunction(name = "Is converting") diff --git a/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/ZombifiedPiglin.java b/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/ZombifiedPiglin.java index 0de33540d..8081c1842 100644 --- a/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/ZombifiedPiglin.java +++ b/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/ZombifiedPiglin.java @@ -14,15 +14,15 @@ package de.bixilon.minosoft.data.entities.entities.monster; import de.bixilon.minosoft.data.entities.EntityRotation; -import de.bixilon.minosoft.data.entities.Location; +import de.bixilon.minosoft.data.entities.Position; import de.bixilon.minosoft.protocol.network.Connection; import java.util.UUID; public class ZombifiedPiglin extends Zombie { - public ZombifiedPiglin(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) { - super(connection, entityId, uuid, location, rotation); + public ZombifiedPiglin(Connection connection, int entityId, UUID uuid, Position position, EntityRotation rotation) { + super(connection, entityId, uuid, position, rotation); } } diff --git a/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/piglin/AbstractPiglin.java b/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/piglin/AbstractPiglin.java index 83adc4dbc..6cce0ccc1 100644 --- a/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/piglin/AbstractPiglin.java +++ b/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/piglin/AbstractPiglin.java @@ -15,7 +15,7 @@ package de.bixilon.minosoft.data.entities.entities.monster.piglin; import de.bixilon.minosoft.data.entities.EntityMetaDataFields; import de.bixilon.minosoft.data.entities.EntityRotation; -import de.bixilon.minosoft.data.entities.Location; +import de.bixilon.minosoft.data.entities.Position; import de.bixilon.minosoft.data.entities.entities.EntityMetaDataFunction; import de.bixilon.minosoft.data.entities.entities.monster.Monster; import de.bixilon.minosoft.protocol.network.Connection; @@ -24,8 +24,8 @@ import java.util.UUID; public abstract class AbstractPiglin extends Monster { - public AbstractPiglin(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) { - super(connection, entityId, uuid, location, rotation); + public AbstractPiglin(Connection connection, int entityId, UUID uuid, Position position, EntityRotation rotation) { + super(connection, entityId, uuid, position, rotation); } @EntityMetaDataFunction(name = "Is immune to zombification") diff --git a/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/piglin/Piglin.java b/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/piglin/Piglin.java index 388ebe0d3..e79ff5f95 100644 --- a/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/piglin/Piglin.java +++ b/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/piglin/Piglin.java @@ -15,7 +15,7 @@ package de.bixilon.minosoft.data.entities.entities.monster.piglin; import de.bixilon.minosoft.data.entities.EntityMetaDataFields; import de.bixilon.minosoft.data.entities.EntityRotation; -import de.bixilon.minosoft.data.entities.Location; +import de.bixilon.minosoft.data.entities.Position; import de.bixilon.minosoft.data.entities.entities.EntityMetaDataFunction; import de.bixilon.minosoft.protocol.network.Connection; @@ -25,8 +25,8 @@ import static de.bixilon.minosoft.protocol.protocol.ProtocolVersions.V_20W27A; public class Piglin extends AbstractPiglin { - public Piglin(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) { - super(connection, entityId, uuid, location, rotation); + public Piglin(Connection connection, int entityId, UUID uuid, Position position, EntityRotation rotation) { + super(connection, entityId, uuid, position, rotation); } @EntityMetaDataFunction(name = "Is immune to zombification") diff --git a/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/piglin/PiglinBrute.java b/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/piglin/PiglinBrute.java index de51bb1b3..63291da16 100644 --- a/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/piglin/PiglinBrute.java +++ b/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/piglin/PiglinBrute.java @@ -14,14 +14,14 @@ package de.bixilon.minosoft.data.entities.entities.monster.piglin; import de.bixilon.minosoft.data.entities.EntityRotation; -import de.bixilon.minosoft.data.entities.Location; +import de.bixilon.minosoft.data.entities.Position; import de.bixilon.minosoft.protocol.network.Connection; import java.util.UUID; public class PiglinBrute extends AbstractPiglin { - public PiglinBrute(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) { - super(connection, entityId, uuid, location, rotation); + public PiglinBrute(Connection connection, int entityId, UUID uuid, Position position, EntityRotation rotation) { + super(connection, entityId, uuid, position, rotation); } } diff --git a/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/raid/AbstractIllager.java b/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/raid/AbstractIllager.java index 4b712dc48..c84089fee 100644 --- a/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/raid/AbstractIllager.java +++ b/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/raid/AbstractIllager.java @@ -14,14 +14,14 @@ package de.bixilon.minosoft.data.entities.entities.monster.raid; import de.bixilon.minosoft.data.entities.EntityRotation; -import de.bixilon.minosoft.data.entities.Location; +import de.bixilon.minosoft.data.entities.Position; import de.bixilon.minosoft.protocol.network.Connection; import java.util.UUID; public abstract class AbstractIllager extends Raider { - public AbstractIllager(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) { - super(connection, entityId, uuid, location, rotation); + public AbstractIllager(Connection connection, int entityId, UUID uuid, Position position, EntityRotation rotation) { + super(connection, entityId, uuid, position, rotation); } } diff --git a/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/raid/Evoker.java b/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/raid/Evoker.java index 75e4763c6..db082a998 100644 --- a/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/raid/Evoker.java +++ b/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/raid/Evoker.java @@ -14,14 +14,14 @@ package de.bixilon.minosoft.data.entities.entities.monster.raid; import de.bixilon.minosoft.data.entities.EntityRotation; -import de.bixilon.minosoft.data.entities.Location; +import de.bixilon.minosoft.data.entities.Position; import de.bixilon.minosoft.protocol.network.Connection; import java.util.UUID; public class Evoker extends SpellcasterIllager { - public Evoker(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) { - super(connection, entityId, uuid, location, rotation); + public Evoker(Connection connection, int entityId, UUID uuid, Position position, EntityRotation rotation) { + super(connection, entityId, uuid, position, rotation); } } diff --git a/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/raid/Illusioner.java b/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/raid/Illusioner.java index 1a99ee91d..cbce16b7b 100644 --- a/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/raid/Illusioner.java +++ b/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/raid/Illusioner.java @@ -14,14 +14,14 @@ package de.bixilon.minosoft.data.entities.entities.monster.raid; import de.bixilon.minosoft.data.entities.EntityRotation; -import de.bixilon.minosoft.data.entities.Location; +import de.bixilon.minosoft.data.entities.Position; import de.bixilon.minosoft.protocol.network.Connection; import java.util.UUID; public class Illusioner extends SpellcasterIllager { - public Illusioner(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) { - super(connection, entityId, uuid, location, rotation); + public Illusioner(Connection connection, int entityId, UUID uuid, Position position, EntityRotation rotation) { + super(connection, entityId, uuid, position, rotation); } } diff --git a/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/raid/Pillager.java b/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/raid/Pillager.java index 816825093..589767fd0 100644 --- a/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/raid/Pillager.java +++ b/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/raid/Pillager.java @@ -15,7 +15,7 @@ package de.bixilon.minosoft.data.entities.entities.monster.raid; import de.bixilon.minosoft.data.entities.EntityMetaDataFields; import de.bixilon.minosoft.data.entities.EntityRotation; -import de.bixilon.minosoft.data.entities.Location; +import de.bixilon.minosoft.data.entities.Position; import de.bixilon.minosoft.data.entities.entities.EntityMetaDataFunction; import de.bixilon.minosoft.protocol.network.Connection; @@ -23,8 +23,8 @@ import java.util.UUID; public class Pillager extends AbstractIllager { - public Pillager(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) { - super(connection, entityId, uuid, location, rotation); + public Pillager(Connection connection, int entityId, UUID uuid, Position position, EntityRotation rotation) { + super(connection, entityId, uuid, position, rotation); } @EntityMetaDataFunction(name = "Is charging crossbow") diff --git a/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/raid/Raider.java b/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/raid/Raider.java index 18392812d..0499798e2 100644 --- a/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/raid/Raider.java +++ b/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/raid/Raider.java @@ -15,7 +15,7 @@ package de.bixilon.minosoft.data.entities.entities.monster.raid; import de.bixilon.minosoft.data.entities.EntityMetaDataFields; import de.bixilon.minosoft.data.entities.EntityRotation; -import de.bixilon.minosoft.data.entities.Location; +import de.bixilon.minosoft.data.entities.Position; import de.bixilon.minosoft.data.entities.entities.EntityMetaDataFunction; import de.bixilon.minosoft.data.entities.entities.monster.PatrollingMonster; import de.bixilon.minosoft.protocol.network.Connection; @@ -24,8 +24,8 @@ import java.util.UUID; public abstract class Raider extends PatrollingMonster { - public Raider(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) { - super(connection, entityId, uuid, location, rotation); + public Raider(Connection connection, int entityId, UUID uuid, Position position, EntityRotation rotation) { + super(connection, entityId, uuid, position, rotation); } @EntityMetaDataFunction(name = "Is celebrating") diff --git a/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/raid/Ravenger.java b/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/raid/Ravenger.java index 31b4da6b3..08426caad 100644 --- a/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/raid/Ravenger.java +++ b/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/raid/Ravenger.java @@ -14,14 +14,14 @@ package de.bixilon.minosoft.data.entities.entities.monster.raid; import de.bixilon.minosoft.data.entities.EntityRotation; -import de.bixilon.minosoft.data.entities.Location; +import de.bixilon.minosoft.data.entities.Position; import de.bixilon.minosoft.protocol.network.Connection; import java.util.UUID; public class Ravenger extends Raider { - public Ravenger(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) { - super(connection, entityId, uuid, location, rotation); + public Ravenger(Connection connection, int entityId, UUID uuid, Position position, EntityRotation rotation) { + super(connection, entityId, uuid, position, rotation); } } diff --git a/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/raid/SpellcasterIllager.java b/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/raid/SpellcasterIllager.java index d25982499..37d529445 100644 --- a/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/raid/SpellcasterIllager.java +++ b/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/raid/SpellcasterIllager.java @@ -15,7 +15,7 @@ package de.bixilon.minosoft.data.entities.entities.monster.raid; import de.bixilon.minosoft.data.entities.EntityMetaDataFields; import de.bixilon.minosoft.data.entities.EntityRotation; -import de.bixilon.minosoft.data.entities.Location; +import de.bixilon.minosoft.data.entities.Position; import de.bixilon.minosoft.data.entities.entities.EntityMetaDataFunction; import de.bixilon.minosoft.protocol.network.Connection; @@ -23,8 +23,8 @@ import java.util.UUID; public class SpellcasterIllager extends AbstractIllager { - public SpellcasterIllager(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) { - super(connection, entityId, uuid, location, rotation); + public SpellcasterIllager(Connection connection, int entityId, UUID uuid, Position position, EntityRotation rotation) { + super(connection, entityId, uuid, position, rotation); } @EntityMetaDataFunction(name = "Spell") diff --git a/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/raid/Vindicator.java b/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/raid/Vindicator.java index 600319610..31d33448d 100644 --- a/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/raid/Vindicator.java +++ b/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/raid/Vindicator.java @@ -14,14 +14,14 @@ package de.bixilon.minosoft.data.entities.entities.monster.raid; import de.bixilon.minosoft.data.entities.EntityRotation; -import de.bixilon.minosoft.data.entities.Location; +import de.bixilon.minosoft.data.entities.Position; import de.bixilon.minosoft.protocol.network.Connection; import java.util.UUID; public class Vindicator extends AbstractIllager { - public Vindicator(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) { - super(connection, entityId, uuid, location, rotation); + public Vindicator(Connection connection, int entityId, UUID uuid, Position position, EntityRotation rotation) { + super(connection, entityId, uuid, position, rotation); } } diff --git a/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/raid/Witch.java b/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/raid/Witch.java index 8706bdf60..23829e24b 100644 --- a/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/raid/Witch.java +++ b/src/main/java/de/bixilon/minosoft/data/entities/entities/monster/raid/Witch.java @@ -15,7 +15,7 @@ package de.bixilon.minosoft.data.entities.entities.monster.raid; import de.bixilon.minosoft.data.entities.EntityMetaDataFields; import de.bixilon.minosoft.data.entities.EntityRotation; -import de.bixilon.minosoft.data.entities.Location; +import de.bixilon.minosoft.data.entities.Position; import de.bixilon.minosoft.data.entities.entities.EntityMetaDataFunction; import de.bixilon.minosoft.protocol.network.Connection; @@ -23,8 +23,8 @@ import java.util.UUID; public class Witch extends Raider { - public Witch(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) { - super(connection, entityId, uuid, location, rotation); + public Witch(Connection connection, int entityId, UUID uuid, Position position, EntityRotation rotation) { + super(connection, entityId, uuid, position, rotation); } @EntityMetaDataFunction(name = "Is drinking Potion") diff --git a/src/main/java/de/bixilon/minosoft/data/entities/entities/npc/AbstractVillager.java b/src/main/java/de/bixilon/minosoft/data/entities/entities/npc/AbstractVillager.java index d56614b80..581ddbc4d 100644 --- a/src/main/java/de/bixilon/minosoft/data/entities/entities/npc/AbstractVillager.java +++ b/src/main/java/de/bixilon/minosoft/data/entities/entities/npc/AbstractVillager.java @@ -15,7 +15,7 @@ package de.bixilon.minosoft.data.entities.entities.npc; import de.bixilon.minosoft.data.entities.EntityMetaDataFields; import de.bixilon.minosoft.data.entities.EntityRotation; -import de.bixilon.minosoft.data.entities.Location; +import de.bixilon.minosoft.data.entities.Position; import de.bixilon.minosoft.data.entities.entities.AgeableMob; import de.bixilon.minosoft.data.entities.entities.EntityMetaDataFunction; import de.bixilon.minosoft.protocol.network.Connection; @@ -24,8 +24,8 @@ import java.util.UUID; public abstract class AbstractVillager extends AgeableMob { - public AbstractVillager(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) { - super(connection, entityId, uuid, location, rotation); + public AbstractVillager(Connection connection, int entityId, UUID uuid, Position position, EntityRotation rotation) { + super(connection, entityId, uuid, position, rotation); } @EntityMetaDataFunction(name = "Unhappy timer") diff --git a/src/main/java/de/bixilon/minosoft/data/entities/entities/npc/Villager.java b/src/main/java/de/bixilon/minosoft/data/entities/entities/npc/Villager.java index 30ba7b5ee..db656696d 100644 --- a/src/main/java/de/bixilon/minosoft/data/entities/entities/npc/Villager.java +++ b/src/main/java/de/bixilon/minosoft/data/entities/entities/npc/Villager.java @@ -15,7 +15,7 @@ package de.bixilon.minosoft.data.entities.entities.npc; import de.bixilon.minosoft.data.entities.EntityMetaDataFields; import de.bixilon.minosoft.data.entities.EntityRotation; -import de.bixilon.minosoft.data.entities.Location; +import de.bixilon.minosoft.data.entities.Position; import de.bixilon.minosoft.data.entities.VillagerData; import de.bixilon.minosoft.data.entities.entities.EntityMetaDataFunction; import de.bixilon.minosoft.protocol.network.Connection; @@ -23,8 +23,8 @@ import de.bixilon.minosoft.protocol.network.Connection; import java.util.UUID; public class Villager extends AbstractVillager { - public Villager(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) { - super(connection, entityId, uuid, location, rotation); + public Villager(Connection connection, int entityId, UUID uuid, Position position, EntityRotation rotation) { + super(connection, entityId, uuid, position, rotation); } @EntityMetaDataFunction(name = "Villager data") diff --git a/src/main/java/de/bixilon/minosoft/data/entities/entities/npc/WanderingTrader.java b/src/main/java/de/bixilon/minosoft/data/entities/entities/npc/WanderingTrader.java index d86d90022..60bee2e2c 100644 --- a/src/main/java/de/bixilon/minosoft/data/entities/entities/npc/WanderingTrader.java +++ b/src/main/java/de/bixilon/minosoft/data/entities/entities/npc/WanderingTrader.java @@ -14,14 +14,14 @@ package de.bixilon.minosoft.data.entities.entities.npc; import de.bixilon.minosoft.data.entities.EntityRotation; -import de.bixilon.minosoft.data.entities.Location; +import de.bixilon.minosoft.data.entities.Position; import de.bixilon.minosoft.protocol.network.Connection; import java.util.UUID; public class WanderingTrader extends AbstractVillager { - public WanderingTrader(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) { - super(connection, entityId, uuid, location, rotation); + public WanderingTrader(Connection connection, int entityId, UUID uuid, Position position, EntityRotation rotation) { + super(connection, entityId, uuid, position, rotation); } } diff --git a/src/main/java/de/bixilon/minosoft/data/entities/entities/player/PlayerEntity.java b/src/main/java/de/bixilon/minosoft/data/entities/entities/player/PlayerEntity.java index 8e6bedca0..70a917c91 100644 --- a/src/main/java/de/bixilon/minosoft/data/entities/entities/player/PlayerEntity.java +++ b/src/main/java/de/bixilon/minosoft/data/entities/entities/player/PlayerEntity.java @@ -16,7 +16,7 @@ package de.bixilon.minosoft.data.entities.entities.player; import de.bixilon.minosoft.data.PlayerPropertyData; import de.bixilon.minosoft.data.entities.EntityMetaDataFields; import de.bixilon.minosoft.data.entities.EntityRotation; -import de.bixilon.minosoft.data.entities.Location; +import de.bixilon.minosoft.data.entities.Position; import de.bixilon.minosoft.data.entities.entities.EntityMetaDataFunction; import de.bixilon.minosoft.data.entities.entities.LivingEntity; import de.bixilon.minosoft.data.mappings.Item; @@ -33,14 +33,14 @@ public class PlayerEntity extends LivingEntity { private final HashSet properties; private Item currentItem; - public PlayerEntity(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) { - super(connection, entityId, uuid, location, rotation); + public PlayerEntity(Connection connection, int entityId, UUID uuid, Position position, EntityRotation rotation) { + super(connection, entityId, uuid, position, rotation); this.name = "Ghost Player"; this.properties = null; } - public PlayerEntity(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation, String name, @Nullable HashSet properties, Item currentItem) { - super(connection, entityId, uuid, location, rotation); + public PlayerEntity(Connection connection, int entityId, UUID uuid, Position position, EntityRotation rotation, String name, @Nullable HashSet properties, Item currentItem) { + super(connection, entityId, uuid, position, rotation); this.name = name; this.properties = properties; this.currentItem = currentItem; diff --git a/src/main/java/de/bixilon/minosoft/data/entities/entities/projectile/AbstractArrow.java b/src/main/java/de/bixilon/minosoft/data/entities/entities/projectile/AbstractArrow.java index e3955d0e3..c5a1898b8 100644 --- a/src/main/java/de/bixilon/minosoft/data/entities/entities/projectile/AbstractArrow.java +++ b/src/main/java/de/bixilon/minosoft/data/entities/entities/projectile/AbstractArrow.java @@ -15,7 +15,7 @@ package de.bixilon.minosoft.data.entities.entities.projectile; import de.bixilon.minosoft.data.entities.EntityMetaDataFields; import de.bixilon.minosoft.data.entities.EntityRotation; -import de.bixilon.minosoft.data.entities.Location; +import de.bixilon.minosoft.data.entities.Position; import de.bixilon.minosoft.data.entities.entities.EntityMetaDataFunction; import de.bixilon.minosoft.protocol.network.Connection; @@ -23,8 +23,8 @@ import java.util.UUID; public abstract class AbstractArrow extends Projectile { - public AbstractArrow(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) { - super(connection, entityId, uuid, location, rotation); + public AbstractArrow(Connection connection, int entityId, UUID uuid, Position position, EntityRotation rotation) { + super(connection, entityId, uuid, position, rotation); } private boolean getAbstractArrowFlag(int bitMask) { diff --git a/src/main/java/de/bixilon/minosoft/data/entities/entities/projectile/AbstractHurtingProjectile.java b/src/main/java/de/bixilon/minosoft/data/entities/entities/projectile/AbstractHurtingProjectile.java index e411ea240..cc35ca0c4 100644 --- a/src/main/java/de/bixilon/minosoft/data/entities/entities/projectile/AbstractHurtingProjectile.java +++ b/src/main/java/de/bixilon/minosoft/data/entities/entities/projectile/AbstractHurtingProjectile.java @@ -14,14 +14,14 @@ package de.bixilon.minosoft.data.entities.entities.projectile; import de.bixilon.minosoft.data.entities.EntityRotation; -import de.bixilon.minosoft.data.entities.Location; +import de.bixilon.minosoft.data.entities.Position; import de.bixilon.minosoft.protocol.network.Connection; import java.util.UUID; public abstract class AbstractHurtingProjectile extends Projectile { - public AbstractHurtingProjectile(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) { - super(connection, entityId, uuid, location, rotation); + public AbstractHurtingProjectile(Connection connection, int entityId, UUID uuid, Position position, EntityRotation rotation) { + super(connection, entityId, uuid, position, rotation); } } diff --git a/src/main/java/de/bixilon/minosoft/data/entities/entities/projectile/Arrow.java b/src/main/java/de/bixilon/minosoft/data/entities/entities/projectile/Arrow.java index 460c07fef..d2dcef402 100644 --- a/src/main/java/de/bixilon/minosoft/data/entities/entities/projectile/Arrow.java +++ b/src/main/java/de/bixilon/minosoft/data/entities/entities/projectile/Arrow.java @@ -15,7 +15,7 @@ package de.bixilon.minosoft.data.entities.entities.projectile; import de.bixilon.minosoft.data.entities.EntityMetaDataFields; import de.bixilon.minosoft.data.entities.EntityRotation; -import de.bixilon.minosoft.data.entities.Location; +import de.bixilon.minosoft.data.entities.Position; import de.bixilon.minosoft.data.entities.entities.EntityMetaDataFunction; import de.bixilon.minosoft.protocol.network.Connection; @@ -23,8 +23,8 @@ import java.util.UUID; public class Arrow extends AbstractArrow { - public Arrow(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) { - super(connection, entityId, uuid, location, rotation); + public Arrow(Connection connection, int entityId, UUID uuid, Position position, EntityRotation rotation) { + super(connection, entityId, uuid, position, rotation); } @EntityMetaDataFunction(name = "Effect color") diff --git a/src/main/java/de/bixilon/minosoft/data/entities/entities/projectile/DragonFireball.java b/src/main/java/de/bixilon/minosoft/data/entities/entities/projectile/DragonFireball.java index 4f3b4409b..2e7de8aab 100644 --- a/src/main/java/de/bixilon/minosoft/data/entities/entities/projectile/DragonFireball.java +++ b/src/main/java/de/bixilon/minosoft/data/entities/entities/projectile/DragonFireball.java @@ -14,14 +14,14 @@ package de.bixilon.minosoft.data.entities.entities.projectile; import de.bixilon.minosoft.data.entities.EntityRotation; -import de.bixilon.minosoft.data.entities.Location; +import de.bixilon.minosoft.data.entities.Position; import de.bixilon.minosoft.protocol.network.Connection; import java.util.UUID; public class DragonFireball extends AbstractHurtingProjectile { - public DragonFireball(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) { - super(connection, entityId, uuid, location, rotation); + public DragonFireball(Connection connection, int entityId, UUID uuid, Position position, EntityRotation rotation) { + super(connection, entityId, uuid, position, rotation); } } diff --git a/src/main/java/de/bixilon/minosoft/data/entities/entities/projectile/Fireball.java b/src/main/java/de/bixilon/minosoft/data/entities/entities/projectile/Fireball.java index e794c044d..310d3920b 100644 --- a/src/main/java/de/bixilon/minosoft/data/entities/entities/projectile/Fireball.java +++ b/src/main/java/de/bixilon/minosoft/data/entities/entities/projectile/Fireball.java @@ -15,7 +15,7 @@ package de.bixilon.minosoft.data.entities.entities.projectile; import de.bixilon.minosoft.data.entities.EntityMetaDataFields; import de.bixilon.minosoft.data.entities.EntityRotation; -import de.bixilon.minosoft.data.entities.Location; +import de.bixilon.minosoft.data.entities.Position; import de.bixilon.minosoft.data.entities.entities.EntityMetaDataFunction; import de.bixilon.minosoft.data.inventory.Slot; import de.bixilon.minosoft.protocol.network.Connection; @@ -25,8 +25,8 @@ import java.util.UUID; public abstract class Fireball extends AbstractHurtingProjectile { - public Fireball(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) { - super(connection, entityId, uuid, location, rotation); + public Fireball(Connection connection, int entityId, UUID uuid, Position position, EntityRotation rotation) { + super(connection, entityId, uuid, position, rotation); } @EntityMetaDataFunction(name = "Item") diff --git a/src/main/java/de/bixilon/minosoft/data/entities/entities/projectile/FireworkRocketEntity.java b/src/main/java/de/bixilon/minosoft/data/entities/entities/projectile/FireworkRocketEntity.java index 477d0e4dd..cea10721b 100644 --- a/src/main/java/de/bixilon/minosoft/data/entities/entities/projectile/FireworkRocketEntity.java +++ b/src/main/java/de/bixilon/minosoft/data/entities/entities/projectile/FireworkRocketEntity.java @@ -15,7 +15,7 @@ package de.bixilon.minosoft.data.entities.entities.projectile; import de.bixilon.minosoft.data.entities.EntityMetaDataFields; import de.bixilon.minosoft.data.entities.EntityRotation; -import de.bixilon.minosoft.data.entities.Location; +import de.bixilon.minosoft.data.entities.Position; import de.bixilon.minosoft.data.entities.entities.EntityMetaDataFunction; import de.bixilon.minosoft.data.inventory.Slot; import de.bixilon.minosoft.protocol.network.Connection; @@ -24,8 +24,8 @@ import javax.annotation.Nullable; import java.util.UUID; public class FireworkRocketEntity extends Projectile { - public FireworkRocketEntity(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) { - super(connection, entityId, uuid, location, rotation); + public FireworkRocketEntity(Connection connection, int entityId, UUID uuid, Position position, EntityRotation rotation) { + super(connection, entityId, uuid, position, rotation); } @EntityMetaDataFunction(name = "Item") diff --git a/src/main/java/de/bixilon/minosoft/data/entities/entities/projectile/FishingHook.java b/src/main/java/de/bixilon/minosoft/data/entities/entities/projectile/FishingHook.java index d09e44551..55ee12a1a 100644 --- a/src/main/java/de/bixilon/minosoft/data/entities/entities/projectile/FishingHook.java +++ b/src/main/java/de/bixilon/minosoft/data/entities/entities/projectile/FishingHook.java @@ -15,7 +15,7 @@ package de.bixilon.minosoft.data.entities.entities.projectile; import de.bixilon.minosoft.data.entities.EntityMetaDataFields; import de.bixilon.minosoft.data.entities.EntityRotation; -import de.bixilon.minosoft.data.entities.Location; +import de.bixilon.minosoft.data.entities.Position; import de.bixilon.minosoft.data.entities.entities.EntityMetaDataFunction; import de.bixilon.minosoft.protocol.network.Connection; @@ -23,8 +23,8 @@ import java.util.UUID; public class FishingHook extends Projectile { - public FishingHook(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) { - super(connection, entityId, uuid, location, rotation); + public FishingHook(Connection connection, int entityId, UUID uuid, Position position, EntityRotation rotation) { + super(connection, entityId, uuid, position, rotation); } @EntityMetaDataFunction(name = "Hooked entity id") diff --git a/src/main/java/de/bixilon/minosoft/data/entities/entities/projectile/LargeFireball.kt b/src/main/java/de/bixilon/minosoft/data/entities/entities/projectile/LargeFireball.kt index c43033174..61d17efd2 100644 --- a/src/main/java/de/bixilon/minosoft/data/entities/entities/projectile/LargeFireball.kt +++ b/src/main/java/de/bixilon/minosoft/data/entities/entities/projectile/LargeFireball.kt @@ -13,13 +13,13 @@ package de.bixilon.minosoft.data.entities.entities.projectile import de.bixilon.minosoft.data.entities.EntityRotation -import de.bixilon.minosoft.data.entities.Location +import de.bixilon.minosoft.data.entities.Position import de.bixilon.minosoft.data.inventory.Slot import de.bixilon.minosoft.data.mappings.ResourceLocation import de.bixilon.minosoft.protocol.network.Connection import java.util.* -class LargeFireball(connection: Connection?, entityId: Int, uuid: UUID?, location: Location?, rotation: EntityRotation?) : Fireball(connection, entityId, uuid, location, rotation) { +class LargeFireball(connection: Connection?, entityId: Int, uuid: UUID?, location: Position?, rotation: EntityRotation?) : Fireball(connection, entityId, uuid, location, rotation) { override fun getDefaultItem(): Slot { return Slot(connection.version, connection.mapping.itemRegistry.get(DEFAULT_ITEM)) diff --git a/src/main/java/de/bixilon/minosoft/data/entities/entities/projectile/LlamaSpit.java b/src/main/java/de/bixilon/minosoft/data/entities/entities/projectile/LlamaSpit.java index cca4d14b5..657f84881 100644 --- a/src/main/java/de/bixilon/minosoft/data/entities/entities/projectile/LlamaSpit.java +++ b/src/main/java/de/bixilon/minosoft/data/entities/entities/projectile/LlamaSpit.java @@ -14,14 +14,14 @@ package de.bixilon.minosoft.data.entities.entities.projectile; import de.bixilon.minosoft.data.entities.EntityRotation; -import de.bixilon.minosoft.data.entities.Location; +import de.bixilon.minosoft.data.entities.Position; import de.bixilon.minosoft.protocol.network.Connection; import java.util.UUID; public class LlamaSpit extends Projectile { - public LlamaSpit(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) { - super(connection, entityId, uuid, location, rotation); + public LlamaSpit(Connection connection, int entityId, UUID uuid, Position position, EntityRotation rotation) { + super(connection, entityId, uuid, position, rotation); } } diff --git a/src/main/java/de/bixilon/minosoft/data/entities/entities/projectile/Projectile.java b/src/main/java/de/bixilon/minosoft/data/entities/entities/projectile/Projectile.java index 61bd5336e..1ec1aebb0 100644 --- a/src/main/java/de/bixilon/minosoft/data/entities/entities/projectile/Projectile.java +++ b/src/main/java/de/bixilon/minosoft/data/entities/entities/projectile/Projectile.java @@ -14,7 +14,7 @@ package de.bixilon.minosoft.data.entities.entities.projectile; import de.bixilon.minosoft.data.entities.EntityRotation; -import de.bixilon.minosoft.data.entities.Location; +import de.bixilon.minosoft.data.entities.Position; import de.bixilon.minosoft.data.entities.entities.Entity; import de.bixilon.minosoft.protocol.network.Connection; @@ -22,8 +22,8 @@ import java.util.UUID; public abstract class Projectile extends Entity { - public Projectile(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) { - super(connection, entityId, uuid, location, rotation); + public Projectile(Connection connection, int entityId, UUID uuid, Position position, EntityRotation rotation) { + super(connection, entityId, uuid, position, rotation); } } diff --git a/src/main/java/de/bixilon/minosoft/data/entities/entities/projectile/ShulkerBullet.java b/src/main/java/de/bixilon/minosoft/data/entities/entities/projectile/ShulkerBullet.java index 4cd3987c4..f099e2e7b 100644 --- a/src/main/java/de/bixilon/minosoft/data/entities/entities/projectile/ShulkerBullet.java +++ b/src/main/java/de/bixilon/minosoft/data/entities/entities/projectile/ShulkerBullet.java @@ -14,14 +14,14 @@ package de.bixilon.minosoft.data.entities.entities.projectile; import de.bixilon.minosoft.data.entities.EntityRotation; -import de.bixilon.minosoft.data.entities.Location; +import de.bixilon.minosoft.data.entities.Position; import de.bixilon.minosoft.protocol.network.Connection; import java.util.UUID; public class ShulkerBullet extends Projectile { - public ShulkerBullet(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) { - super(connection, entityId, uuid, location, rotation); + public ShulkerBullet(Connection connection, int entityId, UUID uuid, Position position, EntityRotation rotation) { + super(connection, entityId, uuid, position, rotation); } } diff --git a/src/main/java/de/bixilon/minosoft/data/entities/entities/projectile/SmallFireball.kt b/src/main/java/de/bixilon/minosoft/data/entities/entities/projectile/SmallFireball.kt index 28d735692..800534c46 100644 --- a/src/main/java/de/bixilon/minosoft/data/entities/entities/projectile/SmallFireball.kt +++ b/src/main/java/de/bixilon/minosoft/data/entities/entities/projectile/SmallFireball.kt @@ -13,13 +13,13 @@ package de.bixilon.minosoft.data.entities.entities.projectile import de.bixilon.minosoft.data.entities.EntityRotation -import de.bixilon.minosoft.data.entities.Location +import de.bixilon.minosoft.data.entities.Position import de.bixilon.minosoft.data.inventory.Slot import de.bixilon.minosoft.data.mappings.ResourceLocation import de.bixilon.minosoft.protocol.network.Connection import java.util.* -class SmallFireball(connection: Connection?, entityId: Int, uuid: UUID?, location: Location?, rotation: EntityRotation?) : Fireball(connection, entityId, uuid, location, rotation) { +class SmallFireball(connection: Connection?, entityId: Int, uuid: UUID?, location: Position?, rotation: EntityRotation?) : Fireball(connection, entityId, uuid, location, rotation) { override fun getDefaultItem(): Slot { return Slot(connection.version, connection.mapping.itemRegistry.get(DEFAULT_ITEM)) } diff --git a/src/main/java/de/bixilon/minosoft/data/entities/entities/projectile/SpectralArrow.java b/src/main/java/de/bixilon/minosoft/data/entities/entities/projectile/SpectralArrow.java index 241129ed5..2b00adca6 100644 --- a/src/main/java/de/bixilon/minosoft/data/entities/entities/projectile/SpectralArrow.java +++ b/src/main/java/de/bixilon/minosoft/data/entities/entities/projectile/SpectralArrow.java @@ -14,14 +14,14 @@ package de.bixilon.minosoft.data.entities.entities.projectile; import de.bixilon.minosoft.data.entities.EntityRotation; -import de.bixilon.minosoft.data.entities.Location; +import de.bixilon.minosoft.data.entities.Position; import de.bixilon.minosoft.protocol.network.Connection; import java.util.UUID; public class SpectralArrow extends AbstractArrow { - public SpectralArrow(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) { - super(connection, entityId, uuid, location, rotation); + public SpectralArrow(Connection connection, int entityId, UUID uuid, Position position, EntityRotation rotation) { + super(connection, entityId, uuid, position, rotation); } } diff --git a/src/main/java/de/bixilon/minosoft/data/entities/entities/projectile/ThrowableItemProjectile.java b/src/main/java/de/bixilon/minosoft/data/entities/entities/projectile/ThrowableItemProjectile.java index dd1faeb10..fe54d6e57 100644 --- a/src/main/java/de/bixilon/minosoft/data/entities/entities/projectile/ThrowableItemProjectile.java +++ b/src/main/java/de/bixilon/minosoft/data/entities/entities/projectile/ThrowableItemProjectile.java @@ -15,7 +15,7 @@ package de.bixilon.minosoft.data.entities.entities.projectile; import de.bixilon.minosoft.data.entities.EntityMetaDataFields; import de.bixilon.minosoft.data.entities.EntityRotation; -import de.bixilon.minosoft.data.entities.Location; +import de.bixilon.minosoft.data.entities.Position; import de.bixilon.minosoft.data.entities.entities.EntityMetaDataFunction; import de.bixilon.minosoft.data.inventory.Slot; import de.bixilon.minosoft.protocol.network.Connection; @@ -24,8 +24,8 @@ import java.util.UUID; public abstract class ThrowableItemProjectile extends ThrowableProjectile { - public ThrowableItemProjectile(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) { - super(connection, entityId, uuid, location, rotation); + public ThrowableItemProjectile(Connection connection, int entityId, UUID uuid, Position position, EntityRotation rotation) { + super(connection, entityId, uuid, position, rotation); } @EntityMetaDataFunction(name = "Item") diff --git a/src/main/java/de/bixilon/minosoft/data/entities/entities/projectile/ThrowableProjectile.java b/src/main/java/de/bixilon/minosoft/data/entities/entities/projectile/ThrowableProjectile.java index 7b20f072a..9361abb7d 100644 --- a/src/main/java/de/bixilon/minosoft/data/entities/entities/projectile/ThrowableProjectile.java +++ b/src/main/java/de/bixilon/minosoft/data/entities/entities/projectile/ThrowableProjectile.java @@ -14,15 +14,15 @@ package de.bixilon.minosoft.data.entities.entities.projectile; import de.bixilon.minosoft.data.entities.EntityRotation; -import de.bixilon.minosoft.data.entities.Location; +import de.bixilon.minosoft.data.entities.Position; import de.bixilon.minosoft.protocol.network.Connection; import java.util.UUID; public abstract class ThrowableProjectile extends Projectile { - public ThrowableProjectile(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) { - super(connection, entityId, uuid, location, rotation); + public ThrowableProjectile(Connection connection, int entityId, UUID uuid, Position position, EntityRotation rotation) { + super(connection, entityId, uuid, position, rotation); } } diff --git a/src/main/java/de/bixilon/minosoft/data/entities/entities/projectile/ThrownEgg.kt b/src/main/java/de/bixilon/minosoft/data/entities/entities/projectile/ThrownEgg.kt index 223ec5bb9..c1a41d897 100644 --- a/src/main/java/de/bixilon/minosoft/data/entities/entities/projectile/ThrownEgg.kt +++ b/src/main/java/de/bixilon/minosoft/data/entities/entities/projectile/ThrownEgg.kt @@ -13,13 +13,13 @@ package de.bixilon.minosoft.data.entities.entities.projectile import de.bixilon.minosoft.data.entities.EntityRotation -import de.bixilon.minosoft.data.entities.Location +import de.bixilon.minosoft.data.entities.Position import de.bixilon.minosoft.data.inventory.Slot import de.bixilon.minosoft.data.mappings.ResourceLocation import de.bixilon.minosoft.protocol.network.Connection import java.util.* -class ThrownEgg(connection: Connection, entityId: Int, uuid: UUID?, location: Location?, rotation: EntityRotation?) : ThrowableItemProjectile(connection, entityId, uuid, location, rotation) { +class ThrownEgg(connection: Connection, entityId: Int, uuid: UUID?, location: Position?, rotation: EntityRotation?) : ThrowableItemProjectile(connection, entityId, uuid, location, rotation) { override fun getDefaultItem(): Slot { return Slot(connection.version, connection.mapping.itemRegistry.get(DEFAULT_ITEM)) diff --git a/src/main/java/de/bixilon/minosoft/data/entities/entities/projectile/ThrownEnderPearl.kt b/src/main/java/de/bixilon/minosoft/data/entities/entities/projectile/ThrownEnderPearl.kt index 3a74cf59d..e93cdcb5a 100644 --- a/src/main/java/de/bixilon/minosoft/data/entities/entities/projectile/ThrownEnderPearl.kt +++ b/src/main/java/de/bixilon/minosoft/data/entities/entities/projectile/ThrownEnderPearl.kt @@ -13,13 +13,13 @@ package de.bixilon.minosoft.data.entities.entities.projectile import de.bixilon.minosoft.data.entities.EntityRotation -import de.bixilon.minosoft.data.entities.Location +import de.bixilon.minosoft.data.entities.Position import de.bixilon.minosoft.data.inventory.Slot import de.bixilon.minosoft.data.mappings.ResourceLocation import de.bixilon.minosoft.protocol.network.Connection import java.util.* -class ThrownEnderPearl(connection: Connection?, entityId: Int, uuid: UUID?, location: Location?, rotation: EntityRotation?) : ThrowableItemProjectile(connection, entityId, uuid, location, rotation) { +class ThrownEnderPearl(connection: Connection?, entityId: Int, uuid: UUID?, location: Position?, rotation: EntityRotation?) : ThrowableItemProjectile(connection, entityId, uuid, location, rotation) { override fun getDefaultItem(): Slot { return Slot(connection.version, connection.mapping.itemRegistry.get(DEFAULT_ITEM)) diff --git a/src/main/java/de/bixilon/minosoft/data/entities/entities/projectile/ThrownExperienceBottle.kt b/src/main/java/de/bixilon/minosoft/data/entities/entities/projectile/ThrownExperienceBottle.kt index 9e583fbdd..5006e93b2 100644 --- a/src/main/java/de/bixilon/minosoft/data/entities/entities/projectile/ThrownExperienceBottle.kt +++ b/src/main/java/de/bixilon/minosoft/data/entities/entities/projectile/ThrownExperienceBottle.kt @@ -13,13 +13,13 @@ package de.bixilon.minosoft.data.entities.entities.projectile import de.bixilon.minosoft.data.entities.EntityRotation -import de.bixilon.minosoft.data.entities.Location +import de.bixilon.minosoft.data.entities.Position import de.bixilon.minosoft.data.inventory.Slot import de.bixilon.minosoft.data.mappings.ResourceLocation import de.bixilon.minosoft.protocol.network.Connection import java.util.* -class ThrownExperienceBottle(connection: Connection?, entityId: Int, uuid: UUID?, location: Location?, rotation: EntityRotation?) : ThrowableItemProjectile(connection, entityId, uuid, location, rotation) { +class ThrownExperienceBottle(connection: Connection?, entityId: Int, uuid: UUID?, location: Position?, rotation: EntityRotation?) : ThrowableItemProjectile(connection, entityId, uuid, location, rotation) { override fun getDefaultItem(): Slot { return Slot(connection.version, connection.mapping.itemRegistry.get(DEFAULT_ITEM)) diff --git a/src/main/java/de/bixilon/minosoft/data/entities/entities/projectile/ThrownEyeOfEnder.kt b/src/main/java/de/bixilon/minosoft/data/entities/entities/projectile/ThrownEyeOfEnder.kt index b467fca3f..3d2911d4b 100644 --- a/src/main/java/de/bixilon/minosoft/data/entities/entities/projectile/ThrownEyeOfEnder.kt +++ b/src/main/java/de/bixilon/minosoft/data/entities/entities/projectile/ThrownEyeOfEnder.kt @@ -14,7 +14,7 @@ package de.bixilon.minosoft.data.entities.entities.projectile import de.bixilon.minosoft.data.entities.EntityMetaDataFields import de.bixilon.minosoft.data.entities.EntityRotation -import de.bixilon.minosoft.data.entities.Location +import de.bixilon.minosoft.data.entities.Position import de.bixilon.minosoft.data.entities.entities.Entity import de.bixilon.minosoft.data.entities.entities.EntityMetaDataFunction import de.bixilon.minosoft.data.inventory.Slot @@ -22,7 +22,7 @@ import de.bixilon.minosoft.data.mappings.ResourceLocation import de.bixilon.minosoft.protocol.network.Connection import java.util.* -class ThrownEyeOfEnder(connection: Connection?, entityId: Int, uuid: UUID?, location: Location?, rotation: EntityRotation?) : Entity(connection, entityId, uuid, location, rotation) { +class ThrownEyeOfEnder(connection: Connection?, entityId: Int, uuid: UUID?, location: Position?, rotation: EntityRotation?) : Entity(connection, entityId, uuid, location, rotation) { @get:EntityMetaDataFunction(name = "Item") val item: Slot diff --git a/src/main/java/de/bixilon/minosoft/data/entities/entities/projectile/ThrownPotion.java b/src/main/java/de/bixilon/minosoft/data/entities/entities/projectile/ThrownPotion.java index b94e1b907..f398612fd 100644 --- a/src/main/java/de/bixilon/minosoft/data/entities/entities/projectile/ThrownPotion.java +++ b/src/main/java/de/bixilon/minosoft/data/entities/entities/projectile/ThrownPotion.java @@ -15,7 +15,7 @@ package de.bixilon.minosoft.data.entities.entities.projectile; import de.bixilon.minosoft.data.entities.EntityMetaDataFields; import de.bixilon.minosoft.data.entities.EntityRotation; -import de.bixilon.minosoft.data.entities.Location; +import de.bixilon.minosoft.data.entities.Position; import de.bixilon.minosoft.data.entities.entities.EntityMetaDataFunction; import de.bixilon.minosoft.data.inventory.Slot; import de.bixilon.minosoft.protocol.network.Connection; @@ -27,8 +27,8 @@ import static de.bixilon.minosoft.protocol.protocol.ProtocolVersions.V_20W09A; public class ThrownPotion extends ThrowableItemProjectile { private static final Slot DEFAULT_ITEM = null; - public ThrownPotion(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) { - super(connection, entityId, uuid, location, rotation); + public ThrownPotion(Connection connection, int entityId, UUID uuid, Position position, EntityRotation rotation) { + super(connection, entityId, uuid, position, rotation); } @EntityMetaDataFunction(name = "Item") diff --git a/src/main/java/de/bixilon/minosoft/data/entities/entities/projectile/ThrownSnowball.kt b/src/main/java/de/bixilon/minosoft/data/entities/entities/projectile/ThrownSnowball.kt index 6fa2f9547..e65aeed1f 100644 --- a/src/main/java/de/bixilon/minosoft/data/entities/entities/projectile/ThrownSnowball.kt +++ b/src/main/java/de/bixilon/minosoft/data/entities/entities/projectile/ThrownSnowball.kt @@ -13,13 +13,13 @@ package de.bixilon.minosoft.data.entities.entities.projectile import de.bixilon.minosoft.data.entities.EntityRotation -import de.bixilon.minosoft.data.entities.Location +import de.bixilon.minosoft.data.entities.Position import de.bixilon.minosoft.data.inventory.Slot import de.bixilon.minosoft.data.mappings.ResourceLocation import de.bixilon.minosoft.protocol.network.Connection import java.util.* -class ThrownSnowball(connection: Connection?, entityId: Int, uuid: UUID?, location: Location?, rotation: EntityRotation?) : ThrowableItemProjectile(connection, entityId, uuid, location, rotation) { +class ThrownSnowball(connection: Connection?, entityId: Int, uuid: UUID?, location: Position?, rotation: EntityRotation?) : ThrowableItemProjectile(connection, entityId, uuid, location, rotation) { override fun getDefaultItem(): Slot { return Slot(connection.version, connection.mapping.itemRegistry.get(DEFAULT_ITEM)) diff --git a/src/main/java/de/bixilon/minosoft/data/entities/entities/projectile/ThrownTrident.java b/src/main/java/de/bixilon/minosoft/data/entities/entities/projectile/ThrownTrident.java index 8904b772b..f51f49232 100644 --- a/src/main/java/de/bixilon/minosoft/data/entities/entities/projectile/ThrownTrident.java +++ b/src/main/java/de/bixilon/minosoft/data/entities/entities/projectile/ThrownTrident.java @@ -15,7 +15,7 @@ package de.bixilon.minosoft.data.entities.entities.projectile; import de.bixilon.minosoft.data.entities.EntityMetaDataFields; import de.bixilon.minosoft.data.entities.EntityRotation; -import de.bixilon.minosoft.data.entities.Location; +import de.bixilon.minosoft.data.entities.Position; import de.bixilon.minosoft.data.entities.entities.EntityMetaDataFunction; import de.bixilon.minosoft.protocol.network.Connection; @@ -23,8 +23,8 @@ import java.util.UUID; public class ThrownTrident extends AbstractArrow { - public ThrownTrident(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) { - super(connection, entityId, uuid, location, rotation); + public ThrownTrident(Connection connection, int entityId, UUID uuid, Position position, EntityRotation rotation) { + super(connection, entityId, uuid, position, rotation); } @EntityMetaDataFunction(name = "Loyalty level") diff --git a/src/main/java/de/bixilon/minosoft/data/entities/entities/projectile/WitherSkull.java b/src/main/java/de/bixilon/minosoft/data/entities/entities/projectile/WitherSkull.java index 5af789a28..0260cc9bf 100644 --- a/src/main/java/de/bixilon/minosoft/data/entities/entities/projectile/WitherSkull.java +++ b/src/main/java/de/bixilon/minosoft/data/entities/entities/projectile/WitherSkull.java @@ -15,7 +15,7 @@ package de.bixilon.minosoft.data.entities.entities.projectile; import de.bixilon.minosoft.data.entities.EntityMetaDataFields; import de.bixilon.minosoft.data.entities.EntityRotation; -import de.bixilon.minosoft.data.entities.Location; +import de.bixilon.minosoft.data.entities.Position; import de.bixilon.minosoft.data.entities.entities.EntityMetaDataFunction; import de.bixilon.minosoft.protocol.network.Connection; @@ -23,8 +23,8 @@ import java.util.UUID; public class WitherSkull extends AbstractHurtingProjectile { - public WitherSkull(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) { - super(connection, entityId, uuid, location, rotation); + public WitherSkull(Connection connection, int entityId, UUID uuid, Position position, EntityRotation rotation) { + super(connection, entityId, uuid, position, rotation); } @EntityMetaDataFunction(name = "Is dangerous") diff --git a/src/main/java/de/bixilon/minosoft/data/entities/entities/vehicle/AbstractMinecart.java b/src/main/java/de/bixilon/minosoft/data/entities/entities/vehicle/AbstractMinecart.java index 6a2b75a52..8041f1055 100644 --- a/src/main/java/de/bixilon/minosoft/data/entities/entities/vehicle/AbstractMinecart.java +++ b/src/main/java/de/bixilon/minosoft/data/entities/entities/vehicle/AbstractMinecart.java @@ -15,7 +15,7 @@ package de.bixilon.minosoft.data.entities.entities.vehicle; import de.bixilon.minosoft.data.entities.EntityMetaDataFields; import de.bixilon.minosoft.data.entities.EntityRotation; -import de.bixilon.minosoft.data.entities.Location; +import de.bixilon.minosoft.data.entities.Position; import de.bixilon.minosoft.data.entities.entities.Entity; import de.bixilon.minosoft.data.entities.entities.EntityMetaDataFunction; import de.bixilon.minosoft.protocol.network.Connection; @@ -24,8 +24,8 @@ import java.util.UUID; public abstract class AbstractMinecart extends Entity { - public AbstractMinecart(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) { - super(connection, entityId, uuid, location, rotation); + public AbstractMinecart(Connection connection, int entityId, UUID uuid, Position position, EntityRotation rotation) { + super(connection, entityId, uuid, position, rotation); } @EntityMetaDataFunction(name = "Shaking power") diff --git a/src/main/java/de/bixilon/minosoft/data/entities/entities/vehicle/AbstractMinecartContainer.java b/src/main/java/de/bixilon/minosoft/data/entities/entities/vehicle/AbstractMinecartContainer.java index 4d71b6fdd..ff3c8e129 100644 --- a/src/main/java/de/bixilon/minosoft/data/entities/entities/vehicle/AbstractMinecartContainer.java +++ b/src/main/java/de/bixilon/minosoft/data/entities/entities/vehicle/AbstractMinecartContainer.java @@ -14,14 +14,14 @@ package de.bixilon.minosoft.data.entities.entities.vehicle; import de.bixilon.minosoft.data.entities.EntityRotation; -import de.bixilon.minosoft.data.entities.Location; +import de.bixilon.minosoft.data.entities.Position; import de.bixilon.minosoft.protocol.network.Connection; import java.util.UUID; public abstract class AbstractMinecartContainer extends AbstractMinecart { - public AbstractMinecartContainer(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) { - super(connection, entityId, uuid, location, rotation); + public AbstractMinecartContainer(Connection connection, int entityId, UUID uuid, Position position, EntityRotation rotation) { + super(connection, entityId, uuid, position, rotation); } } diff --git a/src/main/java/de/bixilon/minosoft/data/entities/entities/vehicle/Boat.java b/src/main/java/de/bixilon/minosoft/data/entities/entities/vehicle/Boat.java index 031e292d3..e439b71ea 100644 --- a/src/main/java/de/bixilon/minosoft/data/entities/entities/vehicle/Boat.java +++ b/src/main/java/de/bixilon/minosoft/data/entities/entities/vehicle/Boat.java @@ -15,7 +15,7 @@ package de.bixilon.minosoft.data.entities.entities.vehicle; import de.bixilon.minosoft.data.entities.EntityMetaDataFields; import de.bixilon.minosoft.data.entities.EntityRotation; -import de.bixilon.minosoft.data.entities.Location; +import de.bixilon.minosoft.data.entities.Position; import de.bixilon.minosoft.data.entities.entities.Entity; import de.bixilon.minosoft.data.entities.entities.EntityMetaDataFunction; import de.bixilon.minosoft.protocol.network.Connection; @@ -24,8 +24,8 @@ import java.util.UUID; public class Boat extends Entity { - public Boat(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) { - super(connection, entityId, uuid, location, rotation); + public Boat(Connection connection, int entityId, UUID uuid, Position position, EntityRotation rotation) { + super(connection, entityId, uuid, position, rotation); } @EntityMetaDataFunction(name = "Time since last hit") diff --git a/src/main/java/de/bixilon/minosoft/data/entities/entities/vehicle/Minecart.java b/src/main/java/de/bixilon/minosoft/data/entities/entities/vehicle/Minecart.java index 13b624ab1..49671d905 100644 --- a/src/main/java/de/bixilon/minosoft/data/entities/entities/vehicle/Minecart.java +++ b/src/main/java/de/bixilon/minosoft/data/entities/entities/vehicle/Minecart.java @@ -14,14 +14,14 @@ package de.bixilon.minosoft.data.entities.entities.vehicle; import de.bixilon.minosoft.data.entities.EntityRotation; -import de.bixilon.minosoft.data.entities.Location; +import de.bixilon.minosoft.data.entities.Position; import de.bixilon.minosoft.protocol.network.Connection; import java.util.UUID; public class Minecart extends AbstractMinecart { - public Minecart(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) { - super(connection, entityId, uuid, location, rotation); + public Minecart(Connection connection, int entityId, UUID uuid, Position position, EntityRotation rotation) { + super(connection, entityId, uuid, position, rotation); } } diff --git a/src/main/java/de/bixilon/minosoft/data/entities/entities/vehicle/MinecartChest.java b/src/main/java/de/bixilon/minosoft/data/entities/entities/vehicle/MinecartChest.java index 5e05ce2de..791beb94e 100644 --- a/src/main/java/de/bixilon/minosoft/data/entities/entities/vehicle/MinecartChest.java +++ b/src/main/java/de/bixilon/minosoft/data/entities/entities/vehicle/MinecartChest.java @@ -14,14 +14,14 @@ package de.bixilon.minosoft.data.entities.entities.vehicle; import de.bixilon.minosoft.data.entities.EntityRotation; -import de.bixilon.minosoft.data.entities.Location; +import de.bixilon.minosoft.data.entities.Position; import de.bixilon.minosoft.protocol.network.Connection; import java.util.UUID; public class MinecartChest extends AbstractMinecart { - public MinecartChest(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) { - super(connection, entityId, uuid, location, rotation); + public MinecartChest(Connection connection, int entityId, UUID uuid, Position position, EntityRotation rotation) { + super(connection, entityId, uuid, position, rotation); } } diff --git a/src/main/java/de/bixilon/minosoft/data/entities/entities/vehicle/MinecartCommandBlock.java b/src/main/java/de/bixilon/minosoft/data/entities/entities/vehicle/MinecartCommandBlock.java index b18ca4d84..eb1f5b2a4 100644 --- a/src/main/java/de/bixilon/minosoft/data/entities/entities/vehicle/MinecartCommandBlock.java +++ b/src/main/java/de/bixilon/minosoft/data/entities/entities/vehicle/MinecartCommandBlock.java @@ -15,7 +15,7 @@ package de.bixilon.minosoft.data.entities.entities.vehicle; import de.bixilon.minosoft.data.entities.EntityMetaDataFields; import de.bixilon.minosoft.data.entities.EntityRotation; -import de.bixilon.minosoft.data.entities.Location; +import de.bixilon.minosoft.data.entities.Position; import de.bixilon.minosoft.data.entities.entities.EntityMetaDataFunction; import de.bixilon.minosoft.data.text.ChatComponent; import de.bixilon.minosoft.protocol.network.Connection; @@ -24,8 +24,8 @@ import java.util.UUID; public class MinecartCommandBlock extends AbstractMinecart { - public MinecartCommandBlock(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) { - super(connection, entityId, uuid, location, rotation); + public MinecartCommandBlock(Connection connection, int entityId, UUID uuid, Position position, EntityRotation rotation) { + super(connection, entityId, uuid, position, rotation); } @EntityMetaDataFunction(name = "Command") diff --git a/src/main/java/de/bixilon/minosoft/data/entities/entities/vehicle/MinecartFurnace.java b/src/main/java/de/bixilon/minosoft/data/entities/entities/vehicle/MinecartFurnace.java index 3a238325d..4c4dd27b0 100644 --- a/src/main/java/de/bixilon/minosoft/data/entities/entities/vehicle/MinecartFurnace.java +++ b/src/main/java/de/bixilon/minosoft/data/entities/entities/vehicle/MinecartFurnace.java @@ -15,7 +15,7 @@ package de.bixilon.minosoft.data.entities.entities.vehicle; import de.bixilon.minosoft.data.entities.EntityMetaDataFields; import de.bixilon.minosoft.data.entities.EntityRotation; -import de.bixilon.minosoft.data.entities.Location; +import de.bixilon.minosoft.data.entities.Position; import de.bixilon.minosoft.data.entities.entities.EntityMetaDataFunction; import de.bixilon.minosoft.protocol.network.Connection; @@ -23,8 +23,8 @@ import java.util.UUID; public class MinecartFurnace extends AbstractMinecartContainer { - public MinecartFurnace(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) { - super(connection, entityId, uuid, location, rotation); + public MinecartFurnace(Connection connection, int entityId, UUID uuid, Position position, EntityRotation rotation) { + super(connection, entityId, uuid, position, rotation); } @EntityMetaDataFunction(name = "Has fuel") diff --git a/src/main/java/de/bixilon/minosoft/data/entities/entities/vehicle/MinecartHopper.java b/src/main/java/de/bixilon/minosoft/data/entities/entities/vehicle/MinecartHopper.java index 69ed7b065..6bfa58d62 100644 --- a/src/main/java/de/bixilon/minosoft/data/entities/entities/vehicle/MinecartHopper.java +++ b/src/main/java/de/bixilon/minosoft/data/entities/entities/vehicle/MinecartHopper.java @@ -14,14 +14,14 @@ package de.bixilon.minosoft.data.entities.entities.vehicle; import de.bixilon.minosoft.data.entities.EntityRotation; -import de.bixilon.minosoft.data.entities.Location; +import de.bixilon.minosoft.data.entities.Position; import de.bixilon.minosoft.protocol.network.Connection; import java.util.UUID; public class MinecartHopper extends AbstractMinecartContainer { - public MinecartHopper(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) { - super(connection, entityId, uuid, location, rotation); + public MinecartHopper(Connection connection, int entityId, UUID uuid, Position position, EntityRotation rotation) { + super(connection, entityId, uuid, position, rotation); } } diff --git a/src/main/java/de/bixilon/minosoft/data/entities/entities/vehicle/MinecartSpawner.java b/src/main/java/de/bixilon/minosoft/data/entities/entities/vehicle/MinecartSpawner.java index f31d0266e..a56f1317f 100644 --- a/src/main/java/de/bixilon/minosoft/data/entities/entities/vehicle/MinecartSpawner.java +++ b/src/main/java/de/bixilon/minosoft/data/entities/entities/vehicle/MinecartSpawner.java @@ -14,14 +14,14 @@ package de.bixilon.minosoft.data.entities.entities.vehicle; import de.bixilon.minosoft.data.entities.EntityRotation; -import de.bixilon.minosoft.data.entities.Location; +import de.bixilon.minosoft.data.entities.Position; import de.bixilon.minosoft.protocol.network.Connection; import java.util.UUID; public class MinecartSpawner extends AbstractMinecart { - public MinecartSpawner(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) { - super(connection, entityId, uuid, location, rotation); + public MinecartSpawner(Connection connection, int entityId, UUID uuid, Position position, EntityRotation rotation) { + super(connection, entityId, uuid, position, rotation); } } diff --git a/src/main/java/de/bixilon/minosoft/data/entities/entities/vehicle/MinecartTNT.java b/src/main/java/de/bixilon/minosoft/data/entities/entities/vehicle/MinecartTNT.java index 571cfbb31..cfdc28f2b 100644 --- a/src/main/java/de/bixilon/minosoft/data/entities/entities/vehicle/MinecartTNT.java +++ b/src/main/java/de/bixilon/minosoft/data/entities/entities/vehicle/MinecartTNT.java @@ -14,14 +14,14 @@ package de.bixilon.minosoft.data.entities.entities.vehicle; import de.bixilon.minosoft.data.entities.EntityRotation; -import de.bixilon.minosoft.data.entities.Location; +import de.bixilon.minosoft.data.entities.Position; import de.bixilon.minosoft.protocol.network.Connection; import java.util.UUID; public class MinecartTNT extends AbstractMinecart { - public MinecartTNT(Connection connection, int entityId, UUID uuid, Location location, EntityRotation rotation) { - super(connection, entityId, uuid, location, rotation); + public MinecartTNT(Connection connection, int entityId, UUID uuid, Position position, EntityRotation rotation) { + super(connection, entityId, uuid, position, rotation); } } diff --git a/src/main/java/de/bixilon/minosoft/data/mappings/biomes/Biome.kt b/src/main/java/de/bixilon/minosoft/data/mappings/biomes/Biome.kt index d6a3ec8fe..5bbbed479 100644 --- a/src/main/java/de/bixilon/minosoft/data/mappings/biomes/Biome.kt +++ b/src/main/java/de/bixilon/minosoft/data/mappings/biomes/Biome.kt @@ -73,7 +73,7 @@ data class Biome( descriptionId = data["water_fog_color"]?.asString, grassColorModifier = data["grass_color_modifier"]?.asString?.toUpperCase()?.let { GrassColorModifiers.valueOf(it) } ?: when (resourceLocation) { ResourceLocation("minecraft:swamp"), ResourceLocation("minecraft:swamp_hills") -> GrassColorModifiers.SWAMP - ResourceLocation("minecraft:dark_forest"), ResourceLocation("minecraft:dark_forest_hills") -> GrassColorModifiers.DARK_FORREST + ResourceLocation("minecraft:dark_forest"), ResourceLocation("minecraft:dark_forest_hills") -> GrassColorModifiers.DARK_FOREST else -> GrassColorModifiers.NONE } @@ -87,7 +87,7 @@ data class Biome( enum class GrassColorModifiers(val modifier: (color: RGBColor) -> RGBColor) { NONE({ color: RGBColor -> color }), - DARK_FORREST({ color: RGBColor -> RGBColor(color.color + 2634762 shl 8) }), + DARK_FOREST({ color: RGBColor -> RGBColor(color.color + 2634762 shl 8) }), SWAMP({ // ToDo: Minecraft uses PerlinSimplexNoise here RGBColor("#6A7039") diff --git a/src/main/java/de/bixilon/minosoft/data/mappings/statistics/StatisticCategories.java b/src/main/java/de/bixilon/minosoft/data/mappings/statistics/StatisticCategories.java index 3ae24dc99..30dee2032 100644 --- a/src/main/java/de/bixilon/minosoft/data/mappings/statistics/StatisticCategories.java +++ b/src/main/java/de/bixilon/minosoft/data/mappings/statistics/StatisticCategories.java @@ -27,6 +27,8 @@ public enum StatisticCategories { KILLED(new ChangeableResourceLocation("minecraft.killed"), 6), KILLED_BY(new ChangeableResourceLocation("minecraft.killed_by"), 7), CUSTOM(new ChangeableResourceLocation("minecraft.custom"), 8); + + private final ChangeableResourceLocation changeableResourceLocation; private final int id; diff --git a/src/main/java/de/bixilon/minosoft/data/mappings/tweaker/VersionTweaker.kt b/src/main/java/de/bixilon/minosoft/data/mappings/tweaker/VersionTweaker.kt index 799685306..ce491ffb7 100644 --- a/src/main/java/de/bixilon/minosoft/data/mappings/tweaker/VersionTweaker.kt +++ b/src/main/java/de/bixilon/minosoft/data/mappings/tweaker/VersionTweaker.kt @@ -21,9 +21,8 @@ import de.bixilon.minosoft.data.entities.entities.vehicle.* import de.bixilon.minosoft.data.mappings.ResourceLocation import de.bixilon.minosoft.data.mappings.blocks.BlockState import de.bixilon.minosoft.data.world.BlockInfo -import de.bixilon.minosoft.data.world.Chunk -import de.bixilon.minosoft.data.world.InChunkLocation -import de.bixilon.minosoft.data.world.InChunkSectionLocation +import de.bixilon.minosoft.data.world.ChunkSection +import de.bixilon.minosoft.data.world.InChunkSectionPosition import de.bixilon.minosoft.protocol.protocol.ProtocolDefinition import de.bixilon.minosoft.protocol.protocol.ProtocolVersions @@ -88,14 +87,14 @@ object VersionTweaker { } @JvmStatic - fun transformChunk(chunk: Chunk, versionId: Int): Chunk { + fun transformSections(sections: Map, versionId: Int) { // some blocks need to be tweaked. eg. Grass with a snow block on top becomes snowy grass block if (versionId >= ProtocolDefinition.FLATTING_VERSION_ID) { - return chunk + return } - for ((sectionHeight, section) in chunk.sections) { + for ((sectionHeight, section) in sections) { for ((location, blockInfo) in section.blocks) { - val newBlock = transformBlock(blockInfo.block, chunk, location, sectionHeight) + val newBlock = transformBlock(blockInfo.block, sections, location, sectionHeight) if (newBlock === blockInfo.block) { continue } @@ -106,16 +105,15 @@ object VersionTweaker { section.setBlockInfo(location, BlockInfo(newBlock, blockInfo.metaData)) } } - return chunk } // ToDo: Broken @JvmStatic - fun transformBlock(originalBlock: BlockState, chunk: Chunk, location: InChunkSectionLocation, sectionHeight: Int): BlockState? { + fun transformBlock(originalBlock: BlockState, sections: Map, position: InChunkSectionPosition, sectionHeight: Int): BlockState? { when (originalBlock.owner.resourceLocation) { ResourceLocation("minecraft:grass") -> { - getBlockAbove(chunk, location, sectionHeight)?.let { + getBlockAbove(sections, position, sectionHeight)?.let { if (it.owner.resourceLocation == TweakBlocks.SNOW_RESOURCE_LOCATION || it.owner.resourceLocation == TweakBlocks.SNOW_LAYER_RESOURCE_LOCAION) { return TweakBlocks.GRASS_BLOCK_SNOWY_YES } @@ -126,8 +124,7 @@ object VersionTweaker { return originalBlock } - private fun getBlockAbove(chunk: Chunk, location: InChunkSectionLocation, sectionHeight: Int): BlockState? { - val above = location.getInChunkLocation(sectionHeight) - return chunk.getBlockInfo(InChunkLocation(above.x, above.y + 1, above.z))?.block + private fun getBlockAbove(sections: Map, position: InChunkSectionPosition, sectionHeight: Int): BlockState? { + return sections[sectionHeight]?.getBlockInfo(position)?.block } } diff --git a/src/main/java/de/bixilon/minosoft/data/text/BaseComponent.java b/src/main/java/de/bixilon/minosoft/data/text/BaseComponent.java index 522bd8e21..745b13d1a 100644 --- a/src/main/java/de/bixilon/minosoft/data/text/BaseComponent.java +++ b/src/main/java/de/bixilon/minosoft/data/text/BaseComponent.java @@ -49,7 +49,7 @@ public class BaseComponent extends ChatComponent { public BaseComponent(MinecraftLocaleManager localeManager, @Nullable ChatComponent parent, String text) { // legacy String StringBuilder currentText = new StringBuilder(); - RGBColor color = ChatColors.WHITE; + RGBColor color = null; BetterHashSet formattingCodes = new BetterHashSet<>(); StringCharacterIterator iterator = new StringCharacterIterator(text); while (iterator.current() != CharacterIterator.DONE) { @@ -180,7 +180,7 @@ public class BaseComponent extends ChatComponent { @Override public String toString() { - return PostChatFormattingCodes.RESET.getANSI() + getANSIColoredMessage(); + return getLegacyText(); } @Override @@ -245,4 +245,16 @@ public class BaseComponent extends ChatComponent { public boolean isEmpty() { return this.parts.isEmpty(); } + + public void applyDefaultColor(RGBColor color) { + for (var part : this.parts) { + if (part instanceof BaseComponent baseComponent) { + baseComponent.applyDefaultColor(color); + } else if (part instanceof TextComponent textComponent) { + if (textComponent.getColor() == null) { + textComponent.setColor(color); + } + } + } + } } diff --git a/src/main/java/de/bixilon/minosoft/data/text/TextComponent.kt b/src/main/java/de/bixilon/minosoft/data/text/TextComponent.kt index a020bcf8f..f231d5b87 100644 --- a/src/main/java/de/bixilon/minosoft/data/text/TextComponent.kt +++ b/src/main/java/de/bixilon/minosoft/data/text/TextComponent.kt @@ -39,18 +39,17 @@ import java.util.function.Consumer open class TextComponent : ChatComponent { private val text: String - var color: RGBColor = ChatColors.WHITE + var color: RGBColor? = null + private set var formatting: BetterHashSet = BetterHashSet() constructor(text: String, color: RGBColor?, formatting: BetterHashSet) { this.text = text - if (color != null) { - this.color = color - } + this.color = color this.formatting = formatting } - constructor(text: String, color: RGBColor) { + constructor(text: String, color: RGBColor?) { this.text = text this.color = color } @@ -89,7 +88,7 @@ open class TextComponent : ChatComponent { return this } - fun setColor(color: RGBColor): TextComponent { + fun setColor(color: RGBColor?): TextComponent { this.color = color return this } @@ -115,12 +114,14 @@ open class TextComponent : ChatComponent { } override fun toString(): String { - return ansiColoredMessage + return legacyText } override fun getANSIColoredMessage(): String { val builder = StringBuilder() - builder.append(ChatColors.getANSIColorByRGBColor(this.color)) + this.color?.let { + builder.append(ChatColors.getANSIColorByRGBColor(it)) + } for (formattingCode in this.formatting) { if (formattingCode is PreChatFormattingCodes) { @@ -139,9 +140,11 @@ open class TextComponent : ChatComponent { override fun getLegacyText(): String { val output = StringBuilder() - val colorChar = ChatColors.getColorId(color) - if (colorChar != null) { - output.append(ProtocolDefinition.TEXT_COMPONENT_SPECIAL_PREFIX_CHAR).append(Integer.toHexString(colorChar)) + if (color != null) { + val colorChar = ChatColors.getColorId(color) + if (colorChar != null) { + output.append(ProtocolDefinition.TEXT_COMPONENT_SPECIAL_PREFIX_CHAR).append(Integer.toHexString(colorChar)) + } } formatting.forEach(Consumer { chatFormattingCode: ChatFormattingCode -> output.append(ProtocolDefinition.TEXT_COMPONENT_SPECIAL_PREFIX_CHAR).append(chatFormattingCode.char) }) output.append(text) @@ -155,6 +158,7 @@ open class TextComponent : ChatComponent { override fun getJavaFXText(nodes: ObservableList): ObservableList { val text = Text(text) + val color = this.color ?: ProtocolDefinition.DEFAULT_COLOR text.fill = Color.WHITE if (Minosoft.getConfig().config.chat.colored) { text.fill = Color.rgb(color.red, color.green, color.blue) @@ -204,6 +208,7 @@ open class TextComponent : ChatComponent { } override fun addVerticies(startPosition: Vec2, offset: Vec2, perspectiveMatrix: Mat4, binding: FontBindings, font: Font, hudScale: HUDScale, mesh: HUDFontMesh, maxSize: Vec2) { + val color = this.color ?: ProtocolDefinition.DEFAULT_COLOR fun drawLetterVertex(position: Vec3, uv: Vec2, atlasPage: Int) { val matrixPosition = perspectiveMatrix * Vec4(position.x, position.y, 0f, 1f) diff --git a/src/main/java/de/bixilon/minosoft/data/world/BlockPosition.kt b/src/main/java/de/bixilon/minosoft/data/world/BlockPosition.kt index 4260191c2..fc33f6afa 100644 --- a/src/main/java/de/bixilon/minosoft/data/world/BlockPosition.kt +++ b/src/main/java/de/bixilon/minosoft/data/world/BlockPosition.kt @@ -13,11 +13,12 @@ package de.bixilon.minosoft.data.world import de.bixilon.minosoft.protocol.protocol.ProtocolDefinition +import glm_.vec3.Vec3 data class BlockPosition(val x: Int, val y: Int, val z: Int) { - constructor(chunkLocation: ChunkLocation, sectionHeight: Int, inChunkSectionLocation: InChunkSectionLocation) : this(chunkLocation.x * ProtocolDefinition.SECTION_WIDTH_X + inChunkSectionLocation.x, sectionHeight * ProtocolDefinition.SECTION_HEIGHT_Y + inChunkSectionLocation.y, chunkLocation.z * ProtocolDefinition.SECTION_WIDTH_Z + inChunkSectionLocation.z) // ToDo + constructor(chunkPosition: ChunkPosition, sectionHeight: Int, inChunkSectionPosition: InChunkSectionPosition) : this(chunkPosition.x * ProtocolDefinition.SECTION_WIDTH_X + inChunkSectionPosition.x, sectionHeight * ProtocolDefinition.SECTION_HEIGHT_Y + inChunkSectionPosition.y, chunkPosition.z * ProtocolDefinition.SECTION_WIDTH_Z + inChunkSectionPosition.z) // ToDo - fun getChunkLocation(): ChunkLocation { + fun getChunkLocation(): ChunkPosition { val chunkX = if (this.x >= 0) { this.x / ProtocolDefinition.SECTION_WIDTH_X } else { @@ -28,10 +29,10 @@ data class BlockPosition(val x: Int, val y: Int, val z: Int) { } else { ((this.z + 1) / ProtocolDefinition.SECTION_WIDTH_Z) - 1 } - return ChunkLocation(chunkX, chunkY) + return ChunkPosition(chunkX, chunkY) } - fun getInChunkLocation(): InChunkLocation { + fun getInChunkLocation(): InChunkPosition { var x: Int = this.x % ProtocolDefinition.SECTION_WIDTH_X if (x < 0) { x += ProtocolDefinition.SECTION_WIDTH_X @@ -40,12 +41,12 @@ data class BlockPosition(val x: Int, val y: Int, val z: Int) { if (z < 0) { z += ProtocolDefinition.SECTION_WIDTH_Z } - return InChunkLocation(x, this.y, z) + return InChunkPosition(x, this.y, z) } - fun getInChunkSectionLocation(): InChunkSectionLocation { + fun getInChunkSectionLocation(): InChunkSectionPosition { val location = getInChunkLocation() - return InChunkSectionLocation(location.x, getSectionHeight(), location.z) + return InChunkSectionPosition(location.x, getSectionHeight(), location.z) } fun getSectionHeight(): Int { @@ -56,6 +57,10 @@ data class BlockPosition(val x: Int, val y: Int, val z: Int) { } } + fun toVec3(): Vec3 { + return Vec3(x, y, z) + } + override fun toString(): String { return "($x $y $z)" } diff --git a/src/main/java/de/bixilon/minosoft/data/world/Chunk.kt b/src/main/java/de/bixilon/minosoft/data/world/Chunk.kt index 32ae373ae..2e73849e6 100644 --- a/src/main/java/de/bixilon/minosoft/data/world/Chunk.kt +++ b/src/main/java/de/bixilon/minosoft/data/world/Chunk.kt @@ -14,43 +14,73 @@ package de.bixilon.minosoft.data.world import de.bixilon.minosoft.data.mappings.blocks.BlockState import de.bixilon.minosoft.data.world.biome.BiomeAccessor +import de.bixilon.minosoft.data.world.light.LightAccessor import java.util.* /** * Collection of chunks sections (allocated in y) */ class Chunk( - val sections: MutableMap = mutableMapOf(), - var biomeAccessor: BiomeAccessor, + var sections: MutableMap? = null, + var biomeAccessor: BiomeAccessor? = null, + var lightAccessor: LightAccessor? = null, ) { + private val lock = Object() + val isFullyLoaded: Boolean + get() { + return sections != null && biomeAccessor != null && lightAccessor != null + } - fun getBlockInfo(location: InChunkLocation): BlockInfo? { - return sections[location.getSectionHeight()]?.getBlockInfo(location.getInChunkSectionLocation()) + fun getBlockInfo(position: InChunkPosition): BlockInfo? { + return sections?.get(position.getSectionHeight())?.getBlockInfo(position.getInChunkSectionLocation()) } fun getBlockInfo(x: Int, y: Int, z: Int): BlockInfo? { - return getBlockInfo(InChunkLocation(x, y, z)) + return getBlockInfo(InChunkPosition(x, y, z)) } - fun setBlocks(blocks: HashMap) { + fun setBlocks(blocks: HashMap) { for ((location, blockInfo) in blocks) { setBlock(location, blockInfo) } } - fun setRawBlocks(blocks: HashMap) { + fun setData(data: ChunkData, merge: Boolean = false) { + synchronized(lock) { + data.blocks?.let { + if (sections == null) { + sections = mutableMapOf() + } + if (!merge) { + sections?.clear() + } + // replace all chunk sections + for ((sectionHeight, chunkSection) in it) { + getSectionOrCreate(sectionHeight).setData(chunkSection, merge) + } + } + data.biomeAccessor?.let { + this.biomeAccessor = it + } + data.lightAccessor?.let { + this.lightAccessor = it + } + } + } + + fun setRawBlocks(blocks: HashMap) { for ((location, blockInfo) in blocks) { setRawBlock(location, blockInfo) } } - fun setBlock(location: InChunkLocation, block: BlockInfo?) { - getSectionOrCreate(location.getSectionHeight()).setBlockInfo(location.getInChunkSectionLocation(), block) + fun setBlock(position: InChunkPosition, block: BlockInfo?) { + getSectionOrCreate(position.getSectionHeight()).setBlockInfo(position.getInChunkSectionLocation(), block) } - fun setRawBlock(location: InChunkLocation, block: BlockState?) { - getSectionOrCreate(location.getSectionHeight()).let { - val inChunkSectionLocation = location.getInChunkSectionLocation() + fun setRawBlock(position: InChunkPosition, block: BlockState?) { + getSectionOrCreate(position.getSectionHeight()).let { + val inChunkSectionLocation = position.getInChunkSectionLocation() if (block == null) { it.blocks.remove(inChunkSectionLocation) return @@ -61,11 +91,14 @@ class Chunk( } fun getSectionOrCreate(sectionHeight: Int): ChunkSection { - return sections[sectionHeight].let { + if (sections == null) { + throw IllegalStateException("Chunk not received/initialized yet!") + } + return sections!![sectionHeight].let { var section = it if (section == null) { section = ChunkSection() - sections[sectionHeight] = section + sections!![sectionHeight] = section } section } diff --git a/src/main/java/de/bixilon/minosoft/data/world/ChunkData.kt b/src/main/java/de/bixilon/minosoft/data/world/ChunkData.kt new file mode 100644 index 000000000..b7b404c16 --- /dev/null +++ b/src/main/java/de/bixilon/minosoft/data/world/ChunkData.kt @@ -0,0 +1,35 @@ +/* + * Minosoft + * Copyright (C) 2021 Moritz Zwerger + * + * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along with this program.If not, see . + * + * This software is not affiliated with Mojang AB, the original developer of Minecraft. + */ + +package de.bixilon.minosoft.data.world + +import de.bixilon.minosoft.data.world.biome.BiomeAccessor +import de.bixilon.minosoft.data.world.light.LightAccessor + +data class ChunkData( + var blocks: Map? = null, + var biomeAccessor: BiomeAccessor? = null, + var lightAccessor: LightAccessor? = null, +) { + fun replace(data: ChunkData) { + data.blocks?.let { + this.blocks = it + } + data.biomeAccessor?.let { + this.biomeAccessor = it + } + data.lightAccessor?.let { + this.lightAccessor = it + } + } +} diff --git a/src/main/java/de/bixilon/minosoft/data/world/ChunkLocation.kt b/src/main/java/de/bixilon/minosoft/data/world/ChunkPosition.kt similarity index 75% rename from src/main/java/de/bixilon/minosoft/data/world/ChunkLocation.kt rename to src/main/java/de/bixilon/minosoft/data/world/ChunkPosition.kt index 5ecd27a69..542d029ba 100644 --- a/src/main/java/de/bixilon/minosoft/data/world/ChunkLocation.kt +++ b/src/main/java/de/bixilon/minosoft/data/world/ChunkPosition.kt @@ -14,17 +14,17 @@ package de.bixilon.minosoft.data.world import de.bixilon.minosoft.data.Directions -data class ChunkLocation(val x: Int, val z: Int) { +data class ChunkPosition(val x: Int, val z: Int) { override fun toString(): String { return "($x $z)" } - fun getLocationByDirection(direction: Directions): ChunkLocation { + fun getLocationByDirection(direction: Directions): ChunkPosition { return when (direction) { - Directions.NORTH -> ChunkLocation(x, z - 1) - Directions.SOUTH -> ChunkLocation(x, z + 1) - Directions.WEST -> ChunkLocation(x - 1, z) - Directions.EAST -> ChunkLocation(x + 1, z) + Directions.NORTH -> ChunkPosition(x, z - 1) + Directions.SOUTH -> ChunkPosition(x, z + 1) + Directions.WEST -> ChunkPosition(x - 1, z) + Directions.EAST -> ChunkPosition(x + 1, z) else -> throw IllegalArgumentException("Chunk location is just 2d") } } diff --git a/src/main/java/de/bixilon/minosoft/data/world/ChunkSection.kt b/src/main/java/de/bixilon/minosoft/data/world/ChunkSection.kt index 1e7040ff1..ef7754fe7 100644 --- a/src/main/java/de/bixilon/minosoft/data/world/ChunkSection.kt +++ b/src/main/java/de/bixilon/minosoft/data/world/ChunkSection.kt @@ -18,34 +18,37 @@ import de.bixilon.minosoft.data.mappings.blocks.BlockState * Collection of 16x16x16 blocks */ class ChunkSection constructor( - val blocks: MutableMap = mutableMapOf(), + val blocks: MutableMap = mutableMapOf(), ) { - fun getBlockInfo(location: InChunkSectionLocation): BlockInfo? { - return blocks[location] + fun getBlockInfo(position: InChunkSectionPosition): BlockInfo? { + return blocks[position] } - fun setBlockInfo(location: InChunkSectionLocation, blockInfo: BlockInfo?) { + fun setBlockInfo(position: InChunkSectionPosition, blockInfo: BlockInfo?) { if (blockInfo == null) { - blocks.remove(location) + blocks.remove(position) return } - blocks[location] = blockInfo + blocks[position] = blockInfo } fun getBlockInfo(x: Int, y: Int, z: Int): BlockInfo? { - return getBlockInfo(InChunkSectionLocation(x, y, z)) + return getBlockInfo(InChunkSectionPosition(x, y, z)) } - fun updateStaticData() { - - } - - fun setRawBlock(location: InChunkSectionLocation, block: BlockState?) { + fun setRawBlock(position: InChunkSectionPosition, block: BlockState?) { if (block == null) { - setBlockInfo(location, null) + setBlockInfo(position, null) return } - setBlockInfo(location, BlockInfo(block)) + setBlockInfo(position, BlockInfo(block)) + } + + fun setData(chunkSection: ChunkSection, merge: Boolean = false) { + if (!merge) { + this.blocks.clear() + } + this.blocks.putAll(chunkSection.blocks) } } diff --git a/src/main/java/de/bixilon/minosoft/data/world/InChunkLocation.kt b/src/main/java/de/bixilon/minosoft/data/world/InChunkPosition.kt similarity index 89% rename from src/main/java/de/bixilon/minosoft/data/world/InChunkLocation.kt rename to src/main/java/de/bixilon/minosoft/data/world/InChunkPosition.kt index 723b0c50b..6e87e2954 100644 --- a/src/main/java/de/bixilon/minosoft/data/world/InChunkLocation.kt +++ b/src/main/java/de/bixilon/minosoft/data/world/InChunkPosition.kt @@ -14,10 +14,10 @@ package de.bixilon.minosoft.data.world import de.bixilon.minosoft.protocol.protocol.ProtocolDefinition -data class InChunkLocation(val x: Int, val y: Int, val z: Int) { +data class InChunkPosition(val x: Int, val y: Int, val z: Int) { - fun getInChunkSectionLocation(): InChunkSectionLocation { - return InChunkSectionLocation(x, + fun getInChunkSectionLocation(): InChunkSectionPosition { + return InChunkSectionPosition(x, if (y < 0) { ((ProtocolDefinition.SECTION_HEIGHT_Y + (y % ProtocolDefinition.SECTION_HEIGHT_Y))) % ProtocolDefinition.SECTION_HEIGHT_Y } else { diff --git a/src/main/java/de/bixilon/minosoft/data/world/InChunkSectionLocation.kt b/src/main/java/de/bixilon/minosoft/data/world/InChunkSectionPosition.kt similarity index 67% rename from src/main/java/de/bixilon/minosoft/data/world/InChunkSectionLocation.kt rename to src/main/java/de/bixilon/minosoft/data/world/InChunkSectionPosition.kt index 51d7f803c..c77bf5831 100644 --- a/src/main/java/de/bixilon/minosoft/data/world/InChunkSectionLocation.kt +++ b/src/main/java/de/bixilon/minosoft/data/world/InChunkSectionPosition.kt @@ -12,31 +12,30 @@ */ package de.bixilon.minosoft.data.world -import de.bixilon.minosoft.protocol.protocol.ProtocolDefinition - import de.bixilon.minosoft.data.Directions +import de.bixilon.minosoft.protocol.protocol.ProtocolDefinition /** * Chunk X, Y and Z location (max 16x16x16) */ -data class InChunkSectionLocation(val x: Int, val y: Int, val z: Int) { +data class InChunkSectionPosition(val x: Int, val y: Int, val z: Int) { override fun toString(): String { return "($x $y $z)" } - fun getInChunkLocation(sectionHeight: Int): InChunkLocation { - return InChunkLocation(x, y + ProtocolDefinition.SECTION_HEIGHT_Y * sectionHeight, z) + fun getInChunkLocation(sectionHeight: Int): InChunkPosition { + return InChunkPosition(x, y + ProtocolDefinition.SECTION_HEIGHT_Y * sectionHeight, z) } - fun getLocationByDirection(direction: Directions): InChunkSectionLocation { + fun getLocationByDirection(direction: Directions): InChunkSectionPosition { return when (direction) { - Directions.DOWN -> InChunkSectionLocation(x, y - 1, z) - Directions.UP -> InChunkSectionLocation(x, y + 1, z) - Directions.NORTH -> InChunkSectionLocation(x, y, z - 1) - Directions.SOUTH -> InChunkSectionLocation(x, y, z + 1) - Directions.WEST -> InChunkSectionLocation(x - 1, y, z) - Directions.EAST -> InChunkSectionLocation(x + 1, y, z) + Directions.DOWN -> InChunkSectionPosition(x, y - 1, z) + Directions.UP -> InChunkSectionPosition(x, y + 1, z) + Directions.NORTH -> InChunkSectionPosition(x, y, z - 1) + Directions.SOUTH -> InChunkSectionPosition(x, y, z + 1) + Directions.WEST -> InChunkSectionPosition(x - 1, y, z) + Directions.EAST -> InChunkSectionPosition(x + 1, y, z) } } } diff --git a/src/main/java/de/bixilon/minosoft/data/world/World.java b/src/main/java/de/bixilon/minosoft/data/world/World.java deleted file mode 100644 index b00ac918d..000000000 --- a/src/main/java/de/bixilon/minosoft/data/world/World.java +++ /dev/null @@ -1,152 +0,0 @@ -/* - * Minosoft - * Copyright (C) 2020 Moritz Zwerger - * - * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along with this program.If not, see . - * - * This software is not affiliated with Mojang AB, the original developer of Minecraft. - */ - -package de.bixilon.minosoft.data.world; - -import com.google.common.collect.HashBiMap; -import de.bixilon.minosoft.data.entities.block.BlockEntityMetaData; -import de.bixilon.minosoft.data.entities.entities.Entity; -import de.bixilon.minosoft.data.mappings.Dimension; -import de.bixilon.minosoft.data.mappings.blocks.BlockState; - -import javax.annotation.Nullable; -import java.util.HashMap; -import java.util.UUID; -import java.util.concurrent.ConcurrentHashMap; - -/** - * Collection of chunks - */ -public class World { - private final ConcurrentHashMap chunks = new ConcurrentHashMap<>(); - private final HashBiMap entityIdMap = HashBiMap.create(); - private final HashBiMap entityUUIDMap = HashBiMap.create(); - private boolean hardcore; - private boolean raining; - private Dimension dimension; // used for sky color, etc - - public ConcurrentHashMap getAllChunks() { - return this.chunks; - } - - @Nullable - public BlockInfo getBlockInfo(BlockPosition pos) { - ChunkLocation loc = pos.getChunkLocation(); - if (getChunk(loc) != null) { - return getChunk(loc).getBlockInfo(pos.getInChunkLocation()); - } - return null; - } - - public Chunk getChunk(ChunkLocation loc) { - return this.chunks.get(loc); - } - - public void setBlock(BlockPosition pos, BlockState block) { - if (getChunk(pos.getChunkLocation()) != null) { - getChunk(pos.getChunkLocation()).setRawBlock(pos.getInChunkLocation(), block); - } - // do nothing if chunk is unloaded - } - - public void unloadChunk(ChunkLocation location) { - this.chunks.remove(location); - } - - public void setChunk(ChunkLocation location, Chunk chunk) { - this.chunks.put(location, chunk); - } - - public void setChunks(HashMap chunkMap) { - chunkMap.forEach(this.chunks::put); - } - - public boolean isHardcore() { - return this.hardcore; - } - - public void setHardcore(boolean hardcore) { - this.hardcore = hardcore; - } - - public boolean isRaining() { - return this.raining; - } - - public void setRaining(boolean raining) { - this.raining = raining; - } - - public void addEntity(Entity entity) { - this.entityIdMap.put(entity.getEntityId(), entity); - this.entityUUIDMap.put(entity.getUUID(), entity); - } - - public Entity getEntity(int id) { - return this.entityIdMap.get(id); - } - - public Entity getEntity(UUID uuid) { - return this.entityUUIDMap.get(uuid); - } - - public void removeEntity(Entity entity) { - this.entityIdMap.inverse().remove(entity); - this.entityUUIDMap.inverse().remove(entity); - } - - public void removeEntity(int entityId) { - removeEntity(this.entityIdMap.get(entityId)); - } - - public void removeEntity(UUID entityUUID) { - removeEntity(this.entityUUIDMap.get(entityUUID)); - } - - public Dimension getDimension() { - return this.dimension; - } - - public void setDimension(Dimension dimension) { - this.dimension = dimension; - } - - public void setBlockEntityData(BlockPosition position, BlockEntityMetaData data) { - Chunk chunk = this.chunks.get(position.getChunkLocation()); - if (chunk == null) { - return; - } - var section = chunk.getSections().get(position.getSectionHeight()); - if (section == null) { - return; - } - var blockInfo = section.getBlockInfo(position.getInChunkSectionLocation()); - if (blockInfo == null) { - return; - } - blockInfo.setMetaData(data); - } - - - public void setBlockEntityData(HashMap blockEntities) { - blockEntities.forEach(this::setBlockEntityData); - } - - public HashBiMap getEntityIdMap() { - return this.entityIdMap; - } - - public HashBiMap getEntityUUIDMap() { - return this.entityUUIDMap; - } -} diff --git a/src/main/java/de/bixilon/minosoft/data/world/World.kt b/src/main/java/de/bixilon/minosoft/data/world/World.kt new file mode 100644 index 000000000..672af1b9a --- /dev/null +++ b/src/main/java/de/bixilon/minosoft/data/world/World.kt @@ -0,0 +1,105 @@ +/* + * Minosoft + * Copyright (C) 2020 Moritz Zwerger + * + * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along with this program.If not, see . + * + * This software is not affiliated with Mojang AB, the original developer of Minecraft. + */ +package de.bixilon.minosoft.data.world + +import com.google.common.collect.HashBiMap +import de.bixilon.minosoft.data.entities.block.BlockEntityMetaData +import de.bixilon.minosoft.data.entities.entities.Entity +import de.bixilon.minosoft.data.mappings.Dimension +import de.bixilon.minosoft.data.mappings.blocks.BlockState +import java.util.* +import java.util.concurrent.ConcurrentHashMap + +/** + * Collection of chunks + */ +class World { + val chunks = ConcurrentHashMap() + val entityIdMap = HashBiMap.create() + val entityUUIDMap = HashBiMap.create() + var isHardcore = false + var isRaining = false + var dimension: Dimension? = null + + + fun getBlockInfo(blockPosition: BlockPosition): BlockInfo? { + val chunkLocation = blockPosition.getChunkLocation() + return chunks[chunkLocation]?.getBlockInfo(blockPosition.getInChunkLocation()) + } + + fun getChunk(loc: ChunkPosition): Chunk? { + return chunks[loc] + } + + fun getOrCreateChunk(chunkPosition: ChunkPosition): Chunk { + return chunks[chunkPosition] ?: run { + val chunk = Chunk() + chunks[chunkPosition] = chunk + chunk + } + } + + fun setBlock(blockPosition: BlockPosition, block: BlockState?) { + chunks[blockPosition.getChunkLocation()]?.setRawBlock(blockPosition.getInChunkLocation(), block) + } + + fun unloadChunk(position: ChunkPosition) { + chunks.remove(position) + } + + fun replaceChunk(position: ChunkPosition, chunk: Chunk) { + chunks[position] = chunk + } + + fun replaceChunks(chunkMap: HashMap) { + for ((chunkLocation, chunk) in chunkMap) { + chunks[chunkLocation] = chunk + } + } + + fun addEntity(entity: Entity) { + entityIdMap[entity.entityId] = entity + entityUUIDMap[entity.uuid] = entity + } + + fun getEntity(id: Int): Entity? { + return entityIdMap[id] + } + + fun getEntity(uuid: UUID): Entity? { + return entityUUIDMap[uuid] + } + + fun removeEntity(entity: Entity) { + entityIdMap.inverse().remove(entity) + entityUUIDMap.inverse().remove(entity) + } + + fun removeEntity(entityId: Int) { + entityIdMap[entityId]?.let { removeEntity(it) } + } + + fun removeEntity(entityUUID: UUID) { + entityUUIDMap[entityUUID]?.let { removeEntity(it) } + } + + fun setBlockEntityData(position: BlockPosition, data: BlockEntityMetaData?) { + chunks[position.getChunkLocation()]?.sections?.get(position.getSectionHeight())?.getBlockInfo(position.getInChunkSectionLocation())?.metaData = data + } + + fun setBlockEntityData(blockEntities: HashMap) { + for ((blockPosition, entityMetaData) in blockEntities) { + setBlockEntityData(blockPosition, entityMetaData) + } + } +} diff --git a/src/main/java/de/bixilon/minosoft/data/world/light/ChunkLightAccessor.kt b/src/main/java/de/bixilon/minosoft/data/world/light/ChunkLightAccessor.kt new file mode 100644 index 000000000..f0f042ecd --- /dev/null +++ b/src/main/java/de/bixilon/minosoft/data/world/light/ChunkLightAccessor.kt @@ -0,0 +1,28 @@ +/* + * Minosoft + * Copyright (C) 2021 Moritz Zwerger + * + * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along with this program.If not, see . + * + * This software is not affiliated with Mojang AB, the original developer of Minecraft. + */ + +package de.bixilon.minosoft.data.world.light + +import de.bixilon.minosoft.data.Directions +import de.bixilon.minosoft.data.world.BlockPosition +import de.bixilon.minosoft.data.world.InChunkPosition + +class ChunkLightAccessor( + val blockLightLevel: MutableMap = mutableMapOf(), + val skyLightLevel: MutableMap = mutableMapOf(), +) : LightAccessor { + override fun getLightLevel(blockPosition: BlockPosition, direction: Directions): Int { + val inChunkLocation = blockPosition.getInChunkLocation() + return blockLightLevel[inChunkLocation]?.toInt() ?: 0 + } +} diff --git a/src/main/java/de/bixilon/minosoft/data/world/light/DummyLightAccessor.kt b/src/main/java/de/bixilon/minosoft/data/world/light/DummyLightAccessor.kt new file mode 100644 index 000000000..40b0c42c5 --- /dev/null +++ b/src/main/java/de/bixilon/minosoft/data/world/light/DummyLightAccessor.kt @@ -0,0 +1,31 @@ +/* + * Minosoft + * Copyright (C) 2021 Moritz Zwerger + * + * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along with this program.If not, see . + * + * This software is not affiliated with Mojang AB, the original developer of Minecraft. + */ + +package de.bixilon.minosoft.data.world.light + +import de.bixilon.minosoft.data.Directions +import de.bixilon.minosoft.data.world.BlockPosition + +object DummyLightAccessor : LightAccessor { + + override fun getLightLevel(blockPosition: BlockPosition, direction: Directions): Int { + return when (direction) { + Directions.NORTH -> 5 + Directions.SOUTH -> 7 + Directions.DOWN -> 3 + Directions.UP -> 9 + Directions.WEST -> 11 + Directions.EAST -> 13 + } + } +} diff --git a/src/main/java/de/bixilon/minosoft/data/world/light/LightAccessor.kt b/src/main/java/de/bixilon/minosoft/data/world/light/LightAccessor.kt new file mode 100644 index 000000000..bf48e6af5 --- /dev/null +++ b/src/main/java/de/bixilon/minosoft/data/world/light/LightAccessor.kt @@ -0,0 +1,22 @@ +/* + * Minosoft + * Copyright (C) 2021 Moritz Zwerger + * + * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along with this program.If not, see . + * + * This software is not affiliated with Mojang AB, the original developer of Minecraft. + */ + +package de.bixilon.minosoft.data.world.light + +import de.bixilon.minosoft.data.Directions +import de.bixilon.minosoft.data.world.BlockPosition + +interface LightAccessor { + + fun getLightLevel(blockPosition: BlockPosition, direction: Directions): Int +} diff --git a/src/main/java/de/bixilon/minosoft/data/world/palette/Palette.java b/src/main/java/de/bixilon/minosoft/data/world/palette/Palette.kt similarity index 57% rename from src/main/java/de/bixilon/minosoft/data/world/palette/Palette.java rename to src/main/java/de/bixilon/minosoft/data/world/palette/Palette.kt index 511b89615..44599fa90 100644 --- a/src/main/java/de/bixilon/minosoft/data/world/palette/Palette.java +++ b/src/main/java/de/bixilon/minosoft/data/world/palette/Palette.kt @@ -10,25 +10,27 @@ * * This software is not affiliated with Mojang AB, the original developer of Minecraft. */ +package de.bixilon.minosoft.data.world.palette -package de.bixilon.minosoft.data.world.palette; +import de.bixilon.minosoft.data.mappings.blocks.BlockState +import de.bixilon.minosoft.protocol.protocol.InByteBuffer -import de.bixilon.minosoft.data.mappings.blocks.BlockState; -import de.bixilon.minosoft.protocol.protocol.InByteBuffer; +interface Palette { -public interface Palette { - static Palette choosePalette(int bitsPerBlock) { - if (bitsPerBlock <= 4) { - return new IndirectPalette(4); - } else if (bitsPerBlock <= 8) { - return new IndirectPalette(bitsPerBlock); + fun blockById(id: Int): BlockState? + + val bitsPerBlock: Int + + fun read(buffer: InByteBuffer) + + companion object { + fun choosePalette(bitsPerBlock: Int): Palette { + if (bitsPerBlock <= 4) { + return IndirectPalette(4) + } else if (bitsPerBlock <= 8) { + return IndirectPalette(bitsPerBlock) + } + return DirectPalette() } - return new DirectPalette(); } - - BlockState blockById(int id); - - int getBitsPerBlock(); - - void read(InByteBuffer buffer); } diff --git a/src/main/java/de/bixilon/minosoft/gui/rendering/Camera.kt b/src/main/java/de/bixilon/minosoft/gui/rendering/Camera.kt index 059126ddc..32146aefa 100644 --- a/src/main/java/de/bixilon/minosoft/gui/rendering/Camera.kt +++ b/src/main/java/de/bixilon/minosoft/gui/rendering/Camera.kt @@ -18,11 +18,11 @@ import de.bixilon.minosoft.config.config.game.controls.KeyBindingsNames import de.bixilon.minosoft.config.key.KeyAction import de.bixilon.minosoft.config.key.KeyCodes import de.bixilon.minosoft.data.entities.EntityRotation -import de.bixilon.minosoft.data.entities.Location +import de.bixilon.minosoft.data.entities.Position import de.bixilon.minosoft.data.mappings.biomes.Biome import de.bixilon.minosoft.data.world.BlockPosition -import de.bixilon.minosoft.data.world.ChunkLocation -import de.bixilon.minosoft.data.world.InChunkSectionLocation +import de.bixilon.minosoft.data.world.ChunkPosition +import de.bixilon.minosoft.data.world.InChunkSectionPosition import de.bixilon.minosoft.gui.rendering.chunk.Frustum import de.bixilon.minosoft.gui.rendering.shader.Shader import de.bixilon.minosoft.protocol.network.Connection @@ -55,19 +55,19 @@ class Camera( var cameraRight = Vec3(0.0f, 0.0f, -1.0f) private var cameraUp = Vec3(0.0f, 1.0f, 0.0f) - var feetLocation: Location = Location(0.0, 0.0, 0.0) + var feetLocation: Position = Position(0.0, 0.0, 0.0) private set - var headLocation: Location = Location(0.0, 0.0, 0.0) + var headLocation: Position = Position(0.0, 0.0, 0.0) private set var blockPosition: BlockPosition = BlockPosition(0, 0, 0) private set var currentBiome: Biome? = null private set - var chunkLocation: ChunkLocation = ChunkLocation(0, 0) + var chunkPosition: ChunkPosition = ChunkPosition(0, 0) private set var sectionHeight: Int = 0 private set - var inChunkSectionLocation: InChunkSectionLocation = InChunkSectionLocation(0, 0, 0) + var inChunkSectionPosition: InChunkSectionPosition = InChunkSectionPosition(0, 0, 0) private set private var screenHeight = 0 @@ -199,16 +199,16 @@ class Camera( } private fun positionChangeCallback() { - headLocation = Location(cameraPosition) - feetLocation = Location(headLocation.x, headLocation.y - PLAYER_HEIGHT, headLocation.z) + headLocation = Position(cameraPosition) + feetLocation = Position(headLocation.x, headLocation.y - PLAYER_HEIGHT, headLocation.z) blockPosition = feetLocation.toBlockPosition() currentBiome = connection.player.world.getChunk(blockPosition.getChunkLocation())?.biomeAccessor?.getBiome(blockPosition) - chunkLocation = blockPosition.getChunkLocation() + chunkPosition = blockPosition.getChunkLocation() sectionHeight = blockPosition.getSectionHeight() - inChunkSectionLocation = blockPosition.getInChunkSectionLocation() + inChunkSectionPosition = blockPosition.getInChunkSectionLocation() // recalculate sky color for current biome - val blockPosition = Location(cameraPosition).toBlockPosition() + val blockPosition = Position(cameraPosition).toBlockPosition() renderWindow.setSkyColor(connection.player.world.getChunk(blockPosition.getChunkLocation())?.biomeAccessor?.getBiome(blockPosition)?.skyColor ?: RenderConstants.DEFAULT_SKY_COLOR) connection.renderer.renderWindow.worldRenderer.recalculateFrustum(Frustum(this)) connection.player.world.dimension?.hasSkyLight?.let { @@ -262,9 +262,9 @@ class Camera( currentPositionSent = false } - fun setPosition(location: Location) { + fun setPosition(location: Position) { feetLocation = location - headLocation = Location(location.x, location.y + PLAYER_HEIGHT, location.z) + headLocation = Position(location.x, location.y + PLAYER_HEIGHT, location.z) cameraPosition = headLocation.toVec3() } diff --git a/src/main/java/de/bixilon/minosoft/gui/rendering/RenderWindow.kt b/src/main/java/de/bixilon/minosoft/gui/rendering/RenderWindow.kt index 343efe0b6..063384dd9 100644 --- a/src/main/java/de/bixilon/minosoft/gui/rendering/RenderWindow.kt +++ b/src/main/java/de/bixilon/minosoft/gui/rendering/RenderWindow.kt @@ -84,7 +84,7 @@ class RenderWindow(private val connection: Connection, val rendering: Rendering) latch.countDown() } renderQueue.add { - camera.setPosition(packet.location) + camera.setPosition(packet.position) camera.setRotation(packet.rotation.yaw.toDouble(), packet.rotation.pitch.toDouble()) } }) @@ -266,6 +266,7 @@ class RenderWindow(private val connection: Connection, val rendering: Rendering) } else { GL_FILL }) + connection.sender.sendFakeChatMessage("§f[§e§lDEBUG§f] §9Toggled polygen mode!") } registerKeyCallback(KeyBindingsNames.DEBUG_MOUSE_CATCH) { _: KeyCodes, _: KeyAction -> mouseCatch = !mouseCatch @@ -274,6 +275,7 @@ class RenderWindow(private val connection: Connection, val rendering: Rendering) } else { glfwSetInputMode(windowId, GLFW_CURSOR, GLFW_CURSOR_NORMAL) } + connection.sender.sendFakeChatMessage("§f[§e§lDEBUG§f] §9Toggled mouse catch!") } registerKeyCallback(KeyBindingsNames.QUIT_RENDERING) { _: KeyCodes, _: KeyAction -> glfwSetWindowShouldClose(windowId, true) diff --git a/src/main/java/de/bixilon/minosoft/gui/rendering/chunk/ChunkMesh.kt b/src/main/java/de/bixilon/minosoft/gui/rendering/chunk/ChunkMesh.kt index dfafedf5b..34788ebd3 100644 --- a/src/main/java/de/bixilon/minosoft/gui/rendering/chunk/ChunkMesh.kt +++ b/src/main/java/de/bixilon/minosoft/gui/rendering/chunk/ChunkMesh.kt @@ -29,7 +29,7 @@ class ChunkMesh { private var vbo: Int = 0 private var trianglesCount: Int = 0 - fun addVertex(position: Vec3, textureCoordinates: Vec2, texture: Texture, tintColor: RGBColor?) { + fun addVertex(position: Vec3, textureCoordinates: Vec2, texture: Texture, tintColor: RGBColor?, lightLevel: Float = 0.9f) { data.add(position.x) data.add(position.y) data.add(position.z) @@ -47,6 +47,8 @@ class ChunkMesh { } else { data.add(Float.fromBits(tintColor.color)) } + + data.add(lightLevel) } fun load() { @@ -58,6 +60,7 @@ class ChunkMesh { glBindVertexArray(vao) glBindBuffer(GL_ARRAY_BUFFER, vbo) glBufferData(GL_ARRAY_BUFFER, data.toFloatArray(), GL_STATIC_DRAW) + data.clear() // clear data ((do not store in memory) var index = 0 glVertexAttribPointer(index, 3, GL_FLOAT, false, FLOATS_PER_VERTEX * Float.BYTES, 0L) glEnableVertexAttribArray(index++) @@ -74,6 +77,9 @@ class ChunkMesh { glVertexAttribPointer(index, 1, GL_FLOAT, false, FLOATS_PER_VERTEX * Float.BYTES, (9 * Float.BYTES).toLong()) glEnableVertexAttribArray(index++) + glVertexAttribPointer(index, 1, GL_FLOAT, false, FLOATS_PER_VERTEX * Float.BYTES, (10 * Float.BYTES).toLong()) + glEnableVertexAttribArray(index++) + // don't remove the ++ above! index.let { } @@ -92,6 +98,6 @@ class ChunkMesh { } companion object { - private const val FLOATS_PER_VERTEX = 10 + private const val FLOATS_PER_VERTEX = 11 } } diff --git a/src/main/java/de/bixilon/minosoft/gui/rendering/chunk/Frustum.kt b/src/main/java/de/bixilon/minosoft/gui/rendering/chunk/Frustum.kt index e1dc75ac9..ab2445136 100644 --- a/src/main/java/de/bixilon/minosoft/gui/rendering/chunk/Frustum.kt +++ b/src/main/java/de/bixilon/minosoft/gui/rendering/chunk/Frustum.kt @@ -1,6 +1,6 @@ package de.bixilon.minosoft.gui.rendering.chunk -import de.bixilon.minosoft.data.world.ChunkLocation +import de.bixilon.minosoft.data.world.ChunkPosition import de.bixilon.minosoft.gui.rendering.Camera import de.bixilon.minosoft.protocol.network.Connection import de.bixilon.minosoft.protocol.protocol.ProtocolDefinition @@ -42,9 +42,9 @@ class Frustum(val camera: Camera) { return v1.x * v2.x + v1.y * v2.y + v1.z * v2.z } - fun containsChunk(chunkLocation: ChunkLocation, connection: Connection): Boolean { - val from = Vec3(chunkLocation.x * ProtocolDefinition.SECTION_WIDTH_X, connection.player.world.dimension.minY, chunkLocation.z * ProtocolDefinition.SECTION_WIDTH_Z) - val to = from + Vec3(ProtocolDefinition.SECTION_WIDTH_X, connection.player.world.dimension.logicalHeight, ProtocolDefinition.SECTION_WIDTH_Z) + fun containsChunk(chunkPosition: ChunkPosition, connection: Connection): Boolean { + val from = Vec3(chunkPosition.x * ProtocolDefinition.SECTION_WIDTH_X, connection.player.world.dimension!!.minY, chunkPosition.z * ProtocolDefinition.SECTION_WIDTH_Z) + val to = from + Vec3(ProtocolDefinition.SECTION_WIDTH_X, connection.player.world.dimension!!.logicalHeight, ProtocolDefinition.SECTION_WIDTH_Z) val frustum = Frustum(connection.renderer.renderWindow.camera) return frustum.containsRegion(from, to) } diff --git a/src/main/java/de/bixilon/minosoft/gui/rendering/chunk/WorldRenderer.kt b/src/main/java/de/bixilon/minosoft/gui/rendering/chunk/WorldRenderer.kt index 3b70bbdae..ef00dfaef 100644 --- a/src/main/java/de/bixilon/minosoft/gui/rendering/chunk/WorldRenderer.kt +++ b/src/main/java/de/bixilon/minosoft/gui/rendering/chunk/WorldRenderer.kt @@ -15,6 +15,7 @@ package de.bixilon.minosoft.gui.rendering.chunk import de.bixilon.minosoft.Minosoft import de.bixilon.minosoft.config.StaticConfiguration +import de.bixilon.minosoft.config.config.game.controls.KeyBindingsNames import de.bixilon.minosoft.data.Directions import de.bixilon.minosoft.data.mappings.blocks.BlockState import de.bixilon.minosoft.data.text.RGBColor @@ -27,7 +28,6 @@ import de.bixilon.minosoft.gui.rendering.textures.TextureArray import de.bixilon.minosoft.protocol.network.Connection import de.bixilon.minosoft.protocol.protocol.ProtocolDefinition import de.bixilon.minosoft.util.logging.Log -import glm_.vec3.Vec3 import org.lwjgl.opengl.GL11.GL_CULL_FACE import org.lwjgl.opengl.GL11.glEnable import org.lwjgl.opengl.GL13.glDisable @@ -36,28 +36,28 @@ import java.util.concurrent.ConcurrentHashMap class WorldRenderer(private val connection: Connection, private val world: World, val renderWindow: RenderWindow) : Renderer { private lateinit var minecraftTextures: TextureArray lateinit var chunkShader: Shader - private val chunkSectionsToDraw = ConcurrentHashMap>() - private val visibleChunks: MutableSet = mutableSetOf() + private val chunkSectionsToDraw = ConcurrentHashMap>() + private val visibleChunks: MutableSet = mutableSetOf() private lateinit var frustum: Frustum private var currentTick = 0 // for animation usage private var lastTickIncrementTime = 0L - private fun prepareChunk(chunkLocation: ChunkLocation, sectionHeight: Int, section: ChunkSection, chunk: Chunk): ChunkMesh { - if (frustum.containsChunk(chunkLocation, connection)) { - visibleChunks.add(chunkLocation) + private fun prepareChunk(chunkPosition: ChunkPosition, sectionHeight: Int, section: ChunkSection, chunk: Chunk): ChunkMesh { + if (frustum.containsChunk(chunkPosition, connection)) { + visibleChunks.add(chunkPosition) } val mesh = ChunkMesh() - val below = world.allChunks[chunkLocation]?.sections?.get(sectionHeight - 1) - val above = world.allChunks[chunkLocation]?.sections?.get(sectionHeight + 1) + val below = world.chunks[chunkPosition]?.sections?.get(sectionHeight - 1) + val above = world.chunks[chunkPosition]?.sections?.get(sectionHeight + 1) //val north = (world.allChunks[chunkLocation.getLocationByDirection(Directions.NORTH)]?: throw ChunkNotLoadedException("North not loaded")).sections?.get(sectionHeight) //val south = (world.allChunks[chunkLocation.getLocationByDirection(Directions.SOUTH)]?: throw ChunkNotLoadedException("South not loaded")).sections?.get(sectionHeight) //val west = (world.allChunks[chunkLocation.getLocationByDirection(Directions.WEST)]?: throw ChunkNotLoadedException("West not loaded")).sections?.get(sectionHeight) //val east = (world.allChunks[chunkLocation.getLocationByDirection(Directions.EAST)]?: throw ChunkNotLoadedException("North not loaded")).sections?.get(sectionHeight) - val north = world.allChunks[chunkLocation.getLocationByDirection(Directions.NORTH)]?.sections?.get(sectionHeight) - val south = world.allChunks[chunkLocation.getLocationByDirection(Directions.SOUTH)]?.sections?.get(sectionHeight) - val west = world.allChunks[chunkLocation.getLocationByDirection(Directions.WEST)]?.sections?.get(sectionHeight) - val east = world.allChunks[chunkLocation.getLocationByDirection(Directions.EAST)]?.sections?.get(sectionHeight) + val north = world.chunks[chunkPosition.getLocationByDirection(Directions.NORTH)]?.sections?.get(sectionHeight) + val south = world.chunks[chunkPosition.getLocationByDirection(Directions.SOUTH)]?.sections?.get(sectionHeight) + val west = world.chunks[chunkPosition.getLocationByDirection(Directions.WEST)]?.sections?.get(sectionHeight) + val east = world.chunks[chunkPosition.getLocationByDirection(Directions.EAST)]?.sections?.get(sectionHeight) for ((position, blockInfo) in section.blocks) { val blockBelow: BlockInfo? = if (position.y == 0 && below != null) { @@ -90,13 +90,11 @@ class WorldRenderer(private val connection: Connection, private val world: World } else { section.getBlockInfo(position.getLocationByDirection(Directions.EAST)) } - val worldPosition = Vec3(position.x + chunkLocation.x * ProtocolDefinition.SECTION_WIDTH_X, position.y + sectionHeight * ProtocolDefinition.SECTION_HEIGHT_Y, position.z + chunkLocation.z * ProtocolDefinition.SECTION_WIDTH_Z) - - val blockPosition = BlockPosition(chunkLocation, sectionHeight, position) + val blockPosition = BlockPosition(chunkPosition, sectionHeight, position) if (blockPosition == BlockPosition(-103, 3, 288)) { Log.debug("") } - val biome = chunk.biomeAccessor.getBiome(blockPosition) + val biome = chunk.biomeAccessor!!.getBiome(blockPosition) var tintColor: RGBColor? = null if (StaticConfiguration.BIOME_DEBUG_MODE) { @@ -113,7 +111,7 @@ class WorldRenderer(private val connection: Connection, private val world: World blockInfo.block.tintColor?.let { tintColor = it } } - blockInfo.block.getBlockRenderer(blockPosition).render(blockInfo, tintColor, worldPosition, mesh, arrayOf(blockBelow, blockAbove, blockNorth, blockSouth, blockWest, blockEast)) + blockInfo.block.getBlockRenderer(blockPosition).render(blockInfo, chunk.lightAccessor!!, tintColor, blockPosition, mesh, arrayOf(blockBelow, blockAbove, blockNorth, blockSouth, blockWest, blockEast)) } return mesh } @@ -126,6 +124,12 @@ class WorldRenderer(private val connection: Connection, private val world: World chunkShader = Shader("chunk_vertex.glsl", "chunk_fragment.glsl") chunkShader.load() + // register keybindings + renderWindow.registerKeyCallback(KeyBindingsNames.DEBUG_CLEAR_CHUNK_CACHE) { _, _ -> + clearChunkCache() + connection.sender.sendFakeChatMessage("§f[§e§lDEBUG§f] §9Cleared chunk cache!") + prepareWorld(world) + } } override fun postInit() { @@ -145,7 +149,7 @@ class WorldRenderer(private val connection: Connection, private val world: World } for ((chunkLocation, map) in chunkSectionsToDraw) { - if (! visibleChunks.contains(chunkLocation)) { + if (!visibleChunks.contains(chunkLocation)) { continue } for ((_, mesh) in map) { @@ -169,21 +173,24 @@ class WorldRenderer(private val connection: Connection, private val world: World return textures } - fun prepareChunk(chunkLocation: ChunkLocation, chunk: Chunk) { - chunkSectionsToDraw[chunkLocation] = ConcurrentHashMap() - for ((sectionHeight, section) in chunk.sections) { - prepareChunkSection(chunkLocation, sectionHeight, section, chunk) + fun prepareChunk(chunkPosition: ChunkPosition, chunk: Chunk) { + chunkSectionsToDraw[chunkPosition] = ConcurrentHashMap() + if (!chunk.isFullyLoaded) { + return + } + for ((sectionHeight, section) in chunk.sections!!) { + prepareChunkSection(chunkPosition, sectionHeight, section, chunk) } } - fun prepareChunkSection(chunkLocation: ChunkLocation, sectionHeight: Int, section: ChunkSection, chunk: Chunk) { + fun prepareChunkSection(chunkPosition: ChunkPosition, sectionHeight: Int, section: ChunkSection, chunk: Chunk) { renderWindow.rendering.executor.execute { - val mesh = prepareChunk(chunkLocation, sectionHeight, section, chunk) + val mesh = prepareChunk(chunkPosition, sectionHeight, section, chunk) - var sectionMap = chunkSectionsToDraw[chunkLocation] + var sectionMap = chunkSectionsToDraw[chunkPosition] if (sectionMap == null) { sectionMap = ConcurrentHashMap() - chunkSectionsToDraw[chunkLocation] = sectionMap + chunkSectionsToDraw[chunkPosition] = sectionMap } renderWindow.renderQueue.add { mesh.load() @@ -205,19 +212,19 @@ class WorldRenderer(private val connection: Connection, private val world: World } } - fun unloadChunk(chunkLocation: ChunkLocation) { + fun unloadChunk(chunkPosition: ChunkPosition) { renderWindow.renderQueue.add { - chunkSectionsToDraw[chunkLocation]?.let { + chunkSectionsToDraw[chunkPosition]?.let { for ((_, mesh) in it) { mesh.unload() } - chunkSectionsToDraw.remove(chunkLocation) + chunkSectionsToDraw.remove(chunkPosition) } } } private fun prepareWorld(world: World) { - for ((chunkLocation, chunk) in world.allChunks) { + for ((chunkLocation, chunk) in world.chunks) { prepareChunk(chunkLocation, chunk) } } @@ -236,4 +243,8 @@ class WorldRenderer(private val connection: Connection, private val world: World } } } + + fun getChunkSize(): Int { + return chunkSectionsToDraw.size + } } diff --git a/src/main/java/de/bixilon/minosoft/gui/rendering/chunk/models/renderable/BlockRenderer.kt b/src/main/java/de/bixilon/minosoft/gui/rendering/chunk/models/renderable/BlockRenderer.kt index 574acef44..55542df82 100644 --- a/src/main/java/de/bixilon/minosoft/gui/rendering/chunk/models/renderable/BlockRenderer.kt +++ b/src/main/java/de/bixilon/minosoft/gui/rendering/chunk/models/renderable/BlockRenderer.kt @@ -17,11 +17,12 @@ import com.google.gson.JsonObject import de.bixilon.minosoft.data.Directions import de.bixilon.minosoft.data.text.RGBColor import de.bixilon.minosoft.data.world.BlockInfo +import de.bixilon.minosoft.data.world.BlockPosition +import de.bixilon.minosoft.data.world.light.LightAccessor import de.bixilon.minosoft.gui.rendering.chunk.ChunkMesh import de.bixilon.minosoft.gui.rendering.chunk.models.loading.BlockModel import de.bixilon.minosoft.gui.rendering.textures.Texture import glm_.mat4x4.Mat4 -import glm_.vec3.Vec3 class BlockRenderer(data: JsonObject, parent: BlockModel) { private val transparentFaces: MutableSet = mutableSetOf() @@ -70,8 +71,8 @@ class BlockRenderer(data: JsonObject, parent: BlockModel) { } } - fun render(blockInfo: BlockInfo, tintColor: RGBColor?, position: Vec3, mesh: ChunkMesh, neighbourBlocks: Array) { - val modelMatrix = Mat4().translate(position) + fun render(blockInfo: BlockInfo, lightAccessor: LightAccessor, tintColor: RGBColor?, position: BlockPosition, mesh: ChunkMesh, neighbourBlocks: Array) { + val modelMatrix = Mat4().translate(position.toVec3()) for (direction in Directions.DIRECTIONS) { for (element in elements) { @@ -91,7 +92,7 @@ class BlockRenderer(data: JsonObject, parent: BlockModel) { continue } - element.render(tintColor, textureMapping, modelMatrix, direction, mesh) + element.render(tintColor, lightAccessor.getLightLevel(position, direction) / 15f, textureMapping, modelMatrix, direction, mesh) } } } diff --git a/src/main/java/de/bixilon/minosoft/gui/rendering/chunk/models/renderable/ElementRenderer.kt b/src/main/java/de/bixilon/minosoft/gui/rendering/chunk/models/renderable/ElementRenderer.kt index 2cd839b8b..69b3667a0 100644 --- a/src/main/java/de/bixilon/minosoft/gui/rendering/chunk/models/renderable/ElementRenderer.kt +++ b/src/main/java/de/bixilon/minosoft/gui/rendering/chunk/models/renderable/ElementRenderer.kt @@ -50,7 +50,7 @@ class ElementRenderer(element: BlockModelElement, rotation: Vec3, uvLock: Boolea } - fun render(tintColor: RGBColor?, textureMapping: MutableMap, modelMatrix: Mat4, direction: Directions, mesh: ChunkMesh) { + fun render(tintColor: RGBColor?, lightLevel: Float, textureMapping: MutableMap, modelMatrix: Mat4, direction: Directions, mesh: ChunkMesh) { val realDirection = directionMapping[direction]!! val positionTemplate = BlockModelElement.FACE_POSITION_MAP_TEMPLATE[realDirection.ordinal] @@ -75,7 +75,8 @@ class ElementRenderer(element: BlockModelElement, rotation: Vec3, uvLock: Boolea tintColor } else { null - } + }, + lightLevel = lightLevel, ) } } diff --git a/src/main/java/de/bixilon/minosoft/gui/rendering/hud/elements/text/HUDDebugScreenElement.kt b/src/main/java/de/bixilon/minosoft/gui/rendering/hud/elements/text/HUDDebugScreenElement.kt index a08174db1..747ec0a17 100644 --- a/src/main/java/de/bixilon/minosoft/gui/rendering/hud/elements/text/HUDDebugScreenElement.kt +++ b/src/main/java/de/bixilon/minosoft/gui/rendering/hud/elements/text/HUDDebugScreenElement.kt @@ -49,6 +49,7 @@ class HUDDebugScreenElement(private val hudTextElement: HUDTextElement) : HUDTex chatComponents[FontBindings.LEFT_UP]!!.addAll(listOf( "FPS: ${getFPS()}", "Timings: avg ${getAvgFrameTime()}ms, min ${getMinFrameTime()}ms, max ${getMaxFrameTime()}ms", + "Chunks: ${hudTextElement.renderWindow.worldRenderer.getChunkSize()} / ${hudTextElement.connection.player.world.chunks.size}", "Connected to ${hudTextElement.connection.address} with ${hudTextElement.connection.version}", "", "XYZ ${getLocation()}", @@ -152,7 +153,7 @@ class HUDDebugScreenElement(private val hudTextElement: HUDTextElement) : HUDTex } private fun getChunkLocation(): String { - return "${camera.inChunkSectionLocation.x} ${camera.inChunkSectionLocation.y} ${camera.inChunkSectionLocation.z} in ${camera.chunkLocation.x} ${camera.sectionHeight} ${camera.chunkLocation.z}" + return "${camera.inChunkSectionPosition.x} ${camera.inChunkSectionPosition.y} ${camera.inChunkSectionPosition.z} in ${camera.chunkPosition.x} ${camera.sectionHeight} ${camera.chunkPosition.z}" } private fun getFacing(): String { diff --git a/src/main/java/de/bixilon/minosoft/gui/rendering/hud/elements/text/HUDFontMesh.kt b/src/main/java/de/bixilon/minosoft/gui/rendering/hud/elements/text/HUDFontMesh.kt index 5fb2a936a..9bc480932 100644 --- a/src/main/java/de/bixilon/minosoft/gui/rendering/hud/elements/text/HUDFontMesh.kt +++ b/src/main/java/de/bixilon/minosoft/gui/rendering/hud/elements/text/HUDFontMesh.kt @@ -38,6 +38,7 @@ class HUDFontMesh { glBindVertexArray(vao) glBindBuffer(GL_ARRAY_BUFFER, vbo) glBufferData(GL_ARRAY_BUFFER, data.toFloatArray(), GL_STATIC_DRAW) + data.clear() // clear data ((do not store in memory) var index = 0 glVertexAttribPointer(index, 3, GL_FLOAT, false, FLOATS_PER_VERTEX * Float.BYTES, 0L) glEnableVertexAttribArray(index++) diff --git a/src/main/java/de/bixilon/minosoft/gui/rendering/textures/TextureArray.kt b/src/main/java/de/bixilon/minosoft/gui/rendering/textures/TextureArray.kt index 3f3af6df5..ae0e91eea 100644 --- a/src/main/java/de/bixilon/minosoft/gui/rendering/textures/TextureArray.kt +++ b/src/main/java/de/bixilon/minosoft/gui/rendering/textures/TextureArray.kt @@ -32,9 +32,9 @@ class TextureArray(val textures: List, val maxWidth: Int, val maxHeight glTexParameteri(GL_TEXTURE_2D_ARRAY, GL_TEXTURE_WRAP_S, GL_REPEAT) glTexParameteri(GL_TEXTURE_2D_ARRAY, GL_TEXTURE_WRAP_T, GL_REPEAT) glTexParameteri(GL_TEXTURE_2D_ARRAY, GL_TEXTURE_MIN_FILTER, GL_NEAREST) + // glTexParameteri(GL_TEXTURE_2D_ARRAY, GL_TEXTURE_MIN_FILTER, GL_NEAREST_MIPMAP_NEAREST) // ToDo: This breaks transparency again glTexParameteri(GL_TEXTURE_2D_ARRAY, GL_TEXTURE_MAG_FILTER, GL_NEAREST) - glTexImage3D(GL_TEXTURE_2D_ARRAY, 0, GL_RGBA, maxWidth, maxHeight, textures.size, 0, GL_RGBA, GL_UNSIGNED_BYTE, null as ByteBuffer?) for (texture in textures) { diff --git a/src/main/java/de/bixilon/minosoft/modding/event/events/ChunkDataChangeEvent.java b/src/main/java/de/bixilon/minosoft/modding/event/events/ChunkDataChangeEvent.java deleted file mode 100644 index 2e6d627c8..000000000 --- a/src/main/java/de/bixilon/minosoft/modding/event/events/ChunkDataChangeEvent.java +++ /dev/null @@ -1,62 +0,0 @@ -/* - * Minosoft - * Copyright (C) 2020 Moritz Zwerger - * - * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along with this program.If not, see . - * - * This software is not affiliated with Mojang AB, the original developer of Minecraft. - */ - -package de.bixilon.minosoft.modding.event.events; - -import de.bixilon.minosoft.data.world.Chunk; -import de.bixilon.minosoft.data.world.ChunkLocation; -import de.bixilon.minosoft.protocol.network.Connection; -import de.bixilon.minosoft.protocol.packets.clientbound.play.PacketChunkData; -import de.bixilon.minosoft.util.nbt.tag.CompoundTag; - -/** - * Fired when a new chunk is received or a full chunk changes - */ -public class ChunkDataChangeEvent extends ConnectionEvent { - private final ChunkLocation location; - private final Chunk chunk; - private final CompoundTag heightMap; - - public ChunkDataChangeEvent(Connection connection, ChunkLocation location, Chunk chunk, CompoundTag heightMap) { - super(connection); - this.location = location; - this.chunk = chunk; - this.heightMap = heightMap; - } - - public ChunkDataChangeEvent(Connection connection, ChunkLocation location, Chunk chunk) { - super(connection); - this.location = location; - this.chunk = chunk; - this.heightMap = new CompoundTag(); - } - - public ChunkDataChangeEvent(Connection connection, PacketChunkData pkg) { - super(connection); - this.location = pkg.getLocation(); - this.chunk = pkg.getChunk(); - this.heightMap = pkg.getHeightMap(); - } - - public ChunkLocation getLocation() { - return this.location; - } - - public Chunk getChunk() { - return this.chunk; - } - - public CompoundTag getHeightMap() { - return this.heightMap; - } -} diff --git a/src/main/java/de/bixilon/minosoft/modding/event/events/ChunkDataChangeEvent.kt b/src/main/java/de/bixilon/minosoft/modding/event/events/ChunkDataChangeEvent.kt new file mode 100644 index 000000000..9324b57f0 --- /dev/null +++ b/src/main/java/de/bixilon/minosoft/modding/event/events/ChunkDataChangeEvent.kt @@ -0,0 +1,46 @@ +/* + * Minosoft + * Copyright (C) 2020 Moritz Zwerger + * + * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along with this program.If not, see . + * + * This software is not affiliated with Mojang AB, the original developer of Minecraft. + */ +package de.bixilon.minosoft.modding.event.events + +import de.bixilon.minosoft.data.world.ChunkData +import de.bixilon.minosoft.data.world.ChunkPosition +import de.bixilon.minosoft.protocol.network.Connection +import de.bixilon.minosoft.protocol.packets.clientbound.play.PacketChunkData +import de.bixilon.minosoft.util.nbt.tag.CompoundTag + +/** + * Fired when a new chunk is received or a full chunk changes + */ +class ChunkDataChangeEvent : ConnectionEvent { + val position: ChunkPosition + val chunkData: ChunkData + val heightMap: CompoundTag? + + constructor(connection: Connection?, position: ChunkPosition, chunkData: ChunkData, heightMap: CompoundTag?) : super(connection) { + this.position = position + this.chunkData = chunkData + this.heightMap = heightMap + } + + constructor(connection: Connection?, position: ChunkPosition, chunkData: ChunkData) : super(connection) { + this.position = position + this.chunkData = chunkData + heightMap = CompoundTag() + } + + constructor(connection: Connection, pkg: PacketChunkData) : super(connection) { + position = pkg.position + chunkData = pkg.chunkData + heightMap = pkg.heightMap + } +} diff --git a/src/main/java/de/bixilon/minosoft/modding/event/events/MultiBlockChangeEvent.java b/src/main/java/de/bixilon/minosoft/modding/event/events/MultiBlockChangeEvent.java index 31283261c..8c90e657f 100644 --- a/src/main/java/de/bixilon/minosoft/modding/event/events/MultiBlockChangeEvent.java +++ b/src/main/java/de/bixilon/minosoft/modding/event/events/MultiBlockChangeEvent.java @@ -14,8 +14,8 @@ package de.bixilon.minosoft.modding.event.events; import de.bixilon.minosoft.data.mappings.blocks.BlockState; -import de.bixilon.minosoft.data.world.ChunkLocation; -import de.bixilon.minosoft.data.world.InChunkLocation; +import de.bixilon.minosoft.data.world.ChunkPosition; +import de.bixilon.minosoft.data.world.InChunkPosition; import de.bixilon.minosoft.protocol.network.Connection; import de.bixilon.minosoft.protocol.packets.clientbound.play.PacketMultiBlockChange; @@ -25,26 +25,26 @@ import java.util.HashMap; * Fired when at least block is changed */ public class MultiBlockChangeEvent extends ConnectionEvent { - private final HashMap blocks; - private final ChunkLocation location; + private final HashMap blocks; + private final ChunkPosition position; - public MultiBlockChangeEvent(Connection connection, HashMap blocks, ChunkLocation location) { + public MultiBlockChangeEvent(Connection connection, HashMap blocks, ChunkPosition position) { super(connection); this.blocks = blocks; - this.location = location; + this.position = position; } public MultiBlockChangeEvent(Connection connection, PacketMultiBlockChange pkg) { super(connection); this.blocks = pkg.getBlocks(); - this.location = pkg.getLocation(); + this.position = pkg.getChunkPosition(); } - public HashMap getBlocks() { + public HashMap getBlocks() { return this.blocks; } - public ChunkLocation getLocation() { - return this.location; + public ChunkPosition getPosition() { + return this.position; } } diff --git a/src/main/java/de/bixilon/minosoft/modding/event/events/ParticleSpawnEvent.java b/src/main/java/de/bixilon/minosoft/modding/event/events/ParticleSpawnEvent.java index 211168a58..47a533d55 100644 --- a/src/main/java/de/bixilon/minosoft/modding/event/events/ParticleSpawnEvent.java +++ b/src/main/java/de/bixilon/minosoft/modding/event/events/ParticleSpawnEvent.java @@ -13,7 +13,7 @@ package de.bixilon.minosoft.modding.event.events; -import de.bixilon.minosoft.data.entities.Location; +import de.bixilon.minosoft.data.entities.Position; import de.bixilon.minosoft.data.mappings.particle.Particle; import de.bixilon.minosoft.data.mappings.particle.data.ParticleData; import de.bixilon.minosoft.protocol.network.Connection; @@ -22,30 +22,30 @@ import de.bixilon.minosoft.protocol.packets.clientbound.play.PacketParticle; public class ParticleSpawnEvent extends CancelableEvent { private final Particle particleType; private final ParticleData particleData; - private final Location location; + private final Position position; private boolean longDistance; private float offsetX; private float offsetY; private float offsetZ; private int count; - public ParticleSpawnEvent(Connection connection, Particle particleType, ParticleData particleData, boolean longDistance, Location location, float offsetX, float offsetY, float offsetZ, int count) { + public ParticleSpawnEvent(Connection connection, Particle particleType, ParticleData particleData, boolean longDistance, Position position, float offsetX, float offsetY, float offsetZ, int count) { super(connection); this.particleType = particleType; this.particleData = particleData; this.longDistance = longDistance; - this.location = location; + this.position = position; this.offsetX = offsetX; this.offsetY = offsetY; this.offsetZ = offsetZ; this.count = count; } - public ParticleSpawnEvent(Connection connection, Particle particleType, ParticleData particleData, Location location) { + public ParticleSpawnEvent(Connection connection, Particle particleType, ParticleData particleData, Position position) { super(connection); this.particleType = particleType; this.particleData = particleData; - this.location = location; + this.position = position; } public ParticleSpawnEvent(Connection connection, PacketParticle pkg) { @@ -53,7 +53,7 @@ public class ParticleSpawnEvent extends CancelableEvent { this.particleType = pkg.getParticleType(); this.particleData = pkg.getParticleData(); this.longDistance = pkg.isLongDistance(); - this.location = pkg.getLocation(); + this.position = pkg.getPosition(); this.offsetX = pkg.getOffsetX(); this.offsetY = pkg.getOffsetY(); this.offsetZ = pkg.getOffsetZ(); @@ -76,8 +76,8 @@ public class ParticleSpawnEvent extends CancelableEvent { this.longDistance = longDistance; } - public Location getLocation() { - return this.location; + public Position getPosition() { + return this.position; } public float getOffsetX() { diff --git a/src/main/java/de/bixilon/minosoft/modding/event/events/SpawnLocationChangeEvent.java b/src/main/java/de/bixilon/minosoft/modding/event/events/SpawnPositionChangeEvent.java similarity index 70% rename from src/main/java/de/bixilon/minosoft/modding/event/events/SpawnLocationChangeEvent.java rename to src/main/java/de/bixilon/minosoft/modding/event/events/SpawnPositionChangeEvent.java index a09241c50..5e58c3c1d 100644 --- a/src/main/java/de/bixilon/minosoft/modding/event/events/SpawnLocationChangeEvent.java +++ b/src/main/java/de/bixilon/minosoft/modding/event/events/SpawnPositionChangeEvent.java @@ -15,22 +15,22 @@ package de.bixilon.minosoft.modding.event.events; import de.bixilon.minosoft.data.world.BlockPosition; import de.bixilon.minosoft.protocol.network.Connection; -import de.bixilon.minosoft.protocol.packets.clientbound.play.PacketSpawnLocation; +import de.bixilon.minosoft.protocol.packets.clientbound.play.PacketSpawnPosition; -public class SpawnLocationChangeEvent extends ConnectionEvent { - private final BlockPosition location; +public class SpawnPositionChangeEvent extends ConnectionEvent { + private final BlockPosition position; - public SpawnLocationChangeEvent(Connection connection, BlockPosition location) { + public SpawnPositionChangeEvent(Connection connection, BlockPosition position) { super(connection); - this.location = location; + this.position = position; } - public SpawnLocationChangeEvent(Connection connection, PacketSpawnLocation pkg) { + public SpawnPositionChangeEvent(Connection connection, PacketSpawnPosition pkg) { super(connection); - this.location = pkg.getSpawnLocation(); + this.position = pkg.getSpawnPosition(); } - public BlockPosition getSpawnLocation() { - return this.location; + public BlockPosition getSpawnPosition() { + return this.position; } } diff --git a/src/main/java/de/bixilon/minosoft/protocol/packets/clientbound/play/PacketBlockChange.java b/src/main/java/de/bixilon/minosoft/protocol/packets/clientbound/play/PacketBlockChange.java index 0247710f8..74027696e 100644 --- a/src/main/java/de/bixilon/minosoft/protocol/packets/clientbound/play/PacketBlockChange.java +++ b/src/main/java/de/bixilon/minosoft/protocol/packets/clientbound/play/PacketBlockChange.java @@ -57,7 +57,7 @@ public class PacketBlockChange extends ClientboundPacket { // tweak if (!connection.getVersion().isFlattened()) { - BlockState block = VersionTweaker.transformBlock(getBlock(), chunk, this.position.getInChunkSectionLocation(), this.position.getSectionHeight()); + BlockState block = VersionTweaker.transformBlock(getBlock(), chunk.getSections(), this.position.getInChunkSectionLocation(), this.position.getSectionHeight()); section.setRawBlock(getPosition().getInChunkLocation().getInChunkSectionLocation(), block); } else { section.setRawBlock(getPosition().getInChunkLocation().getInChunkSectionLocation(), getBlock()); diff --git a/src/main/java/de/bixilon/minosoft/protocol/packets/clientbound/play/PacketChunkBulk.java b/src/main/java/de/bixilon/minosoft/protocol/packets/clientbound/play/PacketChunkBulk.java deleted file mode 100644 index 9202afbb4..000000000 --- a/src/main/java/de/bixilon/minosoft/protocol/packets/clientbound/play/PacketChunkBulk.java +++ /dev/null @@ -1,101 +0,0 @@ -/* - * Minosoft - * Copyright (C) 2020 Moritz Zwerger - * - * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along with this program.If not, see . - * - * This software is not affiliated with Mojang AB, the original developer of Minecraft. - */ - -package de.bixilon.minosoft.protocol.packets.clientbound.play; - -import de.bixilon.minosoft.data.mappings.Dimension; -import de.bixilon.minosoft.data.mappings.tweaker.VersionTweaker; -import de.bixilon.minosoft.data.world.Chunk; -import de.bixilon.minosoft.data.world.ChunkLocation; -import de.bixilon.minosoft.modding.event.events.ChunkDataChangeEvent; -import de.bixilon.minosoft.protocol.network.Connection; -import de.bixilon.minosoft.protocol.packets.ClientboundPacket; -import de.bixilon.minosoft.protocol.protocol.InByteBuffer; -import de.bixilon.minosoft.util.ChunkUtil; -import de.bixilon.minosoft.util.Util; -import de.bixilon.minosoft.util.logging.Log; - -import java.util.HashMap; - -import static de.bixilon.minosoft.protocol.protocol.ProtocolVersions.V_14W26A; -import static de.bixilon.minosoft.protocol.protocol.ProtocolVersions.V_14W28A; - -public class PacketChunkBulk extends ClientboundPacket { - private final HashMap chunks = new HashMap<>(); - - @Override - public boolean read(InByteBuffer buffer) { - Dimension dimension = buffer.getConnection().getPlayer().getWorld().getDimension(); - if (buffer.getVersionId() < V_14W26A) { - int chunkCount = buffer.readUnsignedShort(); - int dataLen = buffer.readInt(); - boolean containsSkyLight = buffer.readBoolean(); - - // decompress chunk data - InByteBuffer decompressed; - if (buffer.getVersionId() < V_14W28A) { - decompressed = Util.decompress(buffer.readBytes(dataLen), buffer.getConnection()); - } else { - decompressed = buffer; - } - - // chunk meta data - for (int i = 0; i < chunkCount; i++) { - int x = buffer.readInt(); - int z = buffer.readInt(); - long[] sectionBitMask = {buffer.readUnsignedShort()}; - int addBitMask = buffer.readUnsignedShort(); - - this.chunks.put(new ChunkLocation(x, z), ChunkUtil.readChunkPacket(decompressed, dimension, sectionBitMask, addBitMask, true, containsSkyLight)); - } - return true; - } - boolean containsSkyLight = buffer.readBoolean(); - int chunkCount = buffer.readVarInt(); - int[] x = new int[chunkCount]; - int[] z = new int[chunkCount]; - long[][] sectionBitMask = new long[chunkCount][]; - - // ToDo: this was still compressed in 14w28a - - for (int i = 0; i < chunkCount; i++) { - x[i] = buffer.readInt(); - z[i] = buffer.readInt(); - sectionBitMask[i] = new long[]{buffer.readUnsignedShort()}; - } - for (int i = 0; i < chunkCount; i++) { - this.chunks.put(new ChunkLocation(x[i], z[i]), ChunkUtil.readChunkPacket(buffer, dimension, sectionBitMask[i], (short) 0, true, containsSkyLight)); - } - return true; - } - - @Override - public void handle(Connection connection) { - this.chunks.values().forEach((chunk) -> VersionTweaker.transformChunk(chunk, connection.getVersion().getVersionId())); - - getChunks().forEach(((location, chunk) -> connection.fireEvent(new ChunkDataChangeEvent(connection, location, chunk)))); - - connection.getPlayer().getWorld().setChunks(getChunks()); - - getChunks().forEach(((location, chunk) -> connection.getRenderer().getRenderWindow().getWorldRenderer().prepareChunk(location, chunk))); - } - - @Override - public void log() { - Log.protocol(String.format("[IN] Chunk bulk packet received (chunks=%s)", this.chunks.size())); - } - - public HashMap getChunks() { - return this.chunks; - } -} diff --git a/src/main/java/de/bixilon/minosoft/protocol/packets/clientbound/play/PacketChunkBulk.kt b/src/main/java/de/bixilon/minosoft/protocol/packets/clientbound/play/PacketChunkBulk.kt new file mode 100644 index 000000000..2d92fef31 --- /dev/null +++ b/src/main/java/de/bixilon/minosoft/protocol/packets/clientbound/play/PacketChunkBulk.kt @@ -0,0 +1,88 @@ +/* + * Minosoft + * Copyright (C) 2020 Moritz Zwerger + * + * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along with this program.If not, see . + * + * This software is not affiliated with Mojang AB, the original developer of Minecraft. + */ +package de.bixilon.minosoft.protocol.packets.clientbound.play + +import de.bixilon.minosoft.data.mappings.tweaker.VersionTweaker +import de.bixilon.minosoft.data.world.ChunkData +import de.bixilon.minosoft.data.world.ChunkPosition +import de.bixilon.minosoft.modding.event.events.ChunkDataChangeEvent +import de.bixilon.minosoft.protocol.network.Connection +import de.bixilon.minosoft.protocol.packets.ClientboundPacket +import de.bixilon.minosoft.protocol.protocol.InByteBuffer +import de.bixilon.minosoft.protocol.protocol.ProtocolVersions +import de.bixilon.minosoft.util.ChunkUtil +import de.bixilon.minosoft.util.Util +import de.bixilon.minosoft.util.logging.Log +import java.util.* + +class PacketChunkBulk : ClientboundPacket() { + val data = HashMap() + + override fun read(buffer: InByteBuffer): Boolean { + val dimension = buffer.connection.player.world.dimension!! + if (buffer.versionId < ProtocolVersions.V_14W26A) { + val chunkCount = buffer.readUnsignedShort() + val dataLength = buffer.readInt() + val containsSkyLight = buffer.readBoolean() + + // decompress chunk data + val decompressed: InByteBuffer = if (buffer.versionId < ProtocolVersions.V_14W28A) { + Util.decompress(buffer.readBytes(dataLength), buffer.connection) + } else { + buffer + } + + // chunk meta data + for (i in 0 until chunkCount) { + val chunkPosition = buffer.readChunkLocation() + val sectionBitMask = longArrayOf(buffer.readUnsignedShort().toLong()) + val addBitMask = buffer.readUnsignedShort() + data[chunkPosition] = ChunkUtil.readChunkPacket(decompressed, dimension, sectionBitMask, addBitMask, true, containsSkyLight) + } + return true + } + val containsSkyLight = buffer.readBoolean() + val chunkCount = buffer.readVarInt() + val x = IntArray(chunkCount) + val z = IntArray(chunkCount) + val sectionBitMask = arrayOfNulls(chunkCount) + + // ToDo: this was still compressed in 14w28a + for (i in 0 until chunkCount) { + x[i] = buffer.readInt() + z[i] = buffer.readInt() + sectionBitMask[i] = longArrayOf(buffer.readUnsignedShort().toLong()) + } + for (i in 0 until chunkCount) { + data[ChunkPosition(x[i], z[i])] = ChunkUtil.readChunkPacket(buffer, dimension, sectionBitMask[i], 0, true, containsSkyLight) + } + return true + } + + override fun handle(connection: Connection) { + // transform data + for ((chunkLocation, data) in data) { + data.blocks?.let { + VersionTweaker.transformSections(it, connection.version.versionId) + } + connection.fireEvent(ChunkDataChangeEvent(connection, chunkLocation, data)) + val chunk = connection.player.world.getOrCreateChunk(chunkLocation) + chunk.setData(data) + connection.renderer.renderWindow.worldRenderer.prepareChunk(chunkLocation, chunk) + } + } + + override fun log() { + Log.protocol("[IN] Chunk bulk packet received (chunks${data.size})") + } +} diff --git a/src/main/java/de/bixilon/minosoft/protocol/packets/clientbound/play/PacketChunkData.java b/src/main/java/de/bixilon/minosoft/protocol/packets/clientbound/play/PacketChunkData.java deleted file mode 100644 index c9df4e830..000000000 --- a/src/main/java/de/bixilon/minosoft/protocol/packets/clientbound/play/PacketChunkData.java +++ /dev/null @@ -1,153 +0,0 @@ -/* - * Minosoft - * Copyright (C) 2020 Moritz Zwerger - * - * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along with this program.If not, see . - * - * This software is not affiliated with Mojang AB, the original developer of Minecraft. - */ - -package de.bixilon.minosoft.protocol.packets.clientbound.play; - -import de.bixilon.minosoft.data.entities.block.BlockEntityMetaData; -import de.bixilon.minosoft.data.mappings.Dimension; -import de.bixilon.minosoft.data.mappings.tweaker.VersionTweaker; -import de.bixilon.minosoft.data.world.BlockPosition; -import de.bixilon.minosoft.data.world.Chunk; -import de.bixilon.minosoft.data.world.ChunkLocation; -import de.bixilon.minosoft.data.world.biome.BiomeAccessor; -import de.bixilon.minosoft.data.world.biome.NoiseBiomeAccessor; -import de.bixilon.minosoft.modding.event.events.BlockEntityMetaDataChangeEvent; -import de.bixilon.minosoft.modding.event.events.ChunkDataChangeEvent; -import de.bixilon.minosoft.protocol.network.Connection; -import de.bixilon.minosoft.protocol.packets.ClientboundPacket; -import de.bixilon.minosoft.protocol.protocol.InByteBuffer; -import de.bixilon.minosoft.util.ChunkUtil; -import de.bixilon.minosoft.util.Util; -import de.bixilon.minosoft.util.logging.Log; -import de.bixilon.minosoft.util.nbt.tag.CompoundTag; - -import java.util.HashMap; - -import static de.bixilon.minosoft.protocol.protocol.ProtocolVersions.*; - -public class PacketChunkData extends ClientboundPacket { - private final HashMap blockEntities = new HashMap<>(); - private ChunkLocation location; - private Chunk chunk; - private CompoundTag heightMap; - private boolean ignoreOldData; - - @Override - public boolean read(InByteBuffer buffer) { - Dimension dimension = buffer.getConnection().getPlayer().getWorld().getDimension(); - this.location = new ChunkLocation(buffer.readInt(), buffer.readInt()); - - boolean fullChunk = true; - if (buffer.getVersionId() < V_20W45A) { - fullChunk = buffer.readBoolean(); - } - - if (buffer.getVersionId() < V_14W26A) { - long[] sectionBitMasks = {buffer.readUnsignedShort()}; - int addBitMask = buffer.readUnsignedShort(); - - // decompress chunk data - InByteBuffer decompressed; - if (buffer.getVersionId() < V_14W28A) { - decompressed = Util.decompress(buffer.readBytes(buffer.readInt()), buffer.getConnection()); - } else { - decompressed = buffer; - } - - this.chunk = ChunkUtil.readChunkPacket(decompressed, dimension, sectionBitMasks, addBitMask, fullChunk, dimension.getHasSkyLight()); - return true; - } - long[] sectionBitMasks; - if (buffer.getVersionId() < V_15W34C) { - sectionBitMasks = new long[]{buffer.readUnsignedShort()}; - } else if (buffer.getVersionId() < V_15W36D) { - sectionBitMasks = new long[]{buffer.readInt()}; - } else if (buffer.getVersionId() < V_21W03A) { - sectionBitMasks = new long[]{buffer.readVarInt()}; - } else { - sectionBitMasks = buffer.readLongArray(); - } - - if (buffer.getVersionId() >= V_1_16_PRE7 && buffer.getVersionId() < V_1_16_2_PRE2) { - this.ignoreOldData = buffer.readBoolean(); - } - - if (buffer.getVersionId() >= V_18W44A) { - this.heightMap = (CompoundTag) buffer.readNBT(); - } - BiomeAccessor biomeAccessor = null; - if (fullChunk) { - biomeAccessor = new NoiseBiomeAccessor(buffer.readBiomeArray()); - } - - int size = buffer.readVarInt(); - int lastPos = buffer.getPosition(); - - - if (size > 0) { - this.chunk = ChunkUtil.readChunkPacket(buffer, dimension, sectionBitMasks, 0, fullChunk, dimension.getHasSkyLight()); - if (this.chunk != null) { - if (biomeAccessor != null) { - this.chunk.setBiomeAccessor(biomeAccessor); - } - } - // set position of the byte buffer, because of some reasons HyPixel makes some weird stuff and sends way to much 0 bytes. (~ 190k), thanks @pokechu22 - buffer.setPosition(size + lastPos); - } - if (buffer.getVersionId() >= V_1_9_4) { - int blockEntitiesCount = buffer.readVarInt(); - for (int i = 0; i < blockEntitiesCount; i++) { - CompoundTag tag = (CompoundTag) buffer.readNBT(); - BlockEntityMetaData data = BlockEntityMetaData.getData(buffer.getConnection(), null, tag); - if (data == null) { - continue; - } - this.blockEntities.put(new BlockPosition(tag.getIntTag("x").getValue(), (short) tag.getIntTag("y").getValue(), tag.getIntTag("z").getValue()), data); - } - } - return true; - } - - @Override - public void handle(Connection connection) { - getBlockEntities().forEach(((position, compoundTag) -> connection.fireEvent(new BlockEntityMetaDataChangeEvent(connection, position, null, compoundTag)))); - VersionTweaker.transformChunk(this.chunk, connection.getVersion().getVersionId()); - - connection.fireEvent(new ChunkDataChangeEvent(connection, this)); - - connection.getPlayer().getWorld().setChunk(getLocation(), getChunk()); - connection.getPlayer().getWorld().setBlockEntityData(getBlockEntities()); - connection.getRenderer().getRenderWindow().getWorldRenderer().prepareChunk(this.location, this.chunk); - } - - @Override - public void log() { - Log.protocol(String.format("[IN] Chunk packet received (chunk: %s)", this.location)); - } - - public ChunkLocation getLocation() { - return this.location; - } - - public Chunk getChunk() { - return this.chunk; - } - - public HashMap getBlockEntities() { - return this.blockEntities; - } - - public CompoundTag getHeightMap() { - return this.heightMap; - } -} diff --git a/src/main/java/de/bixilon/minosoft/protocol/packets/clientbound/play/PacketChunkData.kt b/src/main/java/de/bixilon/minosoft/protocol/packets/clientbound/play/PacketChunkData.kt new file mode 100644 index 000000000..9f1eb64c4 --- /dev/null +++ b/src/main/java/de/bixilon/minosoft/protocol/packets/clientbound/play/PacketChunkData.kt @@ -0,0 +1,117 @@ +/* + * Minosoft + * Copyright (C) 2020 Moritz Zwerger + * + * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along with this program.If not, see . + * + * This software is not affiliated with Mojang AB, the original developer of Minecraft. + */ +package de.bixilon.minosoft.protocol.packets.clientbound.play + +import de.bixilon.minosoft.data.entities.block.BlockEntityMetaData +import de.bixilon.minosoft.data.mappings.tweaker.VersionTweaker +import de.bixilon.minosoft.data.world.BlockPosition +import de.bixilon.minosoft.data.world.ChunkData +import de.bixilon.minosoft.data.world.ChunkPosition +import de.bixilon.minosoft.data.world.biome.NoiseBiomeAccessor +import de.bixilon.minosoft.modding.event.events.BlockEntityMetaDataChangeEvent +import de.bixilon.minosoft.modding.event.events.ChunkDataChangeEvent +import de.bixilon.minosoft.protocol.network.Connection +import de.bixilon.minosoft.protocol.packets.ClientboundPacket +import de.bixilon.minosoft.protocol.protocol.InByteBuffer +import de.bixilon.minosoft.protocol.protocol.ProtocolVersions +import de.bixilon.minosoft.util.ChunkUtil +import de.bixilon.minosoft.util.Util +import de.bixilon.minosoft.util.logging.Log +import de.bixilon.minosoft.util.nbt.tag.CompoundTag +import java.util.* + +class PacketChunkData : ClientboundPacket() { + private val blockEntities = HashMap() + lateinit var position: ChunkPosition + val chunkData: ChunkData = ChunkData() + var heightMap: CompoundTag? = null + private var shouldMerge = false + + override fun read(buffer: InByteBuffer): Boolean { + val dimension = buffer.connection.player.world.dimension + position = ChunkPosition(buffer.readInt(), buffer.readInt()) + if (buffer.versionId < ProtocolVersions.V_20W45A) { + shouldMerge = !buffer.readBoolean() + } + if (buffer.versionId < ProtocolVersions.V_14W26A) { + val sectionBitMasks = longArrayOf(buffer.readUnsignedShort().toLong()) + val addBitMask = buffer.readUnsignedShort() + + // decompress chunk data + val decompressed: InByteBuffer = if (buffer.versionId < ProtocolVersions.V_14W28A) { + Util.decompress(buffer.readBytes(buffer.readInt()), buffer.connection) + } else { + buffer + } + chunkData.replace(ChunkUtil.readChunkPacket(decompressed, dimension, sectionBitMasks, addBitMask, !shouldMerge, dimension!!.hasSkyLight)) + return true + } + val sectionBitMasks: LongArray = when { + buffer.versionId < ProtocolVersions.V_15W34C -> { + longArrayOf(buffer.readUnsignedShort().toLong()) + } + buffer.versionId < ProtocolVersions.V_15W36D -> { + longArrayOf(buffer.readInt().toLong()) + } + buffer.versionId < ProtocolVersions.V_21W03A -> { + longArrayOf(buffer.readVarInt().toLong()) + } + else -> { + buffer.readLongArray() + } + } + if (buffer.versionId >= ProtocolVersions.V_1_16_PRE7 && buffer.versionId < ProtocolVersions.V_1_16_2_PRE2) { + shouldMerge = buffer.readBoolean() + } + if (buffer.versionId >= ProtocolVersions.V_18W44A) { + heightMap = buffer.readNBT() as CompoundTag + } + if (!shouldMerge) { + chunkData.biomeAccessor = NoiseBiomeAccessor(buffer.readBiomeArray()) + } + val size = buffer.readVarInt() + val lastPos = buffer.position + if (size > 0) { + chunkData.replace(ChunkUtil.readChunkPacket(buffer, dimension, sectionBitMasks, 0, !shouldMerge, dimension!!.hasSkyLight)) + // set position of the byte buffer, because of some reasons HyPixel makes some weird stuff and sends way to much 0 bytes. (~ 190k), thanks @pokechu22 + buffer.position = size + lastPos + } + if (buffer.versionId >= ProtocolVersions.V_1_9_4) { + val blockEntitiesCount = buffer.readVarInt() + for (i in 0 until blockEntitiesCount) { + val tag = buffer.readNBT() as CompoundTag + val data = BlockEntityMetaData.getData(buffer.connection, null, tag) ?: continue + blockEntities[BlockPosition(tag.getNumberTag("x").asInt, tag.getNumberTag("y").asInt, tag.getNumberTag("z").asInt)] = data + } + } + return true + } + + override fun handle(connection: Connection) { + for ((position, blockEntityMetaData) in blockEntities) { + connection.fireEvent(BlockEntityMetaDataChangeEvent(connection, position, null, blockEntityMetaData)) + } + chunkData.blocks?.let { + VersionTweaker.transformSections(it, connection.version.versionId) + } + connection.fireEvent(ChunkDataChangeEvent(connection, this)) + val chunk = connection.player.world.getOrCreateChunk(position) + chunk.setData(chunkData) + connection.player.world.setBlockEntityData(blockEntities) + connection.renderer.renderWindow.worldRenderer.prepareChunk(position, chunk) + } + + override fun log() { + Log.protocol(String.format("[IN] Chunk packet received (chunk: %s)", position)) + } +} diff --git a/src/main/java/de/bixilon/minosoft/protocol/packets/clientbound/play/PacketEntityMovement.java b/src/main/java/de/bixilon/minosoft/protocol/packets/clientbound/play/PacketEntityMovement.java index 2c60cb1cd..43af12a98 100644 --- a/src/main/java/de/bixilon/minosoft/protocol/packets/clientbound/play/PacketEntityMovement.java +++ b/src/main/java/de/bixilon/minosoft/protocol/packets/clientbound/play/PacketEntityMovement.java @@ -13,7 +13,7 @@ package de.bixilon.minosoft.protocol.packets.clientbound.play; -import de.bixilon.minosoft.data.entities.RelativeLocation; +import de.bixilon.minosoft.data.entities.RelativePosition; import de.bixilon.minosoft.data.entities.entities.Entity; import de.bixilon.minosoft.protocol.network.Connection; import de.bixilon.minosoft.protocol.packets.ClientboundPacket; @@ -25,16 +25,16 @@ import static de.bixilon.minosoft.protocol.protocol.ProtocolVersions.V_16W06A; public class PacketEntityMovement extends ClientboundPacket { int entityId; - RelativeLocation location; + RelativePosition position; boolean onGround; @Override public boolean read(InByteBuffer buffer) { this.entityId = buffer.readEntityId(); if (buffer.getVersionId() < V_16W06A) { - this.location = new RelativeLocation(buffer.readFixedPointNumberByte(), buffer.readFixedPointNumberByte(), buffer.readFixedPointNumberByte()); + this.position = new RelativePosition(buffer.readFixedPointNumberByte(), buffer.readFixedPointNumberByte(), buffer.readFixedPointNumberByte()); } else { - this.location = new RelativeLocation(buffer.readShort() / 4096F, buffer.readShort() / 4096F, buffer.readShort() / 4096F); // / 128 / 32 + this.position = new RelativePosition(buffer.readShort() / 4096F, buffer.readShort() / 4096F, buffer.readShort() / 4096F); // / 128 / 32 } if (buffer.getVersionId() >= V_14W25B) { this.onGround = buffer.readBoolean(); @@ -49,19 +49,19 @@ public class PacketEntityMovement extends ClientboundPacket { // thanks mojang return; } - entity.setLocation(getRelativeLocation()); + entity.setLocation(getRelativePosition()); } @Override public void log() { - Log.protocol(String.format("[IN] Entity %d moved relative %s", this.entityId, this.location)); + Log.protocol(String.format("[IN] Entity %d moved relative %s", this.entityId, this.position)); } public int getEntityId() { return this.entityId; } - public RelativeLocation getRelativeLocation() { - return this.location; + public RelativePosition getRelativePosition() { + return this.position; } } diff --git a/src/main/java/de/bixilon/minosoft/protocol/packets/clientbound/play/PacketEntityMovementAndRotation.java b/src/main/java/de/bixilon/minosoft/protocol/packets/clientbound/play/PacketEntityMovementAndRotation.java index 034d37655..842b41617 100644 --- a/src/main/java/de/bixilon/minosoft/protocol/packets/clientbound/play/PacketEntityMovementAndRotation.java +++ b/src/main/java/de/bixilon/minosoft/protocol/packets/clientbound/play/PacketEntityMovementAndRotation.java @@ -13,7 +13,7 @@ package de.bixilon.minosoft.protocol.packets.clientbound.play; -import de.bixilon.minosoft.data.entities.RelativeLocation; +import de.bixilon.minosoft.data.entities.RelativePosition; import de.bixilon.minosoft.data.entities.entities.Entity; import de.bixilon.minosoft.protocol.network.Connection; import de.bixilon.minosoft.protocol.packets.ClientboundPacket; @@ -25,7 +25,7 @@ import static de.bixilon.minosoft.protocol.protocol.ProtocolVersions.V_16W06A; public class PacketEntityMovementAndRotation extends ClientboundPacket { int entityId; - RelativeLocation location; + RelativePosition position; short yaw; short pitch; boolean onGround; @@ -35,9 +35,9 @@ public class PacketEntityMovementAndRotation extends ClientboundPacket { this.entityId = buffer.readEntityId(); if (buffer.getVersionId() < V_16W06A) { - this.location = new RelativeLocation(buffer.readFixedPointNumberByte(), buffer.readFixedPointNumberByte(), buffer.readFixedPointNumberByte()); + this.position = new RelativePosition(buffer.readFixedPointNumberByte(), buffer.readFixedPointNumberByte(), buffer.readFixedPointNumberByte()); } else { - this.location = new RelativeLocation(buffer.readShort() / 4096F, buffer.readShort() / 4096F, buffer.readShort() / 4096F); // / 128 / 32 + this.position = new RelativePosition(buffer.readShort() / 4096F, buffer.readShort() / 4096F, buffer.readShort() / 4096F); // / 128 / 32 } this.yaw = buffer.readAngle(); this.pitch = buffer.readAngle(); @@ -54,21 +54,21 @@ public class PacketEntityMovementAndRotation extends ClientboundPacket { // thanks mojang return; } - entity.setLocation(getRelativeLocation()); + entity.setLocation(getRelativePosition()); entity.setRotation(getYaw(), getPitch()); } @Override public void log() { - Log.protocol(String.format("[IN] Entity %d moved relative %s (yaw=%s, pitch=%s)", this.entityId, this.location, this.yaw, this.pitch)); + Log.protocol(String.format("[IN] Entity %d moved relative %s (yaw=%s, pitch=%s)", this.entityId, this.position, this.yaw, this.pitch)); } public int getEntityId() { return this.entityId; } - public RelativeLocation getRelativeLocation() { - return this.location; + public RelativePosition getRelativePosition() { + return this.position; } public short getYaw() { 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 2401f0b62..b63a0410a 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 @@ -13,7 +13,7 @@ package de.bixilon.minosoft.protocol.packets.clientbound.play; -import de.bixilon.minosoft.data.entities.Location; +import de.bixilon.minosoft.data.entities.Position; import de.bixilon.minosoft.data.entities.entities.Entity; import de.bixilon.minosoft.protocol.network.Connection; import de.bixilon.minosoft.protocol.packets.ClientboundPacket; @@ -25,7 +25,7 @@ import static de.bixilon.minosoft.protocol.protocol.ProtocolVersions.V_16W06A; public class PacketEntityTeleport extends ClientboundPacket { int entityId; - Location location; + Position position; short yaw; short pitch; boolean onGround; @@ -35,9 +35,9 @@ public class PacketEntityTeleport extends ClientboundPacket { this.entityId = buffer.readEntityId(); if (buffer.getVersionId() < V_16W06A) { - this.location = new Location(buffer.readFixedPointNumberInt(), buffer.readFixedPointNumberInt(), buffer.readFixedPointNumberInt()); + this.position = new Position(buffer.readFixedPointNumberInt(), buffer.readFixedPointNumberInt(), buffer.readFixedPointNumberInt()); } else { - this.location = buffer.readLocation(); + this.position = buffer.readLocation(); } this.yaw = buffer.readAngle(); this.pitch = buffer.readAngle(); @@ -55,21 +55,21 @@ public class PacketEntityTeleport extends ClientboundPacket { // thanks mojang return; } - entity.setLocation(getRelativeLocation()); + entity.setLocation(getRelativePosition()); entity.setRotation(getYaw(), getPitch()); } @Override public void log() { - Log.protocol(String.format("[IN] Entity %d moved to %s (yaw=%s, pitch=%s)", this.entityId, this.location, this.yaw, this.pitch)); + Log.protocol(String.format("[IN] Entity %d moved to %s (yaw=%s, pitch=%s)", this.entityId, this.position, this.yaw, this.pitch)); } public int getEntityId() { return this.entityId; } - public Location getRelativeLocation() { - return this.location; + public Position getRelativePosition() { + return this.position; } public short getYaw() { diff --git a/src/main/java/de/bixilon/minosoft/protocol/packets/clientbound/play/PacketExplosion.java b/src/main/java/de/bixilon/minosoft/protocol/packets/clientbound/play/PacketExplosion.java index 189ffeca7..2d59e514e 100644 --- a/src/main/java/de/bixilon/minosoft/protocol/packets/clientbound/play/PacketExplosion.java +++ b/src/main/java/de/bixilon/minosoft/protocol/packets/clientbound/play/PacketExplosion.java @@ -13,7 +13,7 @@ package de.bixilon.minosoft.protocol.packets.clientbound.play; -import de.bixilon.minosoft.data.entities.Location; +import de.bixilon.minosoft.data.entities.Position; import de.bixilon.minosoft.data.world.BlockPosition; import de.bixilon.minosoft.protocol.network.Connection; import de.bixilon.minosoft.protocol.packets.ClientboundPacket; @@ -21,16 +21,16 @@ import de.bixilon.minosoft.protocol.protocol.InByteBuffer; import de.bixilon.minosoft.util.logging.Log; public class PacketExplosion extends ClientboundPacket { - Location location; - float radius; - byte[][] records; - float motionX; - float motionY; - float motionZ; + private Position position; + private float radius; + private byte[][] records; + private float motionX; + private float motionY; + private float motionZ; @Override public boolean read(InByteBuffer buffer) { - this.location = new Location(buffer.readFloat(), buffer.readFloat(), buffer.readFloat()); + this.position = new Position(buffer.readFloat(), buffer.readFloat(), buffer.readFloat()); this.radius = buffer.readFloat(); if (this.radius > 100.0F) { // maybe somebody tries to make bullshit? @@ -53,9 +53,9 @@ public class PacketExplosion extends ClientboundPacket { public void handle(Connection connection) { // remove all blocks set by explosion for (byte[] record : getRecords()) { - int x = ((int) getLocation().getX()) + record[0]; - int y = ((int) getLocation().getY()) + record[1]; - int z = ((int) getLocation().getZ()) + record[2]; + int x = ((int) getPosition().getX()) + record[0]; + int y = ((int) getPosition().getY()) + record[1]; + int z = ((int) getPosition().getZ()) + record[2]; BlockPosition blockPosition = new BlockPosition(x, (short) y, z); connection.getPlayer().getWorld().setBlock(blockPosition, null); } @@ -64,11 +64,11 @@ public class PacketExplosion extends ClientboundPacket { @Override public void log() { - Log.protocol(String.format("[IN] Explosion packet received at %s (recordCount=%d, radius=%s)", this.location, this.records.length, this.radius)); + Log.protocol(String.format("[IN] Explosion packet received at %s (recordCount=%d, radius=%s)", this.position, this.records.length, this.radius)); } - public Location getLocation() { - return this.location; + public Position getPosition() { + return this.position; } public float getMotionX() { 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 4881511af..591d00b93 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 @@ -13,21 +13,21 @@ package de.bixilon.minosoft.protocol.packets.clientbound.play; -import de.bixilon.minosoft.data.entities.Location; +import de.bixilon.minosoft.data.entities.Position; import de.bixilon.minosoft.protocol.packets.ClientboundPacket; import de.bixilon.minosoft.protocol.protocol.InByteBuffer; import de.bixilon.minosoft.util.logging.Log; public class PacketFacePlayer extends ClientboundPacket { PlayerFaces face; - Location location; + Position position; int entityId = -1; PlayerFaces entityFace; @Override public boolean read(InByteBuffer buffer) { this.face = PlayerFaces.byId(buffer.readVarInt()); - this.location = buffer.readLocation(); + this.position = buffer.readLocation(); if (buffer.readBoolean()) { // entity present this.entityId = buffer.readVarInt(); @@ -38,15 +38,15 @@ public class PacketFacePlayer extends ClientboundPacket { @Override public void log() { - Log.protocol(String.format("[IN] Received face player packet (face=%s, location=%s, entityId=%d, entityFace=%s)", this.face, this.location, this.entityId, this.entityFace)); + Log.protocol(String.format("[IN] Received face player packet (face=%s, position=%s, entityId=%d, entityFace=%s)", this.face, this.position, this.entityId, this.entityFace)); } public PlayerFaces getFace() { return this.face; } - public Location getLocation() { - return this.location; + public Position getPosition() { + return this.position; } public int getEntityId() { diff --git a/src/main/java/de/bixilon/minosoft/protocol/packets/clientbound/play/PacketMultiBlockChange.java b/src/main/java/de/bixilon/minosoft/protocol/packets/clientbound/play/PacketMultiBlockChange.java index 565883f96..d4931ac0e 100644 --- a/src/main/java/de/bixilon/minosoft/protocol/packets/clientbound/play/PacketMultiBlockChange.java +++ b/src/main/java/de/bixilon/minosoft/protocol/packets/clientbound/play/PacketMultiBlockChange.java @@ -16,9 +16,9 @@ package de.bixilon.minosoft.protocol.packets.clientbound.play; import de.bixilon.minosoft.data.mappings.blocks.BlockState; import de.bixilon.minosoft.data.mappings.tweaker.VersionTweaker; import de.bixilon.minosoft.data.world.Chunk; -import de.bixilon.minosoft.data.world.ChunkLocation; +import de.bixilon.minosoft.data.world.ChunkPosition; import de.bixilon.minosoft.data.world.ChunkSection; -import de.bixilon.minosoft.data.world.InChunkLocation; +import de.bixilon.minosoft.data.world.InChunkPosition; import de.bixilon.minosoft.modding.event.events.MultiBlockChangeEvent; import de.bixilon.minosoft.protocol.network.Connection; import de.bixilon.minosoft.protocol.packets.ClientboundPacket; @@ -32,16 +32,16 @@ import java.util.Map; import static de.bixilon.minosoft.protocol.protocol.ProtocolVersions.*; public class PacketMultiBlockChange extends ClientboundPacket { - private final HashMap blocks = new HashMap<>(); - private ChunkLocation location; + private final HashMap blocks = new HashMap<>(); + private ChunkPosition chunkPosition; @Override public boolean read(InByteBuffer buffer) { if (buffer.getVersionId() < V_14W26C) { if (buffer.getVersionId() < V_1_7_5) { - this.location = new ChunkLocation(buffer.readVarInt(), buffer.readVarInt()); + this.chunkPosition = new ChunkPosition(buffer.readVarInt(), buffer.readVarInt()); } else { - this.location = new ChunkLocation(buffer.readInt(), buffer.readInt()); + this.chunkPosition = new ChunkPosition(buffer.readInt(), buffer.readInt()); } short count = buffer.readShort(); int dataSize = buffer.readInt(); // should be count * 4 @@ -52,23 +52,23 @@ public class PacketMultiBlockChange extends ClientboundPacket { byte y = (byte) ((raw & 0xFF_00_00) >>> 16); byte z = (byte) ((raw & 0x0F_00_00_00) >>> 24); byte x = (byte) ((raw & 0xF0_00_00_00) >>> 28); - this.blocks.put(new InChunkLocation(x, y, z), buffer.getConnection().getMapping().getBlockState((blockId << 4) | meta)); + this.blocks.put(new InChunkPosition(x, y, z), buffer.getConnection().getMapping().getBlockState((blockId << 4) | meta)); } return true; } if (buffer.getVersionId() < V_20W28A) { - this.location = new ChunkLocation(buffer.readInt(), buffer.readInt()); + this.chunkPosition = new ChunkPosition(buffer.readInt(), buffer.readInt()); int count = buffer.readVarInt(); for (int i = 0; i < count; i++) { byte pos = buffer.readByte(); byte y = buffer.readByte(); int blockId = buffer.readVarInt(); - this.blocks.put(new InChunkLocation((pos & 0xF0 >>> 4) & 0xF, y, pos & 0xF), buffer.getConnection().getMapping().getBlockState(blockId)); + this.blocks.put(new InChunkPosition((pos & 0xF0 >>> 4) & 0xF, y, pos & 0xF), buffer.getConnection().getMapping().getBlockState(blockId)); } return true; } long rawPos = buffer.readLong(); - this.location = new ChunkLocation((int) (rawPos >> 42), (int) (rawPos << 22 >> 42)); + this.chunkPosition = new ChunkPosition((int) (rawPos >> 42), (int) (rawPos << 22 >> 42)); int yOffset = ((int) rawPos & 0xFFFFF) * 16; if (buffer.getVersionId() > V_1_16_2_PRE3) { buffer.readBoolean(); // ToDo @@ -76,14 +76,14 @@ public class PacketMultiBlockChange extends ClientboundPacket { int count = buffer.readVarInt(); for (int i = 0; i < count; i++) { long data = buffer.readVarLong(); - this.blocks.put(new InChunkLocation((int) ((data >> 8) & 0xF), yOffset + (int) ((data >> 4) & 0xF), (int) (data & 0xF)), buffer.getConnection().getMapping().getBlockState(((int) (data >>> 12)))); + this.blocks.put(new InChunkPosition((int) ((data >> 8) & 0xF), yOffset + (int) ((data >> 4) & 0xF), (int) (data & 0xF)), buffer.getConnection().getMapping().getBlockState(((int) (data >>> 12)))); } return true; } @Override public void handle(Connection connection) { - Chunk chunk = connection.getPlayer().getWorld().getChunk(getLocation()); + Chunk chunk = connection.getPlayer().getWorld().getChunk(getChunkPosition()); if (chunk == null) { // thanks mojang return; @@ -93,8 +93,8 @@ public class PacketMultiBlockChange extends ClientboundPacket { // tweak if (!connection.getVersion().isFlattened()) { - for (Map.Entry entry : getBlocks().entrySet()) { - BlockState block = VersionTweaker.transformBlock(entry.getValue(), chunk, entry.getKey().getInChunkSectionLocation(), entry.getKey().getSectionHeight()); + for (Map.Entry entry : getBlocks().entrySet()) { + BlockState block = VersionTweaker.transformBlock(entry.getValue(), chunk.getSections(), entry.getKey().getInChunkSectionLocation(), entry.getKey().getSectionHeight()); if (block == entry.getValue()) { continue; } @@ -110,20 +110,20 @@ public class PacketMultiBlockChange extends ClientboundPacket { for (var sectionHeight : sectionHeights) { ChunkSection section = chunk.getSectionOrCreate(sectionHeight); - connection.getRenderer().getRenderWindow().getWorldRenderer().prepareChunkSection(getLocation(), sectionHeight, section, chunk); + connection.getRenderer().getRenderWindow().getWorldRenderer().prepareChunkSection(getChunkPosition(), sectionHeight, section, chunk); } } @Override public void log() { - Log.protocol(String.format("[IN] Multi block change received at %s (size=%d)", this.location, this.blocks.size())); + Log.protocol(String.format("[IN] Multi block change received at %s (size=%d)", this.chunkPosition, this.blocks.size())); } - public ChunkLocation getLocation() { - return this.location; + public ChunkPosition getChunkPosition() { + return this.chunkPosition; } - public HashMap getBlocks() { + public HashMap getBlocks() { return this.blocks; } } diff --git a/src/main/java/de/bixilon/minosoft/protocol/packets/clientbound/play/PacketNamedSoundEffect.java b/src/main/java/de/bixilon/minosoft/protocol/packets/clientbound/play/PacketNamedSoundEffect.java index 33ebdd2f5..62c674927 100644 --- a/src/main/java/de/bixilon/minosoft/protocol/packets/clientbound/play/PacketNamedSoundEffect.java +++ b/src/main/java/de/bixilon/minosoft/protocol/packets/clientbound/play/PacketNamedSoundEffect.java @@ -14,7 +14,7 @@ package de.bixilon.minosoft.protocol.packets.clientbound.play; import de.bixilon.minosoft.data.SoundCategories; -import de.bixilon.minosoft.data.entities.Location; +import de.bixilon.minosoft.data.entities.Position; import de.bixilon.minosoft.protocol.packets.ClientboundPacket; import de.bixilon.minosoft.protocol.protocol.InByteBuffer; import de.bixilon.minosoft.protocol.protocol.ProtocolDefinition; @@ -23,7 +23,7 @@ import de.bixilon.minosoft.util.logging.Log; import static de.bixilon.minosoft.protocol.protocol.ProtocolVersions.*; public class PacketNamedSoundEffect extends ClientboundPacket { - Location location; + Position position; String sound; float volume; float pitch; @@ -41,14 +41,14 @@ public class PacketNamedSoundEffect extends ClientboundPacket { buffer.readString(); // parrot entity type } if (buffer.getVersionId() < V_16W02A) { - this.location = new Location(buffer.readInt() * 8, buffer.readInt() * 8, buffer.readInt() * 8); // ToDo: check if it is not * 4 + this.position = new Position(buffer.readInt() * 8, buffer.readInt() * 8, buffer.readInt() * 8); // ToDo: check if it is not * 4 } if (buffer.getVersionId() >= V_16W02A && (buffer.getVersionId() < V_17W15A || buffer.getVersionId() >= V_17W18A)) { this.category = SoundCategories.byId(buffer.readVarInt()); } if (buffer.getVersionId() >= V_16W02A) { - this.location = new Location(buffer.readFixedPointNumberInt() * 4, buffer.readFixedPointNumberInt() * 4, buffer.readFixedPointNumberInt() * 4); + this.position = new Position(buffer.readFixedPointNumberInt() * 4, buffer.readFixedPointNumberInt() * 4, buffer.readFixedPointNumberInt() * 4); } this.volume = buffer.readFloat(); if (buffer.getVersionId() < V_16W20A) { @@ -62,11 +62,11 @@ public class PacketNamedSoundEffect extends ClientboundPacket { @Override public void log() { - Log.protocol(String.format("[IN] Play sound effect (sound=%s, category=%s, volume=%s, pitch=%s, location=%s)", this.sound, this.category, this.volume, this.pitch, this.location)); + Log.protocol(String.format("[IN] Play sound effect (sound=%s, category=%s, volume=%s, pitch=%s, position=%s)", this.sound, this.category, this.volume, this.pitch, this.position)); } - public Location getLocation() { - return this.location; + public Position getPosition() { + return this.position; } /** 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 2892efd65..53a00062d 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 @@ -13,7 +13,7 @@ package de.bixilon.minosoft.protocol.packets.clientbound.play; -import de.bixilon.minosoft.data.entities.Location; +import de.bixilon.minosoft.data.entities.Position; import de.bixilon.minosoft.data.mappings.particle.Particle; import de.bixilon.minosoft.data.mappings.particle.data.ParticleData; import de.bixilon.minosoft.modding.event.events.ParticleSpawnEvent; @@ -28,7 +28,7 @@ public class PacketParticle extends ClientboundPacket { Particle particleType; ParticleData particleData; boolean longDistance; - Location location; + Position position; float offsetX; float offsetY; float offsetZ; @@ -46,9 +46,9 @@ public class PacketParticle extends ClientboundPacket { this.longDistance = buffer.readBoolean(); } if (buffer.getVersionId() < V_1_15_PRE4) { - this.location = buffer.readSmallLocation(); + this.position = buffer.readSmallLocation(); } else { - this.location = buffer.readLocation(); + this.position = buffer.readLocation(); } // offset @@ -71,11 +71,11 @@ public class PacketParticle extends ClientboundPacket { @Override public void log() { - Log.protocol(String.format("[IN] Received particle spawn packet (location=%s, offsetX=%s, offsetY=%s, offsetZ=%s, particleType=%s, dataFloat=%s, count=%d, particleData=%s)", this.location, this.offsetX, this.offsetY, this.offsetZ, this.particleType, this.particleDataFloat, this.count, this.particleData)); + Log.protocol(String.format("[IN] Received particle spawn packet (position=%s, offsetX=%s, offsetY=%s, offsetZ=%s, particleType=%s, dataFloat=%s, count=%d, particleData=%s)", this.position, this.offsetX, this.offsetY, this.offsetZ, this.particleType, this.particleDataFloat, this.count, this.particleData)); } - public Location getLocation() { - return this.location; + public Position getPosition() { + return this.position; } public float getOffsetX() { 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 d60473dee..62438604a 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 @@ -14,7 +14,7 @@ package de.bixilon.minosoft.protocol.packets.clientbound.play; import de.bixilon.minosoft.data.entities.EntityRotation; -import de.bixilon.minosoft.data.entities.Location; +import de.bixilon.minosoft.data.entities.Position; import de.bixilon.minosoft.protocol.network.Connection; import de.bixilon.minosoft.protocol.packets.ClientboundPacket; import de.bixilon.minosoft.protocol.packets.serverbound.play.PacketConfirmTeleport; @@ -25,7 +25,7 @@ import de.bixilon.minosoft.util.logging.Log; import static de.bixilon.minosoft.protocol.protocol.ProtocolVersions.*; public class PacketPlayerPositionAndRotation extends ClientboundPacket { - private Location location; + private Position position; private EntityRotation rotation; private boolean onGround; private byte flags; @@ -34,7 +34,7 @@ public class PacketPlayerPositionAndRotation extends ClientboundPacket { @Override public boolean read(InByteBuffer buffer) { - this.location = buffer.readLocation(); + this.position = buffer.readLocation(); this.rotation = new EntityRotation(buffer.readFloat(), buffer.readFloat(), 0); if (buffer.getVersionId() < V_14W03B) { this.onGround = buffer.readBoolean(); @@ -55,21 +55,21 @@ public class PacketPlayerPositionAndRotation extends ClientboundPacket { @Override public void handle(Connection connection) { // ToDo: GUI should do this - connection.getPlayer().getEntity().setLocation(getLocation()); + connection.getPlayer().getEntity().setLocation(getPosition()); if (connection.getVersion().getVersionId() >= V_15W42A) { connection.sendPacket(new PacketConfirmTeleport(getTeleportId())); } else { - connection.sendPacket(new PacketPlayerPositionAndRotationSending(getLocation(), getRotation(), isOnGround())); + connection.sendPacket(new PacketPlayerPositionAndRotationSending(getPosition(), getRotation(), isOnGround())); } } @Override public void log() { - Log.protocol(String.format("[IN] Received player location: (location=%s, rotation=%s, onGround=%b)", this.location, this.rotation, this.onGround)); + Log.protocol(String.format("[IN] Received player location: (position=%s, rotation=%s, onGround=%b)", this.position, this.rotation, this.onGround)); } - public Location getLocation() { - return this.location; + public Position getPosition() { + return this.position; } public EntityRotation getRotation() { diff --git a/src/main/java/de/bixilon/minosoft/protocol/packets/clientbound/play/PacketRespawn.kt b/src/main/java/de/bixilon/minosoft/protocol/packets/clientbound/play/PacketRespawn.kt index ed0417096..6660e74b8 100644 --- a/src/main/java/de/bixilon/minosoft/protocol/packets/clientbound/play/PacketRespawn.kt +++ b/src/main/java/de/bixilon/minosoft/protocol/packets/clientbound/play/PacketRespawn.kt @@ -87,7 +87,7 @@ class PacketRespawn : ClientboundPacket() { } // clear all chunks - connection.player.world.allChunks.clear() + connection.player.world.chunks.clear() connection.player.world.dimension = dimension connection.player.isSpawnConfirmed = false connection.player.gameMode = gameMode diff --git a/src/main/java/de/bixilon/minosoft/protocol/packets/clientbound/play/PacketSoundEffect.java b/src/main/java/de/bixilon/minosoft/protocol/packets/clientbound/play/PacketSoundEffect.java index b8fb073a9..a36cea0c6 100644 --- a/src/main/java/de/bixilon/minosoft/protocol/packets/clientbound/play/PacketSoundEffect.java +++ b/src/main/java/de/bixilon/minosoft/protocol/packets/clientbound/play/PacketSoundEffect.java @@ -14,7 +14,7 @@ package de.bixilon.minosoft.protocol.packets.clientbound.play; import de.bixilon.minosoft.data.SoundCategories; -import de.bixilon.minosoft.data.entities.Location; +import de.bixilon.minosoft.data.entities.Position; import de.bixilon.minosoft.protocol.packets.ClientboundPacket; import de.bixilon.minosoft.protocol.protocol.InByteBuffer; import de.bixilon.minosoft.protocol.protocol.ProtocolDefinition; @@ -23,11 +23,11 @@ import de.bixilon.minosoft.util.logging.Log; import static de.bixilon.minosoft.protocol.protocol.ProtocolVersions.*; public class PacketSoundEffect extends ClientboundPacket { - Location location; - SoundCategories category; - int soundId; - float volume; - float pitch; + private Position position; + private SoundCategories category; + private int soundId; + private float volume; + private float pitch; @Override public boolean read(InByteBuffer buffer) { @@ -43,7 +43,7 @@ public class PacketSoundEffect extends ClientboundPacket { if (buffer.getVersionId() >= V_16W02A && (buffer.getVersionId() < V_17W15A || buffer.getVersionId() >= V_17W18A)) { this.category = SoundCategories.byId(buffer.readVarInt()); } - this.location = new Location(buffer.readFixedPointNumberInt() * 4, buffer.readFixedPointNumberInt() * 4, buffer.readFixedPointNumberInt() * 4); + this.position = new Position(buffer.readFixedPointNumberInt() * 4, buffer.readFixedPointNumberInt() * 4, buffer.readFixedPointNumberInt() * 4); this.volume = buffer.readFloat(); if (buffer.getVersionId() < V_16W20A) { this.pitch = (buffer.readByte() * ProtocolDefinition.PITCH_CALCULATION_CONSTANT) / 100F; @@ -55,11 +55,11 @@ public class PacketSoundEffect extends ClientboundPacket { @Override public void log() { - Log.protocol(String.format("[IN] Play sound effect (soundId=%d, category=%s, volume=%s, pitch=%s, location=%s)", this.soundId, this.category, this.volume, this.pitch, this.location)); + Log.protocol(String.format("[IN] Play sound effect (soundId=%d, category=%s, volume=%s, pitch=%s, position=%s)", this.soundId, this.category, this.volume, this.pitch, this.position)); } - public Location getLocation() { - return this.location; + public Position getPosition() { + return this.position; } /** 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 c4604853c..5831825a2 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 @@ -13,7 +13,7 @@ package de.bixilon.minosoft.protocol.packets.clientbound.play; -import de.bixilon.minosoft.data.entities.Location; +import de.bixilon.minosoft.data.entities.Position; import de.bixilon.minosoft.data.entities.entities.ExperienceOrb; import de.bixilon.minosoft.modding.event.events.EntitySpawnEvent; import de.bixilon.minosoft.protocol.network.Connection; @@ -29,14 +29,14 @@ public class PacketSpawnExperienceOrb extends ClientboundPacket { @Override public boolean read(InByteBuffer buffer) { int entityId = buffer.readEntityId(); - Location location; + Position position; if (buffer.getVersionId() < V_16W06A) { - location = new Location(buffer.readFixedPointNumberInt(), buffer.readFixedPointNumberInt(), buffer.readFixedPointNumberInt()); + position = new Position(buffer.readFixedPointNumberInt(), buffer.readFixedPointNumberInt(), buffer.readFixedPointNumberInt()); } else { - location = buffer.readLocation(); + position = buffer.readLocation(); } int count = buffer.readUnsignedShort(); - this.entity = new ExperienceOrb(buffer.getConnection(), entityId, location, count); + this.entity = new ExperienceOrb(buffer.getConnection(), entityId, position, count); return true; } @@ -49,7 +49,7 @@ public class PacketSpawnExperienceOrb extends ClientboundPacket { @Override public void log() { - Log.protocol(String.format("[IN] Experience orb spawned at %s(entityId=%d, count=%d)", this.entity.getLocation().toString(), this.entity.getEntityId(), this.entity.getCount())); + Log.protocol(String.format("[IN] Experience orb spawned at %s(entityId=%d, count=%d)", this.entity.getPosition().toString(), this.entity.getEntityId(), this.entity.getCount())); } public ExperienceOrb getEntity() { 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 cef64e1bc..4dce411c1 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 @@ -15,7 +15,7 @@ package de.bixilon.minosoft.protocol.packets.clientbound.play; import de.bixilon.minosoft.data.entities.EntityMetaData; import de.bixilon.minosoft.data.entities.EntityRotation; -import de.bixilon.minosoft.data.entities.Location; +import de.bixilon.minosoft.data.entities.Position; import de.bixilon.minosoft.data.entities.Velocity; import de.bixilon.minosoft.data.entities.entities.Entity; import de.bixilon.minosoft.data.entities.entities.UnknownEntityException; @@ -49,11 +49,11 @@ public class PacketSpawnMob extends ClientboundPacket { type = buffer.readVarInt(); } Class typeClass = buffer.getConnection().getMapping().getEntityClassById(type); - Location location; + Position position; if (buffer.getVersionId() < V_16W06A) { - location = new Location(buffer.readFixedPointNumberInt(), buffer.readFixedPointNumberInt(), buffer.readFixedPointNumberInt()); + position = new Position(buffer.readFixedPointNumberInt(), buffer.readFixedPointNumberInt(), buffer.readFixedPointNumberInt()); } else { - location = buffer.readLocation(); + position = buffer.readLocation(); } EntityRotation rotation = new EntityRotation(buffer.readAngle(), buffer.readAngle(), buffer.readAngle()); this.velocity = new Velocity(buffer.readShort(), buffer.readShort(), buffer.readShort()); @@ -69,7 +69,7 @@ public class PacketSpawnMob extends ClientboundPacket { } try { - this.entity = typeClass.getConstructor(Connection.class, int.class, UUID.class, Location.class, EntityRotation.class).newInstance(buffer.getConnection(), entityId, uuid, location, rotation); + this.entity = typeClass.getConstructor(Connection.class, int.class, UUID.class, Position.class, EntityRotation.class).newInstance(buffer.getConnection(), entityId, uuid, position, rotation); if (metaData != null) { this.entity.setMetaData(metaData); } @@ -90,7 +90,7 @@ public class PacketSpawnMob extends ClientboundPacket { @Override public void log() { - Log.protocol(String.format("[IN] Mob spawned at %s (entityId=%d, type=%s)", this.entity.getLocation().toString(), this.entity.getEntityId(), this.entity)); + Log.protocol(String.format("[IN] Mob spawned at %s (entityId=%d, type=%s)", this.entity.getPosition().toString(), this.entity.getEntityId(), this.entity)); } public Entity getEntity() { 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 ee0f0113f..9a9d4b9cc 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 @@ -14,8 +14,8 @@ package de.bixilon.minosoft.protocol.packets.clientbound.play; import de.bixilon.minosoft.data.entities.EntityRotation; -import de.bixilon.minosoft.data.entities.Location; import de.bixilon.minosoft.data.entities.Objects; +import de.bixilon.minosoft.data.entities.Position; import de.bixilon.minosoft.data.entities.Velocity; import de.bixilon.minosoft.data.entities.entities.Entity; import de.bixilon.minosoft.data.entities.entities.UnknownEntityException; @@ -56,11 +56,11 @@ public class PacketSpawnObject extends ClientboundPacket { typeClass = buffer.getConnection().getMapping().getEntityClassById(type); } - Location location; + Position position; if (buffer.getVersionId() < V_16W06A) { - location = new Location(buffer.readFixedPointNumberInt(), buffer.readFixedPointNumberInt(), buffer.readFixedPointNumberInt()); + position = new Position(buffer.readFixedPointNumberInt(), buffer.readFixedPointNumberInt(), buffer.readFixedPointNumberInt()); } else { - location = buffer.readLocation(); + position = buffer.readLocation(); } EntityRotation rotation = new EntityRotation(buffer.readAngle(), buffer.readAngle(), 0); int data = buffer.readInt(); @@ -82,7 +82,7 @@ public class PacketSpawnObject extends ClientboundPacket { } try { - this.entity = typeClass.getConstructor(Connection.class, int.class, UUID.class, Location.class, EntityRotation.class).newInstance(buffer.getConnection(), entityId, uuid, location, rotation); + this.entity = typeClass.getConstructor(Connection.class, int.class, UUID.class, Position.class, EntityRotation.class).newInstance(buffer.getConnection(), entityId, uuid, position, rotation); return true; } catch (InstantiationException | IllegalAccessException | InvocationTargetException | NoSuchMethodException | NullPointerException e) { e.printStackTrace(); @@ -100,7 +100,7 @@ public class PacketSpawnObject extends ClientboundPacket { @Override public void log() { - Log.protocol(String.format("[IN] Object spawned at %s (entityId=%d, type=%s)", this.entity.getLocation().toString(), this.entity.getEntityId(), this.entity)); + Log.protocol(String.format("[IN] Object spawned at %s (entityId=%d, type=%s)", this.entity.getPosition().toString(), this.entity.getEntityId(), this.entity)); } public Entity getEntity() { diff --git a/src/main/java/de/bixilon/minosoft/protocol/packets/clientbound/play/PacketSpawnPainting.java b/src/main/java/de/bixilon/minosoft/protocol/packets/clientbound/play/PacketSpawnPainting.java index d34c63478..f63194fe3 100644 --- a/src/main/java/de/bixilon/minosoft/protocol/packets/clientbound/play/PacketSpawnPainting.java +++ b/src/main/java/de/bixilon/minosoft/protocol/packets/clientbound/play/PacketSpawnPainting.java @@ -65,7 +65,7 @@ public class PacketSpawnPainting extends ClientboundPacket { @Override public void log() { - Log.protocol(String.format("[IN] Spawning painting at %s (entityId=%d, motive=%s, direction=%s)", this.entity.getLocation(), this.entity.getEntityId(), this.entity.getMotive(), this.entity.getDirection())); + Log.protocol(String.format("[IN] Spawning painting at %s (entityId=%d, motive=%s, direction=%s)", this.entity.getPosition(), this.entity.getEntityId(), this.entity.getMotive(), this.entity.getDirection())); } public Painting getEntity() { 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 d14a712ff..4834ac908 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 @@ -16,7 +16,7 @@ package de.bixilon.minosoft.protocol.packets.clientbound.play; import de.bixilon.minosoft.data.PlayerPropertyData; import de.bixilon.minosoft.data.entities.EntityMetaData; import de.bixilon.minosoft.data.entities.EntityRotation; -import de.bixilon.minosoft.data.entities.Location; +import de.bixilon.minosoft.data.entities.Position; import de.bixilon.minosoft.data.entities.Velocity; import de.bixilon.minosoft.data.entities.entities.player.PlayerEntity; import de.bixilon.minosoft.data.mappings.Item; @@ -52,11 +52,11 @@ public class PacketSpawnPlayer extends ClientboundPacket { } else { uuid = buffer.readUUID(); } - Location location; + Position position; if (buffer.getVersionId() < V_16W06A) { - location = new Location(buffer.readFixedPointNumberInt(), buffer.readFixedPointNumberInt(), buffer.readFixedPointNumberInt()); + position = new Position(buffer.readFixedPointNumberInt(), buffer.readFixedPointNumberInt(), buffer.readFixedPointNumberInt()); } else { - location = buffer.readLocation(); + position = buffer.readLocation(); } short yaw = buffer.readAngle(); short pitch = buffer.readAngle(); @@ -69,7 +69,7 @@ public class PacketSpawnPlayer extends ClientboundPacket { if (buffer.getVersionId() < V_19W34A) { metaData = buffer.readMetaData(); } - this.entity = new PlayerEntity(buffer.getConnection(), entityId, uuid, location, new EntityRotation(yaw, pitch, 0), name, properties, currentItem); + this.entity = new PlayerEntity(buffer.getConnection(), entityId, uuid, position, new EntityRotation(yaw, pitch, 0), name, properties, currentItem); if (metaData != null) { this.entity.setMetaData(metaData); } @@ -86,7 +86,7 @@ public class PacketSpawnPlayer extends ClientboundPacket { @Override public void log() { - Log.protocol(String.format("[IN] Player spawned at %s (entityId=%d, name=%s, uuid=%s)", this.entity.getLocation(), this.entity.getEntityId(), this.entity.getName(), this.entity.getUUID())); + Log.protocol(String.format("[IN] Player spawned at %s (entityId=%d, name=%s, uuid=%s)", this.entity.getPosition(), this.entity.getEntityId(), this.entity.getName(), this.entity.getUUID())); } public PlayerEntity getEntity() { diff --git a/src/main/java/de/bixilon/minosoft/protocol/packets/clientbound/play/PacketSpawnLocation.java b/src/main/java/de/bixilon/minosoft/protocol/packets/clientbound/play/PacketSpawnPosition.java similarity index 73% rename from src/main/java/de/bixilon/minosoft/protocol/packets/clientbound/play/PacketSpawnLocation.java rename to src/main/java/de/bixilon/minosoft/protocol/packets/clientbound/play/PacketSpawnPosition.java index 719b72130..90c415b5c 100644 --- a/src/main/java/de/bixilon/minosoft/protocol/packets/clientbound/play/PacketSpawnLocation.java +++ b/src/main/java/de/bixilon/minosoft/protocol/packets/clientbound/play/PacketSpawnPosition.java @@ -14,7 +14,7 @@ package de.bixilon.minosoft.protocol.packets.clientbound.play; import de.bixilon.minosoft.data.world.BlockPosition; -import de.bixilon.minosoft.modding.event.events.SpawnLocationChangeEvent; +import de.bixilon.minosoft.modding.event.events.SpawnPositionChangeEvent; import de.bixilon.minosoft.protocol.network.Connection; import de.bixilon.minosoft.protocol.packets.ClientboundPacket; import de.bixilon.minosoft.protocol.protocol.InByteBuffer; @@ -22,31 +22,31 @@ import de.bixilon.minosoft.util.logging.Log; import static de.bixilon.minosoft.protocol.protocol.ProtocolVersions.V_14W03B; -public class PacketSpawnLocation extends ClientboundPacket { - BlockPosition location; +public class PacketSpawnPosition extends ClientboundPacket { + private BlockPosition position; @Override public boolean read(InByteBuffer buffer) { if (buffer.getVersionId() < V_14W03B) { - this.location = buffer.readBlockPositionInteger(); + this.position = buffer.readBlockPositionInteger(); return true; } - this.location = buffer.readPosition(); + this.position = buffer.readPosition(); return true; } @Override public void handle(Connection connection) { - connection.fireEvent(new SpawnLocationChangeEvent(connection, this)); - connection.getPlayer().setSpawnLocation(getSpawnLocation()); + connection.fireEvent(new SpawnPositionChangeEvent(connection, this)); + connection.getPlayer().setSpawnPosition(getSpawnPosition()); } @Override public void log() { - Log.protocol(String.format("[IN] Received spawn location %s", this.location)); + Log.protocol("[IN] Received spawn position %s", this.position); } - public BlockPosition getSpawnLocation() { - return this.location; + public BlockPosition getSpawnPosition() { + return this.position; } } 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 3a7d7c3c4..16674caf8 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 @@ -13,7 +13,7 @@ package de.bixilon.minosoft.protocol.packets.clientbound.play; -import de.bixilon.minosoft.data.entities.Location; +import de.bixilon.minosoft.data.entities.Position; import de.bixilon.minosoft.data.entities.entities.LightningBolt; import de.bixilon.minosoft.modding.event.events.EntitySpawnEvent; import de.bixilon.minosoft.modding.event.events.LightningBoltSpawnEvent; @@ -31,13 +31,13 @@ public class PacketSpawnWeatherEntity extends ClientboundPacket { public boolean read(InByteBuffer buffer) { int entityId = buffer.readVarInt(); byte type = buffer.readByte(); - Location location; + Position position; if (buffer.getVersionId() < V_16W06A) { - location = new Location(buffer.readFixedPointNumberInt(), buffer.readFixedPointNumberInt(), buffer.readFixedPointNumberInt()); + position = new Position(buffer.readFixedPointNumberInt(), buffer.readFixedPointNumberInt(), buffer.readFixedPointNumberInt()); } else { - location = buffer.readLocation(); + position = buffer.readLocation(); } - this.entity = new LightningBolt(buffer.getConnection(), entityId, location); + this.entity = new LightningBolt(buffer.getConnection(), entityId, position); return true; } @@ -49,7 +49,7 @@ public class PacketSpawnWeatherEntity extends ClientboundPacket { @Override public void log() { - Log.protocol(String.format("[IN] Thunderbolt spawned at %s (entityId=%d)", this.entity.getLocation(), this.entity.getEntityId())); + Log.protocol(String.format("[IN] Thunderbolt spawned at %s (entityId=%d)", this.entity.getPosition(), this.entity.getEntityId())); } public LightningBolt getEntity() { diff --git a/src/main/java/de/bixilon/minosoft/protocol/packets/clientbound/play/PacketUnloadChunk.java b/src/main/java/de/bixilon/minosoft/protocol/packets/clientbound/play/PacketUnloadChunk.java index 7c2aef26e..db5773f1c 100644 --- a/src/main/java/de/bixilon/minosoft/protocol/packets/clientbound/play/PacketUnloadChunk.java +++ b/src/main/java/de/bixilon/minosoft/protocol/packets/clientbound/play/PacketUnloadChunk.java @@ -13,33 +13,33 @@ package de.bixilon.minosoft.protocol.packets.clientbound.play; -import de.bixilon.minosoft.data.world.ChunkLocation; +import de.bixilon.minosoft.data.world.ChunkPosition; import de.bixilon.minosoft.protocol.network.Connection; import de.bixilon.minosoft.protocol.packets.ClientboundPacket; import de.bixilon.minosoft.protocol.protocol.InByteBuffer; import de.bixilon.minosoft.util.logging.Log; public class PacketUnloadChunk extends ClientboundPacket { - ChunkLocation location; + ChunkPosition chunkPosition; @Override public boolean read(InByteBuffer buffer) { - this.location = new ChunkLocation(buffer.readInt(), buffer.readInt()); + this.chunkPosition = new ChunkPosition(buffer.readInt(), buffer.readInt()); return true; } @Override public void handle(Connection connection) { - connection.getPlayer().getWorld().unloadChunk(getLocation()); - connection.getRenderer().getRenderWindow().getWorldRenderer().unloadChunk(this.location); + connection.getPlayer().getWorld().unloadChunk(getChunkPosition()); + connection.getRenderer().getRenderWindow().getWorldRenderer().unloadChunk(this.chunkPosition); } @Override public void log() { - Log.protocol(String.format("[IN] Received unload chunk packet (location=%s)", this.location)); + Log.protocol(String.format("[IN] Received unload chunk packet (chunkPosition=%s)", this.chunkPosition)); } - public ChunkLocation getLocation() { - return this.location; + public ChunkPosition getChunkPosition() { + return this.chunkPosition; } } diff --git a/src/main/java/de/bixilon/minosoft/protocol/packets/clientbound/play/PacketUpdateLight.java b/src/main/java/de/bixilon/minosoft/protocol/packets/clientbound/play/PacketUpdateLight.java index e3a136b35..09964d110 100644 --- a/src/main/java/de/bixilon/minosoft/protocol/packets/clientbound/play/PacketUpdateLight.java +++ b/src/main/java/de/bixilon/minosoft/protocol/packets/clientbound/play/PacketUpdateLight.java @@ -13,7 +13,10 @@ package de.bixilon.minosoft.protocol.packets.clientbound.play; -import de.bixilon.minosoft.data.world.ChunkLocation; +import de.bixilon.minosoft.data.world.Chunk; +import de.bixilon.minosoft.data.world.ChunkPosition; +import de.bixilon.minosoft.data.world.light.LightAccessor; +import de.bixilon.minosoft.protocol.network.Connection; import de.bixilon.minosoft.protocol.packets.ClientboundPacket; import de.bixilon.minosoft.protocol.protocol.InByteBuffer; import de.bixilon.minosoft.util.ChunkUtil; @@ -23,11 +26,12 @@ import static de.bixilon.minosoft.protocol.protocol.ProtocolVersions.V_1_16_PRE3 import static de.bixilon.minosoft.protocol.protocol.ProtocolVersions.V_20W49A; public class PacketUpdateLight extends ClientboundPacket { - ChunkLocation location; + private ChunkPosition position; + private LightAccessor lightAccessor; @Override public boolean read(InByteBuffer buffer) { - this.location = new ChunkLocation(buffer.readVarInt(), buffer.readVarInt()); + this.position = new ChunkPosition(buffer.readVarInt(), buffer.readVarInt()); if (buffer.getVersionId() >= V_1_16_PRE3) { boolean trustEdges = buffer.readBoolean(); } @@ -48,12 +52,19 @@ public class PacketUpdateLight extends ClientboundPacket { emptySkyLightMask = buffer.readLongArray(); emptyBlockLightMask = buffer.readLongArray(); } - ChunkUtil.readSkyLightPacket(buffer, skyLightMask, blockLightMask, emptyBlockLightMask, emptySkyLightMask); + this.lightAccessor = ChunkUtil.readSkyLightPacket(buffer, skyLightMask, blockLightMask, emptyBlockLightMask, emptySkyLightMask); return true; } @Override public void log() { - Log.protocol(String.format("[IN] Received light update (location=%s)", this.location)); + Log.protocol("[IN] Received light update (position=%s)", this.position); + } + + @Override + public void handle(Connection connection) { + Chunk chunk = connection.getPlayer().getWorld().getOrCreateChunk(this.position); + chunk.setLightAccessor(this.lightAccessor); + connection.getRenderer().getRenderWindow().getWorldRenderer().prepareChunk(this.position, chunk); } } diff --git a/src/main/java/de/bixilon/minosoft/protocol/packets/clientbound/play/PacketUpdateViewPosition.java b/src/main/java/de/bixilon/minosoft/protocol/packets/clientbound/play/PacketUpdateViewPosition.java index 8493450e9..cb3370d22 100644 --- a/src/main/java/de/bixilon/minosoft/protocol/packets/clientbound/play/PacketUpdateViewPosition.java +++ b/src/main/java/de/bixilon/minosoft/protocol/packets/clientbound/play/PacketUpdateViewPosition.java @@ -13,22 +13,22 @@ package de.bixilon.minosoft.protocol.packets.clientbound.play; -import de.bixilon.minosoft.data.world.ChunkLocation; +import de.bixilon.minosoft.data.world.ChunkPosition; import de.bixilon.minosoft.protocol.packets.ClientboundPacket; import de.bixilon.minosoft.protocol.protocol.InByteBuffer; import de.bixilon.minosoft.util.logging.Log; public class PacketUpdateViewPosition extends ClientboundPacket { - ChunkLocation location; + ChunkPosition position; @Override public boolean read(InByteBuffer buffer) { - this.location = new ChunkLocation(buffer.readVarInt(), buffer.readVarInt()); + this.position = new ChunkPosition(buffer.readVarInt(), buffer.readVarInt()); return true; } @Override public void log() { - Log.protocol(String.format("[IN] Received view position update (location=%s)", this.location)); + Log.protocol(String.format("[IN] Received view position update (position=%s)", this.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 e723dea12..b8622a8a9 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 @@ -13,19 +13,19 @@ package de.bixilon.minosoft.protocol.packets.clientbound.play; -import de.bixilon.minosoft.data.entities.Location; +import de.bixilon.minosoft.data.entities.Position; import de.bixilon.minosoft.protocol.packets.ClientboundPacket; import de.bixilon.minosoft.protocol.protocol.InByteBuffer; import de.bixilon.minosoft.util.logging.Log; public class PacketVehicleMovement extends ClientboundPacket { - Location location; + Position position; float yaw; float pitch; @Override public boolean read(InByteBuffer buffer) { - this.location = buffer.readLocation(); + this.position = buffer.readLocation(); this.yaw = buffer.readFloat(); this.pitch = buffer.readFloat(); return true; @@ -33,11 +33,11 @@ public class PacketVehicleMovement extends ClientboundPacket { @Override public void log() { - Log.protocol(String.format("[IN] Received vehicle movement (location=%s, yaw=%s, pitch=%s)", this.location, this.yaw, this.pitch)); + Log.protocol(String.format("[IN] Received vehicle movement (position=%s, yaw=%s, pitch=%s)", this.position, this.yaw, this.pitch)); } - public Location getLocation() { - return this.location; + public Position getPosition() { + return this.position; } public float getYaw() { diff --git a/src/main/java/de/bixilon/minosoft/protocol/packets/serverbound/play/PacketInteractEntity.java b/src/main/java/de/bixilon/minosoft/protocol/packets/serverbound/play/PacketInteractEntity.java index 971bb51b4..07e97f123 100644 --- a/src/main/java/de/bixilon/minosoft/protocol/packets/serverbound/play/PacketInteractEntity.java +++ b/src/main/java/de/bixilon/minosoft/protocol/packets/serverbound/play/PacketInteractEntity.java @@ -13,7 +13,7 @@ package de.bixilon.minosoft.protocol.packets.serverbound.play; -import de.bixilon.minosoft.data.entities.Location; +import de.bixilon.minosoft.data.entities.Position; import de.bixilon.minosoft.data.entities.entities.Entity; import de.bixilon.minosoft.data.player.Hands; import de.bixilon.minosoft.protocol.network.Connection; @@ -26,10 +26,10 @@ import static de.bixilon.minosoft.protocol.protocol.ProtocolVersions.*; public class PacketInteractEntity implements ServerboundPacket { private final int entityId; - Location location; - Hands hand; - EntityInteractionClicks click; - boolean sneaking; + private Position position; + private Hands hand; + private EntityInteractionClicks click; + private boolean sneaking; public PacketInteractEntity(Entity entity, EntityInteractionClicks click) { this.entityId = entity.getEntityId(); @@ -41,23 +41,23 @@ public class PacketInteractEntity implements ServerboundPacket { this.click = click; } - public PacketInteractEntity(int entityId, EntityInteractionClicks click, Location location) { + public PacketInteractEntity(int entityId, EntityInteractionClicks click, Position position) { this.entityId = entityId; this.click = click; - this.location = location; + this.position = position; } - public PacketInteractEntity(int entityId, EntityInteractionClicks click, Location location, Hands hand) { + public PacketInteractEntity(int entityId, EntityInteractionClicks click, Position position, Hands hand) { this.entityId = entityId; this.click = click; - this.location = location; + this.position = position; this.hand = hand; } - public PacketInteractEntity(int entityId, EntityInteractionClicks click, Location location, Hands hand, boolean sneaking) { + public PacketInteractEntity(int entityId, EntityInteractionClicks click, Position position, Hands hand, boolean sneaking) { this.entityId = entityId; this.click = click; - this.location = location; + this.position = position; this.hand = hand; this.sneaking = sneaking; } @@ -75,9 +75,9 @@ public class PacketInteractEntity implements ServerboundPacket { if (buffer.getVersionId() >= V_14W32A) { if (this.click == EntityInteractionClicks.INTERACT_AT) { // position - buffer.writeFloat((float) this.location.getX()); - buffer.writeFloat((float) this.location.getY()); - buffer.writeFloat((float) this.location.getZ()); + buffer.writeFloat((float) this.position.getX()); + buffer.writeFloat((float) this.position.getY()); + buffer.writeFloat((float) this.position.getZ()); } if (this.click == EntityInteractionClicks.INTERACT_AT || this.click == EntityInteractionClicks.INTERACT) { diff --git a/src/main/java/de/bixilon/minosoft/protocol/packets/serverbound/play/PacketPlayerPositionAndRotationSending.java b/src/main/java/de/bixilon/minosoft/protocol/packets/serverbound/play/PacketPlayerPositionAndRotationSending.java index 572068573..09f2c2bbd 100644 --- a/src/main/java/de/bixilon/minosoft/protocol/packets/serverbound/play/PacketPlayerPositionAndRotationSending.java +++ b/src/main/java/de/bixilon/minosoft/protocol/packets/serverbound/play/PacketPlayerPositionAndRotationSending.java @@ -14,7 +14,7 @@ package de.bixilon.minosoft.protocol.packets.serverbound.play; import de.bixilon.minosoft.data.entities.EntityRotation; -import de.bixilon.minosoft.data.entities.Location; +import de.bixilon.minosoft.data.entities.Position; import de.bixilon.minosoft.protocol.network.Connection; import de.bixilon.minosoft.protocol.packets.ServerboundPacket; import de.bixilon.minosoft.protocol.protocol.OutPacketBuffer; @@ -24,12 +24,12 @@ import de.bixilon.minosoft.util.logging.Log; import static de.bixilon.minosoft.protocol.protocol.ProtocolVersions.V_14W06B; public class PacketPlayerPositionAndRotationSending implements ServerboundPacket { - private final Location location; + private final Position position; private final EntityRotation rotation; private final boolean onGround; - public PacketPlayerPositionAndRotationSending(Location location, EntityRotation rotation, boolean onGround) { - this.location = location; + public PacketPlayerPositionAndRotationSending(Position position, EntityRotation rotation, boolean onGround) { + this.position = position; this.rotation = rotation; this.onGround = onGround; } @@ -37,12 +37,12 @@ public class PacketPlayerPositionAndRotationSending implements ServerboundPacket @Override public OutPacketBuffer write(Connection connection) { OutPacketBuffer buffer = new OutPacketBuffer(connection, Packets.Serverbound.PLAY_PLAYER_POSITION_AND_ROTATION); - buffer.writeDouble(this.location.getX()); - buffer.writeDouble(this.location.getY()); + buffer.writeDouble(this.position.getX()); + buffer.writeDouble(this.position.getY()); if (buffer.getVersionId() < V_14W06B) { - buffer.writeDouble(this.location.getY() - 1.62); + buffer.writeDouble(this.position.getY() - 1.62); } - buffer.writeDouble(this.location.getZ()); + buffer.writeDouble(this.position.getZ()); buffer.writeFloat(this.rotation.getYaw()); buffer.writeFloat(this.rotation.getPitch()); buffer.writeBoolean(this.onGround); @@ -51,6 +51,6 @@ public class PacketPlayerPositionAndRotationSending implements ServerboundPacket @Override public void log() { - Log.protocol(String.format("[OUT] Sending player position and rotation: (location=%s, rotation=%s, onGround=%b)", this.location, this.rotation, this.onGround)); + Log.protocol(String.format("[OUT] Sending player position and rotation: (position=%s, rotation=%s, onGround=%b)", this.position, this.rotation, this.onGround)); } } 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 a84ed7f35..6ad211e02 100644 --- a/src/main/java/de/bixilon/minosoft/protocol/protocol/InByteBuffer.java +++ b/src/main/java/de/bixilon/minosoft/protocol/protocol/InByteBuffer.java @@ -21,8 +21,8 @@ import de.bixilon.minosoft.data.commands.CommandLiteralNode; import de.bixilon.minosoft.data.commands.CommandNode; import de.bixilon.minosoft.data.commands.CommandRootNode; import de.bixilon.minosoft.data.entities.EntityMetaData; -import de.bixilon.minosoft.data.entities.Location; import de.bixilon.minosoft.data.entities.Poses; +import de.bixilon.minosoft.data.entities.Position; import de.bixilon.minosoft.data.inventory.Slot; import de.bixilon.minosoft.data.mappings.LegacyResourceLocation; import de.bixilon.minosoft.data.mappings.ResourceLocation; @@ -35,6 +35,7 @@ import de.bixilon.minosoft.data.mappings.particle.data.ParticleData; import de.bixilon.minosoft.data.mappings.recipes.Ingredient; import de.bixilon.minosoft.data.text.ChatComponent; import de.bixilon.minosoft.data.world.BlockPosition; +import de.bixilon.minosoft.data.world.ChunkPosition; import de.bixilon.minosoft.protocol.network.Connection; import de.bixilon.minosoft.util.Util; import de.bixilon.minosoft.util.nbt.tag.*; @@ -355,16 +356,16 @@ public class InByteBuffer { return (short) (readByte() * ProtocolDefinition.ANGLE_CALCULATION_CONSTANT); } - public Location readLocation() { - return new Location(readDouble(), readDouble(), readDouble()); + public Position readLocation() { + return new Position(readDouble(), readDouble(), readDouble()); } public double readDouble() { return Double.longBitsToDouble(readLong()); } - public Location readSmallLocation() { - return new Location(readFloat(), readFloat(), readFloat()); + public Position readSmallLocation() { + return new Position(readFloat(), readFloat(), readFloat()); } public float readFloat() { @@ -591,4 +592,7 @@ public class InByteBuffer { return new ResourceLocation(resourceLocation); } + public ChunkPosition readChunkLocation() { + return new ChunkPosition(readInt(), readInt()); + } } diff --git a/src/main/java/de/bixilon/minosoft/protocol/protocol/PacketSender.java b/src/main/java/de/bixilon/minosoft/protocol/protocol/PacketSender.java index 8292ab9c7..c708da1d9 100644 --- a/src/main/java/de/bixilon/minosoft/protocol/protocol/PacketSender.java +++ b/src/main/java/de/bixilon/minosoft/protocol/protocol/PacketSender.java @@ -13,10 +13,13 @@ package de.bixilon.minosoft.protocol.protocol; +import de.bixilon.minosoft.data.ChatTextPositions; import de.bixilon.minosoft.data.entities.EntityRotation; -import de.bixilon.minosoft.data.entities.Location; +import de.bixilon.minosoft.data.entities.Position; import de.bixilon.minosoft.data.mappings.ResourceLocation; import de.bixilon.minosoft.data.player.Hands; +import de.bixilon.minosoft.data.text.ChatComponent; +import de.bixilon.minosoft.modding.event.events.ChatMessageReceivingEvent; import de.bixilon.minosoft.modding.event.events.ChatMessageSendingEvent; import de.bixilon.minosoft.modding.event.events.CloseWindowEvent; import de.bixilon.minosoft.protocol.network.Connection; @@ -121,9 +124,17 @@ public class PacketSender { this.connection.sendPacket(new PacketLoginPluginResponse(messageId, toSend.toByteArray())); } - public void setLocation(Location location, EntityRotation rotation, boolean onGround) { - this.connection.sendPacket(new PacketPlayerPositionAndRotationSending(location, rotation, onGround)); - this.connection.getPlayer().getEntity().setLocation(location); + public void setLocation(Position position, EntityRotation rotation, boolean onGround) { + this.connection.sendPacket(new PacketPlayerPositionAndRotationSending(position, rotation, onGround)); + this.connection.getPlayer().getEntity().setLocation(position); this.connection.getPlayer().getEntity().setRotation(rotation); } + + public void sendFakeChatMessage(ChatComponent message, ChatTextPositions position) { + this.connection.fireEvent(new ChatMessageReceivingEvent(this.connection, message, position, null)); + } + + public void sendFakeChatMessage(String message) { + sendFakeChatMessage(ChatComponent.valueOf(message), ChatTextPositions.CHAT_BOX); + } } diff --git a/src/main/java/de/bixilon/minosoft/protocol/protocol/Packets.java b/src/main/java/de/bixilon/minosoft/protocol/protocol/Packets.java index 937ab5c38..bd9e0e851 100644 --- a/src/main/java/de/bixilon/minosoft/protocol/protocol/Packets.java +++ b/src/main/java/de/bixilon/minosoft/protocol/protocol/Packets.java @@ -175,7 +175,7 @@ public class Packets { PLAY_SET_PASSENGERS(PacketSetPassenger::new), PLAY_TEAMS(PacketTeams::new), PLAY_UPDATE_SCORE(PacketScoreboardUpdateScore::new), - PLAY_SPAWN_POSITION(PacketSpawnLocation::new), + PLAY_SPAWN_POSITION(PacketSpawnPosition::new), PLAY_TIME_UPDATE(PacketTimeUpdate::new), PLAY_ENTITY_SOUND_EFFECT(PacketEntitySoundEffect::new), PLAY_SOUND_EFFECT(PacketSoundEffect::new), 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 2a80c24bb..8d063d433 100644 --- a/src/main/java/de/bixilon/minosoft/protocol/protocol/ProtocolDefinition.java +++ b/src/main/java/de/bixilon/minosoft/protocol/protocol/ProtocolDefinition.java @@ -14,6 +14,8 @@ package de.bixilon.minosoft.protocol.protocol; import de.bixilon.minosoft.data.mappings.ResourceLocation; +import de.bixilon.minosoft.data.text.ChatColors; +import de.bixilon.minosoft.data.text.RGBColor; import java.net.InetAddress; import java.util.regex.Pattern; @@ -98,6 +100,8 @@ public final class ProtocolDefinition { public static final ResourceLocation AIR_RESOURCE_LOCATION = new ResourceLocation("air"); + public static final RGBColor DEFAULT_COLOR = ChatColors.WHITE; + static { // java does (why ever) not allow to directly assign a null InetAddress tempInetAddress; diff --git a/src/main/java/de/bixilon/minosoft/terminal/commands/commands/CommandEntities.java b/src/main/java/de/bixilon/minosoft/terminal/commands/commands/CommandEntities.java index cb25aae40..23dedf2e9 100644 --- a/src/main/java/de/bixilon/minosoft/terminal/commands/commands/CommandEntities.java +++ b/src/main/java/de/bixilon/minosoft/terminal/commands/commands/CommandEntities.java @@ -33,7 +33,7 @@ public class CommandEntities extends Command { ArrayList tableData = new ArrayList<>(); for (var entry : connection.getPlayer().getWorld().getEntityIdMap().entrySet()) { - tableData.add(new Object[]{entry.getKey(), entry.getValue().getUUID(), entry.getValue().getEntityInformation(), entry.getValue().getEquipment(), entry.getValue().getLocation(), entry.getValue().getRotation()}); + tableData.add(new Object[]{entry.getKey(), entry.getValue().getUUID(), entry.getValue().getEntityInformation(), entry.getValue().getEquipment(), entry.getValue().getPosition(), entry.getValue().getRotation()}); } print(AsciiTable.getTable(new String[]{"ID", "UUID", "TYPE", "EQUIPMENT", "LOCATION", "ROTATION"}, tableData.toArray(new Object[0][0]))); @@ -52,7 +52,7 @@ public class CommandEntities extends Command { tableData.add(new Object[]{"UUID", entity.getUUID()}); tableData.add(new Object[]{"Type", entity.getEntityInformation()}); tableData.add(new Object[]{"Class", entity.getClass().getName()}); - tableData.add(new Object[]{"Location", entity.getLocation()}); + tableData.add(new Object[]{"Location", entity.getPosition()}); tableData.add(new Object[]{"Rotation", entity.getRotation()}); tableData.add(new Object[]{"Equipment", entity.getEquipment()}); tableData.add(new Object[]{"Effects", entity.getEffectList()}); diff --git a/src/main/java/de/bixilon/minosoft/util/ChunkUtil.java b/src/main/java/de/bixilon/minosoft/util/ChunkUtil.java index 0c73eebc6..88bda6a2e 100644 --- a/src/main/java/de/bixilon/minosoft/util/ChunkUtil.java +++ b/src/main/java/de/bixilon/minosoft/util/ChunkUtil.java @@ -17,12 +17,13 @@ import de.bixilon.minosoft.data.mappings.Dimension; import de.bixilon.minosoft.data.mappings.biomes.Biome; import de.bixilon.minosoft.data.mappings.blocks.BlockState; import de.bixilon.minosoft.data.world.BlockInfo; -import de.bixilon.minosoft.data.world.Chunk; +import de.bixilon.minosoft.data.world.ChunkData; import de.bixilon.minosoft.data.world.ChunkSection; -import de.bixilon.minosoft.data.world.InChunkSectionLocation; -import de.bixilon.minosoft.data.world.biome.BiomeAccessor; +import de.bixilon.minosoft.data.world.InChunkSectionPosition; import de.bixilon.minosoft.data.world.biome.DummyBiomeAccessor; import de.bixilon.minosoft.data.world.biome.XZBiomeAccessor; +import de.bixilon.minosoft.data.world.light.DummyLightAccessor; +import de.bixilon.minosoft.data.world.light.LightAccessor; import de.bixilon.minosoft.data.world.palette.Palette; import de.bixilon.minosoft.protocol.protocol.InByteBuffer; import de.bixilon.minosoft.protocol.protocol.ProtocolDefinition; @@ -33,7 +34,7 @@ import java.util.HashMap; import static de.bixilon.minosoft.protocol.protocol.ProtocolVersions.*; public final class ChunkUtil { - public static Chunk readChunkPacket(InByteBuffer buffer, Dimension dimension, long[] sectionBitMasks, int addBitMask, boolean fullChunk, boolean containsSkyLight) { + public static ChunkData readChunkPacket(InByteBuffer buffer, Dimension dimension, long[] sectionBitMasks, int addBitMask, boolean fullChunk, boolean containsSkyLight) { if (buffer.getVersionId() < V_14W26A) { if (sectionBitMasks[0] == 0x00 && fullChunk) { // unload chunk @@ -61,7 +62,7 @@ public final class ChunkUtil { HashMap sectionMap = new HashMap<>(); for (int c = 0; c < ProtocolDefinition.SECTIONS_PER_CHUNK; c++) { // max sections per chunks in chunk column if (BitByte.isBitSet(sectionBitMasks[0], c)) { - HashMap blockMap = new HashMap<>(); + HashMap blockMap = new HashMap<>(); for (int nibbleY = 0; nibbleY < ProtocolDefinition.SECTION_HEIGHT_Y; nibbleY++) { for (int nibbleZ = 0; nibbleZ < ProtocolDefinition.SECTION_WIDTH_Z; nibbleZ++) { @@ -89,7 +90,7 @@ public final class ChunkUtil { continue; } BlockState block = buffer.getConnection().getMapping().getBlockState(fullBlockId); - blockMap.put(new InChunkSectionLocation(nibbleX, nibbleY, nibbleZ), new BlockInfo(block)); + blockMap.put(new InChunkSectionPosition(nibbleX, nibbleY, nibbleZ), new BlockInfo(block)); arrayPos++; } } @@ -97,7 +98,7 @@ public final class ChunkUtil { sectionMap.put(dimension.getLowestSection() + c, new ChunkSection(blockMap)); // ToDo } } - return new Chunk(sectionMap, new DummyBiomeAccessor(buffer.getConnection().getMapping().getBiomeRegistry().get(0))); + return new ChunkData(sectionMap, new DummyBiomeAccessor(buffer.getConnection().getMapping().getBiomeRegistry().get(0)), DummyLightAccessor.INSTANCE); } if (buffer.getVersionId() < V_15W35A) { // ToDo: was this really changed in 62? byte sections = BitByte.getBitCount(sectionBitMasks[0]); @@ -125,7 +126,7 @@ public final class ChunkUtil { if (!BitByte.isBitSet(sectionBitMasks[0], c)) { continue; } - HashMap blockMap = new HashMap<>(); + HashMap blockMap = new HashMap<>(); for (int nibbleY = 0; nibbleY < ProtocolDefinition.SECTION_HEIGHT_Y; nibbleY++) { for (int nibbleZ = 0; nibbleZ < ProtocolDefinition.SECTION_WIDTH_Z; nibbleZ++) { @@ -136,14 +137,14 @@ public final class ChunkUtil { arrayPos++; continue; } - blockMap.put(new InChunkSectionLocation(nibbleX, nibbleY, nibbleZ), new BlockInfo(block)); + blockMap.put(new InChunkSectionPosition(nibbleX, nibbleY, nibbleZ), new BlockInfo(block)); arrayPos++; } } } sectionMap.put(dimension.getLowestSection() + c, new ChunkSection(blockMap)); } - return new Chunk(sectionMap, new DummyBiomeAccessor(buffer.getConnection().getMapping().getBiomeRegistry().get(0))); // ToDo + return new ChunkData(sectionMap, new DummyBiomeAccessor(buffer.getConnection().getMapping().getBiomeRegistry().get(0)), DummyLightAccessor.INSTANCE); // ToDo } // really big thanks to: https://wiki.vg/index.php?title=Chunk_Format&oldid=13712 HashMap sectionMap = new HashMap<>(); @@ -155,13 +156,13 @@ public final class ChunkUtil { if (buffer.getVersionId() >= V_18W43A) { buffer.readShort(); // block count } - Palette palette = Palette.choosePalette(buffer.readUnsignedByte()); + Palette palette = Palette.Companion.choosePalette(buffer.readUnsignedByte()); palette.read(buffer); int individualValueMask = ((1 << palette.getBitsPerBlock()) - 1); long[] data = buffer.readLongArray(); - HashMap blockMap = new HashMap<>(); + HashMap blockMap = new HashMap<>(); for (int nibbleY = 0; nibbleY < ProtocolDefinition.SECTION_HEIGHT_Y; nibbleY++) { for (int nibbleZ = 0; nibbleZ < ProtocolDefinition.SECTION_WIDTH_Z; nibbleZ++) { for (int nibbleX = 0; nibbleX < ProtocolDefinition.SECTION_WIDTH_X; nibbleX++) { @@ -192,7 +193,7 @@ public final class ChunkUtil { if (block == null) { continue; } - blockMap.put(new InChunkSectionLocation(nibbleX, nibbleY, nibbleZ), new BlockInfo(block)); + blockMap.put(new InChunkSectionPosition(nibbleX, nibbleY, nibbleZ), new BlockInfo(block)); } } } @@ -206,21 +207,23 @@ public final class ChunkUtil { sectionMap.put(dimension.getLowestSection() + c, new ChunkSection(blockMap)); } - BiomeAccessor biomeAccessor = new DummyBiomeAccessor(buffer.getConnection().getMapping().getBiomeRegistry().get(0)); + ChunkData chunkData = new ChunkData(); + chunkData.setBlocks(sectionMap); if (buffer.getVersionId() < V_19W36A && fullChunk) { Biome[] biomes = new Biome[256]; for (int i = 0; i < biomes.length; i++) { biomes[i] = buffer.getConnection().getMapping().getBiomeRegistry().get(buffer.readInt()); } - biomeAccessor = new XZBiomeAccessor(biomes); + chunkData.setBiomeAccessor(new XZBiomeAccessor(biomes)); } - return new Chunk(sectionMap, biomeAccessor); + return chunkData; } - public static void readSkyLightPacket(InByteBuffer buffer, long[] skyLightMask, long[] blockLightMask, long[] emptyBlockLightMask, long[] emptySkyLightMask) { + public static LightAccessor readSkyLightPacket(InByteBuffer buffer, long[] skyLightMask, long[] blockLightMask, long[] emptyBlockLightMask, long[] emptySkyLightMask) { readLightArray(buffer, BitSet.valueOf(skyLightMask)); readLightArray(buffer, BitSet.valueOf(blockLightMask)); // ToDo + return DummyLightAccessor.INSTANCE; } private static void readLightArray(InByteBuffer buffer, BitSet lightMask) { diff --git a/src/main/java/de/bixilon/minosoft/util/logging/Log.java b/src/main/java/de/bixilon/minosoft/util/logging/Log.java index 6fa1877ae..2d4e8d28f 100644 --- a/src/main/java/de/bixilon/minosoft/util/logging/Log.java +++ b/src/main/java/de/bixilon/minosoft/util/logging/Log.java @@ -13,9 +13,12 @@ package de.bixilon.minosoft.util.logging; +import de.bixilon.minosoft.Minosoft; import de.bixilon.minosoft.config.StaticConfiguration; +import de.bixilon.minosoft.data.ChatTextPositions; +import de.bixilon.minosoft.data.text.BaseComponent; import de.bixilon.minosoft.data.text.ChatColors; -import de.bixilon.minosoft.data.text.PostChatFormattingCodes; +import de.bixilon.minosoft.data.text.ChatComponent; import de.bixilon.minosoft.data.text.RGBColor; import java.io.PrintStream; @@ -25,7 +28,7 @@ import java.util.concurrent.LinkedBlockingQueue; public class Log { public static final long MINOSOFT_START_TIME = System.currentTimeMillis(); private static final SimpleDateFormat TIME_FORMAT = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS"); - private static final LinkedBlockingQueue LOG_QUEUE = new LinkedBlockingQueue<>(); + private static final LinkedBlockingQueue LOG_QUEUE = new LinkedBlockingQueue<>(); private static final PrintStream SYSTEM_ERR_STREAM = System.err; private static final PrintStream SYSTEM_OUT_STREAM = System.out; private static final PrintStream ERROR_PRINT_STREAM = new LogPrintStream(LogLevels.WARNING); @@ -38,15 +41,20 @@ public class Log { new Thread(() -> { while (true) { // something to print - String message; + ChatComponent message; try { message = LOG_QUEUE.take(); } catch (InterruptedException e) { e.printStackTrace(); continue; } - SYSTEM_OUT_STREAM.println(message); + SYSTEM_OUT_STREAM.println(message.getANSIColoredMessage()); + if (StaticConfiguration.SHOW_LOG_MESSAGES_IN_CHAT) { + for (var connection : Minosoft.CONNECTIONS.values()) { + connection.getSender().sendFakeChatMessage(message, ChatTextPositions.CHAT_BOX); + } + } // ToDo: log to file } }, "Log").start(); @@ -98,15 +106,13 @@ public class Log { builder.append(level.name()); builder.append("] "); builder.append(prefix); + var component = (BaseComponent) ChatComponent.valueOf(builder.toString()); + var messageComponent = (BaseComponent) ChatComponent.valueOf(message); if (color != null && StaticConfiguration.COLORED_LOG) { - builder.append(ChatColors.getANSIColorByRGBColor(color)); - builder.append(message); - builder.append(PostChatFormattingCodes.RESET.getANSI()); - } else { - builder.append(message); + messageComponent.applyDefaultColor(color); } - builder.append(PostChatFormattingCodes.RESET.getANSI()); - LOG_QUEUE.add(builder.toString()); + component.append(messageComponent); + LOG_QUEUE.add(component); } /** diff --git a/src/main/resources/assets/rendering/shader/chunk_fragment.glsl b/src/main/resources/assets/rendering/shader/chunk_fragment.glsl index 0a35b606b..02fc76210 100644 --- a/src/main/resources/assets/rendering/shader/chunk_fragment.glsl +++ b/src/main/resources/assets/rendering/shader/chunk_fragment.glsl @@ -17,6 +17,7 @@ out vec4 outColor; in vec3 passTextureCoordinates; in vec4 passTintColor; +in float passLightLevel; uniform sampler2DArray blockTextureArray; @@ -30,5 +31,5 @@ void main() { if (passTintColor.a > 0.0f){ mixedColor *= passTintColor.rgb; } - outColor = vec4(mixedColor, texelColor.a); + outColor = vec4(mixedColor * passLightLevel, texelColor.a); } diff --git a/src/main/resources/assets/rendering/shader/chunk_vertex.glsl b/src/main/resources/assets/rendering/shader/chunk_vertex.glsl index 25f410998..10325ddc9 100644 --- a/src/main/resources/assets/rendering/shader/chunk_vertex.glsl +++ b/src/main/resources/assets/rendering/shader/chunk_vertex.glsl @@ -20,9 +20,11 @@ layout (location = 2) in int textureLayer; layout (location = 3) in vec3 animatedTextureData; layout (location = 4) in uint tintColor; +layout (location = 5) in float lightLevel; out vec3 passTextureCoordinates; out vec4 passTintColor; +out float passLightLevel; uniform mat4 viewProjectionMatrix; uniform int animationTick; @@ -32,6 +34,8 @@ void main() { gl_Position = viewProjectionMatrix * vec4(inPosition, 1.0f); passTintColor = vec4(((tintColor >> 24u) & 0xFFu) / 255.0f, ((tintColor >> 16u) & 0xFFu) / 255.0f, ((tintColor >> 8u) & 0xFFu) / 255.0f, (tintColor & 0xFFu) / 255.0f); + passLightLevel = lightLevel; + if (animatedTextureData.y == 1.0f) { passTextureCoordinates = vec3(textureIndex, textureLayer); return;