本帖最后由 狡诈师 于 2021-2-9 15:17 编辑




imiPet项目正式开源,由社区维护
本人因某些原因“退休”本项目


[ - bStats 使用统计图 - ]


Java模型:主要由纹理资源材质包控制,而不是由盔甲架控制,不必过于担心影响服务器性能
基岩模型:由发包控制基岩模型及其动作动态




交流讨论群457600295






. 简介
这是一款结合纹理材质的宠物插件,宠物可在跟随状态下参与战斗,玩家可以喂养、培养宠物,让宠物变得更强大,还允许宠物达到条件进化新的形态,还可以骑着宠物到处跳跃、飞行
此外,还配套了VexView界面,当然也不强制使用VexView,可以通过命令执行功能
还有,用户可以在配置或API中设计宠物属性,当然支持动作动态模型,3.0.0版本后做了优化性更新,让用户更加简单地制作动态模型,也不会产生大量盔甲架,因此不必过于担心上手难度和影响服务器性能
总之,在后面的教程各位将会了解到的

. 何为基岩动画模型,何为Java动画模型
只要通过BlockBench来制作Java模型和基岩模型你就能直接区分出来了
  • Java模型是Minecraft-Java版的模型,并且旋转方面有极大限制(旋转只能一个轴,每次旋转只能以22.5增加),而且制作动画动作流程十分麻烦
  • 而基岩模型在Minecraft-基岩版上运行的,并不能在Java版上使用,但是自从ModelEngine发布后,在Java版上使用基岩模型不再是梦,通过BlockBench制作基岩模型受到限制很少,允许你自由旋转,还有可视化快速制作动画动作!



. 功能
  • 兼容版本Minecraft-1.9-1.16
  • 部分基于Kotlin+TaboolLib开发 新 √
  • 自动生成纹理材质资源包 新 √
  • 命令系统更好的自动补全 新 √
  • 更好的自定义语言系统 新 √
  • 支持基岩动画模型(需要ModelEngine)和Java动画模型(基岩做动画更加容易)
  • Version-4.0.0全新模型配置目录结构,分类一目了然
  • 独特的创建技能系统,可以基于动态模型,可以调用MythicMobs的技能
  • 支持模型技能动态动作
  • 宠物技能释放界面和装载卸载技能库
  • 更多动态动作
  • 支持YAML/MySQL存储数据
  • 可在配置或API注册自定义宠物
  • 丰富的开发者API
  • 宠物可以收回、跟随或放生
  • 宠物安全召唤,不会因为窒息而死亡
  • 宠物在跟随状态下可参与战斗
  • 宠物也有经验(需要写公式)
  • 宠物输出伤害范围
  • 宠物可回复血量
  •     - 支持指定条件回复血量:
  •         - 使用经济回复血量(需要写公式)
  • 宠物需要喂养,即回复活力
  •     - 支持指定条件回复活力:
  •         - 使用经济回复活力(需要写公式)
  • 可不强制使用VexView
  • VexView宠物界面允许通过API添加组件
  • 支持使用原版Gui界面
  • 通过经验存储盒为宠物增经验
  • 宠物有等级
  • 宠物可进化
  •     - 支持进化所需条件:
  •         - 经济
  •         - 等级
  • 宠物升级会增加攻击伤害和活力(需要写公式)
  • 提供Papi占位符变量
  • 玩家攻击他人宠物的模型(盔甲架),其会受伤也会反击
  • 模型配置检查器
  • 转交宠物功能
  • 仓库系统功能
  • 坐骑功能,可跳跃或飞行
  • 交互式显示宠物信息
  •     - HolographicDisplays
  •     - TrHologram
  •     - CMI (缺少刷新方法,不推荐
  • 手持喂养脚本
  •     - 恢复宠物血量
  •     - 补充宠物活力
  •     - 以OP方式运行命令
  • 低耗能,不必过于担心影响服务器性能
  • 制作动态模型更加简单
  • 没有频繁的IO操作
  • 使用内部属性系统的同时允许使用外部属性系统(目前已支持AttributePlus
  • 新增宠物跟随状态下的加成反应-BUFF AttributePlus
    支持仅主人或所有玩家享用加成反应
    支持特定范围内享用加成反应
    加成反应支持通过升级进行强化属性,同样支持使用JavaScriptMath算法实现公式



展示

4.0.0Beta3+:基岩动画模型



Java模型动作动态



宠物界面




宠物全息名称,交互信息显示


可以坐骑,可以跳跃



[ - 视频 - ]



. 其它



. API相关用法
对实体添加模型
1.使用已通过配置成功注册的宠物模型
  1. Entity entity = ...;
  2. String modelId = "模型ID"
  3. ModelEntityManager modelEntityManager = new ModelEntityManager(entity, modelId);
  4. ModelEntityManager.fastSpawnModel(modelEntityManager, modelId);
复制代码

2.不使用注册的模型ID
  1. modelEntityManager = new ModelEntityManager(entity, modelId);
  2. modelEntityManager.setAnimationItemNameIdle("物品名称");
  3. modelEntityManager.setAnimationItemNameWalk("物品名称");
  4. modelEntityManager.setAnimationItemNameAttack("物品名称");
  5. modelEntityManager.setAnimationCustomModelDataIdle(模型数据);
  6. modelEntityManager.setAnimationCustomModelDataWalk(模型数据);
  7. modelEntityManager.setAnimationCustomModelDataAttack(模型数据);
  8. modelEntityManager.setModelLocationH(显示模型高度);
  9. modelEntityManager.spawnModel();
复制代码



. 使用前须知
  • 3.0.0版本后,不会产生大量盔甲架,不必过于担心影响服务器性能,所有动态模型由纹理资源材质包控制,而不是由盔甲架控制
  • 如有任何问题或建议请到此处提出[优先处理]:http://www.imipet.com/forums/4/



. 下载
别急着下载就使用行不行,心急吃不了热豆腐
有问题先看:http://wiki.imipet.com/FAQ.html,没有找到答案再来询问
有问题先看:http://wiki.imipet.com/FAQ.html,没有找到答案再来询问
有问题先看:http://wiki.imipet.com/FAQ.html,没有找到答案再来询问




推荐imiPet编辑器https://www.mcbbs.net/thread-944155-1-1.html
已不适用于3.0.0+imiPet
开发者:@2634405764



[ - 感谢开源工作,感谢GAYHHY的帮助 - ]
致谢前辈的开源项目ModelAPI,虽然3.0.0版本后不再使用ModelAPI,还是值得致敬的
ModelAPI:https://www.spigotmc.org/resourc ... odel-manager.68014/
坐骑算法来自:MyPet:https://github.com/xXKeyleXx/MyPet
MyPet协议

部分代码是个人原创



[groupid=1511]Server CT[/groupid]