本篇教程由作者设定未经允许禁止转载。

L2恶意作为一个怪物增强mod,想必很多玩家都想用来给自己的整合包提升难度,但是由于该模组的机制,使得玩家通常必须遵循模组的规则进行游玩,所以我这里给出了自定义怪物等级的方法。

 修改文件放入server_scripts文件夹中。

EntityEvents.spawned(event => {             //监听实体生成事件,任意实体被生成时触发

    const { entity, level } = event                //从事件对象解构出:生成的实体、以及所在世界

   

    if (!entity.isLiving()) return                   //非生物实体直接跳过

    let cap = L2Hostility.of(entity)            //L2模组提供的实体等级获取方法

    if (cap == null) return                        //获取失败直接返回,部分实体不支持,会返回 null

    if (entity.persistentData.l2h_processed) return         //persistentData实体持久NBT,存档保存,实体死亡前不会丢失

    entity.persistentData.l2h_processed = true              //判断标记l2h_processed防止重复初始化

    const entityLevels = {

        'minecraft:zombie': 1000,

        'cataclysm:ignis': 1000

    }

   

    let entityId = entity.getType()                                       //获取实体完整注册 ID

    if (entityId in entityLevels) {                                         //判断当前实体是否在映射表里

        cap.reinit(entity, entityLevels[entityId], false)          // L2等级重置初始化函数

        cap.syncToClient(entity)                                          //将服务端的 L2Hostility 数据同步发送到客户端。

    }

})