项目:拯救宠物!

项目:拯救宠物!

保护你的宠物免受你的伤害,给它们第二次生命的机会!

项目:拯救宠物!

版本: 4.0.1-alpha
许可证: Apache-2.0
客户端/服务端: 任一侧(客户端功能有限)
Forge/Fabric/Quilt: 全部支持
贡献者: Sisby folk (they/them)

保护你的宠物免受你自己、朋友以及环境的伤害,给它们重获新生的机会!

可在客户端(功能有限)或服务端运行(单人游戏同时算作两者)。与大多数模组不同,本模组在没有对方的情况下也能在任一侧运行。如果安装在服务端,所有客户端都将获得服务端功能。如果安装在客户端,你可以毫无问题地加入原版服务器。

Forge、Fabric 和 Quilt 版本具有相同的功能和配置文件,并且可以互相兼容(例如:原版/Forge 服务端搭配 Fabric/原版客户端)。

依赖项

Minecraft 1.20.0+

Java 版本: 19+

Fabric Loader: 0.14.0+
Fabric API: 0.87.0+

Forge Loader: 47.0.0+

Quilt Loader: 0.20.2+
Quilted Fabric API: 7.1.2+

功能

保护(客户端/服务端)

你的宠物将受到保护,免受各种来源的伤害,无论是你造成的、朋友造成的,还是环境造成的。

朋友或你造成的伤害(客户端/服务端)

你或你的朋友造成的伤害可以被阻止。以下伤害来源可用且默认启用:

  • 直接攻击(客户端或服务端)
  • 爆炸(仅限服务端)
  • 弹射物(仅限服务端)
  • 横扫攻击(仅限服务端)

环境伤害(仅限服务端)

出于平衡考虑默认禁用。可以启用以下保护来保护你的宠物:

  • 爆炸
  • 甜浆果丛
  • 火焰/熔岩
  • 细雪的冰冻
  • 溺水

白名单(客户端/服务端)

你可以将朋友加入白名单,使他们受到模组的保护。你只需要提供用户名或账户的 UUID,其他值会自动生成。服务端和客户端的行为有所不同。

服务端

加入白名单的用户将受到所有玩家的保护。

客户端

主人位于白名单中的实体将受到保护,免受你造成的伤害(受客户端功能限制)。

原版队伍(客户端/服务端)

同一原版队伍中且关闭了友军伤害的玩家无法伤害彼此的宠物。出于平衡原因和客户端漏洞问题,此功能默认禁用。

注意: 客户端实现可能会导致游戏冻结几秒钟,因为原版队伍系统使用的是用户名而非 UUID。

复活(仅限服务端)

当你的宠物死亡时,会掉落一张便签。你可以手持便签右键点击铜块或你配置的其他方块来使用该便签复活宠物。方块将被消耗,宠物将重生!再也不用想念你的朋友了!

宠物转移(仅限服务端)

你可以手持木棍或其他可配置物品,蹲下并右键点击宠物来获得宠物的所有权。

但是,此功能默认禁用,且服务端白名单中的用户不受此功能影响。你只能转移与你为朋友关系(同一原版队伍或已禁用 PvP)的宠物。

解除驯养(仅限服务端)

不想要你的宠物了,或者想把它送给别人?你可以蹲下并使用剪刀或其他已配置的物品来解除所有权。

伤害你的宠物(仅限客户端)

攻击时按住 Shift 键或你配置的按键将绕过客户端保护并伤害宠物。我不确定你为什么想这样做,但以防万一,此功能就在这里。

注意: 如果服务端安装了该模组,此功能将被移除。

玩家保护(客户端/服务端)

默认禁用,你可以将玩家加入你的白名单(参见白名单的行为),从而无法伤害他们或他们的宠物!

注意: 此功能可能因为你改变了服务器中 PvP 的工作方式而导致被封禁。请谨慎使用。

配置

该模组高度可配置,提供各种选项来启用或禁用功能,以满足用户想要的体验。

配置文件基于 JSON 格式。请参阅文件 CONFIG.md 获取带注释的示例。

API(面向开发者)

该模组从编程角度设计为高度可配置,允许其他模组调整或添加行为。

许多方法和接口可供使用,以便轻松添加新的环境伤害保护、新的受保护实体类型,甚至处理保护方式的逻辑(适用于 Factions 等类似模组)。

我建议查看源代码获取灵感。主要关注以下区域:

  • dcp.mc.projectsavethepets.ProjectSaveThePets - 主实例和逻辑处理器
  • dcp.mc.projectsavethepets.apis.* - 包含模组使用的接口
  • dcp.mc.projectsavethepets.blockers.* - 防止友军伤害的代码
  • dcp.mc.projectsavethepets.entities.* - 受保护的实体
  • dcp.mc.projectsavethepets.mixins.* - 用于防止特定来源的伤害
  • dcp.mc.projectsavethepets.notes.* - 复活便签 NBT 处理器

常见问题解答

Forge 呢?

已经支持了!我还加入了 Quilt Loader 的支持!

整合包呢?

随便用!我完全允许你将本模组加入你的公开或私人整合包中。无需注明出处!

我可以在我的模组中使用它吗?

当然可以!同上!

嘿!我看到了你的代码,想用其中一段!

没问题,我不介意!只要不是整文件明显复制粘贴就行!如果可能的话希望提到我,但这不是必需的。

我需要 Fabric API/Quilted Fabric API 吗?

是的,模组需要它来实现自定义按键绑定。但仅当你使用 Fabric/Quilt 版本的模组时才需要!

这是客户端还是服务端模组?

它可以在没有安装模组的服务端上以客户端模式运行。但是,许多功能将不可用。这在公共原版服务器上与朋友一起游玩时更有用,这样宠物之间就不会爆发战争。注意: 对于在公共服务器上使用此模组导致的封禁,我们概不负责。

但是,如果服务器安装了该模组,玩家无需安装即可获得所有功能。

尽情享受吧!

我的客户端需要这个模组吗?

仅当服务器未安装此模组以及进行单人游戏/局域网游戏时才需要!更多信息请参阅上文。

局域网多人游戏能使用这个模组吗?

可以!只要主持游戏的人安装了模组,所有人就都能使用所有功能!

我有问题或遇到了 Bug。

欢迎在下方评论区提问,但我更希望你通过 GitLab 仓库提交 Bug 报告!谢谢!

我有建议或想要添加的功能!

同上,欢迎评论!我会尽力添加,即使出于平衡原因我不同意(例如环境伤害保护)。我觉得模组应该适应你的需求,即使是很小众的需求。所以它可能默认在配置中被禁用,但你随时可以启用它!