Skip to content

🗻 A voxel world built with JS/TS/RS. (formerly mc.js) (maybe mine.ts? or even mine.rs?)

License

Notifications You must be signed in to change notification settings

shaoruu/mine.js

Repository files navigation

MineJS has been rewritten into a customizable fullstack library called voxelize

MineJS is a multiplayer voxel engine that runs in your browser! (Probably should change the name to MineRS/MineTS)

Any PRs are welcomed! Here's the quick TODO list that we're following: Link

🎯 Disclaimers

This is purely a passionate project. Although inspired, I have no intention for this game to be affiliated with Minecraft, or any licensed voxel engines. Further, textures and assets used in the game are all licensed for free use. More information can be found in the last section.

👑 Motivation

We thought it would be interesting to design a game that is inspired by popular voxel engines such as "Minetest" and "Veloren". With the combination of Rust and TypeScript, we hope to deliver quality graphics and performance, as well as interactive multiplayer game play within a 3D voxel-based environment.

📷 Gallery

👷 WIP (all help welcomed!)

Terrain Generation

🎮 Controls

  • V: Toggle zoom
  • R: Toggle sprint
  • T: Toggle chat
  • J: Toggle debug
  • F: Toggle physics
  • C: Toggle perspective
  • K: Toggle fullscreen
  • Z: Bulk placement
  • X: Bulk destruction
  • 0-n: Change block placement
  • Space: Jump / fly up
  • W/A/S/D: Movements
  • L-Shift: Fly down
  • L-Mouse: Break block
  • M-Mouse: Get block of looking
  • R-Mouse: Place block
  • Tab: Player list

🐏 Installation

# go to the folder you save ur projects
cd path/to/folder

# clone the repository
git clone https://github.com/ian13456/mine.js

# cd into mine.js
cd mine.js

# you need yarn for this project
# somewhere here https://classic.yarnpkg.com/en/docs/install/#debian-stable
# after you install yarn, install the dependencies needed
yarn

# next you need cargo watch
cargo install cargo-watch

# next compile protobuf
yarn compile

# next run server
yarn server

# next listen on client changes (separate terminal)
yarn client

# OPEN ANOTHER TERMINAL
yarn watch

# visit localhost:3000

📓 Citations