Commit Graph

706 Commits

Author SHA1 Message Date
Florian Nücke
dbab733c77 Explicitly use RPCDeviceList type for tracked list devices, for clarity. 2022-01-25 20:28:15 +01:00
Florian Nücke
0c271732cb Add option to clean up stuff (via unmount) when devices go missing.
For block devices, this can happen when the block is broken while the computer is unloaded, for example. For items this is more esoteric, but it theoretically means items disappear while the container managing the item as a device is unloaded.
2022-01-25 19:57:43 +01:00
Florian Nücke
57a1dc9522 Make absolutely sure floppy data is saved to item on disk drive save. 2022-01-25 18:42:00 +01:00
Florian Nücke
28d3159963 Mark DiskDrive chunk dirty when contents change. 2022-01-25 18:37:08 +01:00
Florian Nücke
f483f14205 Recordify. 2022-01-25 18:24:05 +01:00
Florian Nücke
b6a06c9185 Fixed sided connectivity of disk drive. 2022-01-25 18:23:55 +01:00
Florian Nücke
6c96c096ac Reduce max relative tick time for VMRunner to avoid server slowdowns. 2022-01-25 18:23:03 +01:00
Florian Nücke
ddeff66132 Cable rendertype can be static. 2022-01-23 13:37:07 +01:00
Florian Nücke
c96e52ad16 Thou shalt not change things after testing them. 2022-01-23 12:10:58 +01:00
Florian Nücke
9d73df19ce Mention the JsonArray special case on the getParameters method. 2022-01-23 11:58:12 +01:00
Florian Nücke
0f9eb58a9e Fixed side being used in block device queries being flipped. 2022-01-23 11:56:10 +01:00
Florian Nücke
520323e7e1 Add readme to API with an overview and some examples. 2022-01-22 23:18:48 +01:00
Florian Nücke
5547527090 Make names for capability devices more specific. 2022-01-22 23:18:17 +01:00
Florian Nücke
d132eca165 Allow providing Devices as Capabilities on BlockEntities. 2022-01-22 19:44:21 +01:00
Florian Nücke
1fadb9e49e Rethrow directly, skip util method. 2022-01-22 19:44:20 +01:00
Sangar
a503549e94 Fixed interface name in lifecycle diagram. 2022-01-22 15:18:54 +01:00
Florian Nücke
b2bbd2f9a0 Set board run state to stopped, don't just reset. 2022-01-17 22:53:04 +01:00
Florian Nücke
71e426940f Only serialize state of running VMs.
State when stopped is completely implicit and does not need serializing, pointlessly eats space and time.
2022-01-17 22:49:57 +01:00
Florian Nücke
4d68997253 Avoid redundant serialization of VM state. 2022-01-17 22:42:12 +01:00
Florian Nücke
12b606908a Fix depth of tooltips in inventory uis. 2022-01-17 22:31:49 +01:00
Florian Nücke
d424265cda Make sure robots can't be used for recursive item storage. 2022-01-17 21:18:24 +01:00
Florian Nücke
5d54c63569 Remove obsolete overhead in fake player init. 2022-01-15 19:40:14 +01:00
Florian Nücke
8a3add0223 Remove obsolete null check. 2022-01-15 19:40:01 +01:00
Florian Nücke
2ba854ca27 Rework int sized ContainerData stuff. 2022-01-15 19:39:51 +01:00
Florian Nücke
903d772b07 More null paranoia. 2022-01-15 19:39:23 +01:00
Florian Nücke
f84e1308da Remove unused logger instance. 2022-01-15 19:38:52 +01:00
Florian Nücke
6262cd9de1 Message constructor rework (use passed args). 2022-01-15 19:38:39 +01:00
Florian Nücke
0be9994bf7 We only have one controller on our buses, but make it a set anyway for clarity. 2022-01-15 19:38:05 +01:00
Florian Nücke
408dee3fbb Paranoia null checks. 2022-01-15 19:37:39 +01:00
Florian Nücke
0beed24d48 Various minor fixes. 2022-01-15 19:37:12 +01:00
Florian Nücke
e458d40db4 Add util class to work around MC bug (instead of copy-pasted workaround). 2022-01-15 19:34:59 +01:00
Florian Nücke
4fd47d106f Yet more records. 2022-01-15 19:34:36 +01:00
Florian Nücke
6e5d71b9b4 Removed copy-pasted package javadoc. 2022-01-15 19:33:44 +01:00
Florian Nücke
56e00a14bf Move different types of serializer to different packages. 2022-01-15 19:33:31 +01:00
Florian Nücke
34942fc294 Convert a few more classes to records. 2022-01-15 19:31:15 +01:00
Florian Nücke
6b5dde9a7a Add interface to allow receiving lifecycle callbacks on ObjectDevices. 2022-01-15 17:48:40 +01:00
Florian Nücke
65896892d7 Add lifecycle flowchart to RPCDevice and VMDevice docs. 2022-01-15 15:01:52 +01:00
Florian Nücke
e435262ab9 Don't call suspend when removing, only call unmount. 2022-01-15 15:01:32 +01:00
Florian Nücke
1d2889746d Sprinkle some commas for readability. 2022-01-15 14:30:38 +01:00
Florian Nücke
88436556c5 Call unmount on VMDevices that got mounted but discarded due to another VMDevice failing to mount. 2022-01-15 14:30:18 +01:00
Florian Nücke
1085a6b7a4 Add mount and unmount lifecycle callbacks to RPCDevices. 2022-01-15 14:29:48 +01:00
Florian Nücke
6a2f55e731 Fixed RPCDeviceList not forwarding suspend() calls. 2022-01-15 09:58:58 +01:00
Florian Nücke
12847643a9 Ensure worker is synced up when making structural changes to VM. Fixes #93. 2022-01-13 17:07:21 +01:00
Florian Nücke
926cb7a0ad Add some wrapper/utility methods to make use of network system a little cleaner. 2022-01-13 17:07:21 +01:00
Florian Nücke
11acafdae4 Added network tunnel devices. 2022-01-13 17:07:20 +01:00
Florian Nücke
5c3774f8dc Small naming changes. 2022-01-13 17:07:20 +01:00
Florian Nücke
089a133b14 Single source of truth for device type is now tags. 2022-01-13 17:07:20 +01:00
Florian Nücke
3fe23f68ce Add base class for network interface devices. 2022-01-13 17:07:19 +01:00
Florian Nücke
fe7fc442aa Simplify provider. 2022-01-13 17:07:19 +01:00
Florian Nücke
8a5b93602e Add support for locked slots. 2022-01-13 17:07:19 +01:00