diff --git a/src/main/java/net/minestom/server/entity/Entity.java b/src/main/java/net/minestom/server/entity/Entity.java index ce7279bec..4c19cb73f 100644 --- a/src/main/java/net/minestom/server/entity/Entity.java +++ b/src/main/java/net/minestom/server/entity/Entity.java @@ -27,7 +27,6 @@ import net.minestom.server.thread.ThreadProvider; import net.minestom.server.utils.BlockPosition; import net.minestom.server.utils.Position; import net.minestom.server.utils.Vector; -import net.minestom.server.utils.binary.BitmaskUtil; import net.minestom.server.utils.callback.OptionalCallback; import net.minestom.server.utils.chunk.ChunkCallback; import net.minestom.server.utils.chunk.ChunkUtils; @@ -990,7 +989,7 @@ public abstract class Entity implements Viewable, EventHandler, DataContainer, P * @return true if the entity is in fire, false otherwise */ public boolean isOnFire() { - return (getStateMeta() & 0x01) != 0; + return this.entityMeta.isOnFire(); } /** @@ -1002,8 +1001,7 @@ public abstract class Entity implements Viewable, EventHandler, DataContainer, P * @param fire should the entity be set in fire */ public void setOnFire(boolean fire) { - final byte state = BitmaskUtil.changeBit(getStateMeta(), (byte) 0x01, (byte) (fire ? 1 : 0), (byte) 0); - this.metadata.setIndex((byte) 0, Metadata.Byte(state)); + this.entityMeta.setOnFire(fire); } /** @@ -1014,7 +1012,7 @@ public abstract class Entity implements Viewable, EventHandler, DataContainer, P * @return true if the player is sneaking */ public boolean isSneaking() { - return (getStateMeta() & 0x02) != 0; + return this.entityMeta.isSneaking(); } /** @@ -1026,9 +1024,7 @@ public abstract class Entity implements Viewable, EventHandler, DataContainer, P */ public void setSneaking(boolean sneaking) { setPose(sneaking ? Pose.SNEAKING : Pose.STANDING); - // update the crouched metadata - final byte state = BitmaskUtil.changeBit(getStateMeta(), (byte) 0x02, (byte) (sneaking ? 1 : 0), (byte) 1); - this.metadata.setIndex((byte) 0, Metadata.Byte(state)); + this.entityMeta.setSneaking(sneaking); } /** @@ -1039,7 +1035,7 @@ public abstract class Entity implements Viewable, EventHandler, DataContainer, P * @return true if the player is sprinting */ public boolean isSprinting() { - return (getStateMeta() & 0x08) != 0; + return this.entityMeta.isSprinting(); } /** @@ -1050,8 +1046,7 @@ public abstract class Entity implements Viewable, EventHandler, DataContainer, P * @param sprinting true to make the entity sprint */ public void setSprinting(boolean sprinting) { - final byte state = BitmaskUtil.changeBit(getStateMeta(), (byte) 0x08, (byte) (sprinting ? 1 : 0), (byte) 3); - this.metadata.setIndex((byte) 0, Metadata.Byte(state)); + this.entityMeta.setSprinting(sprinting); } /** @@ -1060,7 +1055,7 @@ public abstract class Entity implements Viewable, EventHandler, DataContainer, P * @return true if the entity is invisible, false otherwise */ public boolean isInvisible() { - return (getStateMeta() & 0x20) != 0; + return this.entityMeta.isInvisible(); } /** @@ -1070,8 +1065,7 @@ public abstract class Entity implements Viewable, EventHandler, DataContainer, P * @param invisible true to set the entity invisible, false otherwise */ public void setInvisible(boolean invisible) { - final byte state = BitmaskUtil.changeBit(getStateMeta(), (byte) 0x20, (byte) (invisible ? 1 : 0), (byte) 5); - this.metadata.setIndex((byte) 0, Metadata.Byte(state)); + this.entityMeta.setInvisible(invisible); } /** @@ -1080,7 +1074,7 @@ public abstract class Entity implements Viewable, EventHandler, DataContainer, P * @return true if the entity is glowing, false otherwise */ public boolean isGlowing() { - return (getStateMeta() & 0x40) != 0; + return this.entityMeta.isHasGlowingEffect(); } /** @@ -1089,8 +1083,7 @@ public abstract class Entity implements Viewable, EventHandler, DataContainer, P * @param glowing true to make the entity glows, false otherwise */ public void setGlowing(boolean glowing) { - final byte state = BitmaskUtil.changeBit(getStateMeta(), (byte) 0x40, (byte) (glowing ? 1 : 0), (byte) 6); - this.metadata.setIndex((byte) 0, Metadata.Byte(state)); + this.entityMeta.setHasGlowingEffect(glowing); } /** @@ -1100,7 +1093,7 @@ public abstract class Entity implements Viewable, EventHandler, DataContainer, P */ @NotNull public Pose getPose() { - return metadata.getIndex((byte) 6, Pose.STANDING); + return this.entityMeta.getPose(); } /** @@ -1113,7 +1106,7 @@ public abstract class Entity implements Viewable, EventHandler, DataContainer, P */ @NotNull public void setPose(@NotNull Pose pose) { - this.metadata.setIndex((byte) 6, Metadata.Pose(pose)); + this.entityMeta.setPose(pose); } /** @@ -1123,7 +1116,7 @@ public abstract class Entity implements Viewable, EventHandler, DataContainer, P */ @Nullable public JsonMessage getCustomName() { - return metadata.getIndex((byte) 2, null); + return this.entityMeta.getCustomName(); } /** @@ -1132,7 +1125,7 @@ public abstract class Entity implements Viewable, EventHandler, DataContainer, P * @param customName the custom name of the entity, null to remove it */ public void setCustomName(@Nullable JsonMessage customName) { - this.metadata.setIndex((byte) 2, Metadata.OptChat(customName)); + this.entityMeta.setCustomName(customName); } /** @@ -1141,7 +1134,7 @@ public abstract class Entity implements Viewable, EventHandler, DataContainer, P * @return true if the custom name is visible, false otherwise */ public boolean isCustomNameVisible() { - return metadata.getIndex((byte) 3, false); + return this.entityMeta.isCustomNameVisible(); } /** @@ -1151,15 +1144,15 @@ public abstract class Entity implements Viewable, EventHandler, DataContainer, P * @param customNameVisible true to make the custom name visible, false otherwise */ public void setCustomNameVisible(boolean customNameVisible) { - this.metadata.setIndex((byte) 3, Metadata.Boolean(customNameVisible)); + this.entityMeta.setCustomNameVisible(customNameVisible); } public boolean isSilent() { - return metadata.getIndex((byte) 4, false); + return this.entityMeta.isSilent(); } public void setSilent(boolean silent) { - this.metadata.setIndex((byte) 4, Metadata.Boolean(silent)); + this.entityMeta.setSilent(silent); } /** @@ -1168,7 +1161,7 @@ public abstract class Entity implements Viewable, EventHandler, DataContainer, P * @return true if the entity ignore gravity, false otherwise */ public boolean hasNoGravity() { - return metadata.getIndex((byte) 5, false); + return this.entityMeta.isHasNoGravity(); } /** @@ -1177,7 +1170,7 @@ public abstract class Entity implements Viewable, EventHandler, DataContainer, P * @param noGravity should the entity ignore gravity */ public void setNoGravity(boolean noGravity) { - this.metadata.setIndex((byte) 5, Metadata.Boolean(noGravity)); + this.entityMeta.setHasNoGravity(noGravity); } /** @@ -1407,10 +1400,6 @@ public abstract class Entity implements Viewable, EventHandler, DataContainer, P return metaDataPacket; } - private byte getStateMeta() { - return metadata.getIndex((byte) 0, (byte) 0); - } - protected void sendSynchronization() { EntityTeleportPacket entityTeleportPacket = new EntityTeleportPacket(); entityTeleportPacket.entityId = getEntityId(); diff --git a/src/main/java/net/minestom/server/entity/metadata/BaseEntityMeta.java b/src/main/java/net/minestom/server/entity/metadata/BaseEntityMeta.java deleted file mode 100644 index 0f8466de6..000000000 --- a/src/main/java/net/minestom/server/entity/metadata/BaseEntityMeta.java +++ /dev/null @@ -1,162 +0,0 @@ -package net.minestom.server.entity.metadata; - -import net.minestom.server.chat.JsonMessage; -import net.minestom.server.entity.Entity; -import net.minestom.server.entity.Metadata; -import org.jetbrains.annotations.NotNull; - -public class BaseEntityMeta extends EntityMeta { - - private final static byte MASK_INDEX = 0; - - private final static byte ON_FIRE_BIT = 0x01; - private final static byte CROUNCHING_BIT = 0x02; - private final static byte SPRINTING_BIT = 0x08; - private final static byte SWIMMING_BIT = 0x10; - private final static byte INVISIBLE_BIT = 0x20; - private final static byte HAS_GLOWING_EFFECT_BIT = 0x40; - private final static byte FLYING_WITH_ELYTRA_BIT = (byte) 0x80; - - protected BaseEntityMeta(@NotNull Entity entity, @NotNull Metadata metadata) { - super(entity, metadata); - } - - public boolean isOnFire() { - return getMaskBit(MASK_INDEX, ON_FIRE_BIT); - } - - public void setOnFire(boolean value) { - setMaskBit(MASK_INDEX, ON_FIRE_BIT, value); - } - - public boolean isCrounching() { - return getMaskBit(MASK_INDEX, CROUNCHING_BIT); - } - - public void setCrounching(boolean value) { - setMaskBit(MASK_INDEX, CROUNCHING_BIT, value); - } - - public boolean isSprinting() { - return getMaskBit(MASK_INDEX, SPRINTING_BIT); - } - - public void setSprinting(boolean value) { - setMaskBit(MASK_INDEX, SPRINTING_BIT, value); - } - - public boolean isSwimming() { - return getMaskBit(MASK_INDEX, SWIMMING_BIT); - } - - public void setSwimming(boolean value) { - setMaskBit(MASK_INDEX, SWIMMING_BIT, value); - } - - public boolean isInvisible() { - return getMaskBit(MASK_INDEX, INVISIBLE_BIT); - } - - public void setInvisible(boolean value) { - setMaskBit(MASK_INDEX, INVISIBLE_BIT, value); - } - - public boolean isHasGlowingEffect() { - return getMaskBit(MASK_INDEX, HAS_GLOWING_EFFECT_BIT); - } - - public void setHasGlowingEffect(boolean value) { - setMaskBit(MASK_INDEX, HAS_GLOWING_EFFECT_BIT, value); - } - - public boolean isFlyingWithElytra() { - return getMaskBit(MASK_INDEX, FLYING_WITH_ELYTRA_BIT); - } - - public void setFlyingWithElytra(boolean value) { - setMaskBit(MASK_INDEX, FLYING_WITH_ELYTRA_BIT, value); - } - - public int getAirTicks() { - return super.metadata.getIndex((byte) 1, 300); - } - - public void setAirTicks(int value) { - super.metadata.setIndex((byte) 1, Metadata.VarInt(value)); - } - - public JsonMessage getCustomName() { - return super.metadata.getIndex((byte) 2, null); - } - - public void setCustomName(JsonMessage value) { - super.metadata.setIndex((byte) 2, Metadata.OptChat(value)); - } - - public boolean isCustomNameVisible() { - return super.metadata.getIndex((byte) 3, false); - } - - public void setCustomNameVisible(boolean value) { - super.metadata.setIndex((byte) 3, Metadata.Boolean(value)); - } - - public boolean isSilent() { - return super.metadata.getIndex((byte) 4, false); - } - - public void setSilent(boolean value) { - super.metadata.setIndex((byte) 4, Metadata.Boolean(value)); - } - - public boolean isHasNoGravity() { - return super.metadata.getIndex((byte) 5, false); - } - - public void setHasNoGravity(boolean value) { - super.metadata.setIndex((byte) 5, Metadata.Boolean(value)); - } - - public Entity.Pose getPose() { - return super.metadata.getIndex((byte) 6, Entity.Pose.STANDING); - } - - public void setPose(Entity.Pose value) { - super.metadata.setIndex((byte) 6, Metadata.Pose(value)); - } - - protected byte getMask(byte index) { - return super.metadata.getIndex(index, (byte) 0); - } - - protected void setMask(byte index, byte mask) { - super.metadata.setIndex(index, Metadata.Byte(mask)); - } - - protected boolean getMaskBit(byte index, byte bit) { - return (getMask(index) & bit) == bit; - } - - protected void setMaskBit(byte index, byte bit, boolean value) { - byte mask = getMask(index); - boolean currentValue = (mask & bit) == bit; - if (currentValue == value) { - return; - } - if (value) { - mask |= bit; - } else { - mask &= ~bit; - } - setMask(index, mask); - } - - protected void setBoundingBox(double x, double y, double z) { - this.entity.setBoundingBox(x, y, z); - } - - protected void setBoundingBox(double width, double height) { - setBoundingBox(width, height, width); - } - -} diff --git a/src/main/java/net/minestom/server/entity/metadata/EntityMeta.java b/src/main/java/net/minestom/server/entity/metadata/EntityMeta.java index 51373b967..5d29beb9e 100644 --- a/src/main/java/net/minestom/server/entity/metadata/EntityMeta.java +++ b/src/main/java/net/minestom/server/entity/metadata/EntityMeta.java @@ -1,11 +1,22 @@ package net.minestom.server.entity.metadata; +import net.minestom.server.chat.JsonMessage; import net.minestom.server.entity.Entity; import net.minestom.server.entity.Metadata; import org.jetbrains.annotations.NotNull; public class EntityMeta { + private final static byte MASK_INDEX = 0; + + private final static byte ON_FIRE_BIT = 0x01; + private final static byte CROUNCHING_BIT = 0x02; + private final static byte SPRINTING_BIT = 0x08; + private final static byte SWIMMING_BIT = 0x10; + private final static byte INVISIBLE_BIT = 0x20; + private final static byte HAS_GLOWING_EFFECT_BIT = 0x40; + private final static byte FLYING_WITH_ELYTRA_BIT = (byte) 0x80; + protected final Entity entity; protected final Metadata metadata; @@ -14,4 +25,142 @@ public class EntityMeta { this.metadata = metadata; } + public boolean isOnFire() { + return getMaskBit(MASK_INDEX, ON_FIRE_BIT); + } + + public void setOnFire(boolean value) { + setMaskBit(MASK_INDEX, ON_FIRE_BIT, value); + } + + public boolean isSneaking() { + return getMaskBit(MASK_INDEX, CROUNCHING_BIT); + } + + public void setSneaking(boolean value) { + setMaskBit(MASK_INDEX, CROUNCHING_BIT, value); + } + + public boolean isSprinting() { + return getMaskBit(MASK_INDEX, SPRINTING_BIT); + } + + public void setSprinting(boolean value) { + setMaskBit(MASK_INDEX, SPRINTING_BIT, value); + } + + public boolean isSwimming() { + return getMaskBit(MASK_INDEX, SWIMMING_BIT); + } + + public void setSwimming(boolean value) { + setMaskBit(MASK_INDEX, SWIMMING_BIT, value); + } + + public boolean isInvisible() { + return getMaskBit(MASK_INDEX, INVISIBLE_BIT); + } + + public void setInvisible(boolean value) { + setMaskBit(MASK_INDEX, INVISIBLE_BIT, value); + } + + public boolean isHasGlowingEffect() { + return getMaskBit(MASK_INDEX, HAS_GLOWING_EFFECT_BIT); + } + + public void setHasGlowingEffect(boolean value) { + setMaskBit(MASK_INDEX, HAS_GLOWING_EFFECT_BIT, value); + } + + public boolean isFlyingWithElytra() { + return getMaskBit(MASK_INDEX, FLYING_WITH_ELYTRA_BIT); + } + + public void setFlyingWithElytra(boolean value) { + setMaskBit(MASK_INDEX, FLYING_WITH_ELYTRA_BIT, value); + } + + public int getAirTicks() { + return this.metadata.getIndex((byte) 1, 300); + } + + public void setAirTicks(int value) { + this.metadata.setIndex((byte) 1, Metadata.VarInt(value)); + } + + public JsonMessage getCustomName() { + return this.metadata.getIndex((byte) 2, null); + } + + public void setCustomName(JsonMessage value) { + this.metadata.setIndex((byte) 2, Metadata.OptChat(value)); + } + + public boolean isCustomNameVisible() { + return this.metadata.getIndex((byte) 3, false); + } + + public void setCustomNameVisible(boolean value) { + this.metadata.setIndex((byte) 3, Metadata.Boolean(value)); + } + + public boolean isSilent() { + return this.metadata.getIndex((byte) 4, false); + } + + public void setSilent(boolean value) { + this.metadata.setIndex((byte) 4, Metadata.Boolean(value)); + } + + public boolean isHasNoGravity() { + return this.metadata.getIndex((byte) 5, false); + } + + public void setHasNoGravity(boolean value) { + this.metadata.setIndex((byte) 5, Metadata.Boolean(value)); + } + + public Entity.Pose getPose() { + return this.metadata.getIndex((byte) 6, Entity.Pose.STANDING); + } + + public void setPose(Entity.Pose value) { + this.metadata.setIndex((byte) 6, Metadata.Pose(value)); + } + + protected byte getMask(byte index) { + return this.metadata.getIndex(index, (byte) 0); + } + + protected void setMask(byte index, byte mask) { + this.metadata.setIndex(index, Metadata.Byte(mask)); + } + + protected boolean getMaskBit(byte index, byte bit) { + return (getMask(index) & bit) == bit; + } + + protected void setMaskBit(byte index, byte bit, boolean value) { + byte mask = getMask(index); + boolean currentValue = (mask & bit) == bit; + if (currentValue == value) { + return; + } + if (value) { + mask |= bit; + } else { + mask &= ~bit; + } + setMask(index, mask); + } + + protected void setBoundingBox(double x, double y, double z) { + this.entity.setBoundingBox(x, y, z); + } + + protected void setBoundingBox(double width, double height) { + setBoundingBox(width, height, width); + } + } diff --git a/src/main/java/net/minestom/server/entity/metadata/LivingEntityMeta.java b/src/main/java/net/minestom/server/entity/metadata/LivingEntityMeta.java index 6f4befe32..f7aa609a6 100644 --- a/src/main/java/net/minestom/server/entity/metadata/LivingEntityMeta.java +++ b/src/main/java/net/minestom/server/entity/metadata/LivingEntityMeta.java @@ -7,7 +7,7 @@ import net.minestom.server.utils.BlockPosition; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; -public class LivingEntityMeta extends BaseEntityMeta { +public class LivingEntityMeta extends EntityMeta { private final static byte MASK_INDEX = 7; diff --git a/src/main/java/net/minestom/server/entity/metadata/animal/FoxMeta.java b/src/main/java/net/minestom/server/entity/metadata/animal/FoxMeta.java index 6701e6651..cc45e76e4 100644 --- a/src/main/java/net/minestom/server/entity/metadata/animal/FoxMeta.java +++ b/src/main/java/net/minestom/server/entity/metadata/animal/FoxMeta.java @@ -40,11 +40,11 @@ public class FoxMeta extends AnimalMeta { setMaskBit(MASK_INDEX, SITTING_BIT, value); } - public boolean isCrounching() { + public boolean isFoxSneaking() { return getMaskBit(MASK_INDEX, CROUCHING_BIT); } - public void setCrounching(boolean value) { + public void setFoxSneaking(boolean value) { setMaskBit(MASK_INDEX, CROUCHING_BIT, value); } diff --git a/src/main/java/net/minestom/server/entity/metadata/arrow/AbstractArrowMeta.java b/src/main/java/net/minestom/server/entity/metadata/arrow/AbstractArrowMeta.java index 449905f4a..d3332ddaa 100644 --- a/src/main/java/net/minestom/server/entity/metadata/arrow/AbstractArrowMeta.java +++ b/src/main/java/net/minestom/server/entity/metadata/arrow/AbstractArrowMeta.java @@ -2,10 +2,10 @@ package net.minestom.server.entity.metadata.arrow; import net.minestom.server.entity.Entity; import net.minestom.server.entity.Metadata; -import net.minestom.server.entity.metadata.BaseEntityMeta; +import net.minestom.server.entity.metadata.EntityMeta; import org.jetbrains.annotations.NotNull; -public class AbstractArrowMeta extends BaseEntityMeta { +public class AbstractArrowMeta extends EntityMeta { private final static byte MASK_INDEX = 7; diff --git a/src/main/java/net/minestom/server/entity/metadata/arrow/ArrowMeta.java b/src/main/java/net/minestom/server/entity/metadata/arrow/ArrowMeta.java index 0f2f23252..3c325d0a6 100644 --- a/src/main/java/net/minestom/server/entity/metadata/arrow/ArrowMeta.java +++ b/src/main/java/net/minestom/server/entity/metadata/arrow/ArrowMeta.java @@ -2,10 +2,10 @@ package net.minestom.server.entity.metadata.arrow; import net.minestom.server.entity.Entity; import net.minestom.server.entity.Metadata; -import net.minestom.server.entity.metadata.BaseEntityMeta; +import net.minestom.server.entity.metadata.EntityMeta; import org.jetbrains.annotations.NotNull; -public class ArrowMeta extends BaseEntityMeta { +public class ArrowMeta extends EntityMeta { public ArrowMeta(@NotNull Entity entity, @NotNull Metadata metadata) { super(entity, metadata); diff --git a/src/main/java/net/minestom/server/entity/metadata/minecart/AbstractMinecartMeta.java b/src/main/java/net/minestom/server/entity/metadata/minecart/AbstractMinecartMeta.java index a3c6927ce..07e0cc01a 100644 --- a/src/main/java/net/minestom/server/entity/metadata/minecart/AbstractMinecartMeta.java +++ b/src/main/java/net/minestom/server/entity/metadata/minecart/AbstractMinecartMeta.java @@ -2,10 +2,10 @@ package net.minestom.server.entity.metadata.minecart; import net.minestom.server.entity.Entity; import net.minestom.server.entity.Metadata; -import net.minestom.server.entity.metadata.BaseEntityMeta; +import net.minestom.server.entity.metadata.EntityMeta; import org.jetbrains.annotations.NotNull; -public class AbstractMinecartMeta extends BaseEntityMeta { +public class AbstractMinecartMeta extends EntityMeta { protected AbstractMinecartMeta(@NotNull Entity entity, @NotNull Metadata metadata) { super(entity, metadata); diff --git a/src/main/java/net/minestom/server/entity/metadata/object/ObjectEntityMeta.java b/src/main/java/net/minestom/server/entity/metadata/object/ObjectEntityMeta.java index e952e66a3..9f1347d10 100644 --- a/src/main/java/net/minestom/server/entity/metadata/object/ObjectEntityMeta.java +++ b/src/main/java/net/minestom/server/entity/metadata/object/ObjectEntityMeta.java @@ -2,12 +2,12 @@ package net.minestom.server.entity.metadata.object; import net.minestom.server.entity.Entity; import net.minestom.server.entity.Metadata; -import net.minestom.server.entity.metadata.BaseEntityMeta; +import net.minestom.server.entity.metadata.EntityMeta; import net.minestom.server.item.ItemStack; import net.minestom.server.item.Material; import org.jetbrains.annotations.NotNull; -public class ObjectEntityMeta extends BaseEntityMeta { +public class ObjectEntityMeta extends EntityMeta { private final ItemStack defaultItem; diff --git a/src/main/java/net/minestom/server/entity/metadata/other/AreaEffectCloudMeta.java b/src/main/java/net/minestom/server/entity/metadata/other/AreaEffectCloudMeta.java index f4f3b5575..922efe0c0 100644 --- a/src/main/java/net/minestom/server/entity/metadata/other/AreaEffectCloudMeta.java +++ b/src/main/java/net/minestom/server/entity/metadata/other/AreaEffectCloudMeta.java @@ -2,12 +2,12 @@ package net.minestom.server.entity.metadata.other; import net.minestom.server.entity.Entity; import net.minestom.server.entity.Metadata; -import net.minestom.server.entity.metadata.BaseEntityMeta; +import net.minestom.server.entity.metadata.EntityMeta; import net.minestom.server.particle.Particle; import net.minestom.server.particle.ParticleType; import org.jetbrains.annotations.NotNull; -public class AreaEffectCloudMeta extends BaseEntityMeta { +public class AreaEffectCloudMeta extends EntityMeta { public AreaEffectCloudMeta(@NotNull Entity entity, @NotNull Metadata metadata) { super(entity, metadata); diff --git a/src/main/java/net/minestom/server/entity/metadata/other/BoatMeta.java b/src/main/java/net/minestom/server/entity/metadata/other/BoatMeta.java index f7c10fdfa..6a3b5a8f3 100644 --- a/src/main/java/net/minestom/server/entity/metadata/other/BoatMeta.java +++ b/src/main/java/net/minestom/server/entity/metadata/other/BoatMeta.java @@ -2,10 +2,10 @@ package net.minestom.server.entity.metadata.other; import net.minestom.server.entity.Entity; import net.minestom.server.entity.Metadata; -import net.minestom.server.entity.metadata.BaseEntityMeta; +import net.minestom.server.entity.metadata.EntityMeta; import org.jetbrains.annotations.NotNull; -public class BoatMeta extends BaseEntityMeta { +public class BoatMeta extends EntityMeta { public BoatMeta(@NotNull Entity entity, @NotNull Metadata metadata) { super(entity, metadata); diff --git a/src/main/java/net/minestom/server/entity/metadata/other/DragonFireballMeta.java b/src/main/java/net/minestom/server/entity/metadata/other/DragonFireballMeta.java index 9de75948f..8277d8655 100644 --- a/src/main/java/net/minestom/server/entity/metadata/other/DragonFireballMeta.java +++ b/src/main/java/net/minestom/server/entity/metadata/other/DragonFireballMeta.java @@ -2,10 +2,10 @@ package net.minestom.server.entity.metadata.other; import net.minestom.server.entity.Entity; import net.minestom.server.entity.Metadata; -import net.minestom.server.entity.metadata.BaseEntityMeta; +import net.minestom.server.entity.metadata.EntityMeta; import org.jetbrains.annotations.NotNull; -public class DragonFireballMeta extends BaseEntityMeta { +public class DragonFireballMeta extends EntityMeta { public DragonFireballMeta(@NotNull Entity entity, @NotNull Metadata metadata) { super(entity, metadata); diff --git a/src/main/java/net/minestom/server/entity/metadata/other/EndCrystalMeta.java b/src/main/java/net/minestom/server/entity/metadata/other/EndCrystalMeta.java index 262c08730..df111b35e 100644 --- a/src/main/java/net/minestom/server/entity/metadata/other/EndCrystalMeta.java +++ b/src/main/java/net/minestom/server/entity/metadata/other/EndCrystalMeta.java @@ -2,12 +2,12 @@ package net.minestom.server.entity.metadata.other; import net.minestom.server.entity.Entity; import net.minestom.server.entity.Metadata; -import net.minestom.server.entity.metadata.BaseEntityMeta; +import net.minestom.server.entity.metadata.EntityMeta; import net.minestom.server.utils.BlockPosition; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; -public class EndCrystalMeta extends BaseEntityMeta { +public class EndCrystalMeta extends EntityMeta { public EndCrystalMeta(@NotNull Entity entity, @NotNull Metadata metadata) { super(entity, metadata); diff --git a/src/main/java/net/minestom/server/entity/metadata/other/EvokerFangsMeta.java b/src/main/java/net/minestom/server/entity/metadata/other/EvokerFangsMeta.java index 9c8d645ce..ab57d071d 100644 --- a/src/main/java/net/minestom/server/entity/metadata/other/EvokerFangsMeta.java +++ b/src/main/java/net/minestom/server/entity/metadata/other/EvokerFangsMeta.java @@ -2,10 +2,10 @@ package net.minestom.server.entity.metadata.other; import net.minestom.server.entity.Entity; import net.minestom.server.entity.Metadata; -import net.minestom.server.entity.metadata.BaseEntityMeta; +import net.minestom.server.entity.metadata.EntityMeta; import org.jetbrains.annotations.NotNull; -public class EvokerFangsMeta extends BaseEntityMeta { +public class EvokerFangsMeta extends EntityMeta { public EvokerFangsMeta(@NotNull Entity entity, @NotNull Metadata metadata) { super(entity, metadata); diff --git a/src/main/java/net/minestom/server/entity/metadata/other/FallingBlockMeta.java b/src/main/java/net/minestom/server/entity/metadata/other/FallingBlockMeta.java index 098216492..0fb872d91 100644 --- a/src/main/java/net/minestom/server/entity/metadata/other/FallingBlockMeta.java +++ b/src/main/java/net/minestom/server/entity/metadata/other/FallingBlockMeta.java @@ -2,11 +2,11 @@ package net.minestom.server.entity.metadata.other; import net.minestom.server.entity.Entity; import net.minestom.server.entity.Metadata; -import net.minestom.server.entity.metadata.BaseEntityMeta; +import net.minestom.server.entity.metadata.EntityMeta; import net.minestom.server.utils.BlockPosition; import org.jetbrains.annotations.NotNull; -public class FallingBlockMeta extends BaseEntityMeta { +public class FallingBlockMeta extends EntityMeta { public FallingBlockMeta(@NotNull Entity entity, @NotNull Metadata metadata) { super(entity, metadata); diff --git a/src/main/java/net/minestom/server/entity/metadata/other/FireworkRocketMeta.java b/src/main/java/net/minestom/server/entity/metadata/other/FireworkRocketMeta.java index 303b0fe76..4dd141292 100644 --- a/src/main/java/net/minestom/server/entity/metadata/other/FireworkRocketMeta.java +++ b/src/main/java/net/minestom/server/entity/metadata/other/FireworkRocketMeta.java @@ -2,12 +2,12 @@ package net.minestom.server.entity.metadata.other; import net.minestom.server.entity.Entity; import net.minestom.server.entity.Metadata; -import net.minestom.server.entity.metadata.BaseEntityMeta; +import net.minestom.server.entity.metadata.EntityMeta; import net.minestom.server.item.ItemStack; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; -public class FireworkRocketMeta extends BaseEntityMeta { +public class FireworkRocketMeta extends EntityMeta { private Entity shooter; diff --git a/src/main/java/net/minestom/server/entity/metadata/other/FishingHookMeta.java b/src/main/java/net/minestom/server/entity/metadata/other/FishingHookMeta.java index d8d34d7be..7f824143b 100644 --- a/src/main/java/net/minestom/server/entity/metadata/other/FishingHookMeta.java +++ b/src/main/java/net/minestom/server/entity/metadata/other/FishingHookMeta.java @@ -2,11 +2,11 @@ package net.minestom.server.entity.metadata.other; import net.minestom.server.entity.Entity; import net.minestom.server.entity.Metadata; -import net.minestom.server.entity.metadata.BaseEntityMeta; +import net.minestom.server.entity.metadata.EntityMeta; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; -public class FishingHookMeta extends BaseEntityMeta { +public class FishingHookMeta extends EntityMeta { private Entity hooked; diff --git a/src/main/java/net/minestom/server/entity/metadata/other/ItemFrameMeta.java b/src/main/java/net/minestom/server/entity/metadata/other/ItemFrameMeta.java index 007ae1b68..292c205aa 100644 --- a/src/main/java/net/minestom/server/entity/metadata/other/ItemFrameMeta.java +++ b/src/main/java/net/minestom/server/entity/metadata/other/ItemFrameMeta.java @@ -2,11 +2,12 @@ package net.minestom.server.entity.metadata.other; import net.minestom.server.entity.Entity; import net.minestom.server.entity.Metadata; -import net.minestom.server.entity.metadata.BaseEntityMeta; +import net.minestom.server.entity.metadata.EntityMeta; import net.minestom.server.item.ItemStack; +import net.minestom.server.utils.Rotation; import org.jetbrains.annotations.NotNull; -public class ItemFrameMeta extends BaseEntityMeta { +public class ItemFrameMeta extends EntityMeta { public ItemFrameMeta(@NotNull Entity entity, @NotNull Metadata metadata) { super(entity, metadata); @@ -21,12 +22,12 @@ public class ItemFrameMeta extends BaseEntityMeta { super.metadata.setIndex((byte) 7, Metadata.Slot(value)); } - public int getRotation() { - return super.metadata.getIndex((byte) 8, 0); + public Rotation getRotation() { + return Rotation.values()[super.metadata.getIndex((byte) 8, 0)]; } - public void setRotation(int value) { - super.metadata.setIndex((byte) 8, Metadata.VarInt(value)); + public void setRotation(Rotation value) { + super.metadata.setIndex((byte) 8, Metadata.VarInt(value.ordinal())); } } diff --git a/src/main/java/net/minestom/server/entity/metadata/other/LlamaSpitMeta.java b/src/main/java/net/minestom/server/entity/metadata/other/LlamaSpitMeta.java index 258b5d38b..b80cecb21 100644 --- a/src/main/java/net/minestom/server/entity/metadata/other/LlamaSpitMeta.java +++ b/src/main/java/net/minestom/server/entity/metadata/other/LlamaSpitMeta.java @@ -2,10 +2,10 @@ package net.minestom.server.entity.metadata.other; import net.minestom.server.entity.Entity; import net.minestom.server.entity.Metadata; -import net.minestom.server.entity.metadata.BaseEntityMeta; +import net.minestom.server.entity.metadata.EntityMeta; import org.jetbrains.annotations.NotNull; -public class LlamaSpitMeta extends BaseEntityMeta { +public class LlamaSpitMeta extends EntityMeta { public LlamaSpitMeta(@NotNull Entity entity, @NotNull Metadata metadata) { super(entity, metadata); diff --git a/src/main/java/net/minestom/server/entity/metadata/other/PrimedTntMeta.java b/src/main/java/net/minestom/server/entity/metadata/other/PrimedTntMeta.java index 442851d3e..944eec2eb 100644 --- a/src/main/java/net/minestom/server/entity/metadata/other/PrimedTntMeta.java +++ b/src/main/java/net/minestom/server/entity/metadata/other/PrimedTntMeta.java @@ -2,10 +2,10 @@ package net.minestom.server.entity.metadata.other; import net.minestom.server.entity.Entity; import net.minestom.server.entity.Metadata; -import net.minestom.server.entity.metadata.BaseEntityMeta; +import net.minestom.server.entity.metadata.EntityMeta; import org.jetbrains.annotations.NotNull; -public class PrimedTntMeta extends BaseEntityMeta { +public class PrimedTntMeta extends EntityMeta { public PrimedTntMeta(@NotNull Entity entity, @NotNull Metadata metadata) { super(entity, metadata); diff --git a/src/main/java/net/minestom/server/entity/metadata/other/ShulkerBulletMeta.java b/src/main/java/net/minestom/server/entity/metadata/other/ShulkerBulletMeta.java index 00f9cf38d..fcb98f172 100644 --- a/src/main/java/net/minestom/server/entity/metadata/other/ShulkerBulletMeta.java +++ b/src/main/java/net/minestom/server/entity/metadata/other/ShulkerBulletMeta.java @@ -2,10 +2,10 @@ package net.minestom.server.entity.metadata.other; import net.minestom.server.entity.Entity; import net.minestom.server.entity.Metadata; -import net.minestom.server.entity.metadata.BaseEntityMeta; +import net.minestom.server.entity.metadata.EntityMeta; import org.jetbrains.annotations.NotNull; -public class ShulkerBulletMeta extends BaseEntityMeta { +public class ShulkerBulletMeta extends EntityMeta { public ShulkerBulletMeta(@NotNull Entity entity, @NotNull Metadata metadata) { super(entity, metadata); diff --git a/src/main/java/net/minestom/server/entity/metadata/other/TraderLlamaMeta.java b/src/main/java/net/minestom/server/entity/metadata/other/TraderLlamaMeta.java index 78d655be2..e4734298a 100644 --- a/src/main/java/net/minestom/server/entity/metadata/other/TraderLlamaMeta.java +++ b/src/main/java/net/minestom/server/entity/metadata/other/TraderLlamaMeta.java @@ -2,10 +2,10 @@ package net.minestom.server.entity.metadata.other; import net.minestom.server.entity.Entity; import net.minestom.server.entity.Metadata; -import net.minestom.server.entity.metadata.BaseEntityMeta; +import net.minestom.server.entity.metadata.EntityMeta; import org.jetbrains.annotations.NotNull; -public class TraderLlamaMeta extends BaseEntityMeta { +public class TraderLlamaMeta extends EntityMeta { public TraderLlamaMeta(@NotNull Entity entity, @NotNull Metadata metadata) { super(entity, metadata); diff --git a/src/main/java/net/minestom/server/entity/metadata/other/WitherSkullMeta.java b/src/main/java/net/minestom/server/entity/metadata/other/WitherSkullMeta.java index 1f2b87d99..fca4a3254 100644 --- a/src/main/java/net/minestom/server/entity/metadata/other/WitherSkullMeta.java +++ b/src/main/java/net/minestom/server/entity/metadata/other/WitherSkullMeta.java @@ -2,10 +2,10 @@ package net.minestom.server.entity.metadata.other; import net.minestom.server.entity.Entity; import net.minestom.server.entity.Metadata; -import net.minestom.server.entity.metadata.BaseEntityMeta; +import net.minestom.server.entity.metadata.EntityMeta; import org.jetbrains.annotations.NotNull; -public class WitherSkullMeta extends BaseEntityMeta { +public class WitherSkullMeta extends EntityMeta { public WitherSkullMeta(@NotNull Entity entity, @NotNull Metadata metadata) { super(entity, metadata);