我的世界mod开发(6)无敌的护甲

本文介绍了一个名为无敌盔甲的MOD实现过程,该MOD能让玩家角色无视伤害,并且当全套盔甲装备齐全时还能获得飞行能力。文章详细展示了ItemDirtArmor.java代码,包括盔甲属性设置、穿戴效果及飞行能力的实现。

现在,我们有了一把无敌的剑,但仅靠这些显然是不够的,我们还需要一套无敌的盔甲,具体要实现:无视伤害,全套时可以飞行

直接上代码 

ItemDirtArmor.java:

package fenge.fmltutor.item;

import fenge.fmltutor.ExampleMod;
import fenge.fmltutor.creativetab.TabFMLTutor;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.MobEffects;
import net.minecraft.inventory.EntityEquipmentSlot;
import net.minecraft.item.ItemArmor;
import net.minecraft.item.ItemStack;
import net.minecraft.potion.Potion;
import net.minecraft.potion.PotionEffect;
import net.minecraft.world.World;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
//继承ItemArmor
public class ItemDirtArmor extends ItemArmor
{

    public ItemDirtArmor(EntityEquipmentSlot equipmentSlot)
    {
        //设置盔甲属性
        super(ItemRegistryHandler.DIRT_ARMOR_MATERIAL, 0, equipmentSlot);
        this.setUnlocalizedName(ExampleMod.MODID + ".dirtArmor." + equipmentSlot.getName());
        //设置UnlocalizedName
        this.setRegistryName("dirt_armor_" + equipmentSlot.getName());
        //设置RegistryName
        this.setCreativeTab(TabFMLTutor.TAB_FMLTUTOR);
        //设置所在物品栏
        }
    //没用的属性
    public  Boolean ZT = false;
    //当盔甲被穿上时调用
    @SideOnly(Side.CLIENT)
    @Override
    public void onArmorTick(World world, EntityPlayer player, ItemStack itemStack){
       if (player.inventory.armorItemInSlot(2).getItem()==ItemRegistryHandler.DIRT_CHESTPLATE &&
               player.inventory.armorItemInSlot(2)!=null ||
               player.inventory.armorItemInSlot(3).getItem()==ItemRegistryHandler.DIRT_HELMET &&
               player.inventory.armorItemInSlot(3)!=null ||
               player.inventory.armorItemInSlot(0).getItem()==ItemRegistryHandler.DIRT_BOOTS &&
                       player.inventory.armorItemInSlot(0)!=null ||
               player.inventory.armorItemInSlot(1).getItem()==ItemRegistryHandler.DIRT_LEGGINGS &&
                       player.inventory.armorItemInSlot(1)!=null) {
           //只要穿上其中的一件,就赋予急迫III,生命恢复三,并将血量设为满血
           effectPlayer(player, MobEffects.HASTE,10,3);
           effectPlayer(player, MobEffects.REGENERATION,10,3);
           //TODO effectPlayer(player, PotionRegistryHa
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值