
About this Mod
Origins JS
This is a KubeJS integration for Origins (NeoForge), allowing you to
manage
origins and powers via KubeJS.
Note: This is my first time to make a KubeJS addon, most code written by DeepSeek and reviewed by my self. So if you
think some APIs are weird or not well-designed, please let me know.
Features
- Origin & Power Management: Grant, revoke, and check origins/powers from JS scripts.
- Custom Actions: Define
EntityAction,BlockAction,ItemAction,BiEntityActionin JavaScript. - Custom Conditions: Define
EntityCondition,BlockCondition,ItemCondition,BiEntityCondition,BiomeCondition,DamageCondition,FluidConditionin JavaScript. - Custom Powers: Create fully scripted Power types with JS callbacks (
grant,revoke,tick,active,inactive). - Data-Driven: All custom types can be referenced in JSON datapacks using the
origins_js:namespace. - Parameters Support: Pass custom parameters from JSON to your JS callbacks for dynamic behavior and high
reusability.
Dependencies
Quick Start
1. Install all dependencies, then place your .js scripts in kubejs/server_scripts/.
2. Basic Usage
// Get the holder for a player or entity
let holder = OriginsJS.getHolder(event.player);
// Manage origins & powers
holder.grantPower("origins:origin", "origins:fire_immunity");
holder.revokePower("origins:origin", "origins:climbing");
holder.setOrigin("origins:origin", "origins:human");
// Check state
if (holder.hasPower("origins:fire_immunity")) { /* ... */ }
if (holder.hasOrigin("origins:human")) { /* ... */ }
See examples for more examples including custom actions, conditions, and powers.
Documentation
- API Reference — full type table, HolderWrapper API, and static shortcut methods
- Examples — code examples for origins/powers, custom actions, conditions, and powers
Available Versions
How to Install Origins JS 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 "Origins JS". 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
Origins JS 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 Origins JS compatible with neoforge?
Origins JS officially supports neoforge for Minecraft 1.21.1. The Mado dashboard automatically detects incompatible loader combinations.
Server lagging with Origins JS – how to optimize performance?
Recommended RAM: 4 GB (per 8 players). Use /spark profiler to check if Origins JS 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 Origins JS with just one click on your server.