Links
Tags
Creators
Details
1.1.2
Compatibility
Changes
OSC Helper
Client-only mod that assists players in correctly inputting data into Orbital Strike Cannon (OSC) consoles. It automatically matches copper lamp panels, calculates expected encoding states, and renders real-time visual verification overlays.
Thanks to CubicMetre, he built this incredible redstone weapon — check out his YouTube channel: CubicMetre
Requirements
- Minecraft 1.21.1
- Fabric Loader >=0.19.3
- Fabric API (any version compatible with 1.21.1)
- Java >=21
Installation
- Install Fabric Loader for Minecraft 1.21.1
- Place Fabric API jar into your
modsfolder - Place
oschelper-1.1.2.jarinto yourmodsfolder - Launch the game
No server-side installation required — the mod is client-only.
Quick Start Guide
Step 1: Find a Panel
Stand near a copper lamp panel (1x5x13 cuboid) and run:
/oschelper matchNearestPanel
The mod scans within 32 blocks for a matching copper-bulb panel and reports its base position, column axis, and row axis.
Step 2: Register the Panel
/oschelper addPanel <name>
Example: /oschelper addPanel main
Step 3: Register a Cannon
You need to know the cannon's origin coordinates (must be divisible by 8):
/oschelper addCannon <name> <x> <y> <z>
Example: /oschelper addCannon myCannon 0 64 0
Step 4: Set a Fire Control Passcode
Each cannon needs a Good Code (a passcode that has been verified through extensive testing to never misfire):
/oschelper addPasscode <cannonName> <passcode>
Example: /oschelper addPasscode myCannon 63
Step 5: Select the Panel
/oschelper selectPanel <name>
This resets previous session settings, so you must re-select cannon, target, and payload.
Step 6: Select the Cannon
/oschelper selectCannon <name>
Step 7: Set the Target
/oschelper setTarget <x> <y> <z>
Step 8: Set Payload Type
Choose between Nuke (large area, default size 12) and Armor-piercing / Stab (deep penetration, default depth 70):
/oschelper setPayloadType nuke
/oschelper setPayloadType stab
If you set payload size/depth first without specifying the type, the type will be auto-inferred. Once locked, switching to the other type will discard the previous size/depth value.
Step 9: Configure Payload Parameters
/oschelper setNukeSize <1-16>
/oschelper setStabDepth <1-276>
Step 10: Enable Render Check
/oschelper doRenderCheck yes
The mod will:
- Validate your configuration against the fire control spreadsheet
- Display the current configuration summary
- Start rendering real-time visual overlays on the copper lamp panel
- Every 10 ticks, it scans the panel and compares actual lamp states against expected states
Step 11: Fire When Ready
When all copper bulbs match the expected state, the mod will notify you with a green message. Activate the console and fire!
Command Reference
Panel Management
| Command | Description |
|---|---|
/oschelper matchNearestPanel |
Scan for the nearest 1x5x13 copper lamp panel within 32 blocks |
/oschelper addPanel <name> |
Register the matched panel with a name |
/oschelper removePanel <name> |
Remove a registered panel |
/oschelper selectPanel <name> |
Select a panel for configuration |
/oschelper quitCurrentPanel |
Deselect the current panel and discard all settings |
Cannon Management
| Command | Description |
|---|---|
/oschelper addCannon <name> <x> <y> <z> |
Register a cannon (coordinates must be divisible by 8) |
/oschelper removeCannon <name> |
Remove a registered cannon |
/oschelper selectCannon <name> |
Select a cannon for the current session |
/oschelper addPasscode <cannonName> <passcode> |
Set a fire control passcode (0-1023, must be a Good Code) |
Targeting
| Command | Description |
|---|---|
/oschelper setTarget <x> <y> <z> |
Set the target coordinates |
Payload Configuration
| Command | Description |
|---|---|
/oschelper setPayloadType nuke |
Set payload type to Nuke (default size: 12) |
/oschelper setPayloadType stab |
Set payload type to Armor-piercing / Stab (default depth: 70) |
/oschelper setNukeSize <1-16> |
Set nuke size |
/oschelper setStabDepth <1-276> |
Set stab depth |
Render Check
| Command | Description |
|---|---|
/oschelper doRenderCheck yes |
Enable real-time render check and visual overlay |
/oschelper doRenderCheck no |
Disable render check |
Debugging
| Command | Description |
|---|---|
/oschelper dumpPanel |
Display the expected vs actual state of all 65 copper bulbs in a grid |
/oschelper dumpExcel |
Display the raw xlsx formula evaluation results for verification |
Visual Overlay Guide
When render check is enabled, the mod draws a semi-transparent colored overlay on each copper bulb:
- Green overlay (alpha ~0.35) — The copper lamp is in the correct state (matches the expected on/off pattern)
- Yellow overlay (alpha ~0.50) — The copper lamp is in the wrong state (needs to be toggled)
The overlay only renders the face closest to the camera, so nearby blocks (like buttons) remain visible and unobstructed. The overlay is X-rayed (ignores depth), allowing you to see the state of every copper bulb even when the panel is partially hidden behind other blocks.
Notifications
- All correct:
✓ All copper bulbs match! Ready to fire!(green, bold) - Some wrong:
⚠ Detected N copper bulb(s) in the wrong state, please check!(yellow) - The notification only fires on state transitions to avoid spam, with a 5-second cooldown.
Session Persistence
The mod automatically saves your current session (selected panel, cannon, target, payload settings) and restores it when you rejoin the world. This is useful when you need to reconnect or restart the game without losing your configuration.
Troubleshooting
"No 1x5x13 copper-bulb cuboid found!"
- Make sure you are within 32 blocks of the panel
- Ensure the panel is complete — all 65 copper bulbs must be present
- Check that the panel is a perfect 1x5x13 cuboid (no missing blocks)
"Cannon coordinates must be divisible by 8!"
- OSC cannon origin coordinates must be aligned to the chunk grid. All coordinates must be multiples of 8.
"Fire control passcode is not in the trusted Good Code list"
- The passcode you entered has not been verified as safe. Only use passcodes that pass the Good Code whitelist to avoid misfires.
Visual overlay is not showing
- Ensure you have run
/oschelper doRenderCheck yesafter selecting a panel, cannon, target, and payload - Check that the render check status shows "enabled" in the chat feedback
- The overlay updates every 10 ticks (0.5 seconds)
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:Fw0Fa0Zs:qliIq3M0"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:Fw0Fa0Zs:qliIq3M0"
}

