public boolean allowPutStack( IGregTechTileEntity aBaseMetaTileEntity, int aIndex, byte aSide, ItemStack aStack) { if (super.allowPutStack(aBaseMetaTileEntity, aIndex, aSide, aStack)) return getInputSlot() != aIndex && ItemList.Crate_Empty.isStackEqual(aStack) || ItemList.Schematic_1by1.isStackEqual(getInputAt(1)) || ItemList.Schematic_2by2.isStackEqual(getInputAt(1)) || ItemList.Schematic_3by3.isStackEqual(getInputAt(1)) || gregtech.api.util.GT_Recipe.GT_Recipe_Map.sBoxinatorRecipes.findRecipe( getBaseMetaTileEntity(), true, GT_Values.V[mTier], null, new ItemStack[] { GT_Utility.copyAmount(64L, new Object[] {aStack}), getInputAt(1) }) != null; else return false; }
public int checkRecipe() { int tCheck = super.checkRecipe(); if (tCheck != 0) { return tCheck; } if ((GT_Utility.isStackValid(getInputAt(0))) && (GT_Utility.isStackValid(getInputAt(1))) && (GT_Utility.getContainerItem(getInputAt(0), true) == null)) { if ((ItemList.Schematic_1by1.isStackEqual(getInputAt(1))) && (getInputAt(0).stackSize >= 1)) { this.mOutputItems[0] = GT_ModHandler.getRecipeOutput(new ItemStack[] {getInputAt(0)}); if (this.mOutputItems[0] != null) { if (canOutput(new ItemStack[] {this.mOutputItems[0]})) { getInputAt(0).stackSize -= 1; this.mEUt = (32 * (1 << this.mTier - 1) * (1 << this.mTier - 1)); this.mMaxProgresstime = (16 / (1 << this.mTier - 1)); return 2; } } return 0; } if ((ItemList.Schematic_2by2.isStackEqual(getInputAt(1))) && (getInputAt(0).stackSize >= 4)) { this.mOutputItems[0] = GT_ModHandler.getRecipeOutput( new ItemStack[] {getInputAt(0), getInputAt(0), null, getInputAt(0), getInputAt(0)}); if (this.mOutputItems[0] != null) { if (canOutput(new ItemStack[] {this.mOutputItems[0]})) { getInputAt(0).stackSize -= 4; this.mEUt = (32 * (1 << this.mTier - 1) * (1 << this.mTier - 1)); this.mMaxProgresstime = (32 / (1 << this.mTier - 1)); return 2; } } return 0; } if ((ItemList.Schematic_3by3.isStackEqual(getInputAt(1))) && (getInputAt(0).stackSize >= 9)) { this.mOutputItems[0] = GT_ModHandler.getRecipeOutput( new ItemStack[] { getInputAt(0), getInputAt(0), getInputAt(0), getInputAt(0), getInputAt(0), getInputAt(0), getInputAt(0), getInputAt(0), getInputAt(0) }); if (this.mOutputItems[0] != null) { if (canOutput(new ItemStack[] {this.mOutputItems[0]})) { getInputAt(0).stackSize -= 9; this.mEUt = (32 * (1 << this.mTier - 1) * (1 << this.mTier - 1)); this.mMaxProgresstime = (64 / (1 << this.mTier - 1)); return 2; } } return 0; } } return 0; }