more metadata adding, ive not slept in 3 days
This commit is contained in:
parent
71324e7d8d
commit
c38cc5871a
16 changed files with 514 additions and 88 deletions
|
@ -1,7 +1,6 @@
|
|||
package me.tofaa.entitylib;
|
||||
|
||||
import com.github.retrooper.packetevents.protocol.entity.type.EntityType;
|
||||
import com.github.retrooper.packetevents.protocol.entity.type.EntityTypes;
|
||||
import me.tofaa.entitylib.meta.EntityMeta;
|
||||
import me.tofaa.entitylib.meta.Metadata;
|
||||
import me.tofaa.entitylib.meta.mobs.*;
|
||||
|
@ -16,24 +15,33 @@ import java.util.HashMap;
|
|||
import java.util.Map;
|
||||
import java.util.function.BiFunction;
|
||||
|
||||
import static com.github.retrooper.packetevents.protocol.entity.type.EntityTypes.*;
|
||||
|
||||
final class MetaConverterRegistry {
|
||||
|
||||
private final Map<EntityType, BiFunction<Integer, Metadata, EntityMeta>> converters = new HashMap<>();
|
||||
|
||||
MetaConverterRegistry() {
|
||||
put(EntityTypes.PLAYER, PlayerMeta::new);
|
||||
put(EntityTypes.THROWN_EXP_BOTTLE, ThrownExpBottleMeta::new);
|
||||
put(EntityTypes.EGG, ThrownEggMeta::new);
|
||||
put(EntityTypes.TRIDENT, ThrownTridentMeta::new);
|
||||
put(EntityTypes.POTION, ThrownTridentMeta::new);
|
||||
put(EntityTypes.SMALL_FIREBALL, SmallFireballMeta::new);
|
||||
put(EntityTypes.PIG, PigMeta::new);
|
||||
put(EntityTypes.COW, CowMeta::new);
|
||||
put(EntityTypes.CHICKEN, ChickenMeta::new);
|
||||
put(EntityTypes.BEE, BeeMeta::new);
|
||||
put(EntityTypes.TURTLE, TurtleMeta::new);
|
||||
put(EntityTypes.DONKEY, DonkeyMeta::new);
|
||||
put(EntityTypes.SHEEP, SheepMeta::new);
|
||||
put(PLAYER, PlayerMeta::new);
|
||||
put(THROWN_EXP_BOTTLE, ThrownExpBottleMeta::new);
|
||||
put(EGG, ThrownEggMeta::new);
|
||||
put(TRIDENT, ThrownTridentMeta::new);
|
||||
put(POTION, ThrownTridentMeta::new);
|
||||
put(SMALL_FIREBALL, SmallFireballMeta::new);
|
||||
put(PIG, PigMeta::new);
|
||||
put(COW, CowMeta::new);
|
||||
put(CHICKEN, ChickenMeta::new);
|
||||
put(BEE, BeeMeta::new);
|
||||
put(TURTLE, TurtleMeta::new);
|
||||
put(DONKEY, DonkeyMeta::new);
|
||||
put(SHEEP, SheepMeta::new);
|
||||
put(RABBIT, RabbitMeta::new);
|
||||
put(POLAR_BEAR, PolarBearMeta::new);
|
||||
put(OCELOT, OcelotMeta::new );
|
||||
put(PANDA, PandaMeta::new);
|
||||
put(STRIDER, StriderMeta::new);
|
||||
put(FOX, FoxMeta::new);
|
||||
put(FROG, FrogMeta::new);
|
||||
}
|
||||
|
||||
private void put(EntityType entityType, BiFunction<Integer, Metadata, EntityMeta> function) {
|
||||
|
|
|
@ -119,19 +119,19 @@ public class EntityMeta {
|
|||
}
|
||||
|
||||
public boolean isHasNoGravity() {
|
||||
return this.metadata.getIndex(offset(5), true);
|
||||
return this.metadata.getIndex(offset(OFFSET, 5), true);
|
||||
}
|
||||
|
||||
public void setHasNoGravity(boolean value) {
|
||||
this.metadata.setIndex(offset(5), EntityDataTypes.BOOLEAN, value);
|
||||
this.metadata.setIndex(offset(OFFSET, 5), EntityDataTypes.BOOLEAN, value);
|
||||
}
|
||||
|
||||
public EntityPose getPose() {
|
||||
return this.metadata.getIndex(offset(6), EntityPose.STANDING);
|
||||
return this.metadata.getIndex(offset(OFFSET, 6), EntityPose.STANDING);
|
||||
}
|
||||
|
||||
public void setPose(EntityPose value) {
|
||||
this.metadata.setIndex(offset(6), EntityDataTypes.ENTITY_POSE, value);
|
||||
this.metadata.setIndex(offset(OFFSET, 6), EntityDataTypes.ENTITY_POSE, value);
|
||||
}
|
||||
|
||||
public WrapperPlayServerEntityMetadata createPacket() {
|
||||
|
@ -157,8 +157,14 @@ public class EntityMeta {
|
|||
}
|
||||
}
|
||||
|
||||
protected static byte offset(int amount) {
|
||||
return (byte) (OFFSET + amount);
|
||||
/**
|
||||
* Annoying java 8 not letting me do OFFSET + amount in the method call so this is a workaround
|
||||
* @param value the value to offset
|
||||
* @param amount the amount to offset by
|
||||
* @return the offset value
|
||||
*/
|
||||
protected static byte offset(byte value, int amount) {
|
||||
return (byte) (value + amount);
|
||||
}
|
||||
|
||||
protected byte getMask(byte index) {
|
||||
|
|
|
@ -42,11 +42,11 @@ public class BeeMeta extends AgeableMeta {
|
|||
}
|
||||
|
||||
public int getAngerTicks() {
|
||||
return super.metadata.getIndex(offset(1), 0);
|
||||
return super.metadata.getIndex(offset(OFFSET,1), 0);
|
||||
}
|
||||
|
||||
public void setAngerTicks(int value) {
|
||||
super.metadata.setIndex(offset(1), EntityDataTypes.INT, value);
|
||||
super.metadata.setIndex(offset(OFFSET,1), EntityDataTypes.INT, value);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
119
src/main/java/me/tofaa/entitylib/meta/mobs/FoxMeta.java
Normal file
119
src/main/java/me/tofaa/entitylib/meta/mobs/FoxMeta.java
Normal file
|
@ -0,0 +1,119 @@
|
|||
package me.tofaa.entitylib.meta.mobs;
|
||||
|
||||
import com.github.retrooper.packetevents.protocol.entity.data.EntityDataTypes;
|
||||
import me.tofaa.entitylib.meta.Metadata;
|
||||
import me.tofaa.entitylib.meta.types.AgeableMeta;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import java.util.Optional;
|
||||
import java.util.UUID;
|
||||
|
||||
public class FoxMeta extends AgeableMeta {
|
||||
|
||||
public static final byte OFFSET = AgeableMeta.MAX_OFFSET;
|
||||
public static final byte MAX_OFFSET = OFFSET+ 4;
|
||||
|
||||
private final static byte SITTING_BIT = 0x01;
|
||||
private final static byte CROUCHING_BIT = 0x04;
|
||||
private final static byte INTERESTED_BIT = 0x08;
|
||||
private final static byte POUNCING_BIT = 0x10;
|
||||
private final static byte SLEEPING_BIT = 0x20;
|
||||
private final static byte FACEPLANTED_BIT = 0x40;
|
||||
private final static byte DEFENDING_BIT = (byte) 0x80;
|
||||
|
||||
|
||||
public FoxMeta(int entityId, Metadata metadata) {
|
||||
super(entityId, metadata);
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public Type getType() {
|
||||
return Type.VALUES[super.metadata.getIndex(OFFSET, 0)];
|
||||
}
|
||||
|
||||
public void setType(@NotNull Type type) {
|
||||
super.metadata.setIndex(OFFSET, EntityDataTypes.INT, type.ordinal());
|
||||
}
|
||||
|
||||
public boolean isSitting() {
|
||||
return getMaskBit(offset(OFFSET, 1), SITTING_BIT);
|
||||
}
|
||||
|
||||
public void setSitting(boolean value) {
|
||||
setMaskBit(offset(OFFSET, 1), SITTING_BIT, value);
|
||||
}
|
||||
|
||||
public boolean isFoxSneaking() {
|
||||
return getMaskBit(offset(OFFSET, 1), CROUCHING_BIT);
|
||||
}
|
||||
|
||||
public void setFoxSneaking(boolean value) {
|
||||
setMaskBit(offset(OFFSET, 1), CROUCHING_BIT, value);
|
||||
}
|
||||
|
||||
public boolean isInterested() {
|
||||
return getMaskBit(offset(OFFSET, 1), INTERESTED_BIT);
|
||||
}
|
||||
|
||||
public void setInterested(boolean value) {
|
||||
setMaskBit(offset(OFFSET, 1), INTERESTED_BIT, value);
|
||||
}
|
||||
|
||||
public boolean isPouncing() {
|
||||
return getMaskBit(offset(OFFSET, 1), POUNCING_BIT);
|
||||
}
|
||||
|
||||
public void setPouncing(boolean value) {
|
||||
setMaskBit(offset(OFFSET, 1), POUNCING_BIT, value);
|
||||
}
|
||||
|
||||
public boolean isSleeping() {
|
||||
return getMaskBit(offset(OFFSET, 1), SLEEPING_BIT);
|
||||
}
|
||||
|
||||
public void setSleeping(boolean value) {
|
||||
setMaskBit(offset(OFFSET, 1), SLEEPING_BIT, value);
|
||||
}
|
||||
|
||||
public boolean isFaceplanted() {
|
||||
return getMaskBit(offset(OFFSET, 1), FACEPLANTED_BIT);
|
||||
}
|
||||
|
||||
public void setFaceplanted(boolean value) {
|
||||
setMaskBit(offset(OFFSET, 1), FACEPLANTED_BIT, value);
|
||||
}
|
||||
|
||||
public boolean isDefending() {
|
||||
return getMaskBit(offset(OFFSET, 1), DEFENDING_BIT);
|
||||
}
|
||||
|
||||
public void setDefending(boolean value) {
|
||||
setMaskBit(offset(OFFSET, 1), DEFENDING_BIT, value);
|
||||
}
|
||||
|
||||
public Optional<UUID> getFirstUUID() {
|
||||
return super.metadata.getIndex(offset(OFFSET, 2), Optional.empty());
|
||||
}
|
||||
|
||||
public void setFirstUUID(@Nullable UUID value) {
|
||||
super.metadata.setIndex(offset(OFFSET, 2), EntityDataTypes.OPTIONAL_UUID, Optional.of(value));
|
||||
}
|
||||
|
||||
public Optional<UUID> getSecondUUID() {
|
||||
return super.metadata.getIndex(offset(OFFSET, 3), Optional.empty());
|
||||
}
|
||||
|
||||
public void setSecondUUID(@Nullable UUID value) {
|
||||
super.metadata.setIndex(offset(OFFSET, 3), EntityDataTypes.OPTIONAL_UUID, Optional.of(value));
|
||||
}
|
||||
|
||||
public enum Type {
|
||||
RED,
|
||||
SNOW;
|
||||
|
||||
private final static Type[] VALUES = values();
|
||||
}
|
||||
|
||||
|
||||
}
|
46
src/main/java/me/tofaa/entitylib/meta/mobs/FrogMeta.java
Normal file
46
src/main/java/me/tofaa/entitylib/meta/mobs/FrogMeta.java
Normal file
|
@ -0,0 +1,46 @@
|
|||
package me.tofaa.entitylib.meta.mobs;
|
||||
|
||||
import com.github.retrooper.packetevents.protocol.entity.data.EntityDataTypes;
|
||||
import me.tofaa.entitylib.meta.Metadata;
|
||||
import me.tofaa.entitylib.meta.types.AgeableMeta;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.util.Optional;
|
||||
|
||||
public class FrogMeta extends AgeableMeta {
|
||||
|
||||
public static final byte OFFSET = AgeableMeta.MAX_OFFSET;
|
||||
public static final byte MAX_OFFSET = OFFSET + 2;
|
||||
|
||||
|
||||
public FrogMeta(int entityId, Metadata metadata) {
|
||||
super(entityId, metadata);
|
||||
}
|
||||
|
||||
|
||||
public @NotNull Variant getVariant() {
|
||||
return super.metadata.getIndex(OFFSET, Variant.TEMPERATE);
|
||||
}
|
||||
|
||||
public void setVariant(@NotNull Variant value) {
|
||||
super.metadata.setIndex(OFFSET, EntityDataTypes.FROG_VARIANT, value.ordinal());
|
||||
}
|
||||
|
||||
public Optional<Integer> getTongueTarget() {
|
||||
return super.metadata.getIndex(offset(OFFSET, 1), Optional.empty());
|
||||
}
|
||||
|
||||
public void setTongueTarget(int value) {
|
||||
super.metadata.setIndex(offset(OFFSET, 1), EntityDataTypes.OPTIONAL_INT, Optional.of(value));
|
||||
}
|
||||
|
||||
|
||||
public enum Variant {
|
||||
TEMPERATE,
|
||||
WARM,
|
||||
COLD;
|
||||
|
||||
private final static FrogMeta.Variant[] VALUES = values();
|
||||
}
|
||||
|
||||
}
|
27
src/main/java/me/tofaa/entitylib/meta/mobs/OcelotMeta.java
Normal file
27
src/main/java/me/tofaa/entitylib/meta/mobs/OcelotMeta.java
Normal file
|
@ -0,0 +1,27 @@
|
|||
package me.tofaa.entitylib.meta.mobs;
|
||||
|
||||
import com.github.retrooper.packetevents.manager.server.ServerVersion;
|
||||
import com.github.retrooper.packetevents.protocol.entity.data.EntityDataTypes;
|
||||
import me.tofaa.entitylib.meta.Metadata;
|
||||
import me.tofaa.entitylib.meta.types.AgeableMeta;
|
||||
|
||||
public class OcelotMeta extends AgeableMeta {
|
||||
|
||||
public static final byte OFFSET = AgeableMeta.MAX_OFFSET;
|
||||
public static final byte MAX_OFFSET = OFFSET + 1;
|
||||
|
||||
public OcelotMeta(int entityId, Metadata metadata) {
|
||||
super(entityId, metadata);
|
||||
}
|
||||
|
||||
public boolean isTrusting() {
|
||||
isVersionNewer(ServerVersion.V_1_14);
|
||||
return super.metadata.getIndex(OFFSET, false);
|
||||
}
|
||||
|
||||
public void setTrusting(boolean value) {
|
||||
isVersionNewer(ServerVersion.V_1_14);
|
||||
super.metadata.setIndex(OFFSET, EntityDataTypes.BOOLEAN, value);
|
||||
}
|
||||
|
||||
}
|
109
src/main/java/me/tofaa/entitylib/meta/mobs/PandaMeta.java
Normal file
109
src/main/java/me/tofaa/entitylib/meta/mobs/PandaMeta.java
Normal file
|
@ -0,0 +1,109 @@
|
|||
package me.tofaa.entitylib.meta.mobs;
|
||||
|
||||
import com.github.retrooper.packetevents.protocol.entity.data.EntityDataTypes;
|
||||
import me.tofaa.entitylib.meta.Metadata;
|
||||
import me.tofaa.entitylib.meta.types.AgeableMeta;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
public class PandaMeta extends AgeableMeta {
|
||||
|
||||
public static final byte OFFSET = AgeableMeta.MAX_OFFSET;
|
||||
public static final byte MAX_OFFSET = OFFSET + 6;
|
||||
|
||||
private final static byte SNEEZING_BIT = 0x02;
|
||||
private final static byte ROLLING_BIT = 0x04;
|
||||
private final static byte SITTING_BIT = 0x08;
|
||||
private final static byte ON_BACK_BIT = 0x10;
|
||||
|
||||
public PandaMeta(int entityId, Metadata metadata) {
|
||||
super(entityId, metadata);
|
||||
}
|
||||
|
||||
public int getBreedTimer() {
|
||||
return super.metadata.getIndex(OFFSET, 0);
|
||||
}
|
||||
|
||||
public void setBreedTimer(int value) {
|
||||
super.metadata.setIndex(OFFSET, EntityDataTypes.INT, value);
|
||||
}
|
||||
|
||||
public int getSneezeTimer() {
|
||||
return super.metadata.getIndex(offset(OFFSET,1), 0);
|
||||
}
|
||||
|
||||
public void setSneezeTimer(int value) {
|
||||
super.metadata.setIndex(offset(OFFSET,1), EntityDataTypes.INT, value);
|
||||
}
|
||||
|
||||
public int getEatTimer() {
|
||||
return super.metadata.getIndex(offset(OFFSET,2), 0);
|
||||
}
|
||||
|
||||
public void setEatTimer(int value) {
|
||||
super.metadata.setIndex(offset(OFFSET,2), EntityDataTypes.INT, value);
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public Gene getMainGene() {
|
||||
return Gene.VALUES[super.metadata.getIndex(offset(OFFSET,3), (byte) 0)];
|
||||
}
|
||||
|
||||
public void setMainGene(@NotNull Gene value) {
|
||||
super.metadata.setIndex(offset(OFFSET,3), EntityDataTypes.BYTE, (byte) value.ordinal());
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public Gene getHiddenGene() {
|
||||
return Gene.VALUES[super.metadata.getIndex(offset(OFFSET,4), (byte) 0)];
|
||||
}
|
||||
|
||||
public void setHiddenGene(@NotNull Gene value) {
|
||||
super.metadata.setIndex(offset(OFFSET,4), EntityDataTypes.BYTE, (byte) value.ordinal());
|
||||
}
|
||||
|
||||
public boolean isSneezing() {
|
||||
return getMaskBit(offset(OFFSET,5), SNEEZING_BIT);
|
||||
}
|
||||
|
||||
public void setSneezing(boolean value) {
|
||||
setMaskBit(offset(OFFSET,5), SNEEZING_BIT, value);
|
||||
}
|
||||
|
||||
public boolean isRolling() {
|
||||
return getMaskBit(offset(OFFSET,5), ROLLING_BIT);
|
||||
}
|
||||
|
||||
public void setRolling(boolean value) {
|
||||
setMaskBit(offset(OFFSET,5), ROLLING_BIT, value);
|
||||
}
|
||||
|
||||
public boolean isSitting() {
|
||||
return getMaskBit(offset(OFFSET,5), SITTING_BIT);
|
||||
}
|
||||
|
||||
public void setSitting(boolean value) {
|
||||
setMaskBit(offset(OFFSET,5), SITTING_BIT, value);
|
||||
}
|
||||
|
||||
public boolean isOnBack() {
|
||||
return getMaskBit(offset(OFFSET,5), ON_BACK_BIT);
|
||||
}
|
||||
|
||||
public void setOnBack(boolean value) {
|
||||
setMaskBit(offset(OFFSET,5), ON_BACK_BIT, value);
|
||||
}
|
||||
|
||||
public enum Gene {
|
||||
NORMAL,
|
||||
AGGRESSIVE,
|
||||
LAZY,
|
||||
WORRIED,
|
||||
PLAYFUL,
|
||||
WEAK,
|
||||
BROWN;
|
||||
|
||||
private final static Gene[] VALUES = values();
|
||||
}
|
||||
|
||||
|
||||
}
|
|
@ -24,11 +24,11 @@ public class PigMeta extends AgeableMeta {
|
|||
|
||||
public int getTimeToBoost() {
|
||||
isVersionNewer(ServerVersion.V_1_16);
|
||||
return super.metadata.getIndex(offset(1), 0);
|
||||
return super.metadata.getIndex(offset(OFFSET,1), 0);
|
||||
}
|
||||
|
||||
public void setTimeToBoost(int value) {
|
||||
isVersionNewer(ServerVersion.V_1_16);
|
||||
super.metadata.setIndex(offset(1), EntityDataTypes.INT, value);
|
||||
super.metadata.setIndex(offset(OFFSET,1), EntityDataTypes.INT, value);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,24 @@
|
|||
package me.tofaa.entitylib.meta.mobs;
|
||||
|
||||
import com.github.retrooper.packetevents.protocol.entity.data.EntityDataTypes;
|
||||
import me.tofaa.entitylib.meta.Metadata;
|
||||
import me.tofaa.entitylib.meta.types.AgeableMeta;
|
||||
|
||||
public class PolarBearMeta extends AgeableMeta {
|
||||
|
||||
public static final byte OFFSET = AgeableMeta.MAX_OFFSET;
|
||||
public static final byte MAX_OFFSET = OFFSET + 1;
|
||||
|
||||
public PolarBearMeta(int entityId, Metadata metadata) {
|
||||
super(entityId, metadata);
|
||||
}
|
||||
|
||||
public boolean isStandingUp() {
|
||||
return super.metadata.getIndex(OFFSET, false);
|
||||
}
|
||||
|
||||
public void setStandingUp(boolean value) {
|
||||
super.metadata.setIndex(OFFSET, EntityDataTypes.BOOLEAN, value);
|
||||
}
|
||||
|
||||
}
|
46
src/main/java/me/tofaa/entitylib/meta/mobs/RabbitMeta.java
Normal file
46
src/main/java/me/tofaa/entitylib/meta/mobs/RabbitMeta.java
Normal file
|
@ -0,0 +1,46 @@
|
|||
package me.tofaa.entitylib.meta.mobs;
|
||||
|
||||
import com.github.retrooper.packetevents.protocol.entity.data.EntityDataTypes;
|
||||
import me.tofaa.entitylib.meta.Metadata;
|
||||
import me.tofaa.entitylib.meta.types.AgeableMeta;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
public class RabbitMeta extends AgeableMeta {
|
||||
|
||||
public static final byte OFFSET = AgeableMeta.MAX_OFFSET;
|
||||
public static final byte MAX_OFFSET = OFFSET + 1;
|
||||
|
||||
|
||||
public RabbitMeta(int entityId, Metadata metadata) {
|
||||
super(entityId, metadata);
|
||||
}
|
||||
|
||||
public @NotNull Type getType() {
|
||||
int id = super.metadata.getIndex(OFFSET, 0);
|
||||
if (id == 99) {
|
||||
return Type.KILLER_BUNNY;
|
||||
}
|
||||
return Type.VALUES[id];
|
||||
}
|
||||
|
||||
public void setType(@NotNull Type value) {
|
||||
int id = value == Type.KILLER_BUNNY ? 99 : value.ordinal();
|
||||
super.metadata.setIndex(OFFSET, EntityDataTypes.INT, id);
|
||||
}
|
||||
|
||||
|
||||
public enum Type {
|
||||
BROWN,
|
||||
WHITE,
|
||||
BLACK,
|
||||
BLACK_AND_WHITE,
|
||||
GOLD,
|
||||
SALT_AND_PEPPER,
|
||||
KILLER_BUNNY;
|
||||
|
||||
private final static Type[] VALUES = values();
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
41
src/main/java/me/tofaa/entitylib/meta/mobs/StriderMeta.java
Normal file
41
src/main/java/me/tofaa/entitylib/meta/mobs/StriderMeta.java
Normal file
|
@ -0,0 +1,41 @@
|
|||
package me.tofaa.entitylib.meta.mobs;
|
||||
|
||||
import com.github.retrooper.packetevents.protocol.entity.data.EntityDataTypes;
|
||||
import me.tofaa.entitylib.meta.Metadata;
|
||||
import me.tofaa.entitylib.meta.types.AgeableMeta;
|
||||
|
||||
public class StriderMeta extends AgeableMeta {
|
||||
|
||||
public static final byte OFFSET = AgeableMeta.MAX_OFFSET;
|
||||
public static final byte MAX_OFFSET = OFFSET + 3;
|
||||
|
||||
public StriderMeta(int entityId, Metadata metadata) {
|
||||
super(entityId, metadata);
|
||||
}
|
||||
|
||||
|
||||
public int getTimeToBoost() {
|
||||
return super.metadata.getIndex(OFFSET, 0);
|
||||
}
|
||||
|
||||
public void setTimeToBoost(int value) {
|
||||
super.metadata.setIndex(OFFSET, EntityDataTypes.INT, value);
|
||||
}
|
||||
|
||||
public boolean isShaking() {
|
||||
return super.metadata.getIndex(offset(OFFSET,1), false);
|
||||
}
|
||||
|
||||
public void setShaking(boolean value) {
|
||||
super.metadata.setIndex(offset(OFFSET, 1), EntityDataTypes.BOOLEAN, value);
|
||||
}
|
||||
|
||||
public boolean isHasSaddle() {
|
||||
return super.metadata.getIndex(offset(OFFSET, 2), false);
|
||||
}
|
||||
|
||||
public void setHasSaddle(boolean value) {
|
||||
super.metadata.setIndex(offset(OFFSET, 2), EntityDataTypes.BOOLEAN, value);
|
||||
}
|
||||
|
||||
}
|
|
@ -24,43 +24,43 @@ public class TurtleMeta extends AgeableMeta {
|
|||
}
|
||||
|
||||
public boolean hasEgg() {
|
||||
return super.metadata.getIndex(offset(1), false);
|
||||
return super.metadata.getIndex(offset(OFFSET,1), false);
|
||||
}
|
||||
|
||||
public void setHasEgg(boolean value) {
|
||||
super.metadata.setIndex(offset(1), EntityDataTypes.BOOLEAN, value);
|
||||
super.metadata.setIndex(offset(OFFSET,1), EntityDataTypes.BOOLEAN, value);
|
||||
}
|
||||
|
||||
public boolean isLayingEgg() {
|
||||
return super.metadata.getIndex(offset(2), false);
|
||||
return super.metadata.getIndex(offset(OFFSET,2), false);
|
||||
}
|
||||
|
||||
public void setLayingEgg(boolean value) {
|
||||
super.metadata.setIndex(offset(2), EntityDataTypes.BOOLEAN, value);
|
||||
super.metadata.setIndex(offset(OFFSET,2), EntityDataTypes.BOOLEAN, value);
|
||||
}
|
||||
|
||||
public Vector3i getTravelPosition() {
|
||||
return super.metadata.getIndex(offset(3), Vector3i.zero());
|
||||
return super.metadata.getIndex(offset(OFFSET,3), Vector3i.zero());
|
||||
}
|
||||
|
||||
public void setTravelPosition(Vector3i value) {
|
||||
super.metadata.setIndex(offset(3), EntityDataTypes.BLOCK_POSITION, value);
|
||||
super.metadata.setIndex(offset(OFFSET,3), EntityDataTypes.BLOCK_POSITION, value);
|
||||
}
|
||||
|
||||
public boolean isGoingHome() {
|
||||
return super.metadata.getIndex(offset(4), false);
|
||||
return super.metadata.getIndex(offset(OFFSET,4), false);
|
||||
}
|
||||
|
||||
public void setGoingHome(boolean value) {
|
||||
super.metadata.setIndex(offset(4), EntityDataTypes.BOOLEAN, value);
|
||||
super.metadata.setIndex(offset(OFFSET,4), EntityDataTypes.BOOLEAN, value);
|
||||
}
|
||||
|
||||
public boolean isTravelling() {
|
||||
return super.metadata.getIndex(offset(5), false);
|
||||
return super.metadata.getIndex(offset(OFFSET,5), false);
|
||||
}
|
||||
|
||||
public void setTravelling(boolean value) {
|
||||
super.metadata.setIndex(offset(4), EntityDataTypes.BOOLEAN, value);
|
||||
super.metadata.setIndex(offset(OFFSET,4), EntityDataTypes.BOOLEAN, value);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -37,12 +37,12 @@ public class BaseArrowMeta extends EntityMeta {
|
|||
|
||||
public int getPierceLevel() {
|
||||
isVersionNewer(ServerVersion.V_1_14);
|
||||
return super.metadata.getIndex(offset(1), 0);
|
||||
return super.metadata.getIndex(offset(OFFSET,1), 0);
|
||||
}
|
||||
|
||||
public void setPierceLevel(int value) {
|
||||
isVersionNewer(ServerVersion.V_1_14);
|
||||
super.metadata.setIndex(offset(1), EntityDataTypes.INT, value);
|
||||
super.metadata.setIndex(offset(OFFSET,1), EntityDataTypes.INT, value);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -21,11 +21,11 @@ public class ThrownTridentMeta extends BaseArrowMeta{
|
|||
}
|
||||
|
||||
public boolean isHasEnchantmentGlint() {
|
||||
return super.metadata.getIndex(offset(1), false);
|
||||
return super.metadata.getIndex(offset(OFFSET,1), false);
|
||||
}
|
||||
|
||||
public void setHasEnchantmentGlint(boolean value) {
|
||||
super.metadata.setIndex(offset(1), EntityDataTypes.BOOLEAN, value);
|
||||
super.metadata.setIndex(offset(OFFSET,1), EntityDataTypes.BOOLEAN, value);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -23,18 +23,18 @@ public class LivingEntityMeta extends EntityMeta {
|
|||
|
||||
|
||||
public float getHealth() {
|
||||
return super.metadata.getIndex(offset(1), 1F);
|
||||
return super.metadata.getIndex(offset(OFFSET,1), 1F);
|
||||
}
|
||||
|
||||
|
||||
public int getPotionEffectColor() {
|
||||
isVersionNewer(ServerVersion.V_1_9);
|
||||
return super.metadata.getIndex(offset(2), 0);
|
||||
return super.metadata.getIndex(offset(OFFSET,2), 0);
|
||||
}
|
||||
|
||||
public void setPotionEffectColor(int value) {
|
||||
isVersionNewer(ServerVersion.V_1_9);
|
||||
super.metadata.setIndex(offset(2), EntityDataTypes.INT, value);
|
||||
super.metadata.setIndex(offset(OFFSET,2), EntityDataTypes.INT, value);
|
||||
}
|
||||
|
||||
public void setPotionEffectColor(int red, int green, int blue) {
|
||||
|
@ -44,26 +44,26 @@ public class LivingEntityMeta extends EntityMeta {
|
|||
|
||||
public boolean isPotionEffectAmbient() {
|
||||
isVersionNewer(ServerVersion.V_1_9);
|
||||
return super.metadata.getIndex(offset(3), false);
|
||||
return super.metadata.getIndex(offset(OFFSET,3), false);
|
||||
}
|
||||
|
||||
public void setPotionEffectAmbient(boolean value) {
|
||||
isVersionNewer(ServerVersion.V_1_9);
|
||||
super.metadata.setIndex(offset(3), EntityDataTypes.BOOLEAN, value);
|
||||
super.metadata.setIndex(offset(OFFSET,3), EntityDataTypes.BOOLEAN, value);
|
||||
}
|
||||
|
||||
public int getArrowCount() {
|
||||
isVersionNewer(ServerVersion.V_1_9);
|
||||
return super.metadata.getIndex(offset(4), 0);
|
||||
return super.metadata.getIndex(offset(OFFSET,4), 0);
|
||||
}
|
||||
|
||||
public void setArrowCount(int value) {
|
||||
isVersionNewer(ServerVersion.V_1_9);
|
||||
super.metadata.setIndex(offset(4), EntityDataTypes.INT, value);
|
||||
super.metadata.setIndex(offset(OFFSET,4), EntityDataTypes.INT, value);
|
||||
}
|
||||
|
||||
public void setHealth(float value) {
|
||||
super.metadata.setIndex(offset(1), EntityDataTypes.FLOAT, value);
|
||||
super.metadata.setIndex(offset(OFFSET,1), EntityDataTypes.FLOAT, value);
|
||||
}
|
||||
|
||||
public HumanoidArm getActiveHand() {
|
||||
|
@ -88,22 +88,22 @@ public class LivingEntityMeta extends EntityMeta {
|
|||
|
||||
public Optional<Vector3i> getBedPosition() {
|
||||
isVersionNewer(ServerVersion.V_1_14);
|
||||
return super.metadata.getIndex(offset(6), Optional.empty());
|
||||
return super.metadata.getIndex(offset(OFFSET,6), Optional.empty());
|
||||
}
|
||||
|
||||
public void setBedPosition(Vector3i value) {
|
||||
isVersionNewer(ServerVersion.V_1_14);
|
||||
super.metadata.setIndex(offset(6), EntityDataTypes.OPTIONAL_BLOCK_POSITION, value == null ? Optional.empty() : Optional.of(value));
|
||||
super.metadata.setIndex(offset(OFFSET,6), EntityDataTypes.OPTIONAL_BLOCK_POSITION, value == null ? Optional.empty() : Optional.of(value));
|
||||
}
|
||||
|
||||
public int getBeeStingerCount() {
|
||||
isVersionNewer(ServerVersion.V_1_15);
|
||||
return super.metadata.getIndex(offset(5), 0);
|
||||
return super.metadata.getIndex(offset(OFFSET,5), 0);
|
||||
}
|
||||
|
||||
public void setBeeStingerCount(int value) {
|
||||
isVersionNewer(ServerVersion.V_1_15);
|
||||
super.metadata.setIndex(offset(5), EntityDataTypes.INT, value);
|
||||
super.metadata.setIndex(offset(OFFSET,5), EntityDataTypes.INT, value);
|
||||
}
|
||||
|
||||
public boolean isHandActive() {
|
||||
|
|
|
@ -34,115 +34,115 @@ public class PlayerMeta extends LivingEntityMeta {
|
|||
}
|
||||
|
||||
public int getScore() {
|
||||
return super.metadata.getIndex(EntityMeta.offset(1), 0);
|
||||
return super.metadata.getIndex(offset(OFFSET,1), 0);
|
||||
}
|
||||
|
||||
public void setScore(int value) {
|
||||
super.metadata.setIndex(EntityMeta.offset(1), EntityDataTypes.INT, value);
|
||||
super.metadata.setIndex(offset(OFFSET,1), EntityDataTypes.INT, value);
|
||||
}
|
||||
|
||||
public boolean isCapeEnabled() {
|
||||
EntityMeta.isVersionNewer(ServerVersion.V_1_9);
|
||||
return getMaskBit(EntityMeta.offset(2), CAPE_BIT);
|
||||
isVersionNewer(ServerVersion.V_1_9);
|
||||
return getMaskBit(offset(OFFSET,2), CAPE_BIT);
|
||||
}
|
||||
|
||||
public void setCapeEnabled(boolean value) {
|
||||
EntityMeta.isVersionNewer(ServerVersion.V_1_9);
|
||||
setMaskBit(EntityMeta.offset(2), CAPE_BIT, value);
|
||||
isVersionNewer(ServerVersion.V_1_9);
|
||||
setMaskBit(offset(OFFSET,2), CAPE_BIT, value);
|
||||
}
|
||||
|
||||
public boolean isJacketEnabled() {
|
||||
EntityMeta.isVersionNewer(ServerVersion.V_1_9);
|
||||
return getMaskBit(EntityMeta.offset(2), JACKET_BIT);
|
||||
isVersionNewer(ServerVersion.V_1_9);
|
||||
return getMaskBit(offset(OFFSET,2), JACKET_BIT);
|
||||
}
|
||||
|
||||
public void setJacketEnabled(boolean value) {
|
||||
EntityMeta.isVersionNewer(ServerVersion.V_1_9);
|
||||
setMaskBit(EntityMeta.offset(2), JACKET_BIT, value);
|
||||
isVersionNewer(ServerVersion.V_1_9);
|
||||
setMaskBit(offset(OFFSET,2), JACKET_BIT, value);
|
||||
}
|
||||
|
||||
public boolean isLeftSleeveEnabled() {
|
||||
EntityMeta.isVersionNewer(ServerVersion.V_1_9);
|
||||
return getMaskBit(EntityMeta.offset(2), LEFT_SLEEVE_BIT);
|
||||
isVersionNewer(ServerVersion.V_1_9);
|
||||
return getMaskBit(offset(OFFSET,2), LEFT_SLEEVE_BIT);
|
||||
}
|
||||
|
||||
public void setLeftSleeveEnabled(boolean value) {
|
||||
EntityMeta.isVersionNewer(ServerVersion.V_1_9);
|
||||
setMaskBit(EntityMeta.offset(2), LEFT_SLEEVE_BIT, value);
|
||||
isVersionNewer(ServerVersion.V_1_9);
|
||||
setMaskBit(offset(OFFSET,2), LEFT_SLEEVE_BIT, value);
|
||||
}
|
||||
|
||||
public boolean isRightSleeveEnabled() {
|
||||
EntityMeta.isVersionNewer(ServerVersion.V_1_9);
|
||||
return getMaskBit(EntityMeta.offset(2), RIGHT_SLEEVE_BIT);
|
||||
isVersionNewer(ServerVersion.V_1_9);
|
||||
return getMaskBit(offset(OFFSET,2), RIGHT_SLEEVE_BIT);
|
||||
}
|
||||
|
||||
public void setRightSleeveEnabled(boolean value) {
|
||||
EntityMeta.isVersionNewer(ServerVersion.V_1_9);
|
||||
setMaskBit(EntityMeta.offset(2), RIGHT_SLEEVE_BIT, value);
|
||||
isVersionNewer(ServerVersion.V_1_9);
|
||||
setMaskBit(offset(OFFSET,2), RIGHT_SLEEVE_BIT, value);
|
||||
}
|
||||
|
||||
public boolean isLeftLegEnabled() {
|
||||
EntityMeta.isVersionNewer(ServerVersion.V_1_9);
|
||||
return getMaskBit(EntityMeta.offset(2), LEFT_LEG_BIT);
|
||||
isVersionNewer(ServerVersion.V_1_9);
|
||||
return getMaskBit(offset(OFFSET,2), LEFT_LEG_BIT);
|
||||
}
|
||||
|
||||
public void setLeftLegEnabled(boolean value) {
|
||||
EntityMeta.isVersionNewer(ServerVersion.V_1_9);
|
||||
setMaskBit(EntityMeta.offset(2), LEFT_LEG_BIT, value);
|
||||
isVersionNewer(ServerVersion.V_1_9);
|
||||
setMaskBit(offset(OFFSET,2), LEFT_LEG_BIT, value);
|
||||
}
|
||||
|
||||
public boolean isRightLegEnabled() {
|
||||
EntityMeta.isVersionNewer(ServerVersion.V_1_9);
|
||||
return getMaskBit(EntityMeta.offset(2), RIGHT_LEG_BIT);
|
||||
isVersionNewer(ServerVersion.V_1_9);
|
||||
return getMaskBit(offset(OFFSET,2), RIGHT_LEG_BIT);
|
||||
}
|
||||
|
||||
public void setRightLegEnabled(boolean value) {
|
||||
EntityMeta.isVersionNewer(ServerVersion.V_1_9);
|
||||
setMaskBit(EntityMeta.offset(2), RIGHT_LEG_BIT, value);
|
||||
isVersionNewer(ServerVersion.V_1_9);
|
||||
setMaskBit(offset(OFFSET,2), RIGHT_LEG_BIT, value);
|
||||
}
|
||||
|
||||
public boolean isHatEnabled() {
|
||||
EntityMeta.isVersionNewer(ServerVersion.V_1_9);
|
||||
return getMaskBit(EntityMeta.offset(2), HAT_BIT);
|
||||
isVersionNewer(ServerVersion.V_1_9);
|
||||
return getMaskBit(offset(OFFSET,2), HAT_BIT);
|
||||
}
|
||||
|
||||
public void setHatEnabled(boolean value) {
|
||||
EntityMeta.isVersionNewer(ServerVersion.V_1_9);
|
||||
setMaskBit(EntityMeta.offset(2), HAT_BIT, value);
|
||||
isVersionNewer(ServerVersion.V_1_9);
|
||||
setMaskBit(offset(OFFSET,2), HAT_BIT, value);
|
||||
}
|
||||
|
||||
public boolean isRightHandMain() {
|
||||
if (EntityLib.getPacketEvents().getServerManager().getVersion().isOlderThan(ServerVersion.V_1_9)) {
|
||||
return true;
|
||||
}
|
||||
return super.metadata.getIndex(EntityMeta.offset(3), (byte) 1) == (byte) 1;
|
||||
return super.metadata.getIndex(offset(OFFSET,3), (byte) 1) == (byte) 1;
|
||||
}
|
||||
|
||||
public void setRightHandMain(boolean value) {
|
||||
if (EntityLib.getPacketEvents().getServerManager().getVersion().isOlderThan(ServerVersion.V_1_9)) {
|
||||
return;
|
||||
}
|
||||
super.metadata.setIndex(EntityMeta.offset(3), EntityDataTypes.BYTE, (byte) (value ? 1 : 0));
|
||||
super.metadata.setIndex(offset(OFFSET,3), EntityDataTypes.BYTE, (byte) (value ? 1 : 0));
|
||||
}
|
||||
|
||||
public @Nullable NBTCompound getLeftShoulderData() {
|
||||
EntityMeta.isVersionNewer(ServerVersion.V_1_11);
|
||||
return super.metadata.getIndex(EntityMeta.offset(4), null);
|
||||
isVersionNewer(ServerVersion.V_1_11);
|
||||
return super.metadata.getIndex(offset(OFFSET,4), null);
|
||||
}
|
||||
|
||||
public void setLeftShoulderData(@Nullable NBTCompound value) {
|
||||
if (value == null) value = new NBTCompound();
|
||||
super.metadata.setIndex(EntityMeta.offset(4), EntityDataTypes.NBT, value);
|
||||
super.metadata.setIndex(offset(OFFSET,4), EntityDataTypes.NBT, value);
|
||||
}
|
||||
|
||||
public @Nullable NBTCompound getRightShoulderData() {
|
||||
EntityMeta.isVersionNewer(ServerVersion.V_1_11);
|
||||
return super.metadata.getIndex(EntityMeta.offset(5), null);
|
||||
isVersionNewer(ServerVersion.V_1_11);
|
||||
return super.metadata.getIndex(offset(OFFSET,5), null);
|
||||
}
|
||||
|
||||
public void setRightShoulderData(@Nullable NBTCompound value) {
|
||||
if (value == null) value = new NBTCompound();
|
||||
super.metadata.setIndex(EntityMeta.offset(5), EntityDataTypes.NBT, value);
|
||||
super.metadata.setIndex(offset(OFFSET,5), EntityDataTypes.NBT, value);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue