Introduction
Due to the large number of medium series questions, in order to facilitate everyone to check, I provide a navigation here for everyone to check.
Due to the large number of medium series questions, in order to facilitate everyone to check, I provide a navigation here for everyone to check.
It's past midnight and I just pushed RedScript 2.2.1. The test suite went from 877 to 1136. The version number jumped from 2.0.0 to 2.2.1 in a single day. Most of the actual code was written by Claude. But I was the one who kept loading the datapack into a real Minecraft server and watching things explode in new and interesting ways.
Writing CRUD in NestJS is the same boilerplate, every time. Entity class, DTO class, controller with five routes, service with five methods. Multiply that by twenty resources and you have a thousand lines of code that all look identical.
nest-faster-crud is my attempt at a more declarative approach: annotate an entity class, register it, and the framework handles the rest.
A lot happened in one day. This post covers the RedScript work from March 13, 2026 — from entity type safety all the way to CI/CD automation.
March 14, 2026. A day spent building RedScript's standard library from scratch — and fixing everything that broke along the way.
Same day as v1.2.26 — but a real bug needed fixing before BigInt could actually run.
Minecraft Java Edition has a surprisingly capable scripting layer. Scoreboards act as integer registers. NBT storage is arbitrary heap memory. The execute command chains are conditional branches. People have built working CPUs, ray tracers, and sorting algorithms inside the game. But writing this code directly is miserable — raw .mcfunction files with no variables, no loops, no abstraction.
Minecraft datapacks are programmable, but not pleasant to program. Scoreboards act like registers, execute chains act like control flow, and function calls simulate jumps between basic blocks. It is powerful enough to build mini-games and server logic, but raw .mcfunction authoring is still closer to wiring a finite-state machine than writing software.
A few months ago I started a serious code review of Leverage, a NestJS Online Judge platform that had been running in production for years. No tests. No linter enforcement. No formal review process. Just code that had grown organically, feature by feature, under deadline pressure.
I came out of it with 29 documented issues. Some were minor style things. Six of them were the kind of bugs that make you stare at the screen for a moment and think "how has this been running?"
The backend rewrite of Leverage OJ was already underway — clean architecture, proper migrations, real auth — but the frontend was still the original codebase: a Vue 2 app with scattered API calls, no type safety, and a build pipeline that took creativity to coax into working. If you're going to fix the foundation, you might as well fix the roof too.