package me.km.entities; import net.minecraft.block.BlockState; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityType; import net.minecraft.entity.MoverType; import net.minecraft.entity.effect.LightningBoltEntity; import net.minecraft.nbt.CompoundNBT; import net.minecraft.network.IPacket; import net.minecraft.network.play.server.SSpawnObjectPacket; import net.minecraft.util.SoundEvent; import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.Vec3d; import net.minecraft.util.text.ITextComponent; import net.minecraft.util.text.StringTextComponent; import net.minecraft.world.World; import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.api.distmarker.OnlyIn; public class EntityNobody extends Entity { public EntityNobody(EntityType type, World w) { super(type, w); } @Override public void tick() { this.baseTick(); } @Override public void baseTick() { if(this.isPassenger() && this.getRidingEntity().removed) { this.stopRiding(); } if(this.rideCooldown > 0) { --this.rideCooldown; } if(this.posY < -64.0D) { this.outOfWorld(); } this.firstUpdate = false; } @Override public void move(MoverType type, Vec3d pos) { } @Override protected void doBlockCollisions() { } @Override public void playSound(SoundEvent soundIn, float volume, float pitch) { } @Override public boolean isSilent() { return true; } @Override public void setSilent(boolean isSilent) { } @Override public boolean hasNoGravity() { return true; } @Override public void setNoGravity(boolean noGravity) { } @Override protected boolean canTriggerWalking() { return false; } @Override protected void updateFallState(double y, boolean onGroundIn, BlockState state, BlockPos pos) { } @Override protected void dealFireDamage(int amount) { } @Override public boolean isWet() { return false; } @Override public boolean isInWater() { return false; } @Override public boolean handleWaterMovement() { return false; } @Override protected void doWaterSplashEffect() { } @Override public void spawnRunningParticles() { } @Override protected void createRunningParticles() { } @Override public boolean isInLava() { return false; } @Override public void moveRelative(float p_213309_1_, Vec3d relative) { } @OnlyIn(Dist.CLIENT) @Override public int getBrightnessForRender() { return 0; } @Override public float getBrightness() { return 0; } @Override public void applyEntityCollision(Entity entityIn) { } @Override public void addVelocity(double x, double y, double z) { } @Override public void setPortal(BlockPos pos) { } @Override public void onStruckByLightning(LightningBoltEntity lightningBolt) { } @Override protected void pushOutOfBlocks(double x, double y, double z) { } @Override public ITextComponent getName() { if(this.hasCustomName()) { return this.getCustomName(); } return new StringTextComponent("Nobody"); } @Override public boolean isPushedByWater() { return true; } @Override protected void registerData() { } @Override protected void readAdditional(CompoundNBT nbttc) { } @Override protected void writeAdditional(CompoundNBT nbttc) { } @Override public CompoundNBT serializeNBT() { return new CompoundNBT(); } @Override public void deserializeNBT(CompoundNBT t) { } @Override public IPacket createSpawnPacket() { return new SSpawnObjectPacket(this); } }