Skip to content

Commit

Permalink
Made slab furnaces accept items with the same restrictions as normal …
Browse files Browse the repository at this point in the history
…furnaces

 * Duplicated ISidedInventory implementation of TileEntityFurnace

Fixes #573

Conflicts:
	src/main/java/tconstruct/tools/logic/FurnaceLogic.java
  • Loading branch information
squeek502 committed Jul 7, 2014
1 parent d719885 commit 9b27847
Showing 1 changed file with 34 additions and 1 deletion.
35 changes: 34 additions & 1 deletion src/main/java/tconstruct/tools/logic/FurnaceLogic.java
Expand Up @@ -11,6 +11,7 @@
import net.minecraft.init.Blocks;
import net.minecraft.init.Items;
import net.minecraft.inventory.Container;
import net.minecraft.inventory.ISidedInventory;
import net.minecraft.item.Item;
import net.minecraft.item.ItemBlock;
import net.minecraft.item.ItemHoe;
Expand All @@ -35,14 +36,17 @@
* 3-16: Chest
*/

public class FurnaceLogic extends InventoryLogic implements IActiveLogic, IFacingLogic
public class FurnaceLogic extends InventoryLogic implements IActiveLogic, IFacingLogic, ISidedInventory
{
boolean active;
public int fuel;
public int fuelGague;
public int progress;
public int fuelScale = 200;
byte direction;
private static final int[] slots_top = new int[] {0};
private static final int[] slots_bottom = new int[] {2, 1};
private static final int[] slots_sides = new int[] {1};

public FurnaceLogic()
{
Expand Down Expand Up @@ -373,4 +377,33 @@ public void openInventory ()
public void closeInventory ()
{
}

public static boolean isItemFuel(ItemStack par0ItemStack)
{
return getItemBurnTime(par0ItemStack) > 0;
}

@Override
public boolean isItemValidForSlot(int par1, ItemStack par2ItemStack)
{
return par1 == 2 ? false : (par1 == 1 ? isItemFuel(par2ItemStack) : true);
}

@Override
public int[] getAccessibleSlotsFromSide(int par1)
{
return par1 == 0 ? slots_bottom : (par1 == 1 ? slots_top : slots_sides);
}

@Override
public boolean canInsertItem(int par1, ItemStack par2ItemStack, int par3)
{
return this.isItemValidForSlot(par1, par2ItemStack);
}

@Override
public boolean canExtractItem(int par1, ItemStack par2ItemStack, int par3)
{
return par3 != 0 || par1 != 1 || par2ItemStack.itemID == Item.bucketEmpty.itemID;
}
}

0 comments on commit 9b27847

Please sign in to comment.