-
Notifications
You must be signed in to change notification settings - Fork 0
Home
Conduit is a modern, single-domain Economy abstraction for Minecraft. It targets Paper/Folia on Java 25 and is async-first, BigDecimal-everywhere, and UUID-native. It is not a Vault fork or shim. It is its own API under so.alaz.conduit.
If you have ever fought Vault's synchronous calls, double money, missing events, or load-order races, Conduit is the abstraction that fixes those at the design level instead of papering over them.
| You are... | Start here |
|---|---|
| A server operator installing Conduit | Installation → Configuration → Commands |
| A plugin developer who wants to use an economy (shops, rewards, jobs) | Consumer Guide → How-To Recipes |
| A developer porting a plugin off Vault | Migrating from Vault |
| A developer implementing an economy backend | Provider Guide → Testing & Conformance |
| A developer bridging an existing economy plugin (EssentialsX, etc.) | Building a Bridge |
| Anyone who wants the mental model first | Core Concepts |
It is a clean economy contract: one interface, many backends, zero coupling between the plugins that spend money and the plugin that stores it. Consumers depend only on conduit-api. Providers implement it. The conduit-core plugin wires everything together at runtime.
It is not a permission API, a chat API, a metadata API, or a Vault compatibility layer. Conduit ships no net.milkbowl.vault.* shims and does not let Vault plugins run unchanged. If you need permissions use LuckPerms; if you need chat use a chat plugin; if you want Vault, keep Vault. Conduit is for plugins and servers that deliberately adopt so.alaz.conduit.api for economy.
-
Async by default. Every operation that touches storage returns a
CompletableFuture. There is no synchronous facade. -
BigDecimaleverywhere. Nodoubleanywhere in the public API. Floating-point money is structurally excluded. -
UUID-first. Accounts are keyed by
UUID. There is no name-based fallback on the primary surface. - Capability-aware. You ask what a provider supports, structurally (extension interfaces) and via flags, before you call it.
-
Typed results and events. Sealed
EconomyResultcases, post-commit events, and synchronous pre-auth interceptors.
conduit-api Public API: interfaces, records, results. Zero implementation.
conduit-core The runtime plugin: registry, dispatch, events, commands, metrics.
bridges/bridge-essentialsx Native EssentialsX Economy bridge.
bridges/bridge-template Starter template for community bridges.
conduit-test-fixtures Conformance tests + MockEconomy.
examples/ Reference plugins: shop, points, per-action fees, multi-economy.
- Group
so.alaz.conduit, current versionv0.3.1-beta(pre-1.0). - API version constant:
Conduit.API_VERSION("1.0"). Providers declare a minimum viaEconomy.requiredApiVersion(); the registry rejects providers that require a newer API than the running runtime. - Pre-1.0, the core contract is stabilizing. Anything annotated
@ApiStatus.Experimentalmay change before 1.0.
See the Glossary if any term here is unfamiliar.
Conduit is a modern Economy abstraction for Minecraft (Paper/Folia, Java 25). Released under the MIT License. · Docs · Developer Guide · GitHub
Start here
For server operators
Concepts
For plugin developers (consumers)
For backend developers (providers)
Reference