Merge branch 'ver/1.21.10' into ver/1.21.11

This commit is contained in:
granny
2025-12-09 16:35:36 -08:00
6 changed files with 8 additions and 8 deletions

View File

@@ -15,9 +15,9 @@
private boolean isTargetBlocked(Level level, TransportItemsBetweenContainers.TransportItemTarget target) { private boolean isTargetBlocked(Level level, TransportItemsBetweenContainers.TransportItemTarget target) {
- return ChestBlock.isChestBlockedAt(level, target.pos); - return ChestBlock.isChestBlockedAt(level, target.pos);
+ // Purpur start - copper golem can place items in barrels or shulkers option + // Purpur start - copper golem can place items in barrels or shulkers option
+ boolean isBarrelBlocked = level.purpurConfig.copperGolemCanOpenBarrel && target.state.is(net.minecraft.world.level.block.Blocks.BARREL); + boolean isBarrelBlocked = !level.purpurConfig.copperGolemCanOpenBarrel && target.state.is(net.minecraft.world.level.block.Blocks.BARREL);
+ boolean isShulkerBlocked = level.purpurConfig.copperGolemCanOpenShulker && target.blockEntity instanceof net.minecraft.world.level.block.entity.ShulkerBoxBlockEntity shulkerBoxBlockEntity && !net.minecraft.world.level.block.ShulkerBoxBlock.canOpen(target.state, level, target.pos, shulkerBoxBlockEntity); + boolean isShulkerBlocked = !level.purpurConfig.copperGolemCanOpenShulker && target.blockEntity instanceof net.minecraft.world.level.block.entity.ShulkerBoxBlockEntity shulkerBoxBlockEntity && !net.minecraft.world.level.block.ShulkerBoxBlock.canOpen(target.state, level, target.pos, shulkerBoxBlockEntity);
+ return isBarrelBlocked || isShulkerBlocked || net.minecraft.world.level.block.ChestBlock.isChestBlockedAt(level, target.pos); + return target.state.is(net.minecraft.world.level.block.Blocks.BARREL) ? isBarrelBlocked : isShulkerBlocked || net.minecraft.world.level.block.ChestBlock.isChestBlockedAt(level, target.pos);
+ // Purpur end - copper golem can place items in barrels or shulkers option + // Purpur end - copper golem can place items in barrels or shulkers option
} }

View File

@@ -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;
} }
} }

View File

@@ -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));
} }

View File

@@ -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);
} }

View File

@@ -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)

View File

@@ -5,7 +5,7 @@
@Override @Override
public int getTickDelay(LevelReader level) { public int getTickDelay(LevelReader level) {
- return isFastLava(level) ? 10 : 30; - return isFastLava(level) ? 10 : 30;
+ return isFastLava(level) ? level.getWorldBorder().world.purpurConfig.lavaSpeedNether : level.getWorldBorder().world.purpurConfig.lavaSpeedNotNether; // Purpur - Make lava flow speed configurable + return level.getWorldBorder().world != null ? (isFastLava(level) ? level.getWorldBorder().world.purpurConfig.lavaSpeedNether : level.getWorldBorder().world.purpurConfig.lavaSpeedNotNether) : (isFastLava(level) ? 10 : 30); // Purpur - Make lava flow speed configurable
} }
@Override @Override