Skip to content

Animated desktop 3D Minecraft clone using React, Three.js, React Three Fiber, React Three Drei, React Three Cannon

Notifications You must be signed in to change notification settings

sctlcd/react-threejs-minecraft

Repository files navigation


react-threejs-minecraft



Table of Contents

  1. Introduction

  2. Run the project locally

  3. Available Scripts

  4. Deployment

  5. Credits


Introduction

Creating a desktop Minecraft clone using React, Three.js, React Three Fiber, React Three Drei, React Three Cannon.

This project was bootstrapped with Create React App.

Controls

Action Controls
Movements W/S/D/A
Sprint LShift
Jump Space
Add Cube LClick
Remove Cube Alt+LClick
Change Material 1-0

note: For better accuracy, when clicking to lock the cursor to the mouse, click as close as you can to the cursor. That aligns the camera center and the mouse. Any offset between clicked position and center of viewport is not handled in this app version.

Back to top


Run the project locally

  • Runs the app in the development mode.
    Open http://localhost:3000 to view it in the browser.
    cd react-threejs-minecraft
    npm i
    npm start
    

Back to top


Available Scripts

In the project directory, you can run:

npm start

Runs the app in the development mode.
Open http://localhost:3000 to view it in your browser.

The page will reload when you make changes.
You may also see any lint errors in the console.

npm run build

Builds the app for production to the build folder.
It correctly bundles React in production mode and optimizes the build for the best performance.

The build is minified and the filenames include the hashes.
Your app is ready to be deployed!

See the section about deployment for more information.

npm run eject

Note: this is a one-way operation. Once you eject, you can't go back!

If you aren't satisfied with the build tool and configuration choices, you can eject at any time. This command will remove the single build dependency from your project.

Instead, it will copy all the configuration files and the transitive dependencies (webpack, Babel, ESLint, etc) right into your project so you have full control over them. All of the commands except eject will still work, but they will point to the copied scripts so you can tweak them. At this point you're on your own.

You don't have to ever use eject. The curated feature set is suitable for small and middle deployments, and you shouldn't feel obligated to use this feature. However we understand that this tool wouldn't be useful if you couldn't customize it when you are ready for it.

Back to top


Deployment

Deployment – Run locally

  1. Prerequisite:

    • Make sure Node and NPM are installed on your computer. You can download both at nodejs.org (NPM is included in your Node installation).
    • Please see .nvmrc file at the root of react-threejs-minecraft repo.
    • Using nvm, a Node Version Manager is recommended as it helps you manage and switch between different Node versions with ease. It provides a command-line interface where you can install different versions with a single command, set a default, switch between them, etc.
  2. In GitHub click on the repository nammed react-threejs-minecraft

  3. Clone the repository locally. Run

    git clone https://github.com/sctlcd/react-threejs-minecraft.git
    
  4. Install all modules listed as dependencies in package.json

    cd react-threejs-minecraft
    npm i
    

    note: in this app

  5. Runs the app in the development mode. Open http://localhost:3000 to view it in the browser.

    cd react-threejs-minecraft
    npm start
    

Back to top


Deployment - Live Website

react-threejs-minecraft live website is currently deployed on Firebase using the main branch on GitHub. Once you have the project setup locally, you can proceed to deploy it remotely.

  1. Install Firebase CLI Tools, firebase-tools

    npm install -g firebase-tools
    
  2. Create firebase.json and .firebaserc at the root of your project with the following content:

    firebase.json:

    {
      "hosting": {
        "public": "build",
        "ignore": [],
        "rewrites": [
          {
            "source": "**",
            "destination": "/index.html"
          }
        ]
      }
    }
    

    .firebaserc:

    {
      "projects": {
        "default": "<YOUR_FIREBASE_ID>"
      }
    }
    
  3. After running npm run build, deploy using the command firebase deploy.

=> live link: https://react-threejs-minecraft.web.app/

Back to top


Credits

Media

Back to top


About

Animated desktop 3D Minecraft clone using React, Three.js, React Three Fiber, React Three Drei, React Three Cannon

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published