/** * Copyright (c) SpaceToad, 2011 * http://www.mod-buildcraft.com * * BuildCraft is distributed under the terms of the Minecraft Mod Public * License 1.0, or MMPL. Please check the contents of the license located in * http://www.mod-buildcraft.com/MMPL-1.0.txt */ package buildcraft.api.bptblocks; import buildcraft.api.blueprints.BlueprintManager; import buildcraft.api.blueprints.BptBlock; import buildcraft.api.blueprints.BptSlotInfo; import buildcraft.api.blueprints.IBptContext; import java.util.LinkedList; import net.minecraft.item.ItemStack; @Deprecated public class BptBlockDelegate extends BptBlock { final int delegateTo; public BptBlockDelegate(int blockId, int delegateTo) { super(blockId); this.delegateTo = delegateTo; } @Override public void addRequirements(BptSlotInfo slot, IBptContext context, LinkedList requirements) { BptSlotInfo newSlot = slot.clone(); slot.blockId = delegateTo; if (BlueprintManager.blockBptProps[delegateTo] != null) { BlueprintManager.blockBptProps[delegateTo].addRequirements(newSlot, context, requirements); } else { super.addRequirements(newSlot, context, requirements); } } @Override public boolean isValid(BptSlotInfo slot, IBptContext context) { BptSlotInfo newSlot = slot.clone(); slot.blockId = delegateTo; if (BlueprintManager.blockBptProps[delegateTo] != null) return BlueprintManager.blockBptProps[delegateTo].isValid(newSlot, context); else return super.isValid(newSlot, context); } @Override public void rotateLeft(BptSlotInfo slot, IBptContext context) { BptSlotInfo newSlot = slot.clone(); slot.blockId = delegateTo; if (BlueprintManager.blockBptProps[delegateTo] != null) { BlueprintManager.blockBptProps[delegateTo].rotateLeft(newSlot, context); } else { super.rotateLeft(newSlot, context); } } }