Java 类net.minecraft.item.ItemShield 实例源码

项目:Levels    文件:GuiShieldSelection.java   
@SideOnly(Side.CLIENT)
@Override
public void initGui() 
{
    EntityPlayer player = this.mc.player;
    ItemStack stack = player.inventory.getCurrentItem();
    NBTTagCompound nbt = NBTHelper.loadStackNBT(stack);

    if (player != null && stack != null && nbt != null && stack.getItem() instanceof ItemShield)
    {
        attributes = new GuiButton[ShieldAttribute.SHIELD_ATTRIBUTES.size()];

        for (int i = 0; i < attributes.length; i++)
        {
            attributes[i] = new GuiButton(i, width / 2 - 147, 60 + (i * 20), 75, 20, ShieldAttribute.SHIELD_ATTRIBUTES.get(i).getName(nbt));
            this.buttonList.add(attributes[i]);
            attributes[i].enabled = false;
        }
    }
}
项目:Levels    文件:GuiShieldSelection.java   
@SideOnly(Side.CLIENT)
@Override
protected void actionPerformed(GuiButton button) throws IOException 
{
    EntityPlayerSP player = mc.player;
    ItemStack stack = player.inventory.getCurrentItem();
    NBTTagCompound nbt = NBTHelper.loadStackNBT(stack);

    if (player != null && stack != null && nbt != null)
    {
        if (Experience.getAttributeTokens(nbt) > 0)
        {
            if (stack.getItem() instanceof ItemShield)
            {
                for (int i = 0; i < attributes.length; i++)
                {
                    if (button == attributes[i])
                        Levels.network.sendToServer(new PacketAttributeSelection(i));
                }
            }
        }
    }
}
项目:Levels    文件:EventTooltip.java   
@SubscribeEvent(priority = EventPriority.HIGHEST)
public void onTooltip(ItemTooltipEvent event)
{
    ArrayList<String> tooltip = (ArrayList<String>) event.getToolTip();
    ItemStack stack = event.getItemStack();
    NBTTagCompound nbt = NBTHelper.loadStackNBT(stack);

    if (stack != null && nbt != null)
    {
        if (stack.getItem() instanceof ItemSword || stack.getItem() instanceof ItemArmor || stack.getItem() instanceof ItemBow || stack.getItem() instanceof ItemShield || stack.getItem() instanceof ItemTool)
        {
            Rarity rarity = Rarity.getRarity(nbt);

            if (rarity != Rarity.DEFAULT)
            {
                addTooltips(tooltip, stack, nbt);
            }
        }
    }
}
项目:Levels    文件:EventCreateWeapon.java   
@SubscribeEvent
public void onCreateWeapon(PlayerTickEvent event)
{
    if (!event.player.getEntityWorld().isRemote)
    {
        if (event.phase == Phase.START)
        {
            for (ItemStack stack : event.player.inventory.mainInventory)
            {
                if (stack != null && (stack.getItem() instanceof ItemSword || stack.getItem() instanceof ItemBow || stack.getItem() instanceof ItemArmor || stack.getItem() instanceof ItemShield))
                {
                    create(stack, event.player);
                }
            }
        }
    }
}
项目:Levels    文件:EventSoulBound.java   
@SubscribeEvent
public void onPlayerDeath(PlayerDropsEvent event)
{
    EntityPlayer player = event.getEntityPlayer();
    Item item;

    for (int i = 0; i < event.getDrops().size(); i++)
    {
        item = event.getDrops().get(i).getEntityItem().getItem();

        if (item != null && (item instanceof ItemSword || item instanceof ItemShield || item instanceof ItemArmor || item instanceof ItemBow))
        {
            ItemStack stack = event.getDrops().get(i).getEntityItem();
            NBTTagCompound nbt = NBTHelper.loadStackNBT(stack);

            if (nbt != null)
            {
                if (WeaponAttribute.SOUL_BOUND.hasAttribute(nbt) || ArmorAttribute.SOUL_BOUND.hasAttribute(nbt) || BowAttribute.SOUL_BOUND.hasAttribute(nbt) || ShieldAttribute.SOUL_BOUND.hasAttribute(nbt))
                {
                    event.getDrops().remove(i);
                    player.inventory.addItemStackToInventory(stack);
                }
            }
        }
    }
}
项目:uniquecrops    文件:EmblemDefense.java   
@SubscribeEvent
public void autoShield(LivingAttackEvent event) {

    if (!(event.getEntityLiving() instanceof EntityPlayer)) return;
    if (!(event.getSource().getSourceOfDamage() instanceof EntityArrow)) return;

    ItemStack shield = ((EntityPlayer)event.getEntityLiving()).getHeldItemOffhand();
    ItemStack emblem = BaublesApi.getBaublesHandler((EntityPlayer)event.getEntityLiving()).getStackInSlot(6);
    if (shield == null || emblem == null) return;
    if (emblem.getItem() != this || !(shield.getItem() instanceof ItemShield)) return;

    shield.attemptDamageItem(1, event.getEntityLiving().worldObj.rand);
    event.setCanceled(true);
}
项目:Levels    文件:GuiItemInformation.java   
@SideOnly(Side.CLIENT)
@Override
protected void actionPerformed(GuiButton button) throws IOException 
{
    EntityPlayerSP player = mc.player;

    if (player != null)
    {
        ItemStack stack = player.inventory.getCurrentItem();

        if (stack != null)
        {
            if (button == selection)
            {
                if (stack.getItem() instanceof ItemSword)
                {
                    player.openGui(Levels.instance, GuiHandler.WEAPON_ATTRIBUTES, player.getEntityWorld(), (int) player.posX, (int) player.posY, (int) player.posZ);
                }
                else if (stack.getItem() instanceof ItemArmor)
                {
                    player.openGui(Levels.instance, GuiHandler.ARMOR_ATTRIBUTES, player.getEntityWorld(), (int) player.posX, (int) player.posY, (int) player.posZ);
                }
                else if (stack.getItem() instanceof ItemBow)
                {
                    player.openGui(Levels.instance, GuiHandler.BOW_ATTRIBUTES, player.getEntityWorld(), (int) player.posX, (int) player.posY, (int) player.posZ);
                }
                else if (stack.getItem() instanceof ItemShield)
                {
                    player.openGui(Levels.instance, GuiHandler.SHIELD_ATTRIBUTES, player.getEntityWorld(), (int) player.posX, (int) player.posY, (int) player.posZ);
                }
                else if (stack.getItem() instanceof ItemTool)
                {
                    //player.openGui(Levels.instance, GuiHandler., player.getEntityWorld(), (int) player.posX, (int) player.posY, (int) player.posZ);
                }
            }
        }
    }
}
项目:Levels    文件:GuiShieldSelection.java   
@SideOnly(Side.CLIENT)
@Override
public void drawScreen(int mouseX, int mouseY, float partialTicks) 
{
    this.drawDefaultBackground();
    super.drawScreen(mouseX, mouseY, partialTicks);

    EntityPlayer player = this.mc.player;
    ItemStack stack = player.inventory.getCurrentItem();
    NBTTagCompound nbt = NBTHelper.loadStackNBT(stack);

    if (player != null && stack != null &&  nbt != null && stack.getItem() instanceof ItemShield)
    {
        drawCenteredString(fontRendererObj, I18n.format("levels.misc.attributes"), width / 2, 20, 0xFFFFFF);
        drawCenteredString(fontRendererObj, I18n.format("levels.misc.attributes.tokens") + ": " + Experience.getAttributeTokens(nbt), width / 2 - 112, 40, 0xFFFFFF);
        drawCenteredString(fontRendererObj, I18n.format("levels.misc.attributes.current"), width / 2 + 112, 40, 0xFFFFFF);

        int k = -1;

        for (int i = 0; i < BowAttribute.BOW_ATTRIBUTES.size(); i++)
        {
            if (BowAttribute.BOW_ATTRIBUTES.get(i).hasAttribute(nbt))
            {
                k++;
                drawCenteredString(fontRendererObj, BowAttribute.BOW_ATTRIBUTES.get(i).getName(nbt), width / 2 + 112, 60 + (10 * k), BowAttribute.BOW_ATTRIBUTES.get(i).getHex());
            }
        }

        displayButtons(nbt);
        drawTooltips(nbt, mouseX, mouseY);
    }
}
项目:Levels    文件:EventInput.java   
@SideOnly(Side.CLIENT)
@SubscribeEvent
public void onKeyPress(InputEvent.KeyInputEvent event)
{
    KeyBinding l = ClientProxy.keyBindingL;
    Minecraft mc = Minecraft.getMinecraft();
    EntityPlayer player = mc.player;

    if (player != null)
    {
        ItemStack stack = player.inventory.getCurrentItem();

        if (stack != null)
        {
            Item current = stack.getItem();

            if (current != null)
            {
                if (current instanceof ItemSword || current instanceof ItemTool || current instanceof ItemArmor || current instanceof ItemBow || current instanceof ItemShield)
                {
                    if (l.isPressed())
                    {
                        player.openGui(Levels.instance, GuiHandler.ITEM_INFORMATION, player.getEntityWorld(), (int) player.posX, (int) player.posY, (int) player.posZ);
                    }
                }
            }
        }
    }
}
项目:Levels    文件:GuiItemInformation.java   
/**
 * Draws the strings for the ability selection screen.
 * @param stack
 * @param abilities
 * @param nbt
 */
private void drawStrings(ItemStack stack, NBTTagCompound nbt)
{
    Rarity rarity = Rarity.getRarity(nbt);

    drawCenteredString(fontRendererObj, stack.getDisplayName(), width / 2, 20, rarity.getHex());
    drawString(fontRendererObj, I18n.format("levels.misc.rarity") + ": " + rarity.getName(), width / 2 - 50, 40, rarity.getHex());
    drawCenteredString(fontRendererObj, I18n.format("levels.misc.attributes"), width / 2, 80, 0xFFFFFF);
    drawCenteredString(fontRendererObj, I18n.format("levels.misc.attributes.tokens") + ": " + Experience.getAttributeTokens(nbt), width / 2 - 112, 100, 0xFFFFFF);
    drawCenteredString(fontRendererObj, I18n.format("levels.misc.attributes.current"), width / 2 + 112, 100, 0xFFFFFF);

    if (Experience.getLevel(nbt) == Config.maxLevel)
    {
        drawString(fontRendererObj, I18n.format("levels.misc.level") + ": " + I18n.format("levels.misc.max"), width / 2 - 50, 50, 0xFFFFFF);
        drawString(fontRendererObj, I18n.format("levels.misc.experience") + ": " + I18n.format("levels.misc.max"), width / 2 - 50, 60, 0xFFFFFF);
    }
    else
    {
        drawString(fontRendererObj, I18n.format("levels.misc.level") + ": " + Experience.getLevel(nbt), width / 2 - 50, 50, 0xFFFFFF);
        drawString(fontRendererObj, I18n.format("levels.misc.experience") + ": " + Experience.getExperience(nbt) + " / " + Experience.getNextLevelExperience(Experience.getLevel(nbt)), width / 2 - 50, 60, 0xFFFFFF);
    }

    int k = -1;

    if (stack.getItem() instanceof ItemSword)
    {   
        for (int i = 0; i < WeaponAttribute.WEAPON_ATTRIBUTES.size(); i++)
        {
            if (WeaponAttribute.WEAPON_ATTRIBUTES.get(i).hasAttribute(nbt))
            {
                k++;
                drawCenteredString(fontRendererObj, WeaponAttribute.WEAPON_ATTRIBUTES.get(i).getName(nbt), width / 2 + 112, 115 + (10 * k), WeaponAttribute.WEAPON_ATTRIBUTES.get(i).getHex());
            }
        }
    }
    else if (stack.getItem() instanceof ItemTool)
    {

    }
    else if (stack.getItem() instanceof ItemBow)
    {
        for (int i = 0; i < BowAttribute.BOW_ATTRIBUTES.size(); i++)
        {
            if (BowAttribute.BOW_ATTRIBUTES.get(i).hasAttribute(nbt))
            {
                k++;
                drawCenteredString(fontRendererObj, BowAttribute.BOW_ATTRIBUTES.get(i).getName(nbt), width / 2 + 112, 115 + (10 * k), BowAttribute.BOW_ATTRIBUTES.get(i).getHex());
            }
        }
    }
    else if (stack.getItem() instanceof ItemArmor)
    {
        for (int i = 0; i < ArmorAttribute.ARMOR_ATTRIBUTES.size(); i++)
        {
            if (ArmorAttribute.ARMOR_ATTRIBUTES.get(i).hasAttribute(nbt))
            {
                k++;
                drawCenteredString(fontRendererObj, ArmorAttribute.ARMOR_ATTRIBUTES.get(i).getName(nbt), width / 2 + 112, 115 + (10 * k), ArmorAttribute.ARMOR_ATTRIBUTES.get(i).getHex());
            }
        }
    }
    else if (stack.getItem() instanceof ItemShield)
    {
        for (int i = 0; i < ShieldAttribute.SHIELD_ATTRIBUTES.size(); i++)
        {
            if (ShieldAttribute.SHIELD_ATTRIBUTES.get(i).hasAttribute(nbt))
            {
                k++;
                drawCenteredString(fontRendererObj, ShieldAttribute.SHIELD_ATTRIBUTES.get(i).getName(nbt), width / 2 + 112, 115 + (10 * k), ShieldAttribute.SHIELD_ATTRIBUTES.get(i).getHex());
            }
        }
    }
}