
HiddenOre - 矿石掉落控制
GITHUB • DOCUMENTATION • DISCORD
Overview - what HiddenOre does
矿石通常是你世界中的一个方块,这意味着任何拥有透视客户端的人都可以看到它的位置。HiddenOre 将价值移动到普通石头中:任何管理的方块破坏可以支付物品、经验或命令,这取决于在方块被破坏时配置的内容。
隐藏奖励 石头和深板岩默认被管理。破坏会滚动你的规则,并支付最多一个物品奖励。
两种发现模型 固定位置的种子矿脉源自世界种子,因此其他插件可以检测到它们。纯随机在每次破坏时都会刷新,没有任何预先放置的内容。
物品、经验和命令 任何规则都可以通过玩家或控制台交付物品、授予经验或运行命令。
可选矿石移除 在生成时从地形中剥离配置的原版矿石。
放置感知 玩家放置的方块在区块数据中被跟踪,不会被计算。
集成表面 一个公共服务、一个可取消的破坏事件和一个可变的掉落事件。
这首先是一个采矿经济 矿石移除使其成为反透视措施,默认关闭,直到你打开它。开箱即用,它已经是煤、铜、铁、金、红石、青金石、钻石和翡翠的有效经济。
兼容性 - 运行时和 Java
一个 jar 文件覆盖所有六个运行时,Minecraft 26.x+
Paper 通过服务器的公共 PluginManager 加载
Purpur 相同的 Paper 家族加载和卸载路径
Leaf Paper 家族分支,像 Paper 一样处理
Folia 区域化调度,HiddenOre 声明支持 folia
Canvas Folia 分支,相同的区域化规则
Spigot 通过 plugin.yml 加载;仅仅发送 paper-plugin.yml 的 jar 会被拒绝
命令和权限
/hiddenore 分页悬停和点击帮助菜单
/hiddenore reload 验证并重新加载 config.yml 和 language.yml
/hiddenore debug 切换每个玩家的奖励滚动诊断一个权限覆盖整个树:
hiddenore.admin 给予访问 HiddenOre 的权限,默认:op
没有子命令接受参数。 debug 需要一个玩家,因此控制台无法运行,它打印出你每次破坏的内容,这是调整配置的最快方法。
配置 - 默认 config.yml
auto_pickup_drops: false
suppress_block_drop_on_custom_drop: true
ore-removal:
# 如果禁用,世界生成将不会做出任何更改
enabled: false
# 除例外外,所有世界的全局设置
global:
# 如果为真,默认情况下所有矿石将从世界生成中移除
default: true
# 针对特定矿石的例外,排除默认值
# 接受的键有:
# COAL_ORE, COPPER_ORE, IRON_ORE, GOLD_ORE, DIAMOND_ORE, REDSTONE_ORE, LAPIS_ORE, EMERALD_ORE
# DEEPSLATE_COAL_ORE, DEEPSLATE_COPPER_ORE, DEEPSLATE_IRON_ORE, DEEPSLATE_GOLD_ORE, DEEPSLATE_DIAMOND_ORE, DEEPSLATE_REDSTONE_ORE, DEEPSLATE_LAPIS_ORE, DEEPSLATE_EMERALD_ORE
# NETHER_GOLD_ORE, NETHER_QUARTZ_ORE, ANCIENT_DEBRIS
NETHER_GOLD_ORE: false
NETHER_QUARTZ_ORE: false
ANCIENT_DEBRIS: false
# 针对特定世界的例外,以其完全限定的世界键为键
exceptions:
"minecraft:the_end":
default: false
"minecraft:the_nether":
default: false
NETHER_GOLD_ORE: true
NETHER_QUARTZ_ORE: true
ANCIENT_DEBRIS: true
blocks:
stone:
drop: cobblestone
deepslate:
drop: cobbled_deepslate
# 在种子模式下,隐藏矿脉源自世界种子:世界中的每个位置要么持有矿脉方块,要么不持有,确定性地,挖掘矿脉位置只支付一次。
# 注意:在种子模式下,矿脉放置源自下面掉落列表的顺序。
# 重新排序、插入或删除条目会重新洗牌所有未发现的矿脉。
veins:
# seeded - 矿脉在被挖掘之前存在于固定位置,因此其他插件
# 可以检测并勾勒它们,每个位置只支付一次。
# pure_random - 没有任何预先放置的内容;每个合格的方块破坏都会刷新概率
# 调整为相同的每区块统计(veins_per_chunk 和 vein
# sizes 见下文)。在这种模式下,矿脉检测总是空的。
generation: seeded
# 玩家放置的方块是否可以产生隐藏掉落。当为假时,玩家放置的
# 方块被跟踪(存活的活塞和重启)并且永远不会支付,关闭
# 放置和重挖的漏洞。
allow_placed_blocks: false
discovery_sound:
sound: "BLOCK_BEACON_POWER_SELECT"
volume: 1.0
pitch: 1.0
# 安全限制:每个区块最多 64 个矿脉和每个矿脉 256 个方块,针对一个规则,
# 在所有物品规则中最多 1,024 个最坏情况目标方块,exp_drop 最多 1,000。
drops:
- item: coal
veins_per_chunk: 2.2
vein_min_size: 5
vein_max_size: 20
min_y: 0
max_y: 320
fortune_multiplier: true
tool_tiers: [ WOODEN_PICKAXE, STONE_PICKAXE, COPPER_PICKAXE, IRON_PICKAXE, GOLDEN_PICKAXE, DIAMOND_PICKAXE, NETHERITE_PICKAXE ]
exp_drop: 2
- item: raw_copper
veins_per_chunk: 1.6
vein_min_size: 4
vein_max_size: 12
min_y: -16
max_y: 112
fortune_multiplier: true
tool_tiers: [ COPPER_PICKAXE, IRON_PICKAXE, GOLDEN_PICKAXE, DIAMOND_PICKAXE, NETHERITE_PICKAXE ]
exp_drop: 2
- item: raw_iron
veins_per_chunk: 1.8
vein_min_size: 4
vein_max_size: 12
min_y: -64
max_y: 320
fortune_multiplier: false
tool_tiers: [ COPPER_PICKAXE, IRON_PICKAXE, GOLDEN_PICKAXE, DIAMOND_PICKAXE, NETHERITE_PICKAXE ]
exp_drop: 0
- item: raw_gold
veins_per_chunk: 0.6
vein_min_size: 3
vein_max_size: 8
min_y: -64
max_y: 32
fortune_multiplier: false
tool_tiers: [ IRON_PICKAXE, GOLDEN_PICKAXE, DIAMOND_PICKAXE, NETHERITE_PICKAXE ]
exp_drop: 0
- item: redstone
veins_per_chunk: 0.9
vein_min_size: 4
vein_max_size: 8
min_y: -64
max_y: 16
fortune_multiplier: true
tool_tiers: [ IRON_PICKAXE, GOLDEN_PICKAXE, DIAMOND_PICKAXE, NETHERITE_PICKAXE ]
exp_drop: 1
- item: lapis_lazuli
veins_per_chunk: 0.5
vein_min_size: 3
vein_max_size: 6
min_y: -64
max_y: 64
fortune_multiplier: true
tool_tiers: [ COPPER_PICKAXE, IRON_PICKAXE, GOLDEN_PICKAXE, DIAMOND_PICKAXE, NETHERITE_PICKAXE ]
exp_drop: 5
- item: diamond
veins_per_chunk: 0.5
vein_min_size: 3
vein_max_size: 8
min_y: -64
max_y: 16
fortune_multiplier: true
tool_tiers: [ IRON_PICKAXE, GOLDEN_PICKAXE, DIAMOND_PICKAXE, NETHERITE_PICKAXE ]
exp_drop: 7
- item: emerald
veins_per_chunk: 0.35
vein_min_size: 1
vein_max_size: 2
min_y: -16
max_y: 320
fortune_multiplier: true
tool_tiers: [ IRON_PICKAXE, GOLDEN_PICKAXE, DIAMOND_PICKAXE, NETHERITE_PICKAXE ]
exp_drop: 7
# 示例命令掉落(仅百分比机会,在破坏时滚动)
# 你可以指定是否希望命令由玩家或控制台执行,使用 "player:" 和 "console:"
# 如果你不指定它将以你设置的 execute_as 运行
- type: command
commands:
- "player:say 我获得了玩家级别的奖励!"
- "console:say %player% 获得了服务器级别的奖励!"
- "give %player% diamond 1"
chance: 0.0005
min_y: -64
max_y: 320
execute_as: console命令可以使用 %player% %uuid% %world% %x% %y% %z%,以及安装时的 PlaceholderAPI 占位符。配置在文件保存时热重载。
drops:
- item: itemname # 小写 minecraft:raw_iron 后面的内容
chance: 0.0069 # 最大 6 位小数精度。将每个区块的百分比生成机会转换为 0 到 1 之间的小数,然后除以 19,816。这将使掉落感觉非常稀有,但它使采矿在相同的时间内产生相同数量的材料。然而,这假设玩家盲目采矿,但他们会寻找矿石,并对矿石的生成位置和方式有直觉,这意味着实际发现的机会有时是计算掉落机会的 10 倍,如果你不太关心玩家之间的经济,你可以将计算的机会乘以最多 10。
min_y: 0 # 支持负 Y 值
max_y: 320
fortune_multiplier: true
tool_tiers: [WOODEN_PICKAXE, STONE_PICKAXE, COPPER_PICKAXE, IRON_PICKAXE, GOLDEN_PICKAXE, DIAMOND_PICKAXE, NETHERITE_PICKAXE] # 删除你不希望能够挖掘此掉落的等级。
vein_max_size: 20 # 矿脉的最大可能大小
exp_drop: 2你还可以将命令作为掉落添加,例如,如果你希望有稀有机会挖掘需要通过命令给予的自定义物品。只需将以下内容添加到掉落对象中,像物品一样:
# 示例命令掉落(仅百分比机会,不受附魔/矿脉/经验影响)
# 你可以指定是否希望命令由玩家或控制台执行,使用 "player:" 和 "console:"
# 如果你不指定它将以你设置的 execute_as 运行
- type: command
commands:
- "player:say 我获得了玩家级别的奖励!"
- "console:say %player% 获得了服务器级别的奖励!"
- "give %player% diamond 1"
chance: 0.0005
min_y: -64
max_y: 320
execute_as: console矿石移除,以及它不是的
将奖励隐藏在石头中并没有帮助,如果真正的钻石矿石仍然在墙上。设置 ore-removal.enabled: true,HiddenOre 会在生成地形时用石头、深板岩或下界岩替换配置的矿石。
默认关闭。 请故意打开它。
仅限新区块。 现有地形永远不会被触及,关闭它不会恢复已经移除的任何内容。
按世界。 默认情况下,末地保持不变,下界矿石保持完整。世界键必须完全限定,例如 minecraft:the_nether 仅名称键无法通过验证。
Iris 维度可以使用 hideOresForHiddenOre 来剥离自己的矿石。
这不是数据包混淆。 HiddenOre 不会在方块到达客户端的过程中伪装它们,它会将它们从世界中移除。更智能的透视客户端无法击败这一点,同样,任何你留下启用的矿石对一个透视客户端仍然完全可见。
占位符
可选: PlaceholderAPI 用于奖励命令中的占位符。以下是 HiddenOre 默认提供的占位符。
%hiddenore_available% : true 或 false,表示 HiddenOre 的运行时是否已发布并提供服务。
%hiddenore_seeded% : true 或 false,表示 veins.generation 是否设置为种子。
%hiddenore_drop-rules% : 一个普通数字,表示在 config.yml 中 drops: 下的总条目,物品规则和命令规则一起。
所有 17 种语言代码
默认选择英语。要切换,请在 plugins/HiddenOre/language.yml 中设置 locale:
locale: en_US
de_DE 德语(德国)
es_ES 西班牙语(西班牙)
fi_FI 芬兰语(芬兰)
fr_FR 法语(法国)
he_IL 希伯来语(以色列)
it_IT 意大利语(意大利)
ja-JP 日语(日本)
ko_KR 韩语(韩国)
lt_LT 立陶宛语(立陶宛)
nl_NL 荷兰语(荷兰)
pl_PL 波兰语(波兰)
pt_PT 葡萄牙语(葡萄牙)
ru_RU 俄语(俄罗斯)
tr_TR 土耳其语(土耳其)
vi_VI 越南语(越南)
zh_CN 中文(简体)
zh_TW 中文(繁体)


