feather
feather copied to clipboard
Redstone
- Redstone data should be stored at block level not as entities: delay, redstone level and etc.
- Entities could be used to implement the ticking of blocks.
- Redstone data should be stored at block level not as entities: delay, redstone level and etc.
(This is already the case; redstone data is stored in the generated block properties.)
We're going to have to ensure that all vanilla "bug-features" work correctly. Quasi-connectivity, weird block update behavior, etc. are all relied upon by most redstone machines. Hopefully we can have some sort of testing framework which can automate this process and detect regressions.
Don't forget, there are a whole bunch of little quirks in minecraft redstone that need to be handled exactly the same, even bedrock edition doesn't do it. Redstone is probably going to be pretty insane.
Maybe some interesting resources on previous work regarding optimization in case of the vanilla redstone implementation:
"RedstoneWireTurbo" patch by theosib:
Comment on Mojang bug tracker (1) Comment on Mojang bug tracker (2) Included in EigenCraft github repo Reddit post
Redstone wire patch by Panda4994:
Had anyone under taken this task yet?
PR #271 was opened with a bit of progress but seems to be dead now. I don't think anyone else is currently working on it
Alternate Current is another interesting redstone dust implementation. It does not produce perfectly vanilla implementation behavior, but it is efficient by emitting block and shape updates in a deterministic order and it makes redstone dust behavior non-locational. https://github.com/SpaceWalkerRS/alternate-current