|  | /** | 
|  | * 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<ItemStack> 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); | 
|  | } | 
|  | } | 
|  |  | 
|  | } |