chore: missing entity metas & extract shooter to abstractwindchargemeta

This commit is contained in:
mworzala 2024-05-23 18:16:58 -04:00 committed by Matt Worzala
parent abf80e597e
commit c7fd6e2f20
5 changed files with 54 additions and 90 deletions

View File

@ -6,9 +6,17 @@ import org.jetbrains.annotations.NotNull;
public class BoggedMeta extends AbstractSkeletonMeta {
public static final byte OFFSET = AbstractSkeletonMeta.MAX_OFFSET;
public static final byte MAX_OFFSET = OFFSET + 0;
public static final byte MAX_OFFSET = OFFSET + 1;
public BoggedMeta(@NotNull Entity entity, @NotNull Metadata metadata) {
super(entity, metadata);
}
public boolean isSheared() {
return super.metadata.getIndex(OFFSET, false);
}
public void setSheared(boolean value) {
super.metadata.setIndex(OFFSET, Metadata.Boolean(value));
}
}

View File

@ -0,0 +1,40 @@
package net.minestom.server.entity.metadata.projectile;
import net.minestom.server.entity.Entity;
import net.minestom.server.entity.Metadata;
import net.minestom.server.entity.metadata.EntityMeta;
import net.minestom.server.entity.metadata.ObjectDataProvider;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
public class AbstractWindChargeMeta extends EntityMeta implements ObjectDataProvider, ProjectileMeta {
public static final byte OFFSET = EntityMeta.MAX_OFFSET;
public static final byte MAX_OFFSET = OFFSET + 0;
private Entity shooter;
public AbstractWindChargeMeta(@Nullable Entity entity, @NotNull Metadata metadata) {
super(entity, metadata);
}
@Override
public @Nullable Entity getShooter() {
return shooter;
}
@Override
public void setShooter(@Nullable Entity shooter) {
this.shooter = shooter;
}
@Override
public int getObjectData() {
return this.shooter == null ? 0 : this.shooter.getEntityId();
}
@Override
public boolean requiresVelocityPacketAtSpawn() {
return true;
}
}

View File

@ -2,39 +2,14 @@ package net.minestom.server.entity.metadata.projectile;
import net.minestom.server.entity.Entity;
import net.minestom.server.entity.Metadata;
import net.minestom.server.entity.metadata.EntityMeta;
import net.minestom.server.entity.metadata.ObjectDataProvider;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
public class BreezeWindChargeMeta extends EntityMeta implements ObjectDataProvider, ProjectileMeta {
public static final byte OFFSET = EntityMeta.MAX_OFFSET;
public class BreezeWindChargeMeta extends AbstractWindChargeMeta {
public static final byte OFFSET = AbstractWindChargeMeta.MAX_OFFSET;
public static final byte MAX_OFFSET = OFFSET + 0;
private Entity shooter;
public BreezeWindChargeMeta(@NotNull Entity entity, @NotNull Metadata metadata) {
super(entity, metadata);
}
@Override
@Nullable
public Entity getShooter() {
return shooter;
}
@Override
public void setShooter(@Nullable Entity shooter) {
this.shooter = shooter;
}
@Override
public int getObjectData() {
return this.shooter == null ? 0 : this.shooter.getEntityId();
}
@Override
public boolean requiresVelocityPacketAtSpawn() {
return true;
}
}

View File

@ -2,39 +2,14 @@ package net.minestom.server.entity.metadata.projectile;
import net.minestom.server.entity.Entity;
import net.minestom.server.entity.Metadata;
import net.minestom.server.entity.metadata.EntityMeta;
import net.minestom.server.entity.metadata.ObjectDataProvider;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
public class WindChargeMeta extends EntityMeta implements ObjectDataProvider, ProjectileMeta {
public static final byte OFFSET = EntityMeta.MAX_OFFSET;
public class WindChargeMeta extends AbstractWindChargeMeta {
public static final byte OFFSET = AbstractWindChargeMeta.MAX_OFFSET;
public static final byte MAX_OFFSET = OFFSET + 0;
private Entity shooter;
public WindChargeMeta(@NotNull Entity entity, @NotNull Metadata metadata) {
super(entity, metadata);
}
@Override
@Nullable
public Entity getShooter() {
return shooter;
}
@Override
public void setShooter(@Nullable Entity shooter) {
this.shooter = shooter;
}
@Override
public int getObjectData() {
return this.shooter == null ? 0 : this.shooter.getEntityId();
}
@Override
public boolean requiresVelocityPacketAtSpawn() {
return true;
}
}

View File

@ -14,47 +14,13 @@ import org.jetbrains.annotations.UnknownNullability;
import java.util.Collection;
/**
*
* Component notes
* todo delete me
*
* ItemComponent.DYED_ITEM -> record DyedItemComponent.class
*
* itemStack.with(ItemComponent.DYED_ITEM, new DyedItemComponent(Color.RED))
* itemStack.get(ItemComponent.DYED_ITEM)
* itemStack.getOrDefault(ItemComponent.DYED_ITEM, new DyedItemComponent(Color.RED))
*
* material.prototype() -> some component list?
*
*
*
* // NEW WIRE FORMAT
* count | varint
* material id | varint
* components | SEE BELOW
*
* DataComponentPatch
* additions | varint
* removals | varint
* for each addition
* varint | data component id
* data component | data component (depends)
* for each removal
* varint | data component id
*
*
*/
public sealed interface Material extends StaticProtocolObject, Materials permits MaterialImpl {
NetworkBuffer.Type<Material> NETWORK_TYPE = MaterialImpl.NETWORK_TYPE;
BinaryTagSerializer<Material> NBT_TYPE = BinaryTagSerializer.lazy(() -> MaterialImpl.NBT_TYPE);
/**
* Returns the material registry.
*
* @return the material registry
* Returns the raw registry data for the material.
*/
@Contract(pure = true)
@NotNull Registry.MaterialEntry registry();