Links
Tags
Creators
Details
Licensed ARR
Published 9 months ago
Updated 3 months ago
All versions
0.2.0
Alpha
Pipes 0.2.05 months ago 106
Compatibility
Minecraft: Java Edition
26.1.x
1.21.x
Platforms
Paper
Purpur
Changes
v0.2.0 Changelog
- per-world management
- better container handling, pick block, and performance
- various minor fixes
Some of these changes inspired by the edits of https://github.com/xiaozhangup/Pipes
Features
- Per-world PipeManager — each world gets its own PipeManager with independent lifecycle; config to enable/disable pipes per world
- Container adapter system — new
ContainerAdapterinterface with implementations for furnaces (vanilla hopper parity) and brewing stands (no extraction during brewing) - Path caching & sleep/throttle — cached pipe paths with full-invalidation on topology changes, sleep for idle pipes (empty source / full destination), dead-end recheck cooldown, transfer phase offset to spread load across ticks
- Creative pick-block — middle-clicking a pipe in creative mode now gives the correct pipe item (compatible with HeadSmith)
- CI pipeline — GitHub Actions build + server startup test matrix across Paper 1.21 through 26.1.2
Fixes
- PDC migration — pipe entity tags migrated from scoreboard tags to PersistentDataContainer with automatic migration on chunk load
- Stale variant references — config reload now re-resolves PipeVariant objects; warns if a variant was removed from config
- Duplicate delete_all message — fixed double response when running
/pipes delete_all - Recipe unlock listener on reload —
/pipes reloadnow properly re-registers the recipe unlock listener so config changes take effect
Internal
- Shared adapter helpers (
tryInsertSlot,removeFromSlots) extracted toContainerAdapterinterface VariantRegistrystreamified; addedgetQueryableManagers()WorldManagerhandles world load/unload lifecycle
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:zAeNxnZJ:KiWeg5Pu"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:zAeNxnZJ:KiWeg5Pu"
}

