简易敌人尸体兼容

简易敌人尸体兼容

添加简单的敌人尸体,保留掉落物,匹配实体模型,并可选KubeJS背包自定义。

简单敌人尸体兼容模组将 Simple Enemy Mod 与 Corpse 整合于 Minecraft Forge 1.20.1 之上。

当 Simple Enemy 单位死亡时,该模组会使用对应的 Simple Enemy 模型创建一个尸体实体,并将该单位的掉落物放入尸体物品栏中。物品会优先放入主物品栏,溢出部分则存放在尸体的附加物品页面中。

 

功能特性

  • 为 Simple Enemy 单位创建尸体。
  • 使用对应的 US、RU 或 PMC 单位模型。
  • 将掉落物品保存在尸体物品栏中。
  • 支持没有默认掉落物的敌人。
  • 提供可选的 KubeJS 集成。
  • 正常使用不需要 KubeJS。
  • 防止从磁盘加载已保存的尸体时再次触发 KubeJS 尸体事件。

前置要求

  • Minecraft Forge 1.20.1
  • Simple Enemy Mod
  • Corpse

KubeJS 为可选依赖,仅在需要脚本支持时才需要安装。

KubeJS 示例

将以下脚本放入 kubejs/server_scripts/ 目录中:

// 可以使用 KubeJS 的原生事件修改 Simple Enemy 的装备。
EntityEvents.spawned(event => {
  const entity = event.entity

if (entity.type == 'simpleenemymod:ruunit') { entity.setItemSlot( 'mainhand', Item.of( 'tacz:modern_kinetic_gun', '{GunCurrentAmmoCount:1,GunFireMode:"SEMI",GunId:"tacz:m320",HasBulletInBarrel:1b,HideFlags:57.0d}' ) ) } })

// 自定义新建的尸体物品栏。 SimpleEnemyCorpseEvents.corpseCreated(event => { if (event.sourceEntityId == 'simpleenemymod:ruunit') { // 增量模式会保留原有掉落物。 event.addItems([ Item.of('minecraft:diamond', 2), Item.of('minecraft:bread', 4) ]) } })

如果要替换尸体中所有现有物品,请使用以下方式:

SimpleEnemyCorpseEvents.corpseCreated(event => {
  event.replaceItems([
    Item.of('minecraft:iron_ingot', 8),
    Item.of('minecraft:gunpowder', 16)
  ])
})

可用的尸体事件属性和方法:

event.entity                 // 尸体实体
event.sourceEntityId         // 来源实体 ID
event.sourcePersistentData   // 复制的 KubeJS 持久化数据
event.sourceEntity           // 来源实体(如果仍处于加载状态)
event.items                  // 当前尸体物品

event.addItems(items) // 保留现有物品并添加新物品 event.replaceItems(items) // 清除现有物品并插入新物品 event.setItems('add', items) event.setItems('replace', items)