Pufferfish’s Skills Restrictions
限制物品、盔甲和武器在拥有必要技能之前被使用、造成伤害、破坏方块或装备到盔甲槽或饰品槽。你也可以限制与方块和实体的交互。
介绍
Pufferfish’s Skills 物品限制
需要 Pufferfish’s Skills。可选:Curios API 用于
equip_curio门控。
功能说明
将物品、方块和实体锁定在 Pufferfish’s Skills 的玩家技能之后。



物品目标 — 如果玩家尚未解锁所需技能,则无法使用该物品来:
- 对实体造成伤害(
attack) - 破坏方块(
break) - 右键点击它(拉弓、举起盾牌、抛掷钓竿等)(
use) - 将其装备为盔甲(
equip_armor) - 将其装备为 Curios 饰品(
equip_curio)

方块目标 — 阻止对该特定方块的右键点击(interact)。适用于门控工作台、酿造台、铁砧、熔炉、附魔台、信标、门、拉杆、按钮或任何其他可交互方块。整个右键点击会被取消,因此手持方块物品的玩家也无法将其放置到被门控的方块上。

实体目标 — 阻止对该实体类型的右键点击(interact)。涵盖一般右键点击和精确碰撞箱右键点击(因此盔甲架盔甲槽点击和马匹上鞍也包含在内)。适用于门控:
- 村民交易
- 骑乘船、马、猪、炽足兽
- 给马匹上鞍
- 喂食 / 繁殖动物(手持食物右键点击)
- 将盔甲装备到盔甲架上
请注意,这仅门控右键点击交互。攻击实体是单独门控的,取决于用于攻击的物品(武器上的 attack 门控)。
规则从数据包加载,因此整合包可以配置或覆盖被门控的内容,而无需修改代码。
使用方法
在 data/<your-namespace>/pufferfish_skill_gate_rules/<anything>.json 下添加一个 JSON 文件。一个文件即一条规则。内层文件夹名称是固定的;外层命名空间由你自行选择。
字段:
items、blocks或entities中恰好一个(必填):一个非空的注册表 ID 列表。单条目列表对于单个目标同样适用。gates(可选):要门控的动作。对于物品,为"attack"、"break"、"use"、"equip_armor"、"equip_curio"的任意子集。对于方块和实体,仅"interact"。省略则门控该目标类型的完整集合。skills(必填):技能需求列表。每个条目为{ "category": "<category id>", "skill": "<skill id>" }。玩家只要解锁其中任意一个即通过。
物品示例(一条规则中包含多个物品),位于 data/my_pack/pufferfish_skill_gate_rules/diamond_tools.json:
{
"items": ["minecraft:diamond_sword", "minecraft:diamond_pickaxe", "minecraft:diamond_axe"],
"gates": ["attack", "break"],
"skills": [
{ "category": "my_skills:combat", "skill": "swordsmanship" },
{ "category": "my_skills:combat", "skill": "blade_mastery" }
]
}
方块示例(单目标同理,只需单条目列表),位于 data/my_pack/pufferfish_skill_gate_rules/crafting_table.json:
{
"blocks": ["minecraft:crafting_table"],
"skills": [
{ "category": "my_skills:crafting", "skill": "basic_crafting" }
]
}
实体示例,位于 data/my_pack/pufferfish_skill_gate_rules/villager.json:
{
"entities": ["minecraft:villager"],
"skills": [
{ "category": "my_skills:social", "skill": "trading" }
]
}
一条规则可以同时覆盖多个目标 — 这正是列表的用途。将共享相同技能需求和相同门控的所有内容归入单个文件,这样就不必在十几个规则中重复技能数组。
你还可以编写多条作用于同一目标的规则(通常用于对同一物品的不同操作进行限制)。当多条规则同时作用于同一目标和同一操作时,只要满足其中任意一条,玩家即可通过。
如果你把物品、方块、实体或技能 ID 打错了,模组会记录一条警告并跳过该规则,因此目标不会意外地被永久锁定。
注意事项
- 创造模式和旁观模式会绕过所有限制。创造模式下的玩家本来就能给自己任何物品,所以在那里强制执行没有意义。
/give服务端权威。 - 检查在服务端进行。服务端会把玩家的被阻止目标列表推送到客户端,这样动画(拉弓、挥击、破坏方块粒子)也会在本地被抑制,但服务端才是权威来源。Curios 是可选的。
- 未安装时,限制不会产生任何效果。没有错误,也没有警告。
equip_curio洗点安全。 - 如果玩家在穿着受限制的盔甲或饰品时洗点(锁定技能),这些物品会自动返还到其物品栏。该限制是按操作生效的,因此洗点时无需清理任何东西。
interact性能。 - 被阻止目标列表会在玩家加入时按玩家缓存,并在技能解锁或锁定时增量更新。不会每 tick 或每次操作都查询 Pufferfish’s Skills。方块上的潜行绕过。
- 潜行时,方块上的限制不会触发。这让玩家可以在受限制方块旁放置物品(或其他方块),而不会被告知无法交互。实体限制无论是否潜行都会触发。
interact动作栏消息 - 对于限制(方块和实体),会显示“你尚未解锁与 X 交互的技能”;对于基于物品的限制(攻击/破坏/使用/装备),会显示“你尚未解锁使用 X 的技能”。消息被限流为每秒一次,因此狂点也不会刷屏动作栏。
interact整合包政策
可在任何整合包中免费使用。欢迎附上指向本页面的链接。
常见问题
Pufferfish’s Skills Restrictions 支持哪些 Minecraft 版本?
Pufferfish’s Skills Restrictions 支持 Minecraft Java 版 1.20.1–1.21.1,共 2 个版本,可用的加载器:Forge / NeoForge。下载时注意选择和你游戏版本一致的文件。
Pufferfish’s Skills Restrictions 怎么安装?
先用 PCL2 或 HMCL 启动器安装对应版本的 Forge / NeoForge,再把下载的 .jar 文件放进游戏目录的 mods 文件夹,重新启动游戏即可。开启了版本隔离的,mods 文件夹在 versions/版本名 下面。
Silvertide 的其他作品
查看全部 →Project MMO: Farmer’s Delight Compat
农夫乐事的烹饪方块现在会为其制作的物品提供经验。
Project MMO: Skill Books
添加技能书,可为 Project MMO 的所有基础技能增加经验或等级。还可以制作自定义技能书,最多提供4种选项。
Project MMO: Iron’s Spellbooks Compat
为 Project MMO 和 Iron's Spells and Spellbooks 添加兼容性。
Homebound
以更平衡的方式传送回家。
评论
登录后评论和评分