MillenaireVillagerExpansion

Quick rating

Community listing page, reviews here may not be monitored by the author.

MillenaireVillagerExpansion

By momomomoOwner

No reviews yet

Can render the villagers of a millennium village as other biological models. 可以让千年村庄的村民被渲染为其他的生物模型。

Mod Loaders
Minecraft

About

Description

Dependence Millenaire 9.0.0

Usage

  1. Entity Model Binding
    In the millenaire-custom directory, declare inner_entity:id in the villager configuration file to allow the villager to use the specified entity model.

    {
      "pamars": "...",
      "tags": [
        "...",
        "inner_entity:cataclysm:ancient_remnant"
      ],
      "pamars": "..."
    }
    
  2. NBT and Runtime Behavior Configuration
    Declare inner_nbt in the villager tags to adjust runtime behavior and details:

    • sync_box [Optional]: Declare this for entities with non-standard humanoid bounding boxes. It synchronizes the collision box once per tick, which carries a minor performance cost.
    • rewrite [Known Issue]: Attempts value rewriting for meaningful NBT keys (e.g., awakening the Ancient Remnant). Since Cataclysm uses uppercase keys, case compatibility is handled—simply use lowercase uniformly.
    • put [Use with Caution]: The rewrite option above rarely takes effect. put provides stronger NBT injection—it is case-sensitive, overwriting existing keys or inserting new ones if missing.
    • battle_ai [Testing]: Upon entering combat state, attempts to activate the AI of the rendered target model entity to participate in battle.
    {
      "tags": [
        "...",
        "inner_entity:touhou_little_maid:maid",
        "inner_nbt:sync_box:true,put:has_necklace:1b,battle_ai:true"
      ]
    }
    
  • Touhou Little Maid Integration
    Requires declaring specific parameters inside inner_nbt:

    • ModelId=id [Required]: Specifies which maid model to render.
    • ysm=true [Conditionally Required]: Must be declared if the model is of YSM type (or Bedrock-style 3D animations with higher volumetric detail); otherwise, animation mapping issues will occur.
    • Chained YSM Integration: For maids using models from the YSM mod, the following declarations must be appended along with the base config. Specify a ModelID other than reimu (灵梦):
      • IsYsmModel:true [Conditionally Required]
      • YsmModelId:"goety_revelation.zip" [Conditionally Required] (Escaped quotes " are required)
      • YsmModelName:"使徒" [Conditionally Required]
      • YsmModelTexture:"default" [Optional]
      • YsmRoamingVars:{} [Optional]
      • YsmRouletteAnim:"empty" [Optional]
      • YsmRoamingUpdateFlag:0 [Optional]
{
  "tags": [
    "...",
    "inner_entity:touhou_little_maid:maid",
    "inner_nbt:ModelId:geckolib:winefox,ysm:true",
    // To render a YSM maid
    "inner_nbt:ModelId:geckolib:winefox,ysm:true,IsYsmModel:true,YsmModelId:"goety_revelation.zip",YsmModelTexture:"default",YsmModelName:"使徒",YsmRoamingVars:{},YsmRouletteAnim:"empty",YsmRoamingUpdateFlag:0"
  ]
}
  • Explicit Animation Adapters [Testing]
    Explicitly configure animation adapters in ./config/millenairevillageexpansion/adapters.

    • Unpack the .jar file to inspect declared configuration files. This requires basic modding background and is not recommended for users without development experience.

用法

  1. 在millenaire-custom目录下,配置村民时声明inner_entity:id,可以让村民使用对应的实体模型。
    {
      "pamars": "...",
      "tags": [
        "...",
        "inner_entity:cataclysm:ancient_remnant"
      ],
      "pamars": "..."
    }
    
  2. 配置村民时声明inner_nbt,改动运行细节。
    • [可选]sync_box:对于非标准人形的碰撞体进行声明,此时会每tick同步一次碰撞盒,有一定的性能开销。
    • [问题]rewrite:尝试对有意义的NBT键进行值重写,下面的例子就是唤醒[远古遗魂](https://www.mcmod.cn/item/776527.html),由于灾变有大写Key所以做了大小写兼容,统一小写即可。
    • [谨慎]put:上面的重写几乎不生效,这是更加强力的NBT注入,区分大小写,有就覆写无则加写。
    • [测试]battle_ai:进入战斗状态后,尝试唤醒渲染模型对象的AI来进行战斗。
    {
      "tags": [
        "...",
        "inner_entity:touhou_little_maid:maid",
        "inner_nbt:sync_box:true,put:has_necklace:1b,battle_ai:true"
      ]
    }
    
  • 联动车万女仆:需要在inner_nbt里声明字段
    • [必须]ModelId=id声明需要渲染那个女仆模型;
    • [条件必须]ysm=true若模型是ysm(或者说基岩板动画,反正就是比较立体的那种)类型的,则必须声明,否则模型动作适配会有问题;
    • [链式联动YSM] 对于使用了YSM模组模型的女仆,必须声明下文,上文也需要声明,ModelID写个除了灵梦之外别的模型
      • [条件必须] IsYsmModel:true
      • [条件必须] YsmModelId:\"goety_revelation.zip\"其中\"应该是必须的
      • [条件必须] YsmModelName:\"使徒\"
      • [可选] YsmModelTexture:\"default\"
      • [可选] YsmRoamingVars:{}
      • [可选] YsmRouletteAnim:\"empty\"
      • [可选] YsmRoamingUpdateFlag:0
{
  "tags": [
    "...",
    "inner_entity:touhou_little_maid:maid",
    "inner_nbt:ModelId:geckolib:winefox,ysm:true",
     // 若要渲染YSM女仆
     "inner_nbt:ModelId:geckolib:winefox,ysm:true,IsYsmModel:true,YsmModelId:\"goety_revelation.zip\",YsmModelTexture:\"default\",YsmModelName:\"使徒\",YsmRoamingVars:{},YsmRouletteAnim:\"empty\",YsmRoamingUpdateFlag:0"
  ]
}
  • [测试]在./config/millenairevillageexpansion/adapters中显式的适配动画
    • 解压jar查看模组声明的文件来了解,需要一定的基础,不推荐无开发经验的玩家进行配置。