I'm trying to make a custom condition for the Palladium mod that will let me detect whatever Origin (from the Origins Mod) a player has but It's not working. There's no errors or anything on the logs and even the debug message isn't working, I'm not great at JavaScript or this mod so I'm hoping that someone knows what the issue is:
Script (lives in addon/origins/kubejs_scripts):
const $OriginLayer = Java.loadClass('io.github.apace100.origins.origin.OriginLayer');
const $OriginLayers = Java.loadClass('io.github.apace100.origins.origin.OriginLayers');
const $ModComponents = Java.loadClass('io.github.apace100.origins.registry.ModComponents');
const $Origin = Java.loadClass('io.github.apace100.origins.origin.Origin');
/**
* @param {Internal.Entity} entity
* @param {string} originLayerString
*/
function getOrigin(entity, originLayerString) {
let originLayer = $OriginLayers.getLayer(originLayerString ?? 'origins:origin');
let origin = $ModComponents.ORIGIN.get(entity).getOrigin(originLayer);
return origin.getIdentifier();
}
StartupEvents.registry('palladium:condition_serializer', (event) => {
event.create('origins:has_origin')
.test((entity, json) => {
if (!entity.isPlayer()) return false;
let requiredOrigin = json.origin;
let originLayer = json.layer ?? 'origins:origin';
return getOrigin(entity, originLayer).toString() === requiredOrigin;
});
});