@Override public NonNullList<ItemStack> getRemainingItems( final InventoryCrafting inv ) { return ForgeHooks.defaultRecipeGetRemainingItems( inv ); } }
int xp = ForgeHooks.onBlockBreakEvent(world, ((EntityPlayerMP) player).interactionManager.getGameType(), (EntityPlayerMP) player, pos); if(xp == -1) { return;
float refStrength = ForgeHooks.blockStrength(refState, player, world, refPos); float strength = ForgeHooks.blockStrength(state, player, world, pos); if(!ForgeHooks.canHarvestBlock(block, player, world, pos) || refStrength / strength > 10f) { return false;
@Override public ItemStack[] getRemainingItems(InventoryCrafting crafting) { ItemStack[] stacks = new ItemStack[crafting.getSizeInventory()]; for (int i = 0; i < stacks.length; ++i) { ItemStack stack = crafting.getStackInSlot(i); stacks[i] = net.minecraftforge.common.ForgeHooks.getContainerItem(stack); } return stacks; } }
if (DarkSteelConfig.explosiveUpgradeTargets.get().matches(block, withSpoon) && referenceHardness >= notBedrock(blockstate.getBlockHardness(world, target)) && (isToolEffective(blockstate, item) || ForgeHooks.canHarvestBlock(block, player, world, target))) { final int exp = ForgeHooks.onBlockBreakEvent(world, gameType, player, target); if (exp != -1 && block.canHarvestBlock(world, target, player)) { if (block.removedByPlayer(blockstate, world, target, player, true)) {
@Override public NonNullList<ItemStack> getRemainingItems(InventoryCrafting inventory) { NonNullList<ItemStack> aitemstack = NonNullList.withSize(inventory.getSizeInventory(), ItemStack.EMPTY); for (int i = 0; i < aitemstack.size(); ++i) { ItemStack itemstack = inventory.getStackInSlot(i); aitemstack.set(i, net.minecraftforge.common.ForgeHooks.getContainerItem(itemstack)); } Pair<ItemStack, List<ItemStack>> result = getResult(inventory); if(result != null) { List<ItemStack> extraOutputs = result.getRight(); for (ItemStack extraOutput : extraOutputs) { InventoryHelpers.tryReAddToStack(ForgeHooks.getCraftingPlayer(), ItemStack.EMPTY, extraOutput, ForgeHooks.getCraftingPlayer().getActiveHand()); } } return aitemstack; }
public ItemStack onTake(EntityPlayer thePlayer, ItemStack stack) { this.onCrafting(stack); net.minecraftforge.common.ForgeHooks.setCraftingPlayer(thePlayer); net.minecraftforge.common.ForgeHooks.setCraftingPlayer(null);
@Override public void onPlayerHarvestDropsWithTool(BlockEvent.HarvestDropsEvent event, @Nonnull ItemStack toolStack, @Nonnull ItemStack thisUpgradeStack) { EntityPlayer player = event.getHarvester(); BlockPos pos = event.getPos(); World world = event.getWorld(); IBlockState state = event.getState(); Block block = state.getBlock(); if (ForgeHooks.canHarvestBlock(block, player, world, pos) && block.canSilkHarvest(world, pos, state, player)) { try { ItemStack toAdd = (ItemStack) ReflectionHelper.createStackedBlockMethod.invoke(block, state); if (toAdd != null) { event.getDrops().clear(); event.getDrops().add(toAdd); } } catch (ReflectiveOperationException e) { e.printStackTrace(); } } } }
@Override public NonNullList<ItemStack> getRemainingItems(InventoryCrafting inv) { EntityPlayer player = ForgeHooks.getCraftingPlayer(); if (FMLCommonHandler.instance().getEffectiveSide().isServer() && player != null) { // Has to be server side due to sync issues. This function is also called on the client. // This is also the reason why it's done here as a drop instead of a retaining item. // todo: see if this can be done better, it might break for autocrafters. if (mold.type.getMoldReturnRate() < 1 || mold.type.getMoldReturnRate() > 0) { if (Constants.RNG.nextFloat() <= mold.type.getMoldReturnRate()) { player.addItemStackToInventory(new ItemStack(mold)); //InventoryHelper.spawnItemStack(player.world, player.posX, player.posY, player.posZ, new ItemStack(mold)); } } } return net.minecraftforge.common.ForgeHooks.defaultRecipeGetRemainingItems(inv); } }
private List<ITextComponent> resizeContent(List<String> textList) { List<ITextComponent> list = new ArrayList<>(); for (String text : textList) { if (text == null) { list.add(null); continue; } ITextComponent chat = ForgeHooks.newChatWithLinks(text, false); list.addAll(GuiUtilRenderComponents.splitText(chat, this.listWidth - 8, this.parent.mc.fontRenderer, false, true)); } return list; }
private ItemStack damageTool(ItemStack stack) { EntityPlayer craftingPlayer = ForgeHooks.getCraftingPlayer(); if(stack.attemptDamageItem(1, random, craftingPlayer instanceof EntityPlayerMP ? (EntityPlayerMP) craftingPlayer : null)) { ForgeEventFactory.onPlayerDestroyItem(craftingPlayer, stack, null); return ItemStack.EMPTY; } return stack; }
public static boolean doesItemRequireBucketForCrafting(ItemStack outputItem) { ItemStack containerItem = ForgeHooks.getContainerItem(outputItem); if (!containerItem.isEmpty() && containerItem.getItem() == Items.BUCKET) { return true; } ResourceLocation registryName = outputItem.getItem().getRegistryName(); return registryName != null && registryName.getResourcePath().contains("bucket"); } }
return false; if (!ForgeHooks.canHarvestBlock(block, player, world, pos)) { return false; xpToDrop = ForgeHooks.onBlockBreakEvent(world, playerMP.interactionManager.getGameType(), playerMP, pos); if (xpToDrop == -1) { return false;
@Override public NonNullList<ItemStack> getRemainingItems(InventoryCrafting inv) { NonNullList<ItemStack> stacks = NonNullList.create(); for (int i = 0; i < inv.getSizeInventory(); i++) { ItemStack itemStack = inv.getStackInSlot(i); if (itemStack.getItem() == Items.SHEARS) { itemStack = itemStack.copy(); EntityPlayer craftingPlayer = ForgeHooks.getCraftingPlayer(); if (craftingPlayer != null) { // Regular item damaging if there is a player executing the recipe itemStack.damageItem(1, craftingPlayer); } else { // Fallback in case there is no crafting player itemStack.setItemDamage(itemStack.getItemDamage() + 1); if (itemStack.getItemDamage() > itemStack.getMaxDamage()) { itemStack.shrink(1); } } } else { itemStack = ForgeHooks.getContainerItem(itemStack); } stacks.add(itemStack); } return stacks; } }
net.minecraftforge.common.ForgeHooks.setCraftingPlayer( playerIn ); final InventoryCrafting ic = new InventoryCrafting( this.getContainer(), 3, 3 ); net.minecraftforge.common.ForgeHooks.setCraftingPlayer( null );
private void selectTool(IBlockState state, OpenModsFakePlayer fakePlayer) { if (findEffectiveTool) { final ItemStack optimalTool = effectiveToolCache.getIfPresent(state); if (optimalTool != null) { setPlayerTool(fakePlayer, optimalTool); } else { for (ItemStack tool : ConfigAccess.probeTools()) { setPlayerTool(fakePlayer, tool); if (ForgeHooks.canHarvestBlock(state.getBlock(), fakePlayer, worldObj, blockPos)) { effectiveToolCache.put(state, tool); return; } } // default clause - use most universal one final ItemStack fallbackTool = createToolStack(Items.DIAMOND_PICKAXE); effectiveToolCache.put(state, fallbackTool); setPlayerTool(fakePlayer, fallbackTool); } } else { setPlayerTool(fakePlayer, stackToUse); } }
@Override public void onClicked(Book book, CategoryAbstract category, EntryAbstract entry, EntityPlayer player, ItemStack bookStack, int page) { try { Class<?> oclass = Class.forName("java.awt.Desktop"); Object object = oclass.getMethod("getDesktop", new Class[0]).invoke(null); oclass.getMethod("browse", new Class[]{URI.class}).invoke(object, link); } catch (Throwable throwable1) { Throwable throwable = throwable1.getCause(); VampirismMod.log.e(GuideBook.TAG, throwable, "Couldn\'t open link: {%s}", link); player.sendMessage(ForgeHooks.newChatWithLinks("Couldn\'t open link: " + link.toString())); } } }
EntityPlayer player = ForgeHooks.getCraftingPlayer(); while(itr.hasNext()) { ItemStack temp = itr.next();
@Override public NonNullList<ItemStack> getRemainingItems(InventoryCrafting inv) { NonNullList<ItemStack> aitemstack = NonNullList.create(); for (int i = 0; i < inv.getSizeInventory(); ++i) { ItemStack itemstack = inv.getStackInSlot(i); aitemstack.add(net.minecraftforge.common.ForgeHooks.getContainerItem(itemstack)); } return aitemstack; }
@Override public NonNullList<ItemStack> getRemainingItems( final InventoryCrafting inv ) { return ForgeHooks.defaultRecipeGetRemainingItems( inv ); } }