Renamed file import export card.
This commit is contained in:
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
@@ -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);
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////////////
|
||||
@@ -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);
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -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");
|
||||
|
||||
@@ -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(),
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"parent": "minecraft:item/generated",
|
||||
"textures": {
|
||||
"layer0": "oc2:item/cloud_interface_card"
|
||||
"layer0": "oc2:item/file_import_export_card"
|
||||
}
|
||||
}
|
||||
|
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.4 KiB |
@@ -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())
|
||||
|
||||
@@ -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)))
|
||||
|
||||
@@ -3,6 +3,6 @@
|
||||
"values": [
|
||||
"oc2:redstone_interface_card",
|
||||
"oc2:network_interface_card",
|
||||
"oc2:cloud_interface_card"
|
||||
"oc2:file_import_export_card"
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user