diff --git a/src/main/java/li/cil/oc/api/driver/DeviceInfo.java b/src/main/java/li/cil/oc/api/driver/DeviceInfo.java
index 751190547..76ef8b05d 100644
--- a/src/main/java/li/cil/oc/api/driver/DeviceInfo.java
+++ b/src/main/java/li/cil/oc/api/driver/DeviceInfo.java
@@ -36,4 +36,62 @@ public interface DeviceInfo {
* @return the table of information on this device, or null
.
*/
Map getDeviceInfo();
+
+ /**
+ * Recommended list of key values for the device info table.
+ *
+ * You are strongly encouraged to at least define class
, description
,
+ * vendor
and product
, to allow a more homogenous experience for the
+ * end-user reading this information via a script.
+ *
+ * Feel free to be somewhat... flexible with the designated uses of these fields. For example,
+ * the capacity and size fields have differing meaning depending on the device in OpenComputers
+ * itself (e.g. they're used for maximum number of characters for graphics cards, width is
+ * used for bit depth on graphics cards, etc.), just try to stick with what's somewhat logical.
+ */
+ final class DeviceAttribute {
+ public static final String Class = "class"; // device's class (see below), e.g. "processor"
+ public static final String Description = "description"; // human-readable description of the hardware node, e.g. "Ethernet interface"
+ public static final String Vendor = "vendor"; // vendor/manufacturer of the device, e.g. "Minecorp Inc."
+ public static final String Product = "product"; // product name of the device, e.g. "ATY Raderps 4200X"
+ public static final String Version = "version"; // version/release of the device, e.g. "2.1.0"
+ public static final String Serial = "serial"; // serial number of the device
+ public static final String Capacity = "capacity"; // maximum capacity reported by the device, e.g. unformatted size of a disk
+ public static final String Size = "size"; // actual size of the device, e.g. actual usable space on a disk
+ public static final String Clock = "clock"; // bus clock (in Hz) of the device, e.g. call speed(s) of a component
+ public static final String Width = "width"; // address width of the device, in the broadest sense
+
+ private DeviceAttribute() {
+ }
+ }
+
+ /**
+ * Recommended list of values for the class
attribute (see above).
+ *
+ * Again, feel free to be somewhat creative with those. When in doubt, use generic
.
+ */
+ final class DeviceClass {
+ public static final String System = "system"; // used to refer to the whole machine, e.g. "Computer", "Server", "Robot"
+ public static final String Bridge = "bridge"; // internal bus converter, maybe useful for some low-level archs?
+ public static final String Memory = "memory"; // memory bank that can contain data, executable code, e.g. RAM, EEPROM
+ public static final String Processor = "processor"; // execution processor, e.g. CPU, cryptography support
+ public static final String Address = "address"; // memory address range, e.g. video memory (again, low-level archs maybe?)
+ public static final String Storage = "storage"; // storage controller, e.g. IDE controller (low-level...)
+ public static final String Disk = "disk"; // random-access storage device, e.g. floppies
+ public static final String Tape = "tape"; // sequential-access storage device, e.g. cassette tapes
+ public static final String Bus = "bus"; // device-connecting bus, e.g. USB
+ public static final String Network = "network"; // network interface, e.g. ethernet, wlan
+ public static final String Display = "display"; // display adapter, e.g. graphics cards
+ public static final String Input = "input"; // user input device, e.g. keyboard, mouse
+ public static final String Printer = "printer"; // printing device, e.g. printer, 3D-printer
+ public static final String Multimedia = "multimedia"; // audio/video device, e.g. sound cards
+ public static final String Communication = "communication"; // line communication device, e.g. modem, serial ports
+ public static final String Power = "power"; // energy source, e.g. battery, power supply
+ public static final String Volume = "volume"; // disk volume, e.g. file system
+ public static final String Generic = "generic"; // generic device (used when no other class is suitable)
+
+ private DeviceClass() {
+ }
+ }
+
}
diff --git a/src/main/scala/li/cil/oc/Constants.scala b/src/main/scala/li/cil/oc/Constants.scala
index cdc7540cd..fcb543b6a 100644
--- a/src/main/scala/li/cil/oc/Constants.scala
+++ b/src/main/scala/li/cil/oc/Constants.scala
@@ -173,39 +173,7 @@ object Constants {
object DeviceInfo {
- object DeviceAttribute {
- final val Class = "class"
- final val Description = "description"
- final val Vendor = "vendor"
- final val Product = "product"
- final val Capacity = "capacity"
- final val Size = "size"
- final val Clock = "clock"
- final val Width = "width"
- }
-
- object DeviceClass {
- final val System = "system"
- final val Bridge = "bridge"
- final val Memory = "memory"
- final val Processor = "processor"
- final val Address = "address"
- final val Storage = "storage"
- final val Disk = "disk"
- final val Tape = "tape"
- final val Bus = "bus"
- final val Network = "network"
- final val Display = "display"
- final val Input = "input"
- final val Printer = "printer"
- final val Multimedia = "multimedia"
- final val Communication = "communication"
- final val Power = "power"
- final val Volume = "volume"
- final val Generic = "generic"
- }
-
- final val DefaultVendor = "MightPirates GmbH & Co. KG"
+ final val DefaultVendor = "MightyPirates GmbH & Co. KG"
}
diff --git a/src/main/scala/li/cil/oc/common/component/TerminalServer.scala b/src/main/scala/li/cil/oc/common/component/TerminalServer.scala
index f0e75ede5..3129da961 100644
--- a/src/main/scala/li/cil/oc/common/component/TerminalServer.scala
+++ b/src/main/scala/li/cil/oc/common/component/TerminalServer.scala
@@ -4,8 +4,8 @@ import java.util
import java.util.UUID
import li.cil.oc.Constants
-import li.cil.oc.Constants.DeviceInfo.DeviceAttribute
-import li.cil.oc.Constants.DeviceInfo.DeviceClass
+import li.cil.oc.api.driver.DeviceInfo.DeviceAttribute
+import li.cil.oc.api.driver.DeviceInfo.DeviceClass
import li.cil.oc.Settings
import li.cil.oc.api
import li.cil.oc.api.component.RackBusConnectable
diff --git a/src/main/scala/li/cil/oc/common/component/TextBuffer.scala b/src/main/scala/li/cil/oc/common/component/TextBuffer.scala
index 480255a3b..b923b762d 100644
--- a/src/main/scala/li/cil/oc/common/component/TextBuffer.scala
+++ b/src/main/scala/li/cil/oc/common/component/TextBuffer.scala
@@ -5,8 +5,8 @@ import cpw.mods.fml.common.eventhandler.SubscribeEvent
import cpw.mods.fml.relauncher.Side
import cpw.mods.fml.relauncher.SideOnly
import li.cil.oc.Constants
-import li.cil.oc.Constants.DeviceInfo.DeviceAttribute
-import li.cil.oc.Constants.DeviceInfo.DeviceClass
+import li.cil.oc.api.driver.DeviceInfo.DeviceAttribute
+import li.cil.oc.api.driver.DeviceInfo.DeviceClass
import li.cil.oc.OpenComputers
import li.cil.oc.Settings
import li.cil.oc.api
diff --git a/src/main/scala/li/cil/oc/common/tileentity/Adapter.scala b/src/main/scala/li/cil/oc/common/tileentity/Adapter.scala
index cbe66e75a..565fed8f2 100644
--- a/src/main/scala/li/cil/oc/common/tileentity/Adapter.scala
+++ b/src/main/scala/li/cil/oc/common/tileentity/Adapter.scala
@@ -3,8 +3,8 @@ package li.cil.oc.common.tileentity
import java.util
import li.cil.oc.Constants
-import li.cil.oc.Constants.DeviceInfo.DeviceAttribute
-import li.cil.oc.Constants.DeviceInfo.DeviceClass
+import li.cil.oc.api.driver.DeviceInfo.DeviceAttribute
+import li.cil.oc.api.driver.DeviceInfo.DeviceClass
import li.cil.oc.Settings
import li.cil.oc.api
import li.cil.oc.api.Driver
diff --git a/src/main/scala/li/cil/oc/common/tileentity/Assembler.scala b/src/main/scala/li/cil/oc/common/tileentity/Assembler.scala
index f3145492f..790bf02aa 100644
--- a/src/main/scala/li/cil/oc/common/tileentity/Assembler.scala
+++ b/src/main/scala/li/cil/oc/common/tileentity/Assembler.scala
@@ -5,8 +5,8 @@ import java.util
import cpw.mods.fml.relauncher.Side
import cpw.mods.fml.relauncher.SideOnly
import li.cil.oc.Constants
-import li.cil.oc.Constants.DeviceInfo.DeviceAttribute
-import li.cil.oc.Constants.DeviceInfo.DeviceClass
+import li.cil.oc.api.driver.DeviceInfo.DeviceAttribute
+import li.cil.oc.api.driver.DeviceInfo.DeviceClass
import li.cil.oc.Settings
import li.cil.oc.api
import li.cil.oc.api.driver.DeviceInfo
diff --git a/src/main/scala/li/cil/oc/common/tileentity/Capacitor.scala b/src/main/scala/li/cil/oc/common/tileentity/Capacitor.scala
index 935b92d28..825afbe35 100644
--- a/src/main/scala/li/cil/oc/common/tileentity/Capacitor.scala
+++ b/src/main/scala/li/cil/oc/common/tileentity/Capacitor.scala
@@ -3,8 +3,8 @@ package li.cil.oc.common.tileentity
import java.util
import li.cil.oc.Constants
-import li.cil.oc.Constants.DeviceInfo.DeviceAttribute
-import li.cil.oc.Constants.DeviceInfo.DeviceClass
+import li.cil.oc.api.driver.DeviceInfo.DeviceAttribute
+import li.cil.oc.api.driver.DeviceInfo.DeviceClass
import li.cil.oc.Settings
import li.cil.oc.api
import li.cil.oc.api.driver.DeviceInfo
diff --git a/src/main/scala/li/cil/oc/common/tileentity/Case.scala b/src/main/scala/li/cil/oc/common/tileentity/Case.scala
index 68db7bb44..b71f7464c 100644
--- a/src/main/scala/li/cil/oc/common/tileentity/Case.scala
+++ b/src/main/scala/li/cil/oc/common/tileentity/Case.scala
@@ -5,8 +5,8 @@ import java.util
import cpw.mods.fml.relauncher.Side
import cpw.mods.fml.relauncher.SideOnly
import li.cil.oc.Constants
-import li.cil.oc.Constants.DeviceInfo.DeviceAttribute
-import li.cil.oc.Constants.DeviceInfo.DeviceClass
+import li.cil.oc.api.driver.DeviceInfo.DeviceAttribute
+import li.cil.oc.api.driver.DeviceInfo.DeviceClass
import li.cil.oc.Settings
import li.cil.oc.api.Driver
import li.cil.oc.api.driver.DeviceInfo
diff --git a/src/main/scala/li/cil/oc/common/tileentity/Charger.scala b/src/main/scala/li/cil/oc/common/tileentity/Charger.scala
index f73cd23cc..faae2be53 100644
--- a/src/main/scala/li/cil/oc/common/tileentity/Charger.scala
+++ b/src/main/scala/li/cil/oc/common/tileentity/Charger.scala
@@ -5,8 +5,8 @@ import java.util
import cpw.mods.fml.relauncher.Side
import cpw.mods.fml.relauncher.SideOnly
import li.cil.oc.Constants
-import li.cil.oc.Constants.DeviceInfo.DeviceAttribute
-import li.cil.oc.Constants.DeviceInfo.DeviceClass
+import li.cil.oc.api.driver.DeviceInfo.DeviceAttribute
+import li.cil.oc.api.driver.DeviceInfo.DeviceClass
import li.cil.oc.Localization
import li.cil.oc.Settings
import li.cil.oc.api
diff --git a/src/main/scala/li/cil/oc/common/tileentity/Disassembler.scala b/src/main/scala/li/cil/oc/common/tileentity/Disassembler.scala
index e2e7e2172..25c03a21f 100644
--- a/src/main/scala/li/cil/oc/common/tileentity/Disassembler.scala
+++ b/src/main/scala/li/cil/oc/common/tileentity/Disassembler.scala
@@ -5,8 +5,8 @@ import java.util
import cpw.mods.fml.relauncher.Side
import cpw.mods.fml.relauncher.SideOnly
import li.cil.oc.Constants
-import li.cil.oc.Constants.DeviceInfo.DeviceAttribute
-import li.cil.oc.Constants.DeviceInfo.DeviceClass
+import li.cil.oc.api.driver.DeviceInfo.DeviceAttribute
+import li.cil.oc.api.driver.DeviceInfo.DeviceClass
import li.cil.oc.Settings
import li.cil.oc.api
import li.cil.oc.api.driver.DeviceInfo
diff --git a/src/main/scala/li/cil/oc/common/tileentity/DiskDrive.scala b/src/main/scala/li/cil/oc/common/tileentity/DiskDrive.scala
index 123c67c5b..3ca7a8665 100644
--- a/src/main/scala/li/cil/oc/common/tileentity/DiskDrive.scala
+++ b/src/main/scala/li/cil/oc/common/tileentity/DiskDrive.scala
@@ -5,8 +5,8 @@ import java.util
import cpw.mods.fml.relauncher.Side
import cpw.mods.fml.relauncher.SideOnly
import li.cil.oc.Constants
-import li.cil.oc.Constants.DeviceInfo.DeviceAttribute
-import li.cil.oc.Constants.DeviceInfo.DeviceClass
+import li.cil.oc.api.driver.DeviceInfo.DeviceAttribute
+import li.cil.oc.api.driver.DeviceInfo.DeviceClass
import li.cil.oc.api
import li.cil.oc.api.Driver
import li.cil.oc.api.driver.DeviceInfo
diff --git a/src/main/scala/li/cil/oc/common/tileentity/Hologram.scala b/src/main/scala/li/cil/oc/common/tileentity/Hologram.scala
index f4276b1fb..184df2d5f 100644
--- a/src/main/scala/li/cil/oc/common/tileentity/Hologram.scala
+++ b/src/main/scala/li/cil/oc/common/tileentity/Hologram.scala
@@ -5,8 +5,8 @@ import java.util
import cpw.mods.fml.relauncher.Side
import cpw.mods.fml.relauncher.SideOnly
import li.cil.oc._
-import li.cil.oc.Constants.DeviceInfo.DeviceAttribute
-import li.cil.oc.Constants.DeviceInfo.DeviceClass
+import li.cil.oc.api.driver.DeviceInfo.DeviceAttribute
+import li.cil.oc.api.driver.DeviceInfo.DeviceClass
import li.cil.oc.api.driver.DeviceInfo
import li.cil.oc.api.machine.Arguments
import li.cil.oc.api.machine.Callback
diff --git a/src/main/scala/li/cil/oc/common/tileentity/Microcontroller.scala b/src/main/scala/li/cil/oc/common/tileentity/Microcontroller.scala
index f782abae2..24be8b7ee 100644
--- a/src/main/scala/li/cil/oc/common/tileentity/Microcontroller.scala
+++ b/src/main/scala/li/cil/oc/common/tileentity/Microcontroller.scala
@@ -5,8 +5,8 @@ import java.util
import cpw.mods.fml.relauncher.Side
import cpw.mods.fml.relauncher.SideOnly
import li.cil.oc.Constants
-import li.cil.oc.Constants.DeviceInfo.DeviceAttribute
-import li.cil.oc.Constants.DeviceInfo.DeviceClass
+import li.cil.oc.api.driver.DeviceInfo.DeviceAttribute
+import li.cil.oc.api.driver.DeviceInfo.DeviceClass
import li.cil.oc.Settings
import li.cil.oc.api
import li.cil.oc.api.driver.DeviceInfo
diff --git a/src/main/scala/li/cil/oc/common/tileentity/MotionSensor.scala b/src/main/scala/li/cil/oc/common/tileentity/MotionSensor.scala
index e4c7cd69d..ba6bdfdbc 100644
--- a/src/main/scala/li/cil/oc/common/tileentity/MotionSensor.scala
+++ b/src/main/scala/li/cil/oc/common/tileentity/MotionSensor.scala
@@ -3,8 +3,8 @@ package li.cil.oc.common.tileentity
import java.util
import li.cil.oc.Constants
-import li.cil.oc.Constants.DeviceInfo.DeviceAttribute
-import li.cil.oc.Constants.DeviceInfo.DeviceClass
+import li.cil.oc.api.driver.DeviceInfo.DeviceAttribute
+import li.cil.oc.api.driver.DeviceInfo.DeviceClass
import li.cil.oc.Settings
import li.cil.oc.api
import li.cil.oc.api.driver.DeviceInfo
diff --git a/src/main/scala/li/cil/oc/common/tileentity/PowerConverter.scala b/src/main/scala/li/cil/oc/common/tileentity/PowerConverter.scala
index 3155a830b..49e8176aa 100644
--- a/src/main/scala/li/cil/oc/common/tileentity/PowerConverter.scala
+++ b/src/main/scala/li/cil/oc/common/tileentity/PowerConverter.scala
@@ -5,8 +5,8 @@ import java.util
import cpw.mods.fml.relauncher.Side
import cpw.mods.fml.relauncher.SideOnly
import li.cil.oc.Constants
-import li.cil.oc.Constants.DeviceInfo.DeviceAttribute
-import li.cil.oc.Constants.DeviceInfo.DeviceClass
+import li.cil.oc.api.driver.DeviceInfo.DeviceAttribute
+import li.cil.oc.api.driver.DeviceInfo.DeviceClass
import li.cil.oc.Settings
import li.cil.oc.api
import li.cil.oc.api.driver.DeviceInfo
diff --git a/src/main/scala/li/cil/oc/common/tileentity/Printer.scala b/src/main/scala/li/cil/oc/common/tileentity/Printer.scala
index b33e608ee..66d9e74bc 100644
--- a/src/main/scala/li/cil/oc/common/tileentity/Printer.scala
+++ b/src/main/scala/li/cil/oc/common/tileentity/Printer.scala
@@ -5,8 +5,8 @@ import java.util
import cpw.mods.fml.relauncher.Side
import cpw.mods.fml.relauncher.SideOnly
import li.cil.oc.Constants
-import li.cil.oc.Constants.DeviceInfo.DeviceAttribute
-import li.cil.oc.Constants.DeviceInfo.DeviceClass
+import li.cil.oc.api.driver.DeviceInfo.DeviceAttribute
+import li.cil.oc.api.driver.DeviceInfo.DeviceClass
import li.cil.oc.Settings
import li.cil.oc.api
import li.cil.oc.api.driver.DeviceInfo
diff --git a/src/main/scala/li/cil/oc/server/component/APU.scala b/src/main/scala/li/cil/oc/server/component/APU.scala
index c08b7cd9c..296f1f1ec 100644
--- a/src/main/scala/li/cil/oc/server/component/APU.scala
+++ b/src/main/scala/li/cil/oc/server/component/APU.scala
@@ -3,8 +3,8 @@ package li.cil.oc.server.component
import java.util
import li.cil.oc.Constants
-import li.cil.oc.Constants.DeviceInfo.DeviceAttribute
-import li.cil.oc.Constants.DeviceInfo.DeviceClass
+import li.cil.oc.api.driver.DeviceInfo.DeviceAttribute
+import li.cil.oc.api.driver.DeviceInfo.DeviceClass
import li.cil.oc.Settings
import scala.collection.convert.WrapAsJava._
diff --git a/src/main/scala/li/cil/oc/server/component/CPU.scala b/src/main/scala/li/cil/oc/server/component/CPU.scala
index 1d88e1193..107d4afe3 100644
--- a/src/main/scala/li/cil/oc/server/component/CPU.scala
+++ b/src/main/scala/li/cil/oc/server/component/CPU.scala
@@ -3,8 +3,8 @@ package li.cil.oc.server.component
import java.util
import li.cil.oc.Constants
-import li.cil.oc.Constants.DeviceInfo.DeviceAttribute
-import li.cil.oc.Constants.DeviceInfo.DeviceClass
+import li.cil.oc.api.driver.DeviceInfo.DeviceAttribute
+import li.cil.oc.api.driver.DeviceInfo.DeviceClass
import li.cil.oc.Settings
import li.cil.oc.api.Network
import li.cil.oc.api.driver.DeviceInfo
diff --git a/src/main/scala/li/cil/oc/server/component/DataCard.scala b/src/main/scala/li/cil/oc/server/component/DataCard.scala
index e4df559fc..a416242ce 100644
--- a/src/main/scala/li/cil/oc/server/component/DataCard.scala
+++ b/src/main/scala/li/cil/oc/server/component/DataCard.scala
@@ -14,8 +14,8 @@ import javax.crypto.spec.IvParameterSpec
import javax.crypto.spec.SecretKeySpec
import com.google.common.hash.Hashing
-import li.cil.oc.Constants.DeviceInfo.DeviceAttribute
-import li.cil.oc.Constants.DeviceInfo.DeviceClass
+import li.cil.oc.api.driver.DeviceInfo.DeviceAttribute
+import li.cil.oc.api.driver.DeviceInfo.DeviceClass
import li.cil.oc.Settings
import li.cil.oc.api.Network
import li.cil.oc.api.driver.DeviceInfo
diff --git a/src/main/scala/li/cil/oc/server/component/DiskDriveMountable.scala b/src/main/scala/li/cil/oc/server/component/DiskDriveMountable.scala
index 1788b0265..270a1287e 100644
--- a/src/main/scala/li/cil/oc/server/component/DiskDriveMountable.scala
+++ b/src/main/scala/li/cil/oc/server/component/DiskDriveMountable.scala
@@ -3,8 +3,8 @@ package li.cil.oc.server.component
import java.util
import li.cil.oc.Constants
-import li.cil.oc.Constants.DeviceInfo.DeviceAttribute
-import li.cil.oc.Constants.DeviceInfo.DeviceClass
+import li.cil.oc.api.driver.DeviceInfo.DeviceAttribute
+import li.cil.oc.api.driver.DeviceInfo.DeviceClass
import li.cil.oc.api
import li.cil.oc.api.Driver
import li.cil.oc.api.component.RackBusConnectable
diff --git a/src/main/scala/li/cil/oc/server/component/Drive.scala b/src/main/scala/li/cil/oc/server/component/Drive.scala
index 1f5dc49bb..3d44eab6a 100644
--- a/src/main/scala/li/cil/oc/server/component/Drive.scala
+++ b/src/main/scala/li/cil/oc/server/component/Drive.scala
@@ -9,8 +9,8 @@ import java.util.zip.GZIPOutputStream
import com.google.common.io.Files
import li.cil.oc.Constants
-import li.cil.oc.Constants.DeviceInfo.DeviceAttribute
-import li.cil.oc.Constants.DeviceInfo.DeviceClass
+import li.cil.oc.api.driver.DeviceInfo.DeviceAttribute
+import li.cil.oc.api.driver.DeviceInfo.DeviceClass
import li.cil.oc.OpenComputers
import li.cil.oc.Settings
import li.cil.oc.api.Network
diff --git a/src/main/scala/li/cil/oc/server/component/Drone.scala b/src/main/scala/li/cil/oc/server/component/Drone.scala
index 83f2c9ad9..1de1a27b3 100644
--- a/src/main/scala/li/cil/oc/server/component/Drone.scala
+++ b/src/main/scala/li/cil/oc/server/component/Drone.scala
@@ -3,8 +3,8 @@ package li.cil.oc.server.component
import java.util
import li.cil.oc.Constants
-import li.cil.oc.Constants.DeviceInfo.DeviceAttribute
-import li.cil.oc.Constants.DeviceInfo.DeviceClass
+import li.cil.oc.api.driver.DeviceInfo.DeviceAttribute
+import li.cil.oc.api.driver.DeviceInfo.DeviceClass
import li.cil.oc.Settings
import li.cil.oc.api.Network
import li.cil.oc.api.driver.DeviceInfo
diff --git a/src/main/scala/li/cil/oc/server/component/EEPROM.scala b/src/main/scala/li/cil/oc/server/component/EEPROM.scala
index e8b9c41f5..cc907aff6 100644
--- a/src/main/scala/li/cil/oc/server/component/EEPROM.scala
+++ b/src/main/scala/li/cil/oc/server/component/EEPROM.scala
@@ -4,8 +4,8 @@ import java.util
import com.google.common.hash.Hashing
import li.cil.oc.Constants
-import li.cil.oc.Constants.DeviceInfo.DeviceAttribute
-import li.cil.oc.Constants.DeviceInfo.DeviceClass
+import li.cil.oc.api.driver.DeviceInfo.DeviceAttribute
+import li.cil.oc.api.driver.DeviceInfo.DeviceClass
import li.cil.oc.Settings
import li.cil.oc.api.Network
import li.cil.oc.api.driver.DeviceInfo
diff --git a/src/main/scala/li/cil/oc/server/component/FileSystem.scala b/src/main/scala/li/cil/oc/server/component/FileSystem.scala
index 62415e04d..1b529e6fb 100644
--- a/src/main/scala/li/cil/oc/server/component/FileSystem.scala
+++ b/src/main/scala/li/cil/oc/server/component/FileSystem.scala
@@ -5,8 +5,8 @@ import java.io.IOException
import java.util
import li.cil.oc.Constants
-import li.cil.oc.Constants.DeviceInfo.DeviceAttribute
-import li.cil.oc.Constants.DeviceInfo.DeviceClass
+import li.cil.oc.api.driver.DeviceInfo.DeviceAttribute
+import li.cil.oc.api.driver.DeviceInfo.DeviceClass
import li.cil.oc.Settings
import li.cil.oc.api.Network
import li.cil.oc.api.driver.DeviceInfo
diff --git a/src/main/scala/li/cil/oc/server/component/Geolyzer.scala b/src/main/scala/li/cil/oc/server/component/Geolyzer.scala
index b7e621b00..2f5c0f2f1 100644
--- a/src/main/scala/li/cil/oc/server/component/Geolyzer.scala
+++ b/src/main/scala/li/cil/oc/server/component/Geolyzer.scala
@@ -3,8 +3,8 @@ package li.cil.oc.server.component
import java.util
import li.cil.oc.Constants
-import li.cil.oc.Constants.DeviceInfo.DeviceAttribute
-import li.cil.oc.Constants.DeviceInfo.DeviceClass
+import li.cil.oc.api.driver.DeviceInfo.DeviceAttribute
+import li.cil.oc.api.driver.DeviceInfo.DeviceClass
import li.cil.oc.Settings
import li.cil.oc.api
import li.cil.oc.api.driver.DeviceInfo
diff --git a/src/main/scala/li/cil/oc/server/component/GraphicsCard.scala b/src/main/scala/li/cil/oc/server/component/GraphicsCard.scala
index 70e2e4285..dd499c302 100644
--- a/src/main/scala/li/cil/oc/server/component/GraphicsCard.scala
+++ b/src/main/scala/li/cil/oc/server/component/GraphicsCard.scala
@@ -3,8 +3,8 @@ package li.cil.oc.server.component
import java.util
import li.cil.oc.Constants
-import li.cil.oc.Constants.DeviceInfo.DeviceAttribute
-import li.cil.oc.Constants.DeviceInfo.DeviceClass
+import li.cil.oc.api.driver.DeviceInfo.DeviceAttribute
+import li.cil.oc.api.driver.DeviceInfo.DeviceClass
import li.cil.oc.Localization
import li.cil.oc.Settings
import li.cil.oc.api
diff --git a/src/main/scala/li/cil/oc/server/component/InternetCard.scala b/src/main/scala/li/cil/oc/server/component/InternetCard.scala
index 71e43aae3..ec8f74da4 100644
--- a/src/main/scala/li/cil/oc/server/component/InternetCard.scala
+++ b/src/main/scala/li/cil/oc/server/component/InternetCard.scala
@@ -15,8 +15,8 @@ import java.util.concurrent.ExecutionException
import java.util.concurrent.Future
import li.cil.oc.Constants
-import li.cil.oc.Constants.DeviceInfo.DeviceAttribute
-import li.cil.oc.Constants.DeviceInfo.DeviceClass
+import li.cil.oc.api.driver.DeviceInfo.DeviceAttribute
+import li.cil.oc.api.driver.DeviceInfo.DeviceClass
import li.cil.oc.Settings
import li.cil.oc.api.machine.Arguments
import li.cil.oc.api.machine.Callback
diff --git a/src/main/scala/li/cil/oc/server/component/Keyboard.scala b/src/main/scala/li/cil/oc/server/component/Keyboard.scala
index 860144208..16c9524cc 100644
--- a/src/main/scala/li/cil/oc/server/component/Keyboard.scala
+++ b/src/main/scala/li/cil/oc/server/component/Keyboard.scala
@@ -3,8 +3,8 @@ package li.cil.oc.server.component
import java.util
import li.cil.oc.Constants
-import li.cil.oc.Constants.DeviceInfo.DeviceAttribute
-import li.cil.oc.Constants.DeviceInfo.DeviceClass
+import li.cil.oc.api.driver.DeviceInfo.DeviceAttribute
+import li.cil.oc.api.driver.DeviceInfo.DeviceClass
import li.cil.oc.Settings
import li.cil.oc.api
import li.cil.oc.api.Network
diff --git a/src/main/scala/li/cil/oc/server/component/LinkedCard.scala b/src/main/scala/li/cil/oc/server/component/LinkedCard.scala
index 914183775..ac7f0d8dd 100644
--- a/src/main/scala/li/cil/oc/server/component/LinkedCard.scala
+++ b/src/main/scala/li/cil/oc/server/component/LinkedCard.scala
@@ -3,8 +3,8 @@ package li.cil.oc.server.component
import java.util
import li.cil.oc.Constants
-import li.cil.oc.Constants.DeviceInfo.DeviceAttribute
-import li.cil.oc.Constants.DeviceInfo.DeviceClass
+import li.cil.oc.api.driver.DeviceInfo.DeviceAttribute
+import li.cil.oc.api.driver.DeviceInfo.DeviceClass
import li.cil.oc.Settings
import li.cil.oc.api.machine.Arguments
import li.cil.oc.api.machine.Callback
diff --git a/src/main/scala/li/cil/oc/server/component/Memory.scala b/src/main/scala/li/cil/oc/server/component/Memory.scala
index 71ec2df14..10ded3517 100644
--- a/src/main/scala/li/cil/oc/server/component/Memory.scala
+++ b/src/main/scala/li/cil/oc/server/component/Memory.scala
@@ -3,8 +3,8 @@ package li.cil.oc.server.component
import java.util
import li.cil.oc.Constants
-import li.cil.oc.Constants.DeviceInfo.DeviceAttribute
-import li.cil.oc.Constants.DeviceInfo.DeviceClass
+import li.cil.oc.api.driver.DeviceInfo.DeviceAttribute
+import li.cil.oc.api.driver.DeviceInfo.DeviceClass
import li.cil.oc.Settings
import li.cil.oc.api.Network
import li.cil.oc.api.driver.DeviceInfo
diff --git a/src/main/scala/li/cil/oc/server/component/NetworkCard.scala b/src/main/scala/li/cil/oc/server/component/NetworkCard.scala
index 41c9e4e4b..d5823d184 100644
--- a/src/main/scala/li/cil/oc/server/component/NetworkCard.scala
+++ b/src/main/scala/li/cil/oc/server/component/NetworkCard.scala
@@ -4,8 +4,8 @@ import java.util
import com.google.common.base.Charsets
import li.cil.oc.Constants
-import li.cil.oc.Constants.DeviceInfo.DeviceAttribute
-import li.cil.oc.Constants.DeviceInfo.DeviceClass
+import li.cil.oc.api.driver.DeviceInfo.DeviceAttribute
+import li.cil.oc.api.driver.DeviceInfo.DeviceClass
import li.cil.oc.Settings
import li.cil.oc.api
import li.cil.oc.api.Network
diff --git a/src/main/scala/li/cil/oc/server/component/Redstone.scala b/src/main/scala/li/cil/oc/server/component/Redstone.scala
index e772184ca..93cdd36fd 100644
--- a/src/main/scala/li/cil/oc/server/component/Redstone.scala
+++ b/src/main/scala/li/cil/oc/server/component/Redstone.scala
@@ -3,8 +3,8 @@ package li.cil.oc.server.component
import java.util
import li.cil.oc.Constants
-import li.cil.oc.Constants.DeviceInfo.DeviceAttribute
-import li.cil.oc.Constants.DeviceInfo.DeviceClass
+import li.cil.oc.api.driver.DeviceInfo.DeviceAttribute
+import li.cil.oc.api.driver.DeviceInfo.DeviceClass
import li.cil.oc.api.network.EnvironmentHost
import li.cil.oc.common.tileentity.traits.BundledRedstoneAware
import li.cil.oc.common.tileentity.traits.RedstoneAware
diff --git a/src/main/scala/li/cil/oc/server/component/RedstoneBundled.scala b/src/main/scala/li/cil/oc/server/component/RedstoneBundled.scala
index 18b8a3e13..616da070e 100644
--- a/src/main/scala/li/cil/oc/server/component/RedstoneBundled.scala
+++ b/src/main/scala/li/cil/oc/server/component/RedstoneBundled.scala
@@ -3,8 +3,8 @@ package li.cil.oc.server.component
import java.util
import li.cil.oc.Constants
-import li.cil.oc.Constants.DeviceInfo.DeviceAttribute
-import li.cil.oc.Constants.DeviceInfo.DeviceClass
+import li.cil.oc.api.driver.DeviceInfo.DeviceAttribute
+import li.cil.oc.api.driver.DeviceInfo.DeviceClass
import li.cil.oc.Settings
import li.cil.oc.api.network.EnvironmentHost
import li.cil.oc.api.machine.Arguments
diff --git a/src/main/scala/li/cil/oc/server/component/RedstoneVanilla.scala b/src/main/scala/li/cil/oc/server/component/RedstoneVanilla.scala
index 8238c1d09..b3a5c86ba 100644
--- a/src/main/scala/li/cil/oc/server/component/RedstoneVanilla.scala
+++ b/src/main/scala/li/cil/oc/server/component/RedstoneVanilla.scala
@@ -3,8 +3,8 @@ package li.cil.oc.server.component
import java.util
import li.cil.oc.Constants
-import li.cil.oc.Constants.DeviceInfo.DeviceAttribute
-import li.cil.oc.Constants.DeviceInfo.DeviceClass
+import li.cil.oc.api.driver.DeviceInfo.DeviceAttribute
+import li.cil.oc.api.driver.DeviceInfo.DeviceClass
import li.cil.oc.Settings
import li.cil.oc.api.driver.DeviceInfo
import li.cil.oc.api.network.EnvironmentHost
diff --git a/src/main/scala/li/cil/oc/server/component/RedstoneWireless.scala b/src/main/scala/li/cil/oc/server/component/RedstoneWireless.scala
index 1ac05ecf7..3b4f04597 100644
--- a/src/main/scala/li/cil/oc/server/component/RedstoneWireless.scala
+++ b/src/main/scala/li/cil/oc/server/component/RedstoneWireless.scala
@@ -5,8 +5,8 @@ import codechicken.wirelessredstone.core.WirelessReceivingDevice
import codechicken.wirelessredstone.core.WirelessTransmittingDevice
import cpw.mods.fml.common.Optional
import li.cil.oc.Constants
-import li.cil.oc.Constants.DeviceInfo.DeviceAttribute
-import li.cil.oc.Constants.DeviceInfo.DeviceClass
+import li.cil.oc.api.driver.DeviceInfo.DeviceAttribute
+import li.cil.oc.api.driver.DeviceInfo.DeviceClass
import li.cil.oc.Settings
import li.cil.oc.api.driver.DeviceInfo
import li.cil.oc.api.network.EnvironmentHost
diff --git a/src/main/scala/li/cil/oc/server/component/Robot.scala b/src/main/scala/li/cil/oc/server/component/Robot.scala
index e0b9b6622..40f662803 100644
--- a/src/main/scala/li/cil/oc/server/component/Robot.scala
+++ b/src/main/scala/li/cil/oc/server/component/Robot.scala
@@ -3,8 +3,8 @@ package li.cil.oc.server.component
import java.util
import li.cil.oc.Constants
-import li.cil.oc.Constants.DeviceInfo.DeviceAttribute
-import li.cil.oc.Constants.DeviceInfo.DeviceClass
+import li.cil.oc.api.driver.DeviceInfo.DeviceAttribute
+import li.cil.oc.api.driver.DeviceInfo.DeviceClass
import li.cil.oc.OpenComputers
import li.cil.oc.Settings
import li.cil.oc.api
diff --git a/src/main/scala/li/cil/oc/server/component/Server.scala b/src/main/scala/li/cil/oc/server/component/Server.scala
index 2eac77135..61bc9b305 100644
--- a/src/main/scala/li/cil/oc/server/component/Server.scala
+++ b/src/main/scala/li/cil/oc/server/component/Server.scala
@@ -4,8 +4,8 @@ import java.lang.Iterable
import java.util
import li.cil.oc.Constants
-import li.cil.oc.Constants.DeviceInfo.DeviceAttribute
-import li.cil.oc.Constants.DeviceInfo.DeviceClass
+import li.cil.oc.api.driver.DeviceInfo.DeviceAttribute
+import li.cil.oc.api.driver.DeviceInfo.DeviceClass
import li.cil.oc.OpenComputers
import li.cil.oc.api
import li.cil.oc.api.Machine
diff --git a/src/main/scala/li/cil/oc/server/component/Tablet.scala b/src/main/scala/li/cil/oc/server/component/Tablet.scala
index 92aa6be82..bb9aae736 100644
--- a/src/main/scala/li/cil/oc/server/component/Tablet.scala
+++ b/src/main/scala/li/cil/oc/server/component/Tablet.scala
@@ -3,8 +3,8 @@ package li.cil.oc.server.component
import java.util
import li.cil.oc.Constants
-import li.cil.oc.Constants.DeviceInfo.DeviceAttribute
-import li.cil.oc.Constants.DeviceInfo.DeviceClass
+import li.cil.oc.api.driver.DeviceInfo.DeviceAttribute
+import li.cil.oc.api.driver.DeviceInfo.DeviceClass
import li.cil.oc.Settings
import li.cil.oc.api.Network
import li.cil.oc.api.driver.DeviceInfo
diff --git a/src/main/scala/li/cil/oc/server/component/Transposer.scala b/src/main/scala/li/cil/oc/server/component/Transposer.scala
index 7a36cb3d0..2340b4bbb 100644
--- a/src/main/scala/li/cil/oc/server/component/Transposer.scala
+++ b/src/main/scala/li/cil/oc/server/component/Transposer.scala
@@ -3,8 +3,8 @@ package li.cil.oc.server.component
import java.util
import li.cil.oc.Constants
-import li.cil.oc.Constants.DeviceInfo.DeviceAttribute
-import li.cil.oc.Constants.DeviceInfo.DeviceClass
+import li.cil.oc.api.driver.DeviceInfo.DeviceAttribute
+import li.cil.oc.api.driver.DeviceInfo.DeviceClass
import li.cil.oc.Settings
import li.cil.oc.api
import li.cil.oc.api.driver.DeviceInfo
diff --git a/src/main/scala/li/cil/oc/server/component/UpgradeAngel.scala b/src/main/scala/li/cil/oc/server/component/UpgradeAngel.scala
index 034e5edb3..77c370224 100644
--- a/src/main/scala/li/cil/oc/server/component/UpgradeAngel.scala
+++ b/src/main/scala/li/cil/oc/server/component/UpgradeAngel.scala
@@ -3,8 +3,8 @@ package li.cil.oc.server.component
import java.util
import li.cil.oc.Constants
-import li.cil.oc.Constants.DeviceInfo.DeviceAttribute
-import li.cil.oc.Constants.DeviceInfo.DeviceClass
+import li.cil.oc.api.driver.DeviceInfo.DeviceAttribute
+import li.cil.oc.api.driver.DeviceInfo.DeviceClass
import li.cil.oc.Settings
import li.cil.oc.api.Network
import li.cil.oc.api.driver.DeviceInfo
diff --git a/src/main/scala/li/cil/oc/server/component/UpgradeBattery.scala b/src/main/scala/li/cil/oc/server/component/UpgradeBattery.scala
index cefd6d4e8..6932f4009 100644
--- a/src/main/scala/li/cil/oc/server/component/UpgradeBattery.scala
+++ b/src/main/scala/li/cil/oc/server/component/UpgradeBattery.scala
@@ -3,8 +3,8 @@ package li.cil.oc.server.component
import java.util
import li.cil.oc.Constants
-import li.cil.oc.Constants.DeviceInfo.DeviceAttribute
-import li.cil.oc.Constants.DeviceInfo.DeviceClass
+import li.cil.oc.api.driver.DeviceInfo.DeviceAttribute
+import li.cil.oc.api.driver.DeviceInfo.DeviceClass
import li.cil.oc.Settings
import li.cil.oc.api.Network
import li.cil.oc.api.driver.DeviceInfo
diff --git a/src/main/scala/li/cil/oc/server/component/UpgradeChunkloader.scala b/src/main/scala/li/cil/oc/server/component/UpgradeChunkloader.scala
index d476f5979..11234badc 100644
--- a/src/main/scala/li/cil/oc/server/component/UpgradeChunkloader.scala
+++ b/src/main/scala/li/cil/oc/server/component/UpgradeChunkloader.scala
@@ -3,8 +3,8 @@ package li.cil.oc.server.component
import java.util
import li.cil.oc.Constants
-import li.cil.oc.Constants.DeviceInfo.DeviceAttribute
-import li.cil.oc.Constants.DeviceInfo.DeviceClass
+import li.cil.oc.api.driver.DeviceInfo.DeviceAttribute
+import li.cil.oc.api.driver.DeviceInfo.DeviceClass
import li.cil.oc.OpenComputers
import li.cil.oc.Settings
import li.cil.oc.api
diff --git a/src/main/scala/li/cil/oc/server/component/UpgradeCrafting.scala b/src/main/scala/li/cil/oc/server/component/UpgradeCrafting.scala
index 3ff4ce490..10f949dc2 100644
--- a/src/main/scala/li/cil/oc/server/component/UpgradeCrafting.scala
+++ b/src/main/scala/li/cil/oc/server/component/UpgradeCrafting.scala
@@ -4,8 +4,8 @@ import java.util
import cpw.mods.fml.common.FMLCommonHandler
import li.cil.oc.Constants
-import li.cil.oc.Constants.DeviceInfo.DeviceAttribute
-import li.cil.oc.Constants.DeviceInfo.DeviceClass
+import li.cil.oc.api.driver.DeviceInfo.DeviceAttribute
+import li.cil.oc.api.driver.DeviceInfo.DeviceClass
import li.cil.oc.api.Network
import li.cil.oc.api.driver.DeviceInfo
import li.cil.oc.api.network.EnvironmentHost
diff --git a/src/main/scala/li/cil/oc/server/component/UpgradeDatabase.scala b/src/main/scala/li/cil/oc/server/component/UpgradeDatabase.scala
index 3e0a3644f..d38f9ae79 100644
--- a/src/main/scala/li/cil/oc/server/component/UpgradeDatabase.scala
+++ b/src/main/scala/li/cil/oc/server/component/UpgradeDatabase.scala
@@ -4,8 +4,8 @@ import java.util
import com.google.common.hash.Hashing
import li.cil.oc.Constants
-import li.cil.oc.Constants.DeviceInfo.DeviceAttribute
-import li.cil.oc.Constants.DeviceInfo.DeviceClass
+import li.cil.oc.api.driver.DeviceInfo.DeviceAttribute
+import li.cil.oc.api.driver.DeviceInfo.DeviceClass
import li.cil.oc.api.Network
import li.cil.oc.api.driver.DeviceInfo
import li.cil.oc.api.internal
diff --git a/src/main/scala/li/cil/oc/server/component/UpgradeExperience.scala b/src/main/scala/li/cil/oc/server/component/UpgradeExperience.scala
index df0127746..ebaf9b735 100644
--- a/src/main/scala/li/cil/oc/server/component/UpgradeExperience.scala
+++ b/src/main/scala/li/cil/oc/server/component/UpgradeExperience.scala
@@ -3,8 +3,8 @@ package li.cil.oc.server.component
import java.util
import li.cil.oc.Constants
-import li.cil.oc.Constants.DeviceInfo.DeviceAttribute
-import li.cil.oc.Constants.DeviceInfo.DeviceClass
+import li.cil.oc.api.driver.DeviceInfo.DeviceAttribute
+import li.cil.oc.api.driver.DeviceInfo.DeviceClass
import li.cil.oc.Settings
import li.cil.oc.api
import li.cil.oc.api.driver.DeviceInfo
diff --git a/src/main/scala/li/cil/oc/server/component/UpgradeGenerator.scala b/src/main/scala/li/cil/oc/server/component/UpgradeGenerator.scala
index 12a68b2ce..710f8129a 100644
--- a/src/main/scala/li/cil/oc/server/component/UpgradeGenerator.scala
+++ b/src/main/scala/li/cil/oc/server/component/UpgradeGenerator.scala
@@ -3,8 +3,8 @@ package li.cil.oc.server.component
import java.util
import li.cil.oc.Constants
-import li.cil.oc.Constants.DeviceInfo.DeviceAttribute
-import li.cil.oc.Constants.DeviceInfo.DeviceClass
+import li.cil.oc.api.driver.DeviceInfo.DeviceAttribute
+import li.cil.oc.api.driver.DeviceInfo.DeviceClass
import li.cil.oc.Settings
import li.cil.oc.api.Network
import li.cil.oc.api.driver.DeviceInfo
diff --git a/src/main/scala/li/cil/oc/server/component/UpgradeInventoryController.scala b/src/main/scala/li/cil/oc/server/component/UpgradeInventoryController.scala
index fe05aa9b4..f7c7818ab 100644
--- a/src/main/scala/li/cil/oc/server/component/UpgradeInventoryController.scala
+++ b/src/main/scala/li/cil/oc/server/component/UpgradeInventoryController.scala
@@ -3,8 +3,8 @@ package li.cil.oc.server.component
import java.util
import li.cil.oc.Constants
-import li.cil.oc.Constants.DeviceInfo.DeviceAttribute
-import li.cil.oc.Constants.DeviceInfo.DeviceClass
+import li.cil.oc.api.driver.DeviceInfo.DeviceAttribute
+import li.cil.oc.api.driver.DeviceInfo.DeviceClass
import li.cil.oc.api.Network
import li.cil.oc.api.driver.DeviceInfo
import li.cil.oc.api.internal
diff --git a/src/main/scala/li/cil/oc/server/component/UpgradeLeash.scala b/src/main/scala/li/cil/oc/server/component/UpgradeLeash.scala
index 1b3181722..5b030a1ec 100644
--- a/src/main/scala/li/cil/oc/server/component/UpgradeLeash.scala
+++ b/src/main/scala/li/cil/oc/server/component/UpgradeLeash.scala
@@ -4,8 +4,8 @@ import java.util
import java.util.UUID
import li.cil.oc.Constants
-import li.cil.oc.Constants.DeviceInfo.DeviceAttribute
-import li.cil.oc.Constants.DeviceInfo.DeviceClass
+import li.cil.oc.api.driver.DeviceInfo.DeviceAttribute
+import li.cil.oc.api.driver.DeviceInfo.DeviceClass
import li.cil.oc.OpenComputers
import li.cil.oc.api.Network
import li.cil.oc.api.driver.DeviceInfo
diff --git a/src/main/scala/li/cil/oc/server/component/UpgradeNavigation.scala b/src/main/scala/li/cil/oc/server/component/UpgradeNavigation.scala
index fbb0eb6c3..0d73a9e0e 100644
--- a/src/main/scala/li/cil/oc/server/component/UpgradeNavigation.scala
+++ b/src/main/scala/li/cil/oc/server/component/UpgradeNavigation.scala
@@ -3,8 +3,8 @@ package li.cil.oc.server.component
import java.util
import li.cil.oc.Constants
-import li.cil.oc.Constants.DeviceInfo.DeviceAttribute
-import li.cil.oc.Constants.DeviceInfo.DeviceClass
+import li.cil.oc.api.driver.DeviceInfo.DeviceAttribute
+import li.cil.oc.api.driver.DeviceInfo.DeviceClass
import li.cil.oc.Settings
import li.cil.oc.api
import li.cil.oc.api.Network
diff --git a/src/main/scala/li/cil/oc/server/component/UpgradePiston.scala b/src/main/scala/li/cil/oc/server/component/UpgradePiston.scala
index b68fcd4d4..40813ac2d 100644
--- a/src/main/scala/li/cil/oc/server/component/UpgradePiston.scala
+++ b/src/main/scala/li/cil/oc/server/component/UpgradePiston.scala
@@ -3,8 +3,8 @@ package li.cil.oc.server.component
import java.util
import li.cil.oc.Constants
-import li.cil.oc.Constants.DeviceInfo.DeviceAttribute
-import li.cil.oc.Constants.DeviceInfo.DeviceClass
+import li.cil.oc.api.driver.DeviceInfo.DeviceAttribute
+import li.cil.oc.api.driver.DeviceInfo.DeviceClass
import li.cil.oc.Settings
import li.cil.oc.api.Network
import li.cil.oc.api.driver.DeviceInfo
diff --git a/src/main/scala/li/cil/oc/server/component/UpgradeSign.scala b/src/main/scala/li/cil/oc/server/component/UpgradeSign.scala
index 884af9d7c..75fab3803 100644
--- a/src/main/scala/li/cil/oc/server/component/UpgradeSign.scala
+++ b/src/main/scala/li/cil/oc/server/component/UpgradeSign.scala
@@ -4,8 +4,8 @@ import java.util
import cpw.mods.fml.common.eventhandler.Event
import li.cil.oc.Constants
-import li.cil.oc.Constants.DeviceInfo.DeviceAttribute
-import li.cil.oc.Constants.DeviceInfo.DeviceClass
+import li.cil.oc.api.driver.DeviceInfo.DeviceAttribute
+import li.cil.oc.api.driver.DeviceInfo.DeviceClass
import li.cil.oc.Settings
import li.cil.oc.api
import li.cil.oc.api.driver.DeviceInfo
diff --git a/src/main/scala/li/cil/oc/server/component/UpgradeSolarGenerator.scala b/src/main/scala/li/cil/oc/server/component/UpgradeSolarGenerator.scala
index e371903e1..ec7419a0e 100644
--- a/src/main/scala/li/cil/oc/server/component/UpgradeSolarGenerator.scala
+++ b/src/main/scala/li/cil/oc/server/component/UpgradeSolarGenerator.scala
@@ -3,8 +3,8 @@ package li.cil.oc.server.component
import java.util
import li.cil.oc.Constants
-import li.cil.oc.Constants.DeviceInfo.DeviceAttribute
-import li.cil.oc.Constants.DeviceInfo.DeviceClass
+import li.cil.oc.api.driver.DeviceInfo.DeviceAttribute
+import li.cil.oc.api.driver.DeviceInfo.DeviceClass
import li.cil.oc.Settings
import li.cil.oc.api.Network
import li.cil.oc.api.driver.DeviceInfo
diff --git a/src/main/scala/li/cil/oc/server/component/UpgradeTank.scala b/src/main/scala/li/cil/oc/server/component/UpgradeTank.scala
index 0633a112f..46a5caa8a 100644
--- a/src/main/scala/li/cil/oc/server/component/UpgradeTank.scala
+++ b/src/main/scala/li/cil/oc/server/component/UpgradeTank.scala
@@ -3,8 +3,8 @@ package li.cil.oc.server.component
import java.util
import li.cil.oc.Constants
-import li.cil.oc.Constants.DeviceInfo.DeviceAttribute
-import li.cil.oc.Constants.DeviceInfo.DeviceClass
+import li.cil.oc.api.driver.DeviceInfo.DeviceAttribute
+import li.cil.oc.api.driver.DeviceInfo.DeviceClass
import li.cil.oc.api.Network
import li.cil.oc.api.driver.DeviceInfo
import li.cil.oc.api.network.EnvironmentHost
diff --git a/src/main/scala/li/cil/oc/server/component/UpgradeTankController.scala b/src/main/scala/li/cil/oc/server/component/UpgradeTankController.scala
index 34e7a619d..620e50cb5 100644
--- a/src/main/scala/li/cil/oc/server/component/UpgradeTankController.scala
+++ b/src/main/scala/li/cil/oc/server/component/UpgradeTankController.scala
@@ -3,8 +3,8 @@ package li.cil.oc.server.component
import java.util
import li.cil.oc.Constants
-import li.cil.oc.Constants.DeviceInfo.DeviceAttribute
-import li.cil.oc.Constants.DeviceInfo.DeviceClass
+import li.cil.oc.api.driver.DeviceInfo.DeviceAttribute
+import li.cil.oc.api.driver.DeviceInfo.DeviceClass
import li.cil.oc.api.Network
import li.cil.oc.api.driver.DeviceInfo
import li.cil.oc.api.network.EnvironmentHost
diff --git a/src/main/scala/li/cil/oc/server/component/UpgradeTractorBeam.scala b/src/main/scala/li/cil/oc/server/component/UpgradeTractorBeam.scala
index 6eae252a7..69fc26b25 100644
--- a/src/main/scala/li/cil/oc/server/component/UpgradeTractorBeam.scala
+++ b/src/main/scala/li/cil/oc/server/component/UpgradeTractorBeam.scala
@@ -3,8 +3,8 @@ package li.cil.oc.server.component
import java.util
import li.cil.oc.Constants
-import li.cil.oc.Constants.DeviceInfo.DeviceAttribute
-import li.cil.oc.Constants.DeviceInfo.DeviceClass
+import li.cil.oc.api.driver.DeviceInfo.DeviceAttribute
+import li.cil.oc.api.driver.DeviceInfo.DeviceClass
import li.cil.oc.Settings
import li.cil.oc.api.Network
import li.cil.oc.api.driver.DeviceInfo
diff --git a/src/main/scala/li/cil/oc/server/component/UpgradeTrading.scala b/src/main/scala/li/cil/oc/server/component/UpgradeTrading.scala
index 8d40e1775..7a9c3854a 100644
--- a/src/main/scala/li/cil/oc/server/component/UpgradeTrading.scala
+++ b/src/main/scala/li/cil/oc/server/component/UpgradeTrading.scala
@@ -3,8 +3,8 @@ package li.cil.oc.server.component
import java.util
import li.cil.oc.Constants
-import li.cil.oc.Constants.DeviceInfo.DeviceAttribute
-import li.cil.oc.Constants.DeviceInfo.DeviceClass
+import li.cil.oc.api.driver.DeviceInfo.DeviceAttribute
+import li.cil.oc.api.driver.DeviceInfo.DeviceClass
import li.cil.oc.Settings
import li.cil.oc.api.Network
import li.cil.oc.api.driver.DeviceInfo
diff --git a/src/main/scala/li/cil/oc/server/component/WirelessNetworkCard.scala b/src/main/scala/li/cil/oc/server/component/WirelessNetworkCard.scala
index 19b0bed94..5638aa821 100644
--- a/src/main/scala/li/cil/oc/server/component/WirelessNetworkCard.scala
+++ b/src/main/scala/li/cil/oc/server/component/WirelessNetworkCard.scala
@@ -4,8 +4,8 @@ import java.io._
import java.util
import li.cil.oc.Constants
-import li.cil.oc.Constants.DeviceInfo.DeviceAttribute
-import li.cil.oc.Constants.DeviceInfo.DeviceClass
+import li.cil.oc.api.driver.DeviceInfo.DeviceAttribute
+import li.cil.oc.api.driver.DeviceInfo.DeviceClass
import li.cil.oc.Settings
import li.cil.oc.api
import li.cil.oc.api.Network