diff --git a/api/src/main/java/me/tofaa/entitylib/meta/MetaConverterRegistry.java b/api/src/main/java/me/tofaa/entitylib/meta/MetaConverterRegistry.java index 4211164..3cd0872 100644 --- a/api/src/main/java/me/tofaa/entitylib/meta/MetaConverterRegistry.java +++ b/api/src/main/java/me/tofaa/entitylib/meta/MetaConverterRegistry.java @@ -61,6 +61,7 @@ final class MetaConverterRegistry { put(BOGGED, LivingEntityMeta.class, LivingEntityMeta::new); // TODO: Implement put(BREEZE, LivingEntityMeta.class, LivingEntityMeta::new); // TODO: Implement put(BREEZE_WIND_CHARGE, SmallFireballMeta.class, SmallFireballMeta::new); // TODO: Verify correctness + put(CAMEL, CamelMeta.class, CamelMeta::new); // TODO: Verify correctness put(CAT, CatMeta.class, CatMeta::new); put(CAVE_SPIDER, CaveSpiderMeta.class, CaveSpiderMeta::new); put(CHEST_MINECART, ChestMinecartMeta.class, ChestMinecartMeta::new); diff --git a/api/src/main/java/me/tofaa/entitylib/meta/mobs/horse/CamelMeta.java b/api/src/main/java/me/tofaa/entitylib/meta/mobs/horse/CamelMeta.java new file mode 100644 index 0000000..39baf2e --- /dev/null +++ b/api/src/main/java/me/tofaa/entitylib/meta/mobs/horse/CamelMeta.java @@ -0,0 +1,30 @@ +package me.tofaa.entitylib.meta.mobs.horse; + +import com.github.retrooper.packetevents.protocol.entity.data.EntityDataTypes; +import me.tofaa.entitylib.meta.Metadata; + +public class CamelMeta extends BaseHorseMeta { + + public static final byte OFFSET = BaseHorseMeta.MAX_OFFSET; + public static final byte MAX_OFFSET = OFFSET + 2; + + public CamelMeta(int entityId, Metadata metadata) { + super(entityId, metadata); + } + + public boolean isDashing() { + return super.metadata.getIndex(OFFSET, false); + } + + public void setDashing(boolean value) { + super.metadata.setIndex(OFFSET, EntityDataTypes.BOOLEAN, value); + } + + public long getLastPoseChangeTick() { + return super.metadata.getIndex(OFFSET, 0L); + } + + public void setLastPoseChangeTick(long value) { + super.metadata.setIndex(OFFSET, EntityDataTypes.LONG, value); + } +}