Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

[Solved]Making Forge mod blocks compatible with vanilla Hoppers

Recommended Posts

So I have some blocks you could call custom furnaces. They have only 2 slots: one input, one output. Input is slot 0 in the container class, Output is slot 1 in the container class. I changed this in my TileEntity class to adjust for it only having 2 slots (code is based on original BlockFurnace code):

private static final int[] slotsTop = new int[] {0};
    private static final int[] slotsBottom = new int[] {1};
    private static final int[] slotsSides = new int[] {0};

So now I can place items in the input slot (slot 0) through hoppers via the top or sides of the block and it works correctly. However, I can't output from slot 1 through the bottom. Items stay in the furnace without moving. Any ideas how I could rectify this?


Edit: Me, being completely blind, managed to miss this method:

public boolean canExtractItem(int par1, ItemStack par2ItemStack, int par3)
        return par3 == 0 || par1 != 1 || par2ItemStack.getItem() == Items.bucket;


Being from the Furnace TileEntity class, it by default disabled slot 1 (represented by int par1) from being withdrawn from. Changing it to:

public boolean canExtractItem(int par1, ItemStack par2ItemStack, int par3)
        return  par1 != 0 || par2ItemStack.getItem() == Items.bucket;

Has made it so items can be withdrawn from my blocks.

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Create New...

Important Information

By using this site, you agree to our Privacy Policy.