🔥 Hot ▲ 6.6k r/FuzeLeVrai+4 crossposts

I made a generative AI, only using 400k command blocks (PoC)

While I am still writing on my physics engine, I thought making an actual generative AI only using Minecraft command blocks would be a good idea( it was a headache)
So yeah, I kinda did that. It is a real neural language model running inside vanilla Minecraft 26.2. It reads what you type into a /dialog window, runs the forward pass through learned weights and then generates a reply one word at a time.
There are NO mods, plugins or datapacks involved at runtime. Only command blocks.
Roughly it works like this:

The model is a pretty small word level neural language model. It has a vocabulary of 2048 words, remembers the last 6 words as context and has a 64 dimensional embedding followed by a hidden layer with 256 neurons.
For every generated word it does:
384 x 256 = 98,304 operations for the hidden layer and 256 x 2048 = 524,288 operations for the output layer so in total 622,592 calculations for every single generated word.

Obviously doing 622k normal multiplications using Minecraft commands would be slightly problematic, so the weights are ternary: every weight is only -1, 0 or +1.
That means a multiplication basically becomes:
+1 -> add the value
-1 -> subtract the value
0 -> do absolutely nothing

Around 65% of the weights are non 0, so it averages around 0.67 commands per MAC instead of the ~3 commands I would need for a normal runtime weight. That reduced the entire machine from 1,909,375 blocks to 445,782 blocks, yes it was this big before.
The model is actually trained like this too. I am not just training a normal model and rounding the weights afterwards. During training the weights are quantised to ternary values for the forward pass and the underlying floating point weights are updated using a straight through estimator.
That took the perplexity from around 48.7 where the training basically got stuck to 38.8 after also adding cosine learning rate decay.

The input embedding is another optimisation I needed to do: Instead of multiplying a one hot vector against a matrix, it is basically just a table lookup stored in NBT data, so the complete 2048 x 64 embedding table costs really nothing
The actual forward pass cannot run in one command chain either. Minecraft has limits on how many commands can execute, so the network is split into smaller groups.
After the ternary optimisation one generated word takes around 63 ticks, so roughly 3.2 seconds per word at 20 TPS. I also tested higher tick rates and around 30-35 TPS seems to be the useful maximum on my server. At 35 it gets closer to ~1.8 seconds per word.

But to be clear, this thing does not actually know anything.
It was trained on 11,118 DailyDialog conversations and only has a tiny 2048 word vocabulary. Ask it something like 2 + 2 and it will confidently generate some conversational nonsense because it has no understanding of arithmetic or actual facts.
And unfortunately just making it much bigger isn't really realistic either.
Something like a 135M parameter language model would already be more than 200x larger.

There is currently also one very weird bug where after around 800 ticks of continuous work every command block in the world just stops executing while the server itself keeps running normally. I still have absolutely no idea why that happens.
Anyway, back to wasting my time on nonsense ;)

u/_objz — 3 days ago
▲ 31 r/tui+1 crossposts

rmcl v0.4.1; Minecraft modding without leaving your terminal

Hey everyone,

rmcl has now reached v0.4.1.

For anyone who has not seen it before: rmcl is a keyboard-driven TUI Minecraft launcher for managing and launching Minecraft instances directly from the terminal.

Since the last update, both v0.4.0 and v0.4.1 have been released.

v0.4.0 is probably the biggest update rmcl got so far. The modrinth discovery feature I mentioned in my previous post is now finished and also got expanded quite a bit. v0.4.1 is only a small follow up update that fixes the update labels.

Changes are:

  • built-in content discovery: Mods, resource packs, shaders, datapacks and modpacks can now be browsed and installed directly inside the TUI
  • Modrinth and CurseForge support: Discovery now supports both providers. You can choose which provider should be preferred or also limit the search to only one of them
  • modpack browser: You can now press m from the instance list to browse modpacks. The old URL, slug and local file import options are still available with i
  • project pages: Projects now have actual detail pages with descriptions, images, links, supported versions and a version selection
  • content updates: rmcl can now check installed mods, resource packs, shaders and datapacks for compatible updates and you can review and update them together
  • version management: Press v on installed content to change its version or just reinstall the current one
  • dependency management: Required mod dependencies are now installed automatically. Shared dependencies are also tracked so they don't get removed while another mod still needs them
  • managed modpacks: Installed modpacks can now be updated, reinstalled or changed to another compatible version while keeping your worlds, configs, options and user added content
  • datapack discovery: Datapacks can now also be browsed and installed directly into a selected world
  • world improvements: Worlds now have better metadata cards and can also be launched directly from the world list

There were also a lot of smaller UI, safety and stability changes:

  • mouse wheel scrolling is now supported
  • discovery now has continuous scrolling and page jumping
  • terminal images behave better around popups
  • text inputs now support Ctrl+Backspace
  • installs and updates now use staged operations, so if something fails the changes can be rolled back
  • interrupted modpack updates can be recovered
  • existing installations are automatically moved to the new managed content layout on first start and a backup of the old layout is created
  • v0.4.1 fixes a small issue with the update labels

Overall the main goal of v0.4.0 was making content management a proper part of the launcher.

You can now discover, install, update, change and remove most Minecraft content without ever leaving the terminal. With Modrinth and CurseForge support rmcl is getting closer to covering most of the features people expect from modern Minecraft launchers like Prism Launcher, just inside a TUI.

As always, feedback, bug reports and suggestions are very welcome.

GitHub: https://github.com/objz/rmcl/

Release and downloads: https://github.com/objz/rmcl/releases/tag/v0.4.1

u/_objz — 5 days ago
▲ 183 r/MinecraftCommands+1 crossposts

realistic explosions, using command blocks

Maybe some know me from my last post, the physics engine in Minecraft with command blocks. Well, I still have a bit of cleanup work to do, then you'll get the download.

For now I created a very lightweight demonstration, not really a physics engine but idk.

You can download the schem here:
https://file.kiwi/6b293d18#KrLYlQkevts-yEOd26ojBg

Also I am trying to make an adventure map, but have no ideas, so.... Any ideas appreciated

u/_objz — 9 days ago
▲ 1.1k r/MinecraftCommands+1 crossposts

I Made a Physics Engine Using Only Minecraft Command Blocks

I wrote a physics engine only using Minecraft command blocks on vanilla 26.2.

Roughly it works like this:

For the very basic math functions like sin and cos it uses fixed point scoreboards for all calculations, together with quaternions and rotation matrices. Minecraft does not have floating point numbers for scoreboards, it only uses integers, so we need to get a bit creative. To calculate sin and cos I use the native way Minecraft already does it with the local coordinate system ^1 ^0 ^0, then use the resulting position differences as the sin/cos values for the calculations.

Multi block objects consist of multiple block_display entities that are basically "glued" together using my parent/child system. So I can apply rotation, movement, offset, translation and scaling to the parent and the engine handles all the block displays so the object still keeps its original shape.

Now the actual point, the physics engine:

Collision is detected using spheres and oriented boxes. For box collision it uses SAT calculations with up to around 15 axes, together with contact points, friction, restitution, penetration correction and impulse response. The physics system is not fully complete yet, but it already allows collisions to affect both movement and rotation depending on where an object gets hit.

There are also multiple materials implemented, for now just slime, metal and stone, with different properties like friction, mass and restitution.

Currently multiple physics objects can run at the same time. For that I use a worker command block system which dynamically clones the physics engine and the rotation engine for each object, allowing the different physics objects to be calculated independently.

There are NO mods or datapacks involved in this. Only using command blocks.

I know, I have to much time

u/_objz — 12 days ago
▲ 29 r/mcdev+3 crossposts

rmcl v0.3.3; getting closer to a full terminal first Minecraft launcher

Hey everyone,

rmcl has now reached v0.3.3.

For anyone who has not seen it before: rmcl is a keyboard-driven TUI Minecraft launcher for managing and launching Minecraft instances directly from the terminal.

Since the last update, both v0.3.2 and v0.3.3 have been released

Changes are:

  • config profiles: You can now create and manage shared config profiles and apply them to instances. This is useful if you want multiple instances to share the same settings
  • delete actions for content Mods, resource packs, shaders, worlds, and other content types can now be deleted rather than just disabled
  • image rendering options There is now a setting for terminal image mode, that means, the icons can be rendered using the kitty protocol (default) iterm2 image protocol, halfblocks(pixelated) or as quadrants(pixelated)
  • log parser A log parser was added to improve diagnostics and readabillity

There were also a lot of stability and packaging fixes:

  • Java version requirements are now checked before launching
  • NeoForge library handling was improved to avoid broken or corrupted installs
  • installer failure errors are now clearer
  • AUR build issues were fixed
  • Chocolatey packaging was cleaned up
  • performance was increased by deciding aggressively what is being rendered and what not
  • icon caching now uses more stable keys

Overall, the focus of these releases was making rmcl more reliable across different Minecraft versions, loaders, packaging targets, and terminal setups.

There is also a bigger feature currently being worked on: browsing mods, resource packs, shaders, and more directly inside the TUI using the modrinth api.

The idea is that you should be able to find and install content without ever leaving the terminal. With that, rmcl is getting closer to covering most of the features people expect from modern Minecraft launchers like Prism Launcher.

As always, feedback, bug reports, and suggestions are very welcome.

GitHub: https://github.com/objz/rmcl/

u/_objz — 1 month ago
▲ 185 r/PCGamingDE+3 crossposts

Fully featured TUI Minecraft launcher completly driven by keyboard

Hello folks,
rmcl( a fully featured TUI Minecraft launcher) or known before as mcl has just been updated to version 0.3.1. That includes some minor user facing changes but more or less bigger changes on the backend:

  • Forge and Neoforge launch was reworked especially for modern versions to prevent launch crashes
  • Similar to Fabric and Quilt, and also some classpath issues were fixed
  • Some minor changes in the TUI like hardcoded values were moved to the config file or fixed
  • Quick Play flags and version template handling were fixed
  • And the test suite was reworked on many parts and expanded with integration tests
  • some CLI cleanups like headless launch when opened from a desktop shortcut
  • and some other small fixes

So all in all just some fixes to make it more bulletproof across all versions

rmcl already reached 11 stars, which honestly means a lot. Thanks for the continued support, testing, and interest in the project.

Feedback, bug reports, and suggestions are always welcome

u/_objz — 2 months ago

Hi,
meine alte grafikkarte hat den geist aufgegeben und es wird eh mal zeit für einen neuen pc.

Ich stelle mir gerade den PC zusammen und hätte gerne eine zweite meinung, oder dritte. Ich werde den PC selber zusammenbauen, aber bevor ich die Teile kaufe, wollte ich nochmal schauen, ob das so alles so sinn macht.

https://pcpartpicker.com/list/kxZF8Z

Der PC ist hauptsächlich fürs Gaming gedacht(Apex Legends, The finals usw), aber auch viel rechenleistung für compiling code. Deswegen auch der AMD Ryzen 9 9950X3D.

hier nochmal die Specs:

CPU: AMD Ryzen 9 9950X3D
CPU-Kühler: Corsair NAUTILUS 360 RS
Mainboard: MSI MPG X870E CARBON WIFI
RAM: G.Skill Flare X5 64 GB, 2x32 GB, DDR5-6000 CL30
SSD: Samsung 990 Pro 2 TB NVMe PCIe 4.0
GPU: Palit GameRock OC GeForce RTX 4080 16 GB
Case: HYTE Y70 ATX mid tower
Netzteil: Corsair RM1000x SHIFT 1000W

Laut PCPartPicker bin ich aktuell bei ca. 2817 $, wobei die RTX 4080(damit ca. 4144€) gerade anscheinend nicht wirklich verfügbar ist und deshalb kein Preis drin steht.

Mich würde interessieren, ob das Build so grundsätzlich passt oder ob ich irgendwo komplett unnötig Geld ausgebe. Vor allem bei Preis/Leistung, Bottlenecks, Airflow, Case-Kompatibilität und ob die Parts allgemein gut zusammenpassen. Falls die RTX 4080 gerade wirklich nicht mehr sinnvoll zu bekommen ist, wäre ich auch offen für GPU-Alternativen.

EDIT: link

reddit.com
u/_objz — 4 months ago

Hi,

my last post got banned because I didn’t know that offline mode wasn’t allowed here. But as I’m posting this, I already fixed that.

Offline mode is still supported, but it now works more like Prism Launcher. You can start Minecraft with an offline UUID, but only if you added a Microsoft account that owns Minecraft before. Also, as soon as you remove your Minecraft account, you can’t play offline anymore. So I hope this fixes that problem.

BUT that’s not the main reason I’m writing this.

MCL is now at 0.2.4, and there are already some major changes. The most requested one is:

GTNH support.

MCL now fully supports GTNH, even up to Java 25. You can just download the Prism zip and import it into MCL like you do with other modpacks. To make this work, MCL now also supports MultiMC packs and other formats.

Support for older versions, like Forge, was also improved to prevent crashes or wrong launches. Many errors were fixed too.

I’m happy to announce this, and maybe some of you are interested in the project and want to test it out. Please share your feedback, and be honest with me, because this can only improve with feedback.

On github are the links for all package manager or the download page:
https://github.com/objz/mcl

u/_objz — 4 months ago
▲ 7 r/admincraft+3 crossposts

Hi,

my last post got banned because I didn’t know that offline mode wasn’t allowed here. But as I’m posting this, I already fixed that.

Offline mode is still supported, but it now works more like Prism Launcher. You can start Minecraft with an offline UUID, but only if you added a Microsoft account that owns Minecraft before. Also, as soon as you remove your Minecraft account, you can’t play offline anymore. So I hope this fixes that problem.

BUT that’s not the main reason I’m writing this.

MCL is now at 0.2.4, and there are already some major changes. The most requested one is:

GTNH support.

MCL now fully supports GTNH, even up to Java 25. You can just download the Prism zip and import it into MCL like you do with other modpacks. To make this work, MCL now also supports MultiMC packs and other formats.

Support for older versions, like Forge, was also improved to prevent crashes or wrong launches. Many errors were fixed too.

https://preview.redd.it/kfh1cws3bryg1.png?width=1685&format=png&auto=webp&s=5c212b514e0d587e11195cd29fc8ffae2820e083

I’m happy to announce this, and maybe some of you are interested in the project and want to test it out. Please share your feedback, and be honest with me, because this can only improve with feedback.

On github are the links for all package manager or the download page:
https://github.com/objz/mcl

reddit.com
u/_objz — 4 months ago