package net.minecraft.world.entity; import net.minecraft.nbt.CompoundTag; import net.minecraft.network.protocol.Packet; import net.minecraft.network.protocol.game.ClientGamePacketListener; import net.minecraft.network.syncher.SynchedEntityData.Builder; import net.minecraft.server.level.ServerEntity; import net.minecraft.server.level.ServerLevel; import net.minecraft.world.damagesource.DamageSource; import net.minecraft.world.level.Level; import net.minecraft.world.level.material.PushReaction; public class Marker extends Entity { public Marker(EntityType entityType, Level level) { super(entityType, level); this.noPhysics = true; } @Override public void tick() { } @Override protected void defineSynchedData(Builder builder) { } @Override protected void readAdditionalSaveData(CompoundTag tag) { } @Override protected void addAdditionalSaveData(CompoundTag tag) { } @Override public Packet getAddEntityPacket(ServerEntity entity) { throw new IllegalStateException("Markers should never be sent"); } @Override protected boolean canAddPassenger(Entity passenger) { return false; } @Override protected boolean couldAcceptPassenger() { return false; } @Override protected void addPassenger(Entity passenger) { throw new IllegalStateException("Should never addPassenger without checking couldAcceptPassenger()"); } @Override public PushReaction getPistonPushReaction() { return PushReaction.IGNORE; } @Override public boolean isIgnoringBlockTriggers() { return true; } @Override public final boolean hurtServer(ServerLevel level, DamageSource damageSource, float amount) { return false; } }