本篇教程由作者设定未经允许禁止转载。
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 数据同步发送到客户端。
}
})


