H5小游戏 活跃维护

prismarine-web-client

PrismarineJS/prismarine-web-client

在浏览器中运行的 Minecraft 网页客户端

550
Stars 标星
375
Forks 分支
15
Watchers 关注
74
Open Issues
JavaScript
主要语言
MIT
开源协议
67.3 MB
仓库大小
6 个月前
最后推送
一键安装扩展 / 插件指令
dsh plugin --profile web add github:PrismarineJS/prismarine-web-client
git clone https://github.com/PrismarineJS/prismarine-web-client.git
git clone git@github.com:PrismarineJS/prismarine-web-client.git
README.md master

机器翻译正文由机器翻译自项目原始文档(英文),排版经程序统一处理,可能存在偏差,请以原项目仓库为准。

棱柱石网页客户端

🇺🇸 English 🇷🇺 Russian 🇵🇹 Portuguese

一个在网页中运行的Minecraft客户端。现场演示在 https://prismarinejs.github.io/prismarine-web-client/

工作原理

prismarine-web-client 在浏览器中运行 mineflayer 和 prismarine-viewer,它通过 WebSocket 连接到一个代理,该代理将 WebSocket 连接转换为 TCP 来连接普通的 Minecraft 服务器。Prismarine-web-client 基于:

如果你想更多地了解它的工作原理并进行贡献,请查看这些模块!

截图

实时演示

点击此链接即可在浏览器中打开,无需安装: https://prismarinejs.github.io/prismarine-web-client/

已在桌面平台的 Chrome 和 Firefox 上测试。

使用方法

要自己托管它,请在 bash 中运行以下命令:

$ npm install -g prismarine-web-client
$ prismarine-web-client

最后,在你的浏览器中打开 http://localhost:8080。

功能

  • 显示怪物和玩家
  • 显示方块
  • 移动(你可以移动,并且看到实体实时移动)
  • 放置和破坏方块

路线图

  • 容器(库存、箱子等)
  • 声音
  • 更多世界交互(攻击实体等)
  • 美容渲染功能(昼夜循环、雾等)

开发

如果你正在贡献/进行更改,你需要使用不同的方式安装它。

首先,克隆仓库。

然后,将你的工作目录设置为该仓库的目录。例如:

$ cd ~/prismarine-web-client/

最后,跑

$ npm install
$ npm start

这将以开发模式启动 express 和 webpack;每当你保存文件时,构建将重新进行(需要5秒),你可以刷新页面以获取新结果。

在浏览器中连接到 http://localhost:8080。

你可能想在 IDE 中禁用自动保存以避免不断重新构建;参见 https://webpack.js.org/guides/development/#adjusting-your-text-editor。

要检查生产构建(构建需要一分钟),你可以运行 npm run build-start。

如果你有兴趣贡献,可以查看 https://github.com/PrismarineJS/prismarine-web-client/projects 上的项目。

一些变量被暴露在全局 window 对象中以便调试:

  • bot
  • viewer
  • mcData
  • worldView
  • Vec3
  • pathfinder
  • debugMenu

向 debugMenu 添加内容

debugMenu.customEntries['myKey'] = 'myValue' 删除 debugMenu.customEntries['myKey']

一些调试示例

在 Chrome 开发者工具中:

  • bot.chat('test') 允许你使用聊天
  • bot.chat(JSON.stringify(Object.values(bot.players).map(({username, ping}) => ({username, ping})))) 显示每个人的 ping
  • window.bot.entity.position.y += 5 jumps
  • bot.chat(JSON.stringify(bot.findBlock({matching:(block) => block.name==='diamond_ore', maxDistance:256}).position)) 查找钻石方块的位置
  • bot.physics.stepHeight = 2 允许你在方块上行走
  • bot.physics.sprintSpeed = 5 walks faster
  • 然后 bot.loadPlugin(pathfinder.pathfinder) bot.pathfinder.goto(new pathfinder.goals.GoalXZ(100, 100)) 前往位置 100, 100

更多调试想法,请阅读 mineflayer 文档。

本站来源与版权声明
  • 本文标题:prismarine-web-client - 在浏览器中运行的 Minecraft 网页客户端
  • 本文链接:https://cn121.com/h5game/prismarinejs-prismarine-web-client.html
  • 原项目:PrismarineJS/prismarine-web-client 版权归原作者 PrismarineJS 及贡献者所有
  • 收录信息:本站于 2026-10-04 收录本项目,本页所列协议与仓库指标均为收录当时的状态;该日期之后原项目的版本更新与协议变更,本页不作同步。
  • 开源协议:收录时本项目采用 MIT(查看 LICENSE 原文),本站译文为其衍生内容;使用、修改、分发请以该仓库 LICENSE 原文为准。
  • 站点出处:本文首发于 OneTwoOne,收录自 GitHub 开源项目 PrismarineJS/prismarine-web-client。
  • 翻译说明:本页正文为人工智能生成内容——由机器翻译对原项目 README 初译、经程序校验排版,可能存在错漏,请以原项目文档为准。
  • 引用声明:商业转载、第三方聚合或 AI 检索训练引用时,请务必保留以上来源出处、本文永久链接,以及原项目的版权声明与许可信息。
  • 下架通道:若原项目此后变更或收紧了许可协议、或作者/权利人认为本站的收录方式(译文、排版适配、简介翻译等)超出其授权范围,请通过 xyd3302001@163.com 发送下架通知,并附上项目地址与本页链接。本站核实后将第一时间删除本页内容,或改为不复制原文的目录性收录;署名更正等其他要求可一并提出。