From 8d1b6f711f62898b84a1dbad93d09b6a51ca8be5 Mon Sep 17 00:00:00 2001 From: zyxkad Date: Sun, 26 Jan 2025 16:12:40 -0700 Subject: [PATCH] fix ClassNotFoundException when VS is not installed --- .../advancedperipherals/common/addons/APAddons.java | 10 +--------- .../addons/computercraft/owner/IPeripheralOwner.java | 3 ++- .../peripheral/plugins/AutomataLookPlugin.java | 3 ++- .../addons/valkyrienskies/AutomataVSMountPlugin.java | 3 ++- .../common/addons/valkyrienskies/ValkyrienSkies.java | 3 +-- .../util/fakeplayer/FakePlayerProviderTurtle.java | 3 ++- .../lib/peripherals/BasePeripheral.java | 5 +++-- 7 files changed, 13 insertions(+), 17 deletions(-) diff --git a/src/main/java/de/srendi/advancedperipherals/common/addons/APAddons.java b/src/main/java/de/srendi/advancedperipherals/common/addons/APAddons.java index b48fbbfb9..a1241b4d6 100644 --- a/src/main/java/de/srendi/advancedperipherals/common/addons/APAddons.java +++ b/src/main/java/de/srendi/advancedperipherals/common/addons/APAddons.java @@ -12,7 +12,6 @@ import net.minecraftforge.fml.ModList; import net.minecraftforge.fml.common.Mod; import net.minecraftforge.fml.event.lifecycle.InterModEnqueueEvent; -import org.valkyrienskies.core.api.ships.Ship; import org.valkyrienskies.mod.common.VSGameUtilsKt; import top.theillusivec4.curios.api.CuriosApi; import top.theillusivec4.curios.api.SlotResult; @@ -93,16 +92,9 @@ public static ItemStack getCurioGlasses(Player player) { } public static boolean isBlockOnShip(Level level, BlockPos pos) { - if (level == null || !vs2Loaded) { + if (!vs2Loaded) { return false; } return VSGameUtilsKt.isBlockInShipyard(level, pos); } - - public static Ship getVS2Ship(Level level, BlockPos pos) { - if (level == null || !vs2Loaded) { - return null; - } - return VSGameUtilsKt.getShipObjectManagingPos(level, pos); - } } diff --git a/src/main/java/de/srendi/advancedperipherals/common/addons/computercraft/owner/IPeripheralOwner.java b/src/main/java/de/srendi/advancedperipherals/common/addons/computercraft/owner/IPeripheralOwner.java index c5a4a8975..4ed959fd8 100644 --- a/src/main/java/de/srendi/advancedperipherals/common/addons/computercraft/owner/IPeripheralOwner.java +++ b/src/main/java/de/srendi/advancedperipherals/common/addons/computercraft/owner/IPeripheralOwner.java @@ -16,6 +16,7 @@ import net.minecraft.world.phys.Vec3; import org.joml.Vector3d; import org.valkyrienskies.core.api.ships.Ship; +import org.valkyrienskies.mod.common.VSGameUtilsKt; import java.util.Collection; import java.util.HashSet; @@ -46,7 +47,7 @@ default Vec3 getDirection() { if (!APAddons.vs2Loaded) { return dir; } - Ship ship = APAddons.getVS2Ship(getLevel(), getPos()); + Ship ship = VSGameUtilsKt.getShipObjectManagingPos(getLevel(), getPos()); if (ship == null) { return dir; } diff --git a/src/main/java/de/srendi/advancedperipherals/common/addons/computercraft/peripheral/plugins/AutomataLookPlugin.java b/src/main/java/de/srendi/advancedperipherals/common/addons/computercraft/peripheral/plugins/AutomataLookPlugin.java index 1a7a0201a..855271248 100644 --- a/src/main/java/de/srendi/advancedperipherals/common/addons/computercraft/peripheral/plugins/AutomataLookPlugin.java +++ b/src/main/java/de/srendi/advancedperipherals/common/addons/computercraft/peripheral/plugins/AutomataLookPlugin.java @@ -20,6 +20,7 @@ import net.minecraftforge.registries.ForgeRegistries; import org.jetbrains.annotations.NotNull; import org.valkyrienskies.core.api.ships.Ship; +import org.valkyrienskies.mod.common.VSGameUtilsKt; import java.util.Collections; import java.util.HashMap; @@ -57,7 +58,7 @@ public final MethodResult lookAtBlock(@NotNull IArguments arguments) throws LuaE data.put("y", pos.y - origin.y); data.put("z", pos.z - origin.z); if (APAddons.vs2Loaded) { - Ship ship = APAddons.getVS2Ship(automataCore.getLevel(), blockPos); + Ship ship = VSGameUtilsKt.getShipObjectManagingPos(automataCore.getLevel(), blockPos); if (ship != null) { data.put("shipId", ship.getId()); data.put("shipName", ship.getSlug()); diff --git a/src/main/java/de/srendi/advancedperipherals/common/addons/valkyrienskies/AutomataVSMountPlugin.java b/src/main/java/de/srendi/advancedperipherals/common/addons/valkyrienskies/AutomataVSMountPlugin.java index 758b46a85..543b673cc 100644 --- a/src/main/java/de/srendi/advancedperipherals/common/addons/valkyrienskies/AutomataVSMountPlugin.java +++ b/src/main/java/de/srendi/advancedperipherals/common/addons/valkyrienskies/AutomataVSMountPlugin.java @@ -16,6 +16,7 @@ import net.minecraft.world.phys.Vec3; import org.joml.Vector3d; import org.valkyrienskies.core.api.ships.ServerShip; +import org.valkyrienskies.mod.common.VSGameUtilsKt; import java.util.List; import java.util.Map; @@ -38,7 +39,7 @@ public final boolean isOnShip() { @LuaFunction(mainThread = true) public final MethodResult getCurrentShip() { IPeripheralOwner owner = this.automataCore.getPeripheralOwner(); - ServerShip ship = (ServerShip) APAddons.getVS2Ship(owner.getLevel(), owner.getPos()); + ServerShip ship = (ServerShip) VSGameUtilsKt.getShipObjectManagingPos(owner.getLevel(), owner.getPos()); if (ship == null) { return MethodResult.of(); } diff --git a/src/main/java/de/srendi/advancedperipherals/common/addons/valkyrienskies/ValkyrienSkies.java b/src/main/java/de/srendi/advancedperipherals/common/addons/valkyrienskies/ValkyrienSkies.java index 61d084da1..2a18aeca9 100644 --- a/src/main/java/de/srendi/advancedperipherals/common/addons/valkyrienskies/ValkyrienSkies.java +++ b/src/main/java/de/srendi/advancedperipherals/common/addons/valkyrienskies/ValkyrienSkies.java @@ -1,6 +1,5 @@ package de.srendi.advancedperipherals.common.addons.valkyrienskies; -import de.srendi.advancedperipherals.common.addons.APAddons; import net.minecraft.core.BlockPos; import net.minecraft.server.level.ServerLevel; import net.minecraft.world.phys.Vec3; @@ -16,7 +15,7 @@ public final class ValkyrienSkies { private ValkyrienSkies() {} public static List getNearbyShips(ServerLevel level, Vec3 pos, double radius) { - Ship ship = APAddons.getVS2Ship(level, new BlockPos(pos)); + Ship ship = VSGameUtilsKt.getShipObjectManagingPos(level, new BlockPos(pos)); if (ship != null) { Vector3d newPos = ship.getShipToWorld().transformPosition(new Vector3d(pos.x, pos.y, pos.z)); pos = new Vec3(newPos.x, newPos.y, newPos.z); diff --git a/src/main/java/de/srendi/advancedperipherals/common/util/fakeplayer/FakePlayerProviderTurtle.java b/src/main/java/de/srendi/advancedperipherals/common/util/fakeplayer/FakePlayerProviderTurtle.java index 159fcda5c..2fd019fc6 100644 --- a/src/main/java/de/srendi/advancedperipherals/common/util/fakeplayer/FakePlayerProviderTurtle.java +++ b/src/main/java/de/srendi/advancedperipherals/common/util/fakeplayer/FakePlayerProviderTurtle.java @@ -18,6 +18,7 @@ import org.joml.Matrix4dc; import org.joml.Vector3d; import org.valkyrienskies.core.api.ships.Ship; +import org.valkyrienskies.mod.common.VSGameUtilsKt; import java.util.WeakHashMap; @@ -45,7 +46,7 @@ public static void load(APFakePlayer player, ITurtleAccess turtle) { Vec3 direction = Vec3.atLowerCornerOf(turtle.getDirection().getNormal()); Vec3 position = Vec3.atCenterOf(pos); if (APAddons.vs2Loaded) { - Ship ship = APAddons.getVS2Ship(level, pos); + Ship ship = VSGameUtilsKt.getShipObjectManagingPos(level, pos); if (ship != null) { Matrix4dc matrix = ship.getShipToWorld(); Vector3d newPos = matrix.transformPosition(new Vector3d(position.x, position.y, position.z)); diff --git a/src/main/java/de/srendi/advancedperipherals/lib/peripherals/BasePeripheral.java b/src/main/java/de/srendi/advancedperipherals/lib/peripherals/BasePeripheral.java index 72706f173..f7261df7b 100644 --- a/src/main/java/de/srendi/advancedperipherals/lib/peripherals/BasePeripheral.java +++ b/src/main/java/de/srendi/advancedperipherals/lib/peripherals/BasePeripheral.java @@ -21,6 +21,7 @@ import org.jetbrains.annotations.Nullable; import org.joml.Vector3d; import org.valkyrienskies.core.api.ships.Ship; +import org.valkyrienskies.mod.common.VSGameUtilsKt; import java.util.ArrayList; import java.util.Collections; @@ -153,7 +154,7 @@ public Level getLevel() { } public boolean isOnShip() { - return APAddons.vs2Loaded && APAddons.isBlockOnShip(owner.getLevel(), owner.getPos()); + return APAddons.isBlockOnShip(owner.getLevel(), owner.getPos()); } public Vec3 getPhysicsPos() { @@ -161,7 +162,7 @@ public Vec3 getPhysicsPos() { if (!APAddons.vs2Loaded) { return pos; } - Ship ship = APAddons.getVS2Ship(owner.getLevel(), owner.getPos()); + Ship ship = VSGameUtilsKt.getShipObjectManagingPos(owner.getLevel(), owner.getPos()); if (ship == null) { return pos; }