- 查看: 130
- 回复: 1
[MD]
# Auto Torch
适用于 Minecraft 1.7.10~26.3 / NeoForge、Forge、Fabric 和 网易版 的自动插火把和光照显示模组。
> 下载地址:https://modrinth.com/mod/auto-torch-skr
## 开发原因
挖空置域太麻烦了,然后手动插火把也容易遗漏。然后现有的光照显示功能也不支持溺尸和沼泽史莱姆特判,做沼泽刷怪塔或点亮河底时候就不方便了,于是就有了这个模组。
## 简介
- 默认按 `G` 打开选区面板,可以设置区间或附近自动插火把功能
- 默认按 `F7` 开关光照显示,支持溺尸和沼泽史莱姆特判
| 附近插火把 | 光照显示 | 区间插火把 |
| ---------- | -------- | ------------- |
| 纯客户端 | 纯客户端 | 客户端+服务端 |
## 图例
> 在下面示例那里
[/MD][MD]
[ATTACH type="full"]147273[/ATTACH]
[ATTACH type="full"]147274[/ATTACH]
[ATTACH type="full"]150543[/ATTACH]
[/MD]
[MD] ## 使用 - 默认按 `G` 打开选区面板,按 `F7` 开关光照显示,支持修改按键绑定。 - 也可以使用命令,完整用法见 [命令使用文档](./docs/命令使用.md)。 - 光照显示功能: 支持 `X` 标记、数字和方框数字三种样式显示方块光照等级,显示范围 水平:1~64 格,竖直:可选上下各64格(最大64格)(优化过性能)。 | 颜色 | 含义 | | ---- | ---- | | 红色 | 任何时间刷怪 | | 黄色 | 夜间刷怪 | | 绿色 | 不刷怪 | | 紫色 | 沼泽史莱姆夜间刷新 | | 青色 | 溺尸刷新 | - 附近自动插火把功能: 搜索玩家附近两格内的有效位置,使用右键交互放置物品栏的火把,光照等级低于阈值时才会放置(可选择是否计算天空光)。 - 区间自动插火把功能: 选取 A/B 两点,定义长方体(对角线)或球体(球心/半径),支持用选区工具选择。然后设置为照明范围(绿色)或排除区(红色),调整方块光阈值并点击“开始任务”即可。支持一个照明范围和多个排除区。 - 全部的功能都在上图中的设置面板中 ## 详细说明 ### 附近自动插火把 - 开启后每 10 tick (0.5秒)扫描一次玩家水平半径 2 格、纵向 -2~+1 格内的位置,从近到远插火把,失败后 40 tick (2秒) 后再重试。 - 只会在空气、无流体等火把可以正常存活且不会与玩家碰撞的位置放置。 - 必须要快捷栏中有火把(包括副手) - 可以设置触发放置的光照阈值(1~16),和是否计算天空光 ### 光照显示 - 默认按 `F7` 开关,也可以在 `G` 面板中设置。 - 以当前视角为中心,显示范围水平可设为 1~64 格,纵向可选上下各64格(最大 64);支持灵魂出窍等mod。 - 支持 `X` 标记、数字和方框数字三种显示样式。 - 支持透视渲染,数字跟随视角旋转。 - 标记会检查当前位置是否会刷怪,还会特判沼泽史莱姆和溺尸的刷新条件,并用不同颜色标记。 ### 区间自动插火把 - 可通过输入坐标,或用选区工具左键/右键选择两点。 - 长方体以 A/B 为两个对角点;球体以 A 为球心、A 到 B 的直线距离为半径。 - 可设置一个绿色照明范围和多个红色排除区。具有多种显示方式。 - 可设置任务的方块光上限(0~15),任务处理方块光≤该值、2格高为空气、且可站立、方块光为 `0` 的位置。可以跳过有天空光的位置。 - 火把位置优先选择暗点脚下,否则会在附近随机寻找有效位置;只处理已加载区块,不会强制加载区块。 - 扫描分两轮执行:第一轮使用设定的最小间距,第二轮使用更小间距进行补齐。 - 可限制任务最多放置的火把数,`0` 表示无限;可设置是否消耗背包中的普通火把。 - 同一玩家同时只保留一个任务;新的会覆盖旧的。 ## 配置文件 首次加载后会自动生成两类配置文件。 配置文件中的开关布尔值使用 `true`/`false`(不要加双引号)。 ### 客户端配置 文件位置:`config/autotorch-client.toml` ```toml [nearbyAutoTorch] # 是否启用附近自动插火把。 enabled = false # 光照低于此值时尝试放置火把,范围 1~16。 lightThreshold = 4 # true:使用方块光与天空光中的较大值;false:只判断方块光。 includeSkyLight = false # 扫描间隔,1~40 tick。 scanIntervalTicks = 10 # 连续黑暗确认时间,5~40 tick,步进 5。 darkConfirmTicks = 10 # 同一位置重试等待,10~100 tick,步进 10。 retryDelayTicks = 40 # 水平扫描半径,1~4 格;纵向范围固定 -2~+1。 horizontalRadius = 2 # 自动放置使用的方块物品 ID,需放在副手或快捷栏。 item = "minecraft:torch" [lightOverlay] # 是否启用光照显示。 enabled = false # 是否开启透视渲染,开启后可以看到被方块遮挡的标记。 renderThrough = false # true:光照数字跟随视角旋转;false:数字固定不随视角转动。 numberRotation = true # 以当前相机为中心的水平显示范围,范围 1~64 格。 horizontalRange = 16 # 相对当前相机向下扫描的格数,范围 0~64;与 upRange 之和不超过 64。 downRange = 16 # 相对当前相机向上扫描的格数,范围 0~64;与 downRange 之和不超过 64。 upRange = 4 # 显示样式:0=X 标记,1=数字,2=方框数字。 mode = 0 # 是否标记符合原版条件的沼泽史莱姆刷新位置。 detectSwampSlimes = false # 是否标记符合原版条件的溺尸刷新位置。 detectDrowned = false # 每 tick 扫描预算,2000~48000,步进 2000。 scanBudgetPerTick = 12000 # 定期复查间隔,20~400 tick,步进 20。 refreshIntervalTicks = 100 # 溺尸遮挡检测每帧预算,16~256,步进 16;仅 26.2 及更新版本使用。 drownedBudgetPerFrame = 64 # 近处线宽,0.25~8.0;远处最低线宽,0.75~2.5。 nearLineWidth = 2.5 farLineWidth = 0.75 # 标记颜色,使用 6 位十六进制 RGB,不带 #。 alwaysRiskColor = "FF3030" nightRiskColor = "FFD23C" safeColor = "50E060" swampSlimeColor = "E050E0" drownedColor = "40D8E8" # 标记透明度,0~255。 markerAlpha = 224 [selectionOverlay] # 是否显示照明范围和排除区。 enabled = true # true:只显示轮廓线;false:显示半透明面。 linesOnly = false # 是否使用更平滑的球形选区显示。 smoothSpheres = false # 近处线宽,0.25~8.0;远处最低线宽,0.75~3.0。 nearLineWidth = 3.0 farLineWidth = 0.75 # 草稿、照明范围、排除区颜色,使用 6 位十六进制 RGB。 draftColor = "70A0FF" mainColor = "50FF70" exclusionColor = "FF5050" # 选区面、排除区面的透明度,0~255。 faceAlpha = 40 exclusionFaceAlpha = 48 # 球体水平、垂直分段数,12~48,步进 4。 sphereLongitudeSegments = 24 sphereLatitudeSegments = 12 # 选区工具,接受有效的非空气物品 ID。 toolItem = "minecraft:wooden_axe" # 是否启用手持选区工具左键/右键选取 A/B 点;关闭后该物品恢复原版交互。 selectionToolEnabled = true # 区间插火把界面的转换与互换按钮是否用符号显示;false 时显示文字。 symbolButtons = false [lightingTaskDefaults] # 任务默认最大火把数,范围 0~4096,步进 128;0 表示无限。 maxTorches = 0 # 火把默认最小间距,范围 1~12 格。 minSpacing = 8 # 处理方块光小于或等于此值的位置,范围 0~15;0 表示只处理方块光为 0 的位置。 lightThreshold = 0 # 是否默认包含有天空光的位置;false 表示只处理无天空光的位置。 includeSkyLight = false # 创造模式是否默认消耗背包中的火把。 creativeConsumeTorches = false # 单人游戏中,生存模式是否默认消耗背包中的火把。 # 多人游戏以服务端 gameplay.survivalConsumesTorches 为准。 survivalConsumeTorches = true # 是否启用木斧左键/右键选取 A/B 点。 woodenAxeSelectionEnabled = true ``` ### 服务端配置 文件位置:`<世界目录>/serverconfig/autotorch-server.toml` 单人位置:`config/autotorch-server.toml` > 26.3 的配置被 NeoForge 改名为了 `autotorch-synced.toml` ```toml [lightingTask] # 是否允许运行区间自动插火把任务;关闭会停止已有任务并拒绝新任务。 enabled = true [limits] # 长方体任一边允许的最大长度,范围 1~321 格。 maxBoxAxisLength = 321 # 球形选区允许的最大半径,范围 1~160 格。 maxSphereRadius = 160 # 单个任务允许提交的最大排除区数量,范围 0~32。 maxExclusions = 32 # 单个任务允许设置的最大火把数,范围 1~4096。 maxTorchesPerTask = 4096 # 是否允许客户端将最大火把数设为 0(无限)。 allowUnlimitedTorches = true # 客户端可设置的火把间距下限和上限,范围均为 1~12。 minSpacing = 1 maxSpacing = 12 # 全服可同时运行的任务数,范围 1~1024。 maxConcurrentTasks = 64 [gameplay] # 生存模式任务是否必须消耗玩家背包中的普通火把。 survivalConsumesTorches = true [performance] # 每个任务每 tick 最多扫描的方块数,范围 1~120000。 scanBudgetPerTaskTick = 12000 # 每个任务每 tick 最多放置的火把数,范围 1~64。 placeBudgetPerTaskTick = 8 # 全服所有任务每 tick 最多扫描的方块总数,范围 1~240000。 globalScanBudgetPerTick = 24000 # 全服所有任务每 tick 最多放置的火把总数,范围 1~256。 globalPlaceBudgetPerTick = 16 # 为每个暗点寻找可放置火把位置时的最大尝试次数,范围 1~128。 randomPlacementAttempts = 32 ``` ## 其他 - “可刷怪”使用适合原版常见敌对生物的保守判断,没添加覆盖其他模组的特判。 - 不兼容领地插件。使用的是原版的 `/setblock`。 [/MD]
[MD] ## 使用 - 默认按 `G` 打开选区面板,按 `F7` 开关光照显示,支持修改按键绑定。 - 也可以使用命令,完整用法见 [命令使用文档](./docs/命令使用.md)。 - 光照显示功能: 支持 `X` 标记、数字和方框数字三种样式显示方块光照等级,显示范围 水平:1~64 格,竖直:可选上下各64格(最大64格)(优化过性能)。 | 颜色 | 含义 | | ---- | ---- | | 红色 | 任何时间刷怪 | | 黄色 | 夜间刷怪 | | 绿色 | 不刷怪 | | 紫色 | 沼泽史莱姆夜间刷新 | | 青色 | 溺尸刷新 | - 附近自动插火把功能: 搜索玩家附近两格内的有效位置,使用右键交互放置物品栏的火把,光照等级低于阈值时才会放置(可选择是否计算天空光)。 - 区间自动插火把功能: 选取 A/B 两点,定义长方体(对角线)或球体(球心/半径),支持用选区工具选择。然后设置为照明范围(绿色)或排除区(红色),调整方块光阈值并点击“开始任务”即可。支持一个照明范围和多个排除区。 - 全部的功能都在上图中的设置面板中 ## 详细说明 ### 附近自动插火把 - 开启后每 10 tick (0.5秒)扫描一次玩家水平半径 2 格、纵向 -2~+1 格内的位置,从近到远插火把,失败后 40 tick (2秒) 后再重试。 - 只会在空气、无流体等火把可以正常存活且不会与玩家碰撞的位置放置。 - 必须要快捷栏中有火把(包括副手) - 可以设置触发放置的光照阈值(1~16),和是否计算天空光 ### 光照显示 - 默认按 `F7` 开关,也可以在 `G` 面板中设置。 - 以当前视角为中心,显示范围水平可设为 1~64 格,纵向可选上下各64格(最大 64);支持灵魂出窍等mod。 - 支持 `X` 标记、数字和方框数字三种显示样式。 - 支持透视渲染,数字跟随视角旋转。 - 标记会检查当前位置是否会刷怪,还会特判沼泽史莱姆和溺尸的刷新条件,并用不同颜色标记。 ### 区间自动插火把 - 可通过输入坐标,或用选区工具左键/右键选择两点。 - 长方体以 A/B 为两个对角点;球体以 A 为球心、A 到 B 的直线距离为半径。 - 可设置一个绿色照明范围和多个红色排除区。具有多种显示方式。 - 可设置任务的方块光上限(0~15),任务处理方块光≤该值、2格高为空气、且可站立、方块光为 `0` 的位置。可以跳过有天空光的位置。 - 火把位置优先选择暗点脚下,否则会在附近随机寻找有效位置;只处理已加载区块,不会强制加载区块。 - 扫描分两轮执行:第一轮使用设定的最小间距,第二轮使用更小间距进行补齐。 - 可限制任务最多放置的火把数,`0` 表示无限;可设置是否消耗背包中的普通火把。 - 同一玩家同时只保留一个任务;新的会覆盖旧的。 ## 配置文件 首次加载后会自动生成两类配置文件。 配置文件中的开关布尔值使用 `true`/`false`(不要加双引号)。 ### 客户端配置 文件位置:`config/autotorch-client.toml` ```toml [nearbyAutoTorch] # 是否启用附近自动插火把。 enabled = false # 光照低于此值时尝试放置火把,范围 1~16。 lightThreshold = 4 # true:使用方块光与天空光中的较大值;false:只判断方块光。 includeSkyLight = false # 扫描间隔,1~40 tick。 scanIntervalTicks = 10 # 连续黑暗确认时间,5~40 tick,步进 5。 darkConfirmTicks = 10 # 同一位置重试等待,10~100 tick,步进 10。 retryDelayTicks = 40 # 水平扫描半径,1~4 格;纵向范围固定 -2~+1。 horizontalRadius = 2 # 自动放置使用的方块物品 ID,需放在副手或快捷栏。 item = "minecraft:torch" [lightOverlay] # 是否启用光照显示。 enabled = false # 是否开启透视渲染,开启后可以看到被方块遮挡的标记。 renderThrough = false # true:光照数字跟随视角旋转;false:数字固定不随视角转动。 numberRotation = true # 以当前相机为中心的水平显示范围,范围 1~64 格。 horizontalRange = 16 # 相对当前相机向下扫描的格数,范围 0~64;与 upRange 之和不超过 64。 downRange = 16 # 相对当前相机向上扫描的格数,范围 0~64;与 downRange 之和不超过 64。 upRange = 4 # 显示样式:0=X 标记,1=数字,2=方框数字。 mode = 0 # 是否标记符合原版条件的沼泽史莱姆刷新位置。 detectSwampSlimes = false # 是否标记符合原版条件的溺尸刷新位置。 detectDrowned = false # 每 tick 扫描预算,2000~48000,步进 2000。 scanBudgetPerTick = 12000 # 定期复查间隔,20~400 tick,步进 20。 refreshIntervalTicks = 100 # 溺尸遮挡检测每帧预算,16~256,步进 16;仅 26.2 及更新版本使用。 drownedBudgetPerFrame = 64 # 近处线宽,0.25~8.0;远处最低线宽,0.75~2.5。 nearLineWidth = 2.5 farLineWidth = 0.75 # 标记颜色,使用 6 位十六进制 RGB,不带 #。 alwaysRiskColor = "FF3030" nightRiskColor = "FFD23C" safeColor = "50E060" swampSlimeColor = "E050E0" drownedColor = "40D8E8" # 标记透明度,0~255。 markerAlpha = 224 [selectionOverlay] # 是否显示照明范围和排除区。 enabled = true # true:只显示轮廓线;false:显示半透明面。 linesOnly = false # 是否使用更平滑的球形选区显示。 smoothSpheres = false # 近处线宽,0.25~8.0;远处最低线宽,0.75~3.0。 nearLineWidth = 3.0 farLineWidth = 0.75 # 草稿、照明范围、排除区颜色,使用 6 位十六进制 RGB。 draftColor = "70A0FF" mainColor = "50FF70" exclusionColor = "FF5050" # 选区面、排除区面的透明度,0~255。 faceAlpha = 40 exclusionFaceAlpha = 48 # 球体水平、垂直分段数,12~48,步进 4。 sphereLongitudeSegments = 24 sphereLatitudeSegments = 12 # 选区工具,接受有效的非空气物品 ID。 toolItem = "minecraft:wooden_axe" # 是否启用手持选区工具左键/右键选取 A/B 点;关闭后该物品恢复原版交互。 selectionToolEnabled = true # 区间插火把界面的转换与互换按钮是否用符号显示;false 时显示文字。 symbolButtons = false [lightingTaskDefaults] # 任务默认最大火把数,范围 0~4096,步进 128;0 表示无限。 maxTorches = 0 # 火把默认最小间距,范围 1~12 格。 minSpacing = 8 # 处理方块光小于或等于此值的位置,范围 0~15;0 表示只处理方块光为 0 的位置。 lightThreshold = 0 # 是否默认包含有天空光的位置;false 表示只处理无天空光的位置。 includeSkyLight = false # 创造模式是否默认消耗背包中的火把。 creativeConsumeTorches = false # 单人游戏中,生存模式是否默认消耗背包中的火把。 # 多人游戏以服务端 gameplay.survivalConsumesTorches 为准。 survivalConsumeTorches = true # 是否启用木斧左键/右键选取 A/B 点。 woodenAxeSelectionEnabled = true ``` ### 服务端配置 文件位置:`<世界目录>/serverconfig/autotorch-server.toml` 单人位置:`config/autotorch-server.toml` > 26.3 的配置被 NeoForge 改名为了 `autotorch-synced.toml` ```toml [lightingTask] # 是否允许运行区间自动插火把任务;关闭会停止已有任务并拒绝新任务。 enabled = true [limits] # 长方体任一边允许的最大长度,范围 1~321 格。 maxBoxAxisLength = 321 # 球形选区允许的最大半径,范围 1~160 格。 maxSphereRadius = 160 # 单个任务允许提交的最大排除区数量,范围 0~32。 maxExclusions = 32 # 单个任务允许设置的最大火把数,范围 1~4096。 maxTorchesPerTask = 4096 # 是否允许客户端将最大火把数设为 0(无限)。 allowUnlimitedTorches = true # 客户端可设置的火把间距下限和上限,范围均为 1~12。 minSpacing = 1 maxSpacing = 12 # 全服可同时运行的任务数,范围 1~1024。 maxConcurrentTasks = 64 [gameplay] # 生存模式任务是否必须消耗玩家背包中的普通火把。 survivalConsumesTorches = true [performance] # 每个任务每 tick 最多扫描的方块数,范围 1~120000。 scanBudgetPerTaskTick = 12000 # 每个任务每 tick 最多放置的火把数,范围 1~64。 placeBudgetPerTaskTick = 8 # 全服所有任务每 tick 最多扫描的方块总数,范围 1~240000。 globalScanBudgetPerTick = 24000 # 全服所有任务每 tick 最多放置的火把总数,范围 1~256。 globalPlaceBudgetPerTick = 16 # 为每个暗点寻找可放置火把位置时的最大尝试次数,范围 1~128。 randomPlacementAttempts = 32 ``` ## 其他 - “可刷怪”使用适合原版常见敌对生物的保守判断,没添加覆盖其他模组的特判。 - 不兼容领地插件。使用的是原版的 `/setblock`。 [/MD]
- 内容版权许可
- CC BY-NC-SA 署名-非商业性使用-相同方式共享
附件
最后编辑: