SlashLoot

SlashLoot

每个玩家独立的自然生成箱子、木桶、潜影盒和矿车战利品——仅限服务器端,无需客户端模组。

SlashLoot

为自然生成的箱子、木桶、潜影盒和矿车提供每位玩家独立的战利品——纯服务端模组,客户端无需安装。

每位打开自然生成容器的玩家,都会获得属于自己的一份战利品。打开一座矿洞箱子,你会得到自己的那份;你的朋友打开同一个箱子,也会得到他们自己独立的一份。再也不必争抢地牢,也不会有人赶到时发现箱子已被别人清空。

你自己放置的容器永远不会受影响——你建造的箱子、木桶和潜影盒与原版行为完全一致。

纯服务端——玩家无需安装任何内容

SlashLoot 完全在服务器端运行。玩家使用原版 Fabric 客户端即可连接:他们无需安装模组,也无需在你更新模组时进行任何更新。SlashLoot 永远不会替换方块或其方块状态,因此容器始终是真正的 minecraft:chest(或木桶、潜影盒、矿车等)。数据包谓词、/data 查询、计分板选择器和结构保存所看到的仍然是普通的原版方块。

功能特性

  • 每位玩家独立的战利品实例,适用于自然生成的容器。一人开启 = 一份个人战利品。
  • 服务器重启后依然保留。 每位玩家的个人战利品按维度保存。
  • 重新打开时内容稳定。 关闭界面时仍有物品留在其中,下次打开时它们依然在那里。
  • 玩家放置的容器不受影响——你建造的任何东西都保持完全原版行为。
  • 支持大型箱子。 每一半独立追踪各自的玩家战利品;打开任意一半都会显示合并后的 54 格界面。
  • 可配置。 支持按维度和按战利品表列入黑名单,以兼容冒险地图。
  • 管理员指令,可在需要时清除个人战利品。

覆盖的容器类型

  • 箱子、陷阱箱、木桶、潜影盒
  • 箱子矿车、漏斗矿车、箱子船
  • 大型箱子(合并后的 54 格界面)

安装方法

  1. 将与你 Minecraft 版本匹配的 JAR 文件放入服务器的 mods/ 文件夹。
  2. 将对应的 Fabric API 版本放入同一文件夹。
  3. 重启服务器。

就这么简单。客户端使用原版 Fabric 连接——无需在客户端安装任何内容。

支持的游戏版本

选择与你服务器 Minecraft 版本匹配的 JAR,并使用列出的 Fabric API 版本。

Minecraft Fabric API
1.20.1 0.92.2+1.20.1
1.20.5 0.97.8+1.20.5
1.21 0.102.0+1.21
1.21.1 0.115.6+1.21.1
1.21.2 0.106.1+1.21.2
1.21.4 0.114.0+1.21.4
1.21.6 0.128.1+1.21.6
1.21.9 0.134.1+1.21.9
1.21.11 0.141.2+1.21.11
26.1.2 0.146.1+26.1.2

配置

首次启动时会生成 config/slashlootr.json 文件:

{
  "dimensionBlocklist": [],
  "lootTableBlocklist": [],
  "playOpenCloseSounds": true
}
  • dimensionBlocklist — 在此列出的维度(例如 "minecraft:the_nether")中,SlashLoot 将被禁用,并应用原版战利品行为。
  • lootTableBlocklist — 需要跳过的战利品表(例如 "minecraft:chests/buried_treasure")。对于有意共享战利品的冒险地图非常有用。
  • playOpenCloseSounds — 在个人菜单打开时播放箱子开启音效。

管理员指令

所有指令都需要权限等级 2(管理员)。

指令 效果
/slashloot forget here 清除你正在查看的方块处所有玩家的个人战利品
/slashloot forget at <x> <y> <z> 同上,但按坐标指定
/slashloot forget player <player> 清除某位玩家在当前维度所有容器处的个人战利品

已知限制

  • 没有箱子盖动画。 开启音效会播放,但盖子保持关闭——个人菜单绕过了原版的 ContainerOpenersCounter。
  • 漏斗无法从自然生成的箱子中抽取物品。 世界中的容器按设计保持“未开启”状态,因此连接的漏斗会将其视为空容器。玩家放置的箱子不受影响。
  • 比较器从自然生成的箱子读取的输出为 0,原因同上。
  • 饰纹陶罐和可疑的沙子/沙砾 不在覆盖范围内——它们使用不同的(刷扫)机制。

源码与链接