Support new fabric block appearance API

This commit is contained in:
modmuss50 2022-11-08 08:57:21 +00:00
parent 3d5300e908
commit 878aa0a74d
4 changed files with 16 additions and 3 deletions

View file

@ -29,7 +29,7 @@
],
"depends": {
"fabricloader": ">=0.14.8",
"fabric-api": ">=0.62.0",
"fabric-api": ">=0.66.0",
"team_reborn_energy": ">=2.2.0",
"fabric-biome-api-v1": ">=3.0.0",
"minecraft": "~1.19.2"

View file

@ -9,7 +9,7 @@ mod_version=5.3.4
minecraft_version=1.19.2
yarn_version=1.19.2+build.10
loader_version=0.14.9
fapi_version=0.62.0+1.19.2
fapi_version=0.66.0+1.19.2
# Dependencies
energy_version=2.2.0

View file

@ -51,6 +51,7 @@ import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.Direction;
import net.minecraft.util.shape.VoxelShape;
import net.minecraft.util.shape.VoxelShapes;
import net.minecraft.world.BlockRenderView;
import net.minecraft.world.BlockView;
import net.minecraft.world.World;
import net.minecraft.world.WorldAccess;
@ -260,4 +261,16 @@ public class CableBlock extends BlockWithEntity implements Waterloggable {
public FluidState getFluidState(BlockState state) {
return state.get(WATERLOGGED) ? Fluids.WATER.getStill(false) : super.getFluidState(state);
}
@Override
public BlockState getAppearance(BlockState state, BlockRenderView renderView, BlockPos pos, Direction side, @Nullable BlockState sourceState, @Nullable BlockPos sourcePos) {
if (state.get(COVERED)) {
if (renderView.getBlockEntity(pos) instanceof CableBlockEntity cableBlockEntity) {
final BlockState cover = cableBlockEntity.getCover();
return cover != null ? cover : Blocks.OAK_PLANKS.getDefaultState();
}
}
return super.getAppearance(state, renderView, pos, side, sourceState, sourcePos);
}
}

View file

@ -31,7 +31,7 @@
},
"depends": {
"fabricloader": ">=0.14.8",
"fabric-api": ">=0.62.0",
"fabric-api": ">=0.66.0",
"reborncore": "*",
"team_reborn_energy": ">=2.2.0",
"fabric-biome-api-v1": ">=3.0.0",