feather icon indicating copy to clipboard operation
feather copied to clipboard

Redstone

Open Defman opened this issue 4 years ago • 6 comments

  • 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.

Defman avatar May 23 '20 07:05 Defman

  • 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.

caelunshun avatar May 25 '20 01:05 caelunshun

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.

ambeeeeee avatar May 25 '20 02:05 ambeeeeee

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:

Code gist Comment on Mojang bug tracker Youtube video

Schuwi avatar Jun 23 '20 20:06 Schuwi

Had anyone under taken this task yet?

cowboy8625 avatar Mar 26 '21 04:03 cowboy8625

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

Schuwi avatar Mar 26 '21 13:03 Schuwi

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

dlee13 avatar Jan 19 '22 20:01 dlee13