merge of GT5.09 fixes into 5.08 branch

This commit is contained in:
Blood-Asp 2015-12-09 00:52:00 +01:00
parent 46f4473de6
commit d415df7ea2
17 changed files with 62 additions and 43 deletions

5
.gitignore vendored
View file

@ -14,6 +14,7 @@ thumbs.db
*.jar
*.war
*.ear
*.txt
# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
hs_err_pid*
@ -32,6 +33,7 @@ tmp/
local.properties
.settings/
.loadpath
/eclipse
# Eclipse Core
.project
@ -70,3 +72,6 @@ local.properties
.idea_modules/
/out/
gradle/wrapper/gradle-wrapper.properties
gradlew
gradlew.bat

View file

@ -1,21 +1,22 @@
minecraft.version=1.7.10
forge.version=10.13.4.1481-1.7.10
forge.version=10.13.4.1517-1.7.10
gt.version=5.08.31
gt.version=5.08.33
ae2.version=rv2-beta-33
applecore.version=1.7.10-1.2.1+107.59407
buildcraft.version=7.1.11
codechickenlib.version=1.1.3.140
cofhcore.cf=2246/697
cofhcore.version=[1.7.10]3.0.3B4-302-dev
cofhlib.cf=2230/207
cofhlib.version=[1.7.10]1.0.0RC7-127
codechickencore.version=1.0.7.47
cofhcore.cf=2246/920
cofhcore.version=[1.7.10]3.0.3-303-dev
cofhlib.cf=2246/918
cofhlib.version=[1.7.10]1.0.3-175-dev
enderio.cf=2219/296
enderio.version=1.7.10-2.3.0.417_beta
enderiocore.version=1.7.10-0.1.0.25_beta
forestry.version=4.0.10.39
ic2.version=2.2.780-experimental
forestry.version=4.1.1.46
ic2.version=2.2.790-experimental
nei.version=1.0.3.57
railcraft.cf=2219/321
railcraft.version=1.7.10-9.4.0.0

View file

@ -3,9 +3,10 @@ package gregtech;
import cpw.mods.fml.common.*;
import cpw.mods.fml.common.event.*;
import cpw.mods.fml.common.registry.EntityRegistry;
import forestry.factory.recipes.ISqueezerRecipe;
import forestry.factory.tiles.TileCentrifuge;
import forestry.factory.tiles.TileSqueezer;
import forestry.api.core.ForestryAPI;
import forestry.api.recipes.ICentrifugeRecipe;
import forestry.api.recipes.ISqueezerRecipe;
import forestry.api.recipes.RecipeManagers;
import gregtech.api.GregTech_API;
import gregtech.api.enchants.Enchantment_EnderDamage;
import gregtech.api.enchants.Enchantment_Radioactivity;
@ -459,8 +460,8 @@ public class GT_Mod
}
}
try {
for (Object tRecipe : TileCentrifuge.RecipeManager.recipes) {
Map<ItemStack, Float> outputs = ((TileCentrifuge.CentrifugeRecipe) tRecipe).getAllProducts();
for (ICentrifugeRecipe tRecipe : RecipeManagers.centrifugeManager.recipes()) {
Map<ItemStack, Float> outputs = tRecipe.getAllProducts();
ItemStack[] tOutputs = new ItemStack[outputs.size()];
int[] tChances = new int[outputs.size()];
int i = 0;
@ -469,7 +470,7 @@ public class GT_Mod
tOutputs[i] = entry.getKey().copy();
i++;
}
GT_Recipe.GT_Recipe_Map.sCentrifugeRecipes.addRecipe(true, new ItemStack[]{((TileCentrifuge.CentrifugeRecipe) tRecipe).getInput()}, tOutputs, null, tChances, null, null, 128, 5, 0);
GT_Recipe.GT_Recipe_Map.sCentrifugeRecipes.addRecipe(true, new ItemStack[]{tRecipe.getInput()}, tOutputs, null, tChances, null, null, 128, 5, 0);
}
} catch (Throwable e) {
if (GT_Values.D1) {
@ -477,9 +478,9 @@ public class GT_Mod
}
}
try {
for (Object tRecipe : TileSqueezer.RecipeManager.recipes) {
if ((((ISqueezerRecipe) tRecipe).getResources().length == 1) && (((ISqueezerRecipe) tRecipe).getFluidOutput() != null)) {
GT_Recipe.GT_Recipe_Map.sFluidExtractionRecipes.addRecipe(true, new ItemStack[]{((ISqueezerRecipe) tRecipe).getResources()[0]}, new ItemStack[]{((ISqueezerRecipe) tRecipe).getRemnants()}, null, new int[]{(int) (((ISqueezerRecipe) tRecipe).getRemnantsChance() * 10000)}, null, new FluidStack[]{((ISqueezerRecipe) tRecipe).getFluidOutput()}, 400, 2, 0);
for (ISqueezerRecipe tRecipe : RecipeManagers.squeezerManager.recipes()) {
if ((tRecipe.getResources().length == 1) && (tRecipe.getFluidOutput() != null)) {
GT_Recipe.GT_Recipe_Map.sFluidExtractionRecipes.addRecipe(true, new ItemStack[]{tRecipe.getResources()[0]}, new ItemStack[]{tRecipe.getRemnants()}, null, new int[]{(int) (tRecipe.getRemnantsChance() * 10000)}, null, new FluidStack[]{tRecipe.getFluidOutput()}, 400, 2, 0);
}
}
} catch (Throwable e) {
@ -804,6 +805,7 @@ public class GT_Mod
GT_OreDictUnificator.setStack(tOutput);
}
}
GregTech_API.mServerStarted = true;
GT_Log.out.println("GT_Mod: ServerStarting-Phase finished!");
GT_Log.ore.println("GT_Mod: ServerStarting-Phase finished!");
for (Runnable tRunnable : GregTech_API.sAfterGTServerstart) {

View file

@ -187,6 +187,7 @@ public class GregTech_API {
public static int mEUtoRF = 360;
public static int mRFtoEU = 20;
public static boolean mRFExplosions = true;
public static boolean mServerStarted = false;
/**
* Getting assigned by the Mod loading
*/

View file

@ -704,7 +704,6 @@ public enum Materials implements IColorModulationContainer, ISubTagContainer {
* List of all Materials.
*/
public static final Collection<Materials> VALUES = new HashSet<Materials>(Arrays.asList(values()));
public static volatile int VERSION = 508;
static {
SubTag.ELECTROMAGNETIC_SEPERATION_NEODYMIUM.addTo(Bastnasite, Monazite, Forcicium, Forcillium);
@ -730,6 +729,7 @@ public enum Materials implements IColorModulationContainer, ISubTagContainer {
Snow.add(SubTag.NO_SMASHING, SubTag.NO_SMELTING, SubTag.NO_RECYCLING);
Ice.add(SubTag.NO_SMASHING, SubTag.NO_SMELTING, SubTag.NO_RECYCLING);
Water.add(SubTag.NO_SMASHING, SubTag.NO_SMELTING, SubTag.NO_RECYCLING);
Silicon.add(SubTag.NO_RECYCLING);
Sulfur.add(SubTag.NO_SMASHING, SubTag.NO_SMELTING, SubTag.FLAMMABLE);
Saltpeter.add(SubTag.NO_SMASHING, SubTag.NO_SMELTING, SubTag.FLAMMABLE);
Graphite.add(SubTag.NO_SMASHING, SubTag.NO_SMELTING, SubTag.FLAMMABLE, SubTag.NO_SMELTING);

View file

@ -1,6 +1,7 @@
package gregtech.api.metatileentity.implementations;
import cofh.api.energy.IEnergyReceiver;
import gregtech.GT_Mod;
import gregtech.api.GregTech_API;
import gregtech.api.enums.Dyes;
import gregtech.api.enums.Materials;
@ -39,6 +40,7 @@ public class GT_MetaPipeEntity_Cable extends MetaPipeEntity implements IMetaTile
public final boolean mInsulated, mCanShock;
public long mTransferredAmperage = 0, mTransferredAmperageLast20 = 0, mTransferredVoltageLast20 = 0;
public long mRestRF;
public short mOverheat;
public GT_MetaPipeEntity_Cable(int aID, String aName, String aNameRegional, float aThickNess, Materials aMaterial, long aCableLossPerMeter, long aAmperage, long aVoltage, boolean aInsulated, boolean aCanShock) {
super(aID, aName, aNameRegional, 0);
@ -197,7 +199,8 @@ public class GT_MetaPipeEntity_Cable extends MetaPipeEntity implements IMetaTile
mTransferredVoltageLast20 = Math.max(mTransferredVoltageLast20, aVoltage);
mTransferredAmperageLast20 = Math.max(mTransferredAmperageLast20, mTransferredAmperage);
if (aVoltage > mVoltage || mTransferredAmperage > mAmperage) {
getBaseMetaTileEntity().setToFire();
if(mOverheat>GT_Mod.gregtechproxy.mWireHeatingTicks * 100){
getBaseMetaTileEntity().setToFire();}else{mOverheat +=100;}
return aAmperage;
}
return rUsedAmperes;
@ -207,6 +210,7 @@ public class GT_MetaPipeEntity_Cable extends MetaPipeEntity implements IMetaTile
public void onPostTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) {
if (aBaseMetaTileEntity.isServerSide()) {
mTransferredAmperage = 0;
if(mOverheat>0)mOverheat--;
if (aTick % 20 == 0) {
mTransferredVoltageLast20 = 0;

View file

@ -555,14 +555,10 @@ public class GT_MetaTileEntity_BasicMachine_GT_Recipe extends GT_MetaTileEntity_
if (!super.allowPutStack(aBaseMetaTileEntity, aIndex, aSide, aStack)) return false;
if (mInventory[aIndex] != null) return true;
switch (mInputSlotCount) {
case 0:
return false;
case 1:
return getFillableStack() == null ? !mRequiresFluidForFiltering && getRecipeList().containsInput(aStack) : null != getRecipeList().findRecipe(getBaseMetaTileEntity(), mLastRecipe, true, V[mTier], new FluidStack[]{getFillableStack()}, getSpecialSlot(), new ItemStack[]{aStack});
case 2:
return (!mRequiresFluidForFiltering || getFillableStack() != null) && (((getInputAt(0) != null && getInputAt(1) != null) || (getInputAt(0) == null && getInputAt(1) == null ? getRecipeList().containsInput(aStack) : null != getRecipeList().findRecipe(getBaseMetaTileEntity(), mLastRecipe, true, V[mTier], new FluidStack[]{getFillableStack()}, getSpecialSlot(), aIndex == getInputSlot() ? new ItemStack[]{aStack, getInputAt(1)} : new ItemStack[]{getInputAt(0), aStack}))));
default:
return getRecipeList().containsInput(aStack);
case 0: return false;
case 1: return getFillableStack() == null ? !mRequiresFluidForFiltering && getRecipeList().containsInput(aStack) : null!=getRecipeList().findRecipe(getBaseMetaTileEntity(), mLastRecipe, true, V[mTier], new FluidStack[] {getFillableStack()}, getSpecialSlot(), new ItemStack[] {aStack});
case 2: return (!mRequiresFluidForFiltering || getFillableStack() != null) && (((getInputAt(0)!=null&&getInputAt(1)!=null) || (getInputAt(0)==null&&getInputAt(1)==null?getRecipeList().containsInput(aStack):(getRecipeList().containsInput(aStack)&&null!=getRecipeList().findRecipe(getBaseMetaTileEntity(), mLastRecipe, true, V[mTier], new FluidStack[] {getFillableStack()}, getSpecialSlot(), aIndex == getInputSlot() ? new ItemStack[] {aStack, getInputAt(1)} : new ItemStack[] {getInputAt(0), aStack})))));
default: return getRecipeList().containsInput(aStack);
}
}

View file

@ -204,7 +204,7 @@ public abstract class GT_MetaTileEntity_Buffer extends GT_MetaTileEntity_TieredM
@Override
public void onScrewdriverRightClick(byte aSide, EntityPlayer aPlayer, float aX, float aY, float aZ) {
if (aSide == getBaseMetaTileEntity().getBackFacing()) {
mTargetStackSize = (byte) ((mTargetStackSize + 1) % 65);
mTargetStackSize = (byte) ((mTargetStackSize + (aPlayer.isSneaking()? -1 : 1)) % 65);
if (mTargetStackSize == 0) {
GT_Utility.sendChatToPlayer(aPlayer, "Do not regulate Item Stack Size");
} else {

View file

@ -22,7 +22,7 @@ public class GT_FluidStack extends FluidStack {
public GT_FluidStack(Fluid aFluid, int aAmount) {
super(aFluid, aAmount);
mFluid = aFluid;
sAllFluidStacks.add(this);
if(!GregTech_API.mServerStarted){sAllFluidStacks.add(this);}
}
public GT_FluidStack(FluidStack aFluid) {

View file

@ -109,7 +109,7 @@ public abstract class GT_Proxy implements IGT_Mod, IGuiHandler, IFuelHandler {
"unfinishedTank", "valvePart", "aquaRegia", "leatherSeal", "leatherSlimeSeal", "hambone", "slimeball", "clay", "enrichedUranium", "camoPaste",
"antiBlock", "burntQuartz", "salmonRaw", "blockHopper", "blockEnderObsidian", "blockIcestone", "blockMagicWood", "blockEnderCore", "blockHeeEndium",
"oreHeeEndPowder", "oreHeeStardust", "oreHeeIgneousRock", "oreHeeInstabilityOrb", "crystalPureFluix", "shardNether", "gemFluorite",
"stickObsidian", "caveCrystal", "shardCrystal", "dyeCrystal"}));
"stickObsidian", "caveCrystal", "shardCrystal", "dyeCrystal","shardFire","shardWater","shardAir","shardEarth","ingotRefinedIron","blockMarble"}));
private final Collection<String> mInvalidNames = new HashSet(Arrays.asList(new String[]{"diamondShard", "redstoneRoot", "obsidianStick", "bloodstoneOre",
"universalCable", "bronzeTube", "ironTube", "netherTube", "obbyTube", "infiniteBattery", "eliteBattery", "advancedBattery", "10kEUStore",
"blueDye", "MonazitOre", "quartzCrystal", "whiteLuminiteCrystal", "darkStoneIngot", "invisiumIngot", "demoniteOrb", "enderGem", "starconiumGem",
@ -151,6 +151,7 @@ public abstract class GT_Proxy implements IGT_Mod, IGuiHandler, IFuelHandler {
private World mUniverse = null;
private boolean isFirstServerWorldTick = true;
private boolean mOreDictActivated = false;
public int mWireHeatingTicks = 4;
public GT_Proxy() {
GameRegistry.registerFuelHandler(this);
@ -193,6 +194,7 @@ public abstract class GT_Proxy implements IGT_Mod, IGuiHandler, IFuelHandler {
GregTech_API.sPreloadStarted = true;
this.mIgnoreTcon = GregTech_API.sOPStuff.get(ConfigCategories.general, "ignoreTConstruct", true);
this.mWireHeatingTicks = GregTech_API.sOPStuff.get(ConfigCategories.general, "WireHeatingTicks", 4);
NetworkRegistry.INSTANCE.registerGuiHandler(GT_Values.GT, this);
for (FluidContainerRegistry.FluidContainerData tData : FluidContainerRegistry.getRegisteredFluidContainerData()) {
if ((tData.filledContainer.getItem() == Items.potionitem) && (tData.filledContainer.getItemDamage() == 0)) {

View file

@ -60,7 +60,8 @@ public class GT_Container_Filter
if (aMouseclick == 0) {
tSlot.putStack(null);
} else if (tStack != null) {
tStack.setItemDamage(32767);
tStack = GT_Utility.copyAmountAndMetaData(tStack.stackSize, 32767, tStack);
if(GT_Utility.isStackInvalid(tStack)){tStack=null;}
}
} else {
tSlot.putStack(GT_Utility.copyAmount(1L, new Object[]{tStack}));

View file

@ -244,7 +244,7 @@ public abstract class GT_MetaTileEntity_FusionComputer extends GT_MetaTileEntity
if (tierOverclock() == 2) {
return mStartEnergy < 160000000 ? 2 : 1;
}
return mStartEnergy < 160000000 ? 4 : mStartEnergy > 320000000 ? 2 : 1;
return mStartEnergy < 160000000 ? 4 : mStartEnergy < 320000000 ? 2 : 1;
}
@Override

View file

@ -136,6 +136,7 @@ public class GT_MetaTileEntity_QuantumChest extends GT_MetaTileEntity_TieredMach
}
if (this.mItemStack != null) {
this.mInventory[2] = this.mItemStack.copy();
this.mInventory[2].stackSize = Math.min(mItemStack.getMaxStackSize(), this.mItemCount);
} else {
this.mInventory[2] = null;
}
@ -164,12 +165,12 @@ public class GT_MetaTileEntity_QuantumChest extends GT_MetaTileEntity_TieredMach
@Override
public boolean allowPullStack(IGregTechTileEntity aBaseMetaTileEntity, int aIndex, byte aSide, ItemStack aStack) {
return true;
return aIndex==1;
}
@Override
public boolean allowPutStack(IGregTechTileEntity aBaseMetaTileEntity, int aIndex, byte aSide, ItemStack aStack) {
return true;
return aIndex==0&&(mInventory[0]==null||GT_Utility.areStacksEqual(this.mInventory[0], aStack));
}
@Override

View file

@ -491,6 +491,8 @@ public class GT_Achievements {
issueAchievement(player, "filterregulate");
} else if (stack.getUnlocalizedName().equals("gt.metaitem.01.32605")) {
issueAchievement(player, "whatnow");
} else if (stack.getUnlocalizedName().equals("gt.Thoriumcell")) {
issueAchievement(player, "newfuel");
}
}
}

View file

@ -496,6 +496,7 @@ public class GT_CraftingRecipeLoader
codechicken.nei.api.API.hideItem(GT_ModHandler.getIC2Item("detectorCableItem", 1L));
codechicken.nei.api.API.hideItem(GT_ModHandler.getIC2Item("splitterCableItem", 1L));
codechicken.nei.api.API.hideItem(GT_ModHandler.getIC2Item("electrolyzer", 1L));
codechicken.nei.api.API.hideItem(GT_ModHandler.getIC2Item("cutter", 1L));
}
GT_ModHandler.removeRecipeByOutput(GT_ModHandler.getIC2Item("batBox", 1L));
GT_ModHandler.addCraftingRecipe(GT_ModHandler.getIC2Item("batBox", 1L), GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[]{"PCP", "BBB", "PPP", 'C', OrePrefixes.cableGt01.get(Materials.Tin), 'P', OrePrefixes.plank.get(Materials.Wood), 'B', OrePrefixes.battery.get(Materials.Basic)});
@ -555,7 +556,6 @@ public class GT_CraftingRecipeLoader
GT_ModHandler.removeRecipeByOutput(GT_ModHandler.getIC2Item("pullingUpgrade", 1L));
GT_ModHandler.addCraftingRecipe(GT_ModHandler.getIC2Item("pullingUpgrade", 1L), GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[]{"PHP", "WEW", 'W', OrePrefixes.cableGt01.get(Materials.Copper), 'P', new ItemStack(Blocks.sticky_piston), 'R', new ItemStack(Blocks.hopper), 'E', OrePrefixes.circuit.get(Materials.Basic)});
GT_ModHandler.removeRecipeByOutput(GT_ModHandler.getIC2Item("cutter", 1L));
codechicken.nei.api.API.hideItem(GT_ModHandler.getIC2Item("cutter", 1L));
} else {
GT_ModHandler.addCraftingRecipe(GT_ModHandler.getIC2Item("glassFiberCableItem", 1L), GT_ModHandler.RecipeBits.NOT_REMOVABLE, new Object[]{"GGG", "EDE", "GGG", Character.valueOf('G'), new ItemStack(Blocks.glass, 1, 32767), Character.valueOf('D'), OrePrefixes.dust.get(Materials.Silver), Character.valueOf('E'), ItemList.IC2_Energium_Dust.get(1L, new Object[0])});
}

View file

@ -785,7 +785,7 @@ public class GT_MachineRecipeLoader
GT_Values.RA.addChemicalRecipe(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Uraninite, 1L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Magnesium, 1L), GT_Values.NF, GT_Values.NF, GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Uranium, 1L), 1000);
GT_Values.RA.addChemicalRecipe(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Calcium, 1L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Carbon, 1L), Materials.Oxygen.getGas(3000L), GT_Values.NF, GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Calcite, 5L), 500);
GT_Values.RA.addChemicalRecipe(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Carbon, 1L), GT_Values.NI, Materials.Hydrogen.getGas(4000L), Materials.Methane.getGas(5000L), GT_Values.NI, 3500);
GT_Values.RA.addChemicalRecipe(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Sulfur, 1L), GT_Values.NI, Materials.Water.getFluid(2000L), Materials.SulfuricAcid.getFluid(3000L), GT_Values.NI, 1150);
GT_Values.RA.addChemicalRecipe(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Sulfur, 1L), ItemList.Circuit_Integrated.getWithDamage(0L, 1L, new Object[0]), Materials.Water.getFluid(2000L), Materials.SulfuricAcid.getFluid(3000L), GT_Values.NI, 1150);
GT_Values.RA.addChemicalRecipe(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Sulfur, 1L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Sodium, 1L), Materials.Oxygen.getGas(4000L), Materials.SodiumPersulfate.getFluid(6000L), GT_Values.NI, 8000);
GT_Values.RA.addChemicalRecipe(GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Nitrogen, 1L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Carbon, 1L), Materials.Water.getFluid(2000L), Materials.Glyceryl.getFluid(4000L), ItemList.Cell_Empty.get(1L, new Object[0]), 2700);
GT_Values.RA.addChemicalRecipe(GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Fuel, 1L), GT_Values.NI, Materials.Glyceryl.getFluid(250L), Materials.NitroFuel.getFluid(1250L), ItemList.Cell_Empty.get(1L, new Object[0]), 250);
@ -826,6 +826,8 @@ public class GT_MachineRecipeLoader
GT_Values.RA.addBenderRecipe(ItemList.IC2_Item_Casing_Iron.get(2L, new Object[0]), GT_ModHandler.getIC2Item("fuelRod", 1L), 100, 8);
GT_Values.RA.addBenderRecipe(ItemList.IC2_Item_Casing_Tin.get(1L, new Object[0]), ItemList.IC2_Food_Can_Empty.get(1L, new Object[0]), 100, 8);
GT_Values.RA.addPulveriserRecipe(GT_OreDictUnificator.get(OrePrefixes.block, Materials.Marble, 1L), new ItemStack[]{GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Marble, 1L)}, null, 160, 4);
GT_Values.RA.addVacuumFreezerRecipe(GT_ModHandler.getIC2Item("reactorCoolantSimple", 1L, 32767), GT_ModHandler.getIC2Item("reactorCoolantSimple", 1L, 1), 100);
GT_Values.RA.addVacuumFreezerRecipe(GT_ModHandler.getIC2Item("reactorCoolantTriple", 1L, 32767), GT_ModHandler.getIC2Item("reactorCoolantTriple", 1L, 1), 300);
GT_Values.RA.addVacuumFreezerRecipe(GT_ModHandler.getIC2Item("reactorCoolantSix", 1L, 32767), GT_ModHandler.getIC2Item("reactorCoolantSix", 1L, 1), 600);

View file

@ -33,6 +33,8 @@ public class GT_RecyclerBlacklistLoader
GT_ModHandler.addToRecyclerBlackList(tStack);
tStack = GT_ModHandler.getRecipeOutput(new ItemStack[]{tStack, tStack, tStack, tStack, tStack, tStack, tStack, tStack, tStack});
}
GT_ModHandler.addToRecyclerBlackList(new ItemStack(Blocks.gravel, 1, 32767));
GT_ModHandler.addToRecyclerBlackList(new ItemStack(Items.flint, 1, 32767));
GT_ModHandler.addToRecyclerBlackList(new ItemStack(Blocks.cobblestone_wall, 1, 32767));
GT_ModHandler.addToRecyclerBlackList(new ItemStack(Blocks.sandstone_stairs, 1, 32767));
GT_ModHandler.addToRecyclerBlackList(new ItemStack(Blocks.stone_stairs, 1, 32767));