63 lines
1.8 KiB
Markdown
63 lines
1.8 KiB
Markdown
# Minecraft recode in JavaScript
|
|
|
|
This is a sandbox that provides all basic features of Minecraft.<br>
|
|
The main purpose of this project is to understand the render and physics engine of Minecraft.<br>
|
|
The source code was ported from the [java-minecraft](https://github.com/LabyStudio/java-minecraft) project.
|
|
|
|
<br>
|
|
Click [here](https://labystudio.github.io/js-minecraft/) for a demo!
|
|
|
|
### Feature Overview
|
|
- Block rendering
|
|
- Block collision
|
|
- Player movement
|
|
- Walking
|
|
- Sprinting
|
|
- Sneaking
|
|
- Flying
|
|
- Swimming
|
|
- Lightning
|
|
- Dynamic lightning
|
|
- Smooth lightning
|
|
- Day/Night
|
|
- Block light source
|
|
- World
|
|
- 16x16x16 Chunks
|
|
- Block type, data, sky & block lightning
|
|
- Perlin world generation
|
|
- Camera
|
|
- Frustum Culling
|
|
- Fog
|
|
- Underwater fog
|
|
- Dynamic FOV
|
|
- GUI
|
|
- Screens
|
|
- Loading Screen
|
|
- InGame Menu
|
|
- Controls Screen
|
|
- Widgets
|
|
- Button
|
|
- KeyBindButton
|
|
- Overlay
|
|
- Cross-hair
|
|
- Font rendering
|
|
- Hot-Bar
|
|
<hr>
|
|
|
|
# Screenshots
|
|
_Note: All textures from the original game were used for the screenshots only!_
|
|
|
|

|
|

|
|

|
|

|
|
|
|
### Licensing
|
|
- The main rendering library is [three.js](https://github.com/mrdoob/three.js/)
|
|
- The [stats.js](https://github.com/mrdoob/stats.js/) library is used for performance tracking
|
|
- Safari render issues fixed by [context-filter-polyfill](https://github.com/davidenke/context-filter-polyfill)
|
|
- All used sound resources are taken from [freesounds.org](https://freesound.org/people/C418/downloaded_sounds/?page=8#sound)
|
|
|
|
<hr>
|
|
|
|
NOT OFFICIAL MINECRAFT PRODUCT. NOT APPROVED BY OR ASSOCIATED WITH MOJANG. |