I made this demo to show how a mage and a technomancer can draw magic from the same nexus. Use the Mage Staff to open four personal mana pools, stand on a Ritual Circle to fill them, then spend Fire mana to cast a fireball. The demo is for Minecraft 1.21.1, NeoForge 21.1.247, and Java 21.
- Find the Battle Mage Creative tab or use
/give @s battle_mage_demo:mage_staffand/give @s battle_mage_demo:ritual_circle. - Use the staff in your main hand to attune. You start with 0 of 20 Fire, Water, Air, and Earth mana.
- Place the circle near a nexus and stand on it. Try
/skysleylines locate nexusor dowsing rods to find one. In a healthy field, the circle adds about one mana to each eligible bar every four seconds. - Step off the circle and right-click with the staff to fire. A fireball costs 4 Fire mana and has a one-second cooldown. It can ignite a creature it damages. The spell leaves blocks intact.
The ritual first tries to withdraw one unit of the appropriate currency from the nexus. If there is none, the ritual converts the exact amount of raw needed at the saved rate, then withdraws it. Each step uses Ley Lines’ timed API. When you step off, any conversion that already finished stays in the nexus account. Ley Lines saves the player pools and applies server policy to capacities, protections, and energy on death.
Install Battle Mage Demo, Technomancy Demo 0.2.0, and the matching Sky’s Ley Lines 0.5.5.121012 JAR on both sides. In a disposable world, place the circle, an Aether Converter, and an Aether Lamp within reach of the same nexus. Run /skysleylines account at each position to check the nexus ID and balances.
Right-click the converter with an empty hand. It takes 5 raw and adds 5,000 aether at the original rate. The lamp consumes aether. Step onto the circle and watch all four mana bars rise as the ritual uses the remaining raw. Compare the Ley Meter or account readings before and after. The four elemental balances fund the ritual, and Fire mana in your personal pool funds the staff. Save and reopen to check that the pools and nexus balances persist.
Use JDK 21 and the included Gradle wrapper. Gradle downloads Sky’s Ley Lines 0.5.5.121012 from MMD Maven for Eclipse, compilation, and development runs. The client and server run tasks put that JAR in their respective mods folders.
.\gradlew.bat build eclipse verifyEclipseProductionClasspath
.\gradlew.bat runClientIn Eclipse, import the inner project as an existing Gradle project using the wrapper and JDK 21. If you already imported it, use Gradle → Refresh Gradle Project to pick up the Maven dependency. To try a different local build of Ley Lines, pass -PleyLinesJar=/path/to/SkysLeyLines.jar or set leyLinesJar in your Gradle user properties. To include Technomancy in a development client, place its JAR in run/client/mods. Use one Ley Lines JAR per run.
Start with MageStaff for attunement and spending, MageSessions for the timed conversion and withdrawal, and ManaSnapshot for the viewer’s HUD data. Each mutation passes a namespaced consumer and the mage’s UUID so protection listeners can identify who initiated it.