68 lines
2.2 KiB
Java
68 lines
2.2 KiB
Java
package net.minecraft.client.renderer.entity.state;
|
|
|
|
import javax.annotation.Nullable;
|
|
import net.minecraft.core.BlockPos;
|
|
import net.minecraft.core.Direction;
|
|
import net.minecraft.core.Holder;
|
|
import net.minecraft.world.level.BlockAndTintGetter;
|
|
import net.minecraft.world.level.ColorResolver;
|
|
import net.minecraft.world.level.EmptyBlockAndTintGetter;
|
|
import net.minecraft.world.level.biome.Biome;
|
|
import net.minecraft.world.level.block.Blocks;
|
|
import net.minecraft.world.level.block.entity.BlockEntity;
|
|
import net.minecraft.world.level.block.state.BlockState;
|
|
import net.minecraft.world.level.lighting.LevelLightEngine;
|
|
import net.minecraft.world.level.material.FluidState;
|
|
import net.minecraftforge.api.distmarker.Dist;
|
|
import net.minecraftforge.api.distmarker.OnlyIn;
|
|
|
|
@OnlyIn(Dist.CLIENT)
|
|
public class FallingBlockRenderState extends EntityRenderState implements BlockAndTintGetter {
|
|
public BlockPos startBlockPos = BlockPos.ZERO;
|
|
public BlockPos blockPos = BlockPos.ZERO;
|
|
public BlockState blockState = Blocks.SAND.defaultBlockState();
|
|
@Nullable
|
|
public Holder<Biome> biome;
|
|
public BlockAndTintGetter level = EmptyBlockAndTintGetter.INSTANCE;
|
|
|
|
@Override
|
|
public float getShade(Direction p_361965_, boolean p_367683_) {
|
|
return this.level.getShade(p_361965_, p_367683_);
|
|
}
|
|
|
|
@Override
|
|
public LevelLightEngine getLightEngine() {
|
|
return this.level.getLightEngine();
|
|
}
|
|
|
|
@Override
|
|
public int getBlockTint(BlockPos p_368873_, ColorResolver p_367190_) {
|
|
return this.biome == null ? -1 : p_367190_.getColor(this.biome.value(), p_368873_.getX(), p_368873_.getZ());
|
|
}
|
|
|
|
@Nullable
|
|
@Override
|
|
public BlockEntity getBlockEntity(BlockPos p_360711_) {
|
|
return null;
|
|
}
|
|
|
|
@Override
|
|
public BlockState getBlockState(BlockPos p_362889_) {
|
|
return p_362889_.equals(this.blockPos) ? this.blockState : Blocks.AIR.defaultBlockState();
|
|
}
|
|
|
|
@Override
|
|
public FluidState getFluidState(BlockPos p_364632_) {
|
|
return this.getBlockState(p_364632_).getFluidState();
|
|
}
|
|
|
|
@Override
|
|
public int getHeight() {
|
|
return 1;
|
|
}
|
|
|
|
@Override
|
|
public int getMinY() {
|
|
return this.blockPos.getY();
|
|
}
|
|
} |