前提说明本教程基于0.0.2模组版本的KubeJS示例


本示例是当玩家首次进入女巫小屋时在玩家身后生成一个倒计时剩余一半的闪电苦力怕



PlayerEvents.tick(event => {
    let level = event.level;
    let player = event.player;
    let pos = player.onPos;


    let module = new BaseRaidModule("creeper")
        .readyTime(0)
        .rewardTime(0)
        .addWave([new EntityInfoWithPredicateModule("minecraft:creeper")
            .add(new NBTPredicate()
                .add("Fuse",15)
                .add("powered",1)
                .build()
            )
            .amountModule(new IntegerAmountModule(1).build())
            .build()])
        .rewards(new ItemWeightedModule().build())
        .build();


    StructureUtils.handleProcessor(level,pos,"minecraft:swamp_hut",(serverLevel,boundingBox,blockPos,piece) => {
        let CreeperPos = StructureUtils.getWorldPos(4, 2, 1, piece.getOrientation(), boundingBox);
        let worldPos = StructureUtils.getWorldPos(4, 2, 2, piece.getOrientation(), boundingBox);

        if (worldPos.equals(player.blockPosition()) && !AftermathStageCap.hasStage(player,"creeper")) {
            let baseRaid = new BaseRaid(module, serverLevel,CreeperPos);
            baseRaid.setProgressVisible(false);
            let instance = AftermathManager.getInstance();
            if (instance.create(baseRaid,serverLevel,worldPos,player)) {
                AftermathStageCap.addStage(player,"creeper");
            }
        }
    })
})


KubeJS示例之一-第1张图片