跳到正文

KubeJS AstralSorcery

作者:NadienDev

Kubejs Astral Sorcery Addon

收藏

介绍

中文介绍正在准备中,下面暂时显示原文。

Astral Sorcery KJS

Astral Sorcery 2.0 is back on 1.21.1, rewritten from the ground up. It has no KubeJS support at all — no recipe schemas, no way to add constellations, no way to touch the tome.

Astral Sorcery KJS adds all of it: every recipe type with chainable methods, new constellations, new altar tiers, your own tome entries, and script control over lumen bindings, config values and the focal point.

Every recipe type

All nine, from a server script:

altar_crafting · focal_combine · focal_transmutation · lumen_generation · lumen_crystallization · lightwell · infusion · liquid_starlight · liquid_interaction

AstralSorcery.recipes(event => {
    event.altar_crafting('minecraft:elytra', ['FFF', 'FDF', 'FFF'], { F: 'minecraft:feather', D: 'minecraft:diamond' })
        .type('radiance')
        .constellation('vicio')
        .starlight('vicio')
        .lumen('prismatic', 200)
        .fluid('astralsorcery:liquid_starlight', 1000)
        .anyTime()

    event.focal_transmutation('minecraft:cake[bites=0]', 'minecraft:pumpkin')
        .constellation('aevitas')
        .focused(true)

    event.infusion('minecraft:glowstone', 'minecraft:redstone_block')
        .duration(100)
})

The function only asks for what the recipe needs. Everything else is a chained method: altar tier, focus constellation, relay pattern, starlight, lumen, fluids, extra inputs, altar upgrades, research tier, output modifiers, durations, colours.

replaceInput and replaceOutput reach inside Astral Sorcery recipes too, down to altar grid keys and relay slots.

Remove one recipe or a hundred

All KubeJS filters work, plus new ones made for Astral Sorcery:

astral_type · altar_tier · altar · constellation · focus · lumen · fluid · output_block · research_tier

event.remove({ altar_tier: 'radiance', output: 'astralsorcery:dynamism_gem_sky' })
event.remove({ lumen: ['caldor', 'hyle'], astral_type: 'lumen' })
event.remove({ constellation: 'discidia' })

New constellations

AstralSorcery.registry('constellations', event => {
    event.create('kubejs:lyra')
        .displayName('Lyra')
        .color('#7F5FFF')
        .major()
        .star(4, 5).star(12, 3).star(20, 9).star(26, 20).star(16, 27).star(6, 22)
        .chain(0, 1, 2, 3, 4, 5)
        .focalPoint()
        .rootPerk('vicio', -45, 20)
})

They show up in the sky, on constellation paper and in the tome. They can have their own focal points in the world, their own focus crystal layout and their own root perk in the perk tree. You can also pin them to moon phases and pick where they sit in the sky.

New altar tiers — two ways

A new altar on an existing tier. Your own altar block with its own multiblock structure, written in the script, and recipes only it can craft.

A real new tier. Above Radiance, usable as .type('stellar') in recipes, able to craft everything below it. It opens with the grid of the tier it is based on and shows correctly in the tome and JEI.

AstralSorcery.altarTiers(event => {
    event.create('stellar').base('radiance').block('kubejs:stellar_altar')
})

StartupEvents.registry('block', event => {
    event.create('kubejs:stellar_altar', 'astralsorcery:altar')
        .realTier('stellar')
        .structureLayer(-1, ['D   D', '     ', '  D  ', '     ', 'D   D'], { D: 'minecraft:diamond_block' })
})

The wand shows the structure preview, and the tome can show it as a 3D page.

Your own tome entries

Add pages to the book, change existing ones or remove them:

AstralSorcery.research(event => {
    event.create('kubejs:starry_diamond')
        .title('Starry Diamond')
        .tier('shimmer')
        .position(0, 3)
        .icon('minecraft:diamond')
        .text('A diamond shaped by the stars.')
        .recipe('mypack:altar/starry_diamond')
        .constellation('aevitas')
})

Text, recipe, constellation, structure and lumen pages, connections, locks and hidden entries. Everything reloads with /reload and is sent to every player.

Lumen bindings, config and the focal point

Astral Sorcery 2.0 has no ritual pedestal: a constellation’s power now lives in its lumen bindings. You can change their potion effects, costs and bonuses, create new bindings and map lumen to them.

AstralSorcery.lumenBindings(event => {
    event.modify('aevitas', b => b.potionDuration(100, 200).scaleModifiers(2))
})

AstralSorcery.config(event => event.set('general.dayLength', 30000))

AstralSorcery.focalPoint(event => event.flightRadius(12).starlightMultiplier(2))

Also fixes a crash in Astral Sorcery when Curios is not installed.

Requirements

  • KubeJS 2101.7.2 or newer
  • Astral Sorcery 2.0.1 or newer

Available for 1.21.1, NeoForge.

Documentation

Every feature is documented with working examples in the wiki:

The examples/ folder has ready-to-run startup and server scripts covering all of it.

常见问题

KubeJS AstralSorcery 支持哪些 Minecraft 版本?

KubeJS AstralSorcery 支持 Minecraft Java 版 1.21–1.21.1,共 2 个版本,可用的加载器:NeoForge。下载时注意选择和你游戏版本一致的文件。

KubeJS AstralSorcery 怎么安装?

先用 PCL2 或 HMCL 启动器安装对应版本的 NeoForge,再把下载的 .jar 文件放进游戏目录的 mods 文件夹,重新启动游戏即可。开启了版本隔离的,mods 文件夹在 versions/版本名 下面。

评论

登录后评论和评分

NadienDev 的其他作品

查看全部 →