624 字
3 分钟
一个基于mcpi的mc玩家追踪程序
📅 本文发布于 2025/1/4(635 天前) 内容可能已过时,建议结合最新信息阅读。

mcpi#

最近想把python和mc结合起来

python + minecraft = ???

通过询问AI我得到了一个叫”mcpi”的库

mcpi github

安装方法#

Windows#

pip3 install mcpi

Linux / MacOS#

sudo pip3 install mcpi

开服工具#

我是使用mc服务器的所以需要服务器 这里选用MSL作为开服工具

{% note info %} MSL官方网站 MSL GitHub {% endnote %}

开服#

选择最新版本的游戏,使用插件服。

开服后打开

Server\plugins

放入插件 raspberryjuice-1.9.jar

{% note danger %} raspberryjuice项目目前已停止维护! {% endnote %}

开服成功了awa

我的项目 MC-Player-Tracker#

{% note danger %} 本项目使用AIGC {% endnote %}

示例#

在游戏中记录坐标,然后以图表的形式展现:

示例

将光标置于记录点上,还有详细信息

示2

依赖#

一共有2个文件,是 plot_footprint.py 和 record.py

确保Python版本为3.x.x

确保已经安装了MCPI 和 plotly 库

确保两个文件在同一目录下

确保在record.py中正确输入了服务器IP地址和端口号

部署#

1.下载文件MC-Player-Tracker

2.进入record.py修改IP和端口号如服务器在本地不用修改使用170.0.0.1,端口号在服务器开服时插件会有提醒默认为4711

3.修改其他数值,找到def main 修改time.sleep(1)来改变记录间隔时长

使用教程#

1.打开游戏连接至服务器,运行record.py

2.进入游戏,在聊天栏输入record start开始记录

3.记录完毕输入record stop停止记录

4.现在,足迹已经记录到了player_footprints.txt,运行plot_footprint.py等待生成完毕,自动打开浏览器预览图表

MCPI使用方法#

以下是我让AI整理的调用方法

1.连接到 Minecraft:#

from mcpi.minecraft import Minecraft
mc = Minecraft.create()

2.获取玩家位置:#

playerPos = mc.player.getTilePos()
print("Player position:", playerPos.x, playerPos.y, playerPos.z)

3.在特定位置放置方块:#

mc.setBlock(playerPos.x, playerPos.y + 1, playerPos.z, 4)# 4 是石头的方块ID

4.在玩家位置放置方块:#

mc.setBlock(playerPos.x, playerPos.y, playerPos.z, 57) # 57 是钻石块的方块ID

5.发送聊天消息:#

mc.postToChat("Hello, Minecraft World!")

6.获取世界高度:#

height = mc.getHeight(0, 0)

7.获取玩家实体ID:#

entityId = mc.getPlayerEntityId("martinohanlon")

8.保存检查点:#

mc.saveCheckpoint()

9.恢复检查点:#

mc.restoreCheckpoint()

10.设置世界设置:#

mc.setting("world_immutable", True) # 开启世界不可更改

11.获取玩家位置(浮点数):#

playerPos = mc.player.getPos()

12.设置方块:#

mc.setBlock(0, 0, 0, block.DIRT.id)

13.设置长方体区域的方块:#

mc.setBlocks(-1, -1, -1, 1, 1, 1, block.STONE.id)

14.获取方块类型:#

blockType = mc.getBlock(0, 0, 0)

15.获取方块数据:#

blockData = mc.getBlockWithData(0, 0, 0)

—THE END—

支持我#

一个基于mcpi的mc玩家追踪程序
https://bg4jts.cn/posts/mcpi/
作者
BG4JTS
发布于
2025-01-04
许可协议
CC BY-NC-SA 4.0