Java · 2026 · Desktop, via LWJGL 3
VoxelCraft
Classic Minecraft, rebuilt in Java with zero asset files. A faithful recreation of early Minecraft in pure Java with LWJGL 3 and raw OpenGL. There is no game engine and there are no asset files: every texture is generated procedurally at startup, and every sound is synthesized.
What it does
More than a block game.
Procedural everything
Block textures are painted in code at startup. Dig, place, footstep, mob and explosion sounds are synthesized through OpenAL.
Multiplayer
A headless dedicated server is authoritative. Clients stream chunks, block changes, mobs, world time and health, and chat with T.
Skin editor
Rotating 3D preview, pencil, eraser, flood fill, eyedropper, X-mirror, HSV picker and slim-arm toggle. Skins sync in multiplayer.
Survival and Creative
Flight, instant breaking, a searchable item menu, and separate inventories that swap back when you switch.
Worlds and saves
Save slots on the title screen, autosave every 5 minutes, and settings kept in options.txt.
Mods
Drop a jar in mods/. Each mod gets its own class loader, dependencies are sorted, and a broken mod is skipped instead of crashing the game.
Play
Controls you already know.
| Input | Action |
|---|---|
| W A S D | Move |
| Space | Jump, or swim up |
| Ctrl | Sprint |
| Shift | Sneak |
| Left click | Break or attack |
| Right click | Place or use |
| E | Inventory |
| F3 + F4 | Survival / Creative |
| F5 | Cycle camera |
| T | Chat |
Build
One jar. Natives included.
gradle fatJar java -jar build/libs/minecraft-classic.jar --seed 1337 # host a dedicated server java -jar build/libs/minecraft-classic.jar --server --port 25565
{ "entryClass": "com.example.MyMod" }A mod's entry class implements ModEntry and registers blocks, items, recipes, entities and event handlers in onLoad(ModContext). Type /mod list in-game to see what loaded.