148 lines
3.8 KiB
Markdown
148 lines
3.8 KiB
Markdown
# 物流系统 v5.0 文档
|
||
|
||
## 概述
|
||
物流系统 v5.0 是一个高级物品和流体传输系统,支持多容器操作和缓存模式。系统通过配置文件管理任务,支持复杂的过滤规则和优先级设置。
|
||
|
||
## 核心功能
|
||
|
||
### 1. 传输类型
|
||
- **物品传输**:在容器间移动物品
|
||
- **流体传输**:在容器间移动流体
|
||
|
||
### 2. 缓存模式
|
||
- 适用于及作为输出也作为输入的容器
|
||
- 物品被送如时添加临时黑名单 这些物品不会被再次传输到别的容器
|
||
|
||
### 3. 过滤规则
|
||
- **白名单**:只允许特定物品传输
|
||
- **黑名单**:禁止特定物品传输
|
||
- **数量限制**:设置一次传输物品数量
|
||
|
||
### 4. 优先级系统
|
||
- 输出容器按优先级分组
|
||
- 高优先级容器优先接收物品
|
||
- 同优先级采用轮询机制
|
||
|
||
## 配置文件结构
|
||
配置文件存储在 `config.cfg` 中,包含以下部分:
|
||
|
||
```lua
|
||
{
|
||
settings = {
|
||
logEnabled = false, -- 日志开关
|
||
zhlog = false, -- 中文日志开关
|
||
delay = 0.01 -- 轮询延迟(秒)
|
||
},
|
||
tasks = { -- 任务列表
|
||
-- 任务示例
|
||
{
|
||
type = "item", -- 或 "fluid"
|
||
input = {
|
||
["容器名"] = {
|
||
cache = true/false,
|
||
whitelist = {["物品名"] = {}},
|
||
blacklist = {["物品名"] = {}}
|
||
}
|
||
},
|
||
output = {
|
||
["容器名"] = {
|
||
priority = 数字,
|
||
cache = true/false,
|
||
whitelist = {["物品名"] = {count = 数量}},
|
||
blacklist = {["物品名"] = {}}
|
||
}
|
||
}
|
||
}
|
||
},
|
||
Tlist = {} -- 缓存传输列表
|
||
}
|
||
```
|
||
|
||
## 使用命令
|
||
|
||
### 基本命令
|
||
| 命令 | 描述 | 示例 |
|
||
|------|------|------|
|
||
| `add <JSON>` | 添加新任务 | `add {"type":"item","input":{"left":{...}},"output":{"right":{...}}}` |
|
||
| `list` | 列出所有任务 | `list` |
|
||
| `remove <索引>` | 移除任务 | `remove 1` |
|
||
| `set <key> <value>` | 修改设置 | `set delay 0.05` |
|
||
| `help` | 显示帮助信息 | `help` |
|
||
| `exit` | 退出程序 | `exit` |
|
||
|
||
### 设置命令
|
||
| 键 | 值 | 描述 |
|
||
|----|----|------|
|
||
| `log` | true/false | 启用/禁用日志 |
|
||
| `zh` | true/false | 启用/禁用中文日志 |
|
||
| `delay` | 数字 | 设置轮询延迟(秒) |
|
||
|
||
## 任务配置示例
|
||
|
||
### 物品传输任务
|
||
```json
|
||
{
|
||
"type": "item",
|
||
"input": {
|
||
"left": {
|
||
"cache": true,
|
||
"whitelist": {
|
||
"minecraft:stone": {}
|
||
}
|
||
}
|
||
},
|
||
"output": {
|
||
"right": {
|
||
"priority": 1,
|
||
"whitelist": {
|
||
"minecraft:stone": {"count": 64}
|
||
},
|
||
"blacklist": {
|
||
"minecraft:dirt": {}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
```
|
||
|
||
### 流体传输任务
|
||
```json
|
||
{
|
||
"type": "fluid",
|
||
"input": {
|
||
"tank_left": {
|
||
"whitelist": {
|
||
"water": {}
|
||
}
|
||
}
|
||
},
|
||
"output": {
|
||
"tank_right": {
|
||
"priority": 2
|
||
}
|
||
}
|
||
}
|
||
```
|
||
|
||
## 日志系统
|
||
- **日志级别**:
|
||
- SUCCESS (绿色):成功操作
|
||
- SKIPPED (橙色):跳过操作
|
||
- INFO (白色):一般信息
|
||
- WARNING (黄色):警告信息
|
||
- ERROR (红色):错误信息
|
||
- DEBUG (浅灰色):调试信息
|
||
|
||
- **日志格式**:
|
||
```
|
||
[时间] 级别: 消息
|
||
```
|
||
|
||
## 注意事项
|
||
1. 确保所有容器名称正确且可访问
|
||
2. 确保所有容器链接到电脑的同一个调制解调器
|
||
3. 流体容器必须支持流体接口
|
||
4. 复杂的过滤规则可能影响性能
|
||
5. 轮询延迟设置过低可能导致CPU占用过高
|
||
|
||
系统通过高效的缓存机制和优先级处理,实现了复杂的多容器物流管理,适用于各种自动化场景。 |