From 427bb61ef50aeec8ded863a2bbc46893a0cd36c8 Mon Sep 17 00:00:00 2001 From: Oak Date: Fri, 14 Jun 2024 12:18:16 +0100 Subject: [PATCH] Added ArmadilloMeta --- .../entitylib/meta/MetaConverterRegistry.java | 2 +- .../meta/mobs/passive/ArmadilloMeta.java | 24 +++++++++++++++++++ 2 files changed, 25 insertions(+), 1 deletion(-) create mode 100644 api/src/main/java/me/tofaa/entitylib/meta/mobs/passive/ArmadilloMeta.java 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 808f11b..4211164 100644 --- a/api/src/main/java/me/tofaa/entitylib/meta/MetaConverterRegistry.java +++ b/api/src/main/java/me/tofaa/entitylib/meta/MetaConverterRegistry.java @@ -48,7 +48,7 @@ final class MetaConverterRegistry { MetaConverterRegistry() { put(ABSTRACT_WIND_CHARGE, SmallFireballMeta.class, SmallFireballMeta::new); // TODO: Verify correctness put(AREA_EFFECT_CLOUD, AreaEffectCloudMeta.class, AreaEffectCloudMeta::new); - put(ARMADILLO, LivingEntityMeta.class, LivingEntityMeta::new); // TODO: Implement + put(ARMADILLO, ArmadilloMeta.class, ArmadilloMeta::new); // TODO: Verify correctness put(ARMOR_STAND, ArmorStandMeta.class, ArmorStandMeta::new); put(ALLAY, LivingEntityMeta.class, LivingEntityMeta::new); // TODO: Implement put(ARROW, ArrowMeta.class, ArrowMeta::new); diff --git a/api/src/main/java/me/tofaa/entitylib/meta/mobs/passive/ArmadilloMeta.java b/api/src/main/java/me/tofaa/entitylib/meta/mobs/passive/ArmadilloMeta.java new file mode 100644 index 0000000..f135e83 --- /dev/null +++ b/api/src/main/java/me/tofaa/entitylib/meta/mobs/passive/ArmadilloMeta.java @@ -0,0 +1,24 @@ +package me.tofaa.entitylib.meta.mobs.passive; + +import com.github.retrooper.packetevents.protocol.entity.armadillo.ArmadilloState; +import com.github.retrooper.packetevents.protocol.entity.data.EntityDataTypes; +import me.tofaa.entitylib.meta.Metadata; +import me.tofaa.entitylib.meta.types.AgeableMeta; + +public class ArmadilloMeta extends AgeableMeta { + + public static final byte OFFSET = AgeableMeta.MAX_OFFSET; + public static final byte MAX_OFFSET = OFFSET + 1; + + public ArmadilloMeta(int entityId, Metadata metadata) { + super(entityId, metadata); + } + + public ArmadilloState getState() { + return metadata.getIndex(OFFSET, ArmadilloState.IDLE); + } + + public void setState(ArmadilloState state) { + super.metadata.setIndex(OFFSET, EntityDataTypes.ARMADILLO_STATE, state); + } +}