mirror of
https://github.com/Minestom/Minestom.git
synced 2025-02-15 03:41:30 +01:00
chore: missing entity metas & extract shooter to abstractwindchargemeta
This commit is contained in:
parent
abf80e597e
commit
c7fd6e2f20
@ -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));
|
||||
}
|
||||
}
|
||||
|
@ -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;
|
||||
}
|
||||
|
||||
}
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
@ -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();
|
||||
|
Loading…
Reference in New Issue
Block a user