Collission Changes

This commit is contained in:
Frank 2023-05-25 00:15:14 +02:00
parent 00665eb677
commit f91a016c1d
3 changed files with 9 additions and 4 deletions

View file

@ -11,6 +11,7 @@ import net.minecraft.world.item.ItemStack;
import net.minecraft.world.level.BlockGetter;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.level.material.MapColor;
import net.minecraft.world.level.storage.loot.LootParams;
import net.minecraft.world.phys.shapes.CollisionContext;
import net.minecraft.world.phys.shapes.VoxelShape;
@ -27,7 +28,7 @@ public class EndLotusFlowerBlock extends EndPlantBlock implements BehaviourPlant
private static final VoxelShape SHAPE_COLLISION = Block.box(0, 0, 0, 16, 2, 16);
public EndLotusFlowerBlock() {
super(BehaviourBuilders.createPlant().lightLevel((bs) -> 15));
super(BehaviourBuilders.createPlant(MapColor.COLOR_PINK, true).lightLevel((bs) -> 15));
}
@Override

View file

@ -23,6 +23,7 @@ import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.level.block.state.StateDefinition;
import net.minecraft.world.level.block.state.properties.BlockStateProperties;
import net.minecraft.world.level.block.state.properties.EnumProperty;
import net.minecraft.world.level.material.MapColor;
import net.minecraft.world.level.material.WaterFluid;
import net.minecraft.world.phys.shapes.CollisionContext;
import net.minecraft.world.phys.shapes.VoxelShape;
@ -36,7 +37,7 @@ public class EndLotusLeafBlock extends BaseBlockNotFull implements RenderLayerPr
private static final VoxelShape VSHAPE = Block.box(0, 0, 0, 16, 1, 16);
public EndLotusLeafBlock() {
super(BehaviourBuilders.createPlant().noOcclusion().sound(SoundType.WET_GRASS));
super(BehaviourBuilders.createPlant(MapColor.PLANT, true).noOcclusion().sound(SoundType.WET_GRASS));
}
@Override

View file

@ -140,8 +140,11 @@ public class LakePiece extends BasePiece {
world,
worldPos
)) {
state = chunk.getBlockState(mut.above());
if (state.isAir()) {
state = chunk.getBlockState(mut.above(3));
final BlockState stateAbove = chunk.getBlockState(mut.above());
if (stateAbove.isAir() && state.isAir()) {
state = random.nextInt(10) == 0 ? ENDSTONE : EndBiome.findTopMaterial(world, worldPos);
} else if (stateAbove.isAir()) {
state = random.nextBoolean() ? ENDSTONE : EndBiome.findTopMaterial(world, worldPos);
} else {
state = state.getFluidState().isEmpty()