26.1.2-07cfb3e
on 2026 Sep 0207cfb3e 修复移除位置时范围投影未被删除的问题。
26.1.2-1ed5eac
on 2026 Sep 021ed5eac 修复宇宙箱子动画期间容器标题未在客户端更新的显示问题
26.1.2-1d2392d
on 2026 Sep 021d2392d 将布尔值从 true 改为 false,以在执行 /crates mass-open 时遍历整个物品栏
26.1.2-5d62a13
on 2026 Sep 025d62a13 修复了在特定情况下与自定义物品插件相关的问题
26.1.2-beb9423
on 2026 Sep 0226.1.2-3a11073
on 2026 Sep 023a11073 为药箭添加了缺失的染料/药水支持。
- 更新了 CratesExample.yml,展示如何为 Muscle Man 药水使用
DisplayPotions。 - 修复了添加药水效果时使用了错误的 true/false 选项、导致轻微显示问题的问题。
- 为药水添加了 "type" 字段,现在由该字段定义药水类型。现有配置文件仍可使用,但请尽快迁移到新格式。
- 修复了药水颜色无法应用到陈列物品上的问题。
26.1.2-063f0c3
on 2026 Sep 02063f0c3 修复了设置菜单类型位置时的多个问题。
- 插件在设置菜单类型位置时尝试创建全息图,但相关数据并不存在。
/crates list命令尝试从不存在的菜单类型中获取数据。
26.1.2-ff9a9f1
on 2026 Sep 02ff9a9f1 当玩家执行 /keys 时若没有钥匙,使用正确的提示信息
26.1.2-ab23adf
on 2026 Sep 02ab23adf 为其他可能在 /crates 中或物理位置(如“便携宝箱”)下无法正常运作的宝箱类型添加额外处理逻辑。
- 如果宝箱类型为“便携宝箱”,且其物理位置是通过
/crates editor或/crates set设置的,则会打开预览菜单。 - 如果宝箱类型为“鞭炮”、“快速宝箱”或“四重宝箱”,并且玩家通过
/crates与其交互,则会尝试打开预览菜单,同时告知玩家该宝箱无法作为虚拟宝箱使用。 - 如果预览功能被禁用,则会向玩家发送预览已禁用的消息。
26.1.2-c409b6f
on 2026 Sep 02c409b6f 在检查活跃位置之前,先判断抽奖箱类型是否为 QuadCrate 或 QuickCrate。
- QuadCrate 会生成一个结构,那可能会变得很混乱……回想起整个世界变成石头的恐怖经历
- QuickCrate 只有在配置中启用了展示物品选项时,才会阻止位置被使用。
26.1.2-798bebf
on 2026 Sep 02798bebf 检查来自 nexo/oraxen 的位置是否为有效位置。
26.1.2-0339f8a
on 2026 Sep 020339f8a 修复重载插件后全息图不更新的问题
26.1.2-d9188a1
on 2026 Sep 02d9188a1 修复保存位置时重复保存y值导致全息图移动的问题。
26.1.2-98ad8b7
on 2026 Sep 0298ad8b7 修复板条箱位置……传送?哈哈
26.1.2-1773a7b
on 2026 Sep 021773a7b - 修复了在动画播放过程中足够快速地打开另一个储物箱的问题。
- 新增 /crates delete 指令,可删除你所注视的储物箱位置。
- 通过使用与区块的 PersistentDataContainer 配对的映射(map),改进了内部的位置检查(包括可读性)。
- 新增一条消息:当尝试破坏方块时,若实体储物箱不存在则会发送该消息。
- 若在洗牌动画中途退出,宇宙储物箱(Cosmic Crate)将退还钥匙。如发现相关问题请告知我们。
- 在 locations.yml 中添加了 UUID 值(若未找到则会自动添加)。
- 移除了对世界是否禁用的额外检查。
- 修复了 CrateOnTheGo 的重新抽取菜单。
26.1.2-3fa5077
on 2026 Sep 023fa5077 修复 /keys 命令使用了错误的消息
26.1.2-e58fa51
on 2026 Sep 02e58fa51 修复了每次只能加载一个位置的问题。已关闭 #926
CrazyCrates 5.2.0
on 2026 Sep 02更改
- 支持在战利品箱预览中添加基于槽数的物品。
- 现在所有打开战利品箱的实例都会遵循禁用世界的设置。
Settings.Border.Glass-Border.Air现在是一个配置选项。- 如果该值设置为 false,则不会在这些槽数中设置空气,从而允许分页使用底部行。
- 这适用于你从不超过 27 个槽数、分页实际上无法正常运行的独特场景。
- 改进了内部消息处理。
- 将 ConfigMe 替换为我们自己的“仿制”系统,并封装在 Configurate 周围
- 你会注意到 config.yml 中的注释被保留了,并且因此添加了额外的行,我目前无法更改这一点!
- 非常旧的配置文件的自动迁移尚未编写。
- 文件将自动应用注释,并添加缺失/新的配置选项。
- 改进了位置存储以及启动时加载位置。现有位置应继续有效。
- 位置现在使用随机 UUID 存储,无需像以前那样奇怪地递增数字。
- 如果战利品箱位置损坏,它们的名称将在启动或重载时打印到终端。
- /crazycrates fix 现在是一个命令,并已替换启动时自动修复战利品箱位置的方式。
- 为 /crazycrates list 添加了 {broken_locations} 作为占位符。
战利品箱更改
配置更改
config.yml 中所有现有的选项(如果存在)将首先被遵循。你可以在 examples/crates 中找到更新用法的示例!
config.yml中的crate.knock-back现在可以按每个战利品箱进行配置,并且在新的设置中不再添加到config.yml中。config.yml中的crate.disabled-worlds现在可以按每个战利品箱进行配置,并且在新的设置中不再添加到config.yml中。config.yml中的crate.quad-crate.timer现在可以按每个战利品箱进行配置,并且在新的设置中不再添加到config.yml中。config.yml中的crate.types.csgo.cycling-material现在可以按每个战利品箱进行配置,并且在新的设置中不再添加到config.yml中。config.yml中的crate.types.csgo.finished-material现在可以按每个战利品箱进行配置,并且在新的设置中不再添加到config.yml中。config.yml中的crate.keys.key-sound.toggle和crates.keys.key-sound.name现在可以按每个战利品箱进行配置,并且在新的设置中不再添加到config.yml中。
API 更改
CrazyCrates API 已升级至 1.0.0
- ISettings 已从 CrazyCrates API 中移除
- 你可以通过 CratesProvider#api()#getConfigManager() 使用 ConfigManager 类,但它可能会随时被重构。
- 我不喜欢
ISettings的实现方式,以及我进行配置的方式。目前最好直接使用接口。
- IServer 已弃用,并标记为移除。请使用 CrazyCrates 而不是 IServer
- IServer 的使用应该仍然有效(你将缺少任何新功能)。如果无效,请告诉我。
已知问题
- 烟火(FireCracker)无法正常工作。
移除
use-different-random已从 config.yml 中移除,因为它在内部没有产生任何区别。
修复
- 修复了 AdvancedExample.yml 中 netherite_chestplate 的拼写错误。
- 修复了 fusion.yml 中递归深度不起作用的问题。
- 修复了在未被告知时伤害组件被应用到物品上的问题。
- 这会导致阻止损坏物品与其插件交互的插件出现问题。
- 当发送者为终端发送者时,不再尝试发送快捷栏上方消息。
- 不再允许人们不断退出编辑模式
- 添加了一条新消息,告诉玩家他们不在编辑模式中。
- 运行 /crates debug <crate> 时,不再检查奖励的物品是否为空。
CrazyCrates 5.1.0
on 2026 Sep 02更新内容 🔨
- 提升了通过 PlaceholderAPI 检查占位符时的性能
- 这同时也减轻了内部的维护负担!
- 改进了
examples文件夹的更新。 - 移除了
LegacyItemBuilder,因为维护两个 ItemBuilder 实在没什么乐趣。- 除非你使用了
HideItemFlags: true,否则无需更改配置。 - 如果你确实使用了
HideItemFlags,请点击这里
- 除非你使用了
- 通过遍历文件夹而不是 FileManager 缓存来改进迁移类型,避免不必要的检查。
- 改进了插件的整体详细日志记录。
- 改进了配置迁移器中的占位符迁移。
- 改进了
/crazycrates teleport <crate_id>。 - 改进了整个插件的占位符解析。
- 将 not_enough_keys 消息中的
{key_amount}替换为{amount}。{key_amount}已不再可用。
- 通常只能在物品 DisplayName 中使用的占位符,现在也可以在 DisplayLore 中使用了。
- 清理了与向玩家发送消息或向服务器广播消息相关的代码。
- 移除了机巧箱(Cosmic Crate)中一个不必要的奖品循环,如果我们一开始就正确计算,就不需要它了。
- 改用 StringUtils#tryParseInt,它使用可选值以获得更好的详细程度,而不是 Integer#parseInt。
- 更新了默认配置文件。
板条箱更新
- 改进了板条箱的追踪代码。
- 提升了构建板条箱对象时的性能和可读性。
- 提升了加载/添加板条箱位置时的性能。
- 改进了板条箱开启结束时对相关任务和其他缓存的清理。
- 这应该能修复一些其他奇怪的问题。
钥匙更新
- 修复了使用
/crazycrates mass-open或在 QuickCrate 中赠送奖品后潜行时钥匙扣除逻辑的问题,扣除顺序应当反过来,以在发生意外情况时最大程度减少免费战利品的获取。- 除此之外,如果钥匙因物品栏已满等任何原因未被扣除,现在会退还给你。
板条箱类型
- CrateOnTheGo 现在会经过 openCrate 方法,因此所需钥匙以及其他板条箱拥有的功能现在都会生效。
物品布局
- 默认情况下,
use-different-items-layout现在设为 true。- 拥有最新配置的现有服务器无需更改任何内容。
物品更新
- 移除了配置刷怪笼预览的选项。
- 这毫无意义,因为在板条箱菜单中它们看起来都一样。
- 更新了发光配置,发光(Glowing)现在接受 "add_glow"、"remove_glow" 或 "none" 等值。
- 现有的 true/false 应该仍然有效,但你应该尽快更新。
移除内容
权限
- 移除了
use-new-permission-system开关,并保留大家都喜欢的原始行为。
新增内容
钥匙占位符
- 为钥匙占位符添加了简写格式,例如 1,000 会变成 1k,依此类推。
插件支持
注意:请将 <item_id> 替换为自定义物品插件中的正确标识符。
注意二:任何可以输入 diamond_axe(钻石斧)的地方都允许你使用此格式。
注意三:你仍然可以直接使用 emerald_helmet(绿宝石头盔)等直接 ID
- 新增了对 HMCWraps 的支持。
DisplayItem: hmcwraps@<item_id>
- 这为 Oraxen、Nexo、CraftEngine 和 ItemsAdder 等其他插件引入了新格式
DisplayItem: nexo@<item_id>DisplayItem: oraxen@<item_id>DisplayItem: itemsadder@<item_id>DisplayItem: craftengine@<item_id>
新指令
- 新增了 /crates version,其中包含 git 提交、上一个 git 提交以及当前版本。
- 如果找不到任何值,将返回 "N/A"
其他
- 在之前不支持的地方添加了自定义物品支持。
- 为 FancyHolograms 添加了文本阴影支持。
配置更改
发光
- 发光(Glowing)不再使用 true/false,但我们内部也会识别该值,因此使用 true/false 的现有配置仍然有效。
# 物品是否应该发光?
# 可用类型:add_glow, remove_glow, none
Glowing: "none"
隐藏组件
如果你在某些地方使用了 Hidden-Components 或 Components,它们已被 flags.components 取代,现有配置仍然有效。
Bug 修复 🐛
- 修复了某些情况下使用错误消息或变量放错位置的问题。
- 修复了 uuid 为空时日志方法导致控制台报错的问题。
- 修复 getPrize 未能正确过滤无效权重,导致奇怪的奖品奖励的问题。
- 我们对 totalWeight 变量进行了正确的检查,但在遍历奖品时,权重为 -1 的奖品仍然存在。
- 如果将 -1 加到一个值上,它会增加该值,这可能导致奖品概率出现问题。
- 任何值为 0.0、0 或小于 0 的数字都将被视为填充物品。
- 修复了分页 GUI 在物品不足以构成第二页时仍创建第二页的问题。
- 修复了日志消息可能未保存的问题。
- 更新了 ExcellentCrates 迁移器,修复了几个迁移 bug。
- 修复了
/crazycrates transfer的一个重要问题。- 如果你无法更新,我建议禁用使用此指令的权限。
- 通过将数量限制为所需数量,修复了
/crazycrates take/give和/crazycrates mass-open的问题。 - CMI 在最近的更新中,无论是 CMI Lib 还是 CMI API,总之 API 坏掉了,于是我 fork 了它,编译并发布到了我的仓库……目前看起来还能用
/crazycrates debug无法正常工作的问题。- 修复了记录日志消息时使用正确变量的问题。
- 修复了自定义头颅无法正确构建的多个问题。
- 修复了玩家执行 /keys 时没有钥匙时显示正确消息的问题。
- 修复了 mass-open 中如果任何行为空或等级为空,你本应消耗的钥匙会丢失的问题。现在它们会被退还。
- 修复了执行指令时的消息响应未发送到控制台的问题。
一如既往,欢迎在 https://github.com/Crazy-Crew/CrazyCrates/issues 反馈 🐛
CrazyCrates 5.0.0
on 2026 Sep 02更新内容 🔨
新 API
CrazyCrates API 已升级至 0.9.0
新增了一个类。
Key Manager(钥匙管理器)类,可用于检查玩家手持的物品。
你可以通过 CratesProvider#get()#getKeyManager() 获取该类。
/**
* KeyManager 的类,用于处理实体钥匙的检查,以及我们不久后可能需要的其他功能。
*
* @author Ryder Belserion
* @version 0.9.0
* @since 0.9.0
*/
public abstract class KeyManager<I> {
/**
* {@link KeyManager<I>} 的默认构造函数。
*
* @author Ryder Belserion
* @since 0.9.0
*/
public KeyManager() {}
/**
* 检查物品是否为有效的钥匙。
*
* @param item 物品堆(ItemStack)
* @return true 或 false
* @since 0.9.0
*/
public abstract boolean isKey(@NotNull final I item);
/**
* 检查一件物品是否与另一件物品匹配。
*
* @param item 初始物品堆(ItemStack)
* @param comparing 用于比较的物品堆(ItemStack)
* @return true 或 false
* @since 0.9.0
*/
public abstract boolean isMatchingKey(@NotNull final I item, @NotNull final I comparing);
/**
* 获取钥匙所属的箱子(Crate)名称。
*
* @param item 物品堆(ItemStack)
* @return 箱子名称
* @since 0.9.0
*/
public abstract String getKey(@NotNull final I item);
}
配置变更
- 箱子配置文件中的
ChestLines已重命名为Rows,5eec53b- 所有现有配置应可继续正常使用,你可以运行
/crazyrates migrate -mt CratesDeprecated来完成此变更,或直接使用查找和替换功能。
- 所有现有配置应可继续正常使用,你可以运行
其他变更
- 新增自定义返回/下一页及菜单按钮的行/列的功能。
- 新增自定义 CSGO 动画的功能,可将顶部/底部设置为静态或动态。95de51e
- 如果你运行 /crazycrates migrate -mt CratesDeprecated,将生成所需的现有选项。
- 完整示例请参阅
examples/crates/CrateExample.yml文件夹。 - 它支持与文档中
Items部分新增的物品配置方式相同的结构。
- 在箱子菜单中改为点击时执行命令,而不是打开时执行。
- 为奖品/默认消息新增了 %chance% / %weight% 占位符。
- 为所有现有命令添加了命令语法建议。
- 当文件为空时返回 "N/A",因为 files#getFirst() 会因找不到元素而抛出错误。
- 利用 CMI/DecentHolograms 的内置方法来处理消息着色,以更好地兼容它们的插件。
- 这或许还能支持其他插件特定功能,例如 CMI 为全息图提供的众多其他功能。
- 移除了 QuickCrate 上方显示物品的自定义名称中的括号。
- 使用空气填充底部边框,以防止物品因按钮而溢出。
- 新增用于禁用开启追踪箱子的开关。
已修复的 Bug 🐛
- 修复了首次安装时 WonderCrate.yml 出现错误的问题,原因是某个奖品缺少
Items部分。 - 修复了使用双括号初始化导致的潜在内存泄漏。
- 修复了 PlaceholderAPI 支持中的多个 bug。
- 修复了 CosmicCrateManager 中的一个拼写错误。#873
- 修复了 %crate_opened_raw% 中的拼写错误。
- 修复了 Folia 上物品掉落的问题。#856
- 通过使用 #runNow 而非 #run(后者调用内部 void 方法)修复了一个问题。
- 修复了迁移类型相关的多个问题。
- 修复了 Folia 上因未在需要时使用调度器而导致多个问题的出现。
- 修复了药水颜色在新物品部分中无法生效的问题。
- 修复了盾牌旗帜在使用新物品格式时出现的问题。
- 修复了每个奖品的品质概率未能正确显示的问题。
- 修复了箱子调试命令。
一如既往,请将 🐛 报告至 https://github.com/Crazy-Crew/CrazyCrates/issues




