diff --git a/shared/src/main/java/net/blay09/mods/waystones/block/entity/WarpPlateBlockEntity.java b/shared/src/main/java/net/blay09/mods/waystones/block/entity/WarpPlateBlockEntity.java index 5a5014fc..894ade88 100644 --- a/shared/src/main/java/net/blay09/mods/waystones/block/entity/WarpPlateBlockEntity.java +++ b/shared/src/main/java/net/blay09/mods/waystones/block/entity/WarpPlateBlockEntity.java @@ -213,7 +213,9 @@ public MenuProvider getSettingsMenuProvider() { public void onEntityCollision(Entity entity) { Integer ticksPassed = ticksPassedPerEntity.putIfAbsent(entity, 0); if (ticksPassed == null || ticksPassed != -1) { - final var status = getTargetWaystone().isValid() ? WarpPlateBlock.WarpPlateStatus.ACTIVE : WarpPlateBlock.WarpPlateStatus.INVALID; + final var status = getTargetWaystone().filter(IWaystone::isValid) + .map(it -> WarpPlateBlock.WarpPlateStatus.ACTIVE) + .orElse(WarpPlateBlock.WarpPlateStatus.INVALID); level.setBlock(worldPosition, getBlockState() .setValue(WarpPlateBlock.ACTIVE, true) .setValue(WarpPlateBlock.STATUS, status), 3); @@ -426,9 +428,8 @@ public ItemStack getTargetAttunementStack() { return ItemStack.EMPTY; } - @Nullable - public IWaystone getTargetWaystone() { - return WaystonesAPI.getBoundWaystone(getTargetAttunementStack()).orElse(null); + public Optional getTargetWaystone() { + return WaystonesAPI.getBoundWaystone(getTargetAttunementStack()); } public int getMaxAttunementTicks() {