用python3在MineCraft中肆意创造——运行环境搭建教程
我的世界这款游戏也是很有一定年龄了,不过我也一直没太想玩,突然了解到MC好像可以自己编程控制,这一下就让我的脑子天马行空了起来,来吧python!
由于14.4版本是现在非常好用的一个版本,我就直接选用这个版本了
本文所讲切实可行,但不是唯一的搭建方法,我初也是次接触这游戏,总结下来帮助后面的同学们排坑
参考了很多官网和论坛的资料,如有侵权,望请通告,立即删改
首先你需要有语言的运行环境
- 启动器和服务器需要的JAVA JRE
- 用python3当然得有的python3运行环境(3.7以上都行)
然后是需要有的软件包
- 游戏包:我的世界1.14.4
- 游戏启动器:HMCL 3.2.130
- 服务器:Spigot 1.14.4
- 服务器上的python3接口插件:JuicyRaspberryPie-1.14.4
进入正题,开始操作
1. 先有个可以运行的游戏本体
下载上面提到的游戏包和启动器,一些启动器比如这里用到的内置有游戏包的安装,剩下不少事,所以,这一步简单,去下载HMCL启动器,然后再里面安装游戏包,下图是启动器界面
安装完了,启动游戏
好了,如果可以进入游戏开始界面,那么这一步已经可以了。
如果失败,看看你和后面意外错误1是不是一样
2. 然后有个可以自己控制的服务器
这一步就是把Spigot下载下来然后运行起来就行(要改的文件第四步一起)
关于Spigot,想了解的同学可以到官网的Wiki页面,有很详细的介绍及用法,有能力和时间的这一步按照官网的指导可以稳妥的完成。
想简单方便的直接来下载官方提供的安装工具吧
下载完,找个地方,用java运行它
java -jar BuildTools.jar
注:这个工具会下载完整的软件包,需要些时间,其中会用到Git,没有的同学可以提前下载一个,也可以不管,检测到没有Git它会安装一个轻便版的Git来用。
运行完了文件夹里会就会出现我们的目标了:spigot-1.14.4.jar
虽然还没任何设置,但服务器可以运行了了,也需要进行第一次的运行来创建一些还没出现的目录,那么,运行它
java -Xms512M -Xmx512M -XX:+UseConcMarkSweepGC -jar spigot-1.14.4.jar
运行完会看到目录中有个plugins文件夹,然后先关掉服务器(命令行中输入stop),进入下一步
3. 使你的服务器具有python编程接口
这一步就是到GitHub下载一个服务器插件,使你可以用python3编程,地址:
https://github.com/wensheng/JuicyRaspberryPie/releases
选第一个下载就好,下载位置直接放到刚刚说的plugins文件夹里。
放进去还没完,需要让服务器先读取一下,以生成配置文件,所以,再次运行服务器
运行会在piugins里生成一个文件夹
进入下一步
4. 必须的文件配置更改
前面只是将需要的东西都下载完了,想要能够用python去游戏里浪,还需要了解几个文件,并作出几个必要更改
- server.properties,在这里更改服务器设置,官网对所有参数都有详细说明https://minecraft-zh.gamepedia.com/Server.properties
运行python必须更改的就1处,如图:
- config.yml(在\plugins\JuicyRaspberryPie里)
必须更改: 将start_cmdsvr的值改为true,pyexe后改为你的python3路径,如图:
- spigot.yml 服务器的其他参数配置,非必须,需要更改的同样官网有详细介绍:https://www.spigotmc.org/wiki/spigot-configuration/
5. OK,测试一下
老方法启动服务器,然后启动游戏,进去后选择多人游戏,然后像下面这样选择你的服务器:
如果没有出现服务器,看看意外错误2
进入服务器后,输入“/p list“查看可用的python函数
如果正常,会有像下面这样的输出,你的python接口也已经搭好了:
如果不行,看意外错误3
6. python代码编写
这个找到位置就行了,找到这里plugins\JuicyRaspberryPie\pplugins,里面有个example,看了就明白了,可以直接在里面写,添加@mcpy或者函数描述用_mcpy开头,你的函数就可以被注册到MC的/p命令中了
给几个我的小样
安装过程中可能会遇到的几个错误
意外错误1:启动游戏时出现类似java.lang.outof memory error这样的内存问题
参考解决:确认你下载的Java版本是符合你电脑系统的,现在大多数是64位的但java的下载页面默认匹配的下载器是32位的,导致不能设置大的运行内存
意外错误2:无法搜索到自己的服务器
-
参考解决:使用添加服务器或直接链接
意外错误3:无法使用python命令
参考解决:python接口服务启动失败,到plugins\JuicyRaspberryPie里用命令行手动启动
python cmdsvr/pycmdsvr.py
互相交流,一起玩耍
1、正在学习的同学们有不懂的地方或者什么相关的你觉得我能帮到你的都可以留言或者私聊我
2、我这里有个问题想请教下更熟悉这个的大佬:setblock命令怎样设置物品属性的形式,比如音乐盒的音调?官网只有形式没有实例,希望又看到的大佬能教一下,感谢。