服务器使用量
未统计
服务玩家数
未统计
下载量
5,585
插件详细介绍
本文档面向插件开发者,旨在介绍 IF - Inventory Framework 这一轻量而强大的 GUI 框架。它通过面板化设计、XML 支持等特性,帮助开发者更轻松地创建和管理 Minecraft 图形用户界面。
重要说明
- 此资源仅面向开发者,服务器所有者无需关注。
- 已测试的 Minecraft 版本:资源页面会列出经过测试支持的版本。它可能也适用于其他版本,但未经测试,且不保证未来兼容性。
框架简介
IF - Inventory Framework 是一个轻量级但功能强大的 GUI 框架,旨在让您更轻松地创建、修改和管理 GUI。以下是它的一些突出特点:
核心特性
- 基于面板:IF 完全依赖于面板的使用,允许您将 GUI 分割为更小的部分。这些部分可以独立更改,而不会影响 GUI 的其他部分。
- XML 读取:IF 可以读取 XML 文件并从中创建完整的 GUI。无需再编写冗长的方法来创建 GUI,直接从 XML 文件加载即可。(XML 是完全可选的,如果您不想使用,可以忽略此功能。)
- 可扩展性:您可以创建具有自定义功能的面板,使其完全按照您期望的方式工作,而无需从头开始重新设计一个新的 GUI 框架。
- 无需事件处理器:无需创建监听器、监听事件并使用大量 if 语句来确定点击了哪个物品。IF 将为您处理这一切,让您可以专注于插件开发。
- 旋转功能:可以轻松地对面板应用线性的二维旋转,以不同方式旋转您的面板。
使用指南
IF 是一个独立库,需要内嵌(Shade)到您的插件中,而不是直接安装在服务器上。
依赖与集成
- Maven 用户:将以下依赖项添加到您的
pom.xml中:
<dependency>
<groupId>com.github.stefvanschie.inventoryframework</groupId>
<artifactId>IF</artifactId>
<version>0.12.0</version>
</dependency>IF 位于中央仓库(Central Repository),因此无需指定额外仓库。
- 内嵌配置:在
pom.xml中添加以下maven-shade-plugin配置,将 IF 内嵌到您的插件中:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>3.5.2</version>
<configuration>
<dependencyReducedPomLocation>${project.build.directory}/dependency-reduced-pom.xml</dependencyReducedPomLocation>
<relocations>
<relocation>
<pattern>com.github.stefvanschie.inventoryframework</pattern>
<shadedPattern>[YOUR PACKAGE].inventoryframework</shadedPattern>
</relocation>
</relocations>
</configuration>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
</execution>
</executions>
</plugin>请将 [YOUR PACKAGE] 替换为您插件的主包名。
- 非构建系统用户:可以从下载链接获取资源,并在您的 IDE 中将其添加为依赖库。
快速示例
以下是一个创建基础 GUI 并添加一个物品的简单代码片段:
// 创建一个有 5 行、标题为 "My GUI" 的 GUI
ChestGui gui = new ChestGui(5, "My GUI");
// 创建一个占据整个 GUI 的新面板
OutlinePane pane = new OutlinePane(9, 5);
ItemStack item = new ItemStack(Material.ICE);
// 创建一个被点击时会发送消息的物品
GuiItem guiItem = new GuiItem(item, event -> event.getWhoClicked().sendMessage("You clicked on ice!"));
// 将物品添加到面板
pane.addItem(guiItem);
// 将面板添加到 GUI
gui.addPane(pane, Slot.fromXY(0, 0));学习与支持
- 详细文档:IF 拥有深入的 Wiki,详细说明了框架的工作原理和使用方法。强烈建议查阅以了解其工作方式。
- Wiki 链接
- 如果您不确定 XML 如何工作,Wiki 上也有相关的小教程。
- 反馈:非常欢迎提出建议和反馈!
相关链接
测试支持版本
版本分布
基本信息
插件名称
IF - Inventory Framework
作者
Stef
平台
Bukkit / Spigot
支持版本
1.16 - 26.1
点赞数
2
最近版本
暂无数据
-