跳到正文

Crypt: Mimic

作者:Pyrrha

Data-driven fake-player NPCs

收藏

介绍

中文介绍正在准备中,下面暂时显示原文。

Made for ModFest: Carnival

Not what I set out to make, but still something cool :3

Usage guide

Spawning

/crypt-mimic <identifier> <x> <y> <z> <nbt>\
The npc will act as an armour stand until it is locked with:\
/data modify entity <seletor> Locked set value True\
While it is unlocked interacting will modify items, once locked dialog actions will show.\
You can also modify model part rotations just as you would an armour stand.

NBT tags
NpcId - The npc types id
ArmourItems - A list of item stack compounds
HandItems - A list of item stack compounds
Small - Boolean for small model
Locked - Boolean for locked model
Pose - Compound of pose rotations.
Pose.Head - A list of floats, euler for Head rotation.
Pose.Body - A list of floats, euler for Body rotation.
Pose.LeftArm - A list of floats, euler for Left Arm rotation.
Pose.RightArm - A list of floats, euler for Right Arm rotation.
Pose.LeftLeg - A list of floats, euler for Left Leg rotation.
Pose.RightLeg - A list of floats, euler for Right Leg rotation.

NPCs

data/<namespace>/crypt-mimic/npc/<id>.json

// note: this example uses json5 for the comments, use regular json for actual data
{
  // `name` uses the vanilla Text codec, so you can build fancy things
  "name": [ // required
    {
      "type": "translatable",
      "translate": "npc.<namespace>.<id>.name"
    }
  ],
  // `title` also uses the vanilla Text codec
  "title": [ // optional
    {
      "type": "translatable",
      "translate": "npc.<namespace>.<id>.title"
    }
  ],
  "skin": { // optional
    "texture": "<namespace>:textures/entity/npc/<id>.png", // required
    "hasSlimArms": true // optional, defaults to false
  },
  "action": { // optional
    "action": "crypt-mimic:show_dialog", // required
    "value": "<namespace>:dialog_<id>" // may be required, dependent on `action`
  }
}

Dialog

data/<namespace>/crypt-mimic/dialog/<id>.json

// note: this example uses json5 for the comments, use regular json for actual data
{
  // `text` uses the vanilla Text codec
  "text": [ // required
    {
      "type": "translatable",
      "translate": "dialog.<namespace>.<id>"
    }
  ],
  "actions": [ // required, even if empty but should contain at least one
    {
      "action": "crypt_mimic:show_dialog", // required
      "value": "<namespace>:<different_id>" // may be required, dependent on `action`
    }
  ]
}

Custom dialog actions

Dialog actions use the action.<namespace>.<id> translation key.

import gay.pyrrha.mimic.dialog.DialogAction;
DialogAction.getEVENT().register((player, entity, action) -> {
    // do things
});
Kotlin Example
import gay.pyrrha.mimic.dialog.DialogAction
DialogAction.EVENT.register { player, entity, action ->
    // do things (but in kotlin :3)
}

常见问题

Crypt: Mimic 支持哪些 Minecraft 版本?

Crypt: Mimic 支持 Minecraft Java 版 1.21,可用的加载器:Fabric。下载时注意选择和你游戏版本一致的文件。

Crypt: Mimic 怎么安装?

先用 PCL2 或 HMCL 启动器安装对应版本的 Fabric,再把下载的 .jar 文件放进游戏目录的 mods 文件夹,重新启动游戏即可。开启了版本隔离的,mods 文件夹在 versions/版本名 下面。运行环境:客户端和服务端都要装。

评论

登录后评论和评分

Pyrrha 的其他作品

查看全部 →