From 434bf4d99010da7260195a264edda8daea69b554 Mon Sep 17 00:00:00 2001 From: CreepyCre Date: Mon, 26 Apr 2021 01:04:04 +0200 Subject: [PATCH] fix RiftRemoverItem raycast issue --- src/main/java/org/dimdev/dimdoors/item/RiftRemoverItem.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/dimdev/dimdoors/item/RiftRemoverItem.java b/src/main/java/org/dimdev/dimdoors/item/RiftRemoverItem.java index c03b6b41..2dc81566 100644 --- a/src/main/java/org/dimdev/dimdoors/item/RiftRemoverItem.java +++ b/src/main/java/org/dimdev/dimdoors/item/RiftRemoverItem.java @@ -3,6 +3,7 @@ package org.dimdev.dimdoors.item; import java.util.List; import java.util.Objects; +import net.minecraft.util.hit.BlockHitResult; import org.dimdev.dimdoors.DimensionalDoorsInitializer; import org.dimdev.dimdoors.block.entity.DetachedRiftBlockEntity; import org.dimdev.dimdoors.block.entity.RiftBlockEntity; @@ -52,7 +53,8 @@ public class RiftRemoverItem extends Item { } if (RaycastHelper.hitsDetachedRift(hit, world)) { - DetachedRiftBlockEntity rift = (DetachedRiftBlockEntity) world.getBlockEntity(new BlockPos(hit.getPos())); + // casting to BlockHitResult is mostly safe since RaycastHelper#hitsDetachedRift already checks hit type + DetachedRiftBlockEntity rift = (DetachedRiftBlockEntity) world.getBlockEntity(((BlockHitResult) hit).getBlockPos()); if (!Objects.requireNonNull(rift).closing) { rift.setClosing(true); world.playSound(null, player.getBlockPos(), ModSoundEvents.RIFT_CLOSE, SoundCategory.BLOCKS, 0.6f, 1);