Skip to content

manycore-com/MineVibe

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MineVibe

A Minecraft clone built with Java, LWJGL, and OpenGL.

Features

  • 3D voxel-based world with procedural terrain generation
  • Multiple block types with unique procedural textures
  • Realistic world generation with bedrock, ore distribution, water levels, and trees
  • Texture atlas system with block-specific textures (grass has different top/side textures)
  • First-person camera controls with mouse look
  • Block breaking and placement with material selection
  • Chunk-based world rendering for performance
  • Realistic physics with gravity and collision detection
  • WASD movement + Space for jumping
  • Player spawns on terrain surface automatically

Building and Running

Prerequisites

  • Java 17 or higher
  • Graphics drivers with OpenGL 3.3 support

Build

./gradlew build

Run

./gradlew run

Controls

  • WASD: Movement (forward/left/backward/right)
  • Space: Jump (only when on ground)
  • Mouse: Look around
  • Arrow Keys: Alternative camera rotation (↑↓ = look up/down, ←→ = look left/right)
  • Left Click: Break blocks
  • Right Click: Place selected block
  • Number Keys 1-9: Select block type to place
    • 1: Stone, 2: Dirt, 3: Grass, 4: Oak Log, 5: Oak Planks
    • 6: Cobblestone, 7: Sand, 8: Water, 9: Glass
  • Escape: Exit game

Technical Details

  • Built with LWJGL (Lightweight Java Game Library)
  • Uses OpenGL 3.3 Core Profile for rendering
  • JOML for mathematics operations
  • Gradle with Kotlin DSL for build configuration
  • Chunk-based world with greedy meshing for performance

Architecture

  • MineVibe.java: Main application and game loop
  • World.java: World management and chunk loading
  • Chunk.java: Individual chunk data and generation
  • ChunkRenderer.java: Chunk mesh generation and rendering
  • Player.java: Player physics, collision detection, and movement
  • Camera.java: First-person camera implementation
  • InputHandler.java: Keyboard and mouse input processing
  • Shader.java: OpenGL shader management
  • Block.java: Block type definitions
  • Texture.java: Texture loading and management

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published