1
0
mirror of https://github.com/SquidDev-CC/CC-Tweaked synced 2025-01-10 09:20:28 +00:00
CC-Tweaked/projects
Jonathan Coates f695f22d8a
Atomic update of disk drive item stacks
Disk drives have had a long-standing issue with mutating their contents
on the computer thread, potentially leading to all sorts of odd bugs.

We tried to fix this by moving setDiskLabel and the mounting code to run
on the main thread. Unfortunately, this means there is a slight delay to
mounts being attached, breaking disk startup.

This commit implements an alternative solution - we now do mounting on
the computer thread again. If the disk's stack is modified, we update it
in the peripheral-facing item, but not the actual inventory. The next
time the disk drive is ticked, we then sync the two items.

This does mean that there is a fraction of a tick where the two will be
out-of-sync. This isn't ideal - it would potentially be possible to
cycle through disk ids - but I don't really think that's avoidable
without significantly complicating the IMedia API.

Fixes #1649, fixes #1686.
2024-01-20 18:46:43 +00:00
..
common Atomic update of disk drive item stacks 2024-01-20 18:46:43 +00:00
common-api Rewrite turtle upgrade modeller registration API 2024-01-16 23:00:49 +00:00
core Fix incorrect "Fix incorrect "incorrect incorrect"" 2024-01-14 16:27:55 +00:00
core-api Allow generic sources to have instance methods 2023-11-22 10:06:11 +00:00
fabric Rewrite turtle upgrade modeller registration API 2024-01-16 23:00:49 +00:00
fabric-api Rewrite turtle upgrade modeller registration API 2024-01-16 23:00:49 +00:00
forge Rewrite turtle upgrade modeller registration API 2024-01-16 23:00:49 +00:00
forge-api Rewrite turtle upgrade modeller registration API 2024-01-16 23:00:49 +00:00
lints Flesh out MemoryMount into a writable mount 2023-09-29 22:15:23 +01:00
standalone Allow local domains in the standalone emulator 2023-12-20 17:43:08 +00:00
web Bump CC:T to 1.109.1 2023-12-16 19:09:39 +00:00
ARCHITECTURE.md Add a standalone CC:T UI 2023-10-28 17:58:11 +01:00