Home/Projects/VoxelCraft

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.

1.4 MBof Java source
0image or audio files in the repo
64×64in-game skin editor canvas
32levels of undo in the skin editor

What it does

More than a block game.

01

Procedural everything

Block textures are painted in code at startup. Dig, place, footstep, mob and explosion sounds are synthesized through OpenAL.

02

Multiplayer

A headless dedicated server is authoritative. Clients stream chunks, block changes, mobs, world time and health, and chat with T.

03

Skin editor

Rotating 3D preview, pencil, eraser, flood fill, eyedropper, X-mirror, HSV picker and slim-arm toggle. Skins sync in multiplayer.

04

Survival and Creative

Flight, instant breaking, a searchable item menu, and separate inventories that swap back when you switch.

05

Worlds and saves

Save slots on the title screen, autosave every 5 minutes, and settings kept in options.txt.

06

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.

InputAction
W A S DMove
SpaceJump, or swim up
CtrlSprint
ShiftSneak
Left clickBreak or attack
Right clickPlace or use
EInventory
F3 + F4Survival / Creative
F5Cycle camera
TChat

Build

One jar. Natives included.

Run it
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
mods/my-mod.jar → META-INF/mod.json
{ "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.