westernat
概述这是一个直接对服务端进度进行操作的 KubeJS 拓展。
以下是一个进度操作示例:// 1.18.2版请替换下一行为 onEvent("advjs", (event) => {
ServerEvents.advancement((event) => {
    const { BOUNDS, PREDICATE, TRIGGER } = event;
   
    // 定义触发器
    const jump5times = TRIGGER.tick((triggerBuilder) =>
        triggerBuilder.addStat(Stats.JUMP, Stats.CUSTOM, BOUNDS.min$Integer(5)));
    const bred_in_nether = TRIGGER.bredAnimals((triggerBuilder) => {
        // 支持json格式导入
        triggerBuilder.setChild(PREDICATE.entity({
            stepping_on: {
                dimension: "the_nether"
            }
        }))
    });
   
    // 新增根进度
    const root = event.create("advjs:hell")
        .display((displayBuilder) => {
            displayBuilder.setTitle("AdvancementJS")
            displayBuilder.setDescription("Quick example")
            displayBuilder.setIcon("diamond")
        })
        .criteria((criteriaBuilder) => criteriaBuilder.add("tick", TRIGGER.tick()));
   
    // 为根进度添加子进度
    root.addChild("child1", (childBuilder) => {
        childBuilder
            .display((displayBuilder) => {
                displayBuilder.setTitle(Text.red("Holy"))
                displayBuilder.setDescription(Text.red("Hell starts"))
            })
            .criteria((criteriaBuilder) => {
                // 'OR' means that if you want to achieve this advancement,
                // you just need one of two triggers matched below
                criteriaBuilder.setStrategy(RequirementsStrategy.OR)
                criteriaBuilder.add("bred", bred_in_nether)
                criteriaBuilder.add("jump", jump5times)
            })
            .rewards((rewardsBuilder) => {
                rewardsBuilder.setRecipes("minecraft:lodestone", "minecraft:brewing_stand")
                rewardsBuilder.setExperience(100)
            })
    });
   
    // 删除一个已存在的进度
    event.remove("minecraft:story/lava_bucket");
   
    // 修改一个已存在的进度
    event.get("minecraft:story/smelt_iron")
        .modifyDisplay((displayBuilder) => displayBuilder.setIcon("diamond_pickaxe"))
        .addChild("child2", (childBuilder) => {
            childBuilder
                .display((displayBuilder) => {
                    displayBuilder.setTitle('A nice one!')
                    displayBuilder.setDescription(Text.green("Good luck"))
                })
                .criteria((criteriaBuilder) => criteriaBuilder.add("jump", jump5times))
        });
   
    // 通过进度来锁合成
    event.lock("stone_slab", "minecraft:story/smelt_iron");
});
该模组支持热重载,只需在修改完代码后在游戏内输入“/reload”即可
效果演示添加新的进度








修改已存在的进度



第一页 上一页 下一页 最后一页