mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-17 08:27:43 +01:00
add null-check to all worldborder world references, closes #1733
This commit is contained in:
@@ -14,7 +14,7 @@
|
|||||||
for (Direction direction : Direction.Plane.HORIZONTAL) {
|
for (Direction direction : Direction.Plane.HORIZONTAL) {
|
||||||
BlockState blockState = level.getBlockState(pos.relative(direction));
|
BlockState blockState = level.getBlockState(pos.relative(direction));
|
||||||
- if (blockState.isSolid() || level.getFluidState(pos.relative(direction)).is(FluidTags.LAVA)) {
|
- if (blockState.isSolid() || level.getFluidState(pos.relative(direction)).is(FluidTags.LAVA)) {
|
||||||
+ if ((level.getWorldBorder().world.purpurConfig.cactusBreaksFromSolidNeighbors && blockState.isSolid()) || level.getFluidState(pos.relative(direction)).is(FluidTags.LAVA)) { // Purpur - Cactus breaks from solid neighbors config
|
+ if ((level.getWorldBorder().world == null || level.getWorldBorder().world.purpurConfig.cactusBreaksFromSolidNeighbors) && blockState.isSolid() || level.getFluidState(pos.relative(direction)).is(FluidTags.LAVA)) { // Purpur - Cactus breaks from solid neighbors config
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -14,7 +14,7 @@
|
|||||||
RandomSource random
|
RandomSource random
|
||||||
) {
|
) {
|
||||||
- if (state.getFluidState().isSource() || neighborState.getFluidState().isSource()) {
|
- if (state.getFluidState().isSource() || neighborState.getFluidState().isSource()) {
|
||||||
+ if (level.getWorldBorder().world.purpurConfig.tickFluids && state.getFluidState().isSource() || neighborState.getFluidState().isSource()) { // Purpur - Tick fluids config
|
+ if ((level.getWorldBorder().world == null || level.getWorldBorder().world.purpurConfig.tickFluids) && state.getFluidState().isSource() || neighborState.getFluidState().isSource()) { // Purpur - Tick fluids config
|
||||||
scheduledTickAccess.scheduleTick(pos, state.getFluidState().getType(), this.fluid.getTickDelay(level));
|
scheduledTickAccess.scheduleTick(pos, state.getFluidState().getType(), this.fluid.getTickDelay(level));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
RandomSource random
|
RandomSource random
|
||||||
) {
|
) {
|
||||||
if (state.getValue(FACING) == direction && !state.getValue(POWERED)) {
|
if (state.getValue(FACING) == direction && !state.getValue(POWERED)) {
|
||||||
+ if (!level.getWorldBorder().world.purpurConfig.disableObserverClocks || !(neighborState.getBlock() instanceof ObserverBlock) || neighborState.getValue(ObserverBlock.FACING).getOpposite() != direction) // Purpur - Add Option for disable observer clocks
|
+ if (!(level.getWorldBorder().world != null && level.getWorldBorder().world.purpurConfig.disableObserverClocks) || !(neighborState.getBlock() instanceof ObserverBlock) || neighborState.getValue(ObserverBlock.FACING).getOpposite() != direction) // Purpur - Add Option for disable observer clocks
|
||||||
this.startSignal(level, scheduledTickAccess, pos);
|
this.startSignal(level, scheduledTickAccess, pos);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
@Override
|
@Override
|
||||||
protected boolean canSurvive(BlockState state, LevelReader level, BlockPos pos) {
|
protected boolean canSurvive(BlockState state, LevelReader level, BlockPos pos) {
|
||||||
BlockState blockState = level.getBlockState(pos.below());
|
BlockState blockState = level.getBlockState(pos.below());
|
||||||
+ if (blockState.is(Blocks.BLUE_ICE) && !level.getWorldBorder().world.purpurConfig.snowOnBlueIce) return false; // Purpur - Add config for snow on blue ice
|
+ if (blockState.is(Blocks.BLUE_ICE) && !(level.getWorldBorder().world == null || level.getWorldBorder().world.purpurConfig.snowOnBlueIce)) return false; // Purpur - Add config for snow on blue ice
|
||||||
return !blockState.is(BlockTags.SNOW_LAYER_CANNOT_SURVIVE_ON)
|
return !blockState.is(BlockTags.SNOW_LAYER_CANNOT_SURVIVE_ON)
|
||||||
&& (
|
&& (
|
||||||
blockState.is(BlockTags.SNOW_LAYER_CAN_SURVIVE_ON)
|
blockState.is(BlockTags.SNOW_LAYER_CAN_SURVIVE_ON)
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
@Override
|
@Override
|
||||||
public int getTickDelay(LevelReader level) {
|
public int getTickDelay(LevelReader level) {
|
||||||
- return level.dimensionType().ultraWarm() ? 10 : 30;
|
- return level.dimensionType().ultraWarm() ? 10 : 30;
|
||||||
+ return level.dimensionType().ultraWarm() ? level.getWorldBorder().world.purpurConfig.lavaSpeedNether : level.getWorldBorder().world.purpurConfig.lavaSpeedNotNether; // Purpur - Make lava flow speed configurable
|
+ return level.getWorldBorder().world != null ? (level.dimensionType().ultraWarm() ? level.getWorldBorder().world.purpurConfig.lavaSpeedNether : level.getWorldBorder().world.purpurConfig.lavaSpeedNotNether) : (level.dimensionType().ultraWarm() ? 10 : 30); // Purpur - Make lava flow speed configurable
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
Reference in New Issue
Block a user