328bbbbeb4
Add data driven item stack tag filtering when exposing them to VM via serialization. Closes#5.
Florian Nücke
2021-02-09 18:12:00 +01:00
1996a8addc
Improve cable/interface placement/breaking logic. Can now place interfaces on their own, add cable later. Can remove just cable via wrench.
Florian Nücke
2021-02-09 00:58:26 +01:00
41acc8b728
Make more noise.
Florian Nücke
2021-02-04 00:29:44 +01:00
3cff3b8bb5
Make some noise.
Florian Nücke
2021-02-03 13:37:23 +01:00
d75a564d41
Merge branch '1.16.4' into feature/sounds
Sangar
2021-02-03 12:06:19 +01:00
81ee809560
More events, fewer subclassing.
Florian Nücke
2021-02-03 01:09:52 +01:00
64a7776d38
Massive rework of the VM related data structures. Feels clearer now wrt flow of logic. Tracking used address ranges to avoid use of ranges taken by serialized devices. Allow devices to request joining of worker thread; used for serialization.
Florian Nücke
2021-02-03 00:36:10 +01:00
e169e0cdb4
Actually use pausing event.
Florian Nücke
2021-02-02 13:32:14 +01:00
3e7ab48726
Use utility class.
Florian Nücke
2021-02-02 13:31:46 +01:00
689f665f14
Add boot error message when firmware is missing.
Florian Nücke
2021-01-23 13:02:17 +01:00
97c3a68b2d
Add support for VMInitializationException. Allows Firmware to trigger "insufficient memory" error when copying data to memory.
Florian Nücke
2021-01-23 12:46:50 +01:00
c101a7ab9a
Made vm lifecycle events use an event bus and event classes. Allows passing along program start so that firmware doesn't have to hardcode this. Also made unload a method instead of an event, as it needs to be called on individual objects anyway; previous implementation was a little awkward.
Florian Nücke
2021-01-22 21:05:49 +01:00
f92e94797e
Tag name cleanup.
Florian Nücke
2021-01-19 14:49:35 +01:00
eda9efe797
No Java 15 for now due to incompatibilities. Also don't use the Github artifacts. Prefer to have only one authoritative source for artifacts, and that'll be ci.cil.li/maven.cil.li for the foreseeable future.
Florian Nücke
2021-01-19 00:55:06 +01:00
6cf8e3cf21
Automatically add description to items if loca key exists.
Florian Nücke
2021-01-19 00:28:18 +01:00
afaa373ea5
Allow omitting trailing null parameters in RPC invocations for convenience.
Florian Nücke
2021-01-18 17:40:28 +01:00
2a055646ee
Added block operations module for breaking and placing blocks.
Florian Nücke
2021-01-18 17:26:32 +01:00
17644647a4
Make methods in inventory module return number of items taken/dropped and try to take from world if no inventory was found.
Florian Nücke
2021-01-18 17:25:49 +01:00
71d0926846
Show robot inventory in robot terminal screen. Not also having the player inventory here is a compromise to keep terminal size. Will see how annoying that is in actual gameplay.
Florian Nücke
2021-01-18 13:13:05 +01:00
d8b721fb50
Use capability.
Florian Nücke
2021-01-17 13:49:28 +01:00
671c50dfac
Make some methods callable from worker thread.
Florian Nücke
2021-01-17 13:16:20 +01:00
873ce0fd2a
Add descriptions to tooltip for some items.
Florian Nücke
2021-01-17 13:13:14 +01:00
d45e5b8afe
Added module for inventory actions as module proof-of-concept.
Florian Nücke
2021-01-17 13:12:28 +01:00
8632feb04a
Add inventory for robots.
Florian Nücke
2021-01-16 00:18:00 +01:00
e97f3f408e
Fix slot type in robot container.
Florian Nücke
2021-01-15 16:25:40 +01:00
80ed98119b
Add tags. Use those for wrench detection.
Florian Nücke
2021-01-15 16:20:32 +01:00
2e8cca3b0e
Make robots drop self and show configuration in tooltip.
Florian Nücke
2021-01-15 15:46:19 +01:00
af0bd5fc60
Item rendering for robot.
Florian Nücke
2021-01-15 15:07:45 +01:00
f3dcf40910
Ignore pistons for now.
Florian Nücke
2021-01-14 19:44:38 +01:00
df15be2ab1
Break intersecting blocks. Robots do not move into blocks, so this is typically falling blocks or blocks that changed state (e.g. trapdoors).
Florian Nücke
2021-01-14 19:31:53 +01:00