Compatibility
Minecraft: Java Edition
Platforms
Tags
Creators
Details
Searching
Searching is a loot chest configuration plugin.
After multiple rewrites and optimizations, version 1.5.4 is currently the most stable and best-performing release.
Searching currently has no paid edition and is completely free.
Everything below is based on Searching 1.5.4.
Plugin Wiki: Wiki
Why Choose Searching?
1. Performance
Searching preloads loot chest types, loot tables, loot pools, items, tiers, refresh policies, and other configuration data into memory at runtime.
It uses optimizations such as coordinate-based caching, expiration-based refreshing, incremental GUI synchronization, and batched statistics writes, making it suitable for servers with a large number of loot chests.
Internal stress tests:
- Refresh checks on 10,000 unexpired loot chests processed 0 actual refresh operations and took approximately 28ms
- With 100 players simultaneously keeping loot interfaces open, incremental GUI synchronization took approximately 16ms
Player interactions do not require repeatedly reading YAML files or scanning all stored data. Idle loot chests generate almost no continuous computation overhead, while interactions only process the state changes that are actually required.
These results are based on stress tests of the plugin's core logic. Actual performance may vary depending on server hardware, database performance, item plugins, and hologram plugins.
2. Well-Designed Loot Pool Structure
Searching uses the following layered reward structure:
Loot Chest Type → Loot Table → Loot Pool → Item
It also supports nested loot pools.
Server owners can assign different loot tables to different loot chest types, then combine normal rewards, rare rewards, high-tier rewards, special rewards, and other content through loot pools and nested sub-pools.
For example:
A basic loot pool may have a small chance to enter a rare pool, while the rare pool may have another small chance to enter a top-tier pool.
Items support configurable properties such as:
- Amount ranges
- Tiers
- Search time
- Experience
- Weighted probability
This makes it possible to create both simple resource chests and complex loot chests with rare drops and multi-level reward structures.
The layered design also makes configurations easier to reuse and maintain. The same rare or high-tier pool can be shared between multiple loot chest types.
When adjusting reward probabilities, adding new items, or separating rewards between different areas later, you do not need to duplicate large amounts of configuration.
3. Convenient Built-in UI Editor
Searching provides a visual in-game UI editor, allowing server owners to manage configurations directly inside the server without constantly editing configuration files manually.
The editor can manage:
- Loot chest types
- Reward items
- Loot tables
- Loot pools
- Item tiers
- Refresh policies
- Hologram templates
The editor supports creating, modifying, deleting, and paginated browsing, and performs configuration validation when saving changes.
For everyday server management, this makes adjusting rewards, balancing probabilities, and adding new loot chest types much more intuitive, especially when testing and modifying configurations at the same time.
Commands
| Command | Permission | Available To | Description |
|---|---|---|---|
/searching reload |
searching.command |
Player / Console | Reloads the plugin configuration |
/searching node type [type] |
searching.command |
Player / Console | Lists all loot chest types, or views / selects a specified type |
/searching node create <type> [x] [y] [z] |
searching.command |
Player / Console | Creates a loot chest. If coordinates are omitted, the targeted block within 6 blocks of the player's line of sight is used |
/searching node remove <type> [x] [y] [z] |
searching.command |
Player | Removes a loot chest. If coordinates are omitted, the targeted block within 6 blocks of the player's line of sight is used |
/searching node list <world> [type] |
searching.command |
Player | Opens the loot chest management panel for the specified world, optionally filtered by type |
/searching node clear <world> [type] |
searching.command |
Player | Removes all loot chests from the specified world, optionally filtered by type |
/searching node open <world> <x> <y> <z> |
searching.command |
Player | Directly opens the loot chest at the specified coordinates |
/searching editor [section] |
searching.command |
Player | Opens the built-in UI editor. You can directly enter the nodes, items, pools, tiers, or refresh page |
Placeholders
| Placeholder | Description | Example |
|---|---|---|
%searching_daily_open_chest_<loot_chest_type>% |
Number of times the player has opened the specified loot chest type today | %searching_daily_open_chest_MineLootChest% |
%searching_daily_total_open_chest% |
Total number of loot chests opened by the player today | %searching_daily_total_open_chest% |
%searching_daily_search_<tier>% |
Number of items of the specified tier looted by the player today | %searching_daily_search_Rare% |
%searching_total_open_chest_<loot_chest_type>% |
Total number of times the player has opened the specified loot chest type | %searching_total_open_chest_BossRewardChest% |
%searching_total_total_open_chest% |
Total number of loot chests opened by the player | %searching_total_total_open_chest% |
%searching_total_search_<tier>% |
Total number of items of the specified tier looted by the player | %searching_total_search_Mythic% |
%searching_level% |
Player's current Searching level | %searching_level% |
%searching_exp% |
Player's current total Searching experience | %searching_exp% |
%searching_exp_total% |
Total experience required to reach the next level | %searching_exp_total% |
%searching_exp_need% |
Experience still required to reach the next level | %searching_exp_need% |
Example Plugin Configuration
Click to expand configuration files
config.yml
progress:
level-expression: "1 + (exp / 100) ^ 0.5"
stats:
storage:
type: sqlite
sqlite-file: searching.db
host: 127.0.0.1
port: 3306
database: searching
user: root
password: ""
search-animation:
enabled: true
start-sound: UI_BUTTON_CLICK
hidden-item:
item: BLACK_STAINED_GLASS_PANE
name: "&7Not Searched"
lore:
- "&8Not Searched"
custom-model-data: -1
frames:
- item: YELLOW_STAINED_GLASS_PANE
name: "&eSearching."
lore:
- "&e33%"
- item: ORANGE_STAINED_GLASS_PANE
name: "&6Searching.."
lore:
- "&e66%"
- item: RED_STAINED_GLASS_PANE
name: "&cSearching..."
lore:
- "&e99%"
node_types.yml
MineLootChest:
displayName: "&7Mine Loot Chest"
table: MineLoot
refreshPolicy: default_cooldown
slots: 27
hologramId: default
AirdropSupplyChest:
displayName: "&bAirdrop Supply Chest"
table: SupplyAirdrop
refreshPolicy: default_cooldown
slots: 36
hologramId: default
BossRewardChest:
displayName: "&dBoss Reward Chest"
table: BossRewards
refreshPolicy: default_cooldown
slots: 27
hologramId: default
items.yml
Cobblestone:
item: "minecraft:cobblestone"
tier: Common
amount: 8-16
value: 2
reveal-ticks: 0
exp: 0.5
name: "&7Cobblestone"
Coal:
item: "minecraft:coal"
tier: Common
amount: 4-10
value: 4
reveal-ticks: 0
exp: 1.0
name: "&8Coal"
IronIngot:
item: "minecraft:iron_ingot"
tier: Common
amount: 2-5
value: 8
reveal-ticks: 0
exp: 2.0
name: "&fIron Ingot"
refresh.yml
refreshPolicies:
default_cooldown:
type: cooldown
cooldownSeconds: 60
scope: node
hologram:
enabled: true
provider: DecentHolograms
defaultId: default
holograms:
default:
offset:
x: 0.0
y: 1.6
z: 0.0
lines:
- "&e{type}"
- "&7{state}"
- "&b{time}"
tables.yml
tables:
LootChest:
root-pool: BasicItemPool
rolls: 2-4
MineLoot:
root-pool: MineItemPool
rolls: 3-5
SupplyAirdrop:
root-pool: AirdropItemPool
rolls: 4-6
BossRewards:
root-pool: BossRewardPool
rolls: 2-3
pools:
BasicItemPool:
entries:
- item: Cobblestone
- item: Coal
- item: IronIngot
- item: Bread
- item: ExperienceBottle
- pool: RareItemPool
weight: 3
RareItemPool:
entries:
- item: GoldIngot
- item: Diamond
- item: Emerald
- pool: HighTierItemPool
weight: 1
HighTierItemPool:
entries:
- item: EnchantedBook
- item: GoldenApple
- pool: MythicItemPool
weight: 1
MythicItemPool:
entries:
- item: NetheriteScrap
- item: NetherStar
MineItemPool:
entries:
- item: Cobblestone
- item: Coal
- item: IronIngot
- item: GoldIngot
- item: Diamond
- item: Emerald
AirdropItemPool:
entries:
- item: Bread
weight: 20
- item: ExperienceBottle
weight: 20
- item: GoldIngot
- item: Diamond
- item: EnchantedBook
- item: GoldenApple
BossRewardPool:
entries:
- item: Diamond
weight: 8
- item: Emerald
weight: 8
- item: EnchantedBook
weight: 4
- item: GoldenApple
weight: 4
- item: NetheriteScrap
- item: NetherStar
tiers.yml
Common:
weight: 80
ticks: 20
exp: 1.0
name: "&fCommon"
search-sound: "ENTITY_ITEM_PICKUP"
Rare:
weight: 18
ticks: 40
exp: 4.0
name: "&bRare"
search-sound: "ENTITY_PLAYER_LEVELUP"
Epic:
weight: 2
ticks: 80
exp: 10.0
name: "&6Epic"
search-sound: "UI_TOAST_CHALLENGE_COMPLETE"
Mythic:
weight: 1
ticks: 120
exp: 25.0
name: "&dMythic"
search-sound: "ENTITY_ENDER_DRAGON_GROWL"
Bug Reports & Community
If you encounter any bugs, configuration issues, questions, or other Searching-related problems, feel free to contact the author via QQ.
Author QQ: 2962271068
Official QQ Group: 724504184
For users outside mainland China, you can join my Discord server via the Discord invite link.
Searching
Searching 是一个搜刮箱设置插件。
它经历了多次重构,现在的 1.5.4 版本是目前最稳定、性能最高的版本。
现在的 Searching 没有付费版本,完全免费。
以下内容均围绕 1.5.4 版本介绍。
插件 Wiki: Wiki
为什么选择 Searching?
1. 性能优势
Searching 在运行时会将搜刮箱类型、奖励池、物品、品质、刷新策略等配置预加载到内存缓存中,并采用坐标缓存定位、到期刷新、界面差量同步和统计批量写入设计,适合在服务器中布置大量搜刮箱。
内部压力测试中:
- 10000 个未到期搜刮箱进行刷新检查时,实际处理数量为 0,测试耗时约 28ms
- 100 个玩家同时持有搜刮界面时,界面差量同步耗时约 16ms
玩家交互时无需频繁读取 YAML 或扫描全量数据,空闲箱子几乎不产生持续计算压力,交互过程中也只处理必要的状态变化。
以上为插件核心逻辑压力测试数据,实际表现仍会受服务器硬件、数据库、物品插件和悬浮字插件影响。
2. 合理的奖池配置结构设计
Searching 的奖励系统采用:
搜刮箱类型 → 奖励表 → 奖励池 → 物品
的分层设计,并支持嵌套奖池。
服主可以为不同搜刮箱绑定不同奖励表,再通过奖励池和子奖池组合普通奖励、稀有奖励、高级奖励、特殊奖励等内容,实现类似:
基础奖励中小概率进入稀有池,稀有池中再小概率进入顶级池
这样的层级掉落效果。
物品支持:
- 数量范围
- 品质
- 搜索时间
- 经验
- 权重概率
等配置。
既能制作简单的资源箱,也能制作带有稀有掉落和高级奖励层级的复杂搜刮箱。
这样的结构便于复用和维护,同一套稀有池或高级池可以被多个搜刮箱复用。后期调整奖励概率、增加新物品或拆分不同区域奖励时,不需要重复配置大量箱子内容。
3. 方便的内置 UI 编辑器
Searching 提供游戏内可视化 UI 编辑器,服主无需频繁打开配置文件,就可以直接在服务器内管理:
- 搜刮箱类型
- 奖励物品
- 奖励表
- 奖励池
- 物品品质
- 刷新策略
- 悬浮字模板
编辑器支持新增、修改、删除和分页浏览,并在保存时进行配置检查。
对于日常运营来说,调整奖励内容、平衡概率、添加新搜刮箱类型都会更加直观,也更适合边测试边修改。
插件命令
| 命令 | 权限 | 适用对象 | 描述 |
|---|---|---|---|
/searching reload |
searching.command |
玩家 / 控制台 | 重载插件配置 |
/searching node type [类型] |
searching.command |
玩家 / 控制台 | 查看所有搜刮箱类型,或查看 / 选择指定类型 |
/searching node create <类型> [x] [y] [z] |
searching.command |
玩家 / 控制台 | 创建搜刮箱;不填坐标时使用视线 6 格内的目标方块 |
/searching node remove <类型> [x] [y] [z] |
searching.command |
玩家 | 移除搜刮箱;不填坐标时使用视线 6 格内的目标方块 |
/searching node list <世界> [类型] |
searching.command |
玩家 | 打开指定世界的搜刮箱管理面板,可按类型筛选 |
/searching node clear <世界> [类型] |
searching.command |
玩家 | 清空指定世界的搜刮箱,可按类型筛选 |
/searching node open <世界> <x> <y> <z> |
searching.command |
玩家 | 直接打开指定坐标的搜刮箱 |
/searching editor [section] |
searching.command |
玩家 | 打开内置 UI 编辑器;可直接进入 nodes、items、pools、tiers、refresh 页面 |
占位符
| 占位符 | 描述 | 示例 |
|---|---|---|
%searching_daily_open_chest_<搜刮箱类型>% |
玩家今日打开指定类型搜刮箱次数 | %searching_daily_open_chest_矿洞搜索箱% |
%searching_daily_total_open_chest% |
玩家今日打开所有搜刮箱总次数 | %searching_daily_total_open_chest% |
%searching_daily_search_<品质>% |
玩家今日搜刮到指定品质物品次数 | %searching_daily_search_稀有% |
%searching_total_open_chest_<搜刮箱类型>% |
玩家累计打开指定类型搜刮箱次数 | %searching_total_open_chest_Boss奖励箱% |
%searching_total_total_open_chest% |
玩家累计打开所有搜刮箱总次数 | %searching_total_total_open_chest% |
%searching_total_search_<品质>% |
玩家累计搜刮到指定品质物品次数 | %searching_total_search_神话% |
%searching_level% |
玩家当前搜刮等级 | %searching_level% |
%searching_exp% |
玩家当前累计搜刮经验 | %searching_exp% |
%searching_exp_total% |
玩家升到下一级所需总经验 | %searching_exp_total% |
%searching_exp_need% |
玩家距离下一级还需要的经验 | %searching_exp_need% |
插件示例配置文件
点击展开配置文件
config.yml
progress:
level-expression: "1 + (exp / 100) ^ 0.5"
stats:
storage:
type: sqlite
sqlite-file: searching.db
host: 127.0.0.1
port: 3306
database: searching
user: root
password: ""
search-animation:
enabled: true
start-sound: UI_BUTTON_CLICK
hidden-item:
item: BLACK_STAINED_GLASS_PANE
name: "&7未搜索"
lore:
- "&8未搜索"
custom-model-data: -1
frames:
- item: YELLOW_STAINED_GLASS_PANE
name: "&e搜索中."
lore:
- "&e33%"
- item: ORANGE_STAINED_GLASS_PANE
name: "&6搜索中.."
lore:
- "&e66%"
- item: RED_STAINED_GLASS_PANE
name: "&c搜索中..."
lore:
- "&e99%"
node_types.yml
矿洞搜索箱:
displayName: "&7矿洞搜索箱"
table: 矿洞宝箱
refreshPolicy: default_cooldown
slots: 27
hologramId: default
空投补给箱:
displayName: "&b空投补给箱"
table: 补给空投
refreshPolicy: default_cooldown
slots: 36
hologramId: default
Boss奖励箱:
displayName: "&dBoss奖励箱"
table: Boss奖励
refreshPolicy: default_cooldown
slots: 27
hologramId: default
items.yml
圆石:
item: "minecraft:cobblestone"
tier: 普通
amount: 8-16
value: 2
reveal-ticks: 0
exp: 0.5
name: "&7圆石"
煤炭:
item: "minecraft:coal"
tier: 普通
amount: 4-10
value: 4
reveal-ticks: 0
exp: 1.0
name: "&8煤炭"
铁锭:
item: "minecraft:iron_ingot"
tier: 普通
amount: 2-5
value: 8
reveal-ticks: 0
exp: 2.0
name: "&f铁锭"
refresh.yml
refreshPolicies:
default_cooldown:
type: cooldown
cooldownSeconds: 60
scope: node
hologram:
enabled: true
provider: DecentHolograms
defaultId: default
holograms:
default:
offset:
x: 0.0
y: 1.6
z: 0.0
lines:
- "&e{type}"
- "&7{state}"
- "&b{time}"
tables.yml
tables:
搜索箱:
root-pool: 基础物品池
rolls: 2-4
矿洞宝箱:
root-pool: 矿洞物品池
rolls: 3-5
补给空投:
root-pool: 空投物品池
rolls: 4-6
Boss奖励:
root-pool: Boss奖励池
rolls: 2-3
pools:
基础物品池:
entries:
- item: 圆石
- item: 煤炭
- item: 铁锭
- item: 面包
- item: 经验瓶
- pool: 稀有物品池
weight: 3
稀有物品池:
entries:
- item: 金锭
- item: 钻石
- item: 绿宝石
- pool: 高级物品池
weight: 1
高级物品池:
entries:
- item: 附魔书
- item: 金苹果
- pool: 神话物品池
weight: 1
神话物品池:
entries:
- item: 下界合金碎片
- item: 下界之星
矿洞物品池:
entries:
- item: 圆石
- item: 煤炭
- item: 铁锭
- item: 金锭
- item: 钻石
- item: 绿宝石
空投物品池:
entries:
- item: 面包
weight: 20
- item: 经验瓶
weight: 20
- item: 金锭
- item: 钻石
- item: 附魔书
- item: 金苹果
Boss奖励池:
entries:
- item: 钻石
weight: 8
- item: 绿宝石
weight: 8
- item: 附魔书
weight: 4
- item: 金苹果
weight: 4
- item: 下界合金碎片
- item: 下界之星
tiers.yml
普通:
weight: 80
ticks: 20
exp: 1.0
name: "&f普通"
search-sound: "ENTITY_ITEM_PICKUP"
稀有:
weight: 18
ticks: 40
exp: 4.0
name: "&b稀有"
search-sound: "ENTITY_PLAYER_LEVELUP"
史诗:
weight: 2
ticks: 80
exp: 10.0
name: "&6史诗"
search-sound: "UI_TOAST_CHALLENGE_COMPLETE"
神话:
weight: 1
ticks: 120
exp: 25.0
name: "&d神话"
search-sound: "ENTITY_ENDER_DRAGON_GROWL"
问题反馈与交流
如果遇到 BUG、不懂的地方或其他 Searching 相关问题,都可以添加作者 QQ 咨询。
作者 QQ:2962271068
作者的 QQ 交流群:724504184


