Commit Graph

677 Commits

Author SHA1 Message Date
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
Florian Nücke
cfe2bbb618 Fixed quick move to potentially move into illegal slot. 2022-01-13 17:07:19 +01:00
Florian Nücke
c97bf66bc4 Reworked button widgets. 2022-01-13 17:07:18 +01:00
Florian Nücke
a4549ab212 Moved text formatting methods to TextFormatUtils. 2022-01-13 17:07:18 +01:00
Florian Nücke
547d28aa45 Small type rename. 2022-01-13 17:07:18 +01:00
Florian Nücke
6322290f03 Minor cleanup. 2022-01-13 17:07:18 +01:00
Florian Nücke
ab17078ed5 Add utility method for time to tick conversion for better readability. 2022-01-13 17:07:17 +01:00
Chloe
f30760cbd6 Add support for class file parameter names 2022-01-11 19:08:47 +00:00
Florian Nücke
4ff68cd390 Reworded some item descriptions trying to make them more concise.
Makes tooltips a little less daunting.
Also enable description for manual item.
2022-01-10 19:26:01 +01:00
Florian Nücke
60871d30aa Made network cards configurable as to what faces they connect to. Closes #53. 2022-01-10 18:19:57 +01:00
Florian Nücke
44b2bfdc1d Fixed terminal tab evaluation when cursor sits on a tabulation. 2022-01-09 14:38:13 +01:00
Florian Nücke
bfb4798332 Renamed RobotEntity -> Robot to follow mapping style. 2022-01-09 11:57:43 +01:00
Florian Nücke
728504900e Fixed devices not being updated when loading item list. Fix not applying loaded device data to existing devices.
Fixes initial robot state on placement.
2022-01-09 09:53:37 +01:00
Florian Nücke
1e59043b01 Fixed potential crash when computer stops immediately while still initializing disk from image. 2022-01-09 09:13:05 +01:00
Florian Nücke
e8b2c836e8 Clean up worker thread join logic a bit and fire resuming event immediately to avoid performance issues/race conditions for some devices (e.g. network cards). 2022-01-08 07:46:08 +01:00
Florian Nücke
63602bfef7 Use RIS for terminal reset. 2022-01-08 06:30:16 +01:00
Florian Nücke
99fa59cfc6 Color directories that cannot be opened gray. 2022-01-07 12:50:07 +01:00
Florian Nücke
c392ad0f90 Don't allow opening files/dirs that are not accessible via double-click (when button is already disabled for that reason). 2022-01-07 12:49:46 +01:00
Florian Nücke
d139ea4679 Fix potential NRE when selecting file to import. 2022-01-07 12:48:50 +01:00
Florian Nücke
28734a68d9 Fix javadoc. 2022-01-07 08:18:33 +01:00
Florian Nücke
0169158e95 Set run state if runner errored to avoid NRE later on (since RUNNING implies runner != null). 2022-01-07 08:18:25 +01:00
Florian Nücke
1b9d4061af Horrible hack to avoid Forge stealing keyboard input in terminal screens. 2022-01-07 08:12:21 +01:00
Florian Nücke
54ab9418e3 Add some missing functionality to terminal emulator and fix some things.
Also make it a little more readable by splitting actual commands out into separate methods.
2022-01-07 07:55:53 +01:00
Florian Nücke
ed81efb4d6 Correctly send \r instead of \n for returns and fix some other combinations. Fixes #76. 2022-01-07 07:53:10 +01:00
Florian Nücke
708745def2 Fix duplicate character sending for alt+{key} combinations. 2022-01-07 07:52:08 +01:00
Florian Nücke
b466ff932b Support terminal user tracking on robots.
Unused for now, but we claim it exists in the documentation, and it doesn't hurt to pre-emptively do so.
2022-01-07 07:51:31 +01:00
Florian Nücke
998dab052b Reduce Side util class API surface a bit. 2022-01-07 07:50:33 +01:00
Florian Nücke
94e57af093 Some documentation improvements. 2022-01-07 07:48:40 +01:00
Florian Nücke
b656e27f43 Put some more effort into avoiding listeners keeping references to things that may otherwise be garbage collected. 2022-01-02 15:15:53 +01:00
Florian Nücke
143be7cea1 Patch the stack size in item stack serializer to support stacks with size that does not fit into NBT serialization (which uses byte). Fixes #61. 2022-01-01 19:12:09 +01:00