From 2d4f06f3c31e487e5f056157b2a859dd8a87fe75 Mon Sep 17 00:00:00 2001 From: Swedz Date: Wed, 10 Dec 2025 22:14:42 -0500 Subject: [PATCH 1/2] Fix #1236: Error in server log when trying to place an MI pipe out of world bounds --- .../modern_industrialization/pipes/impl/PipeItem.java | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/main/java/aztech/modern_industrialization/pipes/impl/PipeItem.java b/src/main/java/aztech/modern_industrialization/pipes/impl/PipeItem.java index ee7d9d220..fd012622b 100644 --- a/src/main/java/aztech/modern_industrialization/pipes/impl/PipeItem.java +++ b/src/main/java/aztech/modern_industrialization/pipes/impl/PipeItem.java @@ -30,7 +30,10 @@ import aztech.modern_industrialization.pipes.electricity.ElectricityNetworkData; import aztech.modern_industrialization.pipes.fluid.FluidNetworkData; import aztech.modern_industrialization.pipes.item.ItemNetworkData; +import net.minecraft.ChatFormatting; import net.minecraft.core.BlockPos; +import net.minecraft.network.chat.Component; +import net.minecraft.server.level.ServerPlayer; import net.minecraft.sounds.SoundSource; import net.minecraft.world.InteractionResult; import net.minecraft.world.entity.player.Player; @@ -154,6 +157,13 @@ private boolean tryPlaceAt(UseOnContext context, BlockPos pos) { } private static boolean canPlace(UseOnContext ctx, BlockPos pos) { + if(!ctx.getLevel().isInWorldBounds(pos)) { + int worldHeightLimit = ctx.getLevel().getMaxBuildHeight(); + if(ctx.getPlayer() instanceof ServerPlayer player && pos.getY() >= worldHeightLimit) { + player.sendSystemMessage(Component.translatable("build.tooHigh", worldHeightLimit - 1).withStyle(ChatFormatting.RED), true); + } + return false; + } BlockState state = MIPipes.BLOCK_PIPE.get().defaultBlockState(); CollisionContext shapeContext = ctx.getPlayer() == null ? CollisionContext.empty() : CollisionContext.of(ctx.getPlayer()); return ctx.getLevel().getBlockState(pos).canBeReplaced(new BlockPlaceContext(ctx)) && state.canSurvive(ctx.getLevel(), pos) From f035713eeceb675089a36a58ad56eb2a292c3111 Mon Sep 17 00:00:00 2001 From: Technici4n <13494793+Technici4n@users.noreply.github.com> Date: Mon, 27 Apr 2026 21:45:50 +0200 Subject: [PATCH 2/2] Fix formatting --- .../aztech/modern_industrialization/pipes/impl/PipeItem.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/aztech/modern_industrialization/pipes/impl/PipeItem.java b/src/main/java/aztech/modern_industrialization/pipes/impl/PipeItem.java index fd012622b..a0a10ce39 100644 --- a/src/main/java/aztech/modern_industrialization/pipes/impl/PipeItem.java +++ b/src/main/java/aztech/modern_industrialization/pipes/impl/PipeItem.java @@ -157,9 +157,9 @@ private boolean tryPlaceAt(UseOnContext context, BlockPos pos) { } private static boolean canPlace(UseOnContext ctx, BlockPos pos) { - if(!ctx.getLevel().isInWorldBounds(pos)) { + if (!ctx.getLevel().isInWorldBounds(pos)) { int worldHeightLimit = ctx.getLevel().getMaxBuildHeight(); - if(ctx.getPlayer() instanceof ServerPlayer player && pos.getY() >= worldHeightLimit) { + if (ctx.getPlayer() instanceof ServerPlayer player && pos.getY() >= worldHeightLimit) { player.sendSystemMessage(Component.translatable("build.tooHigh", worldHeightLimit - 1).withStyle(ChatFormatting.RED), true); } return false;