add sniffer meta

This commit is contained in:
Tofaa 2023-11-30 13:07:40 +03:00
parent 0867fdd335
commit ed2172859f
2 changed files with 34 additions and 0 deletions

View file

@ -45,6 +45,7 @@ final class MetaConverterRegistry {
private final Map<EntityType, Class<? extends EntityMeta>> metaClasses = new HashMap<>();
MetaConverterRegistry() {
put(SNIFFER, SnifferMeta.class, SnifferMeta::new);
put(INTERACTION, InteractionMeta.class, InteractionMeta::new);
put(BLOCK_DISPLAY, BlockDisplayMeta.class, BlockDisplayMeta::new);
put(ITEM_DISPLAY, ItemDisplayMeta.class, ItemDisplayMeta::new);

View file

@ -0,0 +1,33 @@
package me.tofaa.entitylib.meta.mobs;
import com.github.retrooper.packetevents.protocol.entity.data.EntityDataTypes;
import com.github.retrooper.packetevents.protocol.entity.sniffer.SnifferState;
import me.tofaa.entitylib.meta.Metadata;
import me.tofaa.entitylib.meta.types.AgeableMeta;
public class SnifferMeta extends AgeableMeta {
public static final byte OFFSET = AgeableMeta.MAX_OFFSET;
public static final byte MAX_OFFSET = OFFSET + 1;
public SnifferMeta(int entityId, Metadata metadata) {
super(entityId, metadata);
}
public SnifferState getState() {
return metadata.getIndex(OFFSET, SnifferState.IDLING);
}
public void setState(SnifferState state) {
super.metadata.setIndex(OFFSET, EntityDataTypes.SNIFFER_STATE, state);
}
public int getDropSeedAtTick() {
return metadata.getIndex(offset(OFFSET, 1), 0);
}
public void setDropSeedAtTick(int tick) {
super.metadata.setIndex(offset(OFFSET, 1), EntityDataTypes.INT, tick);
}
}