portint-1.0.1.jar
Curse Maven Snippet
What's new
中文版
一、全新配置系统(config/portint-server.toml)
1.0.0 中所有速率均为硬编码常量,1.0.1 全部改为可配置项:
| 配置项 | 默认值 | 说明 |
|---|---|---|
| baseItemRate | 1024 | 无长卡时物品速率 |
| longCardItemRate | 16384 | 每张长卡速率(乘卡片数) |
| fluidRate | -1 | 流体/化学品速率,-1=无限 |
| wirelessRangeNoUpgrade | 32 | 无升级卡无线范围,-1=无限,<16 回退 32 |
| tickInterval | 6 | 同列两次传输最小间隔 tick |
| chunkLoadingEnabled | true | 维度卡是否强制加载区块 |
| chunkLoadTimeoutTicks | 6000 | 无活动自动释放保险丝,-1=禁用 |
二、健壮性优化(1.0.1 核心)
- Mekanism 软依赖加固:类加载时检测一次 Mekanism 是否安装,未安装时完全跳过化学品传输路径,避免每 tick 反射失败。
- 区块强制加载按维度隔离:
Set<Long>改为Map<维度, Set<Long>>,杜绝跨维度串块并防止内存泄漏。 - 区块加载保险丝:记录每列最后成功传输时间,超时(默认 5 分钟)自动释放强制加载区块,防止"幽灵"加载票泄漏;
-1可恢复永久加载。 - Ticking 降载:成功传输后按
tickInterval等待,避免高负载服务器每 tick 全量扫库存。 - 防抖与冷却门控:
- 超时释放后 60 秒防抖,禁止同一区块 load→unload→reload 抖动循环;
- 冷却期内拒绝输出方向提取(物品/流体/化学品,输入不受影响),防止物资积压在接口缓存对着离线目标"卡死";
- 绑定卡变更时清除冷却,手动重绑可立即重连。
- 流体预算统一:
fluidRate应用到输入/输出/化学品/罐装四条路径。
四、行为差异速查
| 场景 | 1.0.0 | 1.0.1 |
|---|---|---|
| 无升级卡无线距离 | 固定 32 格 | 可配置,支持 -1 无限 |
| 长卡速率 | 固定 16384/tick | 可配置 |
| 流体速率 | 无上限 | 可配置,默认仍无限 |
| 维度卡加载区块 | 永久 | 5 分钟无活动自动释放(可关) |
| 无 Mekanism 运行 | 每 tick 反射查询 | 完全跳过化学品路径 |
| 区块释放后重新加载 | 立即抖动循环 | 60 秒防抖冷却 |
English Version
1. Version & Release Info
| Item | 1.0.0 | 1.0.1 |
|---|---|---|
| Version | 1.0.0 | 1.0.1 |
| CurseForge | none | README link + displayURL in mods.toml |
2. New Config System (config/portint-server.toml)
All hardcoded transfer rates in 1.0.0 are now server-configurable:
| Option | Default | Description |
|---|---|---|
| baseItemRate | 1024 | Item rate without a Long Card |
| longCardItemRate | 16384 | Rate per Long Card (multiplied by card count) |
| fluidRate | -1 | Fluid/chemical rate, -1 = unlimited |
| wirelessRangeNoUpgrade | 32 | Wireless range without upgrades, -1 = infinite, <16 falls back to 32 |
| tickInterval | 6 | Min ticks between two transfer passes per column |
| chunkLoadingEnabled | true | Whether the Dimension card force-loads chunks |
| chunkLoadTimeoutTicks | 6000 | Auto-release fuse after inactivity, -1 = disabled |
2. Robustness Improvements (1.0.1 core)
- Mekanism soft-dependency hardening: Mekanism presence is detected once at class load; when absent, the whole chemical transfer path is skipped, avoiding per-tick reflection failures.
- Dimension-scoped force loading:
Set<Long>→Map<dimension, Set<Long>>, preventing cross-dimension chunk mix-ups and memory leaks. - Chunk-loading fuse: per-column last-activity timestamps; chunks are auto-released after timeout (default 5 min) to prevent ghost ticket leaks;
-1restores permanent loading. - Tick scheduling: after a successful transfer, the column waits
tickIntervalbefore the next scan, reducing CPU load on busy servers. - Debounce & cooldown gate:
- 60-second debounce after a timeout release prevents load→unload→reload thrash;
- During cooldown, OUTPUT transfers (items/fluids/chemicals) are refused — input is unaffected — so items never pile up in the interface cache against an offline target;
- Re-binding a card clears the cooldown, allowing an immediate forced reconnect.
- Unified fluid budget:
fluidRateapplies to input/output/chemical/tank paths.
3. Behavior Quick Reference
| Scenario | 1.0.0 | 1.0.1 |
|---|---|---|
| Wireless range without upgrades | fixed 32 blocks | configurable, -1 = infinite |
| Long Card rate | fixed 16384/tick | configurable |
| Fluid rate | unlimited | configurable, still unlimited by default |
| Dimension-card chunk loading | permanent | auto-release after 5 min inactivity (disableable) |
| Running without Mekanism | per-tick reflection queries | chemical path fully skipped |
| Re-loading after release | immediate thrash loop | 60s debounce cooldown |
This mod has no additional files

