用于构建minecraft数据包的高级、自以为是的python框架
endermite的Python项目详细描述
恩德尔米特
A high-level, opinionated python framework for building Minecraft data packs.
这是一项正在进行的巨大工作
简介
Minecraft data packs通过编写一些json和一些函数,任何人都可以自定义游戏。底层格式简单明了,易于解析,但它并不是根据特定的开发人员经验创建的。当你坐在你的文本编辑器前,很难弄清楚你应该如何利用可用的功能来做你想做的事情。
endermite是一个python框架,它通过抽象层组合和公开数据包特性。它旨在通过提供基于组件的方法,使开发、封装和组合行为变得更容易。
fromendermiteimportComponentfromendermite.decoratorsimportpublic,tickclassHello(Component):"""Output `Hello, world!` each tick when attached to an entity."""@tick@publicdefsay_hello(self):self.say('Hello, world!')
组件是可以附加到实体的状态和行为的耦合部分。它们在概念上类似于使用MonoBehaviour
脚本(如果您使用过unity游戏引擎)。
安装
确保您使用的是Python3.7或更高版本。可以使用pip
安装endermite。
$ pip install endermite
通过尝试使用包附带的命令行界面,可以检查Endermite是否已正确安装。
$ ender --version
开始
开始使用endermite的最简单方法是熟悉命令行工作流。您可以在不使用endermite的情况下使用它,但是ender
cli通常会让您更加高效。
$ ender --help Usage: ender [OPTIONS] COMMAND [ARGS]... Command-line utility to manage endermite projects. Options: --version Show the version and exit. --help Show this message and exit. Commands: build Build all the projects of the current world. init Create a new endermite project.
创建新项目
cli允许您通过运行init
命令在minecraft world文件夹中创建endermite项目。请注意,您可以在同一个世界中创建任意多个Endermite项目。
$ ender init endermite vX.X.X Creating endermite project. Project name [testing_endermite]: tutorial Project description [An endermite project]: Project author [N/A]: Project version [0.1.0]: About to create .../.minecraft/saves/testing_endermite/@endermite/tutorial. Is this ok? [Y/n]: Done!
由ender
cli创建的项目只是一个python包,它导出一个endermiteProject
对象。
建立您的Endermite项目
您可以使用build
命令来构建您在特定minecraft世界中创建的所有项目。该命令将在datapacks
目录中输出相应的数据包。
$ ender build endermite vX.X.X Building endermite projects. Attempting to build "tutorial"... Done! (took X.XXXs)
使用--watch
选项运行build
命令将在修改@endermite
目录时重新生成项目。它让您忘记了必须手动运行build
命令。
$ ender build --watch endermite vX.X.X Building endermite projects. Watching directory .../.minecraft/saves/testing_endermite/@endermite. HH:MM:SS X changes detected Attempting to build "tutorial"... Done! (took X.XXXs)
记住,您仍然需要在游戏中运行/reload
。
贡献
欢迎捐款。确保安装了Python3.7或更新版本,并在项目目录中创建一个虚拟环境。
$ python -m venv env
这将在env
目录中创建一个虚拟环境。如果您不熟悉虚拟环境,请查看official documentation。现在可以激活虚拟环境。
# Windows $ env\Scripts\activate.bat # Unix or MacOS $ source env/bin/activate
记住每次你在项目中工作时都要激活虚拟环境!让我们安装endermite
包的依赖项和必要的开发依赖项。
(env) $ pip install -U -r requirements.txt -r requirements.dev.txt
现在您应该能够对源代码进行lint操作,并使用tox
运行测试。
(env) $ tox
该项目依赖于^{
许可证-MIT