mcr如何给物品添加属性加成-教程
mcreator吧
全部回复
仅看楼主
level 3
说谎冰 楼主
演示的是给一个物品添加属性修饰符(比如最大生命值)教程
2025年06月30日 18点06分 1
level 3
说谎冰 楼主
首先锁定要加属性的物品的代码在MCR里面
2025年06月30日 18点06分 2
level 3
说谎冰 楼主
导入这些,直接复制粘贴
import net.minecraft.world.entity.ai.attributes.Attributes tributes,net.minecraft.world.entity.ai.attributes.Attributes) tributes,net.minecraft.world.entity.ai.attributes.Attributes) tributes,net.minecraft.world.entity.ai.attributes.Attributes) ;
import net.minecraft.world.entity.ai.attributes.AttributeModifier;
import net.minecraft.world.entity.ai.attributes.Attribute;
import net.minecraft.world.entity.EquipmentSlot;
import java.util.UUID;
import com.google.common.collect.Multimap;
import com.google.common.collect.ImmutableMultimap;
2025年06月30日 18点06分 3
level 3
说谎冰 楼主
接下来的东西也是复制粘贴,但是这里的就需要改掉一些东西。还有位置不要搞错,盔甲类物品直接找到最下面行数很少的四个分别对应盔甲槽位的地方,然后跟那些@override开头的放相邻的位置。
2025年06月30日 18点06分 5
level 3
说谎冰 楼主
@Override
public Multimap < Attribute, AttributeModifier > getDefaultAttributeModifiers(EquipmentSlot equipmentSlot) {
if (equipmentSlot == EquipmentSlot.MAINHAND ) {
网页链接 < Attribute, AttributeModifier > builder = ImmutableMultimap.builder();
builder.putAll(super.getDefaultAttributeModifiers(equipmentSlot));
// 获取一个uuid
builder.put(Attributes.MAX_HEALTH, new AttributeModifier(UUID.fromString("e36329d9-3333-43a4-bfcf-d9d5f3bc0267"), "Item modifier", 2.0, AttributeModifier.Operation.ADDITION));
return builder.build();
}
return super.getDefaultAttributeModifiers(equipmentSlot);
}
2025年06月30日 18点06分 6
level 3
说谎冰 楼主
上面代码有一块变成网址链接了是真难绷
2025年06月30日 18点06分 7
level 8
[真棒]
2025年07月01日 01点07分 8
1