Row0
mod开发初学者,版本1.12,在各个教程里都没有看到一丝关于物品属性的影子...其实就是这个玩意↓↓

这玩意wiki上说叫属性(Attributes)或修饰符
在游戏中使用AttributeModifier的指令可以对物品和实体的属性进行修改
但如何在mod中实现增加新的属性,修改原版属性等操作呢
我好像没有在找到一个包或类与此相关的...
4z的教程里倒是有提到实体的属性IAttribute类:https://fmltutor.ustc-zzzz.net/3.1.3-%E7%94%9F%E7%89%A9%E7%9A%84%E5%9B%BA%E6%9C%89%E5%B1%9E%E6%80%A7%E5%92%8C%E8%87%AA%E7%84%B6%E7%94%9F%E6%88%90.html
但似乎不适用与物品
还望大神们指导一二,谢谢!

森林蝙蝠
public Multimap<String, AttributeModifier> getAttributeModifiers(EntityEquipmentSlot slot, ItemStack stack){
//调节各种物品参数,例如护甲值,攻速,伤害之类
Multimap<String, AttributeModifier> multimap = super.getAttributeModifiers(equipmentSlot, itemStack);
if (equipmentSlot == EntityEquipmentSlot.MAINHAND) {
multimap.put(SharedMonsterAttributes.ATTACK_DAMAGE.getName(), new AttributeModifier(ATTACK_DAMAGE_MODIFIER,"Tool Modifier", SWORD_HARM, 0));}
/*SharedMonsterAttributes.ATTACK_DAMAGE:内置的攻击力调整参数,toName()起标记作用
new AttributeModifier(ATTACK_DAMAGE_MODIFIER,“ToolModifier”,SWORD_HARM,0):
ATTACK_DAMAGE_MODIFIER:内置的攻击力调整器,传入AttributeModifier(属性调整器)以指定攻击力
SWORD_HARM:预先定义的int,代表剑的伤害*/

Row0
本帖最后由 Row0 于 2019-7-11 16:35 编辑
森林蝙蝠 发表于 2019-7-10 23:56
public Multimap getAttributeModifiers(EntityEquipmentSlot slot, ItemStack stack){
//调节各种物品参数 ...

谢谢!明白了!
为什么我当初没有发现这个类...(其实就算发现了也不会写)
应该是论坛等级不够还不能评分,抱歉...
那我如果要自定义一种新的attribute呢?    已经会啦,谢谢!

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