This commit is contained in:
Robert MacRae
2025-02-15 18:31:21 -04:00
parent ceb0efdeed
commit ef9be6caaa
1280 changed files with 4287 additions and 4308 deletions

View File

@@ -26,12 +26,12 @@ The original section that was found here is preserved below, however it should b
~~While the mod isn't quite yet ready for release due to some remaining technical and usability issues, the API should be mostly stable at this point. For most people the high level device API will be sufficient, and is much more accessible. It centers around the [`RPCDevice`][RPC Device]. For a sample block implementation, see the [redstone interface]. For a sample item implementation, see the [sound card]. If you wish to dive deeper, and provide emulated hardware that requires a Linux driver, this centers around the [`VMDevice`][VM Device]. For a sample block implementation, see the [disk drive]. For a sample item implementation, see the [network card].~~
[OpenComputers]: https://github.com/MightyPirates/OpenComputers
[RPC Device]: src/main/java/li/cil/oc2/api/bus/device/rpc/RPCDevice.java
[redstone interface]: src/main/java/li/cil/oc2/common/blockentity/RedstoneInterfaceBlockEntity.java
[sound card]: src/main/java/li/cil/oc2/common/bus/device/rpc/item/SoundCardItemDevice.java
[VM Device]: src/main/java/li/cil/oc2/api/bus/device/vm/VMDevice.java
[disk drive]: src/main/java/li/cil/oc2/common/blockentity/DiskDriveBlockEntity.java
[network card]: src/main/java/li/cil/oc2/common/bus/device/vm/item/NetworkInterfaceCardDevice.java
[RPC Device]: src/main/java/li/cil/oc2r/api/bus/device/rpc/RPCDevice.java
[redstone interface]: src/main/java/li/cil/oc2r/common/blockentity/RedstoneInterfaceBlockEntity.java
[sound card]: src/main/java/li/cil/oc2r/common/bus/device/rpc/item/SoundCardItemDevice.java
[VM Device]: src/main/java/li/cil/oc2r/api/bus/device/vm/VMDevice.java
[disk drive]: src/main/java/li/cil/oc2r/common/blockentity/DiskDriveBlockEntity.java
[network card]: src/main/java/li/cil/oc2r/common/bus/device/vm/item/NetworkInterfaceCardDevice.java
[documentation]: src/main/resources/assets/oc2/doc/en_us/index.md
[GithubPackagesGradle]: https://docs.github.com/en/packages/working-with-a-github-packages-registry/working-with-the-gradle-registry
[Sangar (fnuecke)]: https://github.com/fnuecke

View File

@@ -33,7 +33,7 @@ def getGitRef() {
}
version = "${semver}+${getGitRef()}"
group = "li.cil.oc2"
group = "li.cil.oc2r"
java.toolchain.languageVersion = JavaLanguageVersion.of(17)
@@ -172,30 +172,30 @@ minecraft {
client {
workingDirectory project.file("runclient")
property "forge.enabledGameTestNamespaces", "oc2"
property "forge.enabledGameTestNamespaces", "oc2r"
}
server {
workingDirectory project.file("run")
property "forge.enabledGameTestNamespaces", "oc2"
property "forge.enabledGameTestNamespaces", "oc2r"
arg "--nogui"
}
gameTestServer {
workingDirectory project.file('run')
property "forge.enabledGameTestNamespaces", "oc2"
property "forge.enabledGameTestNamespaces", "oc2r"
}
data {
workingDirectory project.file("run")
args "--mod", "oc2", "--all", "--output", file("src/generated/resources/"), "--existing", file("src/main/resources")
args "--mod", "oc2r", "--all", "--output", file("src/generated/resources/"), "--existing", file("src/main/resources")
}
}
}
mixin {
add sourceSets.main, "mixins.oc2.refmap.json"
config "mixins.oc2.json"
config "mixins.oc2r.json"
// quiet
}
@@ -212,14 +212,14 @@ jar {
manifest {
attributes([
"FMLAT" : "accesstransformer.cfg",
"Specification-Title" : "oc2",
"Specification-Title" : "oc2r",
"Specification-Vendor" : "North Western Development (Originally by Sangar)",
"Specification-Version" : "1",
"Implementation-Title" : project.name,
"Implementation-Version" : "${semver}",
"Implementation-Vendor" : "North Western Development (Originally by Sangar)",
"Implementation-Timestamp": new Date().format("yyyy-MM-dd'T'HH:mm:ssZ"),
"MixinConfigs" : "mixins.oc2.json",
"MixinConfigs" : "mixins.oc2r.json",
"ContainedDeps" : "commons-collections4-4.4.jar"
])
}
@@ -229,7 +229,7 @@ task apiJar(type: Jar) {
archiveClassifier.set("api")
from sourceSets.main.allSource
from sourceSets.main.output
include "li/cil/oc2/api/**"
include "li/cil/oc2r/api/**"
}
artifacts {

View File

@@ -1,9 +0,0 @@
/* SPDX-License-Identifier: MIT */
@ParametersAreNonnullByDefault
@MethodsReturnNonnullByDefault
package li.cil.oc2.api.bus.device.vm.context;
import net.minecraft.MethodsReturnNonnullByDefault;
import javax.annotation.ParametersAreNonnullByDefault;

View File

@@ -1,9 +0,0 @@
/* SPDX-License-Identifier: MIT */
@ParametersAreNonnullByDefault
@MethodsReturnNonnullByDefault
package li.cil.oc2.api.bus.device.vm.event;
import net.minecraft.MethodsReturnNonnullByDefault;
import javax.annotation.ParametersAreNonnullByDefault;

View File

@@ -1,9 +0,0 @@
/* SPDX-License-Identifier: MIT */
@ParametersAreNonnullByDefault
@MethodsReturnNonnullByDefault
package li.cil.oc2.client.gui.terminal;
import net.minecraft.MethodsReturnNonnullByDefault;
import javax.annotation.ParametersAreNonnullByDefault;

View File

@@ -1,9 +0,0 @@
/* SPDX-License-Identifier: MIT */
@ParametersAreNonnullByDefault
@MethodsReturnNonnullByDefault
package li.cil.oc2.client.gui.util;
import net.minecraft.MethodsReturnNonnullByDefault;
import javax.annotation.ParametersAreNonnullByDefault;

View File

@@ -1,9 +0,0 @@
/* SPDX-License-Identifier: MIT */
@ParametersAreNonnullByDefault
@MethodsReturnNonnullByDefault
package li.cil.oc2.client.gui.widget;
import net.minecraft.MethodsReturnNonnullByDefault;
import javax.annotation.ParametersAreNonnullByDefault;

View File

@@ -1,9 +0,0 @@
/* SPDX-License-Identifier: MIT */
@ParametersAreNonnullByDefault
@MethodsReturnNonnullByDefault
package li.cil.oc2.client.item;
import net.minecraft.MethodsReturnNonnullByDefault;
import javax.annotation.ParametersAreNonnullByDefault;

View File

@@ -1,9 +0,0 @@
/* SPDX-License-Identifier: MIT */
@ParametersAreNonnullByDefault
@MethodsReturnNonnullByDefault
package li.cil.oc2.client.manual;
import net.minecraft.MethodsReturnNonnullByDefault;
import javax.annotation.ParametersAreNonnullByDefault;

View File

@@ -1,9 +0,0 @@
/* SPDX-License-Identifier: MIT */
@ParametersAreNonnullByDefault
@MethodsReturnNonnullByDefault
package li.cil.oc2.client.model;
import net.minecraft.MethodsReturnNonnullByDefault;
import javax.annotation.ParametersAreNonnullByDefault;

View File

@@ -1,9 +0,0 @@
/* SPDX-License-Identifier: MIT */
@ParametersAreNonnullByDefault
@MethodsReturnNonnullByDefault
package li.cil.oc2.client.renderer.blockentity;
import net.minecraft.MethodsReturnNonnullByDefault;
import javax.annotation.ParametersAreNonnullByDefault;

View File

@@ -1,9 +0,0 @@
/* SPDX-License-Identifier: MIT */
@ParametersAreNonnullByDefault
@MethodsReturnNonnullByDefault
package li.cil.oc2.client.renderer.color;
import net.minecraft.MethodsReturnNonnullByDefault;
import javax.annotation.ParametersAreNonnullByDefault;

View File

@@ -1,9 +0,0 @@
/* SPDX-License-Identifier: MIT */
@ParametersAreNonnullByDefault
@MethodsReturnNonnullByDefault
package li.cil.oc2.client.renderer.entity.model;
import net.minecraft.MethodsReturnNonnullByDefault;
import javax.annotation.ParametersAreNonnullByDefault;

View File

@@ -1,9 +0,0 @@
/* SPDX-License-Identifier: MIT */
@ParametersAreNonnullByDefault
@MethodsReturnNonnullByDefault
package li.cil.oc2.client.renderer.entity;
import net.minecraft.MethodsReturnNonnullByDefault;
import javax.annotation.ParametersAreNonnullByDefault;

View File

@@ -1,9 +0,0 @@
/* SPDX-License-Identifier: MIT */
@ParametersAreNonnullByDefault
@MethodsReturnNonnullByDefault
package li.cil.oc2.client.renderer.font;
import net.minecraft.MethodsReturnNonnullByDefault;
import javax.annotation.ParametersAreNonnullByDefault;

View File

@@ -1,9 +0,0 @@
/* SPDX-License-Identifier: MIT */
@ParametersAreNonnullByDefault
@MethodsReturnNonnullByDefault
package li.cil.oc2.client.renderer;
import net.minecraft.MethodsReturnNonnullByDefault;
import javax.annotation.ParametersAreNonnullByDefault;

View File

@@ -1,9 +0,0 @@
/* SPDX-License-Identifier: MIT */
@ParametersAreNonnullByDefault
@MethodsReturnNonnullByDefault
package li.cil.oc2.common.block;
import net.minecraft.MethodsReturnNonnullByDefault;
import javax.annotation.ParametersAreNonnullByDefault;

View File

@@ -1,9 +0,0 @@
/* SPDX-License-Identifier: MIT */
@ParametersAreNonnullByDefault
@MethodsReturnNonnullByDefault
package li.cil.oc2.common.blockentity;
import net.minecraft.MethodsReturnNonnullByDefault;
import javax.annotation.ParametersAreNonnullByDefault;

View File

@@ -1,8 +0,0 @@
package li.cil.oc2.common.bus.device;
import li.cil.oc2.common.bus.AbstractDeviceBusElement;
public class BlockDeviceBusElement extends AbstractDeviceBusElement {
}

View File

@@ -1,9 +0,0 @@
/* SPDX-License-Identifier: MIT */
@ParametersAreNonnullByDefault
@MethodsReturnNonnullByDefault
package li.cil.oc2.common.bus.device.data;
import net.minecraft.MethodsReturnNonnullByDefault;
import javax.annotation.ParametersAreNonnullByDefault;

View File

@@ -1,9 +0,0 @@
/* SPDX-License-Identifier: MIT */
@ParametersAreNonnullByDefault
@MethodsReturnNonnullByDefault
package li.cil.oc2.common.bus.device;
import net.minecraft.MethodsReturnNonnullByDefault;
import javax.annotation.ParametersAreNonnullByDefault;

View File

@@ -1,9 +0,0 @@
/* SPDX-License-Identifier: MIT */
@ParametersAreNonnullByDefault
@MethodsReturnNonnullByDefault
package li.cil.oc2.common.bus.device.provider.block;
import net.minecraft.MethodsReturnNonnullByDefault;
import javax.annotation.ParametersAreNonnullByDefault;

View File

@@ -1,9 +0,0 @@
/* SPDX-License-Identifier: MIT */
@ParametersAreNonnullByDefault
@MethodsReturnNonnullByDefault
package li.cil.oc2.common.bus.device.provider.item;
import net.minecraft.MethodsReturnNonnullByDefault;
import javax.annotation.ParametersAreNonnullByDefault;

View File

@@ -1,9 +0,0 @@
/* SPDX-License-Identifier: MIT */
@ParametersAreNonnullByDefault
@MethodsReturnNonnullByDefault
package li.cil.oc2.common.bus.device.provider;
import net.minecraft.MethodsReturnNonnullByDefault;
import javax.annotation.ParametersAreNonnullByDefault;

View File

@@ -1,9 +0,0 @@
/* SPDX-License-Identifier: MIT */
@ParametersAreNonnullByDefault
@MethodsReturnNonnullByDefault
package li.cil.oc2.common.bus.device.provider.util;
import net.minecraft.MethodsReturnNonnullByDefault;
import javax.annotation.ParametersAreNonnullByDefault;

View File

@@ -1,9 +0,0 @@
/* SPDX-License-Identifier: MIT */
@ParametersAreNonnullByDefault
@MethodsReturnNonnullByDefault
package li.cil.oc2.common.bus.device.rpc.block;
import net.minecraft.MethodsReturnNonnullByDefault;
import javax.annotation.ParametersAreNonnullByDefault;

View File

@@ -1,9 +0,0 @@
/* SPDX-License-Identifier: MIT */
@ParametersAreNonnullByDefault
@MethodsReturnNonnullByDefault
package li.cil.oc2.common.bus.device.rpc.item;
import net.minecraft.MethodsReturnNonnullByDefault;
import javax.annotation.ParametersAreNonnullByDefault;

View File

@@ -1,9 +0,0 @@
/* SPDX-License-Identifier: MIT */
@ParametersAreNonnullByDefault
@MethodsReturnNonnullByDefault
package li.cil.oc2.common.bus.device.rpc;
import net.minecraft.MethodsReturnNonnullByDefault;
import javax.annotation.ParametersAreNonnullByDefault;

View File

@@ -1,9 +0,0 @@
/* SPDX-License-Identifier: MIT */
@ParametersAreNonnullByDefault
@MethodsReturnNonnullByDefault
package li.cil.oc2.common.bus.device.util;
import net.minecraft.MethodsReturnNonnullByDefault;
import javax.annotation.ParametersAreNonnullByDefault;

View File

@@ -1,9 +0,0 @@
/* SPDX-License-Identifier: MIT */
@ParametersAreNonnullByDefault
@MethodsReturnNonnullByDefault
package li.cil.oc2.common.bus.device.vm.block;
import net.minecraft.MethodsReturnNonnullByDefault;
import javax.annotation.ParametersAreNonnullByDefault;

View File

@@ -1,9 +0,0 @@
/* SPDX-License-Identifier: MIT */
@ParametersAreNonnullByDefault
@MethodsReturnNonnullByDefault
package li.cil.oc2.common.bus.device.vm.item;
import net.minecraft.MethodsReturnNonnullByDefault;
import javax.annotation.ParametersAreNonnullByDefault;

View File

@@ -1,9 +0,0 @@
/* SPDX-License-Identifier: MIT */
@ParametersAreNonnullByDefault
@MethodsReturnNonnullByDefault
package li.cil.oc2.common.bus.device.vm;
import net.minecraft.MethodsReturnNonnullByDefault;
import javax.annotation.ParametersAreNonnullByDefault;

View File

@@ -1,9 +0,0 @@
/* SPDX-License-Identifier: MIT */
@ParametersAreNonnullByDefault
@MethodsReturnNonnullByDefault
package li.cil.oc2.common.bus;
import net.minecraft.MethodsReturnNonnullByDefault;
import javax.annotation.ParametersAreNonnullByDefault;

View File

@@ -1,9 +0,0 @@
/* SPDX-License-Identifier: MIT */
@ParametersAreNonnullByDefault
@MethodsReturnNonnullByDefault
package li.cil.oc2.common.capabilities;
import net.minecraft.MethodsReturnNonnullByDefault;
import javax.annotation.ParametersAreNonnullByDefault;

View File

@@ -1,9 +0,0 @@
/* SPDX-License-Identifier: MIT */
@ParametersAreNonnullByDefault
@MethodsReturnNonnullByDefault
package li.cil.oc2.common.container;
import net.minecraft.MethodsReturnNonnullByDefault;
import javax.annotation.ParametersAreNonnullByDefault;

View File

@@ -1,9 +0,0 @@
/* SPDX-License-Identifier: MIT */
@ParametersAreNonnullByDefault
@MethodsReturnNonnullByDefault
package li.cil.oc2.common.energy;
import net.minecraft.MethodsReturnNonnullByDefault;
import javax.annotation.ParametersAreNonnullByDefault;

View File

@@ -1,9 +0,0 @@
/* SPDX-License-Identifier: MIT */
@ParametersAreNonnullByDefault
@MethodsReturnNonnullByDefault
package li.cil.oc2.common.entity;
import net.minecraft.MethodsReturnNonnullByDefault;
import javax.annotation.ParametersAreNonnullByDefault;

View File

@@ -1,9 +0,0 @@
/* SPDX-License-Identifier: MIT */
@ParametersAreNonnullByDefault
@MethodsReturnNonnullByDefault
package li.cil.oc2.common.entity.robot;
import net.minecraft.MethodsReturnNonnullByDefault;
import javax.annotation.ParametersAreNonnullByDefault;

View File

@@ -1,9 +0,0 @@
/* SPDX-License-Identifier: MIT */
@ParametersAreNonnullByDefault
@MethodsReturnNonnullByDefault
package li.cil.oc2.common.ext;
import net.minecraft.MethodsReturnNonnullByDefault;
import javax.annotation.ParametersAreNonnullByDefault;

View File

@@ -1,13 +0,0 @@
package li.cil.oc2.common.inet;
import li.cil.oc2.api.inet.layer.LinkLocalLayer;
import li.cil.oc2.api.inet.layer.NetworkLayer;
import li.cil.oc2.api.inet.layer.SessionLayer;
import li.cil.oc2.api.inet.layer.TransportLayer;
public final class NullLayer implements LinkLocalLayer, NetworkLayer, TransportLayer, SessionLayer {
public static final NullLayer INSTANCE = new NullLayer();
private NullLayer() {
}
}

View File

@@ -1,9 +0,0 @@
/* SPDX-License-Identifier: MIT */
@ParametersAreNonnullByDefault
@MethodsReturnNonnullByDefault
package li.cil.oc2.common.integration.jei;
import net.minecraft.MethodsReturnNonnullByDefault;
import javax.annotation.ParametersAreNonnullByDefault;

View File

@@ -1,9 +0,0 @@
/* SPDX-License-Identifier: MIT */
@ParametersAreNonnullByDefault
@MethodsReturnNonnullByDefault
package li.cil.oc2.common.integration;
import net.minecraft.MethodsReturnNonnullByDefault;
import javax.annotation.ParametersAreNonnullByDefault;

View File

@@ -1,9 +0,0 @@
/* SPDX-License-Identifier: MIT */
@ParametersAreNonnullByDefault
@MethodsReturnNonnullByDefault
package li.cil.oc2.common.item.crafting;
import net.minecraft.MethodsReturnNonnullByDefault;
import javax.annotation.ParametersAreNonnullByDefault;

View File

@@ -1,9 +0,0 @@
/* SPDX-License-Identifier: MIT */
@ParametersAreNonnullByDefault
@MethodsReturnNonnullByDefault
package li.cil.oc2.common.item;
import net.minecraft.MethodsReturnNonnullByDefault;
import javax.annotation.ParametersAreNonnullByDefault;

View File

@@ -1,9 +0,0 @@
/* SPDX-License-Identifier: MIT */
@ParametersAreNonnullByDefault
@MethodsReturnNonnullByDefault
package li.cil.oc2.common.mixin;
import net.minecraft.MethodsReturnNonnullByDefault;
import javax.annotation.ParametersAreNonnullByDefault;

View File

@@ -1,9 +0,0 @@
/* SPDX-License-Identifier: MIT */
@ParametersAreNonnullByDefault
@MethodsReturnNonnullByDefault
package li.cil.oc2.common.network.message;
import net.minecraft.MethodsReturnNonnullByDefault;
import javax.annotation.ParametersAreNonnullByDefault;

View File

@@ -1,9 +0,0 @@
/* SPDX-License-Identifier: MIT */
@ParametersAreNonnullByDefault
@MethodsReturnNonnullByDefault
package li.cil.oc2.common.network;
import net.minecraft.MethodsReturnNonnullByDefault;
import javax.annotation.ParametersAreNonnullByDefault;

View File

@@ -1,9 +0,0 @@
/* SPDX-License-Identifier: MIT */
@ParametersAreNonnullByDefault
@MethodsReturnNonnullByDefault
package li.cil.oc2.common;
import net.minecraft.MethodsReturnNonnullByDefault;
import javax.annotation.ParametersAreNonnullByDefault;

View File

@@ -1,9 +0,0 @@
/* SPDX-License-Identifier: MIT */
@ParametersAreNonnullByDefault
@MethodsReturnNonnullByDefault
package li.cil.oc2.common.serialization.ceres;
import net.minecraft.MethodsReturnNonnullByDefault;
import javax.annotation.ParametersAreNonnullByDefault;

View File

@@ -1,9 +0,0 @@
/* SPDX-License-Identifier: MIT */
@ParametersAreNonnullByDefault
@MethodsReturnNonnullByDefault
package li.cil.oc2.common.serialization.gson;
import net.minecraft.MethodsReturnNonnullByDefault;
import javax.annotation.ParametersAreNonnullByDefault;

View File

@@ -1,9 +0,0 @@
/* SPDX-License-Identifier: MIT */
@ParametersAreNonnullByDefault
@MethodsReturnNonnullByDefault
package li.cil.oc2.common.serialization;
import net.minecraft.MethodsReturnNonnullByDefault;
import javax.annotation.ParametersAreNonnullByDefault;

View File

@@ -1,9 +0,0 @@
/* SPDX-License-Identifier: MIT */
@ParametersAreNonnullByDefault
@MethodsReturnNonnullByDefault
package li.cil.oc2.common.tags;
import net.minecraft.MethodsReturnNonnullByDefault;
import javax.annotation.ParametersAreNonnullByDefault;

View File

@@ -1,9 +0,0 @@
/* SPDX-License-Identifier: MIT */
@ParametersAreNonnullByDefault
@MethodsReturnNonnullByDefault
package li.cil.oc2.common.util;
import net.minecraft.MethodsReturnNonnullByDefault;
import javax.annotation.ParametersAreNonnullByDefault;

View File

@@ -1,9 +0,0 @@
/* SPDX-License-Identifier: MIT */
@ParametersAreNonnullByDefault
@MethodsReturnNonnullByDefault
package li.cil.oc2.common.vm.context.global;
import net.minecraft.MethodsReturnNonnullByDefault;
import javax.annotation.ParametersAreNonnullByDefault;

View File

@@ -1,9 +0,0 @@
/* SPDX-License-Identifier: MIT */
@ParametersAreNonnullByDefault
@MethodsReturnNonnullByDefault
package li.cil.oc2.common.vm.context.managed;
import net.minecraft.MethodsReturnNonnullByDefault;
import javax.annotation.ParametersAreNonnullByDefault;

View File

@@ -1,9 +0,0 @@
/* SPDX-License-Identifier: MIT */
@ParametersAreNonnullByDefault
@MethodsReturnNonnullByDefault
package li.cil.oc2.common.vm.context;
import net.minecraft.MethodsReturnNonnullByDefault;
import javax.annotation.ParametersAreNonnullByDefault;

View File

@@ -1,9 +0,0 @@
/* SPDX-License-Identifier: MIT */
@ParametersAreNonnullByDefault
@MethodsReturnNonnullByDefault
package li.cil.oc2.common.vm.fs;
import net.minecraft.MethodsReturnNonnullByDefault;
import javax.annotation.ParametersAreNonnullByDefault;

View File

@@ -1,9 +0,0 @@
/* SPDX-License-Identifier: MIT */
@ParametersAreNonnullByDefault
@MethodsReturnNonnullByDefault
package li.cil.oc2.common.vm;
import net.minecraft.MethodsReturnNonnullByDefault;
import javax.annotation.ParametersAreNonnullByDefault;

View File

@@ -1,16 +1,16 @@
/* SPDX-License-Identifier: MIT */
package li.cil.oc2.api;
package li.cil.oc2r.api;
import com.google.gson.GsonBuilder;
import li.cil.oc2.api.bus.device.object.Callback;
import li.cil.oc2.api.bus.device.rpc.RPCMethod;
import li.cil.oc2.api.imc.RPCMethodParameterTypeAdapter;
import li.cil.oc2r.api.bus.device.object.Callback;
import li.cil.oc2r.api.bus.device.rpc.RPCMethod;
import li.cil.oc2r.api.imc.RPCMethodParameterTypeAdapter;
import java.lang.reflect.Type;
public final class API {
public static final String MOD_ID = "oc2";
public static final String MOD_ID = "oc2r";
///////////////////////////////////////////////////////////////////

View File

@@ -150,15 +150,15 @@ In this example, a device is made available for a custom `BlockEntity`.
Using capabilities:
```java
import li.cil.oc2.api.bus.device.object.Callback;
import li.cil.oc2.api.bus.device.object.ObjectDevice;
import li.cil.oc2.api.bus.device.rpc.RPCDevice;
import li.cil.oc2r.api.bus.device.object.Callback;
import li.cil.oc2r.api.bus.device.object.ObjectDevice;
import li.cil.oc2r.api.bus.device.rpc.RPCDevice;
import net.minecraft.core.Direction;
import net.minecraft.world.level.block.entity.BlockEntity;
import net.minecraftforge.common.capabilities.Capability;
import net.minecraftforge.common.util.LazyOptional;
import net.minecraftforge.fml.ModList;
import li.cil.oc2.api.bus.device.Device;
import li.cil.oc2r.api.bus.device.Device;
class ModBlockEntity extends BlockEntity {
public int getMagicValue() {
@@ -212,7 +212,7 @@ class Integration {
Using the `Callback` annotation in the `BlockEntity` (hard dependency):
```java
import li.cil.oc2.api.bus.device.object.Callback;
import li.cil.oc2r.api.bus.device.object.Callback;
import net.minecraft.world.level.block.entity.BlockEntity;
class ModBlockEntity extends BlockEntity {
@@ -235,8 +235,8 @@ soft dependency.
Using `ObjectDevice`:
```java
import li.cil.oc2.api.bus.device.object.Callback;
import li.cil.oc2.api.bus.device.object.ObjectDevice;
import li.cil.oc2r.api.bus.device.object.Callback;
import li.cil.oc2r.api.bus.device.object.ObjectDevice;
import net.minecraft.world.level.block.entity.BlockEntity;
class MyCalculatorDevice {
@@ -264,14 +264,14 @@ class ModDeviceProvider extends ForgeRegistryEntry<BlockDeviceProvider> implemen
Using the `RPCDevice` and `RPCMethods` interfaces directly:
```java
import li.cil.oc2.api.bus.device.Device;
import li.cil.oc2.api.bus.device.provider.BlockDeviceProvider;
import li.cil.oc2.api.bus.device.provider.BlockDeviceQuery;
import li.cil.oc2.api.bus.device.rpc.RPCDevice;
import li.cil.oc2.api.bus.device.rpc.RPCMethod;
import li.cil.oc2.api.bus.device.rpc.RPCMethodGroup;
import li.cil.oc2.api.bus.device.rpc.RPCParameter;
import li.cil.oc2.api.util.Invalidatable;
import li.cil.oc2r.api.bus.device.Device;
import li.cil.oc2r.api.bus.device.provider.BlockDeviceProvider;
import li.cil.oc2r.api.bus.device.provider.BlockDeviceQuery;
import li.cil.oc2r.api.bus.device.rpc.RPCDevice;
import li.cil.oc2r.api.bus.device.rpc.RPCMethod;
import li.cil.oc2r.api.bus.device.rpc.RPCMethodGroup;
import li.cil.oc2r.api.bus.device.rpc.RPCParameter;
import li.cil.oc2r.api.util.Invalidatable;
import net.minecraft.world.level.block.entity.FurnaceBlockEntity;
import java.util.Collections;
@@ -333,7 +333,7 @@ class ModDeviceProvider extends ForgeRegistryEntry<BlockDeviceProvider> implemen
Shared device provider registration:
```java
import li.cil.oc2.api.bus.device.provider.BlockDeviceProvider;
import li.cil.oc2r.api.bus.device.provider.BlockDeviceProvider;
import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext;
import net.minecraftforge.registries.DeferredRegister;

View File

@@ -1,6 +1,6 @@
/* SPDX-License-Identifier: MIT */
package li.cil.oc2.api.bus;
package li.cil.oc2r.api.bus;
import net.minecraft.core.BlockPos;
import net.minecraft.world.level.LevelAccessor;

View File

@@ -1,8 +1,8 @@
/* SPDX-License-Identifier: MIT */
package li.cil.oc2.api.bus;
package li.cil.oc2r.api.bus;
import li.cil.oc2.api.bus.device.Device;
import li.cil.oc2r.api.bus.device.Device;
import java.util.Collection;

View File

@@ -1,8 +1,8 @@
/* SPDX-License-Identifier: MIT */
package li.cil.oc2.api.bus;
package li.cil.oc2r.api.bus;
import li.cil.oc2.api.bus.device.Device;
import li.cil.oc2r.api.bus.device.Device;
import java.util.Set;
import java.util.UUID;

View File

@@ -1,9 +1,9 @@
/* SPDX-License-Identifier: MIT */
package li.cil.oc2.api.bus;
package li.cil.oc2r.api.bus;
import li.cil.oc2.api.bus.device.Device;
import li.cil.oc2.api.bus.device.rpc.RPCDevice;
import li.cil.oc2r.api.bus.device.Device;
import li.cil.oc2r.api.bus.device.rpc.RPCDevice;
import net.minecraftforge.common.util.LazyOptional;
import java.util.Collection;

View File

@@ -1,9 +1,9 @@
/* SPDX-License-Identifier: MIT */
package li.cil.oc2.api.bus.device;
package li.cil.oc2r.api.bus.device;
import li.cil.oc2.api.bus.DeviceBus;
import li.cil.oc2.api.bus.DeviceBusController;
import li.cil.oc2r.api.bus.DeviceBus;
import li.cil.oc2r.api.bus.DeviceBusController;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.level.block.entity.BlockEntity;

View File

@@ -1,8 +1,8 @@
/* SPDX-License-Identifier: MIT */
package li.cil.oc2.api.bus.device;
package li.cil.oc2r.api.bus.device;
import li.cil.oc2.api.API;
import li.cil.oc2r.api.API;
import net.minecraft.core.Registry;
import net.minecraft.network.chat.Component;
import net.minecraft.resources.ResourceKey;

View File

@@ -1,8 +1,8 @@
/* SPDX-License-Identifier: MIT */
package li.cil.oc2.api.bus.device;
package li.cil.oc2r.api.bus.device;
import li.cil.oc2.api.API;
import li.cil.oc2r.api.API;
import net.minecraft.resources.ResourceLocation;
import net.minecraftforge.registries.RegistryObject;

View File

@@ -1,8 +1,8 @@
/* SPDX-License-Identifier: MIT */
package li.cil.oc2.api.bus.device;
package li.cil.oc2r.api.bus.device;
import li.cil.oc2.api.bus.device.provider.ItemDeviceProvider;
import li.cil.oc2r.api.bus.device.provider.ItemDeviceProvider;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.world.item.ItemStack;

View File

@@ -1,6 +1,6 @@
/* SPDX-License-Identifier: MIT */
package li.cil.oc2.api.bus.device.data;
package li.cil.oc2r.api.bus.device.data;
import li.cil.sedna.api.device.BlockDevice;
import net.minecraft.network.chat.Component;

View File

@@ -1,6 +1,6 @@
/* SPDX-License-Identifier: MIT */
package li.cil.oc2.api.bus.device.data;
package li.cil.oc2r.api.bus.device.data;
import li.cil.sedna.api.memory.MemoryMap;
import net.minecraft.network.chat.Component;

View File

@@ -0,0 +1,9 @@
/* SPDX-License-Identifier: MIT */
@ParametersAreNonnullByDefault
@MethodsReturnNonnullByDefault
package li.cil.oc2r.api.bus.device.data;
import net.minecraft.MethodsReturnNonnullByDefault;
import javax.annotation.ParametersAreNonnullByDefault;

View File

@@ -1,8 +1,8 @@
/* SPDX-License-Identifier: MIT */
package li.cil.oc2.api.bus.device.object;
package li.cil.oc2r.api.bus.device.object;
import li.cil.oc2.api.bus.device.rpc.RPCMethod;
import li.cil.oc2r.api.bus.device.rpc.RPCMethod;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
@@ -17,7 +17,7 @@ import java.lang.annotation.Target;
* <p>
* Method parameters are serialized and deserialized using Gson. When using custom
* parameter types it may be necessary to register a custom type adapter for them
* via {@link li.cil.oc2.api.API#IMC_ADD_RPC_METHOD_PARAMETER_TYPE_ADAPTER}.
* via {@link li.cil.oc2r.api.API#IMC_ADD_RPC_METHOD_PARAMETER_TYPE_ADAPTER}.
*/
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)

View File

@@ -1,11 +1,11 @@
/* SPDX-License-Identifier: MIT */
package li.cil.oc2.api.bus.device.object;
package li.cil.oc2r.api.bus.device.object;
import li.cil.oc2.api.bus.device.rpc.AbstractRPCMethod;
import li.cil.oc2.api.bus.device.rpc.RPCMethod;
import li.cil.oc2.api.bus.device.rpc.RPCMethodGroup;
import li.cil.oc2.api.bus.device.rpc.RPCParameter;
import li.cil.oc2r.api.bus.device.rpc.AbstractRPCMethod;
import li.cil.oc2r.api.bus.device.rpc.RPCMethod;
import li.cil.oc2r.api.bus.device.rpc.RPCMethodGroup;
import li.cil.oc2r.api.bus.device.rpc.RPCParameter;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.apache.logging.log4j.util.Strings;

View File

@@ -1,6 +1,6 @@
/* SPDX-License-Identifier: MIT */
package li.cil.oc2.api.bus.device.object;
package li.cil.oc2r.api.bus.device.object;
/**
* This interface is used to declare callback documentation on targets of an {@link ObjectDevice}.

View File

@@ -1,8 +1,8 @@
/* SPDX-License-Identifier: MIT */
package li.cil.oc2.api.bus.device.object;
package li.cil.oc2r.api.bus.device.object;
import li.cil.oc2.api.bus.device.rpc.RPCDevice;
import li.cil.oc2r.api.bus.device.rpc.RPCDevice;
import net.minecraft.world.entity.Entity;
import net.minecraft.world.level.block.entity.BlockEntity;

View File

@@ -1,6 +1,6 @@
/* SPDX-License-Identifier: MIT */
package li.cil.oc2.api.bus.device.object;
package li.cil.oc2r.api.bus.device.object;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.entity.BlockEntity;

View File

@@ -1,12 +1,12 @@
/* SPDX-License-Identifier: MIT */
package li.cil.oc2.api.bus.device.object;
package li.cil.oc2r.api.bus.device.object;
import li.cil.oc2.api.bus.device.ItemDevice;
import li.cil.oc2.api.bus.device.rpc.RPCDevice;
import li.cil.oc2.api.bus.device.rpc.RPCMethod;
import li.cil.oc2.api.bus.device.rpc.RPCMethodGroup;
import li.cil.oc2.api.bus.device.rpc.RPCEventSource;
import li.cil.oc2r.api.bus.device.ItemDevice;
import li.cil.oc2r.api.bus.device.rpc.RPCDevice;
import li.cil.oc2r.api.bus.device.rpc.RPCMethod;
import li.cil.oc2r.api.bus.device.rpc.RPCMethodGroup;
import li.cil.oc2r.api.bus.device.rpc.RPCEventSource;
import javax.annotation.Nullable;
import java.util.ArrayList;

View File

@@ -1,6 +1,6 @@
/* SPDX-License-Identifier: MIT */
package li.cil.oc2.api.bus.device.object;
package li.cil.oc2r.api.bus.device.object;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;

View File

@@ -0,0 +1,9 @@
/* SPDX-License-Identifier: MIT */
@ParametersAreNonnullByDefault
@MethodsReturnNonnullByDefault
package li.cil.oc2r.api.bus.device.object;
import net.minecraft.MethodsReturnNonnullByDefault;
import javax.annotation.ParametersAreNonnullByDefault;

View File

@@ -0,0 +1,9 @@
/* SPDX-License-Identifier: MIT */
@ParametersAreNonnullByDefault
@MethodsReturnNonnullByDefault
package li.cil.oc2r.api.bus.device;
import net.minecraft.MethodsReturnNonnullByDefault;
import javax.annotation.ParametersAreNonnullByDefault;

View File

@@ -1,11 +1,11 @@
/* SPDX-License-Identifier: MIT */
package li.cil.oc2.api.bus.device.provider;
package li.cil.oc2r.api.bus.device.provider;
import li.cil.oc2.api.bus.device.Device;
import li.cil.oc2.api.bus.device.rpc.RPCDevice;
import li.cil.oc2.api.bus.device.vm.VMDevice;
import li.cil.oc2.api.util.Invalidatable;
import li.cil.oc2r.api.bus.device.Device;
import li.cil.oc2r.api.bus.device.rpc.RPCDevice;
import li.cil.oc2r.api.bus.device.vm.VMDevice;
import li.cil.oc2r.api.util.Invalidatable;
import net.minecraft.nbt.CompoundTag;
/**
@@ -21,7 +21,7 @@ import net.minecraft.nbt.CompoundTag;
* previous scan.
* <p>
* This is also required to avoid device duplication when a device is connected to a
* {@link li.cil.oc2.api.bus.DeviceBus} more than once. An example where this can occur are
* {@link li.cil.oc2r.api.bus.DeviceBus} more than once. An example where this can occur are
* blocks that expose the same device on all sides having connected cabling adjacent to more
* than one face.
* <p>
@@ -39,9 +39,9 @@ import net.minecraft.nbt.CompoundTag;
* }
* </pre>
*
* @see li.cil.oc2.api.bus.device.rpc.RPCDevice
* @see li.cil.oc2.api.bus.device.object.ObjectDevice
* @see li.cil.oc2.api.bus.device.vm.VMDevice
* @see li.cil.oc2r.api.bus.device.rpc.RPCDevice
* @see li.cil.oc2r.api.bus.device.object.ObjectDevice
* @see li.cil.oc2r.api.bus.device.vm.VMDevice
* @see BlockDeviceQuery
*/
public interface BlockDeviceProvider {

View File

@@ -1,6 +1,6 @@
/* SPDX-License-Identifier: MIT */
package li.cil.oc2.api.bus.device.provider;
package li.cil.oc2r.api.bus.device.provider;
import net.minecraft.core.BlockPos;
import net.minecraft.core.Direction;

View File

@@ -1,10 +1,10 @@
/* SPDX-License-Identifier: MIT */
package li.cil.oc2.api.bus.device.provider;
package li.cil.oc2r.api.bus.device.provider;
import li.cil.oc2.api.bus.device.ItemDevice;
import li.cil.oc2.api.bus.device.rpc.RPCDevice;
import li.cil.oc2.api.bus.device.vm.VMDevice;
import li.cil.oc2r.api.bus.device.ItemDevice;
import li.cil.oc2r.api.bus.device.rpc.RPCDevice;
import li.cil.oc2r.api.bus.device.vm.VMDevice;
import net.minecraft.nbt.CompoundTag;
import javax.annotation.Nullable;
@@ -36,9 +36,9 @@ import java.util.Optional;
* }
* </pre>
*
* @see li.cil.oc2.api.bus.device.rpc.RPCDevice
* @see li.cil.oc2.api.bus.device.object.ObjectDevice
* @see li.cil.oc2.api.bus.device.vm.VMDevice
* @see li.cil.oc2r.api.bus.device.rpc.RPCDevice
* @see li.cil.oc2r.api.bus.device.object.ObjectDevice
* @see li.cil.oc2r.api.bus.device.vm.VMDevice
* @see ItemDeviceQuery
*/
public interface ItemDeviceProvider {

View File

@@ -1,6 +1,6 @@
/* SPDX-License-Identifier: MIT */
package li.cil.oc2.api.bus.device.provider;
package li.cil.oc2r.api.bus.device.provider;
import net.minecraft.world.entity.Entity;
import net.minecraft.world.item.ItemStack;

View File

@@ -0,0 +1,9 @@
/* SPDX-License-Identifier: MIT */
@ParametersAreNonnullByDefault
@MethodsReturnNonnullByDefault
package li.cil.oc2r.api.bus.device.provider;
import net.minecraft.MethodsReturnNonnullByDefault;
import javax.annotation.ParametersAreNonnullByDefault;

View File

@@ -1,6 +1,6 @@
/* SPDX-License-Identifier: MIT */
package li.cil.oc2.api.bus.device.rpc;
package li.cil.oc2r.api.bus.device.rpc;
import javax.annotation.Nullable;

View File

@@ -1,12 +1,12 @@
/* SPDX-License-Identifier: MIT */
package li.cil.oc2.api.bus.device.rpc;
package li.cil.oc2r.api.bus.device.rpc;
import com.google.gson.JsonElement;
import java.util.UUID;
/**
* This interface handles events coming from RPCEventSources.
* RPCDeviceBusAdapter implements this to relay events via the built in serial
* RPCDeviceBusAdapter implements this to relay events via the built in serial
*/
public interface IEventSink {

View File

@@ -1,10 +1,10 @@
/* SPDX-License-Identifier: MIT */
package li.cil.oc2.api.bus.device.rpc;
package li.cil.oc2r.api.bus.device.rpc;
import li.cil.oc2.api.bus.DeviceBus;
import li.cil.oc2.api.bus.device.Device;
import li.cil.oc2.api.bus.device.object.ObjectDevice;
import li.cil.oc2r.api.bus.DeviceBus;
import li.cil.oc2r.api.bus.device.Device;
import li.cil.oc2r.api.bus.device.object.ObjectDevice;
import java.util.List;
@@ -47,8 +47,8 @@ import java.util.List;
* </pre>
*
* @see ObjectDevice
* @see li.cil.oc2.api.bus.device.provider.BlockDeviceProvider
* @see li.cil.oc2.api.bus.device.provider.ItemDeviceProvider
* @see li.cil.oc2r.api.bus.device.provider.BlockDeviceProvider
* @see li.cil.oc2r.api.bus.device.provider.ItemDeviceProvider
*/
public interface RPCDevice extends Device {
/**

View File

@@ -1,10 +1,7 @@
/* SPDX-License-Identifier: MIT */
package li.cil.oc2.api.bus.device.rpc;
package li.cil.oc2r.api.bus.device.rpc;
import li.cil.oc2.api.bus.DeviceBus;
import li.cil.oc2.api.bus.device.Device;
import li.cil.oc2.api.bus.device.object.ObjectDevice;
import java.util.*;
/**

View File

@@ -1,6 +1,6 @@
/* SPDX-License-Identifier: MIT */
package li.cil.oc2.api.bus.device.rpc;
package li.cil.oc2r.api.bus.device.rpc;
import com.google.gson.Gson;
import com.google.gson.JsonArray;

View File

@@ -1,8 +1,8 @@
/* SPDX-License-Identifier: MIT */
package li.cil.oc2.api.bus.device.rpc;
package li.cil.oc2r.api.bus.device.rpc;
import li.cil.oc2.api.bus.device.object.ObjectDevice;
import li.cil.oc2r.api.bus.device.object.ObjectDevice;
import javax.annotation.Nullable;
import java.util.Collections;
@@ -17,7 +17,7 @@ import java.util.Set;
* <p>
* Method parameters are serialized and deserialized using Gson. When using custom
* parameter types it may be necessary to register a custom type adapter for them
* via {@link li.cil.oc2.api.API#IMC_ADD_RPC_METHOD_PARAMETER_TYPE_ADAPTER}.
* via {@link li.cil.oc2r.api.API#IMC_ADD_RPC_METHOD_PARAMETER_TYPE_ADAPTER}.
*
* @see ObjectDevice
*/

View File

@@ -1,8 +1,8 @@
/* SPDX-License-Identifier: MIT */
package li.cil.oc2.api.bus.device.rpc;
package li.cil.oc2r.api.bus.device.rpc;
import li.cil.oc2.api.bus.DeviceBusController;
import li.cil.oc2r.api.bus.DeviceBusController;
import java.util.Collections;
import java.util.Optional;

View File

@@ -1,6 +1,6 @@
/* SPDX-License-Identifier: MIT */
package li.cil.oc2.api.bus.device.rpc;
package li.cil.oc2r.api.bus.device.rpc;
import java.util.Optional;

View File

@@ -2,7 +2,7 @@
@ParametersAreNonnullByDefault
@MethodsReturnNonnullByDefault
package li.cil.oc2.api.bus.device.data;
package li.cil.oc2r.api.bus.device.rpc;
import net.minecraft.MethodsReturnNonnullByDefault;

View File

@@ -1,6 +1,6 @@
/* SPDX-License-Identifier: MIT */
package li.cil.oc2.api.bus.device.vm;
package li.cil.oc2r.api.bus.device.vm;
/**
* This interface serves as a marker for devices that load firmware.

View File

@@ -1,12 +1,12 @@
/* SPDX-License-Identifier: MIT */
package li.cil.oc2.api.bus.device.vm;
package li.cil.oc2r.api.bus.device.vm;
import li.cil.oc2.api.bus.DeviceBus;
import li.cil.oc2.api.bus.device.Device;
import li.cil.oc2.api.bus.device.rpc.RPCDevice;
import li.cil.oc2.api.bus.device.vm.context.InterruptAllocator;
import li.cil.oc2.api.bus.device.vm.context.VMContext;
import li.cil.oc2r.api.bus.DeviceBus;
import li.cil.oc2r.api.bus.device.Device;
import li.cil.oc2r.api.bus.device.rpc.RPCDevice;
import li.cil.oc2r.api.bus.device.vm.context.InterruptAllocator;
import li.cil.oc2r.api.bus.device.vm.context.VMContext;
import li.cil.sedna.api.device.MemoryMappedDevice;
/**
@@ -47,8 +47,8 @@ import li.cil.sedna.api.device.MemoryMappedDevice;
* Note that if any other {@link VMDevice} fails mounting, all mounted devices
* will immediately unmounted and disposed.
*
* @see li.cil.oc2.api.bus.device.provider.BlockDeviceProvider
* @see li.cil.oc2.api.bus.device.provider.ItemDeviceProvider
* @see li.cil.oc2r.api.bus.device.provider.BlockDeviceProvider
* @see li.cil.oc2r.api.bus.device.provider.ItemDeviceProvider
*/
public interface VMDevice extends Device {
/**

View File

@@ -1,8 +1,8 @@
/* SPDX-License-Identifier: MIT */
package li.cil.oc2.api.bus.device.vm;
package li.cil.oc2r.api.bus.device.vm;
import li.cil.oc2.api.bus.device.vm.context.VMContext;
import li.cil.oc2r.api.bus.device.vm.context.VMContext;
import net.minecraft.network.chat.Component;
import javax.annotation.Nullable;

View File

@@ -1,8 +1,8 @@
/* SPDX-License-Identifier: MIT */
package li.cil.oc2.api.bus.device.vm.context;
package li.cil.oc2r.api.bus.device.vm.context;
import li.cil.oc2.api.bus.device.vm.VMDevice;
import li.cil.oc2r.api.bus.device.vm.VMDevice;
import java.util.Optional;
import java.util.OptionalInt;

View File

@@ -1,6 +1,6 @@
/* SPDX-License-Identifier: MIT */
package li.cil.oc2.api.bus.device.vm.context;
package li.cil.oc2r.api.bus.device.vm.context;
/**
* A memory allocator used to ensure sandbox limits when loading devices.

View File

@@ -1,8 +1,8 @@
/* SPDX-License-Identifier: MIT */
package li.cil.oc2.api.bus.device.vm.context;
package li.cil.oc2r.api.bus.device.vm.context;
import li.cil.oc2.api.bus.device.vm.VMDevice;
import li.cil.oc2r.api.bus.device.vm.VMDevice;
import li.cil.sedna.api.device.MemoryMappedDevice;
import java.util.OptionalLong;

Some files were not shown because too many files have changed in this diff Show More