
Logistic Pipes 2
A revival of Logistics Pipes, ported from Forge 1.12.2 to Forge/NeoForge 1.20.1. Classic request-based item routing, automated crafting, and modular chassis pipes, back on modern Minecraft. Requires Kotlin for Forge.
- Загрузки
- 578
- Подписчики
- 1
- Обновлён
- 10 июня 2026 г.
- Лицензия
- License
Опубликован 10 июня 2026 г.
Logistic Pipes 2
A revival of Logistics Pipes, ported from Forge 1.12.2 to NeoForge 1.20.1 — bringing the classic request-based item routing, automated crafting, and modular chassis pipes back to modern Minecraft.
See the original CurseForge page for background on what the mod has been since its 1.4.x days.
Beta / work in progress. Expect bugs, crashes, missing polish, and the occasional broken feature. Back up your worlds before testing, and please open an issue if something goes wrong — noisy reports are more useful than silent frustration.
Forge or NeoForge?
Both — on this Minecraft version they are the same platform. NeoForge's 1.20.1 release was its first after forking from Forge and is fully Forge-compatible (it even ships under the forge id). The released jar runs unchanged on:
- Forge 1.20.1 — 47.2.x / 47.3.x from files.minecraftforge.net
- NeoForge 1.20.1 — 47.1.x, e.g. the 1.20.1-47.1.106 installer
The split only matters from Minecraft 1.20.2 onward, where NeoForge changed its internals — this jar will not run there (you get a clean "requires Minecraft 1.20.1" screen instead). The planned 1.21.x version of this mod targets NeoForge proper.
Required dependency: Kotlin for Forge 4.x (the 1.20.1 file) — the mod will not load without it.
What is Logistic Pipes
A logistics mod that lets you build pipe networks capable of requesting items on demand, automatically sorting inventory, and triggering crafting chains. Pipes connect to any inventory and route items intelligently based on your configured rules — no constant item flow, no lost items, just point-to-point delivery driven by what you ask for.
Status
Work in progress, but feature-complete vs LP 1.12.2 upstream. The migration ported the full 1014-file LP1 dev source to NeoForge 1.20.1; only 18 1.12.2-only legacy files (ASM coremods, OreDict recipe conditions, old IGuiHandler API, naming-collision utility classes) are intentionally not ported — each of those is either superseded by a modern equivalent (Mixins instead of coremod ASM, Tags instead of OreDict) or removed because the integrated mod doesn't exist on 1.20.1.
Core gameplay (placing pipes, routing, requesting, chassis modules, crafting) is fully functional. Polish and third-party integrations are the main outstanding work. See MIGRATION.md for a detailed checkpoint and CHANGELOG.md for recent changes.
Known Limitations
- Mod integrations disabled — BuildCraft, IndustrialCraft 2, Thermal Dynamics, NEI, and similar integrations are stubbed out; most are waiting on upstream ports to 1.20.1.
- Items-in-transit rendering — visible but still being polished.
- SideConfigDisplay — not yet functional.
- No world upgrade path from 1.12.2 saves — legacy data fixers are not ported; start on a 1.20.1 world.
Planned
- Fabric support via Architectury (after the NeoForge 1.20.1 port reaches feature parity)
- Published API jar so addons can be built against a stable surface
- Performance improvements (render caching, dirty-flag system)
Versions
- Minecraft 1.20.1 (only — see "Forge or NeoForge?" above)
- Forge 47.2+ / NeoForge 47.1.x (built against 47.1.88)
- Kotlin for Forge 4.x (runtime dependency for players)
- Java 17 (provisioned automatically via Gradle toolchains)
- Kotlin 1.9.10
Building
./gradlew build # full build; output in build/libs/
./gradlew runClient # launch a dev client
./gradlew runServer # launch a dev server
./gradlew check # unit tests
Requires git-lfs for a small number of LFS-tracked JARs. If you cloned without it:
git lfs install && git lfs fetch && git lfs checkout
Contributing
Issues and PRs welcome. Skim MIGRATION.md and the open issues for current focus areas before starting work.
Credits
- Krapht — original concept and early codebase
- RS485 and LogisticsPipes contributors — the 1.12.2 codebase this project is built on
- NoZeroG — NeoForge 1.20.1 port and ongoing maintenance
Changelog
See CHANGELOG.md.
License
Distributed under the Minecraft Mod Public License 1.0.1 — see LICENSE.md.
Ченджлог
0.0.2Релиз1.20.1 · 10 июня 2026 г.
[0.0.2] - 2026-06-10
Second public beta. Fixes the 0.0.1 production crash, restores the guide book and several inert features to working order, and removes ~1,900 lines of dead 1.12-era compatibility code. Please report issues at the project issue tracker — this is a testing release.
Fixed
- Request Table rendered completely invisible. Its block body was drawn
by a 1.12 renderer that was never ported, and the modern pipe renderer
skipped block-shaped pipes entirely. The table now renders with its proper
texture, honors its placed rotation, and visually merges with connected
pipes. Its sprite is also registered in the real blocks-atlas config
(
assets/minecraft/atlases/blocks.json) — the mod-namespaced duplicate of that file was silently ignored by the game and has been removed. - Middle-click pick-block on pipes returned nothing (and logged
Picking on: logisticspipes:pipe gave null item); pipes now hand back their actual pipe item via the ForgegetCloneItemStackhook. - Client crashed rendering pipes when rejoining a world that already
contained them (
NullPointerException: Cannot read field "isClientSide"in the block-entity renderer). The client tile entity can runload()more than once on a cold world load; each run replaced the pipe object without rebinding it to its container.load()now rebinds, andMainProxy.isClient(Level)null-guards like itsisServertwin. Latent since the original port — earlier testing only ever placed pipes live, which initializes through a different path. - Guide Book was non-functional: page content never scrolled (no
tick()animation), every button click went to an empty handler (home, add/remove bookmark, tab switching, tab color cycling all dead), the active tab and tab tooltips were drawn under the opaque frame, the bookmark button's hitbox drifted from its rendered position, and the slider rail showed a tiling artifact. All ported faithfully from LP1'sdrawScreen/updateScreen/mousePressedflow onto the 1.20.1GuiGraphics/widget model. - "Creative Tab Based Item Sink" module sank nothing on dedicated servers
(and showed
nullfor survival players): vanilla only builds creative tab contents from the client creative-inventory screen. The item→tab mapping is now built mod-side from CATEGORY tabs only — previously the SEARCH tab (which aggregates every item) swallowed most lookups. - Five fluid pipes were uncraftable (request, provider, satellite, insertion, extractor): chipped-crafting recipes and the program-compiler FLUID category are reinstated, based off the fluid supplier pipe.
- Fluid-type picker GUI never opened from fluid module slots; rewired to
LP1's
SelectItemOutOfListpopup flow. - Three packets (
ComponentList,MissingItems,RoutingUpdateAskForTarget) referenced client classes unguarded on dedicated servers; orderer popup toggle (displayPopup) now persists; a%d-on-ResourceLocation crash inServerRouter.toString()debug output.
Changed
- Registry access migrated to vanilla
BuiltInRegistries/Registrieskeys throughout (includingDeferredRegister.create); zeroForgeRegistriesreferences remain, shrinking the loader-coupled surface for future version ports. - The inert
@ClientSideOnlyMethodContentannotation (honored only by the deleted 1.12 coremod, i.e. fake protection) is gone; every former use now has a realFMLEnvironment.distguard +@OnlyIn(Dist.CLIENT)helper. - Guide book main-menu links point at this repository instead of upstream RS485 (bug reports, builds, contribution); original-creator credits remain.
MIGRATION.mdgained a measured "Forward-port surface (1.21+)" section (namespace rename, capabilities rework,CustomPacketPayload, events, fluids, toolchain).
Removed
- The entire 1.12-era dead-mod compat layer (−1,866 lines): BuildCraft,
IC2, ComputerCraft, CoFH/Thermal Expansion, Thermal Dynamics, NEI,
IronChest, EnderStorage, EnderCore, OpenComputers and MCMultiPart stubs,
whose dummy behavior is now constant-folded at the former call sites (no
runtime behavior change; also removed two latent NPE paths).
PowerProxystays — it is LP's own live Forge Energy implementation.
Комментарии
Загружаем…