{"id":28375319,"url":"https://github.com/thebest12dev/blockjs","last_synced_at":"2025-06-25T19:31:11.675Z","repository":{"id":268514694,"uuid":"904599440","full_name":"thebest12dev/blockjs","owner":"thebest12dev","description":null,"archived":false,"fork":false,"pushed_at":"2025-01-19T10:44:51.000Z","size":396,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-05-29T22:41:27.716Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/thebest12dev.png","metadata":{"files":{"readme":"readme.md","changelog":"changelog.md","contributing":null,"funding":null,"license":"license.md","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}},"created_at":"2024-12-17T07:50:13.000Z","updated_at":"2025-01-19T10:44:53.000Z","dependencies_parsed_at":"2024-12-17T08:41:23.728Z","dependency_job_id":"dc792ef2-0a1b-4d8a-8ab9-022b0f956247","html_url":"https://github.com/thebest12dev/blockjs","commit_stats":null,"previous_names":["thebest12dev/blockjs"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/thebest12dev/blockjs","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thebest12dev%2Fblockjs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thebest12dev%2Fblockjs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thebest12dev%2Fblockjs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thebest12dev%2Fblockjs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/thebest12dev","download_url":"https://codeload.github.com/thebest12dev/blockjs/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thebest12dev%2Fblockjs/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261940411,"owners_count":23233532,"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-05-29T22:37:07.295Z","updated_at":"2025-06-25T19:31:11.669Z","avatar_url":"https://github.com/thebest12dev.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n# BlockJS\nAn open source Minecraft clone that can be run in your browser and potentially in your school. This game uses WebGL 2, which is \nbased from OpenGL ES 3.0. \u003c!--It also works offline, so you don't have to worry about internet problems unless you're playing multiplayer. (code not implemented)--\u003e\nThis game is inspired by MineKhan, which you can play at https://willard.fun/minekhan. Note that I made this game from\nscratch, so there's really nothing I took from MineKhan.\n\nI made it so it also supports multiplayer, but to host the server, you might have to do a bit of tinkering with Node.js and\nWebSocket. Fortunately there is already a pre-made server to download in my GitHub repository.\n\nNote that if you're playing on Khan Academy it will be a bit slower to load due to putting the whole game in one\npage.\n\n**Controls:**\n- W: Move forward\n- A: Move left\n- S: Move backward\n- D: Move right\n- Space: Jump (not implemented)\n- Esc: Pause\n\n\nAnd yes, it's still in development as the game is really buggy and feature-lacking. As more time passes, expect new\nfeatures in the game.\n\nYou can add it to your game list and modify it as well it's licensed under the MIT license.\n## Compiling\n### Client\nFirst, download and install the necessary packages through `npm install`. Then, simply run `npm run build` to compile the client. The output file will be at `./dist/bundle.js`.\n### Server\nThere isn't a \"compile\" process for the server, although you can just modify the code directly.\n\n## BlockJS Server\nIt's the corresponding server to the client. Currently it is shipped as a CLI so basically clone this repository, and run the following lines to set up the server:\n\n```bat\ncd server\n\"\u003clist of your players\" \u003e \"ops.txt\"\nblockjs --server --port=\u003cport\u003e\n```\n\nThis will start the server which you can access by joining at `ws://localhost:\u003cport\u003e`.\n\nFor now, it isn't published as a `npm` package, so you have to publish it yourself.\n\n## Modding\nJust so you know, BlockJS has modding support, although it's a bit involved and rudimentary at the time. So basically, follow these steps:\n\nFirst, you want to create a directory and add a file called index.js like here:\n```\n\u003croot directory\u003e\n      |\n      |\n      |----- index.js\n```\n\nThen, you just have to simply include this comment at the very top of the file:\n```js\n/** \n * @blockjs @declaration\n * @requestObjects BlockJS\n */\n```\nNow, just write whatever code you like.\n## Attribution\nThis project uses [JSZip](https://github.com/Stuk/jszip) and [gl-matrix](https://github.com/toji/gl-matrix) for the mod loading and renderin, respectively.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthebest12dev%2Fblockjs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthebest12dev%2Fblockjs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthebest12dev%2Fblockjs/lists"}