[email protected]
1.7.10自定义npc让npc用已经附魔的物品

比如说是附魔火失的弓箭,但是npc装备上并不能射出火箭。
而是通过远程攻击里面设置。

怎么才能让NPC使用已经附魔的物品。让npc的攻击达到多种属性攻击。
比如一发箭带着毒,火之类的属性。


Mccraft-pepsi
如你说述,我可以给出两种解决方法[第二种可能不切实际,因为你应该是无法做到的]

一、
    在CustomNpcMods的高级设置中选择第二条[即-NPC职业下面的内个,与职业一样的]:选择: 同伴,然后自行设置即可,注:CustomNpcMods的同伴职业是可以使用出已装备武器的属性的[插件好像不支持],但是,前提是你不能自定义该NPC与攻击有关的设置比如:AI设置,等等等等...也就是说你只能设置这个NPC的名字,皮肤、大小啥的,其他的就都不能了,等你这个同伴达到一定等级后你可以给他放入武器等。

二、
    在CustomNpcMods的工具中有一个叫做脚本魔杖的东西,你可以试试那个,绝对可以,不过太麻烦我就不再这里放出来了,如果不但可以追问。

平凡的行者
恩...首先从结论来讲,你要求的效果我不确定是否能做到

第一点:NPC本身无法使用附魔物品
(1.7.2版本是可以的,不过需要利用第三方NBT数据编辑器,在原本生物都会有的物品栏里手动添加装备,NPC是可以受到这些装备的附魔影响)

第二点:如果是近战攻击附带多重效果(或药水效果)可以简单做到,但是远程攻击附带多重效果就很麻烦了。原因是NPC投射出的投掷物只允许设置一种效果(部分药水效果或是火焰)。你如果手边有NBTexplorer的话可以试着去地图存档里找找看。

最后一点:综合以上缺陷,如果仍然坚持要有多重效果的话,势必要动用到脚本。
但是以1.7.10的NPCmod提供的脚本功能,无法即时判断目标何时被击中,顶多知道NPC何时射出远程攻击。如果只用NPCmod本身提供的API来模拟,那么判断上会有很多BUG(最明显的就是附加效果不同步)

如果还是坚持要有多重效果的远程攻击的话,只能试试看在脚本里使用java的反射机制来动态添加事件处里。
虽然在脚本里使用反射是可行的,但是我还不确定能不能像这样动态的在forge的EventBus里注册事件。

[email protected]
平凡的行者 发表于 2017-5-8 22:35
恩...首先从结论来讲,你要求的效果我不确定是否能做到

第一点:NPC本身无法使用附魔物品

怎么让近战有多重攻击效果呢

平凡的行者
[email protected] 发表于 2017-5-10 00:54
怎么让近战有多重攻击效果呢

虽然我回的帖里说近战可以简单做到
不过实际上还是依赖脚本,只是代码很好写
因为NPC的脚本可以做到即时侦测近战攻击发生的时间点

执行的监听项是Attack,当NPC发动攻击时,不管是近战还是远程攻击,这个脚本会被执行一次。近战攻击的话,脚本执行的时间点就在目标受到近战伤害的前一刻。当然如果是远程攻击的话就有很大的延迟了。

那么给近战伤害附加多重效果的具体作法就是:当npc攻击时,使用用脚本直接给予目标多重药水效果。

举个例子:
如果你在Attack监听项里这样写:
if(!event.isRange()){
var t = event.getTarget();
t.addPotionEffect(2, 10, 2, false);
t.addPotionEffect(9, 10, 0, false);
t.addPotionEffect(19, 10, 1, false);
t.setBurning(10);
}
那么当NPC以近战方式攻击到目标时
会额外送它10秒移动减速III
10秒恶心
10秒中毒II
顺便给它点燃10秒

第一页 上一页 下一页 最后一页