Commit Graph

193 Commits

Author SHA1 Message Date
Shadowfacts 9aa1077977
Add copyWithCount helper 2021-03-01 21:29:14 -05:00
Shadowfacts c976c3f607
Add DeviceBlockEntity common tag helpers 2021-02-28 22:47:54 -05:00
Shadowfacts e4e8dde2fb
Fix inserter screen not drawing world overlay 2021-02-28 22:21:08 -05:00
Shadowfacts ccefb8ae2f
Change Redstone Controller package 2021-02-28 22:03:29 -05:00
Shadowfacts 4c2148b30f
Extract GhostSlot to separate class 2021-02-28 22:02:26 -05:00
Shadowfacts f5268aef51
Fix extractor duplicating items 2021-02-28 19:01:59 -05:00
Shadowfacts 2084a749fb
Add loot tables for everything 2021-02-28 18:56:04 -05:00
Shadowfacts e13154943e
Add Inserter 2021-02-28 18:06:26 -05:00
Shadowfacts 9b4fc548e5
Reorganize code 2021-02-28 13:48:39 -05:00
Shadowfacts a8f0387577
Remove test blocks 2021-02-28 13:45:56 -05:00
Shadowfacts 2c19b8456b
Cacao: More docs 2021-02-28 12:19:09 -05:00
Shadowfacts 500ad94442
Convert console screen to use Cacao 2021-02-27 21:48:40 -05:00
Shadowfacts 3926da0c3c
Cacao: Add tab tooltips 2021-02-27 18:38:40 -05:00
Shadowfacts 9e3366cbfb
Cacao: Add text field 2021-02-27 14:02:30 -05:00
Shadowfacts 277bcb71ee
Cacao: Add TabViewController 2021-02-27 13:24:52 -05:00
Shadowfacts d20ba7460e
Cacao: Misc changes 2021-02-27 13:24:52 -05:00
Shadowfacts c1ecdacc06
Cacao: Convet Label to use Text 2021-02-27 13:24:48 -05:00
Shadowfacts ecfb696bc9
Fully qualify mixin target 2021-02-26 19:13:45 -05:00
Shadowfacts 2c8b7cbb63
Merge branch 'main' into cacao 2021-02-26 18:55:47 -05:00
Shadowfacts 4c5b7daf9e
Use an actual logger 2021-02-26 17:04:18 -05:00
Shadowfacts 1f078c671f
Add EnumButton 2021-02-24 22:47:07 -05:00
Shadowfacts 9252a35dae
Convert extractor to use NetworkStackDispatcher 2021-02-24 22:09:24 -05:00
Shadowfacts d621e9e089
Add actual Redstone Controller model 2021-02-24 22:08:27 -05:00
Shadowfacts b283480edf
Localize more things 2021-02-23 22:39:51 -05:00
Shadowfacts d3a0f279da
Add Redstone Controller 2021-02-23 22:05:05 -05:00
Shadowfacts 700817919a
Move face device block logic to separate base class
The extractor currently isn't considered a "face block" because its
network connection is always in the opposite direction of its facing,
unlike the interace.
2021-02-21 15:35:20 -05:00
Shadowfacts 7abdb69b87
Move terminal stack requesting logic to TerminalScreen 2021-02-21 15:18:48 -05:00
Shadowfacts f9befe9549
Calculate terminal displayed items on the server
Avoids sending giant S2C packets containing all items in the network
when the network contains a great variety of different items
2021-02-21 12:02:38 -05:00
Shadowfacts 3ebafc062f
Add Terminal GUI sort mode 2021-02-21 11:14:15 -05:00
Shadowfacts 404eb27e67
Fix shift-clicking stacks from buffer not matching vanilla slot
insertion order
2021-02-20 15:28:55 -05:00
Shadowfacts 2981bdcb07
Add request specific amount dialog to terminal GUI 2021-02-20 14:24:40 -05:00
Shadowfacts 03c9c2ab83
Fix not being able to extract more than max stack size from interface 2021-02-20 14:18:21 -05:00
Shadowfacts 15f9b02041
Start adding CacaoHandledScreen 2021-02-18 23:27:18 -05:00
Shadowfacts 8f577598ff
Add Cacao 2021-02-18 23:12:43 -05:00
Shadowfacts aec32ae270
Fix console texture 2021-02-18 22:12:53 -05:00
Shadowfacts 870785f6f2
Don't unfocus terminal search box on click 2021-02-17 23:24:17 -05:00
Shadowfacts 9d16a7e5cd
Fix not being able to extract items with network counts > 127 from
terminal
2021-02-17 23:19:57 -05:00
Shadowfacts c9fe6400f0
Start processing stack extraction requests immediately 2021-02-17 23:09:24 -05:00
Shadowfacts a88eda357c
Improve Miner handling of excess items 2021-02-17 23:03:21 -05:00
Shadowfacts 7034ce11ef
Fix ConcurrentModificationExceptions 2021-02-17 23:03:15 -05:00
Shadowfacts 6a06ef6ae0
Fix cables connected to non-network connected sides of devices 2021-02-17 22:29:18 -05:00
Shadowfacts f9196eea56
Extract network stack dispatching logic from terminal to other interface 2021-02-17 22:09:44 -05:00
Shadowfacts c6a5602ec1
Add search field to terminal 2021-02-15 22:51:33 -05:00
Shadowfacts 249416b8c2
Add cable texture, update cable & interface models 2021-02-15 17:05:17 -05:00
Shadowfacts 0f7689d73c
Add Miner block 2021-02-14 23:42:19 -05:00
Shadowfacts 649408c509
Add Extractor block 2021-02-14 22:28:13 -05:00
Shadowfacts 0dcb647de4
Fix sending DeviceRemovedPacket on client 2021-02-14 16:04:03 -05:00
Shadowfacts e0dfefb72b
Fix ConcurrentModificationException 2021-02-14 16:03:52 -05:00
Shadowfacts 583afd3dc9
Code cleanup 2021-02-14 16:03:40 -05:00
Shadowfacts 633f9d94aa
Add Interface item model 2021-02-14 12:28:59 -05:00
Shadowfacts 6b340740ce
Fix tooltips not being drawn in Terminal 2021-02-14 12:07:19 -05:00
Shadowfacts 584d8cd04e
Add Console item 2021-02-14 12:07:05 -05:00
Shadowfacts 446a2a42c3
Draw terminal screen background 2021-02-14 11:29:52 -05:00
Shadowfacts 27713aedba
Localize names 2021-02-14 11:24:55 -05:00
Shadowfacts c8cdf425cb
Convert Terminal and Interface blocks to layer 3 2021-02-13 21:37:39 -05:00
Shadowfacts fc3716153f
Refactor DeviceBlockEntity to only have 1 interface 2021-02-13 21:28:44 -05:00
Shadowfacts e8425b80fd
Implement layer 3 networking 2021-02-13 18:24:36 -05:00
Shadowfacts 26134cea9d
Send remainder of partially-inserted stacks back to source 2021-02-11 23:11:50 -05:00
Shadowfacts d61ed8b7cc
Terminal: Fix extraction having different latency than insertion 2021-02-11 22:32:42 -05:00
Shadowfacts 1c3e358f2e
Terminal: Shift-click transferring, draw slot modes 2021-02-11 00:10:24 -05:00
Shadowfacts dedfcae79b
Terminal: Add basic insertion into inventories 2021-02-10 22:40:01 -05:00
Shadowfacts b1c37595ab
Update to 1.16.5 2021-02-10 22:39:45 -05:00
Shadowfacts 8a20837f11
Terminal: Define separate mode for buffer inventory slots 2019-10-30 14:55:29 -04:00
Shadowfacts 14125143dc
Terminal: Add right-clicking to request half a stack 2019-10-30 14:55:04 -04:00
Shadowfacts 37692aac7d
Terminal: Merge stacks into buffer where possible 2019-10-30 14:27:18 -04:00
Shadowfacts 2ec294d427
Terminal: Fix multiple stacks being extracted on a single shift-click 2019-10-30 14:09:47 -04:00
Shadowfacts 654baa81a1
Switch: Implement switching capacity 2019-10-30 14:05:53 -04:00
Shadowfacts 98134825a6
Send packets immediately instead of on the next tick 2019-10-30 13:59:28 -04:00
Shadowfacts 2a9fc29cdd
Fix crash loading terminal from disk 2019-10-30 13:53:40 -04:00
Shadowfacts f4f4c7ff03
Terminal: Rudimentary stack extraction 2019-10-29 21:58:25 -04:00
Shadowfacts 5d62e60bb2
Terminal: sync internal buffer inventory to client 2019-10-29 21:00:15 -04:00
Shadowfacts 68e612c63c
Terminal GUI: add read only fake slot 2019-10-29 20:59:58 -04:00
Shadowfacts de81412630
Only recalculate and sync net items when a player has the terminal open 2019-10-29 17:45:58 -04:00
Shadowfacts 7bc859eaf6
Sync terminal cached item counts to client 2019-10-29 17:33:33 -04:00
Shadowfacts 64c18e9eae
Start adding terminal container and GUI 2019-10-29 15:15:27 -04:00
Shadowfacts 0c5e353525
Change terminal to read inventories instead of stacks directly
This is slightly more efficient, and removes the need for interfaces to
observe their inventories for changes (something that's not possible in
Vanilla).
2019-10-29 11:25:51 -04:00
Shadowfacts 2cc9d592b2
Only allow the network cable to connect on a specific side, add model and shape 2019-10-28 18:46:47 -04:00
Shadowfacts 45052029e9
Change Terminal to cache inventories instead of items directly 2019-10-28 17:48:10 -04:00
Shadowfacts e246736486
Add cable disconnection using the Screwdriver 2019-10-28 12:39:12 -04:00
Shadowfacts f9fd00f611
Allow cable connections on individual sides to be disabled 2019-10-28 12:38:55 -04:00
Shadowfacts 04f0ae6d41
Add screwdriver item 2019-10-28 12:37:54 -04:00
Shadowfacts c7da691ffd
Use cable connections in search instead of checking every direction 2019-10-28 12:00:17 -04:00
Shadowfacts dfccc5b2ec
Add Cable block 2019-10-28 11:53:47 -04:00
Shadowfacts a95621e3f1
Add switches 2019-10-26 23:13:26 -04:00
Shadowfacts 0908ccbb3a
Fix incorrect MAC address multicast check 2019-10-26 23:13:14 -04:00
Shadowfacts d3c1cbdb5b
Rename things 2019-10-26 22:14:19 -04:00
Shadowfacts 6e87092dde
Remove Interface right-click printing 2019-10-26 22:10:48 -04:00
Shadowfacts a8b53e1117
Explicitly specify packet destinations instead of broadcasting to all
connected sinks
2019-10-26 22:09:16 -04:00
Shadowfacts fa7c499f29
Fix Interfaces not reading inventory contents immediately on world load
This happened because the after a world load, there was no neighbor
change to trigger an inventory update.
2019-10-26 22:06:00 -04:00
Shadowfacts 19c035495c
Fix stacks of same type in different inventories not grouping 2019-10-26 21:52:41 -04:00
Shadowfacts 6fae09d410
Cleanup NetworkUtil 2019-10-26 21:52:38 -04:00
Shadowfacts 0eabbf9ec1
Rudimentary network implementation 2019-10-26 21:36:31 -04:00
Shadowfacts 7b1a82d02b
Initial commit 2019-10-26 21:35:25 -04:00