A bit more changes to EntityMeta

This commit is contained in:
Konstantin Shandurenko 2021-02-23 18:37:00 +03:00
parent eb274ce95e
commit bbe143520e
139 changed files with 647 additions and 568 deletions

View File

@ -1,6 +1,6 @@
package net.minestom.server.entity;
import java.util.function.Function;
import java.util.function.BiFunction;
import net.minestom.server.entity.metadata.EntityMeta;
import net.minestom.server.entity.metadata.PlayerMeta;
import net.minestom.server.entity.metadata.ambient.BatMeta;
@ -345,10 +345,10 @@ public enum EntityType {
private double height;
@NotNull
private Function<? extends Entity, ? extends EntityMeta> metaConstructor;
private BiFunction<Entity, Metadata, EntityMeta> metaConstructor;
EntityType(@NotNull String namespaceID, double width, double height,
@NotNull Function<? extends Entity, ? extends EntityMeta> metaConstructor) {
@NotNull BiFunction<Entity, Metadata, EntityMeta> metaConstructor) {
this.namespaceID = namespaceID;
this.width = width;
this.height = height;
@ -372,7 +372,7 @@ public enum EntityType {
return this.height;
}
public Function<? extends Entity, ? extends EntityMeta> getMetaConstructor() {
public BiFunction<Entity, Metadata, EntityMeta> getMetaConstructor() {
return this.metaConstructor;
}

View File

@ -8,6 +8,7 @@ import net.minestom.codegen.ConstructorLambda;
import net.minestom.codegen.EnumGenerator;
import net.minestom.codegen.MinestomEnumGenerator;
import net.minestom.server.entity.Entity;
import net.minestom.server.entity.Metadata;
import net.minestom.server.entity.metadata.EntityMeta;
import net.minestom.server.registry.Registries;
import net.minestom.server.registry.ResourceGatherer;
@ -22,6 +23,7 @@ import java.io.IOException;
import java.io.InputStreamReader;
import java.net.URL;
import java.util.*;
import java.util.function.BiFunction;
import java.util.function.Function;
/**
@ -130,9 +132,10 @@ public class EntityTypeEnumGenerator extends MinestomEnumGenerator<EntityTypeCon
ParameterSpec.builder(TypeName.DOUBLE, "width").build(),
ParameterSpec.builder(TypeName.DOUBLE, "height").build(),
ParameterSpec.builder(ParameterizedTypeName.get(
ClassName.get(Function.class),
WildcardTypeName.subtypeOf(ClassName.get(Entity.class)),
WildcardTypeName.subtypeOf(ClassName.get(EntityMeta.class))
BiFunction.class,
Entity.class,
Metadata.class,
EntityMeta.class
), "metaConstructor").addAnnotation(NotNull.class).build()
);
generator.appendToConstructor(code -> {
@ -153,9 +156,10 @@ public class EntityTypeEnumGenerator extends MinestomEnumGenerator<EntityTypeCon
});
generator.addMethod("getMetaConstructor", new ParameterSpec[0],
ParameterizedTypeName.get(
ClassName.get(Function.class),
WildcardTypeName.subtypeOf(ClassName.get(Entity.class)),
WildcardTypeName.subtypeOf(ClassName.get(EntityMeta.class))
BiFunction.class,
Entity.class,
Metadata.class,
EntityMeta.class
),
code -> code.addStatement("return this.metaConstructor")
);

View File

@ -8,6 +8,7 @@ import net.minestom.server.collision.BoundingBox;
import net.minestom.server.collision.CollisionUtils;
import net.minestom.server.data.Data;
import net.minestom.server.data.DataContainer;
import net.minestom.server.entity.metadata.EntityMeta;
import net.minestom.server.event.Event;
import net.minestom.server.event.EventCallback;
import net.minestom.server.event.entity.*;
@ -123,6 +124,7 @@ public abstract class Entity implements Viewable, EventHandler, DataContainer, P
private final Map<Class<? extends Event>, Collection<EventCallback>> eventCallbacks = new ConcurrentHashMap<>();
protected Metadata metadata = new Metadata(this);
protected EntityMeta entityMeta;
private final List<TimedPotion> effects = new CopyOnWriteArrayList<>();
@ -142,6 +144,8 @@ public abstract class Entity implements Viewable, EventHandler, DataContainer, P
this.lastY = spawnPosition.getY();
this.lastZ = spawnPosition.getZ();
this.entityMeta = entityType.getMetaConstructor().apply(this, this.metadata);
setBoundingBox(0, 0, 0);
setAutoViewable(true);
@ -158,10 +162,6 @@ public abstract class Entity implements Viewable, EventHandler, DataContainer, P
this(entityType, new Position());
}
public Metadata getMetadata() {
return this.metadata;
}
/**
* Schedules a task to be run during the next entity tick.
* It ensures that the task will be executed in the same thread as the entity (depending of the {@link ThreadProvider}).
@ -224,6 +224,17 @@ public abstract class Entity implements Viewable, EventHandler, DataContainer, P
return onGround || EntityUtils.isOnGround(this) /* backup for levitating entities */;
}
/**
* Gets metadata of this entity.
* You may want to cast it to specific implementation.
*
* @return metadata of this entity.
*/
@NotNull
public EntityMeta getEntityMeta() {
return this.entityMeta;
}
/**
* Teleports the entity only if the chunk at {@code position} is loaded or if
* {@link Instance#hasEnabledAutoChunkLoad()} returns true.

View File

@ -7,12 +7,12 @@ import org.jetbrains.annotations.NotNull;
public class AgeableMobMeta extends PathfinderMobMeta {
protected AgeableMobMeta(@NotNull Entity entity) {
super(entity);
protected AgeableMobMeta(@NotNull Entity entity, @NotNull Metadata metadata) {
super(entity, metadata);
}
public boolean isBaby() {
return getMetadata().getIndex((byte) 15, false);
return super.metadata.getIndex((byte) 15, false);
}
public void setBaby(boolean value) {
@ -25,7 +25,7 @@ public class AgeableMobMeta extends PathfinderMobMeta {
} else {
setBoundingBox(bb.getWidth() * 2, bb.getHeight() * 2);
}
getMetadata().getIndex((byte) 15, Metadata.Boolean(value));
super.metadata.setIndex((byte) 15, Metadata.Boolean(value));
}
}

View File

@ -17,8 +17,8 @@ public class BaseEntityMeta extends EntityMeta {
private final static byte HAS_GLOWING_EFFECT_BIT = 0x40;
private final static byte FLYING_WITH_ELYTRA_BIT = (byte) 0x80;
protected BaseEntityMeta(@NotNull Entity entity) {
super(entity);
protected BaseEntityMeta(@NotNull Entity entity, @NotNull Metadata metadata) {
super(entity, metadata);
}
public boolean isOnFire() {
@ -78,63 +78,59 @@ public class BaseEntityMeta extends EntityMeta {
}
public int getAirTicks() {
return getMetadata().getIndex((byte) 1, 300);
return super.metadata.getIndex((byte) 1, 300);
}
public void setAirTicks(int value) {
getMetadata().setIndex((byte) 1, Metadata.VarInt(value));
super.metadata.setIndex((byte) 1, Metadata.VarInt(value));
}
public JsonMessage getCustomName() {
return getMetadata().getIndex((byte) 2, null);
return super.metadata.getIndex((byte) 2, null);
}
public void setCustomName(JsonMessage value) {
getMetadata().setIndex((byte) 2, Metadata.OptChat(value));
super.metadata.setIndex((byte) 2, Metadata.OptChat(value));
}
public boolean isCustomNameVisible() {
return getMetadata().getIndex((byte) 3, false);
return super.metadata.getIndex((byte) 3, false);
}
public void setCustomNameVisible(boolean value) {
getMetadata().setIndex((byte) 3, Metadata.Boolean(value));
super.metadata.setIndex((byte) 3, Metadata.Boolean(value));
}
public boolean isSilent() {
return getMetadata().getIndex((byte) 4, false);
return super.metadata.getIndex((byte) 4, false);
}
public void setSilent(boolean value) {
getMetadata().setIndex((byte) 4, Metadata.Boolean(value));
super.metadata.setIndex((byte) 4, Metadata.Boolean(value));
}
public boolean isHasNoGravity() {
return getMetadata().getIndex((byte) 5, false);
return super.metadata.getIndex((byte) 5, false);
}
public void setHasNoGravity(boolean value) {
getMetadata().setIndex((byte) 5, Metadata.Boolean(value));
super.metadata.setIndex((byte) 5, Metadata.Boolean(value));
}
public Entity.Pose getPose() {
return getMetadata().getIndex((byte) 6, Entity.Pose.STANDING);
return super.metadata.getIndex((byte) 6, Entity.Pose.STANDING);
}
public void setPose(Entity.Pose value) {
getMetadata().setIndex((byte) 6, Metadata.Pose(value));
}
protected Metadata getMetadata() {
return this.entity.getMetadata();
super.metadata.setIndex((byte) 6, Metadata.Pose(value));
}
protected byte getMask(byte index) {
return getMetadata().getIndex(index, (byte) 0);
return super.metadata.getIndex(index, (byte) 0);
}
protected void setMask(byte index, byte mask) {
getMetadata().setIndex(index, Metadata.Byte(mask));
super.metadata.setIndex(index, Metadata.Byte(mask));
}
protected boolean getMaskBit(byte index, byte bit) {

View File

@ -1,14 +1,17 @@
package net.minestom.server.entity.metadata;
import net.minestom.server.entity.Entity;
import net.minestom.server.entity.Metadata;
import org.jetbrains.annotations.NotNull;
public class EntityMeta {
protected final Entity entity;
protected final Metadata metadata;
protected EntityMeta(@NotNull Entity entity) {
protected EntityMeta(@NotNull Entity entity, @NotNull Metadata metadata) {
this.entity = entity;
this.metadata = metadata;
}
}

View File

@ -15,8 +15,8 @@ public class LivingEntityMeta extends BaseEntityMeta {
private final static byte ACTIVE_HAND_BIT = 0x02;
private final static byte IS_IN_SPIN_ATTACK_BIT = 0x04;
protected LivingEntityMeta(@NotNull Entity entity) {
super(entity);
protected LivingEntityMeta(@NotNull Entity entity, @NotNull Metadata metadata) {
super(entity, metadata);
}
public boolean isHandActive() {
@ -45,52 +45,52 @@ public class LivingEntityMeta extends BaseEntityMeta {
}
public float getHealth() {
return getMetadata().getIndex((byte) 8, 1F);
return super.metadata.getIndex((byte) 8, 1F);
}
public void setHealth(float value) {
getMetadata().setIndex((byte) 8, Metadata.Float(value));
super.metadata.setIndex((byte) 8, Metadata.Float(value));
}
public int getPotionEffectColor() {
return getMetadata().getIndex((byte) 9, 0);
return super.metadata.getIndex((byte) 9, 0);
}
public void setPotionEffectColor(int value) {
getMetadata().setIndex((byte) 9, Metadata.VarInt(value));
super.metadata.setIndex((byte) 9, Metadata.VarInt(value));
}
public boolean isPotionEffectAmbient() {
return getMetadata().getIndex((byte) 10, false);
return super.metadata.getIndex((byte) 10, false);
}
public void setPotionEffectAmbient(boolean value) {
getMetadata().setIndex((byte) 10, Metadata.Boolean(value));
super.metadata.setIndex((byte) 10, Metadata.Boolean(value));
}
public int getNumberOfArrows() {
return getMetadata().getIndex((byte) 11, 0);
return super.metadata.getIndex((byte) 11, 0);
}
public void setNumberOfArrows(int value) {
getMetadata().getIndex((byte) 11, Metadata.VarInt(value));
super.metadata.getIndex((byte) 11, Metadata.VarInt(value));
}
public int getHealthAddedByAbsorption() {
return getMetadata().getIndex((byte) 12, 0);
return super.metadata.getIndex((byte) 12, 0);
}
public void setHealthAddedByAbsorption(int value) {
getMetadata().getIndex((byte) 12, Metadata.VarInt(value));
super.metadata.getIndex((byte) 12, Metadata.VarInt(value));
}
@Nullable
public BlockPosition getBedInWhichSleepingPosition() {
return getMetadata().getIndex((byte) 13, null);
return super.metadata.getIndex((byte) 13, null);
}
public void setBedInWhichSleepingPosition(@Nullable BlockPosition value) {
getMetadata().setIndex((byte) 13, Metadata.OptPosition(value));
super.metadata.setIndex((byte) 13, Metadata.OptPosition(value));
}
}

View File

@ -1,6 +1,7 @@
package net.minestom.server.entity.metadata;
import net.minestom.server.entity.Entity;
import net.minestom.server.entity.Metadata;
import org.jetbrains.annotations.NotNull;
public class MobMeta extends LivingEntityMeta {
@ -11,8 +12,8 @@ public class MobMeta extends LivingEntityMeta {
private final static byte IS_LEFT_HANDED_BIT = 0x02;
private final static byte IS_AGGRESSIVE_BIT = 0x04;
protected MobMeta(@NotNull Entity entity) {
super(entity);
protected MobMeta(@NotNull Entity entity, @NotNull Metadata metadata) {
super(entity, metadata);
}
public boolean isNoAi() {

View File

@ -1,12 +1,13 @@
package net.minestom.server.entity.metadata;
import net.minestom.server.entity.Entity;
import net.minestom.server.entity.Metadata;
import org.jetbrains.annotations.NotNull;
public class PathfinderMobMeta extends MobMeta {
protected PathfinderMobMeta(@NotNull Entity entity) {
super(entity);
protected PathfinderMobMeta(@NotNull Entity entity, @NotNull Metadata metadata) {
super(entity, metadata);
}
}

View File

@ -2,7 +2,6 @@ package net.minestom.server.entity.metadata;
import net.minestom.server.entity.Entity;
import net.minestom.server.entity.Metadata;
import net.minestom.server.entity.Player;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.jglrxavpok.hephaistos.nbt.NBT;
@ -19,24 +18,24 @@ public class PlayerMeta extends LivingEntityMeta {
private final static byte RIGHT_LEG_BIT = 0x20;
private final static byte HAT_BIT = 0x40;
public PlayerMeta(@NotNull Entity entity) {
super(entity);
public PlayerMeta(@NotNull Entity entity, @NotNull Metadata metadata) {
super(entity, metadata);
}
public float getAdditionalHearts() {
return getMetadata().getIndex((byte) 14, 0F);
return super.metadata.getIndex((byte) 14, 0F);
}
public void setAdditionalHearts(float value) {
getMetadata().setIndex((byte) 14, Metadata.Float(value));
super.metadata.setIndex((byte) 14, Metadata.Float(value));
}
public int getScore() {
return getMetadata().getIndex((byte) 15, 0);
return super.metadata.getIndex((byte) 15, 0);
}
public void setScore(int value) {
getMetadata().setIndex((byte) 15, Metadata.VarInt(value));
super.metadata.setIndex((byte) 15, Metadata.VarInt(value));
}
public boolean isCapeEnabled() {
@ -96,29 +95,29 @@ public class PlayerMeta extends LivingEntityMeta {
}
public boolean isRightMainHand() {
return getMetadata().getIndex((byte) 17, (byte) 1) == (byte) 1;
return super.metadata.getIndex((byte) 17, (byte) 1) == (byte) 1;
}
public void setRightMainHand(boolean value) {
getMetadata().setIndex((byte) 17, Metadata.Byte(value ? (byte) 1 : (byte) 0));
super.metadata.setIndex((byte) 17, Metadata.Byte(value ? (byte) 1 : (byte) 0));
}
@Nullable
public NBT getLeftShoulderEntityData() {
return getMetadata().getIndex((byte) 18, null);
return super.metadata.getIndex((byte) 18, null);
}
public void setLeftShoulderEntityData(@Nullable NBT value) {
getMetadata().setIndex((byte) 18, Metadata.NBT(value));
super.metadata.setIndex((byte) 18, Metadata.NBT(value));
}
@Nullable
public NBT getRightShoulderEntityData() {
return getMetadata().getIndex((byte) 19, null);
return super.metadata.getIndex((byte) 19, null);
}
public void setRightShoulderEntityData(@Nullable NBT value) {
getMetadata().setIndex((byte) 19, Metadata.NBT(value));
super.metadata.setIndex((byte) 19, Metadata.NBT(value));
}
}

View File

@ -1,13 +1,14 @@
package net.minestom.server.entity.metadata.ambient;
import net.minestom.server.entity.Entity;
import net.minestom.server.entity.Metadata;
import net.minestom.server.entity.metadata.MobMeta;
import org.jetbrains.annotations.NotNull;
public class AmbientCreatureMeta extends MobMeta {
protected AmbientCreatureMeta(@NotNull Entity entity) {
super(entity);
protected AmbientCreatureMeta(@NotNull Entity entity, @NotNull Metadata metadata) {
super(entity, metadata);
}
}

View File

@ -1,6 +1,7 @@
package net.minestom.server.entity.metadata.ambient;
import net.minestom.server.entity.Entity;
import net.minestom.server.entity.Metadata;
import org.jetbrains.annotations.NotNull;
public class BatMeta extends AmbientCreatureMeta {
@ -9,8 +10,8 @@ public class BatMeta extends AmbientCreatureMeta {
private final static byte IS_HANGING_BIT = 0x01;
public BatMeta(@NotNull Entity entity) {
super(entity);
public BatMeta(@NotNull Entity entity, @NotNull Metadata metadata) {
super(entity, metadata);
}
public boolean isHanging() {

View File

@ -17,8 +17,8 @@ public class AbstractHorseMeta extends AnimalMeta {
private final static byte REARING_BIT = 0x20;
private final static byte MOUTH_OPEN_BIT = 0x40;
protected AbstractHorseMeta(@NotNull Entity entity) {
super(entity);
protected AbstractHorseMeta(@NotNull Entity entity, @NotNull Metadata metadata) {
super(entity, metadata);
}
public boolean isTamed() {
@ -70,11 +70,11 @@ public class AbstractHorseMeta extends AnimalMeta {
}
public UUID getOwner() {
return getMetadata().getIndex((byte) 17, null);
return super.metadata.getIndex((byte) 17, null);
}
public void setOwner(UUID value) {
getMetadata().setIndex((byte) 17, Metadata.OptUUID(value));
super.metadata.setIndex((byte) 17, Metadata.OptUUID(value));
}
}

View File

@ -1,13 +1,14 @@
package net.minestom.server.entity.metadata.animal;
import net.minestom.server.entity.Entity;
import net.minestom.server.entity.Metadata;
import net.minestom.server.entity.metadata.AgeableMobMeta;
import org.jetbrains.annotations.NotNull;
public class AnimalMeta extends AgeableMobMeta {
protected AnimalMeta(@NotNull Entity entity) {
super(entity);
protected AnimalMeta(@NotNull Entity entity, @NotNull Metadata metadata) {
super(entity, metadata);
}
}

View File

@ -12,8 +12,8 @@ public class BeeMeta extends AnimalMeta {
private final static byte HAS_STUNG_BIT = 0x04;
private final static byte HAS_NECTAR_BIT = 0x08;
public BeeMeta(@NotNull Entity entity) {
super(entity);
public BeeMeta(@NotNull Entity entity, @NotNull Metadata metadata) {
super(entity, metadata);
}
public boolean isAngry() {
@ -41,11 +41,11 @@ public class BeeMeta extends AnimalMeta {
}
public int getAngerTicks() {
return getMetadata().getIndex((byte) 17, 0);
return super.metadata.getIndex((byte) 17, 0);
}
public void setAngerTicks(int value) {
getMetadata().setIndex((byte) 17, Metadata.VarInt(value));
super.metadata.setIndex((byte) 17, Metadata.VarInt(value));
}
}

View File

@ -6,16 +6,16 @@ import org.jetbrains.annotations.NotNull;
public class ChestedHorseMeta extends AbstractHorseMeta {
protected ChestedHorseMeta(@NotNull Entity entity) {
super(entity);
protected ChestedHorseMeta(@NotNull Entity entity, @NotNull Metadata metadata) {
super(entity, metadata);
}
public boolean isHasChest() {
return getMetadata().getIndex((byte) 18, false);
return super.metadata.getIndex((byte) 18, false);
}
public void setHasChest(boolean value) {
getMetadata().setIndex((byte) 18, Metadata.Boolean(value));
super.metadata.setIndex((byte) 18, Metadata.Boolean(value));
}
}

View File

@ -1,12 +1,13 @@
package net.minestom.server.entity.metadata.animal;
import net.minestom.server.entity.Entity;
import net.minestom.server.entity.Metadata;
import org.jetbrains.annotations.NotNull;
public class ChickenMeta extends AnimalMeta {
public ChickenMeta(@NotNull Entity entity) {
super(entity);
public ChickenMeta(@NotNull Entity entity, @NotNull Metadata metadata) {
super(entity, metadata);
}
}

View File

@ -1,12 +1,13 @@
package net.minestom.server.entity.metadata.animal;
import net.minestom.server.entity.Entity;
import net.minestom.server.entity.Metadata;
import org.jetbrains.annotations.NotNull;
public class CowMeta extends AnimalMeta {
public CowMeta(@NotNull Entity entity) {
super(entity);
public CowMeta(@NotNull Entity entity, @NotNull Metadata metadata) {
super(entity, metadata);
}
}

View File

@ -1,12 +1,13 @@
package net.minestom.server.entity.metadata.animal;
import net.minestom.server.entity.Entity;
import net.minestom.server.entity.Metadata;
import org.jetbrains.annotations.NotNull;
public class DonkeyMeta extends ChestedHorseMeta {
public DonkeyMeta(@NotNull Entity entity) {
super(entity);
public DonkeyMeta(@NotNull Entity entity, @NotNull Metadata metadata) {
super(entity, metadata);
}
}

View File

@ -19,17 +19,17 @@ public class FoxMeta extends AnimalMeta {
private final static byte FACEPLANTED_BIT = 0x40;
private final static byte DEFENDING_BIT = (byte) 0x80;
public FoxMeta(@NotNull Entity entity) {
super(entity);
public FoxMeta(@NotNull Entity entity, @NotNull Metadata metadata) {
super(entity, metadata);
}
@NotNull
public Type getType() {
return Type.VALUES[getMetadata().getIndex((byte) 16, 0)];
return Type.VALUES[super.metadata.getIndex((byte) 16, 0)];
}
public void setType(@NotNull Type type) {
getMetadata().setIndex((byte) 16, Metadata.VarInt(type.ordinal()));
super.metadata.setIndex((byte) 16, Metadata.VarInt(type.ordinal()));
}
public boolean isSitting() {
@ -90,20 +90,20 @@ public class FoxMeta extends AnimalMeta {
@Nullable
public UUID getFirstUUID() {
return getMetadata().getIndex((byte) 18, null);
return super.metadata.getIndex((byte) 18, null);
}
public void setFirstUUID(@Nullable UUID value) {
getMetadata().setIndex((byte) 18, Metadata.OptUUID(value));
super.metadata.setIndex((byte) 18, Metadata.OptUUID(value));
}
@Nullable
public UUID getSecondUUID() {
return getMetadata().getIndex((byte) 19, null);
return super.metadata.getIndex((byte) 19, null);
}
public void setSecondUUID(@Nullable UUID value) {
getMetadata().setIndex((byte) 19, Metadata.OptUUID(value));
super.metadata.setIndex((byte) 19, Metadata.OptUUID(value));
}
public enum Type {

View File

@ -6,16 +6,16 @@ import org.jetbrains.annotations.NotNull;
public class HoglinMeta extends AnimalMeta {
public HoglinMeta(@NotNull Entity entity) {
super(entity);
public HoglinMeta(@NotNull Entity entity, @NotNull Metadata metadata) {
super(entity, metadata);
}
public boolean isImmuneToZombification() {
return getMetadata().getIndex((byte) 16, false);
return super.metadata.getIndex((byte) 16, false);
}
public void setImmuneToZombification(boolean value) {
getMetadata().setIndex((byte) 16, Metadata.Boolean(value));
super.metadata.setIndex((byte) 16, Metadata.Boolean(value));
}
}

View File

@ -6,16 +6,16 @@ import org.jetbrains.annotations.NotNull;
public class HorseMeta extends AbstractHorseMeta {
public HorseMeta(@NotNull Entity entity) {
super(entity);
public HorseMeta(@NotNull Entity entity, @NotNull Metadata metadata) {
super(entity, metadata);
}
public Variant getVariant() {
return getVariantFromID(getMetadata().getIndex((byte) 18, 0));
return getVariantFromID(super.metadata.getIndex((byte) 18, 0));
}
public void setVariant(Variant variant) {
getMetadata().setIndex((byte) 18, Metadata.VarInt(getVariantID(variant.marking, variant.color)));
super.metadata.setIndex((byte) 18, Metadata.VarInt(getVariantID(variant.marking, variant.color)));
}
public static int getVariantID(@NotNull Marking marking, @NotNull Color color) {

View File

@ -6,32 +6,32 @@ import org.jetbrains.annotations.NotNull;
public class LlamaMeta extends ChestedHorseMeta {
public LlamaMeta(@NotNull Entity entity) {
super(entity);
public LlamaMeta(@NotNull Entity entity, @NotNull Metadata metadata) {
super(entity, metadata);
}
public int getStrength() {
return getMetadata().getIndex((byte) 19, 0);
return super.metadata.getIndex((byte) 19, 0);
}
public void setStrength(int value) {
getMetadata().setIndex((byte) 19, Metadata.VarInt(value));
super.metadata.setIndex((byte) 19, Metadata.VarInt(value));
}
public int getCarpetColor() {
return getMetadata().getIndex((byte) 20, -1);
return super.metadata.getIndex((byte) 20, -1);
}
public void setCarpetColor(int value) {
getMetadata().setIndex((byte) 20, Metadata.VarInt(value));
super.metadata.setIndex((byte) 20, Metadata.VarInt(value));
}
public Variant getVariant() {
return Variant.VALUES[getMetadata().getIndex((byte) 21, 0)];
return Variant.VALUES[super.metadata.getIndex((byte) 21, 0)];
}
public void setVariant(Variant value) {
getMetadata().setIndex((byte) 21, Metadata.VarInt(value.ordinal()));
super.metadata.setIndex((byte) 21, Metadata.VarInt(value.ordinal()));
}
public enum Variant {

View File

@ -8,17 +8,17 @@ import java.util.Locale;
public class MooshroomMeta extends CowMeta {
public MooshroomMeta(@NotNull Entity entity) {
super(entity);
public MooshroomMeta(@NotNull Entity entity, @NotNull Metadata metadata) {
super(entity, metadata);
}
@NotNull
public Variant getVariant() {
return Variant.valueOf(getMetadata().getIndex((byte) 16, "red").toUpperCase(Locale.ROOT));
return Variant.valueOf(super.metadata.getIndex((byte) 16, "red").toUpperCase(Locale.ROOT));
}
public void setVariant(@NotNull Variant value) {
getMetadata().setIndex((byte) 16, Metadata.String(value.name().toLowerCase(Locale.ROOT)));
super.metadata.setIndex((byte) 16, Metadata.String(value.name().toLowerCase(Locale.ROOT)));
}
public enum Variant {

View File

@ -1,12 +1,13 @@
package net.minestom.server.entity.metadata.animal;
import net.minestom.server.entity.Entity;
import net.minestom.server.entity.Metadata;
import org.jetbrains.annotations.NotNull;
public class MuleMeta extends ChestedHorseMeta {
public MuleMeta(@NotNull Entity entity) {
super(entity);
public MuleMeta(@NotNull Entity entity, @NotNull Metadata metadata) {
super(entity, metadata);
}
}

View File

@ -6,16 +6,16 @@ import org.jetbrains.annotations.NotNull;
public class OcelotMeta extends AnimalMeta {
public OcelotMeta(@NotNull Entity entity) {
super(entity);
public OcelotMeta(@NotNull Entity entity, @NotNull Metadata metadata) {
super(entity, metadata);
}
public boolean isTrusting() {
return getMetadata().getIndex((byte) 16, false);
return super.metadata.getIndex((byte) 16, false);
}
public void setTrusting(boolean value) {
getMetadata().setIndex((byte) 16, Metadata.Boolean(value));
super.metadata.setIndex((byte) 16, Metadata.Boolean(value));
}
}

View File

@ -13,50 +13,50 @@ public class PandaMeta extends AnimalMeta {
private final static byte SITTING_BIT = 0x08;
private final static byte ON_BACK_BIT = 0x10;
public PandaMeta(@NotNull Entity entity) {
super(entity);
public PandaMeta(@NotNull Entity entity, @NotNull Metadata metadata) {
super(entity, metadata);
}
public int getBreedTimer() {
return getMetadata().getIndex((byte) 16, 0);
return super.metadata.getIndex((byte) 16, 0);
}
public void setBreedTimer(int value) {
getMetadata().setIndex((byte) 16, Metadata.VarInt(value));
super.metadata.setIndex((byte) 16, Metadata.VarInt(value));
}
public int getSneezeTimer() {
return getMetadata().getIndex((byte) 17, 0);
return super.metadata.getIndex((byte) 17, 0);
}
public void setSneezeTimer(int value) {
getMetadata().setIndex((byte) 17, Metadata.VarInt(value));
super.metadata.setIndex((byte) 17, Metadata.VarInt(value));
}
public int getEatTimer() {
return getMetadata().getIndex((byte) 18, 0);
return super.metadata.getIndex((byte) 18, 0);
}
public void setEatTimer(int value) {
getMetadata().setIndex((byte) 18, Metadata.VarInt(value));
super.metadata.setIndex((byte) 18, Metadata.VarInt(value));
}
@NotNull
public Gene getMainGene() {
return Gene.VALUES[getMetadata().getIndex((byte) 19, (byte) 0)];
return Gene.VALUES[super.metadata.getIndex((byte) 19, (byte) 0)];
}
public void setMainGene(@NotNull Gene value) {
getMetadata().setIndex((byte) 19, Metadata.Byte((byte) value.ordinal()));
super.metadata.setIndex((byte) 19, Metadata.Byte((byte) value.ordinal()));
}
@NotNull
public Gene getHiddenGene() {
return Gene.VALUES[getMetadata().getIndex((byte) 20, (byte) 0)];
return Gene.VALUES[super.metadata.getIndex((byte) 20, (byte) 0)];
}
public void setHiddenGene(@NotNull Gene value) {
getMetadata().setIndex((byte) 20, Metadata.Byte((byte) value.ordinal()));
super.metadata.setIndex((byte) 20, Metadata.Byte((byte) value.ordinal()));
}
public boolean isSneezing() {

View File

@ -6,24 +6,24 @@ import org.jetbrains.annotations.NotNull;
public class PigMeta extends AnimalMeta {
public PigMeta(@NotNull Entity entity) {
super(entity);
public PigMeta(@NotNull Entity entity, @NotNull Metadata metadata) {
super(entity, metadata);
}
public boolean isHasSaddle() {
return getMetadata().getIndex((byte) 16, false);
return super.metadata.getIndex((byte) 16, false);
}
public void setHasSaddle(boolean value) {
getMetadata().setIndex((byte) 16, Metadata.Boolean(value));
super.metadata.setIndex((byte) 16, Metadata.Boolean(value));
}
public int getTimeToBoost() {
return getMetadata().getIndex((byte) 17, 0);
return super.metadata.getIndex((byte) 17, 0);
}
public void setTimeToBoost(int value) {
getMetadata().getIndex((byte) 17, Metadata.VarInt(value));
super.metadata.getIndex((byte) 17, Metadata.VarInt(value));
}
}

View File

@ -6,16 +6,16 @@ import org.jetbrains.annotations.NotNull;
public class PolarBearMeta extends AnimalMeta {
public PolarBearMeta(@NotNull Entity entity) {
super(entity);
public PolarBearMeta(@NotNull Entity entity, @NotNull Metadata metadata) {
super(entity, metadata);
}
public boolean isStandingUp() {
return getMetadata().getIndex((byte) 16, false);
return super.metadata.getIndex((byte) 16, false);
}
public void setStandingUp(boolean value) {
getMetadata().setIndex((byte) 16, Metadata.Boolean(value));
super.metadata.setIndex((byte) 16, Metadata.Boolean(value));
}
}

View File

@ -6,13 +6,13 @@ import org.jetbrains.annotations.NotNull;
public class RabbitMeta extends AnimalMeta {
public RabbitMeta(@NotNull Entity entity) {
super(entity);
public RabbitMeta(@NotNull Entity entity, @NotNull Metadata metadata) {
super(entity, metadata);
}
@NotNull
public Type getType() {
int id = getMetadata().getIndex((byte) 16, 0);
int id = super.metadata.getIndex((byte) 16, 0);
if (id == 99) {
return Type.KILLER_BUNNY;
}
@ -21,7 +21,7 @@ public class RabbitMeta extends AnimalMeta {
public void setType(@NotNull Type value) {
int id = value == Type.KILLER_BUNNY ? 99 : value.ordinal();
getMetadata().setIndex((byte) 16, Metadata.VarInt(id));
super.metadata.setIndex((byte) 16, Metadata.VarInt(id));
}
public enum Type {

View File

@ -1,6 +1,7 @@
package net.minestom.server.entity.metadata.animal;
import net.minestom.server.entity.Entity;
import net.minestom.server.entity.Metadata;
import org.jetbrains.annotations.NotNull;
public class SheepMeta extends AnimalMeta {
@ -10,8 +11,8 @@ public class SheepMeta extends AnimalMeta {
private final static byte COLOR_BITS = 0x0F;
private final static byte SHEARED_BIT = 0x10;
public SheepMeta(@NotNull Entity entity) {
super(entity);
public SheepMeta(@NotNull Entity entity, @NotNull Metadata metadata) {
super(entity, metadata);
}
public int getColor() {

View File

@ -1,12 +1,13 @@
package net.minestom.server.entity.metadata.animal;
import net.minestom.server.entity.Entity;
import net.minestom.server.entity.Metadata;
import org.jetbrains.annotations.NotNull;
public class SkeletonHorseMeta extends AbstractHorseMeta {
public SkeletonHorseMeta(@NotNull Entity entity) {
super(entity);
public SkeletonHorseMeta(@NotNull Entity entity, @NotNull Metadata metadata) {
super(entity, metadata);
}
}

View File

@ -6,32 +6,32 @@ import org.jetbrains.annotations.NotNull;
public class StriderMeta extends AnimalMeta {
public StriderMeta(@NotNull Entity entity) {
super(entity);
public StriderMeta(@NotNull Entity entity, @NotNull Metadata metadata) {
super(entity, metadata);
}
public int getTimeToBoost() {
return getMetadata().getIndex((byte) 16, 0);
return super.metadata.getIndex((byte) 16, 0);
}
public void setTimeToBoost(int value) {
getMetadata().setIndex((byte) 16, Metadata.VarInt(value));
super.metadata.setIndex((byte) 16, Metadata.VarInt(value));
}
public boolean isShaking() {
return getMetadata().getIndex((byte) 17, false);
return super.metadata.getIndex((byte) 17, false);
}
public void setShaking(boolean value) {
getMetadata().setIndex((byte) 17, Metadata.Boolean(value));
super.metadata.setIndex((byte) 17, Metadata.Boolean(value));
}
public boolean isHasSaddle() {
return getMetadata().getIndex((byte) 18, false);
return super.metadata.getIndex((byte) 18, false);
}
public void setHasSaddle(boolean value) {
getMetadata().setIndex((byte) 18, Metadata.Boolean(value));
super.metadata.setIndex((byte) 18, Metadata.Boolean(value));
}
}

View File

@ -7,58 +7,58 @@ import org.jetbrains.annotations.NotNull;
public class TurtleMeta extends AnimalMeta {
public TurtleMeta(@NotNull Entity entity) {
super(entity);
public TurtleMeta(@NotNull Entity entity, @NotNull Metadata metadata) {
super(entity, metadata);
}
@NotNull
public BlockPosition getHomePosition() {
return getMetadata().getIndex((byte) 16, new BlockPosition(0, 0, 0));
return super.metadata.getIndex((byte) 16, new BlockPosition(0, 0, 0));
}
public void setBlockPosition(@NotNull BlockPosition value) {
getMetadata().setIndex((byte) 16, Metadata.Position(value));
super.metadata.setIndex((byte) 16, Metadata.Position(value));
}
public boolean isHasEgg() {
return getMetadata().getIndex((byte) 17, false);
return super.metadata.getIndex((byte) 17, false);
}
public void setHasEgg(boolean value) {
getMetadata().setIndex((byte) 17, Metadata.Boolean(value));
super.metadata.setIndex((byte) 17, Metadata.Boolean(value));
}
public boolean isLayingEgg() {
return getMetadata().getIndex((byte) 18, false);
return super.metadata.getIndex((byte) 18, false);
}
public void setLayingEgg(boolean value) {
getMetadata().setIndex((byte) 18, Metadata.Boolean(value));
super.metadata.setIndex((byte) 18, Metadata.Boolean(value));
}
@NotNull
public BlockPosition getTravelPosition() {
return getMetadata().getIndex((byte) 19, new BlockPosition(0, 0, 0));
return super.metadata.getIndex((byte) 19, new BlockPosition(0, 0, 0));
}
public void setTravelPosition(@NotNull BlockPosition value) {
getMetadata().setIndex((byte) 19, Metadata.Position(value));
super.metadata.setIndex((byte) 19, Metadata.Position(value));
}
public boolean isGoingHome() {
return getMetadata().getIndex((byte) 20, false);
return super.metadata.getIndex((byte) 20, false);
}
public void setGoingHome(boolean value) {
getMetadata().setIndex((byte) 20, Metadata.Boolean(value));
super.metadata.setIndex((byte) 20, Metadata.Boolean(value));
}
public boolean isTravelling() {
return getMetadata().getIndex((byte) 21, false);
return super.metadata.getIndex((byte) 21, false);
}
public void setTravelling(boolean value) {
getMetadata().setIndex((byte) 21, Metadata.Boolean(value));
super.metadata.setIndex((byte) 21, Metadata.Boolean(value));
}
}

View File

@ -1,12 +1,13 @@
package net.minestom.server.entity.metadata.animal;
import net.minestom.server.entity.Entity;
import net.minestom.server.entity.Metadata;
import org.jetbrains.annotations.NotNull;
public class ZombieHorseMeta extends AbstractHorseMeta {
public ZombieHorseMeta(@NotNull Entity entity) {
super(entity);
public ZombieHorseMeta(@NotNull Entity entity, @NotNull Metadata metadata) {
super(entity, metadata);
}
}

View File

@ -6,41 +6,41 @@ import org.jetbrains.annotations.NotNull;
public class CatMeta extends TameableAnimalMeta {
public CatMeta(@NotNull Entity entity) {
super(entity);
public CatMeta(@NotNull Entity entity, @NotNull Metadata metadata) {
super(entity, metadata);
}
@NotNull
public Color getColor() {
return Color.VALUES[getMetadata().getIndex((byte) 18, 1)];
return Color.VALUES[super.metadata.getIndex((byte) 18, 1)];
}
public void setColor(@NotNull Color value) {
getMetadata().setIndex((byte) 18, Metadata.VarInt(value.ordinal()));
super.metadata.setIndex((byte) 18, Metadata.VarInt(value.ordinal()));
}
public boolean isLying() {
return getMetadata().getIndex((byte) 19, false);
return super.metadata.getIndex((byte) 19, false);
}
public void setLying(boolean value) {
getMetadata().setIndex((byte) 19, Metadata.Boolean(value));
super.metadata.setIndex((byte) 19, Metadata.Boolean(value));
}
public boolean isRelaxed() {
return getMetadata().getIndex((byte) 20, false);
return super.metadata.getIndex((byte) 20, false);
}
public void setRelaxed(boolean value) {
getMetadata().setIndex((byte) 20, Metadata.Boolean(value));
super.metadata.setIndex((byte) 20, Metadata.Boolean(value));
}
public int getCollarColor() {
return getMetadata().getIndex((byte) 21, 14);
return super.metadata.getIndex((byte) 21, 14);
}
public void setCollarColor(int value) {
getMetadata().setIndex((byte) 21, Metadata.VarInt(value));
super.metadata.setIndex((byte) 21, Metadata.VarInt(value));
}
public enum Color {

View File

@ -6,17 +6,17 @@ import org.jetbrains.annotations.NotNull;
public class ParrotMeta extends TameableAnimalMeta {
public ParrotMeta(@NotNull Entity entity) {
super(entity);
public ParrotMeta(@NotNull Entity entity, @NotNull Metadata metadata) {
super(entity, metadata);
}
@NotNull
public Color getColor() {
return Color.VALUES[getMetadata().getIndex((byte) 18, 0)];
return Color.VALUES[super.metadata.getIndex((byte) 18, 0)];
}
public void setColor(@NotNull Color value) {
getMetadata().setIndex((byte) 18, Metadata.VarInt(value.ordinal()));
super.metadata.setIndex((byte) 18, Metadata.VarInt(value.ordinal()));
}
public enum Color {

View File

@ -14,8 +14,8 @@ public class TameableAnimalMeta extends AnimalMeta {
private final static byte SITTING_BIT = 0x01;
private final static byte TAMED_BIT = 0x04;
protected TameableAnimalMeta(@NotNull Entity entity) {
super(entity);
protected TameableAnimalMeta(@NotNull Entity entity, @NotNull Metadata metadata) {
super(entity, metadata);
}
public boolean isSitting() {
@ -36,11 +36,11 @@ public class TameableAnimalMeta extends AnimalMeta {
@NotNull
public UUID getOwner() {
return getMetadata().getIndex((byte) 17, null);
return super.metadata.getIndex((byte) 17, null);
}
public void setOwner(@NotNull UUID value) {
getMetadata().setIndex((byte) 17, Metadata.OptUUID(value));
super.metadata.setIndex((byte) 17, Metadata.OptUUID(value));
}
}

View File

@ -6,32 +6,32 @@ import org.jetbrains.annotations.NotNull;
public class WolfMeta extends TameableAnimalMeta {
public WolfMeta(@NotNull Entity entity) {
super(entity);
public WolfMeta(@NotNull Entity entity, @NotNull Metadata metadata) {
super(entity, metadata);
}
public boolean isBegging() {
return getMetadata().getIndex((byte) 18, false);
return super.metadata.getIndex((byte) 18, false);
}
public void setBegging(boolean value) {
getMetadata().setIndex((byte) 18, Metadata.Boolean(value));
super.metadata.setIndex((byte) 18, Metadata.Boolean(value));
}
public int getCollarColor() {
return getMetadata().getIndex((byte) 19, 14);
return super.metadata.getIndex((byte) 19, 14);
}
public void setCollarColor(int value) {
getMetadata().setIndex((byte) 19, Metadata.VarInt(value));
super.metadata.setIndex((byte) 19, Metadata.VarInt(value));
}
public int getAngerTime() {
return getMetadata().getIndex((byte) 20, 0);
return super.metadata.getIndex((byte) 20, 0);
}
public void setAngerTime(int value) {
getMetadata().setIndex((byte) 20, Metadata.VarInt(value));
super.metadata.setIndex((byte) 20, Metadata.VarInt(value));
}
}

View File

@ -12,8 +12,8 @@ public class AbstractArrowMeta extends BaseEntityMeta {
private final static byte CRITICAL_BIT = 0x01;
private final static byte NO_CLIP_BIT = 0x01;
protected AbstractArrowMeta(@NotNull Entity entity) {
super(entity);
protected AbstractArrowMeta(@NotNull Entity entity, @NotNull Metadata metadata) {
super(entity, metadata);
}
public boolean isCritical() {
@ -33,11 +33,11 @@ public class AbstractArrowMeta extends BaseEntityMeta {
}
public byte getPiercingLevel() {
return getMetadata().getIndex((byte) 8, (byte) 0);
return super.metadata.getIndex((byte) 8, (byte) 0);
}
public void setPiercingLevel(byte value) {
getMetadata().setIndex((byte) 8, Metadata.Byte(value));
super.metadata.setIndex((byte) 8, Metadata.Byte(value));
}
}

View File

@ -7,16 +7,16 @@ import org.jetbrains.annotations.NotNull;
public class ArrowMeta extends BaseEntityMeta {
public ArrowMeta(@NotNull Entity entity) {
super(entity);
public ArrowMeta(@NotNull Entity entity, @NotNull Metadata metadata) {
super(entity, metadata);
}
public int getColor() {
return getMetadata().getIndex((byte) 9, -1);
return super.metadata.getIndex((byte) 9, -1);
}
public void setColor(int value) {
getMetadata().setIndex((byte) 9, Metadata.VarInt(value));
super.metadata.setIndex((byte) 9, Metadata.VarInt(value));
}
}

View File

@ -1,12 +1,13 @@
package net.minestom.server.entity.metadata.arrow;
import net.minestom.server.entity.Entity;
import net.minestom.server.entity.Metadata;
import org.jetbrains.annotations.NotNull;
public class SpectralArrowMeta extends AbstractArrowMeta {
public SpectralArrowMeta(@NotNull Entity entity) {
super(entity);
public SpectralArrowMeta(@NotNull Entity entity, @NotNull Metadata metadata) {
super(entity, metadata);
}
}

View File

@ -6,24 +6,24 @@ import org.jetbrains.annotations.NotNull;
public class ThrownTridentMeta extends AbstractArrowMeta {
public ThrownTridentMeta(@NotNull Entity entity) {
super(entity);
public ThrownTridentMeta(@NotNull Entity entity, @NotNull Metadata metadata) {
super(entity, metadata);
}
public int getLoyaltyLevel() {
return getMetadata().getIndex((byte) 9, 0);
return super.metadata.getIndex((byte) 9, 0);
}
public void setLoyaltyLevel(int value) {
getMetadata().setIndex((byte) 9, Metadata.VarInt(value));
super.metadata.setIndex((byte) 9, Metadata.VarInt(value));
}
public boolean isHasEnchantmentGlint() {
return getMetadata().getIndex((byte) 10, false);
return super.metadata.getIndex((byte) 10, false);
}
public void setHasEnchantmentGlint(boolean value) {
getMetadata().setIndex((byte) 10, Metadata.Boolean(value));
super.metadata.setIndex((byte) 10, Metadata.Boolean(value));
}
}

View File

@ -1,13 +1,14 @@
package net.minestom.server.entity.metadata.flying;
import net.minestom.server.entity.Entity;
import net.minestom.server.entity.Metadata;
import net.minestom.server.entity.metadata.MobMeta;
import org.jetbrains.annotations.NotNull;
public class FlyingMeta extends MobMeta {
protected FlyingMeta(@NotNull Entity entity) {
super(entity);
protected FlyingMeta(@NotNull Entity entity, @NotNull Metadata metadata) {
super(entity, metadata);
}
}

View File

@ -6,16 +6,16 @@ import org.jetbrains.annotations.NotNull;
public class GhastMeta extends FlyingMeta {
public GhastMeta(@NotNull Entity entity) {
super(entity);
public GhastMeta(@NotNull Entity entity, @NotNull Metadata metadata) {
super(entity, metadata);
}
public boolean isAttacking() {
return getMetadata().getIndex((byte) 15, false);
return super.metadata.getIndex((byte) 15, false);
}
public void setAttacking(boolean value) {
getMetadata().setIndex((byte) 15, Metadata.Boolean(value));
super.metadata.setIndex((byte) 15, Metadata.Boolean(value));
}
}

View File

@ -6,16 +6,16 @@ import org.jetbrains.annotations.NotNull;
public class PhantomMeta extends FlyingMeta {
public PhantomMeta(@NotNull Entity entity) {
super(entity);
public PhantomMeta(@NotNull Entity entity, @NotNull Metadata metadata) {
super(entity, metadata);
}
public int getSize() {
return getMetadata().getIndex((byte) 15, 0);
return super.metadata.getIndex((byte) 15, 0);
}
public void setSize(int value) {
getMetadata().setIndex((byte) 15, Metadata.VarInt(value));
super.metadata.setIndex((byte) 15, Metadata.VarInt(value));
}
}

View File

@ -1,13 +1,14 @@
package net.minestom.server.entity.metadata.golem;
import net.minestom.server.entity.Entity;
import net.minestom.server.entity.Metadata;
import net.minestom.server.entity.metadata.PathfinderMobMeta;
import org.jetbrains.annotations.NotNull;
public class AbstractGolemMeta extends PathfinderMobMeta {
protected AbstractGolemMeta(@NotNull Entity entity) {
super(entity);
protected AbstractGolemMeta(@NotNull Entity entity, @NotNull Metadata metadata) {
super(entity, metadata);
}
}

View File

@ -1,6 +1,7 @@
package net.minestom.server.entity.metadata.golem;
import net.minestom.server.entity.Entity;
import net.minestom.server.entity.Metadata;
import org.jetbrains.annotations.NotNull;
public class IronGolemMeta extends AbstractGolemMeta {
@ -9,8 +10,8 @@ public class IronGolemMeta extends AbstractGolemMeta {
private final static byte PLAYER_CREATED_BIT = 0x01;
public IronGolemMeta(@NotNull Entity entity) {
super(entity);
public IronGolemMeta(@NotNull Entity entity, @NotNull Metadata metadata) {
super(entity, metadata);
}
public boolean isPlayerCreated() {

View File

@ -8,40 +8,40 @@ import org.jetbrains.annotations.NotNull;
public class ShulkerMeta extends AbstractGolemMeta {
public ShulkerMeta(@NotNull Entity entity) {
super(entity);
public ShulkerMeta(@NotNull Entity entity, @NotNull Metadata metadata) {
super(entity, metadata);
}
public Direction getAttachFace() {
return getMetadata().getIndex((byte) 15, Direction.DOWN);
return super.metadata.getIndex((byte) 15, Direction.DOWN);
}
public void setAttachFace(Direction value) {
getMetadata().setIndex((byte) 15, Metadata.Direction(value));
super.metadata.setIndex((byte) 15, Metadata.Direction(value));
}
public BlockPosition getAttachmentPosition() {
return getMetadata().getIndex((byte) 16, null);
return super.metadata.getIndex((byte) 16, null);
}
public void setAttachmentPosition(BlockPosition value) {
getMetadata().setIndex((byte) 16, Metadata.OptPosition(value));
super.metadata.setIndex((byte) 16, Metadata.OptPosition(value));
}
public byte getShieldHeight() {
return getMetadata().getIndex((byte) 17, (byte) 0);
return super.metadata.getIndex((byte) 17, (byte) 0);
}
public void setShieldHeight(byte value) {
getMetadata().setIndex((byte) 17, Metadata.Byte(value));
super.metadata.setIndex((byte) 17, Metadata.Byte(value));
}
public byte getColor() {
return getMetadata().getIndex((byte) 18, (byte) 10);
return super.metadata.getIndex((byte) 18, (byte) 10);
}
public void setColor(byte value) {
getMetadata().setIndex((byte) 18, Metadata.Byte(value));
super.metadata.setIndex((byte) 18, Metadata.Byte(value));
}
}

View File

@ -6,16 +6,16 @@ import org.jetbrains.annotations.NotNull;
public class SnowGolemMeta extends AbstractGolemMeta {
public SnowGolemMeta(@NotNull Entity entity) {
super(entity);
public SnowGolemMeta(@NotNull Entity entity, @NotNull Metadata metadata) {
super(entity, metadata);
}
public boolean isHasPumpkinHat() {
return getMetadata().getIndex((byte) 15, (byte) 0x10) == (byte) 0x10;
return super.metadata.getIndex((byte) 15, (byte) 0x10) == (byte) 0x10;
}
public void setHasPumpkinHat(boolean value) {
getMetadata().setIndex((byte) 15, Metadata.Byte(value ? (byte) 0x10 : (byte) 0x00));
super.metadata.setIndex((byte) 15, Metadata.Byte(value ? (byte) 0x10 : (byte) 0x00));
}
}

View File

@ -1,12 +1,13 @@
package net.minestom.server.entity.metadata.minecart;
import net.minestom.server.entity.Entity;
import net.minestom.server.entity.Metadata;
import org.jetbrains.annotations.NotNull;
public class AbstractMinecartContainerMeta extends AbstractMinecartMeta {
protected AbstractMinecartContainerMeta(@NotNull Entity entity) {
super(entity);
protected AbstractMinecartContainerMeta(@NotNull Entity entity, @NotNull Metadata metadata) {
super(entity, metadata);
}
}

View File

@ -7,49 +7,49 @@ import org.jetbrains.annotations.NotNull;
public class AbstractMinecartMeta extends BaseEntityMeta {
protected AbstractMinecartMeta(@NotNull Entity entity) {
super(entity);
protected AbstractMinecartMeta(@NotNull Entity entity, @NotNull Metadata metadata) {
super(entity, metadata);
}
public int getShakingPower() {
return getMetadata().getIndex((byte) 7, 0);
return super.metadata.getIndex((byte) 7, 0);
}
public void setShakingPower(int value) {
getMetadata().setIndex((byte) 7, Metadata.VarInt(value));
super.metadata.setIndex((byte) 7, Metadata.VarInt(value));
}
public int getShakingDirection() {
return getMetadata().getIndex((byte) 8, 1);
return super.metadata.getIndex((byte) 8, 1);
}
public void setShakingDirection(int value) {
getMetadata().setIndex((byte) 8, Metadata.VarInt(value));
super.metadata.setIndex((byte) 8, Metadata.VarInt(value));
}
public float getShakingMultiplier() {
return getMetadata().getIndex((byte) 9, 0F);
return super.metadata.getIndex((byte) 9, 0F);
}
public void setShakingMultiplier(float value) {
getMetadata().setIndex((byte) 9, Metadata.Float(value));
super.metadata.setIndex((byte) 9, Metadata.Float(value));
}
public int getCustomBlockIdAndDamage() {
return getMetadata().getIndex((byte) 10, 0);
return super.metadata.getIndex((byte) 10, 0);
}
public void setCustomBlockIdAndDamage(int value) {
getMetadata().setIndex((byte) 10, Metadata.VarInt(value));
super.metadata.setIndex((byte) 10, Metadata.VarInt(value));
}
// in 16th of a block
public int getCustomBlockYPosition() {
return getMetadata().getIndex((byte) 11, 6);
return super.metadata.getIndex((byte) 11, 6);
}
public void setCustomBlockYPosition(int value) {
getMetadata().setIndex((byte) 11, Metadata.VarInt(value));
super.metadata.setIndex((byte) 11, Metadata.VarInt(value));
}
}

View File

@ -1,12 +1,13 @@
package net.minestom.server.entity.metadata.minecart;
import net.minestom.server.entity.Entity;
import net.minestom.server.entity.Metadata;
import org.jetbrains.annotations.NotNull;
public class ChestMinecartMeta extends AbstractMinecartContainerMeta {
public ChestMinecartMeta(@NotNull Entity entity) {
super(entity);
public ChestMinecartMeta(@NotNull Entity entity, @NotNull Metadata metadata) {
super(entity, metadata);
}
}

View File

@ -8,26 +8,26 @@ import org.jetbrains.annotations.NotNull;
public class CommandBlockMinecartMeta extends AbstractMinecartMeta {
public CommandBlockMinecartMeta(@NotNull Entity entity) {
super(entity);
public CommandBlockMinecartMeta(@NotNull Entity entity, @NotNull Metadata metadata) {
super(entity, metadata);
}
@NotNull
public String getCommand() {
return getMetadata().getIndex((byte) 13, "");
return super.metadata.getIndex((byte) 13, "");
}
public void setCommand(@NotNull String value) {
getMetadata().setIndex((byte) 13, Metadata.String(value));
super.metadata.setIndex((byte) 13, Metadata.String(value));
}
@NotNull
public JsonMessage getLastOutput() {
return getMetadata().getIndex((byte) 14, ColoredText.of(""));
return super.metadata.getIndex((byte) 14, ColoredText.of(""));
}
public void setLastOutput(@NotNull JsonMessage value) {
getMetadata().setIndex((byte) 14, Metadata.Chat(value));
super.metadata.setIndex((byte) 14, Metadata.Chat(value));
}
}

View File

@ -6,16 +6,16 @@ import org.jetbrains.annotations.NotNull;
public class FurnaceMinecartMeta extends AbstractMinecartMeta {
public FurnaceMinecartMeta(@NotNull Entity entity) {
super(entity);
public FurnaceMinecartMeta(@NotNull Entity entity, @NotNull Metadata metadata) {
super(entity, metadata);
}
public boolean isHasFuel() {
return getMetadata().getIndex((byte) 13, false);
return super.metadata.getIndex((byte) 13, false);
}
public void setHasFuel(boolean value) {
getMetadata().setIndex((byte) 13, Metadata.Boolean(value));
super.metadata.setIndex((byte) 13, Metadata.Boolean(value));
}
}

View File

@ -1,12 +1,13 @@
package net.minestom.server.entity.metadata.minecart;
import net.minestom.server.entity.Entity;
import net.minestom.server.entity.Metadata;
import org.jetbrains.annotations.NotNull;
public class HopperMinecartMeta extends AbstractMinecartContainerMeta {
public HopperMinecartMeta(@NotNull Entity entity) {
super(entity);
public HopperMinecartMeta(@NotNull Entity entity, @NotNull Metadata metadata) {
super(entity, metadata);
}
}

View File

@ -1,12 +1,13 @@
package net.minestom.server.entity.metadata.minecart;
import net.minestom.server.entity.Entity;
import net.minestom.server.entity.Metadata;
import org.jetbrains.annotations.NotNull;
public class MinecartMeta extends AbstractMinecartMeta {
public MinecartMeta(@NotNull Entity entity) {
super(entity);
public MinecartMeta(@NotNull Entity entity, @NotNull Metadata metadata) {
super(entity, metadata);
}
}

View File

@ -1,12 +1,13 @@
package net.minestom.server.entity.metadata.minecart;
import net.minestom.server.entity.Entity;
import net.minestom.server.entity.Metadata;
import org.jetbrains.annotations.NotNull;
public class SpawnerMinecartMeta extends AbstractMinecartMeta {
public SpawnerMinecartMeta(@NotNull Entity entity) {
super(entity);
public SpawnerMinecartMeta(@NotNull Entity entity, @NotNull Metadata metadata) {
super(entity, metadata);
}
}

View File

@ -1,12 +1,13 @@
package net.minestom.server.entity.metadata.minecart;
import net.minestom.server.entity.Entity;
import net.minestom.server.entity.Metadata;
import org.jetbrains.annotations.NotNull;
public class TntMinecartMeta extends AbstractMinecartMeta {
public TntMinecartMeta(@NotNull Entity entity) {
super(entity);
public TntMinecartMeta(@NotNull Entity entity, @NotNull Metadata metadata) {
super(entity, metadata);
}
}

View File

@ -6,16 +6,16 @@ import org.jetbrains.annotations.NotNull;
public class BasePiglinMeta extends MonsterMeta {
protected BasePiglinMeta(@NotNull Entity entity) {
super(entity);
protected BasePiglinMeta(@NotNull Entity entity, @NotNull Metadata metadata) {
super(entity, metadata);
}
public boolean isImmuneToZombification() {
return getMetadata().getIndex((byte) 15, false);
return super.metadata.getIndex((byte) 15, false);
}
public void setImmuneToZombification(boolean value) {
getMetadata().setIndex((byte) 15, Metadata.Boolean(value));
super.metadata.setIndex((byte) 15, Metadata.Boolean(value));
}
}

View File

@ -1,6 +1,7 @@
package net.minestom.server.entity.metadata.monster;
import net.minestom.server.entity.Entity;
import net.minestom.server.entity.Metadata;
import org.jetbrains.annotations.NotNull;
public class BlazeMeta extends MonsterMeta {
@ -9,8 +10,8 @@ public class BlazeMeta extends MonsterMeta {
private final static byte ON_FIRE_BIT = 0x01;
public BlazeMeta(@NotNull Entity entity) {
super(entity);
public BlazeMeta(@NotNull Entity entity, @NotNull Metadata metadata) {
super(entity, metadata);
}
public boolean isOnFire() {

View File

@ -1,12 +1,13 @@
package net.minestom.server.entity.metadata.monster;
import net.minestom.server.entity.Entity;
import net.minestom.server.entity.Metadata;
import org.jetbrains.annotations.NotNull;
public class CaveSpiderMeta extends SpiderMeta {
public CaveSpiderMeta(@NotNull Entity entity) {
super(entity);
public CaveSpiderMeta(@NotNull Entity entity, @NotNull Metadata metadata) {
super(entity, metadata);
}
}

View File

@ -6,34 +6,34 @@ import org.jetbrains.annotations.NotNull;
public class CreeperMeta extends MonsterMeta {
public CreeperMeta(@NotNull Entity entity) {
super(entity);
public CreeperMeta(@NotNull Entity entity, @NotNull Metadata metadata) {
super(entity, metadata);
}
@NotNull
public State getState() {
int id = getMetadata().getIndex((byte) 15, -1);
int id = super.metadata.getIndex((byte) 15, -1);
return id == -1 ? State.IDLE : State.FUSE;
}
public void setState(@NotNull State value) {
getMetadata().setIndex((byte) 15, Metadata.VarInt(value == State.IDLE ? -1 : 1));
super.metadata.setIndex((byte) 15, Metadata.VarInt(value == State.IDLE ? -1 : 1));
}
public boolean isCharged() {
return getMetadata().getIndex((byte) 16, false);
return super.metadata.getIndex((byte) 16, false);
}
public void setCharged(boolean value) {
getMetadata().setIndex((byte) 16, Metadata.Boolean(value));
super.metadata.setIndex((byte) 16, Metadata.Boolean(value));
}
public boolean isIgnited() {
return getMetadata().getIndex((byte) 17, false);
return super.metadata.getIndex((byte) 17, false);
}
public void setIgnited(boolean value) {
getMetadata().setIndex((byte) 17, Metadata.Boolean(value));
super.metadata.setIndex((byte) 17, Metadata.Boolean(value));
}
public enum State {

View File

@ -1,12 +1,13 @@
package net.minestom.server.entity.metadata.monster;
import net.minestom.server.entity.Entity;
import net.minestom.server.entity.Metadata;
import org.jetbrains.annotations.NotNull;
public class ElderGuardianMeta extends GuardianMeta {
public ElderGuardianMeta(@NotNull Entity entity) {
super(entity);
public ElderGuardianMeta(@NotNull Entity entity, @NotNull Metadata metadata) {
super(entity, metadata);
}
}

View File

@ -7,32 +7,32 @@ import org.jetbrains.annotations.Nullable;
public class EndermanMeta extends MonsterMeta {
public EndermanMeta(@NotNull Entity entity) {
super(entity);
public EndermanMeta(@NotNull Entity entity, @NotNull Metadata metadata) {
super(entity, metadata);
}
public Integer getCarriedBlockID() {
return getMetadata().getIndex((byte) 15, null);
return super.metadata.getIndex((byte) 15, null);
}
public void setCarriedBlockID(@Nullable Integer value) {
getMetadata().setIndex((byte) 15, Metadata.OptBlockID(value));
super.metadata.setIndex((byte) 15, Metadata.OptBlockID(value));
}
public boolean isScreaming() {
return getMetadata().getIndex((byte) 16, false);
return super.metadata.getIndex((byte) 16, false);
}
public void setScreaming(boolean value) {
getMetadata().setIndex((byte) 16, Metadata.Boolean(value));
super.metadata.setIndex((byte) 16, Metadata.Boolean(value));
}
public boolean isStaring() {
return getMetadata().getIndex((byte) 17, false);
return super.metadata.getIndex((byte) 17, false);
}
public void setStaring(boolean value) {
getMetadata().setIndex((byte) 17, Metadata.Boolean(value));
super.metadata.setIndex((byte) 17, Metadata.Boolean(value));
}
}

View File

@ -1,12 +1,13 @@
package net.minestom.server.entity.metadata.monster;
import net.minestom.server.entity.Entity;
import net.minestom.server.entity.Metadata;
import org.jetbrains.annotations.NotNull;
public class EndermiteMeta extends MonsterMeta {
public EndermiteMeta(@NotNull Entity entity) {
super(entity);
public EndermiteMeta(@NotNull Entity entity, @NotNull Metadata metadata) {
super(entity, metadata);
}
}

View File

@ -1,12 +1,13 @@
package net.minestom.server.entity.metadata.monster;
import net.minestom.server.entity.Entity;
import net.minestom.server.entity.Metadata;
import org.jetbrains.annotations.NotNull;
public class GiantMeta extends MonsterMeta {
public GiantMeta(@NotNull Entity entity) {
super(entity);
public GiantMeta(@NotNull Entity entity, @NotNull Metadata metadata) {
super(entity, metadata);
}
}

View File

@ -8,16 +8,16 @@ public class GuardianMeta extends MonsterMeta {
private Entity target;
public GuardianMeta(@NotNull Entity entity) {
super(entity);
public GuardianMeta(@NotNull Entity entity, @NotNull Metadata metadata) {
super(entity, metadata);
}
public boolean isRetractingSpikes() {
return getMetadata().getIndex((byte) 15, false);
return super.metadata.getIndex((byte) 15, false);
}
public void setRetractingSpikes(boolean retractingSpikes) {
getMetadata().setIndex((byte) 15, Metadata.Boolean(retractingSpikes));
super.metadata.setIndex((byte) 15, Metadata.Boolean(retractingSpikes));
}
public Entity getTarget() {
@ -26,7 +26,7 @@ public class GuardianMeta extends MonsterMeta {
public void setTarget(@NotNull Entity target) {
this.target = target;
getMetadata().setIndex((byte) 16, Metadata.VarInt(target.getEntityId()));
super.metadata.setIndex((byte) 16, Metadata.VarInt(target.getEntityId()));
}
}

View File

@ -1,13 +1,14 @@
package net.minestom.server.entity.metadata.monster;
import net.minestom.server.entity.Entity;
import net.minestom.server.entity.Metadata;
import net.minestom.server.entity.metadata.PathfinderMobMeta;
import org.jetbrains.annotations.NotNull;
public class MonsterMeta extends PathfinderMobMeta {
protected MonsterMeta(@NotNull Entity entity) {
super(entity);
protected MonsterMeta(@NotNull Entity entity, @NotNull Metadata metadata) {
super(entity, metadata);
}
}

View File

@ -1,12 +1,13 @@
package net.minestom.server.entity.metadata.monster;
import net.minestom.server.entity.Entity;
import net.minestom.server.entity.Metadata;
import org.jetbrains.annotations.NotNull;
public class PiglinBruteMeta extends BasePiglinMeta {
public PiglinBruteMeta(@NotNull Entity entity) {
super(entity);
public PiglinBruteMeta(@NotNull Entity entity, @NotNull Metadata metadata) {
super(entity, metadata);
}
}

View File

@ -7,12 +7,12 @@ import org.jetbrains.annotations.NotNull;
public class PiglinMeta extends BasePiglinMeta {
public PiglinMeta(@NotNull Entity entity) {
super(entity);
public PiglinMeta(@NotNull Entity entity, @NotNull Metadata metadata) {
super(entity, metadata);
}
public boolean isBaby() {
return getMetadata().getIndex((byte) 16, false);
return super.metadata.getIndex((byte) 16, false);
}
public void setBaby(boolean value) {
@ -25,23 +25,23 @@ public class PiglinMeta extends BasePiglinMeta {
} else {
setBoundingBox(bb.getWidth() * 2, bb.getHeight() * 2);
}
getMetadata().setIndex((byte) 16, Metadata.Boolean(value));
super.metadata.setIndex((byte) 16, Metadata.Boolean(value));
}
public boolean isChargingCrossbow() {
return getMetadata().getIndex((byte) 17, false);
return super.metadata.getIndex((byte) 17, false);
}
public void setChargingCrossbow(boolean value) {
getMetadata().setIndex((byte) 17, Metadata.Boolean(value));
super.metadata.setIndex((byte) 17, Metadata.Boolean(value));
}
public boolean isDancing() {
return getMetadata().getIndex((byte) 18, false);
return super.metadata.getIndex((byte) 18, false);
}
public void setDancing(boolean value) {
getMetadata().setIndex((byte) 18, Metadata.Boolean(value));
super.metadata.setIndex((byte) 18, Metadata.Boolean(value));
}
}

View File

@ -1,12 +1,13 @@
package net.minestom.server.entity.metadata.monster;
import net.minestom.server.entity.Entity;
import net.minestom.server.entity.Metadata;
import org.jetbrains.annotations.NotNull;
public class SilverfishMeta extends MonsterMeta {
public SilverfishMeta(@NotNull Entity entity) {
super(entity);
public SilverfishMeta(@NotNull Entity entity, @NotNull Metadata metadata) {
super(entity, metadata);
}
}

View File

@ -1,6 +1,7 @@
package net.minestom.server.entity.metadata.monster;
import net.minestom.server.entity.Entity;
import net.minestom.server.entity.Metadata;
import org.jetbrains.annotations.NotNull;
public class SpiderMeta extends MonsterMeta {
@ -9,8 +10,8 @@ public class SpiderMeta extends MonsterMeta {
private final static byte CLIMBING_BIT = 0x01;
public SpiderMeta(@NotNull Entity entity) {
super(entity);
public SpiderMeta(@NotNull Entity entity, @NotNull Metadata metadata) {
super(entity, metadata);
}
public boolean isClimbing() {

View File

@ -1,6 +1,7 @@
package net.minestom.server.entity.metadata.monster;
import net.minestom.server.entity.Entity;
import net.minestom.server.entity.Metadata;
import org.jetbrains.annotations.NotNull;
public class VexMeta extends MonsterMeta {
@ -9,8 +10,8 @@ public class VexMeta extends MonsterMeta {
private final static byte ATTACKING_BIT = 0x01;
public VexMeta(@NotNull Entity entity) {
super(entity);
public VexMeta(@NotNull Entity entity, @NotNull Metadata metadata) {
super(entity, metadata);
}
public boolean isAttacking() {

View File

@ -11,8 +11,8 @@ public class WitherMeta extends MonsterMeta {
private Entity leftHead;
private Entity rightHead;
public WitherMeta(@NotNull Entity entity) {
super(entity);
public WitherMeta(@NotNull Entity entity, @NotNull Metadata metadata) {
super(entity, metadata);
}
@Nullable
@ -22,7 +22,7 @@ public class WitherMeta extends MonsterMeta {
public void setCenterHead(@Nullable Entity value) {
this.centerHead = value;
getMetadata().setIndex((byte) 15, Metadata.VarInt(value == null ? 0 : value.getEntityId()));
super.metadata.setIndex((byte) 15, Metadata.VarInt(value == null ? 0 : value.getEntityId()));
}
@Nullable
@ -32,7 +32,7 @@ public class WitherMeta extends MonsterMeta {
public void setLeftHead(@Nullable Entity value) {
this.leftHead = value;
getMetadata().setIndex((byte) 16, Metadata.VarInt(value == null ? 0 : value.getEntityId()));
super.metadata.setIndex((byte) 16, Metadata.VarInt(value == null ? 0 : value.getEntityId()));
}
@Nullable
@ -42,15 +42,15 @@ public class WitherMeta extends MonsterMeta {
public void setRightHead(@Nullable Entity value) {
this.rightHead = value;
getMetadata().setIndex((byte) 17, Metadata.VarInt(value == null ? 0 : value.getEntityId()));
super.metadata.setIndex((byte) 17, Metadata.VarInt(value == null ? 0 : value.getEntityId()));
}
public int getInvulnerableTime() {
return getMetadata().getIndex((byte) 18, 0);
return super.metadata.getIndex((byte) 18, 0);
}
public void setInvulnerableTime(int value) {
getMetadata().setIndex((byte) 18, Metadata.VarInt(value));
super.metadata.setIndex((byte) 18, Metadata.VarInt(value));
}
}

View File

@ -7,12 +7,12 @@ import org.jetbrains.annotations.NotNull;
public class ZoglinMeta extends MonsterMeta {
public ZoglinMeta(@NotNull Entity entity) {
super(entity);
public ZoglinMeta(@NotNull Entity entity, @NotNull Metadata metadata) {
super(entity, metadata);
}
public boolean isBaby() {
return getMetadata().getIndex((byte) 15, false);
return super.metadata.getIndex((byte) 15, false);
}
public void setBaby(boolean value) {
@ -25,7 +25,7 @@ public class ZoglinMeta extends MonsterMeta {
} else {
setBoundingBox(bb.getWidth() * 2, bb.getHeight() * 2);
}
getMetadata().setIndex((byte) 15, Metadata.Boolean(value));
super.metadata.setIndex((byte) 15, Metadata.Boolean(value));
}
}

View File

@ -1,12 +1,13 @@
package net.minestom.server.entity.metadata.monster.raider;
import net.minestom.server.entity.Entity;
import net.minestom.server.entity.Metadata;
import org.jetbrains.annotations.NotNull;
public class AbstractIllagerMeta extends RaiderMeta {
protected AbstractIllagerMeta(@NotNull Entity entity) {
super(entity);
protected AbstractIllagerMeta(@NotNull Entity entity, @NotNull Metadata metadata) {
super(entity, metadata);
}
}

View File

@ -1,12 +1,13 @@
package net.minestom.server.entity.metadata.monster.raider;
import net.minestom.server.entity.Entity;
import net.minestom.server.entity.Metadata;
import org.jetbrains.annotations.NotNull;
public class EvokerMeta extends SpellcasterIllagerMeta {
public EvokerMeta(@NotNull Entity entity) {
super(entity);
public EvokerMeta(@NotNull Entity entity, @NotNull Metadata metadata) {
super(entity, metadata);
}
}

View File

@ -1,12 +1,13 @@
package net.minestom.server.entity.metadata.monster.raider;
import net.minestom.server.entity.Entity;
import net.minestom.server.entity.Metadata;
import org.jetbrains.annotations.NotNull;
public class IllusionerMeta extends SpellcasterIllagerMeta {
public IllusionerMeta(@NotNull Entity entity) {
super(entity);
public IllusionerMeta(@NotNull Entity entity, @NotNull Metadata metadata) {
super(entity, metadata);
}
}

View File

@ -1,12 +1,13 @@
package net.minestom.server.entity.metadata.monster.raider;
import net.minestom.server.entity.Entity;
import net.minestom.server.entity.Metadata;
import org.jetbrains.annotations.NotNull;
public class PillagerMeta extends AbstractIllagerMeta {
public PillagerMeta(@NotNull Entity entity) {
super(entity);
public PillagerMeta(@NotNull Entity entity, @NotNull Metadata metadata) {
super(entity, metadata);
}
}

View File

@ -7,16 +7,16 @@ import org.jetbrains.annotations.NotNull;
public class RaiderMeta extends MonsterMeta {
protected RaiderMeta(@NotNull Entity entity) {
super(entity);
protected RaiderMeta(@NotNull Entity entity, @NotNull Metadata metadata) {
super(entity, metadata);
}
public boolean isCelebrating() {
return getMetadata().getIndex((byte) 15, false);
return super.metadata.getIndex((byte) 15, false);
}
public void setCelebrating(boolean value) {
getMetadata().setIndex((byte) 15, Metadata.Boolean(value));
super.metadata.setIndex((byte) 15, Metadata.Boolean(value));
}
}

View File

@ -1,12 +1,13 @@
package net.minestom.server.entity.metadata.monster.raider;
import net.minestom.server.entity.Entity;
import net.minestom.server.entity.Metadata;
import org.jetbrains.annotations.NotNull;
public class RavagerMeta extends RaiderMeta {
public RavagerMeta(@NotNull Entity entity) {
super(entity);
public RavagerMeta(@NotNull Entity entity, @NotNull Metadata metadata) {
super(entity, metadata);
}
}

View File

@ -6,17 +6,17 @@ import org.jetbrains.annotations.NotNull;
public class SpellcasterIllagerMeta extends AbstractIllagerMeta {
protected SpellcasterIllagerMeta(@NotNull Entity entity) {
super(entity);
protected SpellcasterIllagerMeta(@NotNull Entity entity, @NotNull Metadata metadata) {
super(entity, metadata);
}
@NotNull
public Spell getSpell() {
return Spell.VALUES[getMetadata().getIndex((byte) 16, (byte) 0)];
return Spell.VALUES[super.metadata.getIndex((byte) 16, (byte) 0)];
}
public void setSpell(@NotNull Spell spell) {
getMetadata().setIndex((byte) 16, Metadata.Byte((byte) spell.ordinal()));
super.metadata.setIndex((byte) 16, Metadata.Byte((byte) spell.ordinal()));
}
public enum Spell {

View File

@ -1,12 +1,13 @@
package net.minestom.server.entity.metadata.monster.raider;
import net.minestom.server.entity.Entity;
import net.minestom.server.entity.Metadata;
import org.jetbrains.annotations.NotNull;
public class VindicatorMeta extends AbstractIllagerMeta {
public VindicatorMeta(@NotNull Entity entity) {
super(entity);
public VindicatorMeta(@NotNull Entity entity, @NotNull Metadata metadata) {
super(entity, metadata);
}
}

View File

@ -6,16 +6,16 @@ import org.jetbrains.annotations.NotNull;
public class WitchMeta extends RaiderMeta {
public WitchMeta(@NotNull Entity entity) {
super(entity);
public WitchMeta(@NotNull Entity entity, @NotNull Metadata metadata) {
super(entity, metadata);
}
public boolean isDrinkingPotion() {
return getMetadata().getIndex((byte) 16, false);
return super.metadata.getIndex((byte) 16, false);
}
public void setDrinkingPotion(boolean value) {
getMetadata().setIndex((byte) 16, Metadata.Boolean(value));
super.metadata.setIndex((byte) 16, Metadata.Boolean(value));
}
}

View File

@ -1,13 +1,14 @@
package net.minestom.server.entity.metadata.monster.skeleton;
import net.minestom.server.entity.Entity;
import net.minestom.server.entity.Metadata;
import net.minestom.server.entity.metadata.monster.MonsterMeta;
import org.jetbrains.annotations.NotNull;
public class AbstractSkeletonMeta extends MonsterMeta {
protected AbstractSkeletonMeta(@NotNull Entity entity) {
super(entity);
protected AbstractSkeletonMeta(@NotNull Entity entity, @NotNull Metadata metadata) {
super(entity, metadata);
}
}

View File

@ -1,12 +1,13 @@
package net.minestom.server.entity.metadata.monster.skeleton;
import net.minestom.server.entity.Entity;
import net.minestom.server.entity.Metadata;
import org.jetbrains.annotations.NotNull;
public class SkeletonMeta extends AbstractSkeletonMeta {
public SkeletonMeta(@NotNull Entity entity) {
super(entity);
public SkeletonMeta(@NotNull Entity entity, @NotNull Metadata metadata) {
super(entity, metadata);
}
}

View File

@ -1,12 +1,13 @@
package net.minestom.server.entity.metadata.monster.skeleton;
import net.minestom.server.entity.Entity;
import net.minestom.server.entity.Metadata;
import org.jetbrains.annotations.NotNull;
public class StrayMeta extends AbstractSkeletonMeta {
public StrayMeta(@NotNull Entity entity) {
super(entity);
public StrayMeta(@NotNull Entity entity, @NotNull Metadata metadata) {
super(entity, metadata);
}
}

View File

@ -1,12 +1,13 @@
package net.minestom.server.entity.metadata.monster.skeleton;
import net.minestom.server.entity.Entity;
import net.minestom.server.entity.Metadata;
import org.jetbrains.annotations.NotNull;
public class WitherSkeletonMeta extends AbstractSkeletonMeta {
public WitherSkeletonMeta(@NotNull Entity entity) {
super(entity);
public WitherSkeletonMeta(@NotNull Entity entity, @NotNull Metadata metadata) {
super(entity, metadata);
}
}

View File

@ -1,12 +1,13 @@
package net.minestom.server.entity.metadata.monster.zombie;
import net.minestom.server.entity.Entity;
import net.minestom.server.entity.Metadata;
import org.jetbrains.annotations.NotNull;
public class DrownedMeta extends ZombieMeta {
public DrownedMeta(@NotNull Entity entity) {
super(entity);
public DrownedMeta(@NotNull Entity entity, @NotNull Metadata metadata) {
super(entity, metadata);
}
}

View File

@ -1,12 +1,13 @@
package net.minestom.server.entity.metadata.monster.zombie;
import net.minestom.server.entity.Entity;
import net.minestom.server.entity.Metadata;
import org.jetbrains.annotations.NotNull;
public class HuskMeta extends ZombieMeta {
public HuskMeta(@NotNull Entity entity) {
super(entity);
public HuskMeta(@NotNull Entity entity, @NotNull Metadata metadata) {
super(entity, metadata);
}
}

View File

@ -8,12 +8,12 @@ import org.jetbrains.annotations.NotNull;
public class ZombieMeta extends MonsterMeta {
public ZombieMeta(@NotNull Entity entity) {
super(entity);
public ZombieMeta(@NotNull Entity entity, @NotNull Metadata metadata) {
super(entity, metadata);
}
public boolean isBaby() {
return getMetadata().getIndex((byte) 15, false);
return super.metadata.getIndex((byte) 15, false);
}
public void setBaby(boolean value) {
@ -26,15 +26,15 @@ public class ZombieMeta extends MonsterMeta {
} else {
setBoundingBox(bb.getWidth() * 2, bb.getHeight() * 2);
}
getMetadata().setIndex((byte) 15, Metadata.Boolean(value));
super.metadata.setIndex((byte) 15, Metadata.Boolean(value));
}
public boolean isBecomingDrowned() {
return getMetadata().getIndex((byte) 17, false);
return super.metadata.getIndex((byte) 17, false);
}
public void setBecomingDrowned(boolean value) {
getMetadata().setIndex((byte) 17, Metadata.Boolean(value));
super.metadata.setIndex((byte) 17, Metadata.Boolean(value));
}
}

View File

@ -7,20 +7,20 @@ import org.jetbrains.annotations.NotNull;
public class ZombieVillagerMeta extends ZombieMeta {
public ZombieVillagerMeta(@NotNull Entity entity) {
super(entity);
public ZombieVillagerMeta(@NotNull Entity entity, @NotNull Metadata metadata) {
super(entity, metadata);
}
public boolean isConverting() {
return getMetadata().getIndex((byte) 18, false);
return super.metadata.getIndex((byte) 18, false);
}
public void setConverting(boolean value) {
getMetadata().setIndex((byte) 18, Metadata.Boolean(value));
super.metadata.setIndex((byte) 18, Metadata.Boolean(value));
}
public VillagerMeta.VillagerData getVillagerData() {
int[] data = getMetadata().getIndex((byte) 17, null);
int[] data = super.metadata.getIndex((byte) 17, null);
if (data == null) {
return new VillagerMeta.VillagerData(VillagerMeta.Type.PLAINS, VillagerMeta.Profession.NONE, VillagerMeta.Level.NOVICE);
}
@ -28,7 +28,7 @@ public class ZombieVillagerMeta extends ZombieMeta {
}
public void setVillagerData(VillagerMeta.VillagerData data) {
getMetadata().setIndex((byte) 17, Metadata.VillagerData(
super.metadata.setIndex((byte) 17, Metadata.VillagerData(
data.getType().ordinal(),
data.getProfession().ordinal(),
data.getLevel().ordinal() + 1

View File

@ -1,12 +1,13 @@
package net.minestom.server.entity.metadata.monster.zombie;
import net.minestom.server.entity.Entity;
import net.minestom.server.entity.Metadata;
import org.jetbrains.annotations.NotNull;
public class ZombifiedPiglinMeta extends ZombieMeta {
public ZombifiedPiglinMeta(@NotNull Entity entity) {
super(entity);
public ZombifiedPiglinMeta(@NotNull Entity entity, @NotNull Metadata metadata) {
super(entity, metadata);
}
}

View File

@ -1,13 +1,14 @@
package net.minestom.server.entity.metadata.object;
import net.minestom.server.entity.Entity;
import net.minestom.server.entity.Metadata;
import net.minestom.server.item.Material;
import org.jetbrains.annotations.NotNull;
public class EyeOfEnderMeta extends ObjectEntityMeta {
public EyeOfEnderMeta(@NotNull Entity entity) {
super(entity, Material.ENDER_EYE);
public EyeOfEnderMeta(@NotNull Entity entity, @NotNull Metadata metadata) {
super(entity, metadata, Material.ENDER_EYE);
}
}

View File

@ -1,13 +1,14 @@
package net.minestom.server.entity.metadata.object;
import net.minestom.server.entity.Entity;
import net.minestom.server.entity.Metadata;
import net.minestom.server.item.Material;
import org.jetbrains.annotations.NotNull;
public class FireballMeta extends ObjectEntityMeta {
public FireballMeta(@NotNull Entity entity) {
super(entity, Material.AIR);
public FireballMeta(@NotNull Entity entity, @NotNull Metadata metadata) {
super(entity, metadata, Material.AIR);
}
}

View File

@ -1,13 +1,14 @@
package net.minestom.server.entity.metadata.object;
import net.minestom.server.entity.Entity;
import net.minestom.server.entity.Metadata;
import net.minestom.server.item.Material;
import org.jetbrains.annotations.NotNull;
public class ItemEntityMeta extends ObjectEntityMeta {
public ItemEntityMeta(@NotNull Entity entity) {
super(entity, Material.AIR);
public ItemEntityMeta(@NotNull Entity entity, @NotNull Metadata metadata) {
super(entity, metadata, Material.AIR);
}
}

View File

@ -11,18 +11,18 @@ public class ObjectEntityMeta extends BaseEntityMeta {
private final ItemStack defaultItem;
protected ObjectEntityMeta(@NotNull Entity entity, @NotNull Material defaultItemMaterial) {
super(entity);
protected ObjectEntityMeta(@NotNull Entity entity, @NotNull Metadata metadata, @NotNull Material defaultItemMaterial) {
super(entity, metadata);
this.defaultItem = new ItemStack(defaultItemMaterial, (byte) 1);
}
@NotNull
public ItemStack getItem() {
return getMetadata().getIndex((byte) 7, this.defaultItem);
return super.metadata.getIndex((byte) 7, this.defaultItem);
}
public void setItem(@NotNull ItemStack item) {
getMetadata().setIndex((byte) 7, Metadata.Slot(item));
super.metadata.setIndex((byte) 7, Metadata.Slot(item));
}
}

View File

@ -1,13 +1,14 @@
package net.minestom.server.entity.metadata.object;
import net.minestom.server.entity.Entity;
import net.minestom.server.entity.Metadata;
import net.minestom.server.item.Material;
import org.jetbrains.annotations.NotNull;
public class SmallFireballMeta extends ObjectEntityMeta {
public SmallFireballMeta(@NotNull Entity entity) {
super(entity, Material.FIRE_CHARGE);
public SmallFireballMeta(@NotNull Entity entity, @NotNull Metadata metadata) {
super(entity, metadata, Material.FIRE_CHARGE);
}
}

View File

@ -1,13 +1,14 @@
package net.minestom.server.entity.metadata.object;
import net.minestom.server.entity.Entity;
import net.minestom.server.entity.Metadata;
import net.minestom.server.item.Material;
import org.jetbrains.annotations.NotNull;
public class SnowballMeta extends ObjectEntityMeta {
public SnowballMeta(@NotNull Entity entity) {
super(entity, Material.SNOWBALL);
public SnowballMeta(@NotNull Entity entity, @NotNull Metadata metadata) {
super(entity, metadata, Material.SNOWBALL);
}
}

Some files were not shown because too many files have changed in this diff Show More