The author reflects on their summer projects, including a decision to forgo supporting the new FMJ v2. Their primary achievement is creating an optimized RISC-V simulator within Minecraft, capable of running compiled programs like Snake, though they note concerns over its performance with heavy computations. They also discuss refactoring a website with Rust and a large-number calculation datapack.
Alright, um, on topic: there's still no news about Fabric mod JSON v2, so Noglerr isn't adding support. I think even if v2 comes out, I might not bother with cross-version support. I don’t feel like writing Java anymore, not many people use the mods anyway, and I haven’t been working on survival technical Minecraft lately.
This summer break has been pretty unproductive; I haven’t done much, mostly just playing games. BV1gFVLz1ESY got 73,000 views, which is pretty good.
I’ve done a bit of web development. I’m refactoring the entire website, turning the GUI into a CLI program. This whole thing is based on Rust and runs on an Alpine Linux container. Once the refactoring is done, I’ll connect the login to the status page. The main distributed functionality is pretty much sorted.
As for the blog... maybe I’ll just use GitHub Gist. I don’t want to write a new one from scratch.
For hardware description language-based redstone, A* is definitely not feasible. I’m considering referencing real-world chip designs, but the scale would be huge, and adapting the corresponding programs would be a pain.
Oh, right, the bigger achievement is something I spent over a week working on:
https://github.com/winsrewu/yopo-datapack — This is a big number calculation library, mainly supporting modular exponentiation (mod pow).
I used it to calculate 64-bit RSA keys, but if it’s too long, it crashes — the single-tick execution time is too high and gets killed by the watchdog. It’s pretty bad.
So, here’s what I did:
https://github.com/winsrewu/pyriscv — Forked from another project, serves as a prerequisite for the one below.
https://github.com/winsrewu/riscv-mc — Basically, I ported the above into Minecraft.
It’s an optimized RISC-V instruction set simulator running in Minecraft. This aligns more with real-world approaches — you can compile with GCC, convert it, and run it in Minecraft. I’ve already written Snake for it, and I’m planning to support an ELIZA program. Minecraft in Minecraft could also be fun, or maybe a 3D renderer as a filler project. The main issue is the terrible performance — I’m worried it might not handle heavy computations well.
But, it can run all kinds of programs — it’s just a matter of time. Its design is for bare-metal execution, so it can’t run an operating system due to certain features like memory management (you know, an OS can’t guarantee all the code it runs is trustworthy — just one example).
What’s crazy is that someone wrote a RISC-V implementation based on Beet a month before I did. Since Beet is more advanced, it supports the privileged architecture (I won’t bother explaining), plus the M and A extension instruction sets. It’s definitely slower than mine, I’m sure.
They also wrote WASM to Minecraft and LLVM to Minecraft, which are likely faster than an assembly emulator since they’re higher-level languages. Minecraft is really slow with bitwise operations.