{"id":28693452,"url":"https://github.com/dnouri/dinecraft","last_synced_at":"2025-06-14T08:32:07.806Z","repository":{"id":288791537,"uuid":"969149887","full_name":"dnouri/DineCraft","owner":"dnouri","description":"A vibe-coded MineCraft like game based on Three.js","archived":false,"fork":false,"pushed_at":"2025-04-19T15:38:55.000Z","size":96,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-19T19:17:15.777Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://dnouri.github.io/DineCraft/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dnouri.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-04-19T13:58:23.000Z","updated_at":"2025-04-19T15:38:59.000Z","dependencies_parsed_at":"2025-04-21T08:31:50.226Z","dependency_job_id":null,"html_url":"https://github.com/dnouri/DineCraft","commit_stats":null,"previous_names":["dnouri/dinecraft"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/dnouri/DineCraft","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dnouri%2FDineCraft","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dnouri%2FDineCraft/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dnouri%2FDineCraft/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dnouri%2FDineCraft/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dnouri","download_url":"https://codeload.github.com/dnouri/DineCraft/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dnouri%2FDineCraft/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259786173,"owners_count":22910893,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-06-14T08:30:32.192Z","updated_at":"2025-06-14T08:32:07.795Z","avatar_url":"https://github.com/dnouri.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Voxel Sandbox\n\nWelcome to Voxel Sandbox! This is a simple block-building game prototype built with JavaScript and Three.js, running right in your web browser. Explore a basic world, break blocks, and place new ones to build whatever you imagine!\n\n## Running the Game\n\n1.  **Install Dependencies:**\n    Make sure you have Node.js and npm installed. Then, open your terminal in the project directory and run:\n    ```bash\n    npm install\n    ```\n2.  **Start the Development Server:**\n    Run the following command to start a local web server (this assumes you have `vite` installed or a similar dev server configured in `package.json`):\n    ```bash\n    npm run dev\n    ```\n    *(If you don't have a `dev` script, you might need to install `vite` (`npm install --save-dev vite`) and add `\"dev\": \"vite\"` to the `\"scripts\"` section in `package.json`)*\n3.  **Open in Browser:**\n    Open your web browser and navigate to the local address provided by the development server (usually something like `http://localhost:5173`).\n\n## Running Tests\n\nTo run the automated tests for the project's modules, use:\n\n```bash\nnpm test\n```\n\n## Code Overview\n\nThe project is structured into several key modules:\n\n*   **`main.js`**: The main entry point. Initializes Three.js, the world, player, controls, and starts the game loop.\n*   **`src/World.js`**: Manages the collection of `Chunk` objects, handles block getting/setting at world coordinates, and updates chunk meshes.\n*   **`src/Chunk.js`**: Represents a 16x256x16 section of the world. Stores block data and manages its 3D mesh.\n*   **`src/Player.js`**: Handles player movement physics, collision detection, interaction (breaking/placing blocks), and camera attachment.\n*   **`src/Controls.js`**: Manages user input (keyboard for movement/hotbar, mouse for looking/interaction) using Pointer Lock controls.\n*   **`src/BlockRegistry.js`**: Defines the properties (like solidity and textures) for different block types.\n*   **`src/TextureAtlas.js`**: Loads the texture atlas image and creates the material used for rendering blocks.\n*   **`src/Chunk.test.js` / `src/dummy.test.js`**: Unit tests for various modules.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdnouri%2Fdinecraft","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdnouri%2Fdinecraft","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdnouri%2Fdinecraft/lists"}