A small voxel sandbox game written in Java with LWJGL (OpenGL + GLFW).
🇷🇺 Версия на русском: README.ru.md
📖 Docs: dedicated server & Lua plugins
- Procedurally generated terrain (value-noise hills, trees, sand near water level)
- First-person movement with gravity, jumping and AABB collision
- Place / break blocks via raycasting (6 block types + unbreakable bedrock)
- Textured blocks loaded from
assets/into a runtime texture atlas - Crafting panel inside the inventory (
E): planks, furnace, sword, pickaxe and iron tools - Furnace: place it, right-click to open — smelts sand into glass, ore into ingots, wood into charcoal (fuel: coal, planks, wood)
- Tools: wooden sword and stone pickaxe (3x mining), iron ones are stronger (6x pickaxe, one-hit sword)
- Zombies that chase the player; kill them with the sword
- Animals (pig, cow, chicken) roam in daylight; they drop a healing heart when killed
- Start menu (PLAY / QUIT) with a tiny built-in bitmap font
- Free premium: message @pacmine_prem_bot on Telegram (
/prem YOUR_NICK) — verified nick + a badge on servers, up to 3 accounts per Telegram - Invisible walls at the world edges
| Action | Key |
|---|---|
| Move | W A S D |
| Jump | Space |
| Sprint | hold Left Shift |
| Look | mouse |
| Break block / hit zombie | Left click |
| Place block | Right click |
| Select block | 1–6 |
| Back to menu | Esc |
Requires a JDK (21+). LWJGL natives are fetched for your OS.
Linux / macOS:
bash get-deps.sh # download LWJGL jars into lib/
bash build.sh # compile to out/
bash run.sh # launch the gameWindows:
get-deps.bat
build.bat
run.bat
⚠️ The Windows build is unverified and may have issues. All versions are tested on Linux Fedora 44 Workstation.
Minecraft-style server core: grab PACMine-Server.jar from the releases (or build
it with bash make-server.sh), drop it into an empty folder and run:
java -jar PACMine-Server.jarOn first run it creates server.properties, saves/world.pms and server.log
right there. Console commands: list, plugins, save, stop. Headless — no LWJGL needed.
Set plugins=true to load Lua plugins from plugins/ (docs are generated there):
join/leave/block/tick events, get_block/set_block synced to all players, kick and more.
A small Swing launcher downloads, builds and runs the latest version from GitHub:
- Linux/macOS:
cd launcher && ./launcher.sh - Windows:
cd launcher && launcher.bat
src/com/voxel/— game sourceMain.java— window, game loop, input, menu, HUD, combatWorld.java/Noise.java— terrain generation and block storageChunkRenderer.java— per-chunk meshing (display lists)TextureAtlas.java— texture loading / atlasPlayer.java— movement & collisionZombie.java— mob entity & AIFont5x7.java— bitmap font for menu text
assets/— PNG textures (16×16)
Apache 2.0 — versions up to v0.1.5.5 were released under MIT.