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());
}
}
}
}