mirror of
https://github.com/Xiao-MoMi/craft-engine.git
synced 2025-12-19 15:09:15 +00:00
0.0.56
This commit is contained in:
77
README.md
77
README.md
@@ -17,17 +17,10 @@
|
||||
</a>
|
||||
</p>
|
||||
|
||||
<p align="center">
|
||||
<a target="_blank" href="/README.md">English</a> |
|
||||
<a target="_blank" href="/readme/README_zh-CN.md">简体中文</a> |
|
||||
<a target="_blank" href="/readme/README_zh-TW.md">繁體中文</a>
|
||||
</p>
|
||||
|
||||
## 📌 About CraftEngine
|
||||
CraftEngine redefines plugin architecture as a next-generation solution for custom content implementation. Its JVM-level injection delivers unprecedented performance, stability, and extensibility. The framework provides a code-first API for registering natively integrated block behaviors and item interaction logic.
|
||||
CraftEngine works as a next-generation solution for custom content implementation.
|
||||
|
||||
## Build
|
||||
Getting the full jar is completely free, as long as you have a device with jdk21 installed. Follow the guide below to build it.
|
||||
|
||||
### 🐚 Command Line
|
||||
+ Start terminal and change directory to the project folder.
|
||||
@@ -37,69 +30,6 @@ Getting the full jar is completely free, as long as you have a device with jdk21
|
||||
+ Import the project and execute gradle build action.
|
||||
+ Get the artifact under /target folder.
|
||||
|
||||
## Installation
|
||||
|
||||
### 💻 Enviroment Requirements
|
||||
+ First, ensure that you are running a [Paper](https://papermc.io/)/[Folia](https://github.com/PaperMC/Folia) (or its fork) 1.20.1+ server. The plugin does not support Spigot and is unlikely to do so in the future.
|
||||
+ Secondly, please use JDK 21 to run the server. I believe this is quite straightforward for you.
|
||||
|
||||
### 🔍 How to Install
|
||||
CraftEngine offers two installation modes: Standard Installation and Mod Mode. As the name suggests, Standard Installation involves placing the plugin into your plugins folder just like any conventional plugin. Below, we will provide a detailed explanation on how to install using mod mode.
|
||||
|
||||
### 🔧 Install Server Mod
|
||||
- Download the latest [ignite.jar](https://github.com/vectrix-space/ignite/releases) into your server's root directory
|
||||
- Either:
|
||||
- Rename your server JAR to `paper.jar` and modify startup command to: `-jar ignite.jar`
|
||||
- Or:
|
||||
- Use advanced launch arguments
|
||||
- For paper/folia: `-Dignite.locator=paper -Dignite.paper.jar=./server-xxx.jar -jar ignite.jar`
|
||||
- For some special paper forks `-Dignite.locator=paper -Dignite.paper.target=cn.dreeam.leaper.QuantumLeaper -Dignite.paper.jar=./leaf-xxx.jar -jar ignite.jar`
|
||||
- Start the server to generate the `/mods` directory
|
||||
- Place the latest [mod.jar](https://github.com/Xiao-MoMi/craft-engine/releases) in `/mods`
|
||||
- Install the plugin by placing its JAR in `/plugins`
|
||||
- Perform two restarts:
|
||||
1. Initial restart for file initialization
|
||||
2. Final restart to activate all components
|
||||
|
||||
## Technical Overview
|
||||
|
||||
### ⚙️ Blocks
|
||||
The plugin employs runtime bytecode generation to register custom blocks at the server-native level, combined with client-side data packet modification for visual synchronization. This architecture provides:
|
||||
|
||||
🧱 Native Block Customization
|
||||
+ Dynamically register blocks with complete control over
|
||||
+ Physics: hardness, flammability, light emission, etc.
|
||||
+ Custom Behaviors: Tree saplings, crops, falling blocks, and more via API
|
||||
+ Vanilla Compatibility: Full preservation of vanilla block mechanism (e.g., note blocks, tripwires)
|
||||
|
||||
📦 Data Pack Integration
|
||||
+ Define custom ore veins
|
||||
+ Generate custom trees
|
||||
+ Configure custom terrain generation
|
||||
|
||||
⚡ Performance Advantages
|
||||
+ Significantly faster and stabler than traditional Bukkit event listeners
|
||||
+ Strategic code injection for minimal overhead
|
||||
|
||||
### 🥘 Recipes
|
||||
CraftEngine implements a fully customizable crafting system via low-level injection. Unlike conventional plugins that fail with NBT modifications, it ensures resilient handling of item metadata - recipe outcomes remain exclusively tied to unique item identifiers.
|
||||
|
||||
### 🪑 Furniture
|
||||
The plugin utilizes a core entity to store furniture metadata, while transmitting collision entities and modular components as client-bound packets. This architecture achieves significant server-side performance optimization, while supporting composite furniture assembly through multi-part item integration.
|
||||
|
||||
### 📝 Templates
|
||||
Given the extensive and intricate nature of plugin configurations, a modular template system is implemented to compartmentalize critical settings. This enables user-customizable configuration formats while significantly minimizing redundant YAML definitions.
|
||||
|
||||
### 🛠️ Models
|
||||
The plugin enables model inheritance and texture overrides through configuration, while supporting [all item models](https://misode.github.io/assets/item/) from version 1.21.4 onward. It incorporates a version migration system that automatically downgrades 1.21.4+ item models to legacy formats with maximum backward compatibility.
|
||||
|
||||
### Breaking Changes You Have to Know & Possible Incompatibility with Other Plugins
|
||||
- CraftEngine injects into PalettedContainer to ensure efficient storage and synchronization of plugin block data. This may cause conflicts with some other plugins that modify the palette. When analyzing server performance using Spark, palette operation overhead will be attributed to the CraftEngine plugin in the profiling results.
|
||||
- CraftEngine injects into FurnaceBlockEntity to modify its recipe fetching logic.
|
||||
- CraftEngine uses real server-side blocks, any plugin relying on Bukkit's Material class will fail to correctly identify custom block types. The proper approach is to use alternatives like BlockState#getBlock (mojmap) instead of the Material class.
|
||||
- CraftEngine implements 0-tick collision entities by extending certain Minecraft entities, ensuring hard collision works correctly on the server side (e.g., making a pig stand on a chair). However, some anti-cheat plugins do not check entity AABB (Axis-Aligned Bounding Box) properly when detecting player movement, which may lead to false flags.
|
||||
- CraftEngine's custom recipe handling may not be fully compatible with other recipe-managing plugins.
|
||||
|
||||
## Inspired Projects
|
||||
This project draws inspiration and refers to some implementations from the following open-source works:
|
||||
+ [Paper](https://github.com/PaperMC/Paper)
|
||||
@@ -111,7 +41,6 @@ This project draws inspiration and refers to some implementations from the follo
|
||||
|
||||
### Core Dependencies
|
||||
The implementation relies on these fundamental libraries:
|
||||
+ [ignite](https://github.com/vectrix-space/ignite)
|
||||
+ [cloud-minecraft](https://github.com/Incendo/cloud-minecraft)
|
||||
+ [rtag](https://github.com/saicone/rtag)
|
||||
+ [adventure](https://github.com/KyoriPowered/adventure)
|
||||
@@ -150,7 +79,7 @@ repositories {
|
||||
```
|
||||
```kotlin
|
||||
dependencies {
|
||||
compileOnly("net.momirealms:craft-engine-core:0.0.55")
|
||||
compileOnly("net.momirealms:craft-engine-bukkit:0.0.55")
|
||||
compileOnly("net.momirealms:craft-engine-core:0.0.56")
|
||||
compileOnly("net.momirealms:craft-engine-bukkit:0.0.56")
|
||||
}
|
||||
```
|
||||
@@ -51,7 +51,7 @@ byte_buddy_version=1.17.5
|
||||
ahocorasick_version=0.6.3
|
||||
snake_yaml_version=2.4
|
||||
anti_grief_version=0.17
|
||||
nms_helper_version=0.66.11
|
||||
nms_helper_version=0.66.12
|
||||
evalex_version=3.5.0
|
||||
reactive_streams_version=1.0.4
|
||||
amazon_awssdk_version=2.31.23
|
||||
|
||||
@@ -1,159 +0,0 @@
|
||||
<h1 align="center">
|
||||
<div style="text-align:center">
|
||||
<img src="https://github.com/user-attachments/assets/4e679094-303b-481d-859d-073efc61037c" alt="logo" style="width:100px; height:auto;">
|
||||
</div>
|
||||
CraftEngine
|
||||
</h1>
|
||||
|
||||
<p align="center">
|
||||
<a href="https://momi.gtemc.cn/craftengine" alt="GitBook">
|
||||
<img src="https://img.shields.io/badge/%E6%96%87%E6%A1%A3-%E7%94%A8%E6%88%B7%E6%89%8B%E5%86%8C-D2691E" alt="Gitbook"/>
|
||||
</a>
|
||||
<a href="https://deepwiki.com/Xiao-MoMi/craft-engine">
|
||||
<img src="https://deepwiki.com/badge.svg" alt="询问DeepWiki">
|
||||
</a>
|
||||
<a href="https://github.com/Xiao-MoMi/craft-engine/">
|
||||
<img src="https://sloc.xyz/github/Xiao-MoMi/craft-engine/?category=codes" alt="SCC数量标识"/>
|
||||
</a>
|
||||
</p>
|
||||
|
||||
<p align="center">
|
||||
<a target="_blank" href="/README.md">English</a> |
|
||||
<a target="_blank" href="/readme/README_zh-CN.md">简体中文</a> |
|
||||
<a target="_blank" href="/readme/README_zh-TW.md">繁體中文</a>
|
||||
</p>
|
||||
|
||||
## 📌 关于 CraftEngine
|
||||
|
||||
CraftEngine 重新定义了 Minecraft 插件架构,作为下一代自定义内容实现的解决方案。通过 JVM 级别的注入,它提供了前所未有的性能、稳定性和可扩展性。该框架提供了一个代码优先的 API,用于注册原生集成的方块行为和物品交互逻辑。
|
||||
|
||||
## 构建
|
||||
只要您安装了 JDK21,即可免费获取完整版 JAR。请按照以下指南进行构建。
|
||||
|
||||
### 🐚 命令行
|
||||
+ 打开终端并切换到项目文件夹。
|
||||
+ 执行 `./gradlew build`,构建产物将生成在 `/target` 文件夹中。
|
||||
|
||||
### 💻 IDE
|
||||
+ 导入项目并执行 Gradle 构建操作。
|
||||
+ 构建产物将生成在 `/target` 文件夹中。
|
||||
|
||||
## 安装
|
||||
|
||||
### 💻 环境要求
|
||||
+ 确保您正在运行 [Paper](https://papermc.io/)(或其分支)1.20.1+ 服务器。CraftEngine 不支持 Spigot,且未来也不太可能支持。
|
||||
+ 使用 JDK 21 来运行服务器。我相信这对你来说很简单。
|
||||
|
||||
### 🔍 安装方式
|
||||
CraftEngine 提供了两种安装模式:标准安装和 Mod 模式。标准安装与传统插件安装方式相同,即将插件放入插件文件夹中。下面我们将详细介绍 Mod 模式的安装步骤。
|
||||
|
||||
### 🔧 安装服务端模组
|
||||
- 下载最新的 [ignite.jar](https://github.com/vectrix-space/ignite/releases) 到服务器根目录
|
||||
- 可以:
|
||||
- 将服务器 JAR 重命名为 `paper.jar` 并修改启动命令为: `-jar ignite.jar`
|
||||
- 或者:
|
||||
- 使用高级启动参数
|
||||
- 对于 paper 或 folia: `-Dignite.locator=paper -Dignite.paper.jar=./server-xxx.jar -jar ignite.jar`
|
||||
- 对于特殊 Paper 分支 `-Dignite.locator=paper -Dignite.paper.target=cn.dreeam.leaper.QuantumLeaper -Dignite.paper.jar=./leaf-xxx.jar -jar ignite.jar`
|
||||
- 启动服务器生成 `/mods` 目录
|
||||
- 将最新的 [mod.jar](https://github.com/Xiao-MoMi/craft-engine/releases) 放入 `/mods` 目录
|
||||
- 将插件 JAR 放入 `/plugins` 目录
|
||||
- 最后执行两次重启:
|
||||
1. 首次重启以进行文件初始化
|
||||
2. 最后重启以激活所有组件
|
||||
|
||||
## 技术概述
|
||||
|
||||
### ⚙️ 方块
|
||||
CraftEngine 使用运行时字节码生成技术,在服务器原生级别注册自定义方块,并结合客户端数据包修改以实现视觉同步。此架构提供了以下功能:
|
||||
|
||||
🧱 自定义原生方块
|
||||
+ 动态注册方块,完全可控。
|
||||
+ 物理属性:硬度、引燃几率、亮度等所有标准属性。
|
||||
+ 自定义行为:通过 API 实现树苗、作物、下落的方块等。
|
||||
+ 原版兼容性:完全保留原版方块机制(例如音符盒、绊线)。
|
||||
|
||||
📦 数据包集成
|
||||
+ 定义自定义矿脉。
|
||||
+ 生成自定义树木。
|
||||
+ 配置自定义地形生成。
|
||||
|
||||
⚡ 性能优势
|
||||
+ 比传统的 Bukkit 事件监听器更快、更稳定。
|
||||
+ 策略性代码注入以最小化开销。
|
||||
|
||||
### 🥘 配方
|
||||
CraftEngine 通过底层注入实现完全可定制的合成系统。与传统插件不同,它在处理 NBT 修改时不会失效,确保配方结果仅与唯一的物品标识符绑定。
|
||||
|
||||
### 🪑 家具
|
||||
该插件使用核心实体来存储家具元数据,同时将碰撞实体和模块组件作为客户端数据包传输。此架构实现了显著的服务器端性能优化,同时支持通过多部分物品集成实现复合家具组装。
|
||||
|
||||
### 📝 模板
|
||||
鉴于插件配置的广泛性和复杂性,CraftEngine 实现了模块化模板系统以分隔关键设置。这使得用户可以自定义配置格式,同时显著减少冗余的 YAML 定义。
|
||||
|
||||
### 🛠️ 模型
|
||||
该插件通过配置实现模型继承和纹理覆盖,同时支持从 1.21.4 版本开始的[所有物品模型](https://misode.github.io/assets/item/)。它包含一个版本迁移系统,可以自动将 1.21.4+ 的物品模型降级为旧格式,以实现最大向后兼容性。
|
||||
|
||||
### 您必须了解的破坏性变更及可能与其他插件的不兼容性
|
||||
- CraftEngine 注入 PalettedContainer 以确保插件方块数据的高效存储和同步。这可能会导致与一些直接修改调色盘的插件冲突。当使用 Spark 分析服务器性能时,调色盘操作开销将在分析结果中划归给 CraftEngine 插件。
|
||||
- CraftEngine 注入 FurnaceBlockEntity 以修改其配方获取逻辑。
|
||||
- CraftEngine 使用真服务端侧方块,任何依赖 Bukkit 的 Material 类的插件都将无法正确识别自定义方块类型。正确的方法是使用替代方案,如 BlockState#getBlock (mojmap) 而不是 Material 类。**(译者注: 对于不想直接使用nms的项目可以使用org.bukkit.block.Block#getBlockData来正确获取方块)**
|
||||
- CraftEngine 通过继承某些 Minecraft 实体实现 0-tick 碰撞实体,确保硬碰撞在服务端侧正常工作(例如,让猪站在椅子上)。然而,一些反作弊插件在检测玩家移动时没有正确检查实体的 AABB(轴对齐包围盒),这可能导致误报。**(译者注: 还有可能是因为没有正确检查玩家接触的实体是否有硬碰撞箱导致的误报)**
|
||||
- CraftEngine 的自定义配方处理可能与其他配方管理插件不完全兼容。
|
||||
|
||||
## 灵感来源
|
||||
CraftEngine 从以下开源项目中汲取了灵感:
|
||||
+ [Paper](https://github.com/PaperMC/Paper)
|
||||
+ [LuckPerms](https://github.com/LuckPerms/LuckPerms)
|
||||
+ [Fabric](https://github.com/FabricMC/fabric)
|
||||
+ [packetevents](https://github.com/retrooper/packetevents)
|
||||
+ [DataFixerUpper](https://github.com/Mojang/DataFixerUpper)
|
||||
+ [ViaVersion](https://github.com/ViaVersion/ViaVersion)
|
||||
|
||||
### 核心依赖
|
||||
CraftEngine 的实现依赖于以下基础库:
|
||||
+ [ignite](https://github.com/vectrix-space/ignite)
|
||||
+ [cloud-minecraft](https://github.com/Incendo/cloud-minecraft)
|
||||
+ [rtag](https://github.com/saicone/rtag)
|
||||
+ [adventure](https://github.com/KyoriPowered/adventure)
|
||||
+ [byte-buddy](https://github.com/raphw/byte-buddy)
|
||||
|
||||
## 如何贡献
|
||||
|
||||
### 🔌 新功能与 Bug 修复
|
||||
如果您提交的 PR 是关于 Bug 修复的,它很可能会被合并。如果您想提交新功能,请提前在 [Discord](https://discord.com/invite/WVKdaUPR3S) 上联系我。
|
||||
您贡献的代码将遵循 GPLv3 许可证开源。如果您希望使用更宽松的许可证(例如 MIT),可以在文件顶部明确注明。
|
||||
|
||||
### 🌍 翻译
|
||||
1. 克隆此仓库。
|
||||
2. 在 `/common-files/src/main/resources/translations` 中创建一个新的语言文件。
|
||||
3. 完成后,提交 **pull request** 以供审核。我们感谢您的贡献!
|
||||
|
||||
## Differences Between Versions
|
||||
| 版本 | 官方支持 | 最大玩家数 | 开发版本 |
|
||||
|-----|------|-------|------|
|
||||
| 社区版 | ❌ 无 | 20 | ❌ 无 |
|
||||
| 付费版 | ✔️ 有 | 无限制 | ✔️ 有 |
|
||||
|
||||
### 💖 支持开发者
|
||||
如果您喜欢使用 CraftEngine,请考虑支持开发者!
|
||||
|
||||
- **Polymart**: [无]
|
||||
- **BuiltByBit**: [无]
|
||||
- **爱发电**: [通过爱发电支持](https://afdian.com/@xiaomomi/)
|
||||
|
||||
## CraftEngine API
|
||||
|
||||
```kotlin
|
||||
repositories {
|
||||
maven("https://repo.momirealms.net/releases/")
|
||||
// 如果你的网络环境受限可以尝试下面的存储库地址
|
||||
// maven("https://repo-momi.gtemc.cn/releases/")
|
||||
}
|
||||
```
|
||||
```kotlin
|
||||
dependencies {
|
||||
compileOnly("net.momirealms:craft-engine-core:0.0.55")
|
||||
compileOnly("net.momirealms:craft-engine-bukkit:0.0.55")
|
||||
}
|
||||
```
|
||||
@@ -1,139 +0,0 @@
|
||||
<h1 align="center">
|
||||
<div style="text-align:center">
|
||||
<img src="https://github.com/user-attachments/assets/4e679094-303b-481d-859d-073efc61037c" alt="logo" style="width:100px; height:auto;">
|
||||
</div>
|
||||
CraftEngine
|
||||
</h1>
|
||||
|
||||
<p align="center">
|
||||
<a href="https://momi.gtemc.cn/craftengine" alt="GitBook">
|
||||
<img src="https://img.shields.io/badge/%E6%96%87%E6%AA%94-%E7%94%A8%E6%88%B6%E6%89%8B%E5%86%8A-D2691E" alt="Gitbook"/>
|
||||
</a>
|
||||
<a href="https://github.com/Xiao-MoMi/craft-engine/">
|
||||
<img src="https://sloc.xyz/github/Xiao-MoMi/craft-engine/?category=codes" alt="SCC數量標識"/>
|
||||
</a>
|
||||
</p>
|
||||
|
||||
<p align="center">
|
||||
<a target="_blank" href="/README.md">English</a> |
|
||||
<a target="_blank" href="/readme/README_zh-CN.md">简体中文</a> |
|
||||
<a target="_blank" href="/readme/README_zh-TW.md">繁體中文</a>
|
||||
</p>
|
||||
|
||||
## 📌 關於 CraftEngine
|
||||
|
||||
CraftEngine 重新定義了 Minecraft 外掛程式架構,作為下一代自定義內容實現的解決方案。通過 JVM 級別的注入,它提供了前所未有的性能、穩定性和可擴充性。該框架提供了一個代碼優先的 API,用於註冊原生集成的方塊行為和物品交互邏輯。
|
||||
|
||||
## 構建
|
||||
|
||||
### 🐚 命令行
|
||||
1. 安裝 JDK 21。
|
||||
2. 開啟終端並切換到項目資料夾。
|
||||
3. 執行 './gradlew build',構建產物將生成在 '/target' 資料夾中。
|
||||
|
||||
### 💻 IDE 開發環境
|
||||
1. 匯入項目並執行 Gradle 構建作。
|
||||
2. 構建產物將生成在 '/target' 資料夾中。
|
||||
|
||||
## 安装
|
||||
|
||||
### 💻 環境要求
|
||||
1. 確保您正在運行 [Paper](https://papermc.io/)(或其分支)1.20.1+ 伺服器。CraftEngine 不支援 Spigot,且未來也不太可能支援。
|
||||
2. 使用 JDK 21 來運行伺服器。
|
||||
|
||||
### 🔍 安裝方式
|
||||
CraftEngine 提供了兩種安裝模式:標準安裝和 Mod 模式。標準安裝與傳統外掛程式安裝方式相同,即將外掛程式放入外掛程式資料夾中。下面我們將詳細介紹 Mod 模式的安裝步驟。
|
||||
|
||||
### 🔧 安裝伺服器 Mod
|
||||
1. 下載最新的 [ignite.jar](https://github.com/vectrix-space/ignite/releases)到您的伺服器根目錄。
|
||||
2. 选择以下任一操作:
|
||||
- 將您的伺服器 JAR 檔案重新命名為 `paper.jar`
|
||||
- 添加啟動參數:`-Dignite.locator=paper -Dignite.paper.jar=./paper-xxx.jar`
|
||||
- 示例:`java -Dignite.locator=paper -Dignite.paper.jar=./paper-1.21.4-164.jar -jar ignite.jar`
|
||||
3. 啟動伺服器以生成 '/mods' 目錄。
|
||||
4. 將最新的 [mod.jar](https://github.com/Xiao-MoMi/craft-engine/releases) 放入 '/mods' 資料夾。
|
||||
5. 將外掛程式的 JAR 檔案放入 '/plugins' 資料夾安裝。
|
||||
6. 執行兩次重啟:
|
||||
1. 第一次重啟用於檔案初始化。
|
||||
2. 第二次重啟以啟動所有元件。
|
||||
|
||||
## 技術概述
|
||||
|
||||
### ⚙️ 方塊
|
||||
CraftEngine 使用運行時位元組碼生成技術,在伺服器原生級別註冊自定義方塊,並結合客戶端數據包修改以實現視覺同步。此架構提供了以下功能:
|
||||
|
||||
🧱 自訂原生方塊
|
||||
- 動態註冊方塊,完全可控。
|
||||
- 物理屬性:硬度、引燃幾率、亮度等所有標準屬性。
|
||||
- 自定義行為:通過 API 實現樹苗、作物、下落的方塊等。
|
||||
- 原生相容性:完全保留原生方塊機制(例如音符盒、絆線)。
|
||||
|
||||
📦 數據包集成
|
||||
- 定義自定義礦脈。
|
||||
- 產生自定義樹木。
|
||||
- 配置自定義地形生成。
|
||||
|
||||
⚡ 性能優勢
|
||||
- 比傳統的 Bukkit 事件監聽器更快、更穩定。
|
||||
- 策略性代碼注入以最小化開銷。
|
||||
|
||||
### 🥘 配方
|
||||
CraftEngine 通過底層注入實現完全可定製的合成系統。與傳統外掛程式不同,它在處理 NBT 修改時不會失效,確保配方結果僅與唯一的物品標識符綁定。
|
||||
|
||||
### 🪑 傢俱
|
||||
該外掛程式使用核心實體來儲存傢俱元數據,同時將碰撞實體和模組元件作為用戶端數據包傳輸。此架構實現了顯著的伺服器端性能優化,同時支持通過多部分物品集成實現複合傢俱組裝。
|
||||
|
||||
### 📝 範本
|
||||
鑒於外掛程式配置的廣泛性和複雜性,CraftEngine 實現了模組化範本系統以分隔關鍵設置。這使得使用者可以自定義配置格式,同時顯著減少冗餘的 YAML 定義。
|
||||
|
||||
### 🛠️ 模型
|
||||
該外掛程式通過配置實現模型繼承和紋理覆蓋,同時支援從 1.21.4 版本開始的[所有物品模型](https://misode.github.io/assets/item/)。它包含一個版本遷移系統,可以自動將 1.21.4+ 的物品模型降級為舊格式,以實現最大向後相容性。
|
||||
|
||||
## 靈感來源
|
||||
CraftEngine 從以下開源專案中汲取了靈感:
|
||||
- [Paper](https://github.com/PaperMC/Paper)
|
||||
- [LuckPerms](https://github.com/LuckPerms/LuckPerms)
|
||||
- [Fabric](https://github.com/FabricMC/fabric)
|
||||
- [packetevents](https://github.com/retrooper/packetevents)
|
||||
- [NBT](https://github.com/Querz/NBT)
|
||||
- [DataFixerUpper](https://github.com/Mojang/DataFixerUpper)
|
||||
- [ViaVersion](https://github.com/ViaVersion/ViaVersion)
|
||||
|
||||
### 核心依賴
|
||||
CraftEngine 的實現依賴於以下基礎庫:
|
||||
- [ignite](https://github.com/vectrix-space/ignite)
|
||||
- [cloud-minecraft](https://github.com/Incendo/cloud-minecraft)
|
||||
- [rtag](https://github.com/saicone/rtag)
|
||||
- [adventure](https://github.com/KyoriPowered/adventure)
|
||||
- [byte-buddy](https://github.com/raphw/byte-buddy)
|
||||
|
||||
## 如何貢獻
|
||||
|
||||
### 🔌 新功能與 Bug 修復
|
||||
如果您提交的 PR 是關於 Bug 修復的,它很可能會被合併。如果您想提交新功能,請提前在 [Discord](https://discord.com/invite/WVKdaUPR3S) 上聯繫我。
|
||||
|
||||
### 🌍 翻譯
|
||||
1. 克隆此倉庫。
|
||||
2. 在 '/common-files/src/main/resources/translations' 中創建一個新的語言檔。
|
||||
3. 完成後,提交 **pull request** 以供審核。我們感謝您的貢獻!
|
||||
|
||||
### 💖 支持開發者
|
||||
如果您喜欢使用 CraftEngine,请考虑支持开发者!
|
||||
|
||||
- **Polymart**: [无]
|
||||
- **BuiltByBit**: [无]
|
||||
- **愛發電**: [通過愛發電支援](https://afdian.com/@xiaomomi/)
|
||||
|
||||
## CraftEngine API
|
||||
|
||||
```kotlin
|
||||
repositories {
|
||||
maven("https://repo.momirealms.net/releases/")
|
||||
}
|
||||
```
|
||||
```kotlin
|
||||
dependencies {
|
||||
compileOnly("net.momirealms:craft-engine-core:0.0.55")
|
||||
compileOnly("net.momirealms:craft-engine-bukkit:0.0.55")
|
||||
}
|
||||
```
|
||||
Reference in New Issue
Block a user