跳到正文

Harvest Sprites

作者:MongoTheElder

利用跨维度精灵的力量收割作物

收藏

截图

介绍

介绍由机器翻译自 CurseForge 原页面,仅供参考。

Harvest Sprites

Harvest Sprites

人们对这些跨维度的小精灵知之甚少。你看不见它们,也摸不着它们,但只要给它们一些食物、少许光亮和一盏可供栖身的精灵灯,它们就会乐意帮你收获作物。收获后,小精灵似乎对作物毫无兴趣;除非附近有精灵储藏箱,否则它们只会把作物丢在地上。如果你保持安静,探头看看储藏箱时,或许能听见小精灵在附近活动的声音。用饱腹度高的食物喂养小精灵,它们就能一次收获更多作物。此外,食物提供的生命值越多,效果持续的时间就越长。

Harvest Sprites 是一款适合游戏前期使用的模组,能让小精灵用食物作为交换来收获作物。默认情况下,小精灵会收获以精灵灯为中心的 9×9 区域内、上下最多 4 格范围中的作物。精灵储藏箱若在精灵灯 5 格范围内,就会收集收获的物品。

作物会自动重新种植,但种子必须先由玩家手动种下(也可以使用其他种植机制)。

精灵灯会根据其物品栏中的食物数量发出红石信号。你可以利用原版机制自动为精灵灯补充食物。

 红石自动化

注意:很抱歉,小精灵不会收获树木、花朵、高草、下界疣、蘑菇、南瓜或西瓜(这些作物的精灵属于另一个工会)。

遇到问题或有建议?请访问问题反馈页面。

版本历史

1.1.0 添加了红石信号支持,可用于原版自动化

1.0.0 首次发布

技术详情

这款模组旨在兼顾服务器性能,并提供了一些配置选项来调整运行速度。只有精灵灯具备自动化功能,储藏箱只是由精灵灯检测到的被动储存容器。精灵灯和储藏箱都实现了无方向限制的物品栏,因此兼容物品运输类模组。

配置

配置参数的含义应该不难理解,下面提供一些调整模组设置的建议。

ticks_per_cycle 参数控制每隔多少游戏刻进行一次收获循环。这个参数对服务器性能的影响可能最大,因此请谨慎设置,不要把循环间隔设得太短。除非你需要以牺牲服务器性能为代价来获得更及时的收获效果,否则不要将其设得低于默认值。

harvest_rate 控制每个循环的收获作物数量,并根据提供给精灵灯的食物饱腹度进行计算。例如,在精灵灯中放入胡萝卜(饱腹度值为 0.6),并将收获率设为 5,则每个循环最多可收获 3 株作物。建议延长收获循环的间隔(增大 ticks_per_cycle 参数),同时增加每个循环收获的作物数量。

harvest_range 和 harvest_height 参数控制精灵灯的收获扫描区域。范围过大会影响服务器性能,因此请设置在合理范围内。

hoard_range 和 hoard_height 参数则控制精灵灯用于定位储藏箱的扫描区域。储藏箱的数量对性能影响很小。默认扫描范围比收获范围多一格,以减少定位储藏箱时需要扫描的方块数量。

其余配置参数不会影响性能。

‘food_consumption_rate‘ 用于调整灯每收获一次时,每点生命值对应的食物持续时间。食物提供的生命值越多,持续时间就越长。提高此数值会降低食物消耗需求。将此数值设为 0 会禁用食物消耗,但仍需给灯放入一份食物,以设定饱和度速率(见 ‘harvest_rate‘)。

‘consume_only_on_harvest‘ 用于设定是否只在收获时消耗食物;如果没有可收获的作物,是否仍会持续消耗食物。

‘suppress_seed_drops‘ 会筛选作物收获时掉落的物品,移除主要作物对应的种子。如果作物会掉落两种或更多种子,则只会筛除与该作物对应的种子。此参数可用于控制种子的获取量,或清理多余种子。

‘randomize_hoards‘ 会将作物产出分配到所有可用的储藏箱中。如果设为 ‘false’,则会按照扫描顺序选择储藏箱,并且长期保持一致。设为 ‘true’ 时,则会随机打乱储藏箱列表,避免作物集中在同一个储藏箱里。

‘enable_light‘ 用于控制精灵灯激活时是否发出相当于火把的光亮。

‘emit_redstone‘ 允许精灵灯根据其物品栏槽位中的食物数量发出相应强度的红石信号。

原理说明

在底层逻辑中,只有精灵灯具有智能。破坏灯后,它的物品栏和当前食物状态会保留。储藏箱则是一个被动储存方块,其设计基于原版木桶,破坏后不会保留其中的物品。

灯会在每个收获周期扫描一次配置区域,并列出可收获的方块。随后会随机打乱列表,并收获不超过收获上限数量的作物。灯不会破坏作物,而是收集作物被破坏时本应掉落的物品,并将作物年龄重置为零。这意味着,如果作物下方的耕地不再适合种植,但又没有使种子弹出,作物仍有小概率可以继续被收获。这样设计是有意为之:灯无需配备耕地工具,无需储备种子来重新种植,也无需担心其他方块干扰种植。这与提供右键收获功能的模组采用的机制类似。由于灯无法种植作物,因此所有作物都必须通过其他方式种下,例如由玩家种植或使用其他自动化装置种植。

只有 CropsBlock 的子类作物才可以收获。这意味着某些模组作物可能不兼容。灯会通过作物的年龄(使用 isMaxAge() 方法)判断其是否可以收获,并将年龄重置为 0。掉落物根据战利品表计算,并从掉落物中扣除一件种子,以模拟重新种植。

任何对 isFood() 返回肯定结果的物品都可以为灯供能;在该物品被消耗前,灯会使用其生命值和饱和度数值。因此,几乎所有食物物品,无论是原版还是模组添加的,都应该可以用于这盏灯。

储藏箱并非像范围收集器或真空箱那样的通用收集方块。它是一个被动储存方块,灯会寻找它来存放收获的物品,而不是将这些物品丢在世界中。

常见问题

Harvest Sprites 支持哪些 Minecraft 版本?

Harvest Sprites 支持 Minecraft Java 版 1.15.2–1.16.5,共 5 个版本,可用的加载器:Forge。下载时注意选择和你游戏版本一致的文件。

Harvest Sprites 怎么安装?

先用 PCL2 或 HMCL 启动器安装对应版本的 Forge,再把下载的 .jar 文件放进游戏目录的 mods 文件夹,重新启动游戏即可。开启了版本隔离的,mods 文件夹在 versions/版本名 下面。

评论

登录后评论和评分

MongoTheElder 的其他作品

查看全部 →