TACZ:NPC

TACZ:NPC

带有战利品表的完整动画中立和敌对NPC

怪物

需求

  • TACZ

    特性

  • 盔甲与 TACZ 枪械的渲染与使用 - NPC 会像玩家一样使用来自任何附加包的 TACZ 枪械,包括火箭筒、榴弹发射器和火焰喷射器等。

  • 完整的 PlayerAnimator 与玩家皮肤支持 - NPC 会使用 PlayerAnimator 的动画,并且可以配置玩家名称和皮肤。

  • 配置 - 广泛的配置文件可用于创建具有不同关系、纹理和装备的全新 NPC。

  • 阵营与关系 - 配置 tacznpc_factions.json 文件来设置不同的队伍,并观看他们进行实时战斗。

使用方法

关于如何修改模组,请参阅下面的配置部分。

  • 你可以使用 /summon tacznpcs:npc {"template":""} 召唤 NPC。如果不添加 template NBT,即 {"template":""},将使用 "default" 模板;否则,你需要根据 npc_loadouts.json 配置文件指定一个模板名称。

配置

NPC 使用模组的配置文件进行配置。

自定义战利品表或标签应使用数据包以 Minecraft 常规方式添加。然后可以在配置中引用它们的 ID。


tacznpc_factions.json

将实体 ID 映射到阵营名称。

{
  "villagers": [
    "minecraft:villager",
    "minecraft:iron_golem"
  ],
  "illagers": [
    "minecraft:pillager",
    "minecraft:evoker"
  ]
}
  • 键是阵营名称。
  • 值是实体 ID 的列表。

tacznpc_loadouts.json

定义 NPC 的装备、武器、阵营和纹理。

{
  "illagers": { <-- 配装名称
    "aligned": [
      "illagers", <-- 友方阵营
      "monster"
    ],
    "opposed": [
      "villagers" <-- 要攻击的阵营
    ],
    "equipment": {
      "table": "tacznpcs:npc/illager", <-- 装备使用的战利品表,如果只想修改 dropChances 则为可选
      "dropChances": { <-- dropChances 是可选的
        "mainhand": 1, <-- dropChances 中的每个字段都是可选的
        "head": 0.2,
        "chest": 0.2,
        "legs": 0.2,
        "feet": 0.2
      }
    },
    "skin": [
      {"id": "tacznpcs:entity/illager1.png", "slim": true}, <-- id=纹理位置, slim= slim(是)或wide(否)皮肤,默认为false
      {"id": "tacznpcs:entity/illager2.png"} <-- id 是必需的,slim 是可选的
    ]
  },
  "names": ["Bobert", "Robert"] <-- 要选择的随机名称,将显示在名称标签上,可选(如果不使用此字段,则不显示名称标签,并会使用默认实体名称)
}

额外字段

字段 描述
primary NPC 的主要武器或物品。
helmet 头盔物品 (可选)。
chestplate 胸甲物品 (可选)。
leggings 护腿物品 (可选)。
boots 靴子物品 (可选)。

额外字段的 ID 前缀

几个字段接受使用前缀的不同 ID 类型:

前缀 含义 示例
(无) Minecraft 物品 ID minecraft:iron_sword
% TACZ 枪械 ID %tacz:glock_17
# 物品标签 #c:swords
$ 战利品表 ID $minecraft:chests/simple_dungeon

建议设置一个 default 配装,当没有其他配装适用时会使用它。


内置阵营

以下阵营名称始终可用(不区分大小写):

  • monster
  • creature
  • ambient
  • axolotls
  • underground_water_creature
  • water_creature
  • water_ambient
  • misc

你也可以引用在 npc_factions.json 中定义的任何自定义阵营。


tacznpcs_structures.json

定义特定配装会生成的结构。

{
 "minecraft:mansion": [ <-- 结构 ID
   { <-- 对象
     "entities": [
       "minecraft:pillager",
       "minecraft:vindicator"
     ],
     "loadout": "illagers",
     "chance": 0.25
   }
 ],
 "minecraft:village_plains": [
   { <-- 每个结构可以有多个生成对象
     "entities": [
       "minecraft:villager" <-- 可被替换的实体 ID 列表
     ],
     "loadout": "villagers", <-- 用于替换实体的配装
     "chance": 0.05 <-- 生成时实体被替换的几率
   },
   {
     "entities": [
       "minecraft:iron_golem"
     ],
     "loadout": "villagers",
     "chance": 0.5
   }
 ]
}

我接受委托或在 Discord(@jeducklet.)上解答问题。(私聊开放)