package net.minecraft.world.level.material;

import net.minecraft.world.phys.shapes.Shapes;
import net.minecraft.world.phys.shapes.VoxelShape;
import net.minecraft.world.level.block.Blocks;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.level.LevelReader;
import net.minecraft.world.phys.Vec3;
import net.minecraft.core.Direction;
import net.minecraft.core.BlockPos;
import net.minecraft.world.level.BlockGetter;
import net.minecraft.world.item.Items;
import net.minecraft.world.item.Item;

public class EmptyFluid extends Fluid {
    @Override
    public Item getBucket() {
        return Items.AIR;
    }
    
    public boolean canBeReplacedWith(final FluidState cxa, final BlockGetter bpg, final BlockPos fu, final Fluid cwz, final Direction fz) {
        return true;
    }
    
    public Vec3 getFlow(final BlockGetter bpg, final BlockPos fu, final FluidState cxa) {
        return Vec3.ZERO;
    }
    
    @Override
    public int getTickDelay(final LevelReader bqd) {
        return 0;
    }
    
    @Override
    protected boolean isEmpty() {
        return true;
    }
    
    @Override
    protected float getExplosionResistance() {
        return 0.0f;
    }
    
    @Override
    public float getHeight(final FluidState cxa, final BlockGetter bpg, final BlockPos fu) {
        return 0.0f;
    }
    
    @Override
    public float getOwnHeight(final FluidState cxa) {
        return 0.0f;
    }
    
    @Override
    protected BlockState createLegacyBlock(final FluidState cxa) {
        return Blocks.AIR.defaultBlockState();
    }
    
    @Override
    public boolean isSource(final FluidState cxa) {
        return false;
    }
    
    @Override
    public int getAmount(final FluidState cxa) {
        return 0;
    }
    
    @Override
    public VoxelShape getShape(final FluidState cxa, final BlockGetter bpg, final BlockPos fu) {
        return Shapes.empty();
    }
}
