Compare commits

...
Sign in to create a new pull request.

13 commits

Author SHA1 Message Date
43703e11f4
work on gases 2024-07-17 00:35:18 -05:00
Mikhail
e4bd203c2a Completion of #4 2023-07-14 23:04:28 -05:00
Mikhail
acf7c87c39 Merge branch 'unstable' of https://github.com/mikhailkfv/GT5-Unofficial into unstable 2023-07-13 12:29:48 -05:00
Mikhail
2406121f91 Work on #4, #8, fixed build script (Again!!) 2023-07-13 12:29:23 -05:00
Mikhail
cd628548ce
Merge branch 'Blood-Asp:unstable' into unstable 2022-08-27 09:55:16 -05:00
Mikhail
09c4bb3349 Kerosene & Jet fuel
Also added 1-block jet generators similar to GTNH.  Subject to further changes.
2022-08-27 09:52:52 -05:00
Alkalus
364e996bb8
Merge pull request #1597 from Invincible92/unstable
1st attempt on fixing small boilers automation. Seems to work correctly
2022-08-22 20:51:52 +01:00
Mikhail
826834899a Minor fixes 2022-08-04 18:33:47 -05:00
Mikhail
6a9e414527 Fix buildscript (again) 2022-07-21 21:47:58 -05:00
Mikhail
a6295cbc86 Merge toolbox change
Implement toolboxable tools from GTNH/GT5U

All credit to GTNH team.
2022-07-21 20:17:48 -05:00
Isaac Pellicer
f16a5dab18 1st attempt on fixing small boilers automation. 2022-07-08 13:22:34 +02:00
Alkalus
77a3c956e5
Merge pull request #1566 from Blood-Asp/FlaskFix
Fixed missing annotation. Prevents crashing Server Side if class is accessed reflectively.
2020-05-27 12:24:01 +01:00
Alkalus
f83d381a69
Merge pull request #1565 from Blood-Asp/FlaskFix
Made Volumetric Flasks more flexible.
2020-05-26 19:20:08 +01:00
41 changed files with 546 additions and 91 deletions

5
.gitignore vendored
View file

@ -1,3 +1,4 @@
### Windows ###
thumbs.db
@ -73,10 +74,8 @@ local.properties
classes/
/out/
gradle/wrapper/gradle-wrapper.properties
gradlew
gradlew.bat
# Linux
*~
maven/*

View file

@ -2,10 +2,10 @@ buildscript {
repositories {
mavenCentral()
jcenter()
//maven {
// name = "forge"
// url = "http://files.minecraftforge.net/maven"
//}
maven {
name = "forge"
url = "https://maven.minecraftforge.net"
}
maven {
name = "gt"
url = "https://gregtech.overminddl1.com/"
@ -16,7 +16,9 @@ buildscript {
}
}
dependencies {
classpath 'net.minecraftforge.gradle:ForgeGradle:1.2-SNAPSHOT'
classpath ('com.anatawa12.forge:ForgeGradle:1.2-1.0.+') {
changing = true
}
}
}
@ -76,30 +78,39 @@ configurations {
}
repositories {
maven {
name = "chickenbones"
url = "http://chickenbones.net/maven/"
}
maven {
name = "gt"
url = "http://gregtech.overminddl1.com/"
url = "https://gregtech.overminddl1.com/"
}
maven {
name = "ic2"
url = "http://maven.ic2.player.to/"
url = "https://maven2.ic2.player.to/"
}
maven {
name = "k4u"
url = "https://maven.k-4u.nl/"
}
maven {
name = "local"
url = "file:///C:/Users/michael/Documents/GT5-Unofficial/maven/"
}
}
dependencies {
// compile fileTree(dir: 'libs', include: '*.jar')
// Mostly Used for compileOnly, if you prefer normal IC2, uncomment it instead.
//provided "net.industrial-craft:industrialcraft-2:${config.ic2.version}:dev"
compile "ic2:IC2Classic:1.2.1.8:dev"
provided "net.industrial-craft:industrialcraft-2:${config.ic2.version}:dev"
compile "mcp.mobius.waila:Waila:1.5.11-RC2-NONEI_1.7.10:dev"
compile "codechicken:CodeChickenLib:1.7.10-1.1.3.140:dev"
compile "codechicken:CodeChickenCore:1.7.10-1.0.7.47:dev"
compile "codechicken:NotEnoughItems:1.7.10-1.0.5.120:dev"
compileOnly "mcp.mobius.waila:Waila:1.5.11-RC2-NONEI_1.7.10"
//compile "codechicken:CodeChickenLib:1.7.10-1.1.3.140:dev"
//compile "codechicken:CodeChickenCore:1.7.10-1.0.7.47:dev"
//compile "codechicken:NotEnoughItems:1.7.10-1.0.5.120:dev"
compileOnly "com.enderio.core:EnderCore:1.7.10-0.2.0.39_beta:dev"
// "com.enderio:EnderIO:1.7.10-2.3.0.429_beta:dev"
compileOnly "com.enderio:EnderIO:1.7.10-2.3.0.430_beta:dev"
compileOnly "cofh:CoFHCore:1.7.10R3.0.4:dev"
@ -111,12 +122,16 @@ dependencies {
compileOnly "micdoodle8.mods:GalacticraftCore:1.7-3.0.12.504:Dev"
compileOnly "micdoodle8.mods:MicdoodleCore:1.7-3.0.12.504:Dev"
compileOnly "thaumcraft:Thaumcraft:1.7.10-4.2.3.5:dev"
compileOnly "thaumcraft:Thaumcraft:1.7.10-4.2.3.5:dev"
compileOnly "com.azanor.baubles:Baubles:1.7.10-1.0.1.10:deobf"
compileOnly "appeng:appliedenergistics2:rv3-beta-6:dev"
compileOnly "applecore:AppleCore:1.7.10-3.1.1:deobf"
compileOnly "com.shedar.IC2NuclearControl:IC2NuclearControl:2.4.3a:dev"
compileOnly "pneumaticCraft:PneumaticCraft-1.7.10:1.12.7-152:userdev"
compileOnly "glenn:gasesFramework:1.7.10-1.2.4:dev"
compileOnly "glenn:gases:1.7.10-1.6.7:dev"
}
processResources

View file

@ -1,4 +1,24 @@
minecraft.version=1.7.10
forge.version=10.13.4.1614-1.7.10
ic2.version=2.2.790-experimental
gt.version=5.09.31
forge.version=10.13.4.1566-1.7.10
gt.version=5.09.33.03
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
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.2.10.58
ic2.version=2.2.817-experimental
nei.version=1.0.3.57
railcraft.cf=2219/321
railcraft.version=1.7.10-9.4.0.0
nc.cf=2275/987
nc.version=2.3.4a

View file

@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-3.2.1-all.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-4.4.1-bin.zip

View file

@ -1206,6 +1206,8 @@ public class GT_Mod implements IGT_Mod {
GT_OreDictUnificator.get(OrePrefixes.gem, Materials.Lignite, 1),
GT_OreDictUnificator.get(OrePrefixes.block, Materials.Lignite, 1),
GT_OreDictUnificator.get(OrePrefixes.crushed, Materials.Lignite, 1),
GT_OreDictUnificator.get(OrePrefixes.gem, Materials.PetrolCoke, 1),
GT_OreDictUnificator.get(OrePrefixes.dust, Materials.PetrolCoke, 1),
GT_OreDictUnificator.get(OrePrefixes.log, Materials.Wood, 1),
GT_OreDictUnificator.get(OrePrefixes.plank, Materials.Wood, 1),
GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Wood, 1),

View file

@ -508,6 +508,10 @@ public enum ItemList implements IItemContainer {
Generator_Gas_Turbine_LV,
Generator_Gas_Turbine_MV,
Generator_Gas_Turbine_HV,
Generator_Jet_Turbine_MV,
Generator_Jet_Turbine_HV,
Generator_Jet_Turbine_EV,
//Generator_Jet_Turbine_IV,
Generator_Steam_Turbine_LV,
Generator_Steam_Turbine_MV,
Generator_Steam_Turbine_HV,

View file

@ -7,7 +7,7 @@ import java.util.List;
import gregtech.api.objects.MaterialStack;
public class MaterialBuilder {
public static final int DIESEL = 0, GAS = 1, THERMAL = 2, SEMIFLUID = 3, PLASMA = 4, MAGIC = 5;
public static final int DIESEL = 0, GAS = 1, THERMAL = 2, SEMIFLUID = 3, PLASMA = 4, MAGIC = 5, JET = 6;
private int metaItemSubID;
private TextureSet iconSet;

View file

@ -415,6 +415,8 @@ public class Materials implements IColorModulationContainer, ISubTagContainer {
public static Materials WoodGas = new MaterialBuilder(660, TextureSet.SET_FLUID, "Wood Gas").addCell().addGas().setRGB(222, 205, 135).setColor(Dyes.dyeBrown).setFuelType(MaterialBuilder.GAS).setFuelPower(24).constructMaterial();
public static Materials WoodTar = new MaterialBuilder(662, TextureSet.SET_FLUID, "Wood Tar").addCell().addFluid().setRGB(40, 23, 11).setColor(Dyes.dyeBrown).constructMaterial();
public static Materials WoodVinegar = new MaterialBuilder(661, TextureSet.SET_FLUID, "Wood Vinegar").addCell().addFluid().setRGB(212, 85, 0).setColor(Dyes.dyeBrown).constructMaterial();
//new items
public static Materials PetrolCoke = new Materials(693, TextureSet.SET_LIGNITE, 1.0F, 0, 1, 1|4, 85, 80, 80, 0, "PetrolCoke", "Petroleum Coke", 0, 0, -1, 0, false, false, 1, 1, 1, Dyes.dyeGray, 1, Arrays.asList(new MaterialStack(Carbon, 2)), Arrays.asList(new TC_AspectStack(TC_Aspects.POTENTIA, 3), new TC_AspectStack(TC_Aspects.IGNIS, 3)));
/**
* TODO: This
@ -536,7 +538,13 @@ public class Materials implements IColorModulationContainer, ISubTagContainer {
public static Materials LightFuel = new Materials(740, TextureSet.SET_FLUID, 1.0F, 0, 0, 16, 255, 255, 0, 0, "LightFuel", "Light Fuel", 0, 256, -1, 0, false, false, 1, 1, 1, Dyes.dyeYellow).setCanBeCracked(true);
public static Materials HeavyFuel = new Materials(741, TextureSet.SET_FLUID, 1.0F, 0, 0, 16, 255, 255, 0, 0, "HeavyFuel", "Heavy Fuel", 3, 192, -1, 0, false, false, 1, 1, 1, Dyes.dyeBlack).setCanBeCracked(true);
public static Materials LPG = new Materials(742, TextureSet.SET_FLUID, 1.0F, 0, 0, 16, 255, 255, 0, 0, "LPG", "LPG", 1, 256, -1, 0, false, false, 1, 1, 1, Dyes.dyeYellow);
public static Materials Kerosene = new Materials(743, TextureSet.SET_FLUID, 1.0F, 0, 0, 16, 0, 255, 255, 0, "Kerosene", "Kerosene", 0, 256, -1, 0, false, false, 1, 1, 1, Dyes.dyeBlue).setCanBeCracked(true);
public static Materials SulfuricKerosene = new Materials(744, TextureSet.SET_FLUID, 1.0F, 0, 0, 16, 0, 255, 255, 0, "SulfuricKerosene", "Sulfuric Kerosene", 0, 32, -1, 0, false, false, 1, 1, 1, Dyes.dyeBlue);
public static Materials ResidualOil = new Materials(745, TextureSet.SET_FLUID, 1.0F, 0, 0, 16, 10, 10, 10, 0, "ResidualOil", "Residual Oil", 3, 48, -1, 0, false, false, 1, 1, 1, Dyes.dyeBlack);
public static Materials SulfuricResid = new Materials(746, TextureSet.SET_FLUID, 1.0F, 0, 0, 16, 10, 10, 10, 0, "SulfuricResid", "Sulfuric Residual Oil", 3, 32, -1, 0, false, false, 1, 1, 1, Dyes.dyeBlack);
public static Materials CrackedResid = new Materials(749, TextureSet.SET_FLUID, 1.0F, 0, 0, 16, 10, 10, 10, 0, "CrackedResid", "Cracked Residual Oil", 3, 56, -1, 0, false, false, 1, 1, 1, Dyes.dyeBlack);
public static Materials Chlorobenzene = new MaterialBuilder(605, TextureSet.SET_FLUID, "Chlorobenzene").addCell().addFluid().setRGB(0, 50, 65).setColor(Dyes.dyeGray).setMaterialList(new MaterialStack(Carbon, 6), new MaterialStack(Hydrogen, 5), new MaterialStack(Chlorine, 1)).addElectrolyzerRecipe().constructMaterial();
public static Materials DilutedHydrochloricAcid = new MaterialBuilder(606, TextureSet.SET_FLUID, "Diluted Hydrochloric Acid").setName("DilutedHydrochloricAcid_GT5U").addCell().addFluid().setRGB(153, 167, 163).setColor(Dyes.dyeLightGray).setMaterialList(new MaterialStack(Hydrogen, 1), new MaterialStack(Chlorine, 1)).constructMaterial();
public static Materials Pyrochlore = new MaterialBuilder(607, TextureSet.SET_METALLIC, "Pyrochlore").addDustItems().addOreItems().setRGB(43, 17, 0).setColor(Dyes.dyeBlack).setMaterialList(new MaterialStack(Calcium, 2), new MaterialStack(Niobium, 2), new MaterialStack(Oxygen, 7)).addElectrolyzerRecipe().constructMaterial();
@ -751,6 +759,10 @@ public class Materials implements IColorModulationContainer, ISubTagContainer {
public static Materials AntiKnock = new MaterialBuilder(994, TextureSet.SET_FLUID, "Ethyl Tert-Butyl Ether").addCell().addFluid().setRGB(255, 255, 255).setColor(Dyes.dyeWhite).constructMaterial();
public static Materials GasolineRegular = new MaterialBuilder(997, TextureSet.SET_FLUID, "Gasoline").addCell().addFluid().setRGB(255,165,0).setColor(Dyes.dyeOrange).setFuelType(MaterialBuilder.DIESEL).setFuelPower(384).constructMaterial();
public static Materials GasolinePremium = new MaterialBuilder(998, TextureSet.SET_FLUID, "High Octane Gasoline").addCell().addFluid().setRGB(255,165,0).setColor(Dyes.dyeOrange).setFuelType(MaterialBuilder.DIESEL).setFuelPower(768).constructMaterial();
//new materials
//public static Materials Kerosene = new MaterialBuilder(743, TextureSet.SET_FLUID, "Kerosene").addCell().addFluid().setRGB(0,255,255).setColor(Dyes.dyeBlue).setFuelType(MaterialBuilder.DIESEL).setFuelPower(256).constructMaterial();
public static Materials JetFuel = new MaterialBuilder(747, TextureSet.SET_FLUID, "Jet Kerosene").addCell().addFluid().setRGB(70, 200, 255).setColor(Dyes.dyeYellow).setFuelType(MaterialBuilder.JET).setFuelPower(512).constructMaterial();
public static Materials Jet8 = new MaterialBuilder(748, TextureSet.SET_FLUID, "JP-8").addCell().addFluid().setRGB(235, 235, 200).setColor(Dyes.dyeYellow).setFuelType(MaterialBuilder.JET).setFuelPower(640).constructMaterial();
/**
* Materials which are renamed automatically
@ -1233,6 +1245,7 @@ public class Materials implements IColorModulationContainer, ISubTagContainer {
Coal.add(SubTag.FLAMMABLE, SubTag.NO_SMELTING, SubTag.NO_SMASHING, SubTag.MORTAR_GRINDABLE);
Charcoal.add(SubTag.FLAMMABLE, SubTag.NO_SMELTING, SubTag.NO_SMASHING, SubTag.MORTAR_GRINDABLE);
Lignite.add(SubTag.FLAMMABLE, SubTag.NO_SMELTING, SubTag.NO_SMASHING, SubTag.MORTAR_GRINDABLE);
PetrolCoke.add(SubTag.FLAMMABLE, SubTag.NO_SMELTING, SubTag.NO_SMASHING, SubTag.MORTAR_GRINDABLE);
Rubber.add(SubTag.FLAMMABLE, SubTag.NO_SMASHING, SubTag.BOUNCY, SubTag.STRETCHY);
StyreneButadieneRubber.add(SubTag.FLAMMABLE, SubTag.NO_SMASHING, SubTag.BOUNCY, SubTag.STRETCHY);

View file

@ -0,0 +1,12 @@
package gregtech.api.interfaces.internal;
import net.minecraftforge.fluids.Fluid;
public interface GasesCompat {
public boolean registerGregGas(Fluid gas);
public boolean registerOtherGasesAsFluids();
public boolean registerFluidCannerRecipes();
}

View file

@ -622,7 +622,7 @@ public interface IGT_RecipeAdder {
* Every Fluid also gets separate distillation recipes
*
* @param aInput1 must be != null
* @param aOutputs must be != null 1-5 Fluids
* @param aOutputs must be != null 1-11 Fluids
* @param aOutput2 can be null
*/
public boolean addUniversalDistillationRecipe(FluidStack aInput, FluidStack[] aOutputs, ItemStack aOutput2, int aDuration, int aEUt);

View file

@ -0,0 +1,12 @@
package gregtech.api.interfaces.internal;
import net.minecraftforge.fluids.Fluid;
public interface IGasesCompat {
public boolean registerGregGas(Fluid gas);
public boolean registerOtherGasesAsFluids();
public boolean registerFluidCannerRecipes();
}

View file

@ -7,6 +7,7 @@ import gregtech.api.enums.Materials;
import gregtech.api.enums.OrePrefixes;
import gregtech.api.interfaces.IIconContainer;
import gregtech.api.util.GT_LanguageManager;
import gregtech.api.util.GT_ModHandler;
import gregtech.api.util.GT_OreDictUnificator;
import gregtech.api.util.GT_Utility;
import net.minecraft.creativetab.CreativeTabs;
@ -61,6 +62,7 @@ public abstract class GT_MetaGenerated_Item_X32 extends GT_MetaGenerated_Item {
}
if ((tPrefix == OrePrefixes.stick || tPrefix == OrePrefixes.wireFine || tPrefix == OrePrefixes.ingot) && (tMaterial == Materials.Lead || tMaterial == Materials.Tin || tMaterial == Materials.SolderingAlloy)) {
GregTech_API.sSolderingMetalList.add(tStack);
GT_ModHandler.registerBoxableItemToToolBox(tStack);
}
}
}

View file

@ -78,7 +78,6 @@ public abstract class GT_MetaGenerated_Tool extends GT_MetaBase_Item implements
*/
public GT_MetaGenerated_Tool(String aUnlocalized) {
super(aUnlocalized);
GT_ModHandler.registerBoxableItemToToolBox(this);
setCreativeTab(GregTech_API.TAB_GREGTECH);
setMaxStackSize(1);
sInstances.put(getUnlocalizedName(), this);
@ -166,6 +165,7 @@ public abstract class GT_MetaGenerated_Tool extends GT_MetaBase_Item implements
}
if (GregTech_API.sThaumcraftCompat != null)
GregTech_API.sThaumcraftCompat.registerThaumcraftAspectsToItem(rStack, tAspects, false);
GT_ModHandler.registerBoxableItemToToolBox(rStack);
return rStack;
}
return null;

View file

@ -1,6 +1,7 @@
package gregtech.api.items;
import gregtech.api.util.GT_ModHandler;
import net.minecraft.item.ItemStack;
/**
* This is just a basic Tool, which has normal durability and could break Blocks.
@ -20,6 +21,6 @@ public class GT_Tool_Item extends GT_Generic_Item {
setMaxStackSize(1);
setNoRepair();
setFull3D();
GT_ModHandler.registerBoxableItemToToolBox(this);
GT_ModHandler.registerBoxableItemToToolBox(new ItemStack(this));
}
}

View file

@ -17,12 +17,17 @@ import gregtech.api.objects.GT_RenderedTexture;
import gregtech.api.util.GT_ModHandler;
import gregtech.api.util.GT_OreDictUnificator;
import gregtech.api.util.GT_Utility;
import ic2.core.IHasGui;
import ic2.core.item.ItemToolbox;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.EntityPlayerMP;
import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.inventory.IInventory;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraftforge.common.util.FakePlayer;
import java.util.Arrays;
import java.util.List;
@ -110,12 +115,22 @@ public class GT_MetaTileEntity_Hatch_Maintenance extends GT_MetaTileEntity_Hatch
}
@Override
public boolean onRightclick(IGregTechTileEntity aBaseMetaTileEntity, EntityPlayer aPlayer, byte aSide, float aX, float aY, float aZ) {
if (aBaseMetaTileEntity.isClientSide()) return true;
if (aSide == aBaseMetaTileEntity.getFrontFacing()) aBaseMetaTileEntity.openGUI(aPlayer);
if (aBaseMetaTileEntity.isClientSide())
return true;
if (aSide == aBaseMetaTileEntity.getFrontFacing()) {
// only allow OC robot fake player
if (aPlayer instanceof FakePlayer && !aPlayer.getGameProfile().getName().endsWith(".robot"))
return true;
if (aPlayer.getCurrentEquippedItem() != null && aPlayer.getCurrentEquippedItem().getItem() instanceof ItemToolbox)
applyToolbox(aPlayer.getCurrentEquippedItem(), aPlayer);
else
aBaseMetaTileEntity.openGUI(aPlayer);
}
return true;
}
@Override
public Object getServerGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) {
if (mAuto) return new GT_Container_2by2(aPlayerInventory, aBaseMetaTileEntity);
@ -185,19 +200,24 @@ public class GT_MetaTileEntity_Hatch_Maintenance extends GT_MetaTileEntity_Hatch
return false;
}
public void onToolClick(ItemStack aStack, EntityLivingBase aPlayer) {
public void onToolClick(ItemStack aStack, EntityLivingBase aPlayer, IInventory aToolboxInventory) {
if (aStack == null || aPlayer == null) return;
if (GT_Utility.isStackInList(aStack, GregTech_API.sWrenchList) && GT_ModHandler.damageOrDechargeItem(aStack, 1, 1000, aPlayer))
if (aStack.getItem() instanceof ItemToolbox && aPlayer instanceof EntityPlayer) {
applyToolbox(aStack, (EntityPlayer)aPlayer);
return;
}
if (GT_Utility.isStackInList(aStack, GregTech_API.sWrenchList) && !mWrench && GT_ModHandler.damageOrDechargeItem(aStack, 1, 1000, aPlayer))
mWrench = true;
if (GT_Utility.isStackInList(aStack, GregTech_API.sScrewdriverList) && GT_ModHandler.damageOrDechargeItem(aStack, 1, 1000, aPlayer))
if (GT_Utility.isStackInList(aStack, GregTech_API.sScrewdriverList) && !mScrewdriver && GT_ModHandler.damageOrDechargeItem(aStack, 1, 1000, aPlayer))
mScrewdriver = true;
if (GT_Utility.isStackInList(aStack, GregTech_API.sSoftHammerList) && GT_ModHandler.damageOrDechargeItem(aStack, 1, 1000, aPlayer))
if (GT_Utility.isStackInList(aStack, GregTech_API.sSoftHammerList) && !mSoftHammer && GT_ModHandler.damageOrDechargeItem(aStack, 1, 1000, aPlayer))
mSoftHammer = true;
if (GT_Utility.isStackInList(aStack, GregTech_API.sHardHammerList) && GT_ModHandler.damageOrDechargeItem(aStack, 1, 1000, aPlayer))
if (GT_Utility.isStackInList(aStack, GregTech_API.sHardHammerList) && !mHardHammer && GT_ModHandler.damageOrDechargeItem(aStack, 1, 1000, aPlayer))
mHardHammer = true;
if (GT_Utility.isStackInList(aStack, GregTech_API.sCrowbarList) && GT_ModHandler.damageOrDechargeItem(aStack, 1, 1000, aPlayer))
if (GT_Utility.isStackInList(aStack, GregTech_API.sCrowbarList) && !mCrowbar && GT_ModHandler.damageOrDechargeItem(aStack, 1, 1000, aPlayer))
mCrowbar = true;
if (GT_ModHandler.useSolderingIron(aStack, aPlayer)) mSolderingTool = true;
if (!mSolderingTool && GT_ModHandler.useSolderingIron(aStack, aPlayer, aToolboxInventory))
mSolderingTool = true;
if (GT_OreDictUnificator.isItemStackInstanceOf(aStack, "craftingDuctTape")) {
mWrench = mScrewdriver = mSoftHammer = mHardHammer = mCrowbar = mSolderingTool = true;
getBaseMetaTileEntity().setActive(false);
@ -211,6 +231,18 @@ public class GT_MetaTileEntity_Hatch_Maintenance extends GT_MetaTileEntity_Hatch
}
}
}
public void onToolClick(ItemStack aStack, EntityLivingBase aPlayer) {
onToolClick(aStack, aPlayer, null);
}
private void applyToolbox(ItemStack aStack, EntityPlayer aPlayer) {
ItemToolbox aToolbox = (ItemToolbox) aStack.getItem();
IHasGui aToolboxGUI = aToolbox.getInventory(aPlayer, aStack);
for (int i=0; i<aToolboxGUI.getSizeInventory(); i++)
onToolClick(aToolboxGUI.getStackInSlot(i), aPlayer, aToolboxGUI);
}
@Override
public boolean allowPullStack(IGregTechTileEntity aBaseMetaTileEntity, int aIndex, byte aSide, ItemStack aStack) {

View file

@ -6,6 +6,6 @@ import net.minecraft.item.ItemStack;
public class GT_IBoxableWrapper implements IBoxable {
@Override
public boolean canBeStoredInToolbox(ItemStack itemstack) {
return true;
}
return GT_Utility.isStackInList(itemstack, GT_ModHandler.sBoxableItems);
}
}

View file

@ -51,6 +51,7 @@ import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.Blocks;
import net.minecraft.init.Items;
import net.minecraft.inventory.Container;
import net.minecraft.inventory.IInventory;
import net.minecraft.inventory.InventoryCrafting;
import net.minecraft.item.Item;
import net.minecraft.item.ItemBlock;
@ -82,7 +83,8 @@ public class GT_ModHandler {
public static volatile int VERSION = 509;
public static Collection<String> sNativeRecipeClasses = new HashSet<String>(), sSpecialRecipeClasses = new HashSet<String>();
public static GT_HashSet<GT_ItemStack> sNonReplaceableItems = new GT_HashSet<GT_ItemStack>();
public static Object sBoxableWrapper = GT_Utility.callConstructor("gregtechmod.api.util.GT_IBoxableWrapper", 0, null, false);
public static Object sBoxableWrapper = new GT_IBoxableWrapper();
public static Collection<GT_ItemStack> sBoxableItems = new ArrayList<>();
private static Map<IRecipeInput, RecipeOutput> sExtractorRecipes = new /*Concurrent*/HashMap<IRecipeInput, RecipeOutput>();
private static Map<IRecipeInput, RecipeOutput> sMaceratorRecipes = new /*Concurrent*/HashMap<IRecipeInput, RecipeOutput>();
private static Map<IRecipeInput, RecipeOutput> sCompressorRecipes = new /*Concurrent*/HashMap<IRecipeInput, RecipeOutput>();
@ -1810,47 +1812,68 @@ public class GT_ModHandler {
/**
* Uses a Soldering Iron
*/
public static boolean useSolderingIron(ItemStack aStack, EntityLivingBase aPlayer) {
if (aPlayer == null || aStack == null) return false;
if (GT_Utility.isStackInList(aStack, GregTech_API.sSolderingToolList)) {
if (aPlayer instanceof EntityPlayer) {
EntityPlayer tPlayer = (EntityPlayer) aPlayer;
if (tPlayer.capabilities.isCreativeMode) return true;
if (isElectricItem(aStack) && ic2.api.item.ElectricItem.manager.getCharge(aStack) > 1000.0d) {
if (consumeSolderingMaterial(tPlayer)) {
if (canUseElectricItem(aStack, 10000)) {
return GT_ModHandler.useElectricItem(aStack, 10000, (EntityPlayer) aPlayer);
public static boolean useSolderingIron(ItemStack aStack, EntityLivingBase aPlayer, IInventory aExternalInventory) {
if (aPlayer == null || aStack == null) return false;
if (GT_Utility.isStackInList(aStack, GregTech_API.sSolderingToolList)) {
if (aPlayer instanceof EntityPlayer) {
EntityPlayer tPlayer = (EntityPlayer) aPlayer;
if (tPlayer.capabilities.isCreativeMode) return true;
if (isElectricItem(aStack) && ic2.api.item.ElectricItem.manager.getCharge(aStack) > 1000.0d) {
if (consumeSolderingMaterial(tPlayer)
|| (aExternalInventory != null && consumeSolderingMaterial(aExternalInventory))) {
if (canUseElectricItem(aStack, 10000)) {
return GT_ModHandler.useElectricItem(aStack, 10000, (EntityPlayer) aPlayer);
}
GT_ModHandler.useElectricItem(aStack, (int) ic2.api.item.ElectricItem.manager.getCharge(aStack), (EntityPlayer) aPlayer);
return false;
}
GT_ModHandler.useElectricItem(aStack, (int) ic2.api.item.ElectricItem.manager.getCharge(aStack), (EntityPlayer) aPlayer);
return false;
}
}
}else {
damageOrDechargeItem(aStack, 1, 1000, aPlayer);
return true;
}
} else {
damageOrDechargeItem(aStack, 1, 1000, aPlayer);
return true;
}
return false;
}
return false;
}
/**
* Simply consumes some soldering material
*/
public static boolean useSolderingIron(ItemStack aStack, EntityLivingBase aPlayer) {
return useSolderingIron(aStack, aPlayer, null);
}
public static boolean consumeSolderingMaterial(EntityPlayer aPlayer) {
if (aPlayer.capabilities.isCreativeMode) return true;
for (int i = 0; i < aPlayer.inventory.mainInventory.length; i++) {
if (GT_Utility.isStackInList(aPlayer.inventory.mainInventory[i], GregTech_API.sSolderingMetalList)) {
if (aPlayer.inventory.mainInventory[i].stackSize < 1) return false;
if (aPlayer.inventory.mainInventory[i].stackSize == 1) {
aPlayer.inventory.mainInventory[i] = null;
if (consumeSolderingMaterial(aPlayer.inventory)) {
if (aPlayer.inventoryContainer != null) {
aPlayer.inventoryContainer.detectAndSendChanges();
}
return true;
}
return false;
}
/**
* Consumes soldering material from given inventory
*/
public static boolean consumeSolderingMaterial(IInventory aInventory) {
for (int i = 0; i < aInventory.getSizeInventory(); i++) {
ItemStack tStack = aInventory.getStackInSlot(i);
if (GT_Utility.isStackInList(tStack, GregTech_API.sSolderingMetalList)) {
if (tStack.stackSize < 1) return false;
if (tStack.stackSize == 1) {
tStack = null;
} else {
aPlayer.inventory.mainInventory[i].stackSize--;
tStack.stackSize--;
}
if (aPlayer.inventoryContainer != null) aPlayer.inventoryContainer.detectAndSendChanges();
aInventory.setInventorySlotContents(i, tStack);
aInventory.markDirty();
return true;
}
}
return false;
return false;
}
/**
@ -1882,8 +1905,17 @@ public class GT_ModHandler {
return false;
}
/**
* Allow item to be inserted into ic2 toolbox
*/
public static void registerBoxableItemToToolBox(ItemStack aStack) {
if (aStack != null) registerBoxableItemToToolBox(aStack.getItem());
if (aStack != null) {
try {
ic2.api.item.ItemWrapper.registerBoxable(aStack.getItem(), (IBoxable) sBoxableWrapper);
} catch (Throwable ignored) {/*Do nothing*/}
sBoxableItems.add(new GT_ItemStack(aStack));
}
}
public static void registerBoxableItemToToolBox(Item aItem) {

View file

@ -197,6 +197,9 @@ public class GT_Recipe implements Comparable<GT_Recipe> {
case 5:
GT_Recipe_Map.sMagicFuels.addRecipe(this);
break;
case 6:
GT_Recipe_Map.sJetFuels.addRecipe(this);
break;
// Fluid Generator. Usually 3. Every wrong Type ends up in the Semifluid Generator
default:
GT_Recipe_Map.sDenseLiquidFuels.addRecipe(this);
@ -564,6 +567,7 @@ public class GT_Recipe implements Comparable<GT_Recipe> {
public static final GT_Recipe_Map sMassFabFakeRecipes = new GT_Recipe_Map(new HashSet<GT_Recipe>(10), "gt.recipe.massfab", "Mass Fabrication", null, RES_PATH_GUI + "basicmachines/Massfabricator", 1, 0, 1, 0, 1, E, 1, E, true, true);
public static final GT_Recipe_Map_Fuel sDieselFuels = new GT_Recipe_Map_Fuel(new HashSet<GT_Recipe>(10), "gt.recipe.dieselgeneratorfuel", "Diesel Generator Fuel", null, RES_PATH_GUI + "basicmachines/Default", 1, 1, 0, 0, 1, "Fuel Value: ", 1000, " EU", true, true);
public static final GT_Recipe_Map_Fuel sTurbineFuels = new GT_Recipe_Map_Fuel(new HashSet<GT_Recipe>(10), "gt.recipe.gasturbinefuel", "Gas Turbine Fuel", null, RES_PATH_GUI + "basicmachines/Default", 1, 1, 0, 0, 1, "Fuel Value: ", 1000, " EU", true, true);
public static final GT_Recipe_Map_Fuel sJetFuels = new GT_Recipe_Map_Fuel(new HashSet<GT_Recipe>(10), "gt.recipe.jetfuel", "Jet Fuel", null, RES_PATH_GUI + "basicmachines/Default", 1, 1, 0, 0, 1, "Fuel Value: ", 1000, " EU", true, true);
public static final GT_Recipe_Map_Fuel sHotFuels = new GT_Recipe_Map_Fuel(new HashSet<GT_Recipe>(10), "gt.recipe.thermalgeneratorfuel", "Thermal Generator Fuel", null, RES_PATH_GUI + "basicmachines/Default", 1, 1, 0, 0, 1, "Fuel Value: ", 1000, " EU", true, false);
public static final GT_Recipe_Map_Fuel sDenseLiquidFuels = new GT_Recipe_Map_Fuel(new HashSet<GT_Recipe>(10), "gt.recipe.semifluidboilerfuels", "Semifluid Boiler Fuels", null, RES_PATH_GUI + "basicmachines/Default", 1, 1, 0, 0, 1, "Fuel Value: ", 1000, " EU", true, true);
public static final GT_Recipe_Map_Fuel sPlasmaFuels = new GT_Recipe_Map_Fuel(new HashSet<GT_Recipe>(10), "gt.recipe.plasmageneratorfuels", "Plasma generator Fuels", null, RES_PATH_GUI + "basicmachines/Default", 1, 1, 0, 0, 1, "Fuel Value: ", 1000, " EU", true, true);

View file

@ -0,0 +1,72 @@
package gregtech.common;
import gregtech.api.interfaces.internal.IGasesCompat;
import net.minecraftforge.fluids.Fluid;
import net.minecraftforge.fluids.FluidRegistry;
import java.util.HashMap;
import glenn.gasesframework.api.Combustibility;
import glenn.gasesframework.api.GFAPI;
import glenn.gasesframework.api.gastype.GasType;
public class GT_GasesCompat implements IGasesCompat {
private final HashMap<GasType, Fluid> _fluidMap = new HashMap<GasType, Fluid>();
@Override
public boolean registerGregGas(Fluid gas) {
String name = gas.getName();
int id = gas.getID() + 19; //Glenn's gases uses 18 IDs so we can safely start at 19
int color = gas.getColor();
int density = gas.getDensity();
//TODO: introduction of per-gas properties not in fluid data
GasType gt = new GasType(false, id, name, color, 0, density, Combustibility.NONE);
GFAPI.registry.registerGasType(gt);
return true;
}
@Override
public boolean registerOtherGasesAsFluids() {
for(int i = 0; i < 18; i++) {
GasType gt = GFAPI.registry.getGasTypeByID(i);
Fluid f = gregOrGenerateFluid(gt);
_fluidMap.put(gt, f);
}
return false;
}
@Override
public boolean registerFluidCannerRecipes() {
// TODO Auto-generated method stub
return false;
}
public Fluid getFluidFromGas(Object gas)
{
GasType gt = (GasType) gas;
return _fluidMap.get(gt);
}
public Fluid gregOrGenerateFluid(GasType gas)
{
switch (gas.gasID) {
case 0:
return null;
case 1:
return null;
case 2:
return FluidRegistry.getFluid("Steam");
case 3:
return FluidRegistry.getFluid("gas_natural_gas");
case 7:
return FluidRegistry.getFluid("liquid_hydricsulfur");
case 8:
return FluidRegistry.getFluid("NitrogenDioxide");
case 13:
return FluidRegistry.getFluid("Chlorine");
default:
return null; //TODO: Auto-generate gas with config options for customization
}
}
}

View file

@ -1576,6 +1576,14 @@ public abstract class GT_Proxy implements IGT_Mod, IGuiHandler, IFuelHandler {
rFuelValue = Math.max(rFuelValue, 600);
} else if (GT_Utility.areStacksEqual(aFuel, ItemList.Block_MSSFUEL.get(1, new Object[0]))) {
rFuelValue = Math.max(rFuelValue, 150000);
} else if (GT_OreDictUnificator.isItemStackInstanceOf(aFuel, "gemPetrolCoke")) {
rFuelValue = Math.max(rFuelValue, 2400);
} else if (GT_OreDictUnificator.isItemStackInstanceOf(aFuel, "dustPetrolCoke")) {
rFuelValue = Math.max(rFuelValue, 2400);
} else if (GT_OreDictUnificator.isItemStackInstanceOf(aFuel, "dustSmallPetrolCoke")) {
rFuelValue = Math.max(rFuelValue, 600);
} else if (GT_OreDictUnificator.isItemStackInstanceOf(aFuel, "dustTinyPetrolCoke")) {
rFuelValue = Math.max(rFuelValue, 266);
}if (GT_Utility.areStacksEqual(aFuel, ItemList.Block_SSFUEL.get(1, new Object[0]))) {
rFuelValue = Math.max(rFuelValue, 100000);
}

View file

@ -966,7 +966,7 @@ public class GT_RecipeAdder
@Override
public boolean addPyrolyseRecipe(ItemStack aInput, FluidStack aFluidInput, int intCircuit, ItemStack aOutput, FluidStack aFluidOutput, int aDuration, int aEUt) {
if (aInput == null) {
if (aInput == null && aFluidInput == null) {
return false;
}
if ((aDuration = GregTech_API.sRecipeFile.get("pyrolyse", aInput, aDuration)) <= 0) {

View file

@ -255,14 +255,14 @@ public abstract class GT_MetaTileEntity_Boiler
public boolean allowPullStack(IGregTechTileEntity aBaseMetaTileEntity, int aIndex, byte aSide, ItemStack aStack) {
if (GT_Mod.gregtechproxy.mAllowSmallBoilerAutomation)
return true;
return aIndex == 1 || aIndex == 3;
else
return false;
}
public boolean allowPutStack(IGregTechTileEntity aBaseMetaTileEntity, int aIndex, byte aSide, ItemStack aStack) {
if(GT_Mod.gregtechproxy.mAllowSmallBoilerAutomation)
return true;
return aIndex == 2;
else
return false;
}

View file

@ -0,0 +1,119 @@
package gregtech.common.tileentities.generators;
import cpw.mods.fml.common.registry.GameRegistry;
import gregtech.api.GregTech_API;
import gregtech.api.enums.ConfigCategories;
import gregtech.api.enums.ItemList;
import gregtech.api.enums.Textures;
import gregtech.api.interfaces.ITexture;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.metatileentity.MetaTileEntity;
import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicGenerator;
import gregtech.api.objects.GT_RenderedTexture;
import gregtech.api.util.GT_ModHandler;
import gregtech.api.util.GT_Recipe;
import gregtech.api.util.GT_Utility;
import net.minecraft.item.ItemStack;
public class GT_MetaTileEntity_JetTurbine
extends GT_MetaTileEntity_BasicGenerator {
public static final int BASE_POLLUTION = 3;
public int mEfficiency;
public GT_MetaTileEntity_JetTurbine(int aID, String aName, String aNameRegional, int aTier) {
super(aID, aName, aNameRegional, aTier, new String[]{
"Requires jet Fuel",
"Causes " + (int) (15 * BASE_POLLUTION * Math.pow(2, aTier - 1)) + " Pollution per second"});
onConfigLoad();
}
public GT_MetaTileEntity_JetTurbine(String aName, int aTier, String aDescription, ITexture[][][] aTextures) {
super(aName, aTier, aDescription, aTextures);
onConfigLoad();
}
public GT_MetaTileEntity_JetTurbine(String aName, int aTier, String[] aDescription, ITexture[][][] aTextures) {
super(aName, aTier, aDescription, aTextures);
onConfigLoad();
}
public boolean isOutputFacing(byte aSide) {
return aSide == getBaseMetaTileEntity().getFrontFacing();
}
public MetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) {
return new GT_MetaTileEntity_JetTurbine(this.mName, this.mTier, this.mDescriptionArray, this.mTextures);
}
public GT_Recipe.GT_Recipe_Map getRecipes() {
return GT_Recipe.GT_Recipe_Map.sJetFuels;
}
public int getCapacity() {
return 16000;
}
public void onConfigLoad() {
this.mEfficiency = GregTech_API.sMachineFile.get(ConfigCategories.machineconfig, "DieselGenerator.efficiency.tier." + this.mTier, (90 - this.mTier * 5)); //TODO Unique config for jet fuels
}
public int getEfficiency() {
return this.mEfficiency;
}
public int getFuelValue(ItemStack aStack) {
if (GT_Utility.isStackInvalid(aStack) || getRecipes() == null) return 0;
int rValue = Math.max(GT_ModHandler.getFuelCanValue(aStack) * 6 / 5, super.getFuelValue(aStack));
if (ItemList.Fuel_Can_Plastic_Filled.isStackEqual(aStack, false, true)) {
rValue = Math.max(rValue, GameRegistry.getFuelValue(aStack) * 3);
}
return rValue;
}
public ITexture[] getFront(byte aColor) {
return new ITexture[]{super.getFront(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.GAS_TURBINE_FRONT), Textures.BlockIcons.OVERLAYS_ENERGY_OUT[this.mTier]};
}
public ITexture[] getBack(byte aColor) {
return new ITexture[]{super.getBack(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.GAS_TURBINE_BACK)};
}
public ITexture[] getBottom(byte aColor) {
return new ITexture[]{super.getBottom(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.GAS_TURBINE_BOTTOM)};
}
public ITexture[] getTop(byte aColor) {
return new ITexture[]{super.getTop(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.GAS_TURBINE_TOP)};
}
public ITexture[] getSides(byte aColor) {
return new ITexture[]{super.getSides(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.GAS_TURBINE_SIDE)};
}
public ITexture[] getFrontActive(byte aColor) {
return new ITexture[]{super.getFrontActive(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.GAS_TURBINE_FRONT_ACTIVE), Textures.BlockIcons.OVERLAYS_ENERGY_OUT[this.mTier]};
}
public ITexture[] getBackActive(byte aColor) {
return new ITexture[]{super.getBackActive(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.GAS_TURBINE_BACK_ACTIVE)};
}
public ITexture[] getBottomActive(byte aColor) {
return new ITexture[]{super.getBottomActive(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.GAS_TURBINE_BOTTOM_ACTIVE)};
}
public ITexture[] getTopActive(byte aColor) {
return new ITexture[]{super.getTopActive(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.GAS_TURBINE_TOP_ACTIVE)};
}
public ITexture[] getSidesActive(byte aColor) {
return new ITexture[]{super.getSidesActive(aColor)[0], new GT_RenderedTexture(Textures.BlockIcons.GAS_TURBINE_SIDE_ACTIVE)};
}
@Override
public int getPollution() {
return (int) (GT_MetaTileEntity_JetTurbine.BASE_POLLUTION * Math.pow(2, mTier - 1));
}
}

View file

@ -103,7 +103,7 @@ public class GT_MetaTileEntity_Cleanroom extends GT_MetaTileEntity_MultiBlockBas
mPlascreteCount++;
} else {
IGregTechTileEntity tTileEntity = aBaseMetaTileEntity.getIGregTechTileEntityOffset(dX, dY, dZ);
if ((!addMaintenanceToMachineList(tTileEntity, 82)) && (!addEnergyInputToMachineList(tTileEntity, 82))) {
if ((!addMaintenanceToMachineList(tTileEntity, 210)) && (!addEnergyInputToMachineList(tTileEntity, 210))) {
if (tBlock instanceof ic2.core.block.BlockIC2Door) {
if ((tMeta & 8) == 0) {
doorState = (Math.abs(dX) > Math.abs(dZ) == ((tMeta & 1) != 0)) != ((tMeta & 4) != 0);

View file

@ -11,6 +11,7 @@ import net.minecraftforge.fluids.FluidRegistry;
import net.minecraftforge.fluids.FluidStack;
import java.util.ArrayList;
import java.lang.Math;
import static gregtech.api.enums.GT_Values.VN;
import static gregtech.common.GT_UndergroundOil.undergroundOil;
@ -114,9 +115,9 @@ public abstract class GT_MetaTileEntity_OilDrillBase extends GT_MetaTileEntity_D
if (mOilFieldChunks.isEmpty()) {
Chunk tChunk = getBaseMetaTileEntity().getWorld().getChunkFromBlockCoords(getBaseMetaTileEntity().getXCoord(), getBaseMetaTileEntity().getZCoord());
int range = getRangeInChunks();
int xChunk = (tChunk.xPosition / range) * range - ((tChunk.xPosition < 0 && tChunk.xPosition % range != 0) ? range : 0);
int zChunk = (tChunk.zPosition / range) * range - ((tChunk.zPosition < 0 && tChunk.zPosition % range != 0) ? range : 0);
int xChunk = Math.floorDiv(tChunk.xPosition,range) * range; //Java was written by idiots. For negative values, / returns rounded towards zero. Fucking morons.
int zChunk = Math.floorDiv(tChunk.zPosition,range) * range; //^ Actually, this is the behaviour of C intentionally (and Ritchie was no 'idiot') but I'm leaving this here to credit the guy who actually wrote the fix.
for (int i = 0; i < range; i++) {
for (int j = 0; j < range; j++) {
tChunk = getBaseMetaTileEntity().getWorld().getChunkFromChunkCoords(xChunk + i, zChunk + j);
@ -127,19 +128,22 @@ public abstract class GT_MetaTileEntity_OilDrillBase extends GT_MetaTileEntity_D
}
}
}
if (mOilFieldChunks.isEmpty()) return false;
return true;
return !mOilFieldChunks.isEmpty();
}
private FluidStack pumpOil(float speed){
if (mOilId <= 0) return null;
FluidStack tFluid, tOil;
tOil = new FluidStack(FluidRegistry.getFluid(mOilId), 0);
ArrayList<Chunk> emptyChunks = new ArrayList<Chunk>();
for (Chunk tChunk : mOilFieldChunks) {
tFluid = undergroundOil(tChunk, speed);
if (tFluid == null) mOilFieldChunks.remove(tChunk);
if (tFluid == null || tFluid.amount<1) emptyChunks.add(tChunk);
if (tOil.isFluidEqual(tFluid)) tOil.amount += tFluid.amount;
}
for( Chunk tChunk : emptyChunks) {
mOilFieldChunks.remove( tChunk );
}
return tOil.amount == 0 ? null : tOil;
}
}

View file

@ -103,6 +103,40 @@ public class GT_MetaTileEntity_PyrolyseOven extends GT_MetaTileEntity_MultiBlock
}
}
}
//TODO: Find out how to make this properly - until then, using an input hatch with the circuit is enough to get fluid-only recipes going.
/*if(tInputList.isEmpty() && !tFluidInputs.isEmpty()){
byte tTier = (byte) Math.max(1, GT_Utility.getTier(getMaxInputVoltage()));
GT_Recipe tRecipe = GT_Recipe.GT_Recipe_Map.sPyrolyseRecipes.findRecipe(getBaseMetaTileEntity(), false, gregtech.api.enums.GT_Values.V[tTier], new FluidStack[] {tFluidInputs.get(0)}, (ItemStack[]) null);
if (tRecipe != null) {
if (tRecipe.isRecipeInputEqual(true, new FluidStack[]{tFluidInputs.get(0)}, (ItemStack[]) null)) {
this.mEfficiency = (10000 - (getIdealStatus() - getRepairStatus()) * 1000);
this.mEfficiencyIncrease = 10000;
this.mEUt = tRecipe.mEUt;
if (tRecipe.mEUt <= 16) {
this.mEUt = (tRecipe.mEUt * (1 << tTier - 1) * (1 << tTier - 1));
this.mMaxProgresstime = (tRecipe.mDuration / (1 << tTier - 1));
} else {
this.mEUt = tRecipe.mEUt;
this.mMaxProgresstime = tRecipe.mDuration;
while (this.mEUt <= gregtech.api.enums.GT_Values.V[(tTier - 1)]) {
this.mEUt *= 4;
this.mMaxProgresstime /= 2;
}
}
if (this.mEUt > 0) {
this.mEUt = (-this.mEUt);
}
this.mMaxProgresstime = mMaxProgresstime * 2 / (1 + coilMetaID);
this.mMaxProgresstime = Math.max(1, this.mMaxProgresstime);
if (tRecipe.mOutputs.length > 0) this.mOutputItems = new ItemStack[]{tRecipe.getOutput(0)};
if (tRecipe.mFluidOutputs.length > 0)
this.mOutputFluids = new FluidStack[]{tRecipe.getFluidOutput(0)};
updateSlots();
return true;
}
}
}*/
return false;
}

View file

@ -44,10 +44,10 @@ public class GT_FuelLoader
GT_Values.RA.addFuel(GT_ModHandler.getModItem("ImmersiveEngineering", "fluidContainers", 1, 7), null, 128, 0);
}
if(Loader.isModLoaded("PneumaticCraft")){
GT_Values.RA.addFuel(GT_ModHandler.getModItem("PneumaticCraft", "pgBucket", 1), null, 512, 1);
//GT_Values.RA.addFuel(GT_ModHandler.getModItem("PneumaticCraft", "pgBucket", 1), null, 512, 1);
GT_Values.RA.addFuel(GT_ModHandler.getModItem("PneumaticCraft", "fuelBucket", 1), null, 400, 0);
GT_Values.RA.addFuel(GT_ModHandler.getModItem("PneumaticCraft", "fuelBucket", 1, 1), null, 400, 0);
GT_Values.RA.addFuel(GT_ModHandler.getModItem("PneumaticCraft", "keroseneBucket", 1), null, 256, 0);
//GT_Values.RA.addFuel(GT_ModHandler.getModItem("PneumaticCraft", "keroseneBucket", 1), null, 256, 0);
GT_Values.RA.addFuel(GT_ModHandler.getModItem("PneumaticCraft", "dieselBucket", 1), null, 200, 0);
}
}

View file

@ -726,10 +726,11 @@ public class GT_MachineRecipeLoader implements Runnable {
GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Electric_Motor_IV.get(1L), GT_OreDictUnificator.get(OrePrefixes.ring, Materials.Silicone, 2), GT_OreDictUnificator.get(OrePrefixes.rotor, Materials.TungstenSteel, 1), GT_OreDictUnificator.get(OrePrefixes.screw, Materials.TungstenSteel, 1), GT_OreDictUnificator.get(OrePrefixes.cableGt01, Materials.Tungsten, 1), GT_OreDictUnificator.get(OrePrefixes.pipeMedium, Materials.TungstenSteel, 1)}, GT_Values.NF, ItemList.Electric_Pump_IV.get(1L), 20, 480);
GT_Values.RA.addAssemblerRecipe(new ItemStack[]{ItemList.Electric_Motor_IV.get(1L), GT_OreDictUnificator.get(OrePrefixes.ring, Materials.StyreneButadieneRubber, 2), GT_OreDictUnificator.get(OrePrefixes.rotor, Materials.TungstenSteel, 1), GT_OreDictUnificator.get(OrePrefixes.screw, Materials.TungstenSteel, 1), GT_OreDictUnificator.get(OrePrefixes.cableGt01, Materials.Tungsten, 1), GT_OreDictUnificator.get(OrePrefixes.pipeMedium, Materials.TungstenSteel, 1)}, GT_Values.NF, ItemList.Electric_Pump_IV.get(1L), 20, 480);
GT_Values.RA.addUniversalDistillationRecipe(Materials.OilLight.getFluid(150), new FluidStack[]{ Materials.SulfuricHeavyFuel.getFluid(10), Materials.SulfuricLightFuel.getFluid(20), Materials.SulfuricNaphtha.getFluid(30), Materials.SulfuricGas.getGas(240)}, null, 20, 96);
GT_Values.RA.addUniversalDistillationRecipe(Materials.OilMedium.getFluid(100), new FluidStack[]{Materials.SulfuricHeavyFuel.getFluid(15), Materials.SulfuricLightFuel.getFluid(50), Materials.SulfuricNaphtha.getFluid(20), Materials.SulfuricGas.getGas(60)}, null, 20, 96);
GT_Values.RA.addUniversalDistillationRecipe(Materials.Oil.getFluid(50L), new FluidStack[]{ Materials.SulfuricHeavyFuel.getFluid(15), Materials.SulfuricLightFuel.getFluid(50), Materials.SulfuricNaphtha.getFluid(20), Materials.SulfuricGas.getGas(60)}, null, 20, 96);
GT_Values.RA.addUniversalDistillationRecipe(Materials.OilHeavy.getFluid(100), new FluidStack[]{ Materials.SulfuricHeavyFuel.getFluid(250), Materials.SulfuricLightFuel.getFluid(45), Materials.SulfuricNaphtha.getFluid(15), Materials.SulfuricGas.getGas(60)}, null, 20, 288);
GT_Values.RA.addUniversalDistillationRecipe(Materials.OilLight.getFluid(150), new FluidStack[]{ Materials.SulfuricResid.getFluid(5), Materials.SulfuricHeavyFuel.getFluid(10), Materials.SulfuricLightFuel.getFluid(20), Materials.SulfuricKerosene.getFluid(30), Materials.SulfuricNaphtha.getFluid(30), Materials.SulfuricGas.getGas(240)}, null, 20, 96);
GT_Values.RA.addUniversalDistillationRecipe(Materials.OilMedium.getFluid(100), new FluidStack[]{Materials.SulfuricResid.getFluid(8), Materials.SulfuricHeavyFuel.getFluid(15), Materials.SulfuricLightFuel.getFluid(50), Materials.SulfuricKerosene.getFluid(25), Materials.SulfuricNaphtha.getFluid(20), Materials.SulfuricGas.getGas(60)}, null, 20, 96);
GT_Values.RA.addUniversalDistillationRecipe(Materials.Oil.getFluid(50L), new FluidStack[]{ Materials.SulfuricResid.getFluid(8), Materials.SulfuricHeavyFuel.getFluid(15), Materials.SulfuricLightFuel.getFluid(50), Materials.SulfuricKerosene.getFluid(25), Materials.SulfuricNaphtha.getFluid(20), Materials.SulfuricGas.getGas(60)}, null, 20, 96);
GT_Values.RA.addUniversalDistillationRecipe(Materials.OilHeavy.getFluid(100), new FluidStack[]{ Materials.SulfuricResid.getFluid(125), Materials.SulfuricHeavyFuel.getFluid(250), Materials.SulfuricLightFuel.getFluid(45), Materials.SulfuricKerosene.getFluid(10), Materials.SulfuricNaphtha.getFluid(15), Materials.SulfuricGas.getGas(60)}, null, 20, 288);
if (GregTech_API.sSpecialFile.get("general", "EnableLagencyOilGalactiCraft", false) && FluidRegistry.getFluid("oilgc") != null) {
GT_Values.RA.addUniversalDistillationRecipe(new FluidStack(FluidRegistry.getFluid("oilgc"), 50), new FluidStack[]{Materials.SulfuricHeavyFuel.getFluid(15), Materials.SulfuricLightFuel.getFluid(50), Materials.SulfuricNaphtha.getFluid(20), Materials.SulfuricGas.getGas(60)}, null, 20, 96);
@ -756,6 +757,14 @@ public class GT_MachineRecipeLoader implements Runnable {
GT_Values.RA.addChemicalRecipe(GT_OreDictUnificator.get(OrePrefixes.cell, Materials.SulfuricLightFuel, 12L), GT_Utility.getIntegratedCircuit(4), Materials.Hydrogen.getGas(1000), Materials.HydricSulfide.getGas(1000), GT_OreDictUnificator.get(OrePrefixes.cell, Materials.LightFuel, 12L), 160);
GT_Values.RA.addChemicalRecipe(GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Hydrogen, 1L), GT_Utility.getIntegratedCircuit(4), Materials.SulfuricHeavyFuel.getFluid(8000), Materials.HeavyFuel.getFluid(8000), GT_OreDictUnificator.get(OrePrefixes.cell, Materials.HydricSulfide, 1L), 160);
GT_Values.RA.addChemicalRecipe(GT_OreDictUnificator.get(OrePrefixes.cell, Materials.SulfuricHeavyFuel, 8L), GT_Utility.getIntegratedCircuit(4), Materials.Hydrogen.getGas(1000), Materials.HydricSulfide.getGas(1000), GT_OreDictUnificator.get(OrePrefixes.cell, Materials.HeavyFuel, 8L), 160);
//new recipes
GT_Values.RA.addChemicalRecipe(GT_OreDictUnificator.get(OrePrefixes.cell, Materials.SulfuricKerosene, 12L), GT_Utility.getIntegratedCircuit(4), Materials.Hydrogen.getGas(1000), Materials.HydricSulfide.getGas(1000), GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Kerosene, 12L), 160);
GT_Values.RA.addChemicalRecipe(GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Hydrogen, 1L), GT_Utility.getIntegratedCircuit(4), Materials.SulfuricKerosene.getFluid(12000), Materials.Kerosene.getFluid(12000), GT_OreDictUnificator.get(OrePrefixes.cell, Materials.HydricSulfide, 1L), 160);
GT_Values.RA.addChemicalRecipe(GT_OreDictUnificator.get(OrePrefixes.cell, Materials.SulfuricResid, 4L), GT_Utility.getIntegratedCircuit(4), Materials.Hydrogen.getGas(1000), Materials.HydricSulfide.getGas(1000), GT_OreDictUnificator.get(OrePrefixes.cell, Materials.ResidualOil, 4L), 160);
GT_Values.RA.addChemicalRecipe(GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Hydrogen, 1L), GT_Utility.getIntegratedCircuit(4), Materials.SulfuricResid.getFluid(4000), Materials.ResidualOil.getFluid(4000), GT_OreDictUnificator.get(OrePrefixes.cell, Materials.HydricSulfide, 1L), 160);
GT_Values.RA.addChemicalRecipe(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Saltpeter, 1L), null, Materials.Naphtha.getFluid(576), Materials.Polycaprolactam.getMolten(1296), GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Potassium, 1), 640);
GT_Values.RA.addWiremillRecipe(GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Polycaprolactam, 1L), new ItemStack(Items.string, 32), 80, 48);
@ -2796,11 +2805,11 @@ public class GT_MachineRecipeLoader implements Runnable {
GT_Values.RA.addChemicalRecipeForBasicMachineOnly(Materials.Chlorine.getCells(1), Materials.Empty.getCells(5), Materials.Ethylene.getGas(5000), GT_Values.NF, Materials.VinylChloride.getCells(6), GT_Values.NI, 240, 30);
GT_Values.RA.addChemicalRecipeForBasicMachineOnly(Materials.Ethylene.getCells(5), Materials.Chlorine.getCells(1), GT_Values.NF, GT_Values.NF, Materials.VinylChloride.getCells(6), GT_Values.NI, 240, 30);
GT_Values.RA.addChemicalRecipe(Materials.LightFuel.getCells(1), GT_Values.NI, Materials.NitricAcid.getFluid(250), Materials.NitroFuel.getFluid(1000), Materials.Empty.getCells(1), 80, 8);
GT_Values.RA.addChemicalRecipe(Materials.Fuel.getCells(2), GT_Values.NI, Materials.NitricAcid.getFluid(250), Materials.NitroFuel.getFluid(1000), Materials.Empty.getCells(2), 80, 8);
//GT_Values.RA.addChemicalRecipe(Materials.LightFuel.getCells(1), GT_Values.NI, Materials.NitricAcid.getFluid(250), Materials.NitroFuel.getFluid(1000), Materials.Empty.getCells(1), 80, 8);
GT_Values.RA.addChemicalRecipe(Materials.Fuel.getCells(1), GT_Values.NI, Materials.NitricAcid.getFluid(250), Materials.NitroFuel.getFluid(1000), Materials.Empty.getCells(1), 80, 8);
GT_Values.RA.addChemicalRecipe(Materials.BioDiesel.getCells(4), GT_Values.NI, Materials.NitricAcid.getFluid(1000), Materials.NitroFuel.getFluid(3000), Materials.Empty.getCells(4), 320, 8);
GT_Values.RA.addChemicalRecipe(Materials.NitricAcid.getCells(1), GT_Values.NI, Materials.LightFuel.getFluid(4000), Materials.NitroFuel.getFluid(4000), Materials.Empty.getCells(1), 320, 8);
GT_Values.RA.addChemicalRecipe(Materials.NitricAcid.getCells(1), GT_Values.NI, Materials.Fuel.getFluid(8000), Materials.NitroFuel.getFluid(4000), Materials.Empty.getCells(1), 320, 8);
//GT_Values.RA.addChemicalRecipe(Materials.NitricAcid.getCells(1), GT_Values.NI, Materials.LightFuel.getFluid(4000), Materials.NitroFuel.getFluid(4000), Materials.Empty.getCells(1), 320, 8);
GT_Values.RA.addChemicalRecipe(Materials.NitricAcid.getCells(1), GT_Values.NI, Materials.Fuel.getFluid(4000), Materials.NitroFuel.getFluid(4000), Materials.Empty.getCells(1), 320, 8);
GT_Values.RA.addChemicalRecipe(Materials.NitricAcid.getCells(1), GT_Values.NI, Materials.BioDiesel.getFluid(4000), Materials.NitroFuel.getFluid(3000), Materials.Empty.getCells(1), 320, 8);
GT_Values.RA.addChemicalRecipe( Materials.Sulfur.getDust(1), GT_Utility.getIntegratedCircuit(1), Materials.Benzene.getFluid(1000), Materials.PolyphenyleneSulfide.getMolten(2000), GT_Values.NI, 320, 30);
@ -3292,6 +3301,9 @@ public class GT_MachineRecipeLoader implements Runnable {
GT_Values.RA.addChemicalRecipe(Materials.Calcite.getDust(5), GT_Utility.getIntegratedCircuit(1), GT_Values.NF, Materials.CarbonDioxide.getGas(3000), Materials.Quicklime.getDust(2), 240);
GT_Values.RA.addChemicalRecipe(Materials.Magnesia.getDust(2), GT_Values.NI, Materials.CarbonDioxide.getGas(3000), GT_Values.NF, Materials.Magnesite.getDust(5), 80);
GT_Values.RA.addChemicalRecipe(Materials.Magnesite.getDust(5), GT_Utility.getIntegratedCircuit(1), GT_Values.NF, Materials.CarbonDioxide.getGas(3000), Materials.Magnesia.getDust(2), 240);
//new recipes
GT_Values.RA.addPyrolyseRecipe(GT_Values.NI, Materials.ResidualOil.getFluid(1000), 1, Materials.PetrolCoke.getGems(1), Materials.CrackedResid.getFluid(500), 600, 64);
}
@ -3427,7 +3439,15 @@ public class GT_MachineRecipeLoader implements Runnable {
new FluidStack[]{Materials.HeavyFuel.getFluid(100), Materials.Naphtha.getFluid(100), Materials.Toluene.getFluid(150), Materials.Benzene.getFluid(300), Materials.Butadiene.getGas(300),
Materials.Propene.getGas(450), Materials.Ethylene.getGas(450), Materials.Methane.getGas(450)},
Materials.Carbon.getDustSmall(1), 120, 120);
GT_Values.RA.addDistillationTowerRecipe(Materials.Kerosene.getSteamCracked(1000),
new FluidStack[] {Materials.Ethylene.getGas(200), Materials.Propene.getGas(100), Materials.Hydrogen.getGas(200), Materials.Methane.getGas(300),
Materials.CarbonMonoxide.getGas(200)},
Materials.Carbon.getDustSmall(1), 120, 120);
GT_Values.RA.addDistillationTowerRecipe(Materials.Kerosene.getHydroCracked(1000),
new FluidStack[] {Materials.JetFuel.getFluid(700), Materials.Methane.getGas(200), Materials.CarbonMonoxide.getGas(100)},
Materials.Carbon.getDustSmall(1), 120, 120);
GT_Values.RA.addDistillationTowerRecipe(Materials.HeavyFuel.getHydroCracked(1000),
new FluidStack[]{Materials.LightFuel.getFluid(800), Materials.Naphtha.getFluid(400), Materials.Butane.getGas(100), Materials.Propane.getGas(100), Materials.Ethane.getGas(75), Materials.Methane.getGas(75)},
@ -3446,6 +3466,15 @@ public class GT_MachineRecipeLoader implements Runnable {
GT_Values.RA.addChemicalRecipe(Materials.Ethanol.getCells(1), Materials.Butene.getCells(1), GT_Values.NF, GT_Values.NF, Materials.AntiKnock.getCells(2), 400, 480);
GT_Values.RA.addMixerRecipe(Materials.Naphtha.getCells(16), Materials.Toluene.getCells(2), Materials.Methanol.getCells(1), (GT_Mod.gregtechproxy.mMoreComplicatedChemicalRecipes ? Materials.Acetone : Materials.AceticAcid).getCells(1), GT_Values.NF, GT_Values.NF, Materials.GasolineRegular.getCells(20), 200, 120);
GT_Values.RA.addMixerRecipe(Materials.GasolineRegular.getCells(20), Materials.AntiKnock.getCells(3), Materials.NitrousOxide.getCells(6), Materials.Toluene.getCells(1), GT_Values.NF, GT_Values.NF, Materials.GasolinePremium.getCells(30), 200, 120);
//JP-8
GT_Values.RA.addMixerRecipe(Materials.JetFuel.getCells(6), Materials.Naphtha.getCells(2), Materials.Ethane.getCells(1), GT_Values.NI, GT_Values.NF, GT_Values.NF, Materials.Jet8.getCells(9), 200, 512);
//Cracked Resid byproducts
GT_Values.RA.addUniversalDistillationRecipe(Materials.CrackedResid.getFluid(100),
new FluidStack[]{Materials.HeavyFuel.getFluid(80), Materials.LightFuel.getFluid(40), Materials.Naphtha.getFluid(20), Materials.Butane.getGas(10), Materials.Gas.getGas(20), Materials.Methane.getGas(30)},
Materials.Bitumen.getGems(1), 240, 120);
}
public void addPotionRecipes(String aName,ItemStack aItem){

View file

@ -429,8 +429,13 @@ public class GT_Loader_Item_Block_And_Fluid
GT_Mod.gregtechproxy.addFluid("liquid_naphtha", "Naphtha", Materials.Naphtha, 1, 295, GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Naphtha, 1L), ItemList.Cell_Empty.get(1L, new Object[0]), 1000);
GT_Mod.gregtechproxy.addFluid("liquid_light_fuel", "Light Fuel", Materials.LightFuel, 1, 295, GT_OreDictUnificator.get(OrePrefixes.cell, Materials.LightFuel, 1L), ItemList.Cell_Empty.get(1L, new Object[0]), 1000);
GT_Mod.gregtechproxy.addFluid("liquid_heavy_fuel", "Heavy Fuel", Materials.HeavyFuel, 1, 295, GT_OreDictUnificator.get(OrePrefixes.cell, Materials.HeavyFuel, 1L), ItemList.Cell_Empty.get(1L, new Object[0]), 1000);
GT_Mod.gregtechproxy.addFluid("liquid_lpg", "LPG", Materials.LPG, 1, 295, GT_OreDictUnificator.get(OrePrefixes.cell, Materials.LPG, 1L), ItemList.Cell_Empty.get(1L, new Object[0]), 1000);
GT_Mod.gregtechproxy.addFluid("lpg", "LPG", Materials.LPG, 1, 295, GT_OreDictUnificator.get(OrePrefixes.cell, Materials.LPG, 1L), ItemList.Cell_Empty.get(1L, new Object[0]), 1000);
GT_Mod.gregtechproxy.addFluid("liquid_sulfurickerosene", "Sulfuric Kerosene", Materials.SulfuricKerosene, 1, 295, GT_OreDictUnificator.get(OrePrefixes.cell, Materials.SulfuricKerosene, 1L), ItemList.Cell_Empty.get(1L, new Object[0]), 1000);
GT_Mod.gregtechproxy.addFluid("kerosene", "Kerosene", Materials.Kerosene, 1, 295, GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Kerosene, 1L), ItemList.Cell_Empty.get(1L, new Object[0]), 1000);
GT_Mod.gregtechproxy.addFluid("liquid_sulfuricresid", "Sulfuric Residual Oil", Materials.SulfuricResid, 1, 295, GT_OreDictUnificator.get(OrePrefixes.cell, Materials.SulfuricResid, 1L), ItemList.Cell_Empty.get(1L, new Object[0]), 1000);
GT_Mod.gregtechproxy.addFluid("liquid_residualoil", "Residual Oil", Materials.ResidualOil, 1, 295, GT_OreDictUnificator.get(OrePrefixes.cell, Materials.ResidualOil, 1L), ItemList.Cell_Empty.get(1L, new Object[0]), 1000);
GT_Mod.gregtechproxy.addFluid("liquid_crackedresid", "Cracked Residual Oil", Materials.CrackedResid, 1, 295, GT_OreDictUnificator.get(OrePrefixes.cell, Materials.CrackedResid, 1L), ItemList.Cell_Empty.get(1L, new Object[0]), 1000);
GT_Mod.gregtechproxy.addFluid("charcoal_byproducts", "molten.autogenerated", "Charcoal Byproducts", Materials.CharcoalByproducts, Materials.CharcoalByproducts.mRGBa, 2, 775, GT_OreDictUnificator.get(OrePrefixes.cell, Materials.CharcoalByproducts, 1L), ItemList.Cell_Empty.get(1L, new Object[0]), 1000);
GT_Mod.gregtechproxy.addFluid("molten.bisphenol_a", "molten.autogenerated", "Molten Bisphenol A", Materials.BisphenolA, Materials.BisphenolA.mRGBa, 1, 432, GT_OreDictUnificator.get(OrePrefixes.cell, Materials.BisphenolA, 1L), ItemList.Cell_Empty.get(1L, new Object[0]), 1000);

View file

@ -1143,6 +1143,17 @@ public class GT_Loader_MetaTileEntities implements Runnable {
GT_ModHandler.addCraftingRecipe(ItemList.Generator_Gas_Turbine_LV.get(1L, new Object[0]), bitsd, new Object[]{"CRC", "RMR", aTextMotorWire, 'M', ItemList.Hull_LV, 'E', ItemList.Electric_Motor_LV, 'R', OrePrefixes.rotor.get(Materials.Tin), 'C', OrePrefixes.circuit.get(Materials.Basic), 'W', OrePrefixes.cableGt01.get(Materials.Tin)});
GT_ModHandler.addCraftingRecipe(ItemList.Generator_Gas_Turbine_MV.get(1L, new Object[0]), bitsd, new Object[]{"CRC", "RMR", aTextMotorWire, 'M', ItemList.Hull_MV, 'E', ItemList.Electric_Motor_MV, 'R', OrePrefixes.rotor.get(Materials.Bronze), 'C', OrePrefixes.circuit.get(Materials.Good), 'W', OrePrefixes.cableGt01.get(Materials.Copper)});
GT_ModHandler.addCraftingRecipe(ItemList.Generator_Gas_Turbine_HV.get(1L, new Object[0]), bitsd, new Object[]{"CRC", "RMR", aTextMotorWire, 'M', ItemList.Hull_HV, 'E', ItemList.Electric_Motor_HV, 'R', OrePrefixes.rotor.get(Materials.Steel), 'C', OrePrefixes.circuit.get(Materials.Advanced), 'W', OrePrefixes.cableGt01.get(Materials.Gold)});
ItemList.Generator_Jet_Turbine_MV.set(new GT_MetaTileEntity_JetTurbine(1254, "basicgenerator.jetturbine.tier.02", "Advanced Jet Turbine", 2).getStackForm(1L));
ItemList.Generator_Jet_Turbine_HV.set(new GT_MetaTileEntity_JetTurbine(1255, "basicgenerator.jetturbine.tier.03", "Modern Jet Turbine", 3).getStackForm(1L));
ItemList.Generator_Jet_Turbine_EV.set(new GT_MetaTileEntity_JetTurbine(1256, "basicgenerator.jetturbine.tier.04", "Improved Jet Turbine", 4).getStackForm(1L));
//ItemList.Generator_Jet_Turbine_IV.set(new GT_MetaTileEntity_JetTurbine(1257, "basicgenerator.jetturbine.tier.05", "Hi-Bypass Jet Turbine", 5).getStackForm(1L));
GT_ModHandler.addCraftingRecipe(ItemList.Generator_Jet_Turbine_MV.get(1L, new Object[0]), bitsd, new Object[]{"CRC", "RMR", aTextMotorWire, 'M', ItemList.Hull_MV, 'E', ItemList.Electric_Motor_MV, 'R', OrePrefixes.rotor.get(Materials.Steel), 'C', OrePrefixes.circuit.get(Materials.Good), 'W', OrePrefixes.cableGt01.get(Materials.Copper)});
GT_ModHandler.addCraftingRecipe(ItemList.Generator_Jet_Turbine_HV.get(1L, new Object[0]), bitsd, new Object[]{"CRC", "RMR", aTextMotorWire, 'M', ItemList.Hull_HV, 'E', ItemList.Electric_Motor_HV, 'R', OrePrefixes.rotor.get(Materials.StainlessSteel), 'C', OrePrefixes.circuit.get(Materials.Advanced), 'W', OrePrefixes.cableGt01.get(Materials.Gold)});
GT_ModHandler.addCraftingRecipe(ItemList.Generator_Jet_Turbine_EV.get(1L, new Object[0]), bitsd, new Object[]{"CRC", "RMR", aTextMotorWire, 'M', ItemList.Hull_EV, 'E', ItemList.Electric_Motor_EV, 'R', OrePrefixes.rotor.get(Materials.Titanium), 'C', OrePrefixes.circuit.get(Materials.Data), 'W', OrePrefixes.cableGt01.get(Materials.Aluminium)});
//GT_ModHandler.addCraftingRecipe(ItemList.Generator_Jet_Turbine_IV.get(1L, new Object[0]), bitsd, new Object[]{"CRC", "RMR", aTextMotorWire, 'M', ItemList.Hull_IV, 'E', ItemList.Electric_Motor_IV, 'R', OrePrefixes.rotor.get(Materials.TungstenSteel), 'C', OrePrefixes.circuit.get(Materials.Elite), 'W', OrePrefixes.cableGt01.get(Materials.Platinum)});
ItemList.Generator_Steam_Turbine_LV.set(new GT_MetaTileEntity_SteamTurbine(1120, "basicgenerator.steamturbine.tier.01", "Basic Steam Turbine", 1).getStackForm(1L));
ItemList.Generator_Steam_Turbine_MV.set(new GT_MetaTileEntity_SteamTurbine(1121, "basicgenerator.steamturbine.tier.02", "Advanced Steam Turbine", 2).getStackForm(1L));

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

View file

@ -0,0 +1,5 @@
{
"animation":{
"frametime":2
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.7 KiB

View file

@ -0,0 +1,5 @@
{
"animation":{
"frametime":2
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.7 KiB

View file

@ -0,0 +1,5 @@
{
"animation":{
"frametime":2
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

View file

@ -0,0 +1,5 @@
{
"animation":{
"frametime":2
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.7 KiB

View file

@ -0,0 +1,5 @@
{
"animation":{
"frametime":2
}
}