- 原插件名称: ServerMarket
- 原作者: Blank038
- 源地址: https://github.com/blank038/ServerMarket
- 主页: https://github.com/blank038
本次对 ServerMarket 插件进行了全面重构和功能增强,主要包括:
- 代码包名重构
- 编译系统迁移(Gradle → Maven)
- 右键预览功能实现
- GUI 显示逻辑优化(分类和排序)
- 平台兼容性改进(支持 Folia)
将插件包名从 com.blank038.servermarket 重构为 com.upgrade.globalmarket
- 所有 Java 源文件的包声明
plugin.yml中的 main 类路径- 配置文件引用路径
- 依赖注入和反射调用
pom.xml- 根 POM 配置bukkit/pom.xml- Bukkit 模块配置folia/pom.xml- Folia 模块配置assembly/pom.xml- 组装模块配置
# 完整构建
mvn clean package -DskipTests
# 仅构建 bukkit 模块
mvn clean package -DskipTests -pl bukkit -am
# 快速重新打包
mvn package -DskipTests最终 JAR 文件位于:build/libs/GlobalMarket-2.7.3.jar
gradle/目录.gradle/目录build.gradlesettings.gradlegradlew/gradlew.bat
实现了 Shulker Box(潜影盒)的右键预览功能,玩家可以右键点击市场中的潜影盒商品查看内部物品。
bukkit/src/main/java/com/upgrade/globalmarket/internal/gui/impl/PreviewGui.java
// 创建预览 GUI
public PreviewGui(Player player, ItemStack shulkerBox, int lastPage,
String sourceMarketKey, int currentPage, FilterHandler filter)
// 打开预览界面
public void open()- 实时显示潜影盒内部物品
- 保持原物品的 NBT 数据和属性
- 支持点击返回主市场界面
- 自动恢复分页和过滤状态
bukkit/src/main/java/com/upgrade/globalmarket/internal/gui/impl/MarketGui.java
为分类按钮添加完整的分类列表显示,包括:
- "全部"(all)
- 自定义分类(如"道具")
选择分类:
全部
✓ 道具 ← 当前选中
选择排序:
默认
✓ 价格高到低 ← 当前选中
价格低到高
default:
all: "全部"
none: "无分类"
types:
道具:
- "STONE"
- "道具"default: "默认"
price_high: "价格高到低"
price_low: "价格低到高"types:
- "all"
- "道具"- README.md - 项目说明
- README_EN.md - English README
- PATCHES.md - 补丁说明
- MAVEN_BUILD.md - Maven 构建说明
- SORT_MODIFICATION.md - 排序修改说明
- 高度自定义 Gui 界面
- 支持 MySQL, YAML 格式存储
- 自定义商品原信息是否显示
- 自定义商品所在槽位
- 个人仓库及仓库面板自定义
- 支持版本: 1.8-1.20
- 支持多种货币(Vault, PlayerPoints, NyEconomy)
- 支持商品分类、商品搜索、商品黑名单
- 支持指定商品/分类价格范围