Mod
Origins JS (Legacy)
No reviews yet
KubeJS integration for Origins. Backport from Origins JS
Community voices
Reviews
Click once to include, again to exclude, again to clear
No reviews yet. Be the first to review this project!
Get it on
Available Platforms
Compatibility
Supported Environments
About
Project Details
For authors
Embed Badge
If you're the author of this project, you can embed a live badge anywhere that supports HTML or Markdown. It updates automatically whenever ratings change.
Use HTML for any page that supports it, or Markdown for README files and Markdown-based descriptions.
Identifiers
Platform IDs
About
Description
Origins JS (Legacy)
This is an official 1.20.1 backport of Origins JS (CurseForge | Modrinth) — a KubeJS integration for Origins (NeoForge), allowing you to manage origins and powers via JavaScript.
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. - Parameter Support — Pass custom parameters from JSON to your JS callbacks for dynamic behavior.
Dependencies
Quick Start
1. Install all dependencies, then place your .js scripts in kubejs/server_scripts/.
2. Basic Usage
// Register a custom entity action
OriginsJS.registerEntityAction("heal_half", (entity, params) => {
if (entity.isLiving()) {
entity.heal(entity.getMaxHealth() / 2);
}
});
// Create a custom power
OriginsJS.powerBuilder("regeneration_power")
.tick((entity, params) => {
if (entity.getHealth() < entity.getMaxHealth()) {
entity.heal(0.5);
}
})
.register();
Create kubejs/server_scripts/origins.js:
// Assign a random origin on first join
PlayerEvents.loggedIn(event => {
let holder = OriginsJS.getHolder(event.player);
if (holder && !holder.hasAllOrigins()) {
holder.setOrigin("origins:origin", "origins:avian");
}
});
3. Reference in JSON Datapacks
{
"type": "origins_js:js_entity_action",
"id": "heal_half"
}
See examples for more examples including custom actions, conditions, and powers.
Documentation
- API Reference — full type table and static shortcut methods
- Examples — code examples for origins/powers, custom actions, conditions, and powers
Screenshots
Gallery
Versions
Files
Relations
Project Relations
More like this
Similar Mods
Suggestions use data such as tags, dependencies, dependents, descriptions, titles, and more to rank how much they overlap with this mod.
On ModDex
Community snapshot
By the numbers
Statistics
Want to reach Minecraft players?
We're looking for a server hosting partner to feature here and other parts of the site. Interested? Send us a message!
Get in touchGet it on
Available Platforms
On ModDex
Community snapshot
By the numbers