
GlymeraLumberTower
自动伐木塔,内置4个箱子。每5秒向60格立方范围内的最近树木发射绿色光束,砍伐整根树干,将掉落物吸入其箱子中,并重新种植同种树苗。
查看大图GlymeraLumberTower - 自动砍树塔,内置储物箱
放置一个塔方块,它就会向附近的树木发射能量箭、砍倒树木、将木材吸入内置储物箱,并重新种植同种树苗——一切全自动完成。
大多数实际版本仅适用于 Hytale stable 5! 别忘了关注我的其他精彩项目——请查看 GlymeraCraft 的个人主页 Discord: https://discord.gg/s5NRFWfxgy
什么是 GlymeraLumberTower?
GlymeraLumberTower 添加了一座静态的 9 格高塔(17 块金砖 + 4 个内置储物箱),可完全自动化树木采集。放置它,然后走开。每五秒钟,它会扫描自身周围 60 格方块区域,对最近的树木发射绿色能量箭,砍倒整个树干柱,将掉落物吸入自己的箱子,并种下一棵匹配木材类型的替代树苗。当所有箱子都装满时,塔会暂停工作,直到你腾出空间。
单个 JAR 文件,无需设置。 将其放入你的服务器 mods/ 文件夹,然后在工作台制作此塔。
特性
全自动树木采集
- 每座塔 5 秒发射周期 - 扫描、发射、砍伐、吸取、重新种植
- 60 格切比雪夫立方体范围(3D 立方体,而非球体 - 符合玩家对方块范围的直觉认知)
- 选择最近的树木 - 当范围内有多棵树木时
- 视觉箭矢:从塔尖到树干有亮绿色粒子轨迹,外加命中打击效果,并伴有射击/命中音效
智能树干砍伐
- 一次射击砍断整个树干柱,不仅仅是底部方块
- 触发 Hytale 原生物理连锁反应来处理树枝和树叶(
breakBlock(x, y, z, 0x100)) - 生成树干自身的自然掉落物(程序化破坏路径原本会丢失这些掉落物)
掉落物吸取
- 命中后 1.5 秒,塔扫描其射击半径内的所有物品实体
- 树木掉落物过滤器:仅拾取木材、树叶、树枝和树苗 - 地面上无关的掉落物会保持原样
- 在四个内置储物箱之间轮询插入,自动跳过已满的箱子
- 视觉反馈:每次成功吸取时,塔尖会爆出绿色粒子
自动重新种植
- 每次成功砍伐后,在最近的土壤方块(Type=Soil 标签,范围比仅
Soil_*更广)上种植Plant_Sapling_<木材类型> - 每棵树一种树苗规则:如果 10 格范围内已有树苗,则跳过重新种植 - 这样对一棵树多次射击也不会产生一片树苗森林
- 树种匹配:橡木树干重新种植橡木,风暴树皮重新种植风暴树皮等(没有匹配树苗的树种 - 如烧焦木、冷杉 - 会被静默跳过)
整塔拆除防漏洞保护
- 四个箱子方块及其正下方的地板受到保护,无法被破坏或受损 - 否则挖掉地板会导致箱子作为物品因物理而掉落
- 破坏塔的任何方块(箱子、金砖、装饰顶部)将原子性地拆除整座塔,并向玩家返还一个单独的塔物品
- 所有箱子内容物会在塔基处生成物品掉落 - 生存模式玩家在收起塔时不会丢失存放的物品
- 非所有者无法破坏塔;OP 权限可覆盖
内置储物箱
- 4 个
Furniture_Dungeon_Chest_Epic方块组成塔的底座 - 右键点击即可像原版箱子一样打开 - 当所有四个箱子完全装满时,塔会暂停发射 - 不会因塔溢出而销毁物品
- 箱子内容物在服务器重启后仍会保留(Hytale 原生持久化机制)
配方开关
- 默认启用工作台配方
- 在
config.json中设置recipesEnabled: false以禁用制作,让管理员通过/give分发
制作
此塔在工作台(制作 → 生存工作台 类别)中制作:
| 材料 | 数量 |
|---|---|
浓缩生命精华(Ingredient_Life_Essence_Concentrated) |
3 |
金锭(Ingredient_Bar_Gold) |
5 |
输出:1 × GlymeraLumberTower(5 秒制作时间)
管理员也可以使用 /give <玩家> GlymeraLumberTower 直接发放。
命令
/lumbertower 的所有子命令默认均为仅 OP 可用(用于修改世界或管理的命令)。
| 命令 | 描述 |
|---|---|
/lumbertower spawn |
在你脚下放置一座塔(西北角底部箱子为锚点) |
/lumbertower remove |
移除该世界中最近的塔(干净移除,不会掉落物品) |
/lumbertower list |
显示该世界中的塔数量(你的 / 总数量) |
/lumbertower capture <半宽> <高度> |
重新捕获你周围的结构作为新的塔模板 |
/lumbertower captureat <x> <y> <z> <半宽> <高度> |
同上,但指定明确的锚点位置 |
配置
配置文件:mods/de.glymera_GlymeraLumberTower/config.json(首次启动时自动生成)
{
"_info": "GlymeraLumberTower v1.0.0 - 自动砍树塔。",
"fireRadius": 60,
"cooldownMs": 5000,
"fireTickMs": 1000,
"maxTreeHeight": 32,
"projectileSpeed": 50.0,
"recipesEnabled": true
}
| 字段 | 描述 |
|---|---|
fireRadius |
3D 切比雪夫半边长,以方块为单位(默认 60 → 121×121×121 搜索立方体) |
cooldownMs |
每座塔每次射击之间的毫秒数(默认 5000 = 5 秒) |
fireTickMs |
塔的发射循环运行的频率(默认 1000 = 1 秒) |
maxTreeHeight |
砍伐时遍历的最大树干柱高度(默认 32) |
projectileSpeed |
能量箭飞行速度,以方块/秒为单位(默认 50 → 在 60 格距离下约 1.2 秒) |
recipesEnabled |
如果为 false,工作台配方将被禁用 - 管理员通过 /give 分发 |
安装
将单个 JAR 文件放入你服务器的 mods/ 文件夹:
mods/GlymeraLumberTower-1.0.0.jar
大功告成。JAR 文件包含所有内容:插件代码、默认塔模板、方块和配方定义、粒子系统、音效、图标和语言文件。配置文件、模板和塔数据文件会在首次启动时自动生成到 mods/de.glymera_GlymeraLumberTower/ 目录下。
技术细节
- 一体化 JAR 文件,包含
IncludesAssetPack: true- 无需单独的资源包文件夹 - 默认塔模板作为
/default-template.json内置于 JAR 中,首次启动时提取到数据目录(遵循 GlymeraObelisk 模式) - 树干砍伐使用
world.breakBlock(x, y, z, 0x100)来触发 Hytale 原生的邻居更新连锁反应(setBlock("Empty")低级路径会静默删除方块,不会向树枝和树叶传播更新) - 树干掉落物通过
ItemComponent.generateItemDrops手动生成,因为程序化破坏路径不会产生自然的掉落管线输出 - 底部树干检测会过滤掉其下方方块不是同一树干类型的树干(Hytale 自然树木的底部原木下方有
Wood_*_Roots,且Material:Empty) - 土壤检测使用
Type=Soil标签,而非Soil_*名称前缀 - 这也能捕获Pathway_*和其他树苗可接受的带标签方块 - 树苗重新验证间隔:Hytale 在
setBlock时不会验证Support.Down,仅在第一个生长刻时才验证。对现有树苗的 10 格半径检查确保一棵树对应一棵树苗,无论被击中多少次 - 原子性保护在两个映射中跟踪:
blockPosToLumberTower(21 个塔方块)和supportPosToLumberTower(箱子下方的 4 个地板位置)。对任一映射的破坏/伤害事件都会触发原子性拆除;拆除时,所有箱子内容物通过ItemContainerBlock.getItemContainer().getItemStack(i)提取并生成为物品掉落物 - 持久化是原子性的(
.tmp+ATOMIC_MOVE),防止崩溃时产生零字节文件
注意事项
- 塔不会跨世界瞄准。 每座塔仅扫描其自身所在的世界。
- 塔不会瞄准树枝或树叶。 仅针对底部树干方块 - 树枝和树叶会在树干被破坏后通过物理连锁反应倒下。
- 彼此范围重叠的多座塔会独立发射。如果两座塔吸取相同的掉落物,箱子内容物可能会出现冗余填充 - 这没问题,物品不会被复制。
- 塔放置使用玩家的脚部位置作为西北角底部箱子的锚点。 使用
/lumbertower spawn时,请确保你的脚下有 3×3 的空地。 - 配方与 GlymeraObelisk 配方相同(3 个浓缩生命精华 + 5 个金锭,在生存工作台制作)。两个物品在工作台中显示为单独的可制作条目 - 玩家选择制作哪一个。
由 Glymera 为 Hytale 社区精心制作
正在加载版本记录…


正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。