IF - Inventory Framework

IF - Inventory Framework - IF - 库存框架

以简单且可维护的方式创建、修改和管理图形用户界面
Bukkit / Spigot 作者 Stef 支持版本 1.16 - 26.1
服务器使用量
未统计
服务玩家数
未统计
下载量
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 上也有相关的小教程。
  • 反馈:非常欢迎提出建议和反馈!

相关链接

测试支持版本
1.16 1.17 1.18 1.19 1.20 1.20.6 1.21 26.1
版本分布
基本信息
插件名称 IF - Inventory Framework
作者 Stef
平台 Bukkit / Spigot
支持版本 1.16 - 26.1
点赞数 2
最近版本
暂无数据 -

友情链接: 网易我的世界 | 泰拉瑞亚 | ocent云计算 | 米饭Minecraft插件文档 | 友链合作

历史访问人数:2,590,899  |  历史访问人次:3,142,466

今日访问人数:11,424  |  今日访问人次:12,087

昨日访问人数:24,332  |  昨日访问人次:29,698

Copyright © 2019-2026 我的世界服务器列表站. All rights reserved.

Powered by GermMC 京ICP备17023959号-6