问题标签 [minecraft]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
7801 浏览

python - 在 Python 中向 Minecraft 服务器发送登录数据包不起作用

我在 Python 中有以下脚本。它所做的是尝试连接到 MineCraft 服务器,首先通过发送“握手”,然后发送登录请求。协议规范可以在这里找到:http ://wiki.vg/Protocol

无论如何,python脚本工作正常,没有错误。但是,我相当习惯我对第二个数据包进行了错误的编码,因为当它发送时,服务器控制台上什么也没有出现。播放器未连接或任何东西。由于“客户端”没有及时登录,它最终会超时并关闭连接。

基本上,无论如何,有 struct.pack() 经验的人应该能够在这里帮助我。我已经评论了我不确定我是否编码正确的行。有关打包数据的详细信息显示在上面的链接中。

任何帮助将不胜感激,我对编码/打包数据一无所知。:(

0 投票
2 回答
331 浏览

python - Python 递归数据读取

如果您曾经玩过我的世界,以下内容会更有意义。由于你们中的许多人没有,我会尽力解释它

我正在尝试编写一个递归函数,该函数可以找到从我的世界食谱平面文件中制作任何我的世界物品的步骤。这个我真的难住了。

平面文件有点长,所以我将它包含在这个要点中。

所以基本上我需要查找第一个食谱,然后查找第一个食谱的所有组件的食谱,依此类推,直到你找到没有食谱的项目。每次我需要将食谱附加到一个列表中,这样我就会得到一个关于制作物品顺序的指令集。

所以这是我现在拥有的功能(那个不起作用)

这是我想要的理想输出。它是一个字典,其中存储了项目名称和数量。

所以问题是,我该怎么做?

我知道在这里要求人们为你工作是不受欢迎的,所以如果你觉得这有点太接近你只是为我做编码,那就这么说吧。

0 投票
1 回答
1672 浏览

python - Python 解析 Minecraft 数据包

我有一个脚本可以连接到我的工艺服务器、接收数据包并发送数据包。

所以,我发送一个“登录”数据包,我收到一个“登录”数据包。不幸的是,收到的登录数据包被编码(有关编码的信息在这里:http ://wiki.vg/Protocol#0x01 )。

接收到的登录数据包存储在一个名为 的变量中received_login_packet。我需要对其进行解码,以便我可以获得单独的数据位,例如数据包类型,维度等......

我环顾四周,但我完全不知道如何去做。

如果有帮助,这里有一些代码:

任何帮助将不胜感激,如果不够清楚,请不要犹豫。

0 投票
2 回答
443 浏览

php - 即使我试图访问的服务器在线,fsockopen 也会返回错误?

我在下面使用 fsockopen:

现在,如果服务器启动与否,这应该返回 false 或 true。我知道这台服务器很稳定,但我仍然不断收到错误

0 投票
1 回答
1302 浏览

java - 更改 Minecraft 中的“SuperFlat”世界生成器

我开始使用 mcp 进行 minecraft 改装。

现在我想对超平坦世界生成器进行一些更改。只生成一层基岩和三层泥土的那一层。我想用这个生成器作为大房子等很棒的东西的基础。

但我找不到合适的班级。哪个类负责“超扁平”生成器?

/////////////////////// 编辑:

找到了!

它被称为ChunkProviderFlat.java

0 投票
2 回答
632 浏览

java - MySQL Query 获取球体中的行(X、Y、Z 坐标)?

我正在为名为 Minecraft 的游戏制作一个插件Bukkit API

我有一个Reinforcements使用以下字段调用的数据库表:x integer, y integer, z integer. 加固块是受保护的块,这意味着它不能被破坏。

我正在使用EntityExplodeEvent来检查 TNT 爆炸。

我遍历event.blocklist()并将每个块与 Reinforcements 表中的条目进行比较。如果存在,则使用 防止在爆炸中损坏加固块event.blocklist().remove

我可以通过获取每个坐标 (x,y,z) 的最小和最大,然后检查这两个数字之间的数据库行来做到这一点。问题在于它是一个立方体。我应该检查一个球体。我该怎么做呢?

这是我到目前为止所得到的,请注意:我知道这并不是 select 语句的问题,因为我可以将返回的行与之进行比较,event.blocklist()但是当我进行更新时,我需要知道如何执行此操作稍后声明。

我需要知道如何检查球体中的行的原因是因为最终我将在 Reinforcements 表中添加一个额外的字段,称为'durability integer'该字段将在每次爆炸后递减。由于爆炸是一个球体,更新查询应该只更新该球体中的行,而不是一个立方体。

任何人?谢谢

当前 MySQL 查询

完整代码

0 投票
3 回答
4714 浏览

directx - 在 Minecraft 风格的地形中处理块 (d3d/c++)

在由数千个立方体(即 Minecraft)组成的 3d 地形中,在位置和渲染方面处理每个块的方法是什么?更具体地说,我知道在 DirectX 9 中绘制一个立方体的基元并对其进行世界变换可能是一种荒谬的方式来实现这一点,因为存在很多性能问题,所以我想知道更合理的方法是什么。

每个立方体应该是一个多次复制的网格,还是它们是一种从顶点缓冲区中的数据创建适当网格的方法?

我发现这篇文章介绍了实现我想要实现的东西背后的一些理论,但我以前从未使用过八叉树,所以我无法从源代码中获取太多内容。如果八叉树确实是要走的路,那么学习它们的好起点在哪里?我的大部分谷歌搜索只找到了关于理论的博客文章,很少或没有实现示例。

似乎使用体素在这样做时会很有用,但就像使用八叉树一样,我在这里没有经验,所以我真的不知道首先要学习什么。

无论如何,感谢您提供的任何建议\资源\书名。我确信这很明显,但我对 3d 编程还是很陌生,所以我很感谢你的帮助。

0 投票
1 回答
722 浏览

java - Java Http POST 没有按预期工作?

我试图将一些数据发送到带有一些帖子数据的 url。我尝试了以下代码:-

然而,它似乎没有将其发布到服务器。所有服务器端代码都在工作,因为它允许来自另一个页面但不允许来自这个 java 代码的发布请求......

有任何想法吗?

0 投票
1 回答
1440 浏览

java - 如何在 3D 世界中创建块?

我正在研究基于体素的游戏引擎,其中我需要有块。我试图从 minecraft 中阅读 Chunk 类,但我无法理解。我的意思是块:16x16x256 块数组

所以我的问题是:块如何工作以及它如何存储数据?

0 投票
0 回答
276 浏览

java - 我应该如何解决这个涉及未报告的 LWJGLException 的错误?

我正在尝试使用 MCP62 修改我的我的世界,但是当我尝试重新编译它时,我收到了一些错误消息。我回去修好了,除了一个,我被这个难住了。它说尝试创建一个新的 AWTGLCanvas 会创建一个未报告的异常

这是编译器错误消息:

这是它发生的代码:

非常感谢您的帮助。:)

注意:在原始 bin 文件夹中,有两个名为 lwjgl.jar 和 lwjgl_util.jar 的 jar 文件以及我反编译的文件 minecraft.jar。这只是我把东西扔在那里,但你认为它们可能包含稍微改变版本的 lwjgl 类吗?