如何在 Paper 服务器上给新玩家发新手礼包
想只给新玩家发新手礼包,就在“玩家加入”触发器上加一个“首次进服”条件,再按礼包里的物品, 每件物品加一个“给予物品”动作。这条规则可以在 NimBlock 的工作室里拼好,放到你现有的 Paper 服务器上运行,不用写 Java。已经在你服务器上玩过的玩家不会收到礼包,新玩家只会在 第一次进服时收到一次。
首次进服的 Minecraft 新手礼包能做什么
本教程里的礼包是一把石剑、一把石镐和 16 个面包,随后会给新玩家发一条私聊消息, 告诉他们刚收到了什么。玩家第一次加入你的服务器时,礼包会自动发放。不用输入命令, 也不用设置权限。
这里的“第一次”沿用 Paper 本身的判断:在进服之前,服务器从来没有保存过的玩家。运行库自己不记任何名单, 也没有计数器。正因为这样,这个礼包能用在你已经在运行的服务器上;也正因为这样, 它有几件事做不到,下文会列出来。
本教程使用 NimBlock 的积木编辑器,以及它单独提供的免费运行库。有 NimBlock 账号就能保存规则。要运行它,你需要一台现有的 Minecraft Java 版服务器,且服务器托管商允许上传插件。下面的步骤针对 Paper 1.21.11 和 Java 21。你的服务器不需要托管在 NimBlock。
在工作室里搭建新手礼包规则
- 在 NimBlock 中打开你的插件,新建一个插件。编辑器一开始会带一条欢迎规则,你可以保留,也可以删掉。
- 从规则中拖一条新规则到插件里,命名为新手礼包。
- 从触发器中,把玩家加入服务器放进它的当槽位。
- 从条件中,把玩家首次到访放进它的如果槽位。
- 从动作中,添加三次给予玩家物品:
STONE_SWORD数量 1,STONE_PICKAXE数量 1,BREAD数量 16。 - 最后添加向玩家发送消息,例如欢迎 {player}!这是给你的新手礼包,开始吧。
{player}要原样保留:运行库会把它替换成玩家的名字。 - 保存插件。在插件页面上,把显示的完整 JSON 复制到一个名为
starter-kit.json的纯文本文件里,以 UTF-8 编码保存。
物品用它们在 Minecraft 中的英文 ID 书写,例如 IRON_AXE 或
COOKED_BEEF。把这三件物品换成你自己的礼包内容即可:每件物品一个动作,
各自填好数量。公开语法
列出了所有可用的触发器、条件和动作。
安装到你现有的 Paper 服务器
- 下载 NimBlock 运行库。关闭服务器,把运行库的
.jar直接放进plugins/,然后启动服务器。 - 用
/plugins确认 NimBlock 已启用。Paper 的插件安装指南说明了插件加载失败时如何排查。 - 把
starter-kit.json上传到plugins/NimBlock/specs/。文件夹名的大写字母要保留。如有需要,先创建这个文件夹。 - 以服务器管理员(OP)身份执行
/nimblock reload,再执行/nimblock list。应该能看到你保存的插件名。在服务器控制台里输入时,去掉开头的斜杠。
测试前,先修正重载时报告的所有错误。物品名写错只有在规则运行时才会被发现, 所以第一次测试前要检查每件物品的拼写。
用从没进过服的账号测试
你自己的账号已经在服务器上玩过,所以收不到礼包,这说明规则在正常工作。请用一个从没进过 这台服务器的 Minecraft Java 版账号测试,比如朋友的账号;或者在服务器副本上用一个全新的世界测试。 该账号第一次进服时,应该收到石剑、石镐、面包和那条消息。断开连接,稍等片刻再重新连接: 不应该再收到任何东西。
在你安装规则之前就进过服的玩家不算新玩家,不会收到礼包。加载规则也不会为之前进过服的玩家补发礼包。
首次进服礼包的限制
- 每个玩家一次,前提是服务器还记得他们:这个条件读取的是 Paper 自己的玩家数据。如果你开了新世界,所有人又都成了新玩家,会再次收到礼包;如果你删除了某个玩家的数据,只有这个玩家会重新成为新玩家,再次收到礼包。
- 整个首次游玩期间都成立:这个条件不只是在进服那一刻为真,而是一直持续到该玩家断开连接为止,即使服务器在此期间保存了数据也一样。请把它放在玩家加入服务器下面;如果放在其他触发器下,比如重生,新玩家可能在首次游玩期间收到第二份礼包。
- 没有每日礼包、没有冷却、没有计数器:运行库只对事件做出反应,不记住任何东西,所以无法“每天发一次”或“每个玩家发三次”。
- 普通物品:这个动作只能设定物品类型和数量。不支持附魔和自定义名称。
- 物品栏已满:放不下的物品会掉在玩家脚下。新玩家的物品栏通常是空的,所以这种情况很少出现。
修改礼包,不用重装运行库
在工作室里编辑规则并保存为新版本。用新保存的 JSON 替换同一个
starter-kit.json 文件的内容,然后执行
/nimblock reload。下一个新玩家会收到新礼包;已经领过旧礼包的玩家
不会再收到任何东西。如果新旧两个文件都留着,两条规则都会被加载,会发出两份礼包。
你可以在自己兼容的 Paper 服务器上使用运行库,不用购买 NimBlock 托管服务。 你的规则始终是一个可读的 JSON 文件,你可以查看它,并和服务器备份放在一起保存。