
CC: Relative Routing
Call peripherals using relative coordinates instead of ids
About this Mod
CC: Relative Routing
CC: Relative Routing adds two ComputerCraft peripherals that lets you interact with the world using relative coordinates instead of peripheral IDs, making your programs portable and reproducible.
Blocks
Redstone Router
Send wireless redstone signals to relative coordinates and block faces.
Connect a CC computer to the Redstone Router, then use the redstone_router peripheral:
local router = peripheral.find("redstone_router")
-- Power the north face of the block 3 east, 0 up, 2 north of the router
router.setRedstone(3, 0, -2, "north", 15)
-- Read redstone
print(router.getRedstone(3, 0, -2, "north")) -- 15
-- Remove all active signals
router.clearAll()
API
| Method | Description |
|---|---|
setRedstone(x, y, z, side, power) |
Sets a redstone signal (power 0–15) on the given face of the target block. Power 0 removes the signal. |
getRedstone(x, y, z, side) |
Returns the currently stored power for that offset + face. |
clearAll() |
Removes all active signals from this router. |
side is one of: north south east west up down
Peripheral Router
Wrap any CC-compatible peripheral nearby using relative coordinates instead of a peripheral name or side. The peripheral can be used as if it was connected to the computer.
local router = peripheral.find("peripheral_router")
-- Wrap a monitor at offset (3, 0, 0)
local mon = router.wrap(3, 0, 0)
mon.setTextScale(1)
mon.clear()
mon.setCursorPos(1, 1)
mon.write("Hello from relative routing!")
-- Check what's at an offset before wrapping
if router.isPresent(0, 2, 0) then
print(router.getType(0, 2, 0)) -- e.g. "monitor"
print(router.getMethods(0, 2, 0)) -- list all methods
end
-- Call a single method without wrapping
router.call(3, 0, 0, "write", "Hello")
API
| Method | Description |
|---|---|
wrap(x, y, z) |
Returns a proxy object with all the target peripheral's methods. Prefer this for interacting with peripherals. |
isPresent(x, y, z) |
Returns true if a peripheral exists at the offset. |
getType(x, y, z) |
Returns the peripheral type string, or nil if none. |
getMethods(x, y, z) |
Returns a table of all method names on the peripheral. |
call(x, y, z, method, ...) |
Calls a single named method. Note: may return nil for value-returning methods. Use wrap() when you need return values. |
Coordinates are relative to the Peripheral Router block itself. Works with any CC:Tweaked peripheral: monitors, speakers, disk drives, modems, and peripherals added by other mods.
Target Wand
The Target Wand is a helper item that prints the correct relative coordinates for any block relative to a router, so you never have to count blocks manually.
Usage:
- Right-click a Redstone Router or Peripheral Router to select it as the controller.
- Right-click any other block to print the relative coordinates and a ready-to-use Lua snippet in chat.
For Peripheral Router targets, it also detects what peripheral (if any) is at that position.
Configuration
The config file is at config/ccrelativerouting-common.toml.
| Option | Default | Description |
|---|---|---|
maxRange |
128 |
Maximum distance for Redstone Router offsets |
peripheralMaxRange |
128 |
Maximum distance for Peripheral Router offsets |
Available Versions
How to Install CC: Relative Routing on Your Server
Order Server
Order a Minecraft Java server with at least 3 GB RAM (4 GB recommended).
Set neoforge Loader
In the panel under "Egg", select the neoforge loader and matching Minecraft version (1.21.1).
Install Mod
Open the mod browser in the dashboard and search for "CC: Relative Routing". Click "Install" – done! Alternatively, upload the .jar via SFTP to the /mods folder.
Compatibility
Mod Loaders
Minecraft Versions
1.21.1
Server-side
✓ RequiredRecommended RAM
4 GB(min. 3 GB)Frequently Asked Questions
CC: Relative Routing server crashes on startup – what to do?
Most common cause: wrong neoforge version or insufficient RAM. Check the server log (latest.log) for "OutOfMemoryError" or "Mixin" errors. With Mado Hosting: ensure at least 3 GB RAM is allocated and the loader matches the mod version (1.21.1). You can switch loaders with one click in the panel.
Is CC: Relative Routing compatible with neoforge?
CC: Relative Routing officially supports neoforge for Minecraft 1.21.1. The Mado dashboard automatically detects incompatible loader combinations.
Server lagging with CC: Relative Routing – how to optimize performance?
Recommended RAM: 4 GB (per 8 players). Use /spark profiler to check if CC: Relative Routing consumes the most tick time. Common fixes: reduce server view-distance to 8-10, install "performant" or "starlight" as supplementary mods on Forge. With Mado Hosting, your server runs on NVMe SSDs with dedicated CPU cores for minimal latency.
Similar Mods
Rent Modded Server
Install CC: Relative Routing with just one click on your server.