本篇教程由作者设定使用 CC BY-NC-SA 协议。

前言

这份教程有什么?

  • 指令逐条解析

  • /npc edit(编辑)详细解析

  • 原版相关指令

  • 配置文件重要内容

  • 简单的实操演示

适用的版本?

适应Minecraft1.19.2+Taterzens1.11.0[1.19.1]

已测试的最低版本Minecraft1.16.5+Taterzens1.1.0[1.16.5]

部分指令略有变化,例如:使用序号选择NPC:

  • 1.16.5:/npc select 1

  • 1.19.2:/npc select id 1


指令逐条解析

npc
        action(行动)
                goto ~ ~ ~
                走向一个坐标,到达坐标后取消'自由移动'
                interact ~ ~ ~
                右键这个坐标,对这个坐标的可互动方块进行互动,例如拉一下拉杆,按钮,修改中继器档位
        create [playername](召唤NPC,根据输入的名字来当做这个NPC实体的默认名字和皮肤,后续可以修改)
        deselect(取消选择NPC)
        edit(编辑)
                详见后续
        list(NPC列表)
        lock(锁定)
        preset(预设)
                load
                save
        remove(删除NPC)
        select(选择'指针指向的NPC')
        tp(传送)
        unlock(解锁)


/npc edit(编辑)详细解析

npc
        edit(编辑)
                behaviour(仇恨与习性)
                        defensive
                        被动防御,挨打后会反击
                        friendly
                        友善,挨打后会反击,但是会原谅(一会打不到后会原谅,但是上面那个会保持仇恨)
                        hostile
                        敌对(会主动攻击所有生物,1.16.5中甚至会去戳创造模式的玩家)
                        passive
                        不抵抗


                commands(命令)
                        add
                                        bungee                (自带指令)
                                        minecraft            (mc原版指令)
                        clear                                    (删除一条指令)
                        cooldown                            CD(设置指令执行的间隔)
                        group                                  (添加一条指令组)
                                        id
                                        new
                        list                                       (以列表展示所有信息)
                        setPermissionLevel             (修改权限等级)


                equipment 
                        ~        (直接回车后进入装备编辑模式,将手持物品给予NPC,再次输入本条指令退出编辑)
                        allowEquipmentDrops(允许装备掉落)


                look
                运动模式设定为look,不会移动(不会攻击,但是可以设置为可挨打),像是一般服务器里的固定NPC,会一直盯向一定范围内最近的玩家


                messages(信息)
                        ~                (第一次输入时进入对话编辑模式,再次输入保存并退出此模式,在此模式期间在对话框输入的文字并按回车即增加一条对话)
                        clear           清除第几条消息
                        list              以列表展示所有信息
                        swap          交换两条信息的位置


                mount [playername] (骑乘在~上)


                movement
                        allowFlight [true/false]
                                摔落伤害与飞行[启用/关闭]
                        follow
                                mobs
                                none
                                players
                                uuid
                                跟随(模仿路径,包括飞行)一个生物,玩家,自定义uuid
                        forced_look
                        强制启用look(等同于/npc edit look)
                        forced_path
                        时刻不停的按照路径点移动(前提是已经设置过路径点)
                        free
                        自由游荡
                        look
                        原地张望(有攻击欲望时会移动)
                        none
                        完全静止
                        path
                        散漫的按照路径点移动(偶尔会停下来,前提是已经设置过路径点)
                        tick
                        原地张望(可被击退)


                name [NPC_name]
                重命名NPC的名字,可以是中文,英文,甚至标点符号


                path
                输入一次进入设置路径点模式,再次输入退出设置路径点模式,在路径点模式中设置路径,左键地面的方块变成一个路径点(标记使用红石块),NPC会按照路径点的设置顺序行动,退出path模式即保存,使用/npc edit movement [forced_path/path]来启用路径点循环模式


                pose
                        crouching                潜行
                        fall_flying                 鞘翅飞行(陆游)
                        sleeping                   躺下(这时候最好还是设置成静止模式)(此时碰撞箱变得很小)
                        standing                  正常站立
                        swimming               游泳(陆游)
                        其他的动作无效,有可能会改变碰撞箱,不建议使用上面五个以外的动作


                professions
                        add
                        list
                        remove
                        职业(添加,以列表形式展示,删除)


                skin
                        ~                        直接按回车后会将tailor mod(更换皮肤)的更换对象设置为此NPC,设置后可直接在tailor中更改皮肤(由于mc版本1.19.2,npcmod版本支持1.19.1,换肤mod的ui界面换肤失效,需要使用换肤mod的指令/skin 来更换,估计在以后的版本中会修复此问题)
                        [playername]     玩家名,会使用此玩家的皮肤
                        [url]                    使用皮肤站的皮肤


                sounds
                        add
                        list
                        remove
                        目前可以设置三种声音,普通活动或呼吸声音,受伤声音,被击败声音


                tags
                        allowEquipmentDrops        (允许装备掉落)
                        allowRiding                         (允许骑乘)
                        allowSounds                       (允许声音)
                        allowswimming                   (允许游泳)
                        jumpWhileattacking            (跳起来打)
                        leashable                             (可出租的?)
                        pushable                             (可推挤)
                        showCustomName             (是否显示名字,注意,关闭后再次开启后名字可能会改变)
                        sneakNameType                 (潜行状态的名字)


                type
                        默认是player,当然也可以改成其他种类,甚至盔甲架和其他模组的生物


原版相关指令

/data merge entity uuid {Invulnerable:0b}
让NPC可以被挨打,改成1b变成无敌状态
注意,NPC会穿墙攻击,所以只要在NPC的射程内(即使视线被阻挡)就会攻击

/team add [teamName]
/team join [teamName] <taterzen uuid>
创建NPC小队

配置文件重要内容

配置文件(默认与全局属性)修改指南,文件路径:

.minecraft\config\taterzens\config.json


让你的NPC出现在tab栏里面的时长,永久为-1(如果NPC被你锤死,那么tab里面依然有他的名字,bug?)

"taterzen_tablist_timeout": 30,


默认声音控制,以下为源文件部分+注释

  "death_sounds": [
      "entity.player.death"//默认被击败音效
    ],
    "hurt_sounds": [
      "entity.player.hurt"//默认受伤音效
    ],
    "ambient_sounds": [
      ""//闲的没事就会放的音效,原版是呼吸声,我这给他删了
    ],
    "

原版的"呼吸"声太吵了,(甚至有点吓人),你可以像上面这样直接删除,记得保留分号

还记得上文有条命令吗,/npc edit sounds 可以单独修改每一个NPC的音效


默认的NPC是否为无敌状态

"invulnerable": true,

如果想做成可以挨打的NPC就改成false(指示NPC等重要的NPC小心会被打死)


NPC边跳边打

"jump_while_attacking": true


死亡掉落装备

"drop_equipment": true


每条NPC给玩家发送的消息延迟,单位tick

"message_delay": 100


和平模式下NPC也会锤玩家

"combat_in_peaceful": true



简单的实操演示

右键获得一个TNT

/npc create                                                                                                                  召唤NPC
/npc edit name 黑山大叔                                                                                             给NPC命名叫黑叔
/npc edit skin hsds                                                                                                     设置皮肤
/npc edit look                                                                                                             让NPC可以看附近的玩家
/npc list                                                                                                                       这一步展示NPC列表,点击NPC后面的uuid获得uuid
04b70a6c-bef9-469a-936e-f985861e7f10                                                                 这是NPC的uuid
/data merge entity 04b70a6c-bef9-469a-936e-f985861e7f10 {Invulnerable:1b}      让NPC变成无敌状态
/npc edit messages                                                                                                    设置对话
需要TNT吗?我这有                                                                                                     直接在对话框输入这句话
/npc edit messages                                                                                                    再次输入,停止记录对话
/npc edit equipment                                                                                                  设置手持物品
手持TNT右键,使其手持TNT,左键,副手交换,手持打火石右键,使其手持打火石
/npc edit equipment                                                                                                  退出设置手持物品
/npc edit commands add minecraft give @p tnt 1                                                   添加指令,让右键此NPC的最近玩家获得一个TNT
/npc deselect                                                                                                             退出此NPC

Taterzens指令解析+NPC使用演示-第1张图片效果图,右键NPC获得一个TNT


PVE地图里的持弓守卫

/npc create HIDPENELOPEA                                                                                  召唤NPC,就暂用自己的id吧
/npc edit skin                                                                                                         用Tailor mod来设置皮肤
/skin set upload slim D:\Skins\小猫.png                                                                使用我自己画的皮肤
准备一把弓,附魔火矢,冲击2,力量3,用铁砧命名:你说你为啥要逗这只猫呢
/npc edit equipment                                                                                              进入装备设置模式
持弓右键NPC(小心别把NPC打死咯)
/npc edit equipment                                                                                               退出装备设置模式
/npc edit equipment allowEquipmentDrops false                                                  NPC死亡不掉落装备
/npc edit behaviour HOSTILE                                                                                 设置为敌对状态,攻击一切
/npc list                                                                                                                   获取uuid,改为可受伤模式
11451419-1981-0enh-haaa-aaaaaaaaaaaa
/data merge entity 11451419-1981-0enh-haaa-aaaaaaaaaaaa {Invulnerable:0b}
/npc edit path                                                                                                          进入路径点设置模式
左键地面,设置路径点
/npc edit path                                                                                                          退出设置路径点
/npc edit movement PATH                                                                                       执行路径点模式
/npc edit sounds remove all                                                                                    (私货环节,清空NPC的声音,用原版小猫的声音来替代,分别设置平静(环绕音),受伤,被击败声音)
/npc edit sounds add ambient minecraft:entity.cat.ambient
/npc edit sounds add hurt minecraft:entity.cat.hurt
/npc edit sounds add death minecraft:entity.cat.death
/team add cat
新建命令方块×
在地上放一个命令方块,写入:
/team join cat @e[name=HIDPENELOPEA]
设置为蓝色命令方块,用拉杆激活,持续执行,目的是让NPC加入同一队伍,防止自相残杀
/npc preset save cat                                                                                                  保存此NPC(复制)
/npc preset load cat                                                                                                  可以多次加载(粘贴)
关闭命令方块
/npc deselect                                                                                                             退出此NPC

Taterzens指令解析+NPC使用演示-第2张图片效果图,按照路径点移动的NPC

Taterzens指令解析+NPC使用演示-第3张图片

尝试1V12

当然了,可以设置持剑,鱼叉,弩箭,副手放一个不死图腾,然后加一点盔甲...


其他作用?除了服务器定点NPC和整合包pve地图以外,在单人生存时也可以找个帮手一起打怪,或者去刷怪塔里砍怪,甚至可以去拍一些简单的MC动画