A code library to marshal, unmarshal, visual and reverse visualization of BDX files
Project description
BDX Converter
一个免费开源的 BDX 文件解析器
目录
BDX Converter
BDX Converter
是一个轻量化的纯Python实现,它提供了基本的 BDX
解析、反解析、JSON
可视化和反可视化功能。
快速上手
您可以利用 BDXConverter/Converter/Converter.py
中已提供的 4
个函数来完成 BDX
文件和 JSON
文件的相关操作。
🐍 Pypi Packages
我们已将此存储库以 BDXConverter
的名字上载到 Pypi
,您可以通过 pip install BDXConverter
快速安装。
访问 📦 BDXConverter on Pypi 以了解有关此库的更多信息。
我们配置了自动化 CD/CI 工作流
,因此如果您是本项目的 协作者
,您可以通过更改 version
文件或通过手动触发的方式启动工作流,它会自动编译本项目并将将其上载到 Pypi
中。
[注:我们建议您在 Python 3.10
及以上的版本使用本项目,3.7
及以下的版本已不再受到 Python
的维护和更新]
第三方依赖
本项目使用了 brotli
和 nbtlib
总计 2
个第三方库,您可以通过在 终端
逐一地执行以下命令以安装它们。
pip install brotli
pip install nbtlib
特性
您可以从 BDXConverter/General/Pool.py
查看本项目已支持的全部 BDX
操作符。
实际上,我们将每一个操作符都转换为了 Python
下已被实例化的类,并且每个类都有以下属性。
class GeneralClass:
"""
Any Operation eration of the BDX file will inherit this class
"""
def __init__(self) -> None:
self.operationNumber: int
self.operationName: str
def Marshal(self, writer: BytesIO) -> None:
"""
Marshal GeneralClass into the writer
"""
...
def UnMarshal(self, buffer: BytesIO) -> None:
"""
Unmarshal the buffer(io object) into GeneralClass
"""
...
def Loads(self, jsonDict: dict) -> None:
"""
Convert jsonDict:dict into GeneralClass
"""
...
def Dumps(self) -> dict:
"""
Convert GeneralClass into basic dictionary
"""
return self.__dict__
因此,通过 Marshal
和 UnMarshal
函数,BDX Converter
可以自由的将 二进制数据
转换为 Python Class
,亦或转换回去。
而 Loads
和 Dumps
分别支持了把只带有基本数据类型的字典转换为 Python Class
亦或转换回去的功能。
目前 BDX Converter
支持了所有的操作符(不含签名功能),包括但不限于 Operation 5, Operation 13, Operation 40
和 Operation 41
。
什么是 BDX
文件
PhoenixBuilder
是一个用于 网易我的世界中国版 · 基岩版租赁服
的商业化快速建造器,而 BDX
文件则是此建造器用于存储 Minecraft
建筑结构的 私有文件格式
。
如果您希望解析 BDX
文件,敬请参阅 bdump-cn.md
。
关于 PhoenixBuilder
- 您可以通过此链接访问
PhoenixBuilder
的存储库 - 您可以通过下述链接访问
PhoenixBuilder
的相关网站
待办列表
-
API
文档 - 支持与
签名
有关的功能 - 可以将得到的
Python Class
进一步解析为建筑结构 - 可以自由地转换
BDX
和其他建筑文件格式
其他
本项目依照 MIT LICENSE
许可证进行许可和授权。
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for BDXConverter-1.0.13-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a52db3f68faed9d84fbfa234e5d60272118a1d9343c7226647c27443d3425a60 |
|
MD5 | 0b0aef3b693c62978657528eb659d90e |
|
BLAKE2b-256 | e48d184539c273a23699644236e9234edb1ad821dd5bb88a3a23e5194d07a73e |