Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 10 additions & 15 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -201,12 +201,12 @@ repositories {
}
}
maven {
name = "Modmaven Jei"
name = "Modmaven"
url = 'https://modmaven.dev/'
content {
includeGroup("mezz.jei")
includeGroup("appeng")
includeGroup("mekanism")
includeGroup("mezz.jei")
}
}
maven {
Expand Down Expand Up @@ -376,20 +376,15 @@ dependencies {
// runtimeOnly fg.deobf("curse.maven:createaddition-439890:5099757")

// Valkyrien Skies 2
implementation("org.joml:joml:1.10.4") {
transitive = false
}
implementation("org.joml:joml-primitives:1.10.0") {
transitive = false
}
// implementation fg.deobf("org.valkyrienskies:valkyrienskies-119-common:${vs2_version}")
implementation fg.deobf("org.valkyrienskies:valkyrienskies-119-forge:${vs2_version}") {
transitive = false
}
compileOnly("org.joml:joml:1.10.4")
compileOnly("org.joml:joml-primitives:1.10.0")
// compileOnly fg.deobf("org.valkyrienskies:valkyrienskies-119-common:${vs2_version}")
compileOnly fg.deobf("org.valkyrienskies:valkyrienskies-119-forge:${vs2_version}")
compileOnly "org.valkyrienskies.core:api:${vs_core_version}"
compileOnly "org.valkyrienskies.core:api-game:${vs_core_version}"
compileOnly "org.valkyrienskies.core:util:${vs_core_version}"
compileOnly "org.valkyrienskies.core:impl:${vs_core_version}"
runtimeOnly fg.deobf("org.valkyrienskies:valkyrienskies-119-forge:${vs2_version}")
runtimeOnly fg.deobf("curse.maven:valkyrien-skies-258371:${valkyrien_skies_version}")
runtimeOnly fg.deobf("curse.maven:eureka-ships-654384:${eureka_ships_version}")
runtimeOnly fg.deobf("curse.maven:clockwork-807792:${clockwork_version}")
Expand Down Expand Up @@ -427,12 +422,12 @@ task setupServer(type: Copy) {
}

["Client", "Server"].forEach { name ->
tasks.register("test$name", JavaExec.class).configure {
tasks.register("test${name}", JavaExec.class).configure {
it.group('In-game tests')
it.description("Runs tests on a temporary Minecraft instance.")
it.dependsOn(setupServer, "prepareRunTest$name", "cleanTest$name", 'compileTestModJava')
it.dependsOn(setupServer, "prepareRunTest${name}", "cleanTest${name}", 'compileTestModJava')

JavaExec exec = tasks.getByName("runTest$name")
JavaExec exec = tasks.getByName("runTest${name}")
exec.copyTo(it)
it.setClasspath(exec.getClasspath())
it.mainClass = exec.mainClass
Expand Down
42 changes: 23 additions & 19 deletions gradle.properties
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
org.gradle.jvmargs=-Xmx4G
org.gradle.daemon=false
org.gradle.jvmargs=-Xmx4G
org.gradle.logging.level=info

# Minecraft related
Expand All @@ -10,53 +10,57 @@ mod_id=advancedperipherals
mod_version=0.8r
minecraft_version=1.19.2
mod_artifact_suffix=

forge_version=43.4.0
loader_version=43

release_type=release

mappings_channel=parchment
mappings_version=2022.11.20-1.19.2
jb_annotations=21.0.1

# Test dependencies
junit_version=5.7.2
hamcrest_version=2.2
jb_annotations=21.0.1
junit_version=5.7.2
kotlin_version=1.8.0
kotlinx_coroutines_version=1.7.3
ttoolkit_version=0.1.3

# Mod dependencies
cc_version=1.101.3
curios_version=1.19.2-5.1.4.1
minecolonies_version=1.19.2-1.1.473-BETA
appliedenergistics_version=12.9.9
patchouli_version=1.19.2-77
refinedstorage_version=1.11.7

ae2additions_version=4646599
ae2things_version=4367610
appliedenergistics_version=12.9.12
appliedmekanistics_version=4734608
botania_version=1.19.2-440-FORGE
clockwork_version=5171528
create_version=0.5.1.f-46
createca_version=5099757
curios_version=1.19.2-5.1.4.1
dimstorage_version=3927875
eureka_ships_version=5321628
kotlinforforge_version=3.12.0
mekanism_version=1.19.2-10.3.9.13
ae2things_version=4367610
minecolonies_version=1.19.2-1.1.473-BETA
patchouli_version=1.19.2-77
powah_version=4183078
ae2additions_version=4646599
kotlinforforge_version=3.12.0
appliedmekanistics_version=4734608
dimstorage_version=3927875
refinedstorage_version=1.11.7
valkyrien_skies_version=4994898
eureka_ships_version=5321628
clockwork_version=5171528
vs2_version=2.1.2-beta.1+a04911c932
vs_core_version=1.1.0+2a62e6a823

# Mod dependencies which are needed for other mods
# For minecolonies
structurize_version=1.19.2-1.0.649-BETA
multipiston_version=1.19.2-1.2.21-ALPHA
blockui_version=1.19.2-0.0.102-ALPHA
domumornamentum_version=1.19-1.0.141-BETA
multipiston_version=1.19.2-1.2.21-ALPHA
structurize_version=1.19.2-1.0.649-BETA

# For DimStorage
edivadlib_version=3927847

# Mod dependencies for testing stuff(Only used in the dev environment)
# Mod dependencies for testing stuff (Only used in the dev environment)
jade_version=4914105
jei_version=1.19.2-forge:11.6.0.1016
jade_version=4914105
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

import de.srendi.advancedperipherals.AdvancedPeripherals;
import de.srendi.advancedperipherals.common.addons.refinedstorage.RefinedStorage;
import de.srendi.advancedperipherals.common.addons.valkyrienskies.ValkyrienSkies;
import net.minecraft.core.BlockPos;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.entity.player.Player;
Expand All @@ -12,7 +13,6 @@
import net.minecraftforge.fml.ModList;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.fml.event.lifecycle.InterModEnqueueEvent;
import org.valkyrienskies.mod.common.VSGameUtilsKt;
import top.theillusivec4.curios.api.CuriosApi;
import top.theillusivec4.curios.api.SlotResult;
import top.theillusivec4.curios.api.SlotTypeMessage;
Expand Down Expand Up @@ -95,6 +95,6 @@ public static boolean isBlockOnShip(Level level, BlockPos pos) {
if (!vs2Loaded) {
return false;
}
return VSGameUtilsKt.isBlockInShipyard(level, pos);
return ValkyrienSkies.isBlockOnShip(level, pos);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

import dan200.computercraft.api.peripheral.IPeripheral;
import de.srendi.advancedperipherals.common.addons.APAddons;
import de.srendi.advancedperipherals.common.addons.valkyrienskies.ValkyrienSkies;
import de.srendi.advancedperipherals.common.util.fakeplayer.APFakePlayer;
import de.srendi.advancedperipherals.lib.peripherals.IPeripheralOperation;
import net.minecraft.core.BlockPos;
Expand All @@ -14,9 +15,6 @@
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.level.Level;
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;
Expand Down Expand Up @@ -47,12 +45,7 @@ default Vec3 getDirection() {
if (!APAddons.vs2Loaded) {
return dir;
}
Ship ship = VSGameUtilsKt.getShipObjectManagingPos(getLevel(), getPos());
if (ship == null) {
return dir;
}
Vector3d newDir = ship.getShipToWorld().transformDirection(new Vector3d(dir.x, dir.y, dir.z));
return new Vec3(newDir.x, newDir.y, newDir.z);
return ValkyrienSkies.transformToWorldDir(getLevel(), getPos(), dir);
}

@Nullable Entity getHoldingEntity();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
import dan200.computercraft.api.pocket.IPocketUpgrade;
import dan200.computercraft.api.turtle.ITurtleAccess;
import dan200.computercraft.api.turtle.TurtleSide;

import de.srendi.advancedperipherals.common.addons.computercraft.operations.SphereOperationContext;
import de.srendi.advancedperipherals.common.addons.computercraft.owner.BlockEntityPeripheralOwner;
import de.srendi.advancedperipherals.common.addons.computercraft.owner.IPeripheralOwner;
Expand All @@ -18,6 +19,7 @@
import de.srendi.advancedperipherals.common.util.LuaConverter;
import de.srendi.advancedperipherals.lib.peripherals.BasePeripheral;
import de.srendi.advancedperipherals.lib.peripherals.IPeripheralPlugin;

import net.minecraft.resources.ResourceKey;
import net.minecraft.util.Mth;
import net.minecraft.world.entity.Entity;
Expand All @@ -35,7 +37,6 @@
import net.minecraftforge.event.entity.player.SleepingTimeCheckEvent;
import net.minecraftforge.eventbus.api.Event;
import net.minecraftforge.server.ServerLifecycleHooks;
import org.jetbrains.annotations.NotNull;

import java.util.ArrayList;
import java.util.HashMap;
Expand All @@ -45,6 +46,7 @@
import java.util.Optional;
import java.util.Set;
import java.util.function.Function;
import org.jetbrains.annotations.NotNull;

import static de.srendi.advancedperipherals.common.addons.computercraft.operations.SphereOperation.SCAN_ENTITIES;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,11 @@
import dan200.computercraft.core.apis.TableHelper;
import de.srendi.advancedperipherals.common.addons.APAddons;
import de.srendi.advancedperipherals.common.addons.computercraft.owner.TurtlePeripheralOwner;
import de.srendi.advancedperipherals.common.addons.valkyrienskies.ValkyrienSkies;
import de.srendi.advancedperipherals.common.util.LuaConverter;
import de.srendi.advancedperipherals.common.util.fakeplayer.APFakePlayer;
import de.srendi.advancedperipherals.lib.peripherals.AutomataCorePeripheral;

import net.minecraft.core.BlockPos;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.level.block.state.BlockState;
Expand All @@ -18,13 +20,11 @@
import net.minecraft.world.phys.HitResult;
import net.minecraft.world.phys.Vec3;
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;
import java.util.Map;
import org.jetbrains.annotations.NotNull;

public class AutomataLookPlugin extends AutomataCorePlugin {

Expand Down Expand Up @@ -58,11 +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 = VSGameUtilsKt.getShipObjectManagingPos(automataCore.getLevel(), blockPos);
if (ship != null) {
data.put("shipId", ship.getId());
data.put("shipName", ship.getSlug());
}
ValkyrienSkies.encodeShipInfo(automataCore.getLevel(), blockPos, data);
}
return MethodResult.of(data);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

import net.minecraft.core.BlockPos;
import net.minecraft.server.level.ServerLevel;
import net.minecraft.world.level.Level;
import net.minecraft.world.phys.Vec3;
import org.joml.Vector3d;
import org.valkyrienskies.core.api.ships.ServerShip;
Expand All @@ -10,10 +11,42 @@

import java.util.ArrayList;
import java.util.List;
import java.util.Map;

public final class ValkyrienSkies {
private ValkyrienSkies() {}

public static boolean isBlockOnShip(Level level, BlockPos pos) {
return VSGameUtilsKt.isBlockInShipyard(level, pos);
}

public static Vec3 transformToWorldPos(Level level, BlockPos blockPos, Vec3 pos) {
Ship ship = VSGameUtilsKt.getShipObjectManagingPos(level, blockPos);
if (ship == null) {
return pos;
}
Vector3d newPos = ship.getShipToWorld().transformPosition(new Vector3d(pos.x, pos.y, pos.z));
return new Vec3(newPos.x, newPos.y, newPos.z);
}

public static Vec3 transformToWorldDir(Level level, BlockPos blockPos, Vec3 dir) {
Ship ship = VSGameUtilsKt.getShipObjectManagingPos(level, blockPos);
if (ship == null) {
return dir;
}
Vector3d newDir = ship.getShipToWorld().transformDirection(new Vector3d(dir.x, dir.y, dir.z));
return new Vec3(newDir.x, newDir.y, newDir.z);
}

public static void encodeShipInfo(Level level, BlockPos blockPos, Map<String, Object> data) {
Ship ship = VSGameUtilsKt.getShipObjectManagingPos(level, blockPos);
if (ship == null) {
return;
}
data.put("shipId", ship.getId());
data.put("shipName", ship.getSlug());
}

public static List<ServerShip> getNearbyShips(ServerLevel level, Vec3 pos, double radius) {
Ship ship = VSGameUtilsKt.getShipObjectManagingPos(level, new BlockPos(pos));
if (ship != null) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
import dan200.computercraft.api.turtle.ITurtleAccess;
import dan200.computercraft.shared.util.WorldUtil;
import de.srendi.advancedperipherals.common.addons.APAddons;
import de.srendi.advancedperipherals.common.addons.valkyrienskies.ValkyrienSkies;
import net.minecraft.commands.arguments.EntityAnchorArgument;
import net.minecraft.core.BlockPos;
import net.minecraft.server.level.ServerLevel;
Expand All @@ -15,10 +16,6 @@
import net.minecraft.world.phys.Vec3;
import net.minecraftforge.items.ItemHandlerHelper;
import net.minecraftforge.items.wrapper.InvWrapper;
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;

Expand Down Expand Up @@ -46,14 +43,8 @@ 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 = VSGameUtilsKt.getShipObjectManagingPos(level, pos);
if (ship != null) {
Matrix4dc matrix = ship.getShipToWorld();
Vector3d newPos = matrix.transformPosition(new Vector3d(position.x, position.y, position.z));
Vector3d newDir = matrix.transformDirection(new Vector3d(direction.x, direction.y, direction.z));
position = new Vec3(newPos.x, newPos.y, newPos.z);
direction = new Vec3(newDir.x, newDir.y, newDir.z);
}
position = ValkyrienSkies.transformToWorldPos(level, pos, position);
direction = ValkyrienSkies.transformToWorldDir(level, pos, direction);
}
player.setPosRaw(position.x, position.y, position.z);
player.lookAt(EntityAnchorArgument.Anchor.FEET, position.add(direction));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,16 +12,12 @@
import de.srendi.advancedperipherals.common.addons.computercraft.owner.IPeripheralOwner;
import de.srendi.advancedperipherals.common.addons.computercraft.owner.OperationAbility;
import de.srendi.advancedperipherals.common.addons.computercraft.owner.PeripheralOwnerAbility;
import de.srendi.advancedperipherals.common.addons.valkyrienskies.ValkyrienSkies;
import de.srendi.advancedperipherals.common.util.CoordUtil;
import net.minecraft.core.BlockPos;
import net.minecraft.core.Direction;
import net.minecraft.world.level.Level;
import net.minecraft.world.phys.Vec3;
import org.jetbrains.annotations.NotNull;
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;
Expand All @@ -34,6 +30,8 @@
import java.util.concurrent.ConcurrentHashMap;
import java.util.function.BiConsumer;
import java.util.function.Consumer;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;

public abstract class BasePeripheral<O extends IPeripheralOwner> implements IBasePeripheral<O>, IDynamicPeripheral {

Expand Down Expand Up @@ -162,12 +160,7 @@ public Vec3 getPhysicsPos() {
if (!APAddons.vs2Loaded) {
return pos;
}
Ship ship = VSGameUtilsKt.getShipObjectManagingPos(owner.getLevel(), owner.getPos());
if (ship == null) {
return pos;
}
Vector3d newPos = ship.getShipToWorld().transformPosition(new Vector3d(pos.x, pos.y, pos.z));
return new Vec3(newPos.x, newPos.y, newPos.z);
return ValkyrienSkies.transformToWorldPos(owner.getLevel(), owner.getPos(), pos);
}

public final BlockPos getPhysicsBlockPos() {
Expand Down
Loading