Renamed file import export card.

This commit is contained in:
Florian Nücke
2021-05-17 20:07:43 +02:00
parent 9950f93c6f
commit 0564f590ef
18 changed files with 46 additions and 45 deletions

View File

@@ -39,7 +39,7 @@ public final class Config {
public static double hardDriveEnergyPerMegabytePerTick = 1;
public static int redstoneInterfaceCardEnergyPerTick = 1;
public static int networkInterfaceEnergyPerTick = 1;
public static int cloudInterfaceCardEnergyPerTick = 1;
public static int fileImportExportCardEnergyPerTick = 1;
public static int blockOperationsModuleEnergyPerTick = 2;
public static int inventoryOperationsModuleEnergyPerTick = 1;
@@ -97,7 +97,7 @@ public final class Config {
hardDriveEnergyPerMegabytePerTick = COMMON_INSTANCE.hardDriveEnergyPerMegabytePerTick.get();
redstoneInterfaceCardEnergyPerTick = COMMON_INSTANCE.redstoneInterfaceCardEnergyPerTick.get();
networkInterfaceEnergyPerTick = COMMON_INSTANCE.networkInterfaceEnergyPerTick.get();
cloudInterfaceCardEnergyPerTick = COMMON_INSTANCE.cloudInterfaceCardEnergyPerTick.get();
fileImportExportCardEnergyPerTick = COMMON_INSTANCE.fileImportExportCardEnergyPerTick.get();
blockOperationsModuleEnergyPerTick = COMMON_INSTANCE.blockOperationsModuleEnergyPerTick.get();
inventoryOperationsModuleEnergyPerTick = COMMON_INSTANCE.inventoryOperationsModuleEnergyPerTick.get();
@@ -129,7 +129,7 @@ public final class Config {
public final ForgeConfigSpec.DoubleValue hardDriveEnergyPerMegabytePerTick;
public final ForgeConfigSpec.IntValue redstoneInterfaceCardEnergyPerTick;
public final ForgeConfigSpec.IntValue networkInterfaceEnergyPerTick;
public final ForgeConfigSpec.IntValue cloudInterfaceCardEnergyPerTick;
public final ForgeConfigSpec.IntValue fileImportExportCardEnergyPerTick;
public final ForgeConfigSpec.IntValue blockOperationsModuleEnergyPerTick;
public final ForgeConfigSpec.IntValue inventoryOperationsModuleEnergyPerTick;
@@ -168,7 +168,7 @@ public final class Config {
hardDriveEnergyPerMegabytePerTick = builder.defineInRange("hardDriveEnergyPerMegabytePerTick", Config.hardDriveEnergyPerMegabytePerTick, 0, Integer.MAX_VALUE);
redstoneInterfaceCardEnergyPerTick = builder.defineInRange("redstoneInterfaceCardEnergyPerTick", Config.redstoneInterfaceCardEnergyPerTick, 0, Integer.MAX_VALUE);
networkInterfaceEnergyPerTick = builder.defineInRange("networkInterfaceEnergyPerTick", Config.networkInterfaceEnergyPerTick, 0, Integer.MAX_VALUE);
cloudInterfaceCardEnergyPerTick = builder.defineInRange("cloudInterfaceCardEnergyPerTick", Config.cloudInterfaceCardEnergyPerTick, 0, Integer.MAX_VALUE);
fileImportExportCardEnergyPerTick = builder.defineInRange("fileImportExportCardEnergyPerTick", Config.fileImportExportCardEnergyPerTick, 0, Integer.MAX_VALUE);
blockOperationsModuleEnergyPerTick = builder.defineInRange("blockOperationsModuleEnergyPerTick", Config.blockOperationsModuleEnergyPerTick, 0, Integer.MAX_VALUE);
inventoryOperationsModuleEnergyPerTick = builder.defineInRange("inventoryOperationsModuleEnergyPerTick", Config.inventoryOperationsModuleEnergyPerTick, 0, Integer.MAX_VALUE);
}

View File

@@ -30,7 +30,7 @@ import java.util.List;
import java.util.Set;
import java.util.WeakHashMap;
public final class CloudInterfaceCardItemDevice extends IdentityProxy<ItemStack> implements RPCDevice, DocumentedDevice, ItemDevice {
public final class FileImportExportCardItemDevice extends IdentityProxy<ItemStack> implements RPCDevice, DocumentedDevice, ItemDevice {
public static final int MAX_TRANSFERRED_FILE_SIZE = 512 * 1024;
private static final String BEGIN_EXPORT_FILE = "beginExportFile";
@@ -70,9 +70,9 @@ public final class CloudInterfaceCardItemDevice extends IdentityProxy<ItemStack>
private static final class ImportFileRequest {
public final Set<ServerPlayerEntity> PendingPlayers = Collections.newSetFromMap(new WeakHashMap<>());
public final WeakReference<CloudInterfaceCardItemDevice> Device;
public final WeakReference<FileImportExportCardItemDevice> Device;
private ImportFileRequest(final CloudInterfaceCardItemDevice device) {
private ImportFileRequest(final FileImportExportCardItemDevice device) {
Device = new WeakReference<>(device);
}
}
@@ -91,10 +91,10 @@ public final class CloudInterfaceCardItemDevice extends IdentityProxy<ItemStack>
///////////////////////////////////////////////////////////////////
public CloudInterfaceCardItemDevice(final ItemStack identity, final TerminalUserProvider userProvider) {
public FileImportExportCardItemDevice(final ItemStack identity, final TerminalUserProvider userProvider) {
super(identity);
this.userProvider = userProvider;
this.device = new ObjectDevice(this, "cloud");
this.device = new ObjectDevice(this, "file_import_export");
}
///////////////////////////////////////////////////////////////////
@@ -102,7 +102,7 @@ public final class CloudInterfaceCardItemDevice extends IdentityProxy<ItemStack>
public static void setImportedFile(final int id, final byte[] data) {
final ImportFileRequest request = importingDevices.remove(id);
if (request != null) {
final CloudInterfaceCardItemDevice device = request.Device.get();
final FileImportExportCardItemDevice device = request.Device.get();
if (device != null) {
device.importedFile = new ImportedFile(data);
final ServerCanceledImportFileMessage message = new ServerCanceledImportFileMessage(id);
@@ -119,7 +119,7 @@ public final class CloudInterfaceCardItemDevice extends IdentityProxy<ItemStack>
request.PendingPlayers.remove(player);
if (request.PendingPlayers.isEmpty()) {
importingDevices.remove(id);
final CloudInterfaceCardItemDevice device = request.Device.get();
final FileImportExportCardItemDevice device = request.Device.get();
if (device != null) {
device.state = State.IMPORT_CANCELED;
}

View File

@@ -40,7 +40,7 @@ public final class Providers {
ITEM_DEVICE_PROVIDERS.register("flash_memory_custom", FlashMemoryWithExternalDataItemDeviceProvider::new);
ITEM_DEVICE_PROVIDERS.register("redstone_interface_card", RedstoneInterfaceCardItemDeviceProvider::new);
ITEM_DEVICE_PROVIDERS.register("network_interface_card", NetworkInterfaceCardItemDeviceProvider::new);
ITEM_DEVICE_PROVIDERS.register("cloud_interface_card", CloudInterfaceCardItemDeviceProvider::new);
ITEM_DEVICE_PROVIDERS.register("file_import_export", FileImportExportCardItemDeviceProvider::new);
ITEM_DEVICE_PROVIDERS.register("inventory_operations_module", InventoryOperationsModuleDeviceProvider::new);
ITEM_DEVICE_PROVIDERS.register("block_operations_module", BlockOperationsModuleDeviceProvider::new);

View File

@@ -4,7 +4,7 @@ import li.cil.oc2.api.bus.device.ItemDevice;
import li.cil.oc2.api.bus.device.provider.ItemDeviceQuery;
import li.cil.oc2.api.capabilities.TerminalUserProvider;
import li.cil.oc2.common.Config;
import li.cil.oc2.common.bus.device.item.CloudInterfaceCardItemDevice;
import li.cil.oc2.common.bus.device.item.FileImportExportCardItemDevice;
import li.cil.oc2.common.bus.device.provider.util.AbstractItemDeviceProvider;
import li.cil.oc2.common.capabilities.Capabilities;
import li.cil.oc2.common.item.Items;
@@ -12,9 +12,9 @@ import net.minecraftforge.common.util.LazyOptional;
import java.util.Optional;
public final class CloudInterfaceCardItemDeviceProvider extends AbstractItemDeviceProvider {
public CloudInterfaceCardItemDeviceProvider() {
super(Items.CLOUD_INTERFACE_CARD);
public final class FileImportExportCardItemDeviceProvider extends AbstractItemDeviceProvider {
public FileImportExportCardItemDeviceProvider() {
super(Items.FILE_IMPORT_EXPORT_CARD);
}
///////////////////////////////////////////////////////////////////
@@ -27,12 +27,12 @@ public final class CloudInterfaceCardItemDeviceProvider extends AbstractItemDevi
@Override
protected Optional<ItemDevice> getItemDevice(final ItemDeviceQuery query) {
return getTerminalUserProvider(query).map(provider ->
new CloudInterfaceCardItemDevice(query.getItemStack(), provider));
new FileImportExportCardItemDevice(query.getItemStack(), provider));
}
@Override
protected int getItemDeviceEnergyConsumption(final ItemDeviceQuery query) {
return Config.cloudInterfaceCardEnergyPerTick;
return Config.fileImportExportCardEnergyPerTick;
}
///////////////////////////////////////////////////////////////////

View File

@@ -64,7 +64,7 @@ public final class Items {
public static final RegistryObject<Item> REDSTONE_INTERFACE_CARD = register("redstone_interface_card");
public static final RegistryObject<Item> NETWORK_INTERFACE_CARD = register("network_interface_card");
public static final RegistryObject<Item> CLOUD_INTERFACE_CARD = register("cloud_interface_card");
public static final RegistryObject<Item> FILE_IMPORT_EXPORT_CARD = register("file_import_export_card");
public static final RegistryObject<Item> INVENTORY_OPERATIONS_MODULE = register("inventory_operations_module");
public static final RegistryObject<Item> BLOCK_OPERATIONS_MODULE = register("block_operations_module", BlockOperationsModule::new);

View File

@@ -1,6 +1,6 @@
package li.cil.oc2.common.network.message;
import li.cil.oc2.common.bus.device.item.CloudInterfaceCardItemDevice;
import li.cil.oc2.common.bus.device.item.FileImportExportCardItemDevice;
import net.minecraft.network.PacketBuffer;
import net.minecraftforge.fml.network.NetworkEvent;
@@ -22,7 +22,7 @@ public final class ClientCanceledImportFileMessage {
///////////////////////////////////////////////////////////////////
public static boolean handleMessage(final ClientCanceledImportFileMessage message, final Supplier<NetworkEvent.Context> context) {
CloudInterfaceCardItemDevice.cancelImport(context.get().getSender(), message.id);
FileImportExportCardItemDevice.cancelImport(context.get().getSender(), message.id);
return true;
}

View File

@@ -1,6 +1,6 @@
package li.cil.oc2.common.network.message;
import li.cil.oc2.common.bus.device.item.CloudInterfaceCardItemDevice;
import li.cil.oc2.common.bus.device.item.FileImportExportCardItemDevice;
import net.minecraft.network.PacketBuffer;
import net.minecraftforge.fml.network.NetworkEvent;
@@ -24,7 +24,7 @@ public final class ImportedFileMessage {
///////////////////////////////////////////////////////////////////
public static boolean handleMessage(final ImportedFileMessage message, final Supplier<NetworkEvent.Context> context) {
CloudInterfaceCardItemDevice.setImportedFile(message.id, message.data);
FileImportExportCardItemDevice.setImportedFile(message.id, message.data);
return true;
}

View File

@@ -1,12 +1,11 @@
package li.cil.oc2.common.network.message;
import li.cil.oc2.client.gui.FileChooserScreen;
import li.cil.oc2.common.bus.device.item.CloudInterfaceCardItemDevice;
import li.cil.oc2.common.bus.device.item.FileImportExportCardItemDevice;
import li.cil.oc2.common.network.Network;
import net.minecraft.client.Minecraft;
import net.minecraft.network.PacketBuffer;
import net.minecraft.util.text.Color;
import net.minecraft.util.text.StringTextComponent;
import net.minecraft.util.text.TranslationTextComponent;
import net.minecraftforge.fml.network.NetworkEvent;
import org.apache.logging.log4j.LogManager;
@@ -43,7 +42,7 @@ public final class RequestImportedFileMessage {
public void onFileSelected(final Path path) {
try {
final byte[] data = Files.readAllBytes(path);
if (data.length > CloudInterfaceCardItemDevice.MAX_TRANSFERRED_FILE_SIZE) {
if (data.length > FileImportExportCardItemDevice.MAX_TRANSFERRED_FILE_SIZE) {
Network.INSTANCE.sendToServer(new ClientCanceledImportFileMessage(message.id));
Minecraft.getInstance().player.sendStatusMessage(FILE_TOO_LARGE_TEXT
.modifyStyle(s -> s.setColor(Color.fromInt(0xFFA0A0))), false);

View File

@@ -1,6 +1,6 @@
package li.cil.oc2.common.network.message;
import li.cil.oc2.common.bus.device.item.CloudInterfaceCardItemDevice;
import li.cil.oc2.common.bus.device.item.FileImportExportCardItemDevice;
import net.minecraft.network.PacketBuffer;
import net.minecraftforge.fml.network.NetworkEvent;
@@ -22,7 +22,7 @@ public final class ServerCanceledImportFileMessage {
///////////////////////////////////////////////////////////////////
public static boolean handleMessage(final ServerCanceledImportFileMessage message, final Supplier<NetworkEvent.Context> context) {
CloudInterfaceCardItemDevice.cancelImport(context.get().getSender(), message.id);
FileImportExportCardItemDevice.cancelImport(context.get().getSender(), message.id);
return true;
}

View File

@@ -40,7 +40,7 @@ public final class ModItemModelProvider extends ItemModelProvider {
simple(Items.REDSTONE_INTERFACE_CARD, "item/redstone_interface_card");
simple(Items.NETWORK_INTERFACE_CARD, "item/network_interface_card");
simple(Items.CLOUD_INTERFACE_CARD, "item/cloud_interface_card");
simple(Items.FILE_IMPORT_EXPORT_CARD, "item/file_import_export_card");
simple(Items.INVENTORY_OPERATIONS_MODULE, "item/inventory_operations_module");
simple(Items.BLOCK_OPERATIONS_MODULE, "item/block_operations_module");

View File

@@ -54,7 +54,7 @@ public final class ModItemTagsProvider extends ItemTagsProvider {
getOrCreateBuilder(DEVICES_CARD).add(
Items.REDSTONE_INTERFACE_CARD.get(),
Items.NETWORK_INTERFACE_CARD.get(),
Items.CLOUD_INTERFACE_CARD.get()
Items.FILE_IMPORT_EXPORT_CARD.get()
);
getOrCreateBuilder(DEVICES_ROBOT_MODULE).add(
Items.INVENTORY_OPERATIONS_MODULE.get(),

View File

@@ -26,6 +26,8 @@
"item.oc2.flash_memory": "Flash Memory",
"item.oc2.redstone_interface_card": "Redstone Interface Card",
"item.oc2.network_interface_card": "Network Interface Card",
"item.oc2.file_import_export_card": "File Import/Export Card",
"item.oc2.file_import_export_card.desc": "Provides an API to import and export files into and out of a virtual computer from and into your real file system.",
"item.oc2.robot": "Robot",
"item.oc2.robot.desc": "Use a Scrench or compatible wrench to add and remove components.",
"item.oc2.inventory_operations_module": "Inventory Operations Module",

View File

@@ -1,6 +1,6 @@
{
"parent": "minecraft:item/generated",
"textures": {
"layer0": "oc2:item/cloud_interface_card"
"layer0": "oc2:item/file_import_export_card"
}
}

View File

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

View File

@@ -1,10 +1,10 @@
#!/usr/bin/lua
local devices = require("devices")
local cloud = devices:find("cloud")
local device = devices:find("file_import_export")
if not cloud then
print("A cloud interface card is required for this functionality.")
if not device then
print("A File Import/Export Card is required for this functionality.")
return
end
@@ -15,23 +15,23 @@ end
local file = assert(io.open(arg[1], "rb"))
cloud:reset()
device:reset()
io.write("Exporting")
cloud:beginExportFile(arg[1])
device:beginExportFile(arg[1])
while true do
local str = file:read(512)
if not str then break end
if #str > 0 then
local bytes = {string.byte(str, 1, -1)}
cloud:writeExportFile(bytes)
device:writeExportFile(bytes)
io.write(".")
end
end
io.write("\n")
cloud:finishExportFile()
device:finishExportFile()
assert(file:close())

View File

@@ -1,10 +1,10 @@
#!/usr/bin/lua
local devices = require("devices")
local cloud = devices:find("cloud")
local device = devices:find("file_import_export")
if not cloud then
print("A cloud interface card is required for this functionality.")
if not device then
print("A File Import/Export Card is required for this functionality.")
return
end
@@ -15,14 +15,14 @@ end
local file = assert(io.open(arg[1], "wb"))
cloud:reset()
device:reset()
io.write("Importing")
cloud:beginImportFile()
device:beginImportFile()
while true do
local bytes = cloud:readImportFile()
local bytes = device:readImportFile()
if not bytes then break end
if #bytes > 0 then
file:write(string.char(table.unpack(bytes)))

View File

@@ -3,6 +3,6 @@
"values": [
"oc2:redstone_interface_card",
"oc2:network_interface_card",
"oc2:cloud_interface_card"
"oc2:file_import_export_card"
]
}