@SubscribeEvent(priority = EventPriority.HIGHEST) public void onItemTooltip(ItemTooltipEvent event) { ArrayList<String> tooltip = (ArrayList<String>) event.getToolTip(); ItemStack stack = event.getItemStack(); NBTTagCompound nbt = NBTHelper.loadStackNBT(stack); if (event.getEntityPlayer() != null) { PlayerInformation info = (PlayerInformation) event.getEntityPlayer().getCapability(CapabilityPlayerInformation.PLAYER_INFORMATION, null); if (info != null && (stack.getItem() instanceof ItemSword || stack.getItem() instanceof ItemArmor || stack.getItem() instanceof ItemLEMagical || stack.getItem() instanceof ItemLEBauble)) { Rarity rarity = Rarity.getRarity(nbt); if (rarity != Rarity.DEFAULT) { if (stack.getItem() instanceof ItemSword) drawMelee(tooltip, stack, nbt, event.getEntityPlayer(), info); else if (stack.getItem() instanceof ItemArmor) drawArmor(tooltip, stack, nbt, event.getEntityPlayer(), info); else if (stack.getItem() instanceof ItemLEMagical) drawMagical(tooltip, stack, nbt, event.getEntityPlayer(), info); else if (stack.getItem() instanceof ItemLEBauble) drawBauble(tooltip, stack, nbt, event.getEntityPlayer(), info); } } } }
@SubscribeEvent(priority = EventPriority.HIGHEST) public void onLivingAttack(LivingAttackEvent event) { /* * Player attacks a monster OR another player */ if (event.getSource().getTrueSource() instanceof EntityPlayer && !event.getSource().getTrueSource().getEntityWorld().isRemote) { EntityPlayer player = (EntityPlayer) event.getSource().getTrueSource(); EntityLivingBase enemy = event.getEntityLiving(); ItemStack stack = player.inventory.getCurrentItem(); PlayerInformation playerInfo = (PlayerInformation) player.getCapability(CapabilityPlayerInformation.PLAYER_INFORMATION, null); if (playerInfo != null && stack != null && stack.getItem() instanceof ItemSword && !(stack.getItem() instanceof ItemLEAdvancedMelee)) { NBTTagCompound nbt = NBTHelper.loadStackNBT(stack); if (playerInfo.getPlayerLevel() >= nbt.getInteger("Level")) { useWeaponAttributes(event.getAmount(), player, enemy, stack, nbt); } } } }
public void render(@Nonnull ItemStack droneHeldItem) { EntityItem carriedItem = new EntityItem(world); carriedItem.hoverStart = 0.0F; carriedItem.setItem(droneHeldItem); double scaleFactor = carriedItem.getItem().getItem() instanceof ItemBlock ? 0.7F : 0.5F; double yOffset = -0.2F; if (carriedItem.getItem().getItem() instanceof ItemTool || carriedItem.getItem().getItem() instanceof ItemSword) { // since items are rendered suspended under the drone, // holding tools upside down looks more natural - especially if the drone is digging with them GlStateManager.rotate(180, 1, 0, 0); } GlStateManager.translate(0, yOffset, 0); GlStateManager.scale(scaleFactor, scaleFactor, scaleFactor); customRenderItem.doRender(carriedItem, 0, 0, 0, 0, 0); }
public static BlockBreakEvent callBlockBreakEvent(net.minecraft.world.World world, int x, int y, int z, net.minecraft.block.Block block, int blockMetadata, net.minecraft.entity.player.EntityPlayerMP player) { org.bukkit.block.Block bukkitBlock = world.getWorld().getBlockAt(x, y, z); org.bukkit.event.block.BlockBreakEvent blockBreakEvent = new org.bukkit.event.block.BlockBreakEvent(bukkitBlock, ((EntityPlayerMP)player).getBukkitEntity()); EntityPlayerMP playermp = (EntityPlayerMP)player; if (!(playermp instanceof FakePlayer)) { if (!(playermp.theItemInWorldManager.getGameType().isAdventure() && !playermp.isCurrentToolAdventureModeExempt(x, y, z)) && !(playermp.theItemInWorldManager.getGameType().isCreative() && playermp.getHeldItem() != null && playermp.getHeldItem().getItem() instanceof ItemSword)) { int exp = 0; if (!(block == null || !player.canHarvestBlock(block) || // Handle empty block or player unable to break block scenario block.canSilkHarvest(world, player, x, y, z, blockMetadata) && EnchantmentHelper.getSilkTouchModifier(player))) // If the block is being silk harvested, the exp dropped is 0 { int meta = block.getDamageValue(world, x, y, z); int bonusLevel = EnchantmentHelper.getFortuneModifier(player); exp = block.getExpDrop(world, meta, bonusLevel); } blockBreakEvent.setExpToDrop(exp); } else blockBreakEvent.setCancelled(true); } world.getServer().getPluginManager().callEvent(blockBreakEvent); return blockBreakEvent; }
public static void applyBackers(List<MaterialDefinition> definitions) { for (MaterialDefinition definition : definitions) { ToolMaterial toolMaterial = definition.getToolMaterial(); ArmorMaterial armorMaterial = definition.getArmorMaterial(); RandoresItemData itemData = definition.getData(); RandoresItems.hoe.registerBacker(itemData, new ItemHoe(toolMaterial)); RandoresItems.sword.registerBacker(itemData, new ItemSword(toolMaterial)); RandoresItems.axe.registerBacker(itemData, new ConstructableAxe(toolMaterial, toolMaterial.getDamageVsEntity() + 5f, -3f)); RandoresItems.shovel.registerBacker(itemData, new ItemSpade(toolMaterial)); RandoresItems.pickaxe.registerBacker(itemData, new ConstructablePickaxe(toolMaterial)); RandoresItems.battleaxe.registerBacker(itemData, new ConstructableAxe(toolMaterial, toolMaterial.getDamageVsEntity() + 8f, -3.5f)); RandoresItems.helmet.registerBacker(itemData, armorMaterial); RandoresItems.chestplate.registerBacker(itemData, armorMaterial); RandoresItems.leggings.registerBacker(itemData, armorMaterial); RandoresItems.boots.registerBacker(itemData, armorMaterial); } }
public boolean instanceOf(IItemType type) { if (type.equals(IItemType.ItemFishingRod)) { return item instanceof ItemFishingRod; } else if (type.equals(IItemType.ItemPotion)) { return item instanceof ItemPotion; } else if (type.equals(IItemType.ItemFood)) { return item instanceof ItemFood; } else if (type.equals(IItemType.ItemSword)) { return item instanceof ItemSword; } else if (type.equals(IItemType.ItemTool)) { return item instanceof ItemTool; } else if (type.equals(IItemType.ItemNameTag)) { return item instanceof ItemNameTag; } else if (type.equals(IItemType.ItemBlock)) { return item instanceof ItemBlock; } else if (type.equals(IItemType.ItemHoe)) { return item instanceof ItemHoe; } return false; }
@Override public boolean matches(InventoryCrafting inv, World worldIn) { int australium = 0; ItemStack stack2 = ItemStack.EMPTY; for (int x = 0; x < inv.getSizeInventory(); x++) { ItemStack stack = inv.getStackInSlot(x); if (!stack.isEmpty()) if (stack.getItem() == TF2weapons.itemTF2 && stack.getMetadata() == 2) { if (australium < 8) australium++; else return false; } else if (stack2.isEmpty() && (stack.getItem() instanceof ItemTool || stack.getItem() instanceof ItemSword || stack.getItem() instanceof ItemBow || stack.getItem() instanceof ItemUsable || stack.getItem() instanceof ItemCloak)) stack2 = stack; else return false; } // System.out.println("matches "+(australium&&stack2!=null)); return australium == 8 && !stack2.isEmpty(); }
/** Gets an upgradeable stack */ public @Nonnull ItemStack getUpgradableStack(@Nonnull List<ItemStack> s) { if(ACUtils.doesItemStackListContain(s, upgrade, true)) { ItemStack toUpgrade = s.get(0); if(enchant.canApply(toUpgrade) && toUpgrade.getItem() instanceof ItemSword) { Map<Enchantment, Integer> activeEnchs = EnchantmentHelper.getEnchantments(toUpgrade); for(Enchantment i : activeEnchs.keySet()) { if(i == enchant) { int level = activeEnchs.get(i); if(level >= maxLevel) { return ItemStack.EMPTY; } } } return toUpgrade.copy(); } } return ItemStack.EMPTY; }
public static boolean isSword(ItemStack stack){ String[] validWeaponNames = { "sword", "dagger", "sabre", "rapier", "cutlass" }; if (ItemStackTools.isValid(stack) && stack.getMaxStackSize() == 1) { Item item = stack.getItem(); String name = stack.getUnlocalizedName().toLowerCase(); // Vanilla if (item instanceof ItemSword) { return true; } // Just for extra compatibility and/or security and/or less annoyance for (String toolName : validWeaponNames) { if (name.contains(toolName)) return true; } } return false; }
@Override public boolean onUse() { EntityPlayer p; p = this.player.getPlayer(); if (p.getCurrentEquippedItem() != null) { if (p.getCurrentEquippedItem().getItem() instanceof ItemSword) { PacketSpellToServer packet; packet = new PacketSpellToServer(getUniqueID()); Packets.network.sendToServer(packet); } else player.getPlayer().addChatComponentMessage(new ChatComponentText(ChatColor.RED + "You must equip a sword for this." + ChatColor.RESET)); } else player.getPlayer().addChatComponentMessage(new ChatComponentText(ChatColor.RED + "You must equip a sword for this." + ChatColor.RESET)); return (true); }
/** * Finds or creates a sword for an ore. */ public static void PopulateSword(OreStuff stuff) { if (!stuff.HasSword) { Item Sword = Util.FindItemFromString(stuff.BaseName + "sword"); if (Sword != null) { stuff.HasSword = true; } else { ItemSword sword = AutoItemAndBlock.CreateSword(stuff.MetalMaterial, ModTabs.maintab, 0, Reference.MODID + ":MissingSwordTexture", stuff.BaseName + "Sword"); stuff.Sword = sword; } } }
public boolean isBlazonium(EntityPlayer player){ ItemStack item=player.getHeldItemMainhand(); if(item==null) return false; if(item.getItem()instanceof ItemTool){ if(((ItemTool)(item.getItem())).getToolMaterial()==ToolMaterials.Blazonium) return true; } if(item.getItem()instanceof ItemSword){ if(((ItemSword)(item.getItem())).getToolMaterialName().equals("Blazonium")) return true; } if(item.getItem()instanceof ItemHoe){ if(((ItemHoe)(item.getItem())).getMaterialName().equals("Blazonium")) return true; } return false; }
public boolean isEmerald(EntityPlayer player){ ItemStack item=player.getHeldItemMainhand(); if(item==null) return false; if(item.getItem()instanceof ItemTool){ if(((ItemTool)(item.getItem())).getToolMaterial()==ToolMaterials.Emerald) return true; } if(item.getItem()instanceof ItemSword){ if(((ItemSword)(item.getItem())).getToolMaterialName().equals("Emerald")) return true; } if(item.getItem()instanceof ItemHoe){ if(((ItemHoe)(item.getItem())).getMaterialName().equals("Emerald")) return true; } return false; }
@Override protected void nerfStandardRecipes () { for (Item item : (Iterable<Item>) GameData.getItemRegistry()) { if ((item instanceof ItemTool || item instanceof ItemSword) && !isBBTool(item)) { String repairMaterial = BetterBeginningsHandler.getToolRepairMaterial(item); if (!Strings.isNullOrEmpty(repairMaterial) && !OreDictionary.getOres(repairMaterial).isEmpty()) { nerfToolRecipe(new ItemStack(item), repairMaterial); } } } }
public static String getToolRepairMaterial (final Item tool) { for (String oreDictName : OreDictionary.getOreNames()) { if (!Strings.isNullOrEmpty(oreDictName)) { for (ItemStack ore : OreDictionary.getOres(oreDictName)) { if (tool instanceof ItemTool && ((ItemTool) tool).getIsRepairable(new ItemStack(tool), ore)) { return oreDictName; } else if (tool instanceof ItemSword && ((ItemSword) tool).getIsRepairable(new ItemStack(tool), ore)) { return oreDictName; } } } } return StringUtils.EMPTY; }
private int getItemBurnTime(ItemStack stack) { if (stack == null || stack.stackSize <= 0) { return 0; } else { Item item = stack.getItem(); if (item instanceof ItemBlock && Block.getBlockFromItem(item) != Blocks.air) { Block block = Block.getBlockFromItem(item); if (block == Blocks.wooden_slab) return 150; if (block.getMaterial() == Material.wood) return 300; if (block == Blocks.coal_block) return 16000; } if (item instanceof ItemTool && ((ItemTool) item).getToolMaterialName().equals("WOOD")) return 200; if (item instanceof ItemSword && ((ItemSword) item).getToolMaterialName().equals("WOOD")) return 200; if (item instanceof ItemHoe && ((ItemHoe) item).getMaterialName().equals("WOOD")) return 200; if (item == Items.stick) return 100; if (item == Items.coal) return 1600; if (item == Items.lava_bucket) return 20000; if (item == Item.getItemFromBlock(Blocks.sapling)) return 100; if (item == Items.blaze_rod) return 2400; return net.minecraftforge.fml.common.registry.GameRegistry.getFuelValue(stack); } }
@SubscribeEvent public void addVanillaTools(ValidatingToolsEvent event){ Iterator<Item> iterator = Item.itemRegistry.iterator(); while(iterator.hasNext()){ Item i = iterator.next(); if(i instanceof ItemSword){ event.addSword(i); } if(i instanceof ItemPickaxe){ event.addPickaxe(i); } if(i instanceof ItemSpade){ event.addShovel(i); } if(i instanceof ItemAxe){ event.addAxe(i); } if(i instanceof ItemHoe){ event.addHoe(i); } } }
public static void initializeItems(){ timeToolMaterial = EnumHelper.addToolMaterial("timeToolMaterial", 6, 1620, 8.0F, 4.0F, 7); pheromoneArmor = EnumHelper.addArmorMaterial("pheromoneArmor", 12, new int[]{2, 4, 2, 1}, 9); fossil_Shard = new Item().setUnlocalizedName("iat.fossil_Shard").setTextureName("iat:fossil").setCreativeTab(ItsAboutTime.iatTab); rockPick = new ItemRockPick().setUnlocalizedName("iat.rockPick").setTextureName("iat:rockPick").setCreativeTab(ItsAboutTime.iatTab); fossil_Broken = new ItemFossilBroken().setUnlocalizedName("iat.fossil_Broken").setCreativeTab(ItsAboutTime.iatTab); fossil = new ItemFossil().setUnlocalizedName("iat.fossil").setCreativeTab(ItsAboutTime.iatTab); for (int i = 0; i < EnumFossilSkeleton.values().length; i++) { EnumFossilSkeleton.values()[i].fossilItem = new Item().setTextureName("iat:fossil").setUnlocalizedName("iat.fossil" + EnumFossilSkeleton.values()[i].name).setCreativeTab(ItsAboutTime.iatTab); EnumFossilSkeleton.values()[i].fossilBrokenItem = new Item().setTextureName("iat:fossil").setUnlocalizedName("iat.fossil_Broken" + EnumFossilSkeleton.values()[i].name).setCreativeTab(ItsAboutTime.iatTab); } amber = new ItemAmber().setUnlocalizedName("iat.amber").setCreativeTab(ItsAboutTime.iatTab); plaster_Ball = new Item().setUnlocalizedName("iat.plaster_Ball").setTextureName("iat:plaster").setCreativeTab(ItsAboutTime.iatTab); time_Crystal = new ItemTimeCrystal().setUnlocalizedName("iat.time_Crystal").setTextureName("iat:time_Crystal").setCreativeTab(ItsAboutTime.iatTab); time_Shovel = new ItemModSpade(timeToolMaterial).setUnlocalizedName("iat.time_Shovel").setTextureName("iat:time_Shovel").setCreativeTab(ItsAboutTime.iatTab); time_Pickaxe = new ItemModPickaxe(timeToolMaterial).setUnlocalizedName("iat.time_Pickaxe").setTextureName("iat:time_Pickaxe").setCreativeTab(ItsAboutTime.iatTab); time_Axe = new ItemModAxe(timeToolMaterial).setUnlocalizedName("iat.time_Axe").setTextureName("iat:time_Axe").setCreativeTab(ItsAboutTime.iatTab); time_Sword = new ItemSword(timeToolMaterial).setUnlocalizedName("iat.time_Sword").setTextureName("iat:time_Sword").setCreativeTab(ItsAboutTime.iatTab); time_Hoe = new ItemHoe(timeToolMaterial).setUnlocalizedName("iat.time_Hoe").setTextureName("iat:time_Hoe").setCreativeTab(ItsAboutTime.iatTab); pheromoneChest = new ItemPheromoneArmor(pheromoneArmor, 0, 1).setUnlocalizedName("iat.pheromoneCanester").setTextureName("iat:pheromoneCanester").setCreativeTab(ItsAboutTime.iatTab); bucket_Time = new ItemBucket(ModBlocks.fluidTimeBlock).setUnlocalizedName("iat.bucket_Time").setTextureName("iat:bucket_Time").setContainerItem(Items.bucket); ginkoNuts = new ItemFood(2, 0.2F, false).setPotionEffect(Potion.hunger.id, 30, 0, 0.3F).setUnlocalizedName("iat.ginkoNut").setTextureName("iat:ginko_nut").setCreativeTab(ItsAboutTime.iatTab); }
public static int getItemBurnTime(ItemStack stack) { if (stack == null) { return 0; } else { Item item = stack.getItem(); //If block if (item instanceof ItemBlock && Block.getBlockFromItem(item) != Blocks.air) { Block block = Block.getBlockFromItem(item); if (block == Blocks.wooden_slab) return 150; if (block.getMaterial() == Material.wood) return 300; if (block == Blocks.coal_block) return 16000; } if (item instanceof ItemTool && ((ItemTool)item).getToolMaterialName().equals("WOOD")) return 200; if (item instanceof ItemSword && ((ItemSword)item).getToolMaterialName().equals("WOOD")) return 200; if (item instanceof ItemHoe && ((ItemHoe)item).getToolMaterialName().equals("WOOD")) return 200; if (item == Items.stick) return 100; if (item == Items.coal) return 1600; if (item == Items.lava_bucket) return 20000; if (item == Item.getItemFromBlock(Blocks.sapling)) return 100; if (item == Items.blaze_rod) return 2400; return GameRegistry.getFuelValue(stack); } }
@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 ItemSword) { attributes = new GuiButton[WeaponAttribute.WEAPON_ATTRIBUTES.size()]; for (int i = 0; i < attributes.length; i++) { attributes[i] = new GuiButton(i, width / 2 - 147, 60 + (i * 20), 75, 20, WeaponAttribute.WEAPON_ATTRIBUTES.get(i).getName(nbt)); this.buttonList.add(attributes[i]); attributes[i].enabled = false; } } }
@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 ItemSword) { for (int i = 0; i < attributes.length; i++) { if (button == attributes[i]) { Levels.network.sendToServer(new PacketAttributeSelection(i)); } } } } } }
@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); } } } }