ModeledNPCs:MythicMobs和ModelEngine的终极NPC插件!

ModeledNPCs:MythicMobs和ModelEngine的终极NPC插件!

ModeledNPCs:MythicMobs和ModelEngine的终极NPC插件!-5173MC - 我的世界资源社区
ModeledNPCs:MythicMobs和ModelEngine的终极NPC插件!
此内容为付费资源,请付费后查看
20
立即购买
您当前未登录!建议登陆后购买,可保存购买订单
付费资源

ModeledNPCs – MythicMobs和ModelEngine

的高级NPC管理 将您的Minecraft世界转变为一个动态的,互动的宇宙,使用ModeledNPCs—一个完整的NPC系统,使您的自定义实体栩栩如生。无论您是在构建身临其境的 RPG、任务驱动的冒险还是热闹的市场,此插件都能为您提供创建令人惊叹、智能且完全可定制的 NPC 所需的一切。

核心亮点

  • 支持 ModelEngine 和 MythicMobs
  • 将复杂的命令链分配给 NPC
  • 与BetonQuest、Quests和QuestDialogs等任务插件集成
  • 带 GUI 确认的动态交易系统
  • 完全支持Adventure API对富文本、悬停事件和翻译
  • 具有实时重新加载、调试工具和权限控制的数据持久 NPC

立即创建动态 NPC

  • 使用 ModelEngine 或 MythicMobs 通过单个命令生成 NPC。
  • 每个 NPC 都注册了其 ID、名称、实体类型、UUID 和位置
  • 自动支持自定义名称和全息影像

高级交互和命令
当玩家与NPC互动时触发任何命令:

  • player: – 以玩家身份运行
  • console: — 作为服务器控制台运行
  • sudo: – 以 OP 的玩家身份运行

支持:

  • 自定义条件
  • 权限检查
  • 延迟和冷却
    时间 创建NPC将使用以下命令进行:
    代码 (YAML):
    /mnpc create <modelengine|mythicmobs> <name> # 创建一个NPC
    /mnpc addcmd <player|console|sudo> <cmd> # 添加一个命令
    /mnpc removecmd <cmd> # 删除一个命令[/FONT]

    ,数据将以npcdata.yml保存如下:

代码 (YAML):
npcs:
‘0’:
name: guardred
类型: modelengine
commands:
– ‘player: spawn’
autoLook: true
customDisplayName: elias
internalUUID: eeee23aa-4655-4fea-ae7c-fc301995f591
entityUUID: f8434a5e-720e-46d2-82ad-a2e760973cd2
位置:
世界: void
x: 668.4004370430782
y: 114.5
z: -481.95376398341114
偏航: 1.4
俯仰: 3.75
‘1’:
名称: 守卫
类型: modelengine
命令: []
autoLook: true
customDisplayName: eliasas
internalUUID: 61bbfbc4-49ca-49b3-abab-6c39d86e2d4b
entityUUID: b2f36557-0dd6-4eac-a5a1-bf2b9cda4d4d
位置:
世界: void
x: 667.4445800541569
y: 113.0
z: -479.03800417818377
偏航:-178.44878
俯仰:-5.549968
‘2’:
名称:冒险家NPC
类型:神话生物命令
:[]
autoLook:false
internalUUID:d06aef99-88c8-480e-ab93-3bce0996a808
entityUUID:60cac161-9c96-443c-8daa-21ad2f479827
位置:
世界:void
x:669.765871198872
y:109.0
z:-469.3264074342184
偏航:10.100135
俯仰:10.650009
‘3’:
名称:冒险家NPC
类型:神话生物命令

– ‘玩家:生成’
autoLook:false
internalUUID: e64d6b03-d235-4424-b9f8-8c15ca713474
entityUUID: a400da95-fe63-4140-a686-ffe2e93ebeb4
位置:
世界: void
x: 668.9977608912066
y: 109.0
z: -463.4940848081191
偏航: -173.79921
pitch: 2.2500105
‘4’:
name: archerNPC
type: mythicmobs
commands: []
autoLook: false
customDisplayName: sdffds
internalUUID: 3eec175b-f8da-4c11-9d6c-d34aebbb74b9
entityUUID: 2ee3deef-b848-45b2-8512-aedc40c905e8
位置:
世界: void
x: 667.8815271551339
y:115.0
z: -483.44825838702076
偏航: 1.25
俯仰: 3.9
‘5’:
名称: 弓箭手
类型: modelengine
命令: []
autoLook: true
customDisplayName: asdsa
internalUUID: 2c978b2e-160e-44bd-9228-cd14b07d6963
entityUUID: 694cbabe-cdfe-465e-81d6-a03f750aa90d
位置:
世界: void
x: 666.4484577368393
y: 112.0
z: -475.7628949632364
偏航: -21.399813
pitch: -0.6000005
‘6’:
name: quest_graywizard
type: modelengine
commands:
– ‘player: enchanter’
autoLook: true
internalUUID: e0da7486-fd52-43ea-84c1-a4dbc4c4b21c
entityUUID: 1b1d0741-b527-40b4-9f84-ab8cea6a23b0
位置:
世界: void
x:671.5105520189101
y: 109.0
z: -456.71635729297503
偏航: 75.32529
pitch: -19.94992

️强大的交易者系统
在 trader.yml中创建复杂的交易者:

  • 设置要求: XP、经济平衡、特定物品(带有自定义模型数据)。
  • 奖励玩家物品、金钱、权限或传送。
  • 由 SmartInvs API 提供支持的功能丰富的多页 GUI 系统。
  • 预览、购买/出售按钮和完全可配置性。
    代码 (YAML):
    # 交易员 NPC 配置
    示例 # 将 “npc-1” 替换为存储在插件数据
    中的 NPC ID npc-1:
    # 这是与交易员互动时向玩家显示的名称
    display-name: “&6Stone Trader”

    # 成功完成交易
    的要求 requirements:
    # 玩家必须具备
    的最低经验等级 exp: 10

    # 玩家必须拥有的最低金额(需要保险库 + 经济插件)
    money: 500

    # 玩家库存中必须有的物品(支持自定义模型数据)
    items:
    “1”: # 物品要求的唯一 ID(可以是任何字符串)
    # 显示的名称以识别此物品(逻辑不需要)
    displayName: Stone

    # Minecraft 材质名称(必须有效 – 使用自动完成或 https://minecraftitemids.com
    material: STONE

    # 可选:只接受具有特定 CustomModelData 的物品(例如,来自 ItemsAdder、Oraxen 或资源包)
    modelId: 57

    # 玩家必须拥有
    多少此物品 amount: 1

    # 如果玩家不满足此物品要求
    fail: “<red>你缺少 1x stone</red>”

    # 交易成功
    时要运行的命令 # 使用 %player% 插入玩家的名字
    commands:
    – “console:money give %player% 1000” # 通过控制台命令

    给玩家 $1000 # 是否在完成交易
    前显示确认 GUI requireConfirmation: true

    # 交易成功
    时向玩家显示的消息消息:“,您用 1 块石头换取了 1000 美元!

Quest 集成
插入顶级任务系统:

  • QuestDialogs(本机)完全兼容
  • 与 Quests 和 BetonQuest 配合使用
  • 根据玩家进度动态显示全息图

代码 (YAML):
CatchFish对话框:
npc: 1
yHeight: 20
questName: “Catch Fish”
displayName:
– “&b&lCatch Fish”
– “%dialogstatus_<Catch Fish>_status%”
对话框:
作: DIALOG
对话框:
– “欢迎来到任务 Catch Fish!”
– “选项:<yellow>1:继续</yellow>,<red>2:取消</red>”
选项:
1:
作:对话框
对话框:
– “您准备好帮我们捕鱼了吗?”
– “选项:<yellow>1:开始</yellow>,<red>2:取消</red>”
选项:
1:
作:开始
对话框:
– “太好了!钓到 10 条鱼,然后回到我这里。
2:
作: 取消
对话框:
– “好吧,也许下次。”
2:
作:取消
对话框:
– “也许下次!”

wood:
npc: 2
questName: wood
displayName:
– “&c&lWood Quest”
– “%dialogstatus_<wood>_status%”
yHeight: 3
对话框:
作: DIALOG
对话框:
– 桥坏了!你能帮忙解决这个问题吗?
– “选项:<黄色>1:是</黄色>,<红色>2:否</红色>”
选项:“
1”:
作:开始
对话框:
– 太好了!将 10 块木板带到木匠那里。
“2”:
作: 取消
对话框:
– 不用担心。如果你改变主意,请告诉我。

SlayDragonDialog:
npc: 3
displayName:
– “&b&lSlay the Dragon”
– “%dialogstatus_<Slay the Dragon>_status%”
questName: “Slay the Dragon”
对话框:
作: DIALOG
对话框:
– “一条龙在恐吓村庄!你能帮我们杀掉它吗?
– “选项:<黄色>1:是</黄色>,<红色>2:否</红色>”
选项:
1:
作:开始
对话框:
– “准备战斗!”
2:
作:取消
对话框:
– “我们理解。这是一项危险的任务。
️ModelEngine 动画支持
通过动画让您的 NPC 栩栩如生:

  • 触发式或连续式动画
  • 通过 meganimation.yml 控制或直接在游戏中控制

代码 (YAML):
# 此文件通过动画的 ID 将动画映射到特定的 NPC。
# 使用以下方式定义每个 NPC 的动画:
# – looped_animation:连续
播放的动画 # – interact_animation:玩家互动
时播放的动画
1:
looped_animation:行走
interact_animation:攻击

2:
looped_animation:行走
interact_animation:攻击

3:
looped_animation: 走
interact_animation: 攻击

4: looped_animation
: 走
interact_animation: 攻击

5:
looped_animation: 指尖
interact_animation: 问候

# 在下面
添加更多 NPC # 确保动画名称与您的 ModelEngine 蓝图相匹配!
#
# 示例:
# 6:
looped_animation:空闲
# interact_animation:欢迎

视觉效果和自动查看

  • 添加环境效果,如粒子、声音和火焰
  • 设置循环效果以增强沉浸感
  • 启用 AutoLook:NPC 会自动跟踪最近的玩家
    • 完全持久化,可通过简单标签进行切换

代码 (YAML):
1:
循环:火焰
loop_count:10
loop_yOffset:2.5
onInteract:
粒子:心形
计数:40
yOffset:2.5
声音:ENTITY_VILLAGER_YES

2:
循环:CLOUD
loop_count:50
loop_yOffset:2.7
onInteract:
粒子:VILLAGER_HAPPY
计数:60
yOffset:2.7
声音: ENTITY_PLAYER_LEVELUP

3:
onInteract:
声音: BLOCK_NOTE_BLOCK_BELL
yOffset: 2.4

4:
循环: ENCHANTMENT_TABLE
loop_count: 5
loop_yOffset: 2.3

lookdata.yml
代码 (YAML):
autolook:
‘5’: true ‘0’: true
‘0’: true
‘1’: true
‘6’: true
‘2’: false
‘3’: false
‘4’: false

动态重新加载和维护工具
在不重启的情况下重新加载你的NPC系统的任何部分:

  • NPC
  • 名字
  • AutoLook 设置
  • 视觉效果

使用如下命令:

  • /mnpc reload – 重新加载所有内容
  • /mnpc reloadname – 重新加载名称/AutoLook
  • /mnpc reloadeffects – 重新加载视觉效果
  • /mnpc debug – 检查孤立的 NPC、区块错误和实体一致性

️NPC HIDE – 基于权限的可见性
想要创建仅对 VIP 或符合任务条件的玩家可见的隐藏 NPC 吗?

  • 使用以下命令设置可见性权限:

代码(文本):
/mnpc hide <id> <permission>

  • 未经许可的玩家不会看到 NPC
  • 无需重新启动 — 完全动态

完整命令列表
代码 (YAML):
/mnpc create <modelengine|mythicmobs> <name> # 创建一个 NPC
/mnpc remove <id> # 移除一个 NPC
/mnpc move <id> # 将一个 NPC 移动到你的位置
/mnpc tp <id> # 传送到一个 NPC
/mnpc 名称 <id> <new_name> [height] # 更改名称和高度
/mnpc addcmd <player|console|sudo> <cmd> # 添加命令
/mnpc removecmd <cmd> # 删除命令
/mnpc hide <id> <perm|remove> # 管理可见性
/mnpc look <id> # 启用自动观察(跟随玩家)
/mnpc rotate <id> <deg> <left|right> # 旋转
NPC /mnpc 列表 # 查看所有 NPC
/mnpc reload # 重新加载完整配置
/mnpc reloadname # 重新加载名称/AutoLook
/mnpc reloadeffects # 重新加载粒子效果
/mnpc debug # 检查孤儿/有 bug 的 NPC
所有命令都需要权限: mnpc.use
️ 配置文件概述

  • data.yml:存储所有创建的 NPC
  • namedata.yml:名称和全息影像高度设置
  • lookdata.yml:AutoLook 状态数据
  • meganimation.yml:动画配置

所需的依赖项

可选但推荐

文档和支持

无论您是在构建史诗般的 RPG 领域、创建商家中心还是编写深度交互脚本,ModeledNPCs 都能让您充分设计您想象的世界。

© 版权声明
THE END
喜欢就支持一下吧
点赞14 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容