From 2f0bc2edcc714612043cad105ac66a02b6b48bc7 Mon Sep 17 00:00:00 2001 From: Max Gurela Date: Fri, 12 Feb 2021 17:31:11 -0800 Subject: [PATCH] fix a couple edge case crashes --- .../mc/lib/multipart/impl/MultipartBlock.java | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/main/java/alexiil/mc/lib/multipart/impl/MultipartBlock.java b/src/main/java/alexiil/mc/lib/multipart/impl/MultipartBlock.java index 2b756db..b337313 100644 --- a/src/main/java/alexiil/mc/lib/multipart/impl/MultipartBlock.java +++ b/src/main/java/alexiil/mc/lib/multipart/impl/MultipartBlock.java @@ -114,10 +114,12 @@ public BlockEntity createBlockEntity(BlockView var1) { @Override public VoxelShape getCollisionShape(BlockState state, BlockView view, BlockPos pos, ShapeContext ctx) { - BlockEntity be = view.getBlockEntity(pos); - if (be instanceof MultipartBlockEntity) { - MultipartBlockEntity container = (MultipartBlockEntity) be; - return container.container.getCollisionShape(); + if (view != null) { + BlockEntity be = view.getBlockEntity(pos); + if (be instanceof MultipartBlockEntity) { + MultipartBlockEntity container = (MultipartBlockEntity) be; + return container.container.getCollisionShape(); + } } return MISSING_PARTS_SHAPE; } @@ -125,12 +127,12 @@ public VoxelShape getCollisionShape(BlockState state, BlockView view, BlockPos p @Override public VoxelShape getOutlineShape(BlockState state, BlockView view, BlockPos pos, ShapeContext ctx) { BlockEntity be = view.getBlockEntity(pos); - if (be instanceof MultipartBlockEntity) { + if (be instanceof MultipartBlockEntity && view instanceof World) { MultipartBlockEntity container = (MultipartBlockEntity) be; if (LibMultiPart.isDrawingBlockOutlines.getAsBoolean()) { Vec3d hitVec = MinecraftClient.getInstance().crosshairTarget.getPos(); - return getPartOutlineShape(state, (World) view, pos, hitVec); + return getPartOutlineShape(state, (World)view, pos, hitVec); } return container.container.getOutlineShape();