aboutsummaryrefslogtreecommitdiff
path: root/main
diff options
context:
space:
mode:
Diffstat (limited to 'main')
-rw-r--r--main/java/gregtech/api/enums/Element.java2
-rw-r--r--main/java/gregtech/api/enums/ItemList.java4
-rw-r--r--main/java/gregtech/api/enums/Materials.java8
-rw-r--r--main/java/gregtech/api/items/GT_MetaGenerated_Tool.java2
-rw-r--r--main/java/gregtech/api/items/GT_RadioactiveCellIC_Item.java1
-rw-r--r--main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_MultiBlockBase.java11
-rw-r--r--main/java/gregtech/common/covers/GT_Cover_PlayerDetector.java120
-rw-r--r--main/java/gregtech/common/items/GT_MetaGenerated_Item_01.java8
-rw-r--r--main/java/gregtech/common/tileentities/generators/GT_MetaTileEntity_MagicalEnergyAbsorber.java97
-rw-r--r--main/java/gregtech/common/tileentities/generators/GT_MetaTileEntity_PlasmaGenerator.java2
-rw-r--r--main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_FusionComputer.java3
-rw-r--r--main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_HeatExchanger.java257
-rw-r--r--main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeBoiler_Titanium.java8
-rw-r--r--main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeTurbine.java75
-rw-r--r--main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeTurbine_Gas.java92
-rw-r--r--main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeTurbine_HPSteam.java89
-rw-r--r--main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeTurbine_Plasma.java93
-rw-r--r--main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeTurbine_Steam.java89
-rw-r--r--main/java/gregtech/loaders/load/GT_FuelLoader.java2
-rw-r--r--main/java/gregtech/loaders/misc/GT_Achievements.java24
-rw-r--r--main/java/gregtech/loaders/postload/GT_MachineRecipeLoader.java36
-rw-r--r--main/java/gregtech/loaders/preload/GT_Loader_Item_Block_And_Fluid.java4
-rw-r--r--main/java/gregtech/loaders/preload/GT_Loader_MetaTileEntities.java25
-rw-r--r--main/resources/assets/gregtech/textures/blocks/fluids/fluid.fluorine.pngbin0 -> 12997 bytes
-rw-r--r--main/resources/assets/gregtech/textures/blocks/fluids/fluid.fluorine.png.mcmeta5
-rw-r--r--main/resources/assets/gregtech/textures/items/gt.metaitem.01/531/Thumbs.dbbin3072 -> 3072 bytes
-rw-r--r--main/resources/assets/gregtech/textures/items/gt.metaitem.01/735.pngbin0 -> 290 bytes
27 files changed, 943 insertions, 114 deletions
diff --git a/main/java/gregtech/api/enums/Element.java b/main/java/gregtech/api/enums/Element.java
index 8e56ccaa37..b9ff795320 100644
--- a/main/java/gregtech/api/enums/Element.java
+++ b/main/java/gregtech/api/enums/Element.java
@@ -261,7 +261,7 @@ public enum Element {
$Uuo (-118,-176, 0, -1, null , "Anti-Ununoctium" , false),
$Ma ( 0, 0,-100, -1, null , "Anti-Magic" , false),
- $Nt (0,-100000, 0, -1, null , "Anti-Neutronium" , false);
+ $Nt (0, -10000, 0, -1, null , "Anti-Neutronium" , false);
public static Element get(String aMaterialName) {
Object tObject = GT_Utility.getFieldContent(Element.class, aMaterialName, false, false);
diff --git a/main/java/gregtech/api/enums/ItemList.java b/main/java/gregtech/api/enums/ItemList.java
index 1bb7c9ec6a..2085071249 100644
--- a/main/java/gregtech/api/enums/ItemList.java
+++ b/main/java/gregtech/api/enums/ItemList.java
@@ -646,13 +646,13 @@ public enum ItemList implements IItemContainer {
ZPM2, Quantum_Tank_LV,Quantum_Tank_MV,Quantum_Tank_HV,Quantum_Tank_EV,Quantum_Tank_IV, Quantum_Chest_LV, Quantum_Chest_MV, Quantum_Chest_HV, Quantum_Chest_EV, Quantum_Chest_IV,
NULL, Cover_RedstoneTransmitterExternal,Cover_RedstoneTransmitterInternal,Cover_RedstoneReceiverExternal,Cover_RedstoneReceiverInternal,
- LargeTurbine,
+ LargeSteamTurbine,
Ingot_Heavy1,Ingot_Heavy2,Ingot_Heavy3,
Pump_LV, Pump_MV, Pump_HV, Pump_EV, Pump_IV,
Teleporter,
Cover_NeedsMaintainance,
Casing_Turbine,
- MobRep_LV,MobRep_MV,MobRep_HV,MobRep_EV,MobRep_IV;
+ MobRep_LV,MobRep_MV,MobRep_HV,MobRep_EV,MobRep_IV, LargeGasTurbine, LargeHPSteamTurbine, LargePlasmaTurbine, Cover_PlayerDetector, Machine_Multi_HeatExchanger;
public static final ItemList[]
DYE_ONLY_ITEMS = {Color_00, Color_01, Color_02, Color_03, Color_04, Color_05, Color_06, Color_07, Color_08, Color_09, Color_10, Color_11, Color_12, Color_13, Color_14, Color_15}
diff --git a/main/java/gregtech/api/enums/Materials.java b/main/java/gregtech/api/enums/Materials.java
index 4c7057ee9d..c69392ca61 100644
--- a/main/java/gregtech/api/enums/Materials.java
+++ b/main/java/gregtech/api/enums/Materials.java
@@ -47,7 +47,7 @@ public enum Materials implements IColorModulationContainer, ISubTagContainer {
Boron ( 9, TextureSet.SET_DULL , 1.0F, 0, 2, 1 |8 |32 , 250, 250, 250, 0, "Boron" , 0, 0, 2349, 0, F, F, 1, 1, 1, Dyes.dyeWhite , Element.B , Arrays.asList(new TC_AspectStack(TC_Aspects.VITREUS, 3))),
Caesium ( 62, TextureSet.SET_METALLIC , 1.0F, 0, 2, 1|2 |8 |32 , 255, 255, 255, 0, "Caesium" , 0, 0, 301, 0, F, F, 4, 1, 1, Dyes._NULL , Element.Cs , Arrays.asList(new TC_AspectStack(TC_Aspects.METALLUM, 2), new TC_AspectStack(TC_Aspects.RADIO, 1))),
Calcium ( 26, TextureSet.SET_METALLIC , 1.0F, 0, 2, 1 |32 , 255, 245, 245, 0, "Calcium" , 0, 0, 1115, 0, F, F, 4, 1, 1, Dyes.dyePink , Element.Ca , Arrays.asList(new TC_AspectStack(TC_Aspects.SANO, 1), new TC_AspectStack(TC_Aspects.TUTAMEN, 1))),
- Carbon ( 10, TextureSet.SET_DULL , 1.0F, 64, 2, 1 |32|64|128 , 20, 20, 20, 0, "Carbon" , 0, 0, 3800, 0, F, F, 2, 1, 1, Dyes.dyeBlack , Element.C , Arrays.asList(new TC_AspectStack(TC_Aspects.VITREUS, 1), new TC_AspectStack(TC_Aspects.IGNIS, 1))),
+ Carbon ( 10, TextureSet.SET_DULL , 1.0F, 64, 2, 1|2 |32|64|128 , 20, 20, 20, 0, "Carbon" , 0, 0, 3800, 0, F, F, 2, 1, 1, Dyes.dyeBlack , Element.C , Arrays.asList(new TC_AspectStack(TC_Aspects.VITREUS, 1), new TC_AspectStack(TC_Aspects.IGNIS, 1))),
Cadmium ( 55, TextureSet.SET_SHINY , 1.0F, 0, 2, 1 |8 |32 , 50, 50, 60, 0, "Cadmium" , 0, 0, 594, 0, F, F, 3, 1, 1, Dyes.dyeGray , Element.Cd , Arrays.asList(new TC_AspectStack(TC_Aspects.METALLUM, 1), new TC_AspectStack(TC_Aspects.POTENTIA, 1), new TC_AspectStack(TC_Aspects.VENENUM, 1))),
Cerium ( 65, TextureSet.SET_METALLIC , 1.0F, 0, 2, 1|2 |8 |32 , 255, 255, 255, 0, "Cerium" , 0, 0, 1068, 1068, T, F, 4, 1, 1, Dyes._NULL , Element.Ce , Arrays.asList(new TC_AspectStack(TC_Aspects.METALLUM, 2), new TC_AspectStack(TC_Aspects.RADIO, 1))),
Chlorine ( 23, TextureSet.SET_FLUID , 1.0F, 0, 2, 16|32 , 255, 255, 255, 0, "Chlorine" , 0, 0, 171, 0, F, F, 2, 1, 1, Dyes.dyeCyan , Element.Cl , Arrays.asList(new TC_AspectStack(TC_Aspects.AQUA, 2), new TC_AspectStack(TC_Aspects.PANNUS, 1))),
@@ -72,7 +72,7 @@ public enum Materials implements IColorModulationContainer, ISubTagContainer {
Iron ( 32, TextureSet.SET_METALLIC , 6.0F, 256, 2, 1|2 |8 |32|64|128 , 200, 200, 200, 0, "Iron" , 0, 0, 1811, 0, F, F, 3, 1, 1, Dyes.dyeLightGray , Element.Fe , Arrays.asList(new TC_AspectStack(TC_Aspects.METALLUM, 3))),
Lanthanum ( 64, TextureSet.SET_METALLIC , 1.0F, 0, 2, 1|2 |8 |32 , 255, 255, 255, 0, "Lanthanum" , 0, 0, 1193, 1193, T, F, 4, 1, 1, Dyes._NULL , Element.La , Arrays.asList(new TC_AspectStack(TC_Aspects.METALLUM, 2), new TC_AspectStack(TC_Aspects.RADIO, 1))),
Lead ( 89, TextureSet.SET_DULL , 8.0F, 64, 1, 1|2 |8 |32|64|128 , 140, 100, 140, 0, "Lead" , 0, 0, 600, 0, F, F, 3, 1, 1, Dyes.dyePurple , Element.Pb , Arrays.asList(new TC_AspectStack(TC_Aspects.METALLUM, 2), new TC_AspectStack(TC_Aspects.ORDO, 1))),
- Lithium ( 6, TextureSet.SET_DULL , 1.0F, 0, 2, 1 |8 |32 , 225, 220, 255, 0, "Lithium" , 0, 0, 454, 0, F, F, 4, 1, 1, Dyes.dyeLightBlue , Element.Li , Arrays.asList(new TC_AspectStack(TC_Aspects.VITREUS, 1), new TC_AspectStack(TC_Aspects.POTENTIA, 2))),
+ Lithium ( 6, TextureSet.SET_DULL , 1.0F, 0, 2, 1|2 |8 |32 , 225, 220, 255, 0, "Lithium" , 0, 0, 454, 0, F, F, 4, 1, 1, Dyes.dyeLightBlue , Element.Li , Arrays.asList(new TC_AspectStack(TC_Aspects.VITREUS, 1), new TC_AspectStack(TC_Aspects.POTENTIA, 2))),
Lutetium ( 78, TextureSet.SET_METALLIC , 1.0F, 0, 2, 1|2 |8 |32 , 255, 255, 255, 0, "Lutetium" , 0, 0, 1925, 1925, T, F, 4, 1, 1, Dyes._NULL , Element.Lu , Arrays.asList(new TC_AspectStack(TC_Aspects.METALLUM, 2), new TC_AspectStack(TC_Aspects.RADIO, 1))),
Magic (-128, TextureSet.SET_SHINY , 8.0F, 5120, 5, 1|2|4|8|16|32|64|128 , 100, 0, 200, 0, "Magic" , 5, 32, 5000, 0, F, F, 7, 1, 1, Dyes.dyePurple , Element.Ma , Arrays.asList(new TC_AspectStack(TC_Aspects.PRAECANTIO, 4))),
Magnesium ( 18, TextureSet.SET_METALLIC , 1.0F, 0, 2, 1|2 |8 |32 , 255, 200, 200, 0, "Magnesium" , 0, 0, 923, 0, F, F, 3, 1, 1, Dyes.dyePink , Element.Mg , Arrays.asList(new TC_AspectStack(TC_Aspects.METALLUM, 2), new TC_AspectStack(TC_Aspects.SANO, 1))),
@@ -91,7 +91,7 @@ public enum Materials implements IColorModulationContainer, ISubTagContainer {
Platinum ( 85, TextureSet.SET_SHINY , 12.0F, 64, 2, 1|2 |8 |32|64|128 , 255, 255, 200, 0, "Platinum" , 0, 0, 2041, 0, F, F, 6, 1, 1, Dyes.dyeOrange , Element.Pt , Arrays.asList(new TC_AspectStack(TC_Aspects.METALLUM, 2), new TC_AspectStack(TC_Aspects.NEBRISUM, 1))),
Plutonium ( 100, TextureSet.SET_METALLIC , 6.0F, 512, 3, 1|2 |8 |32|64 , 240, 50, 50, 0, "Plutonium 244" , 0, 0, 912, 0, F, F, 6, 1, 1, Dyes.dyeLime , Element.Pu , Arrays.asList(new TC_AspectStack(TC_Aspects.METALLUM, 2), new TC_AspectStack(TC_Aspects.RADIO, 2))),
Plutonium241 ( 101, TextureSet.SET_SHINY , 6.0F, 512, 3, 1|2 |8 |32|64 , 250, 70, 70, 0, "Plutonium 241" , 0, 0, 912, 0, F, F, 6, 1, 1, Dyes.dyeLime , Element.Pu_241 , Arrays.asList(new TC_AspectStack(TC_Aspects.METALLUM, 2), new TC_AspectStack(TC_Aspects.RADIO, 3))),
- Potassium ( 25, TextureSet.SET_METALLIC , 1.0F, 0, 1, 1 |32 , 250, 250, 250, 0, "Potassium" , 0, 0, 336, 0, F, F, 2, 1, 1, Dyes.dyeWhite , Element.K , Arrays.asList(new TC_AspectStack(TC_Aspects.VITREUS, 1), new TC_AspectStack(TC_Aspects.POTENTIA, 1))),
+ Potassium ( 25, TextureSet.SET_METALLIC , 1.0F, 0, 1, 1|2 |32 , 250, 250, 250, 0, "Potassium" , 0, 0, 336, 0, F, F, 2, 1, 1, Dyes.dyeWhite , Element.K , Arrays.asList(new TC_AspectStack(TC_Aspects.VITREUS, 1), new TC_AspectStack(TC_Aspects.POTENTIA, 1))),
Praseodymium ( 66, TextureSet.SET_METALLIC , 1.0F, 0, 2, 1|2 |8 |32 , 255, 255, 255, 0, "Praseodymium" , 0, 0, 1208, 1208, T, F, 4, 1, 1, Dyes._NULL , Element.Pr , Arrays.asList(new TC_AspectStack(TC_Aspects.METALLUM, 2), new TC_AspectStack(TC_Aspects.RADIO, 1))),
Promethium ( 68, TextureSet.SET_METALLIC , 1.0F, 0, 2, 1|2 |8 |32 , 255, 255, 255, 0, "Promethium" , 0, 0, 1315, 1315, T, F, 4, 1, 1, Dyes._NULL , Element.Pm , Arrays.asList(new TC_AspectStack(TC_Aspects.METALLUM, 2), new TC_AspectStack(TC_Aspects.RADIO, 1))),
Radon ( 93, TextureSet.SET_FLUID , 1.0F, 0, 2, 16|32 , 255, 0, 255, 240, "Radon" , 0, 0, 202, 0, F, T, 5, 1, 1, Dyes.dyePurple , Element.Rn , Arrays.asList(new TC_AspectStack(TC_Aspects.AER, 1), new TC_AspectStack(TC_Aspects.RADIO, 1))),
@@ -169,7 +169,7 @@ public enum Materials implements IColorModulationContainer, ISubTagContainer {
Endium ( -1, TextureSet.SET_NONE , 1.0F, 0, 2, 1 , 255, 255, 255, 0, "Endium" , 0, 0, -1, 0, F, F, 3, 1, 1, Dyes._NULL ),
Prismarine ( -1, TextureSet.SET_NONE , 1.0F, 0, 2, 1 |4 , 255, 255, 255, 0, "Prismarine" , 0, 0, -1, 0, F, F, 3, 1, 1, Dyes._NULL ),
GraveyardDirt ( -1, TextureSet.SET_NONE , 1.0F, 0, 2, 1 , 255, 255, 255, 0, "Graveyard Dirt" , 0, 0, -1, 0, F, F, 3, 1, 1, Dyes._NULL ),
- DarkSteel ( -1, TextureSet.SET_NONE , 1.0F, 0, 2, 1|2 , 255, 255, 255, 0, "Dark Steel" , 0, 0, 1811, 0, F, F, 3, 1, 1, Dyes._NULL ),
+ DarkSteel ( 364, TextureSet.SET_DULL , 8.0F, 512, 3, 1|2 |8 |64 , 80, 70, 80, 0, "Dark Steel" , 0, 0, 1811, 0, F, F, 5, 1, 1, Dyes.dyePurple ),
Terrasteel ( -1, TextureSet.SET_NONE , 1.0F, 0, 2, 1|2 , 255, 255, 255, 0, "Terrasteel" , 0, 0, -1, 0, F, F, 3, 1, 1, Dyes._NULL ),
TerrasteelAlloyRaw ( -1, TextureSet.SET_NONE , 1.0F, 0, 2, 1|2 , 255, 255, 255, 0, "Raw Terrasteel Alloy" , 0, 0, -1, 0, F, F, 3, 1, 1, Dyes._NULL ),
TerrasteelAlloyStrengthened ( -1, TextureSet.SET_NONE , 1.0F, 0, 2, 1|2 , 255, 255, 255, 0, "Strengthened Terrasteel Alloy" , 0, 0, -1, 0, F, F, 3, 1, 1, Dyes._NULL ),
diff --git a/main/java/gregtech/api/items/GT_MetaGenerated_Tool.java b/main/java/gregtech/api/items/GT_MetaGenerated_Tool.java
index d4e13ad232..b574d90f63 100644
--- a/main/java/gregtech/api/items/GT_MetaGenerated_Tool.java
+++ b/main/java/gregtech/api/items/GT_MetaGenerated_Tool.java
@@ -244,7 +244,7 @@ public abstract class GT_MetaGenerated_Tool extends GT_MetaBase_Item implements
aList.add(tOffset + 0, EnumChatFormatting.WHITE + "Durability: " + EnumChatFormatting.GREEN + (tMaxDamage - getToolDamage(aStack)) + " / " + tMaxDamage + EnumChatFormatting.GRAY);
aList.add(tOffset + 1, EnumChatFormatting.WHITE + tMaterial.mDefaultLocalName + EnumChatFormatting.YELLOW + " lvl " + getHarvestLevel(aStack, "") + EnumChatFormatting.GRAY);
aList.add(tOffset + 2, EnumChatFormatting.WHITE + "Turbine Efficency: " + EnumChatFormatting.BLUE + (50.0F+(10.0F*getToolCombatDamage(aStack))) + EnumChatFormatting.GRAY);
- aList.add(tOffset + 3, EnumChatFormatting.WHITE + "Optimal Steam flow: " + EnumChatFormatting.LIGHT_PURPLE + Math.max(Float.MIN_NORMAL, tStats.getSpeedMultiplier() * getPrimaryMaterial(aStack).mToolSpeed*20) + EnumChatFormatting.GRAY+ "L/sec");
+ aList.add(tOffset + 3, EnumChatFormatting.WHITE + "Optimal Steam flow: " + EnumChatFormatting.LIGHT_PURPLE + Math.max(Float.MIN_NORMAL, tStats.getSpeedMultiplier() * getPrimaryMaterial(aStack).mToolSpeed*1000) + EnumChatFormatting.GRAY+ "L/sec");
}else{
aList.add(tOffset + 0, EnumChatFormatting.WHITE + "Durability: " + EnumChatFormatting.GREEN + (tMaxDamage - getToolDamage(aStack)) + " / " + tMaxDamage + EnumChatFormatting.GRAY);
diff --git a/main/java/gregtech/api/items/GT_RadioactiveCellIC_Item.java b/main/java/gregtech/api/items/GT_RadioactiveCellIC_Item.java
index 48232b88f0..cee5bb5689 100644
--- a/main/java/gregtech/api/items/GT_RadioactiveCellIC_Item.java
+++ b/main/java/gregtech/api/items/GT_RadioactiveCellIC_Item.java
@@ -78,6 +78,7 @@ import net.minecraft.world.World;
checkHeatAcceptor(reactor, x, y + 1, heatAcceptors);
while ((heatAcceptors.size() > 0) && (heat > 0))
{
+ heat *=sEnergy;
int dheat = heat / heatAcceptors.size();
heat -= dheat;
dheat = ((IReactorComponent)((ItemStackCoord)heatAcceptors.get(0)).stack.getItem()).alterHeat(reactor, ((ItemStackCoord)heatAcceptors.get(0)).stack, ((ItemStackCoord)heatAcceptors.get(0)).x, ((ItemStackCoord)heatAcceptors.get(0)).y, dheat);
diff --git a/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_MultiBlockBase.java b/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_MultiBlockBase.java
index 2bcb4ec154..a89db1ceda 100644
--- a/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_MultiBlockBase.java
+++ b/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_MultiBlockBase.java
@@ -197,7 +197,6 @@ public abstract class GT_MetaTileEntity_MultiBlockBase extends MetaTileEntity {
mEfficiencyIncrease = 0;
if (aBaseMetaTileEntity.isAllowedToWork()) checkRecipe(mInventory[1]);
if(mOutputFluids!=null&&mOutputFluids.length>0){
- GT_Mod.instance.achievements.issueAchivementHatchFluid(aBaseMetaTileEntity.getWorld().getPlayerEntityByName(aBaseMetaTileEntity.getOwnerName()), mOutputFluids[0]);
if(mOutputFluids.length>1){GT_Mod.instance.achievements.issueAchievement(aBaseMetaTileEntity.getWorld().getPlayerEntityByName(aBaseMetaTileEntity.getOwnerName()), "oilplant");}
}
}
@@ -337,16 +336,8 @@ public abstract class GT_MetaTileEntity_MultiBlockBase extends MetaTileEntity {
}
if (mInventory[1] != null && getBaseMetaTileEntity().getRandomNumber(2) == 0 &&!mInventory[1].getUnlocalizedName().startsWith("gt.blockmachines.basicmachine.")) {
if(mInventory[1].getItem() instanceof GT_MetaGenerated_Tool_01){
+ ((GT_MetaGenerated_Tool)mInventory[1].getItem()).doDamage(mInventory[1], mEUt/5);
}
-// mInventory[1].setItemDamage(mInventory[1].getItemDamage() + getDamageToComponent(mInventory[1]));
-// if (mInventory[1].getItemDamage() >= mInventory[1].getMaxDamage()) {
-// if (explodesOnComponentBreak(mInventory[1])) {
-// explodeMultiblock();
-// } else {
-// mInventory[1] = null;
-// }
-// return false;
-// }
}
}
return true;
diff --git a/main/java/gregtech/common/covers/GT_Cover_PlayerDetector.java b/main/java/gregtech/common/covers/GT_Cover_PlayerDetector.java
new file mode 100644
index 0000000000..20fbf385f8
--- /dev/null
+++ b/main/java/gregtech/common/covers/GT_Cover_PlayerDetector.java
@@ -0,0 +1,120 @@
+package gregtech.common.covers;
+
+import net.minecraft.entity.EntityLivingBase;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.entity.player.EntityPlayerMP;
+import net.minecraftforge.fluids.Fluid;
+import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
+import gregtech.api.interfaces.tileentity.ICoverable;
+import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
+import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicTank;
+import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_MultiBlockBase;
+import gregtech.api.util.GT_CoverBehavior;
+import gregtech.api.util.GT_Utility;
+
+public class GT_Cover_PlayerDetector extends GT_CoverBehavior{
+
+ private String placer = "";
+ private int range = 8;
+
+ public int doCoverThings(byte aSide, byte aInputRedstone, int aCoverID, int aCoverVariable, ICoverable aTileEntity, long aTimer)
+ {
+ boolean playerDetected = false;
+
+ if(aTileEntity instanceof IGregTechTileEntity){
+ if(aTileEntity.isUniversalEnergyStored(20)){
+ aTileEntity.decreaseStoredEnergyUnits(20, true);
+ range = 32;
+ }else{range = 8;}
+ placer = ((IGregTechTileEntity) aTileEntity).getOwnerName();
+ }
+ for (Object tObject : aTileEntity.getWorld().playerEntities) {
+ if ((tObject instanceof EntityPlayerMP))
+ {
+ EntityPlayerMP tEntity = (EntityPlayerMP)tObject;
+ int dist = Math.max(1, (int)tEntity.getDistance(aTileEntity.getXCoord() + 0.5D, aTileEntity.getYCoord() + 0.5D, aTileEntity.getZCoord() + 0.5D));
+ if (dist < range)
+ {
+ if (aCoverVariable == 0)
+ {
+ playerDetected=true;
+ break;
+ }
+ if (tEntity.getDisplayName().equalsIgnoreCase(placer))
+ {
+ if (aCoverVariable == 1)
+ {
+ playerDetected=true;
+ break;
+ }
+ }
+ else if (aCoverVariable == 2)
+ {
+ playerDetected=true;
+ break;
+ }
+ }
+ }
+ }
+
+
+ aTileEntity.setOutputRedstoneSignal(aSide, (byte)(playerDetected ? 15 : 0));
+ return aCoverVariable;
+ }
+
+ public int onCoverScrewdriverclick(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity, EntityPlayer aPlayer, float aX, float aY, float aZ)
+ /* 64: */ {
+ /* 65: 54 */ aCoverVariable = (aCoverVariable + 1) % 3;
+ /* 66: 55 */ if (aCoverVariable == 0) {
+ /* 67: 55 */ GT_Utility.sendChatToPlayer(aPlayer, "Emit if any Player is close");
+ /* 68: */ }
+ /* 69: 56 */ if (aCoverVariable == 1) {
+ /* 70: 56 */ GT_Utility.sendChatToPlayer(aPlayer, "Emit if you are close");
+ /* 71: */ }
+ /* 72: 57 */ if (aCoverVariable == 2) {
+ /* 73: 57 */ GT_Utility.sendChatToPlayer(aPlayer, "Emit if other player is close");
+ /* 74: */ }
+ /* 96: 65 */ return aCoverVariable;
+ /* 97: */ }
+ /* 98: */
+ /* 99: */ public boolean letsEnergyIn(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity)
+ /* 100: */ {
+ /* 101: 70 */ return true;
+ /* 102: */ }
+ /* 103: */
+ /* 104: */ public boolean letsEnergyOut(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity)
+ /* 105: */ {
+ /* 106: 75 */ return true;
+ /* 107: */ }
+ /* 108: */
+ /* 109: */ public boolean letsFluidIn(byte aSide, int aCoverID, int aCoverVariable, Fluid aFluid, ICoverable aTileEntity)
+ /* 110: */ {
+ /* 111: 80 */ return true;
+ /* 112: */ }
+ /* 113: */
+ /* 114: */ public boolean letsFluidOut(byte aSide, int aCoverID, int aCoverVariable, Fluid aFluid, ICoverable aTileEntity)
+ /* 115: */ {
+ /* 116: 85 */ return true;
+ /* 117: */ }
+ /* 118: */
+ /* 119: */ public boolean letsItemsIn(byte aSide, int aCoverID, int aCoverVariable, int aSlot, ICoverable aTileEntity)
+ /* 120: */ {
+ /* 121: 90 */ return true;
+ /* 122: */ }
+ /* 123: */
+ /* 124: */ public boolean letsItemsOut(byte aSide, int aCoverID, int aCoverVariable, int aSlot, ICoverable aTileEntity)
+ /* 125: */ {
+ /* 126: 95 */ return true;
+ /* 127: */ }
+ /* 128: */
+ /* 129: */ public boolean manipulatesSidedRedstoneOutput(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity)
+ /* 130: */ {
+ /* 131:100 */ return true;
+ /* 132: */ }
+ /* 133: */
+ /* 134: */ public int getTickRate(byte aSide, int aCoverID, int aCoverVariable, ICoverable aTileEntity)
+ /* 135: */ {
+ /* 136:105 */ return 20;
+ /* 137: */ }
+
+}
diff --git a/main/java/gregtech/common/items/GT_MetaGenerated_Item_01.java b/main/java/gregtech/common/items/GT_MetaGenerated_Item_01.java
index 2923569beb..638236dd20 100644
--- a/main/java/gregtech/common/items/GT_MetaGenerated_Item_01.java
+++ b/main/java/gregtech/common/items/GT_MetaGenerated_Item_01.java
@@ -42,6 +42,7 @@ import gregtech.api.util.GT_Utility;
/* 38: */ import gregtech.common.covers.GT_Cover_ItemMeter;
/* 39: */ import gregtech.common.covers.GT_Cover_LiquidMeter;
import gregtech.common.covers.GT_Cover_NeedMaintainance;
+import gregtech.common.covers.GT_Cover_PlayerDetector;
/* 40: */ import gregtech.common.covers.GT_Cover_Pump;
import gregtech.common.covers.GT_Cover_RedstoneReceiverExternal;
import gregtech.common.covers.GT_Cover_RedstoneReceiverInternal;
@@ -709,13 +710,16 @@ import net.minecraftforge.common.ForgeModContainer;
/* 677:645 */ ItemList.Cover_FluidDetector.set(addItem(tLastID = 732, "Fluid Detector", "Gives out Fluid Amount as Redstone", new Object[] { new TC_Aspects.TC_AspectStack(TC_Aspects.SENSUS, 2L), new TC_Aspects.TC_AspectStack(TC_Aspects.AQUA, 1L) }));
/* 678:646 */ ItemList.Cover_ItemDetector.set(addItem(tLastID = 733, "Item Detector", "Gives out Item Amount as Redstone", new Object[] { new TC_Aspects.TC_AspectStack(TC_Aspects.SENSUS, 2L), new TC_Aspects.TC_AspectStack(TC_Aspects.TERRA, 1L) }));
/* 679:647 */ ItemList.Cover_EnergyDetector.set(addItem(tLastID = 734, "Energy Detector", "Gives out Energy Amount as Redstone", new Object[] { new TC_Aspects.TC_AspectStack(TC_Aspects.SENSUS, 2L), new TC_Aspects.TC_AspectStack(TC_Aspects.POTENTIA, 1L) }));
-/* 680: */
+/* 680: */ ItemList.Cover_PlayerDetector.set(addItem(tLastID = 735, "Player Detector", "Gives out close Players as Redstone", new Object[] { new TC_Aspects.TC_AspectStack(TC_Aspects.SENSUS, 2L), new TC_Aspects.TC_AspectStack(TC_Aspects.MACHINA, 1L) }));
+/* 677:645 */ GT_Values.RA.addAssemblerRecipe( ItemList.Sensor_EV.get(1L, new Object[0]), GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Titanium, 1L),ItemList.Cover_PlayerDetector.get(1L, new Object[0]), 3200, 128);
+/* 743:711 */
/* 681:649 */ GregTech_API.registerCover(ItemList.Cover_Controller.get(1L, new Object[0]), new GT_MultiTexture(new ITexture[] { Textures.BlockIcons.MACHINE_CASINGS[2][0], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_CONTROLLER) }), new GT_Cover_ControlsWork());
/* 682:650 */ GregTech_API.registerCover(ItemList.Cover_ActivityDetector.get(1L, new Object[0]), new GT_MultiTexture(new ITexture[] { Textures.BlockIcons.MACHINE_CASINGS[2][0], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_ACTIVITYDETECTOR) }), new GT_Cover_DoesWork());
/* 683:651 */ GregTech_API.registerCover(ItemList.Cover_FluidDetector.get(1L, new Object[0]), new GT_MultiTexture(new ITexture[] { Textures.BlockIcons.MACHINE_CASINGS[2][0], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_FLUIDDETECTOR) }), new GT_Cover_LiquidMeter());
/* 684:652 */ GregTech_API.registerCover(ItemList.Cover_ItemDetector.get(1L, new Object[0]), new GT_MultiTexture(new ITexture[] { Textures.BlockIcons.MACHINE_CASINGS[2][0], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_ITEMDETECTOR) }), new GT_Cover_ItemMeter());
/* 685:653 */ GregTech_API.registerCover(ItemList.Cover_EnergyDetector.get(1L, new Object[0]), new GT_MultiTexture(new ITexture[] { Textures.BlockIcons.MACHINE_CASINGS[2][0], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_ENERGYDETECTOR) }), new GT_Cover_EUMeter());
-/* 686: */
+/* 686: */ GregTech_API.registerCover(ItemList.Cover_PlayerDetector.get(1L, new Object[0]), new GT_MultiTexture(new ITexture[] { Textures.BlockIcons.MACHINE_CASINGS[2][0], new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_ACTIVITYDETECTOR) }), new GT_Cover_PlayerDetector());
+/* 683:651 */
/* 687:655 */ ItemList.Cover_Screen.set(addItem(tLastID = 740, "Computer Monitor", "Displays Data", new Object[] { new TC_Aspects.TC_AspectStack(TC_Aspects.COGNITO, 2L), new TC_Aspects.TC_AspectStack(TC_Aspects.LUX, 2L), new TC_Aspects.TC_AspectStack(TC_Aspects.VITREUS, 1L) }));
/* 688:656 */ ItemList.Cover_Crafting.set(addItem(tLastID = 744, "Crafting Table Cover", "Better than a wooden Workbench", new Object[] { new TC_Aspects.TC_AspectStack(TC_Aspects.FABRICO, 4L) }));
/* 689:657 */ ItemList.Cover_Drain.set(addItem(tLastID = 745, "Drain", "Absorbs Fluids and collects Rain", new Object[] { new TC_Aspects.TC_AspectStack(TC_Aspects.VACUOS, 2L), new TC_Aspects.TC_AspectStack(TC_Aspects.AQUA, 2L) }));
diff --git a/main/java/gregtech/common/tileentities/generators/GT_MetaTileEntity_MagicalEnergyAbsorber.java b/main/java/gregtech/common/tileentities/generators/GT_MetaTileEntity_MagicalEnergyAbsorber.java
index 6bf553a05c..7e724d3d9e 100644
--- a/main/java/gregtech/common/tileentities/generators/GT_MetaTileEntity_MagicalEnergyAbsorber.java
+++ b/main/java/gregtech/common/tileentities/generators/GT_MetaTileEntity_MagicalEnergyAbsorber.java
@@ -6,9 +6,16 @@ import thaumcraft.api.aspects.Aspect;
import thaumcraft.api.visnet.VisNetHandler;
import cpw.mods.fml.common.Loader;
import net.minecraft.block.Block;
+import net.minecraft.enchantment.Enchantment;
import net.minecraft.entity.item.EntityEnderCrystal;
import net.minecraft.init.Blocks;
+import net.minecraft.init.Items;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemEnchantedBook;
import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.nbt.NBTTagList;
+import net.minecraft.util.AxisAlignedBB;
import net.minecraft.world.World;
import gregtech.api.GregTech_API;
import gregtech.api.enums.ConfigCategories;
@@ -74,7 +81,7 @@ import gregtech.api.util.GT_Utility;
this.mEfficiency =GregTech_API.sMachineFile.get(ConfigCategories.machineconfig, "MagicEnergyAbsorber.efficiency.tier."+this.mTier, 100-this.mTier*10);
this.sAllowMultipleEggs = GregTech_API.sMachineFile.get(ConfigCategories.machineconfig, "MagicEnergyAbsorber.AllowMultipleEggs", false);
this.sEnergyPerEnderCrystal = GregTech_API.sMachineFile.get(ConfigCategories.machineconfig, "MagicEnergyAbsorber.EnergyPerTick.EnderCrystal", 32);
- this.sEnergyFromVis = GregTech_API.sMachineFile.get(ConfigCategories.machineconfig, "MagicEnergyAbsorber.EnergyPerVisDivisor", 2500);
+ this.sEnergyFromVis = (GregTech_API.sMachineFile.get(ConfigCategories.machineconfig, "MagicEnergyAbsorber.EnergyPerVisDivisor", 2500)*10);
this.sDragonEggEnergyPerTick = GregTech_API.sMachineFile.get(ConfigCategories.machineconfig, "MagicEnergyAbsorber.EnergyPerTick", 2048);
this.isThaumcraftLoaded = Loader.isModLoaded("Thaumcraft");
}
@@ -84,7 +91,7 @@ import gregtech.api.util.GT_Utility;
if (aBaseMetaTileEntity.isServerSide() && aBaseMetaTileEntity.isAllowedToWork() && aBaseMetaTileEntity.getUniversalEnergyStored() < maxEUOutput() + aBaseMetaTileEntity.getEUCapacity()) {
//Dragon Egg
if(hasEgg()&&aTick%10==0){
- getBaseMetaTileEntity().increaseStoredEnergyUnits(sDragonEggEnergyPerTick*getEfficiency()/10, false);
+ getBaseMetaTileEntity().increaseStoredEnergyUnits(sDragonEggEnergyPerTick*getEfficiency()*10, false);
if ((mActiveSiphon != this) && (!sAllowMultipleEggs)) {
if ((mActiveSiphon == null) || (mActiveSiphon.getBaseMetaTileEntity() == null) || (mActiveSiphon.getBaseMetaTileEntity().isInvalidTileEntity()) || (!mActiveSiphon.hasEgg())) {
mActiveSiphon = this;
@@ -107,13 +114,97 @@ import gregtech.api.util.GT_Utility;
int order = VisNetHandler.drainVis(tmpWorld, tmpX, tmpY, tmpZ, Aspect.ORDER, 1000);
int water = VisNetHandler.drainVis(tmpWorld, tmpX, tmpY, tmpZ, Aspect.WATER, 1000);
int visEU = (int) (Math.pow(fire, 4)+Math.pow(earth, 4)+Math.pow(air, 4)+Math.pow(destruction, 4)+Math.pow(order, 4)+Math.pow(water, 4));
+ int mult = 85;
+ if(fire>4)mult+=15;
+ if(earth>4)mult+=15;
+ if(air>4)mult+=15;
+ if(destruction>4)mult+=15;
+ if(order>4)mult+=15;
+ if(water>4)mult+=15;
+ visEU = (visEU*mult) / 100;
getBaseMetaTileEntity().increaseStoredEnergyUnits(Math.min(maxEUOutput(), visEU*getEfficiency()/this.sEnergyFromVis), false);
}catch (Throwable e){}
}
//EnderCrystal
- //GC Creeper Egg
+ if (sEnergyPerEnderCrystal > 0) {
+ if (this.mTargetedCrystal == null)
+ {
+ ArrayList<EntityEnderCrystal> tList = (ArrayList)getBaseMetaTileEntity().getWorld().getEntitiesWithinAABB(EntityEnderCrystal.class, AxisAlignedBB.getBoundingBox(getBaseMetaTileEntity().getXCoord() - 64, getBaseMetaTileEntity().getYCoord() - 64, getBaseMetaTileEntity().getZCoord() - 64, getBaseMetaTileEntity().getXCoord() + 64, getBaseMetaTileEntity().getYCoord() + 64, getBaseMetaTileEntity().getZCoord() + 64));
+ if ((tList != null) && (!tList.isEmpty()))
+ {
+ tList.removeAll(sUsedDragonCrystalList);
+ if (tList.size() > 0)
+ {
+ this.mTargetedCrystal = ((EntityEnderCrystal)tList.get(0));
+ if (this.mTargetedCrystal != null) {
+ sUsedDragonCrystalList.add(this.mTargetedCrystal);
+ }
+ }
+ }
+ }
+ else if (this.mTargetedCrystal.isEntityAlive())
+ {
+ getBaseMetaTileEntity().increaseStoredEnergyUnits(sEnergyPerEnderCrystal * 10, false);
+ }
+ else
+ {
+ sUsedDragonCrystalList.remove(this.mTargetedCrystal);
+ this.mTargetedCrystal = null;
+ }
+ }
+ //Absorb entchantments
+
+ try
+ {
+ if ((this.mInventory[0] != null) && (this.mInventory[1] == null))
+ {
+ if ((this.mInventory[0].isItemEnchanted()) && (this.mInventory[0].getItem().getItemEnchantability() > 0))
+ {
+ NBTTagList tEnchantments = this.mInventory[0].getEnchantmentTagList();
+ if (tEnchantments != null)
+ {
+ for (int i = 0; i < tEnchantments.tagCount(); i++)
+ {
+ short tID = ((NBTTagCompound)tEnchantments.getCompoundTagAt(i)).getShort("id");
+ short tLevel = ((NBTTagCompound)tEnchantments.getCompoundTagAt(i)).getShort("lvl");
+ if ((tID > -1) && (tID < Enchantment.enchantmentsList.length))
+ {
+ Enchantment tEnchantment = Enchantment.enchantmentsList[tID];
+ if (tEnchantment != null) {
+ getBaseMetaTileEntity().increaseStoredEnergyUnits(1000000 * tLevel / (tEnchantment.getMaxLevel() * tEnchantment.getWeight()), true);
+ }
+ }
+ }
+ this.mInventory[0].stackTagCompound.removeTag("ench");
+ }
+ }
+ else if ((this.mInventory[0].getItem() instanceof ItemEnchantedBook))
+ {
+ NBTTagList tEnchantments = ((ItemEnchantedBook)this.mInventory[0].getItem()).func_92110_g(this.mInventory[0]);
+ if (tEnchantments != null)
+ {
+ for (int i = 0; i < tEnchantments.tagCount(); i++)
+ {
+ short tID = ((NBTTagCompound)tEnchantments.getCompoundTagAt(i)).getShort("id");
+ short tLevel = ((NBTTagCompound)tEnchantments.getCompoundTagAt(i)).getShort("lvl");
+ if ((tID > -1) && (tID < Enchantment.enchantmentsBookList.length))
+ {
+ Enchantment tEnchantment = Enchantment.enchantmentsBookList[tID];
+ if (tEnchantment != null) {
+ getBaseMetaTileEntity().increaseStoredEnergyUnits(1000000 * tLevel / (tEnchantment.getMaxLevel() * tEnchantment.getWeight()), true);
+ }
+ }
+ }
+ this.mInventory[0] = new ItemStack(Items.book, 1);
+ }
+ }
+ this.mInventory[1] = this.mInventory[0];
+ this.mInventory[0] = null;
+ }
+ }
+ catch (Throwable e){}
}
}
diff --git a/main/java/gregtech/common/tileentities/generators/GT_MetaTileEntity_PlasmaGenerator.java b/main/java/gregtech/common/tileentities/generators/GT_MetaTileEntity_PlasmaGenerator.java
index da0e879223..26aeea5964 100644
--- a/main/java/gregtech/common/tileentities/generators/GT_MetaTileEntity_PlasmaGenerator.java
+++ b/main/java/gregtech/common/tileentities/generators/GT_MetaTileEntity_PlasmaGenerator.java
@@ -51,7 +51,7 @@ onConfigLoad();
public void onConfigLoad()
/* 39: */ {
- this.mEfficiency =GregTech_API.sMachineFile.get(ConfigCategories.machineconfig, "PlasmaGenerator.efficiency.tier."+this.mTier, (50 + ((this.mTier-5) * 25)));
+ this.mEfficiency =GregTech_API.sMachineFile.get(ConfigCategories.machineconfig, "PlasmaGenerator.efficiency.tier."+this.mTier, (10 + (this.mTier * 10)));
}
/* 43: */
diff --git a/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_FusionComputer.java b/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_FusionComputer.java
index 975089e607..aedeeac45d 100644
--- a/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_FusionComputer.java
+++ b/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_FusionComputer.java
@@ -3,6 +3,7 @@
/* 3: */ import java.util.ArrayList;
import java.util.Arrays;
+import gregtech.GT_Mod;
import gregtech.api.GregTech_API;
import gregtech.api.enums.Dyes;
import gregtech.api.enums.Textures;
@@ -362,6 +363,8 @@ public void onPostTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) {
mProgresstime = 0;
mMaxProgresstime = 0;
mEfficiencyIncrease = 0;
+ if(mOutputFluids!=null&&mOutputFluids.length>0){
+ GT_Mod.instance.achievements.issueAchivementHatchFluid(aBaseMetaTileEntity.getWorld().getPlayerEntityByName(aBaseMetaTileEntity.getOwnerName()), mOutputFluids[0]);}
this.mEUStore=(int) aBaseMetaTileEntity.getStoredEU();
if (aBaseMetaTileEntity.isAllowedToWork()) checkRecipe(mInventory[1]);
}
diff --git a/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_HeatExchanger.java b/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_HeatExchanger.java
new file mode 100644
index 0000000000..c8bd25d6c6
--- /dev/null
+++ b/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_HeatExchanger.java
@@ -0,0 +1,257 @@
+package gregtech.common.tileentities.machines.multi;
+
+import java.util.ArrayList;
+
+import net.minecraft.block.Block;
+import net.minecraft.entity.player.InventoryPlayer;
+import net.minecraft.item.ItemStack;
+import net.minecraftforge.common.util.ForgeDirection;
+import net.minecraftforge.fluids.Fluid;
+import net.minecraftforge.fluids.FluidRegistry;
+import net.minecraftforge.fluids.FluidStack;
+import forestry.core.fluids.Fluids;
+import gregtech.GT_Mod;
+import gregtech.api.GregTech_API;
+import gregtech.api.enums.Materials;
+import gregtech.api.enums.Textures;
+import gregtech.api.gui.GT_GUIContainer_MultiMachine;
+import gregtech.api.interfaces.ITexture;
+import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
+import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
+import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch;
+import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Input;
+import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_InputBus;
+import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Output;
+import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_OutputBus;
+import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_MultiBlockBase;
+import gregtech.api.objects.GT_RenderedTexture;
+import gregtech.api.util.GT_ModHandler;
+import gregtech.api.util.GT_Recipe;
+import gregtech.api.util.GT_Utility;
+
+public class GT_MetaTileEntity_HeatExchanger extends GT_MetaTileEntity_MultiBlockBase{
+ /* 25: */ public GT_MetaTileEntity_HeatExchanger(int aID, String aName, String aNameRegional)
+ /* 26: */ {
+ /* 27: 25 */ super(aID, aName, aNameRegional);
+ /* 28: */ }
+ /* 29: */
+ /* 30: */ public GT_MetaTileEntity_HeatExchanger(String aName)
+ /* 31: */ {
+ /* 32: 29 */ super(aName);
+ /* 33: */ }
+ /* 34: */
+ /* 35: */ public String[] getDescription()
+ /* 36: */ {
+ /* 37: 34 */ return new String[] { "Controller Block for the Heat Exchanger", "Size: 3x3x4", "Controller (front middle at bottom)", "3x3x4 of Stable Titanium Casing (hollow, Min 24!)", "2 Titanium Pipe Casing Blocks inside the Hollow Casing", "1x Distillated Water Input (one of the Casings)","min 1 Steam Output (one of the Casings)", "1x Maintenance Hatch (one of the Casings)", "1x Hot Fluid Input (botton Center)", "1x Cold Fluid Output (top Center)" };
+ /* 38: */ }
+
+ public GT_MetaTileEntity_Hatch_Input mInputHotFluidHatch;
+ public GT_MetaTileEntity_Hatch_Output mOutputColdFluidHatch;
+ public boolean superheated=false;
+ /* 59: */
+ /* 60: */ public ITexture[] getTexture(IGregTechTileEntity aBaseMetaTileEntity, byte aSide, byte aFacing, byte aColorIndex, boolean aActive, boolean aRedstone)
+ /* 61: */ {
+ /* 62: 53 */ if (aSide == aFacing) {
+ /* 63: 53 */ return new ITexture[] { Textures.BlockIcons.CASING_BLOCKS[50], new GT_RenderedTexture(aActive ? Textures.BlockIcons.OVERLAY_FRONT_LARGE_BOILER_ACTIVE : Textures.BlockIcons.OVERLAY_FRONT_LARGE_BOILER) };
+ /* 64: */ }
+ /* 65: 54 */ return new ITexture[] { Textures.BlockIcons.CASING_BLOCKS[50] };
+ /* 66: */ }
+ /* 67: */
+ /* 68: */ public Object getClientGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity)
+ /* 69: */ {
+ /* 70: 59 */ return new GT_GUIContainer_MultiMachine(aPlayerInventory, aBaseMetaTileEntity, getLocalName(), "LargeBoiler.png");
+ /* 71: */ }
+ /* 72: */
+ /* 73: */ public boolean isCorrectMachinePart(ItemStack aStack)
+ /* 74: */ {
+ /* 75: 64 */ return true;
+ /* 76: */ }
+ /* 77: */
+ /* 78: */ public boolean isFacingValid(byte aFacing)
+ /* 79: */ {
+ /* 80: 67 */ return aFacing > 1;
+ /* 81: */ }
+ /* 82: */
+ /* 83: */ public boolean checkRecipe(ItemStack aStack)
+ /* 84: */ {
+ if(GT_ModHandler.isLava(mInputHotFluidHatch.getFluid())){
+ int fluidAmount = mInputHotFluidHatch.getFluidAmount();
+ if(fluidAmount >= 1000){superheated=true;}else{superheated=false;}
+ if(fluidAmount>2000){fluidAmount=2000;}
+ mInputHotFluidHatch.drain(fluidAmount, true);
+ mOutputColdFluidHatch.fill(FluidRegistry.getFluidStack("ic2pahoehoelava", fluidAmount), true);
+
+
+ this.mMaxProgresstime = 20;
+ this.mEUt = fluidAmount*2;
+ this.mEfficiencyIncrease = 80;
+ return true;
+ }
+
+ if(mInputHotFluidHatch.getFluid().isFluidEqual(FluidRegistry.getFluidStack("ic2hotcoolant", 1))){
+ int fluidAmount = mInputHotFluidHatch.getFluidAmount();
+ if(fluidAmount >= 4000){superheated=true;}else{superheated=false;}
+ if(fluidAmount>8000){fluidAmount=8000;}
+ mInputHotFluidHatch.drain(fluidAmount, true);
+ mOutputColdFluidHatch.fill(FluidRegistry.getFluidStack("ic2coolant", fluidAmount), true);
+
+
+ this.mMaxProgresstime = 20;
+ this.mEUt = fluidAmount/2;
+ this.mEfficiencyIncrease = 20;
+ return true;
+ }
+ return false;}
+ /* 133: */
+ /* 134: */ public boolean onRunningTick(ItemStack aStack)
+ /* 135: */ {
+ /* 136:115 */ if (this.mEUt > 0)
+ /* 137: */ {System.out.println("EU: "+mEUt+" Eff: "+mEfficiency);
+ /* 138:116 */ int tGeneratedEU = (int)(this.mEUt * 2L * this.mEfficiency / 10000L);
+ /* 139:117 */ if (tGeneratedEU > 0) {
+ /* 140:118 */ if (depleteInput(GT_ModHandler.getDistilledWater(((superheated ? tGeneratedEU/2 :tGeneratedEU) + 160) / 160))) {
+ if(superheated){
+ addOutput(FluidRegistry.getFluidStack("ic2superheatedsteam", tGeneratedEU/2));
+ }else{
+ /* 141:119 */ addOutput(GT_ModHandler.getSteam(tGeneratedEU));}
+ /* 142: */ } else {
+ /* 143:121 */ explodeMultiblock();
+ /* 144: */ }
+ /* 145: */ }
+ /* 146:124 */ return true;
+ /* 147: */ }
+ /* 148:126 */ return true;
+ /* 149: */ }
+ /* 150: */ private static boolean controller;
+ /* 151: */ public boolean checkMachine(IGregTechTileEntity aBaseMetaTileEntity, ItemStack aStack)
+ /* 152: */ {
+ /* 153:131 */ int xDir = ForgeDirection.getOrientation(aBaseMetaTileEntity.getBackFacing()).offsetX;int zDir = ForgeDirection.getOrientation(aBaseMetaTileEntity.getBackFacing()).offsetZ;
+ /* 154: */
+ /* 155:133 */ int tCasingAmount = 0;int tFireboxAmount = 0;controller=false;
+ /* 156:135 */ for (int i = -1; i < 2; i++) {
+ /* 157:135 */ for (int j = -1; j < 2; j++) {
+ /* 158:136 */ if ((i != 0) || (j != 0))
+ /* 159: */ {
+ /* 160:137 */ for (int k = 0; k <= 3; k++) {
+ /* 161:138 */ if (!addOutputToMachineList(aBaseMetaTileEntity.getIGregTechTileEntityOffset(xDir + i, k, zDir + j), 50)&&!addInputToMachineList(aBaseMetaTileEntity.getIGregTechTileEntityOffset(xDir + i, k, zDir + j), 50)&&!addMaintenanceToMachineList(aBaseMetaTileEntity.getIGregTechTileEntityOffset(xDir + i, k, zDir + j), 50)&&!ignoreController(aBaseMetaTileEntity.getBlockOffset(xDir + i, k, zDir + j)))
+ /* 162: */ {
+ /* 163:139 */ if (aBaseMetaTileEntity.getBlockOffset(xDir + i, k, zDir + j) != getCasingBlock()) {
+ /* 164:139 */ return false;
+ /* 165: */ }
+ /* 166:140 */ if (aBaseMetaTileEntity.getMetaIDOffset(xDir + i, k, zDir + j) != getCasingMeta()) {
+ /* 167:140 */ return false;
+ /* 168: */ }
+ /* 169:141 */ tCasingAmount++;
+ /* 170: */ }
+ }
+ /* 171: */ }else{
+ if(!addHotFluidInputToMachineList(aBaseMetaTileEntity.getIGregTechTileEntityOffset(xDir + i, 0, zDir + j), 50)){
+ return false;
+ }
+ if(!addColdFluidOutputToMachineList(aBaseMetaTileEntity.getIGregTechTileEntityOffset(xDir + i, 3, zDir + j), 50)){
+ return false;
+ }
+ /* 177:146 */ if (aBaseMetaTileEntity.getBlockOffset(xDir + i, 1, zDir + j) != getPipeBlock()) {
+ /* 178:146 */ return false;
+ /* 179: */ }
+ /* 180:147 */ if (aBaseMetaTileEntity.getMetaIDOffset(xDir + i, 1, zDir + j) != getPipeMeta()) {
+ /* 181:147 */ return false;
+ /* 182: */ }
+
+ /* 177:146 */ if (aBaseMetaTileEntity.getBlockOffset(xDir + i, 2, zDir + j) != getPipeBlock()) {
+ /* 178:146 */ return false;
+ /* 179: */ }
+ /* 180:147 */ if (aBaseMetaTileEntity.getMetaIDOffset(xDir + i, 2, zDir + j) != getPipeMeta()) {
+ /* 181:147 */ return false;
+ /* 182: */ }
+ /* 172: */ }
+ /* 195: */ }
+ /* 196: */ }
+ /* 215:166 */ return (tCasingAmount >= 24);
+ /* 216: */ }
+
+ public boolean ignoreController(Block tTileEntity){
+ if(!controller&&tTileEntity == GregTech_API.sBlockMachines){return true;}
+ return false;
+ }
+
+ public boolean addColdFluidOutputToMachineList(IGregTechTileEntity aTileEntity, int aBaseCasingIndex) {
+ if (aTileEntity == null) return false;
+ IMetaTileEntity aMetaTileEntity = aTileEntity.getMetaTileEntity();
+ if (aMetaTileEntity == null) return false;
+ if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_Output) {
+ ((GT_MetaTileEntity_Hatch)aMetaTileEntity).mMachineBlock = (byte)aBaseCasingIndex;
+ mOutputColdFluidHatch = (GT_MetaTileEntity_Hatch_Output)aMetaTileEntity;
+ return true;
+ }
+ return false;
+ }
+
+ public boolean addHotFluidInputToMachineList(IGregTechTileEntity aTileEntity, int aBaseCasingIndex) {
+ if (aTileEntity == null) return false;
+ IMetaTileEntity aMetaTileEntity = aTileEntity.getMetaTileEntity();
+ if (aMetaTileEntity == null) return false;
+ if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_Input) {
+ ((GT_MetaTileEntity_Hatch)aMetaTileEntity).mMachineBlock = (byte)aBaseCasingIndex;
+ ((GT_MetaTileEntity_Hatch_Input)aMetaTileEntity).mRecipeMap = getRecipeMap();
+ mInputHotFluidHatch = (GT_MetaTileEntity_Hatch_Input)aMetaTileEntity;
+ return true;
+ }
+ return false;
+ }
+
+ /* 26: */ public Block getCasingBlock()
+ /* 27: */ {
+ /* 28:22 */ return GregTech_API.sBlockCasings4;
+ /* 29: */ }
+ /* 30: */
+ /* 31: */ public byte getCasingMeta()
+ /* 32: */ {
+ /* 33:23 */ return 2;
+ /* 34: */ }
+ /* 35: */
+ /* 36: */ public byte getCasingTextureIndex()
+ /* 37: */ {
+ /* 38:24 */ return 50;
+ /* 39: */ }
+ /* 40: */
+ /* 41: */ public Block getPipeBlock()
+ /* 42: */ {
+ /* 43:26 */ return GregTech_API.sBlockCasings2;
+ /* 44: */ }
+ /* 45: */
+ /* 46: */ public byte getPipeMeta()
+ /* 47: */ {
+ /* 48:27 */ return 14;
+ /* 49: */ }
+ /* 217: */
+ /* 218: */ public int getMaxEfficiency(ItemStack aStack)
+ /* 219: */ {
+ /* 220:171 */ return 10000;
+ /* 221: */ }
+ /* 222: */
+ /* 223: */ public int getPollutionPerTick(ItemStack aStack)
+ /* 224: */ {
+ /* 225:176 */ return 10;
+ /* 226: */ }
+ /* 227: */
+ /* 228: */ public int getDamageToComponent(ItemStack aStack)
+ /* 229: */ {
+ /* 230:181 */ return 0;
+ /* 231: */ }
+ /* 232: */
+ /* 233: */ public int getAmountOfOutputs()
+ /* 234: */ {
+ /* 235:186 */ return 1;
+ /* 236: */ }
+ /* 237: */
+ /* 238: */ public boolean explodesOnComponentBreak(ItemStack aStack)
+ /* 239: */ {
+ /* 240:191 */ return false;
+ /* 241: */ }
+ /* 242: */
+ /* 21: */ public IMetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity)
+ /* 22: */ {
+ /* 23:19 */ return new GT_MetaTileEntity_HeatExchanger(this.mName);
+ /* 24: */ }
+ }
diff --git a/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeBoiler_Titanium.java b/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeBoiler_Titanium.java
index f3dad61817..a5c906827a 100644
--- a/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeBoiler_Titanium.java
+++ b/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeBoiler_Titanium.java
@@ -72,10 +72,4 @@
/* 72: */ {
/* 73:34 */ return 8;
/* 74: */ }
-/* 75: */ }
-
-
-/* Location: F:\Torrent\minecraft\jd-gui-0.3.6.windows\gregtech_1.7.10-5.07.07-dev.jar
- * Qualified Name: gregtech.common.tileentities.machines.multi.GT_MetaTileEntity_LargeBoiler_Titanium
- * JD-Core Version: 0.7.0.1
- */ \ No newline at end of file
+/* 75: */ } \ No newline at end of file
diff --git a/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeTurbine.java b/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeTurbine.java
index 1d5f18d9e5..dc9c9a7615 100644
--- a/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeTurbine.java
+++ b/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeTurbine.java
@@ -1,6 +1,10 @@
package gregtech.common.tileentities.machines.multi;
+import java.util.ArrayList;
+
+import net.minecraft.block.Block;
import net.minecraft.item.ItemStack;
+import net.minecraftforge.fluids.FluidStack;
import gregtech.api.GregTech_API;
import gregtech.api.enums.ItemList;
import gregtech.api.enums.Textures;
@@ -16,57 +20,22 @@ import gregtech.api.util.GT_ModHandler;
import gregtech.api.util.GT_Utility;
import gregtech.common.items.GT_MetaGenerated_Tool_01;
-public class GT_MetaTileEntity_LargeTurbine extends GT_MetaTileEntity_MultiBlockBase{
+public abstract class GT_MetaTileEntity_LargeTurbine extends GT_MetaTileEntity_MultiBlockBase{
public GT_MetaTileEntity_LargeTurbine(int aID, String aName, String aNameRegional){super(aID, aName, aNameRegional);}
public GT_MetaTileEntity_LargeTurbine(String aName){super(aName);}
- @Override
- public ITexture[] getTexture(IGregTechTileEntity aBaseMetaTileEntity, byte aSide, byte aFacing, byte aColorIndex, boolean aActive, boolean aRedstone) {
- return new ITexture[]{Textures.BlockIcons.MACHINE_CASINGS[1][aColorIndex+1], aFacing == aSide ? aActive ? new GT_RenderedTexture(Textures.BlockIcons.LARGETURBINE_ACTIVE5):new GT_RenderedTexture(Textures.BlockIcons.LARGETURBINE5) : Textures.BlockIcons.CASING_BLOCKS[57]};
- }
-
-
- public String[] getDescription()
- {
- return new String[] {
- "Controller Block for the Large Turbine",
- "Size: 3x3x4 (Hollow)", "Controller (front centered)",
- "1x Input Hatch (side centered)", "1x Output Hatch(side centered)",
- "1x Dynamo Hatch (back centered)",
- "1x Maintenance Hatch (side centered)",
- "Turbine Casings for the rest (24 at least!)" };
- }
@Override
public boolean isCorrectMachinePart(ItemStack aStack) {
return getMaxEfficiency(aStack) > 0;
}
+ protected int baseEff=0;
+ protected int optFlow=0;
+ protected int counter=0;
@Override
- public boolean checkRecipe(ItemStack aStack) {
- if (depleteInput(GT_ModHandler.getSteam(1600L)))
- {
- this.mEUt = 1000;
- this.mMaxProgresstime = 1;
-// if (ItemList.Component_Turbine_Bronze.isStackEqual(aStack, true, true)) {
-// this.mEfficiencyIncrease = (this.mMaxProgresstime * 10);
-// } else if (ItemList.Component_Turbine_Steel.isStackEqual(aStack, true, true)) {
-// this.mEfficiencyIncrease = (this.mMaxProgresstime * 20);
-// } else if (ItemList.Component_Turbine_Magnalium.isStackEqual(aStack, true, true)) {
-// this.mEfficiencyIncrease = (this.mMaxProgresstime * 50);
-// } else if (ItemList.Component_Turbine_TungstenSteel.isStackEqual(aStack, true, true)) {
-// this.mEfficiencyIncrease = (this.mMaxProgresstime * 15);
-// } else if (ItemList.Component_Turbine_Carbon.isStackEqual(aStack, true, true)) {
-// this.mEfficiencyIncrease = (this.mMaxProgresstime * 100);
-// } else {
- this.mEfficiencyIncrease = (this.mMaxProgresstime * 20);
-// }
- addOutput(GT_ModHandler.getDistilledWater(10L));
- return true;
- }
- return false;
- }
+ public abstract boolean checkRecipe(ItemStack aStack);
@Override
public boolean checkMachine(IGregTechTileEntity aBaseMetaTileEntity, ItemStack aStack) {
@@ -102,17 +71,17 @@ public class GT_MetaTileEntity_LargeTurbine extends GT_MetaTileEntity_MultiBlock
for (byte k = 0; k < 4; k = (byte)(k + 1)) {
if (((i == 0) || (j == 0)) && ((k == 1) || (k == 2)))
{
- if (getBaseMetaTileEntity().getBlock(tX + (tSide == 5 ? k : tSide < 4 ? i : -k), tY + j, tZ + (tSide < 4 ? -k : tSide == 3 ? k : i)) == GregTech_API.sBlockCasings4)
+ if (getBaseMetaTileEntity().getBlock(tX + (tSide == 5 ? k : tSide < 4 ? i : -k), tY + j, tZ + (tSide < 4 ? -k : tSide == 3 ? k : i)) == getCasingBlock())
{
- if (getBaseMetaTileEntity().getMetaID(tX + (tSide == 5 ? k : tSide < 4 ? i : -k), tY + j, tZ + (tSide < 4 ? -k : tSide == 3 ? k : i)) == 9) {}
+ if (getBaseMetaTileEntity().getMetaID(tX + (tSide == 5 ? k : tSide < 4 ? i : -k), tY + j, tZ + (tSide < 4 ? -k : tSide == 3 ? k : i)) == getCasingMeta()) {}
}
else if (!addToMachineList(getBaseMetaTileEntity().getIGregTechTileEntity(tX + (tSide == 5 ? k : tSide < 4 ? i : -k), tY + j, tZ + (tSide < 4 ? -k : tSide == 3 ? k : i)))) {
return false;
}
}
- else if (getBaseMetaTileEntity().getBlock(tX + (tSide == 5 ? k : tSide < 4 ? i : -k), tY + j, tZ + (tSide < 4 ? -k : tSide == 3 ? k : i)) == GregTech_API.sBlockCasings4)
+ else if (getBaseMetaTileEntity().getBlock(tX + (tSide == 5 ? k : tSide < 4 ? i : -k), tY + j, tZ + (tSide < 4 ? -k : tSide == 3 ? k : i)) == getCasingBlock())
{
- if (getBaseMetaTileEntity().getMetaID(tX + (tSide == 5 ? k : tSide < 4 ? i : -k), tY + j, tZ + (tSide < 4 ? -k : tSide == 3 ? k : i)) == 9) {}
+ if (getBaseMetaTileEntity().getMetaID(tX + (tSide == 5 ? k : tSide < 4 ? i : -k), tY + j, tZ + (tSide < 4 ? -k : tSide == 3 ? k : i)) == getCasingMeta()) {}
}
else {
return false;
@@ -126,7 +95,7 @@ public class GT_MetaTileEntity_LargeTurbine extends GT_MetaTileEntity_MultiBlock
if ((tTileEntity != null) && (tTileEntity.getMetaTileEntity() != null)) {
if ((tTileEntity.getMetaTileEntity() instanceof GT_MetaTileEntity_Hatch_Dynamo)) {
this.mDynamoHatches.add((GT_MetaTileEntity_Hatch_Dynamo)tTileEntity.getMetaTileEntity());
- ((GT_MetaTileEntity_Hatch)tTileEntity.getMetaTileEntity()).mMachineBlock = (byte)46;
+ ((GT_MetaTileEntity_Hatch)tTileEntity.getMetaTileEntity()).mMachineBlock = getCasingTextureIndex();
} else {
return false;
}
@@ -139,23 +108,28 @@ public class GT_MetaTileEntity_LargeTurbine extends GT_MetaTileEntity_MultiBlock
return true;
}
+ public abstract Block getCasingBlock();
+
+ public abstract byte getCasingMeta();
+
+ public abstract byte getCasingTextureIndex();
+
private boolean addToMachineList(IGregTechTileEntity tTileEntity){
- return ((addMaintenanceToMachineList(tTileEntity, 46)) || (addInputToMachineList(tTileEntity, 46)) || (addOutputToMachineList(tTileEntity, 46)));
+ return ((addMaintenanceToMachineList(tTileEntity, getCasingTextureIndex())) || (addInputToMachineList(tTileEntity, getCasingTextureIndex())) || (addOutputToMachineList(tTileEntity, getCasingTextureIndex())));
}
@Override
public int getDamageToComponent(ItemStack aStack) {
- return 1;//GT_Utility.areStacksEqual(GT_ModHandler.getModItem("Railcraft","part.turbine.rotor", 1L, 32767), aStack) ? 2 : 1;
+ return 1;
}
-
public int getMaxEfficiency(ItemStack aStack)
{
if (GT_Utility.isStackInvalid(aStack)) {
return 0;
}
if (aStack.getItem() instanceof GT_MetaGenerated_Tool_01) {
- return 10000;
+ return 10000;
}
return 0;
}
@@ -167,7 +141,4 @@ public class GT_MetaTileEntity_LargeTurbine extends GT_MetaTileEntity_MultiBlock
public int getAmountOfOutputs() {return 0;}
@Override
public boolean explodesOnComponentBreak(ItemStack aStack) {return true;}
- @Override
- public IMetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) {return new GT_MetaTileEntity_LargeTurbine(mName);}
-
}
diff --git a/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeTurbine_Gas.java b/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeTurbine_Gas.java
new file mode 100644
index 0000000000..abf8458a6e
--- /dev/null
+++ b/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeTurbine_Gas.java
@@ -0,0 +1,92 @@
+package gregtech.common.tileentities.machines.multi;
+
+import java.util.ArrayList;
+import java.util.Collection;
+
+import net.minecraft.block.Block;
+import net.minecraft.item.ItemStack;
+import net.minecraftforge.fluids.FluidStack;
+import gregtech.api.GregTech_API;
+import gregtech.api.enums.Textures;
+import gregtech.api.interfaces.ITexture;
+import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
+import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
+import gregtech.api.items.GT_MetaGenerated_Tool;
+import gregtech.api.objects.GT_RenderedTexture;
+import gregtech.api.util.GT_ModHandler;
+import gregtech.api.util.GT_Recipe;
+import gregtech.api.util.GT_Recipe.GT_Recipe_Map;
+import gregtech.api.util.GT_Utility;
+
+public class GT_MetaTileEntity_LargeTurbine_Gas extends GT_MetaTileEntity_LargeTurbine{
+
+ public GT_MetaTileEntity_LargeTurbine_Gas(int aID, String aName, String aNameRegional){super(aID, aName, aNameRegional);}
+ public GT_MetaTileEntity_LargeTurbine_Gas(String aName){super(aName);}
+
+ @Override
+ public ITexture[] getTexture(IGregTechTileEntity aBaseMetaTileEntity, byte aSide, byte aFacing, byte aColorIndex, boolean aActive, boolean aRedstone) {
+ return new ITexture[]{Textures.BlockIcons.MACHINE_CASINGS[1][aColorIndex+1], aFacing == aSide ? aActive ? new GT_RenderedTexture(Textures.BlockIcons.LARGETURBINE_ACTIVE5):new GT_RenderedTexture(Textures.BlockIcons.LARGETURBINE5) : Textures.BlockIcons.CASING_BLOCKS[57]};
+ }
+
+
+ public String[] getDescription()
+ {
+ return new String[] {
+ "Controller Block for the Large Gas Turbine",
+ "Size: 3x3x4 (Hollow)", "Controller (front centered)",
+ "1x Input Hatch (side centered)",
+ "1x Dynamo Hatch (back centered)",
+ "1x Maintenance Hatch (side centered)",
+ "Turbine Casings for the rest (24 at least!)",
+ "Needs a Turbine Item (inside controller GUI)"};
+ }
+
+ @Override
+ public boolean checkRecipe(ItemStack aStack) {
+ ArrayList<FluidStack> steams = getStoredFluids();
+ if (steams.size()>0)
+ {if(baseEff==0 || optFlow == 0 || counter >= 1000 || this.getBaseMetaTileEntity().hasWorkJustBeenEnabled() || this.getBaseMetaTileEntity().hasInventoryBeenModified()){
+ counter = 0;
+ baseEff = (int) ((50.0F+(10.0F*((GT_MetaGenerated_Tool)aStack.getItem()).getToolCombatDamage(aStack)))*100);
+ optFlow = (int) Math.max(Float.MIN_NORMAL, ((GT_MetaGenerated_Tool)aStack.getItem()).getToolStats(aStack).getSpeedMultiplier() * ((GT_MetaGenerated_Tool)aStack.getItem()).getPrimaryMaterial(aStack).mToolSpeed*50);
+ }
+ int tEU=0;
+ for(int i=0;i<steams.size();i++){
+ int fuelValue = getFuelValue(steams.get(i));
+ if(fuelValue>0&&depleteInput(new FluidStack(steams.get(i),optFlow/(fuelValue*2)))){
+ tEU += optFlow/2;}
+ }
+ this.mEUt = baseEff*tEU/10000;
+ this.mMaxProgresstime = 1;
+ this.mEfficiencyIncrease = (this.mMaxProgresstime * 10);
+ if(mEUt==0){return false;}
+ return true;
+ }
+ return false;
+ }
+
+ public int getFuelValue(FluidStack aLiquid) {
+ if (aLiquid == null || GT_Recipe_Map.sTurbineFuels == null) return 0;
+ FluidStack tLiquid;
+ Collection<GT_Recipe> tRecipeList = GT_Recipe_Map.sTurbineFuels.mRecipeList;
+ if (tRecipeList != null) for (GT_Recipe tFuel : tRecipeList) if ((tLiquid = GT_Utility.getFluidForFilledItem(tFuel.getRepresentativeInput(0), true)) != null) if (aLiquid.isFluidEqual(tLiquid)) return tFuel.mSpecialValue;
+ return 0;
+ }
+
+ @Override
+ public IMetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) {return new GT_MetaTileEntity_LargeTurbine_Gas(mName);}
+ @Override
+ public Block getCasingBlock() {
+ return GregTech_API.sBlockCasings4;
+ }
+ @Override
+ public byte getCasingMeta() {
+ return 9;
+ }
+ @Override
+ public byte getCasingTextureIndex() {
+ return 46;
+ }
+
+
+}
diff --git a/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeTurbine_HPSteam.java b/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeTurbine_HPSteam.java
new file mode 100644
index 0000000000..c85e79f594
--- /dev/null
+++ b/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeTurbine_HPSteam.java
@@ -0,0 +1,89 @@
+package gregtech.common.tileentities.machines.multi;
+
+import java.util.ArrayList;
+
+import net.minecraft.block.Block;
+import net.minecraft.item.ItemStack;
+import net.minecraftforge.fluids.FluidStack;
+import gregtech.api.GregTech_API;
+import gregtech.api.enums.Textures;
+import gregtech.api.interfaces.ITexture;
+import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
+import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
+import gregtech.api.items.GT_MetaGenerated_Tool;
+import gregtech.api.objects.GT_RenderedTexture;
+import gregtech.api.util.GT_ModHandler;
+
+public class GT_MetaTileEntity_LargeTurbine_HPSteam extends GT_MetaTileEntity_LargeTurbine{
+
+ public GT_MetaTileEntity_LargeTurbine_HPSteam(int aID, String aName, String aNameRegional){super(aID, aName, aNameRegional);}
+ public GT_MetaTileEntity_LargeTurbine_HPSteam(String aName){super(aName);}
+
+ @Override
+ public ITexture[] getTexture(IGregTechTileEntity aBaseMetaTileEntity, byte aSide, byte aFacing, byte aColorIndex, boolean aActive, boolean aRedstone) {
+ return new ITexture[]{Textures.BlockIcons.MACHINE_CASINGS[1][aColorIndex+1], aFacing == aSide ? aActive ? new GT_RenderedTexture(Textures.BlockIcons.LARGETURBINE_ACTIVE5):new GT_RenderedTexture(Textures.BlockIcons.LARGETURBINE5) : Textures.BlockIcons.CASING_BLOCKS[57]};
+ }
+
+
+ public String[] getDescription()
+ {
+ return new String[] {
+ "Controller Block for the Large High Pressure Steam Turbine",
+ "Size: 3x3x4 (Hollow)", "Controller (front centered)",
+ "1x Input Hatch (side centered)", "1x Output Hatch(side centered)",
+ "1x Dynamo Hatch (back centered)",
+ "1x Maintenance Hatch (side centered)",
+ "Turbine Casings for the rest (24 at least!)",
+ "Needs a Turbine Item (inside controller GUI)" };
+ }
+
+ @Override
+ public boolean checkRecipe(ItemStack aStack) {
+ ArrayList<FluidStack> steams = getStoredFluids();
+ if (steams.size()>0)
+ {if(baseEff==0 || optFlow == 0 || counter >= 1000 || this.getBaseMetaTileEntity().hasWorkJustBeenEnabled() || this.getBaseMetaTileEntity().hasInventoryBeenModified()){
+ counter = 0;
+ baseEff = (int) ((50.0F+(10.0F*((GT_MetaGenerated_Tool)aStack.getItem()).getToolCombatDamage(aStack)))*100);
+ optFlow = (int) Math.max(Float.MIN_NORMAL, ((GT_MetaGenerated_Tool)aStack.getItem()).getToolStats(aStack).getSpeedMultiplier() * ((GT_MetaGenerated_Tool)aStack.getItem()).getPrimaryMaterial(aStack).mToolSpeed*50);
+ }
+ int tEU=0;
+ int distOut=0;
+ for(int i=0;i<steams.size();i++){
+ if(steams.get(i).getFluid().getUnlocalizedName(steams.get(i)).equals("fluid.ic2superheatedsteam")){
+ int out = Math.min((int)(optFlow*1.5f),steams.get(i).amount);
+ depleteInput(new FluidStack(steams.get(i),out));
+ distOut += out;
+ tEU += steams.get(i).amount;
+ }
+ }
+ if(tEU<optFlow/10){tEU=0;}
+ if(tEU>optFlow) {tEU = optFlow;}
+ float tEff = tEU/(optFlow);
+ this.mEUt = (int) (tEff*tEU*baseEff/10000);
+ this.mMaxProgresstime = 1;
+// System.out.println("Eff: "+baseEff+" optFlow: "+optFlow+" tEff: "+tEff+" eut: "+mEUt+" out: "+distOut);
+ this.mEfficiencyIncrease = (this.mMaxProgresstime * 10);
+ if(mEUt==0){return false;}
+ addOutput(GT_ModHandler.getSteam(distOut));
+ return true;
+ }
+ return false;
+ }
+
+ @Override
+ public IMetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) {return new GT_MetaTileEntity_LargeTurbine_HPSteam(mName);}
+ @Override
+ public Block getCasingBlock() {
+ return GregTech_API.sBlockCasings4;
+ }
+ @Override
+ public byte getCasingMeta() {
+ return 9;
+ }
+ @Override
+ public byte getCasingTextureIndex() {
+ return 46;
+ }
+
+
+}
diff --git a/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeTurbine_Plasma.java b/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeTurbine_Plasma.java
new file mode 100644
index 0000000000..5ddd0e9069
--- /dev/null
+++ b/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeTurbine_Plasma.java
@@ -0,0 +1,93 @@
+package gregtech.common.tileentities.machines.multi;
+
+import java.util.ArrayList;
+import java.util.Collection;
+
+import net.minecraft.block.Block;
+import net.minecraft.item.ItemStack;
+import net.minecraftforge.fluids.FluidStack;
+import gregtech.api.GregTech_API;
+import gregtech.api.enums.Textures;
+import gregtech.api.interfaces.ITexture;
+import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
+import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
+import gregtech.api.items.GT_MetaGenerated_Tool;
+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 gregtech.api.util.GT_Recipe.GT_Recipe_Map;
+
+public class GT_MetaTileEntity_LargeTurbine_Plasma extends GT_MetaTileEntity_LargeTurbine{
+
+ public GT_MetaTileEntity_LargeTurbine_Plasma(int aID, String aName, String aNameRegional){super(aID, aName, aNameRegional);}
+ public GT_MetaTileEntity_LargeTurbine_Plasma(String aName){super(aName);}
+
+ @Override
+ public ITexture[] getTexture(IGregTechTileEntity aBaseMetaTileEntity, byte aSide, byte aFacing, byte aColorIndex, boolean aActive, boolean aRedstone) {
+ return new ITexture[]{Textures.BlockIcons.MACHINE_CASINGS[1][aColorIndex+1], aFacing == aSide ? aActive ? new GT_RenderedTexture(Textures.BlockIcons.LARGETURBINE_ACTIVE5):new GT_RenderedTexture(Textures.BlockIcons.LARGETURBINE5) : Textures.BlockIcons.CASING_BLOCKS[57]};
+ }
+
+
+ public String[] getDescription()
+ {
+ return new String[] {
+ "Controller Block for the Large Plasma Generator",
+ "Size: 3x3x4 (Hollow)", "Controller (front centered)",
+ "1x Input Hatch (side centered)",
+ "1x Dynamo Hatch (back centered)",
+ "1x Maintenance Hatch (side centered)",
+ "Turbine Casings for the rest (24 at least!)",
+ "Needs a Turbine Item (inside controller GUI)" };
+ }
+
+ @Override
+ public boolean checkRecipe(ItemStack aStack) {
+ ArrayList<FluidStack> steams = getStoredFluids();
+ if (steams.size()>0)
+ {if(baseEff==0 || optFlow == 0 || counter >= 1000 || this.getBaseMetaTileEntity().hasWorkJustBeenEnabled() || this.getBaseMetaTileEntity().hasInventoryBeenModified()){
+ counter = 0;
+ baseEff = (int) ((50.0F+(10.0F*((GT_MetaGenerated_Tool)aStack.getItem()).getToolCombatDamage(aStack)))*100);
+ optFlow = (int) Math.max(Float.MIN_NORMAL, ((GT_MetaGenerated_Tool)aStack.getItem()).getToolStats(aStack).getSpeedMultiplier() * ((GT_MetaGenerated_Tool)aStack.getItem()).getPrimaryMaterial(aStack).mToolSpeed*50);
+ optFlow *=10;
+ }
+ int tEU=0;
+ for(int i=0;i<steams.size();i++){
+ int fuelValue = getFuelValue(steams.get(i));
+ if(fuelValue>0&&depleteInput(new FluidStack(steams.get(i),optFlow/(fuelValue*2)))){
+ tEU += optFlow/2;}
+ }
+ this.mEUt = baseEff*tEU/10000;
+ this.mMaxProgresstime = 1;
+ this.mEfficiencyIncrease = (this.mMaxProgresstime * 10);
+ if(mEUt==0){return false;}
+ return true;
+ }
+ return false;
+ }
+
+ public int getFuelValue(FluidStack aLiquid) {
+ if (aLiquid == null || GT_Recipe_Map.sTurbineFuels == null) return 0;
+ FluidStack tLiquid;
+ Collection<GT_Recipe> tRecipeList = GT_Recipe_Map.sPlasmaFuels.mRecipeList;
+ if (tRecipeList != null) for (GT_Recipe tFuel : tRecipeList) if ((tLiquid = GT_Utility.getFluidForFilledItem(tFuel.getRepresentativeInput(0), true)) != null) if (aLiquid.isFluidEqual(tLiquid)) return tFuel.mSpecialValue;
+ return 0;
+ }
+
+ @Override
+ public IMetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) {return new GT_MetaTileEntity_LargeTurbine_Plasma(mName);}
+ @Override
+ public Block getCasingBlock() {
+ return GregTech_API.sBlockCasings4;
+ }
+ @Override
+ public byte getCasingMeta() {
+ return 9;
+ }
+ @Override
+ public byte getCasingTextureIndex() {
+ return 46;
+ }
+
+
+}
diff --git a/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeTurbine_Steam.java b/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeTurbine_Steam.java
new file mode 100644
index 0000000000..2170cfa543
--- /dev/null
+++ b/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeTurbine_Steam.java
@@ -0,0 +1,89 @@
+package gregtech.common.tileentities.machines.multi;
+
+import java.util.ArrayList;
+
+import net.minecraft.block.Block;
+import net.minecraft.item.ItemStack;
+import net.minecraftforge.fluids.FluidStack;
+import gregtech.api.GregTech_API;
+import gregtech.api.enums.Textures;
+import gregtech.api.interfaces.ITexture;
+import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
+import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
+import gregtech.api.items.GT_MetaGenerated_Tool;
+import gregtech.api.objects.GT_RenderedTexture;
+import gregtech.api.util.GT_ModHandler;
+
+public class GT_MetaTileEntity_LargeTurbine_Steam extends GT_MetaTileEntity_LargeTurbine{
+
+ public GT_MetaTileEntity_LargeTurbine_Steam(int aID, String aName, String aNameRegional){super(aID, aName, aNameRegional);}
+ public GT_MetaTileEntity_LargeTurbine_Steam(String aName){super(aName);}
+
+ @Override
+ public ITexture[] getTexture(IGregTechTileEntity aBaseMetaTileEntity, byte aSide, byte aFacing, byte aColorIndex, boolean aActive, boolean aRedstone) {
+ return new ITexture[]{Textures.BlockIcons.MACHINE_CASINGS[1][aColorIndex+1], aFacing == aSide ? aActive ? new GT_RenderedTexture(Textures.BlockIcons.LARGETURBINE_ACTIVE5):new GT_RenderedTexture(Textures.BlockIcons.LARGETURBINE5) : Textures.BlockIcons.CASING_BLOCKS[57]};
+ }
+
+
+ public String[] getDescription()
+ {
+ return new String[] {
+ "Controller Block for the Large Steam Turbine",
+ "Size: 3x3x4 (Hollow)", "Controller (front centered)",
+ "1x Input Hatch (side centered)", "1x Output Hatch(side centered)",
+ "1x Dynamo Hatch (back centered)",
+ "1x Maintenance Hatch (side centered)",
+ "Turbine Casings for the rest (24 at least!)",
+ "Needs a Turbine Item (inside controller GUI)" };
+ }
+
+ @Override
+ public boolean checkRecipe(ItemStack aStack) {
+ ArrayList<FluidStack> steams = getStoredFluids();
+ if (steams.size()>0)
+ {if(baseEff==0 || optFlow == 0 || counter >= 1000 || this.getBaseMetaTileEntity().hasWorkJustBeenEnabled() || this.getBaseMetaTileEntity().hasInventoryBeenModified()){
+ counter = 0;
+ baseEff = (int) ((50.0F+(10.0F*((GT_MetaGenerated_Tool)aStack.getItem()).getToolCombatDamage(aStack)))*100);
+ optFlow = (int) Math.max(Float.MIN_NORMAL, ((GT_MetaGenerated_Tool)aStack.getItem()).getToolStats(aStack).getSpeedMultiplier() * ((GT_MetaGenerated_Tool)aStack.getItem()).getPrimaryMaterial(aStack).mToolSpeed*50);
+ }
+ int tEU=0;
+ int distOut=0;
+ for(int i=0;i<steams.size();i++){
+ if(steams.get(i).getFluid().getUnlocalizedName(steams.get(i)).equals("fluid.steam")||steams.get(i).getFluid().getUnlocalizedName(steams.get(i)).equals("fluid.ic2steam")){
+ int out = Math.min((int)(optFlow*1.5f),steams.get(i).amount);
+ depleteInput(new FluidStack(steams.get(i),out));
+ distOut += out/160;
+ tEU += steams.get(i).amount/2;
+ }
+ }
+ if(tEU<optFlow/20){tEU=0;}
+ if(tEU>optFlow/2) {tEU = optFlow/2;}
+ float tEff = tEU/(optFlow/2);
+ this.mEUt = (int) (tEff*tEU*baseEff/10000);
+ this.mMaxProgresstime = 1;
+// System.out.println("Eff: "+baseEff+" optFlow: "+optFlow+" tEff: "+tEff+" eut: "+mEUt+" out: "+distOut);
+ this.mEfficiencyIncrease = (this.mMaxProgresstime * 10);
+ if(mEUt==0){return false;}
+ addOutput(GT_ModHandler.getDistilledWater(distOut));
+ return true;
+ }
+ return false;
+ }
+
+ @Override
+ public IMetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) {return new GT_MetaTileEntity_LargeTurbine_Steam(mName);}
+ @Override
+ public Block getCasingBlock() {
+ return GregTech_API.sBlockCasings4;
+ }
+ @Override
+ public byte getCasingMeta() {
+ return 9;
+ }
+ @Override
+ public byte getCasingTextureIndex() {
+ return 46;
+ }
+
+
+}
diff --git a/main/java/gregtech/loaders/load/GT_FuelLoader.java b/main/java/gregtech/loaders/load/GT_FuelLoader.java
index 4d91afb44d..1644f63f12 100644
--- a/main/java/gregtech/loaders/load/GT_FuelLoader.java
+++ b/main/java/gregtech/loaders/load/GT_FuelLoader.java
@@ -29,7 +29,7 @@
/* 29: */
/* 30:23 */ GT_Values.RA.addFuel(GT_ModHandler.getModItem("Thaumcraft", "ItemResource", 1L, 4), null, 4, 5);
/* 31:24 */ GT_Values.RA.addFuel(new ItemStack(Items.experience_bottle, 1), null, 10, 5);
-/* 32:25 */ GT_Values.RA.addFuel(new ItemStack(Items.ghast_tear, 1), null, 500, 5);
+/* 32:25 */ GT_Values.RA.addFuel(new ItemStack(Items.ghast_tear, 1), null, 50, 5);
/* 33:26 */ GT_Values.RA.addFuel(new ItemStack(Blocks.beacon, 1), null, Materials.NetherStar.mFuelPower * 2, Materials.NetherStar.mFuelType);
/* 34: */ }
/* 35: */ }
diff --git a/main/java/gregtech/loaders/misc/GT_Achievements.java b/main/java/gregtech/loaders/misc/GT_Achievements.java
index 96463f24e3..17c2279458 100644
--- a/main/java/gregtech/loaders/misc/GT_Achievements.java
+++ b/main/java/gregtech/loaders/misc/GT_Achievements.java
@@ -139,8 +139,8 @@ public int adjY = 9;
registerAchievement("magic", 10, 4, ItemList.MagicEnergyConverter_LV.get(1, new Object[] {}), "titan", false);
registerAchievement("highmage", 10, 6, ItemList.MagicEnergyAbsorber_HV.get(1, new Object[] {}), "magic", false);
registerAchievement("artificaldia", 11, 2, ItemList.IC2_Industrial_Diamond.get(1, new Object[] {}), "titan", false);
- registerAchievement("muchsteam", 12, 1, ItemList.LargeTurbine.get(1, new Object[] {}), "titan", false);
- registerAchievement("efficientsteam", 12, 3, ItemList.LargeTurbine.get(1, new Object[] {}), "muchsteam", false);
+ registerAchievement("muchsteam", 12, 1, ItemList.LargeSteamTurbine.get(1, new Object[] {}), "titan", false);
+ registerAchievement("efficientsteam", 12, 3, ItemList.LargeSteamTurbine.get(1, new Object[] {}), "muchsteam", false);
registerAchievement("upgrade", 14, 0, ItemList.Casing_Coil_Kanthal.get(1, new Object[] {}), "titan", false);
registerAchievement("tungsten", 16, 0, GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Tungsten, 1L), "upgrade", false);
@@ -261,18 +261,19 @@ public int adjY = 9;
}
public void issueAchivementHatchFluid(EntityPlayer player, FluidStack fluid){
+ System.out.println("fluidAchievement "+fluid.getFluid().getUnlocalizedName());
if (player == null||fluid==null) {
return;
}
- if(fluid.getFluid().getUnlocalizedName().equals("plasma.helium")){
+ if(fluid.getFluid().getUnlocalizedName().equals("fluid.plasma.helium")){
issueAchievement(player, "fusion");
- }else if(fluid.getFluid().getUnlocalizedName().equals("molten.europium")){
+ }else if(fluid.getFluid().getUnlocalizedName().equals("fluid.molten.europium")){
issueAchievement(player, "advancing");
- }else if(fluid.getFluid().getUnlocalizedName().equals("molten.americum")){
+ }else if(fluid.getFluid().getUnlocalizedName().equals("fluid.molten.americium")){
issueAchievement(player, "tothelimit");
- }else if(fluid.getFluid().getUnlocalizedName().equals("molten.neutronium")){
+ }else if(fluid.getFluid().getUnlocalizedName().equals("fluid.molten.neutronium")){
issueAchievement(player, "denseaspossible");
- }else if(fluid.getFluid().getUnlocalizedName().equals("plasma.nitrogen")){
+ }else if(fluid.getFluid().getUnlocalizedName().equals("fluid.plasma.nitrogen")){
issueAchievement(player, "higherefficency");
}
}
@@ -367,6 +368,12 @@ public int adjY = 9;
issueAchievement(player, "alienpower");
}else if(stack.getUnlocalizedName().startsWith("gt.blockmachines.basicmachine.replicator.tier.")){
issueAchievement(player, "replication");
+ }else if(stack.getUnlocalizedName().equals("gt.blockmachines.basicgenerator.plasmagenerator.tier.07")){
+ issueAchievement(player, "fullefficiency");
+ }else if(stack.getUnlocalizedName().equals("gt.blockmachines.multimachine.largeturbine")){
+ issueAchievement(player, "muchsteam");
+ }else if(stack.getUnlocalizedName().equals("gt.blockmachines.multimachine.largehpturbine")){
+ issueAchievement(player, "efficientsteam");
}
}else if(stack.getUnlocalizedName().equals("gt.Thoriumcell")){
issueAchievement(player, "newfuel");
@@ -379,7 +386,6 @@ public int adjY = 9;
}else if(stack.getUnlocalizedName().equals("gt.blockcasings.15")){
issueAchievement(player, "conducting");
}
-
}
@SubscribeEvent
@@ -457,6 +463,8 @@ public int adjY = 9;
issueAchievement(player, "manipulation");
}else if(stack.getUnlocalizedName().equals("gt.metaitem.01.32729")){
issueAchievement(player, "filterregulate");
+ }else if(stack.getUnlocalizedName().equals("gt.metaitem.01.32605")){
+ issueAchievement(player, "whatnow");
}
}else if(stack.getUnlocalizedName().equals("ic2.itemPartCircuitAdv")){
issueAchievement(player, "stepforward");
diff --git a/main/java/gregtech/loaders/postload/GT_MachineRecipeLoader.java b/main/java/gregtech/loaders/postload/GT_MachineRecipeLoader.java
index 301a79409f..6b83f97b7a 100644
--- a/main/java/gregtech/loaders/postload/GT_MachineRecipeLoader.java
+++ b/main/java/gregtech/loaders/postload/GT_MachineRecipeLoader.java
@@ -678,23 +678,29 @@ public class GT_MachineRecipeLoader
GT_Values.RA.addBlastRecipe(GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.MeteoricIron, 1L), GT_Values.NI, Materials.Oxygen.getGas(1000L), GT_Values.NF, GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.MeteoricSteel, 1L), GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.DarkAsh, 1L), 500, 120, 1200);
GT_Values.RA.addBlastRecipe(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Copper, 1L), GT_Values.NI, Materials.Oxygen.getGas(1000L), GT_Values.NF, GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.AnnealedCopper, 1L), GT_Values.NI, 500, 120, 1200);
GT_Values.RA.addBlastRecipe(GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Copper, 1L), GT_Values.NI, Materials.Oxygen.getGas(1000L), GT_Values.NF, GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.AnnealedCopper, 1L), GT_Values.NI, 500, 120, 1200);
+
+ GT_Values.RA.addFusionReactorRecipe(Materials.Lithium.getMolten(9), Materials.Tungsten.getMolten(9), Materials.Iridium.getMolten(9), 32, 32768, 150000000);
+ GT_Values.RA.addFusionReactorRecipe(Materials.Deuterium.getGas(125), Materials.Tritium.getGas(125), Materials.Helium.getPlasma(125), 16, 4096, 40000000); //Mark 1 Cheap //
+ GT_Values.RA.addFusionReactorRecipe(Materials.Deuterium.getGas(125), Materials.Helium_3.getGas(125), Materials.Helium.getPlasma(125), 16, 2048, 60000000); //Mark 1 Expensive //
+ GT_Values.RA.addCannerRecipe(GT_ModHandler.getIC2Item("fuelRod", 1), GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Lithium, 1L), GT_ModHandler.getIC2Item("reactorLithiumCell", 1) , null, 16, 64);
+ GT_Values.RA.addFluidExtractionRecipe(GT_ModHandler.getIC2Item("TritiumCell", 1), GT_ModHandler.getIC2Item("fuelRod", 1), Materials.Tritium.getGas(9), 10000, 16, 64);
+ GT_Values.RA.addFusionReactorRecipe(Materials.Carbon.getMolten(144), Materials.Helium_3.getGas(144), Materials.Oxygen.getPlasma(144), 20, 4096, 80000000); //Mark 1 Expensive //
+ GT_Values.RA.addFusionReactorRecipe(Materials.Aluminium.getMolten(144), Materials.Lithium.getMolten(144), Materials.Sulfur.getPlasma(144), 20, 10240, 240000000); //Mark 2 Cheap
+ GT_Values.RA.addFusionReactorRecipe(Materials.Beryllium.getMolten(9), Materials.Deuterium.getGas(375), Materials.Nitrogen.getPlasma(125), 16, 16384, 180000000); //Mark 2 Expensive //
+ GT_Values.RA.addFusionReactorRecipe(Materials.Silicon.getMolten(9), Materials.Magnesium.getMolten(9), Materials.Iron.getPlasma(9), 20, 8192, 360000000); //Mark 3 Cheap //
+ GT_Values.RA.addFusionReactorRecipe(Materials.Potassium.getMolten(144), Materials.Fluorine.getGas(144), Materials.Nickel.getPlasma(144), 20, 32768, 480000000); //Mark 3 Expensive //
+ GT_Values.RA.addFusionReactorRecipe(Materials.Beryllium.getMolten(9), Materials.Tungsten.getMolten(9), Materials.Platinum.getMolten(9), 32, 32768, 300000000); //
+ GT_Values.RA.addFusionReactorRecipe(Materials.Neodymium.getMolten(9), Materials.Hydrogen.getGas(27), Materials.Europium.getMolten(9), 64, 24576, 150000000); //
+ GT_Values.RA.addFusionReactorRecipe(Materials.Lutetium.getMolten(9), Materials.Chrome.getMolten(9), Materials.Americium.getMolten(9), 96, 49152, 200000000); //
+ GT_Values.RA.addFusionReactorRecipe(Materials.Plutonium.getMolten(9), Materials.Thorium.getMolten(9), Materials.Naquadah.getMolten(9), 64, 32768, 300000000); //
+ GT_Values.RA.addFusionReactorRecipe(Materials.Americium.getMolten(16), Materials.Naquadria.getMolten(16), Materials.Neutronium.getMolten(1), 1200, 98304, 600000000); //
+
+
+
-// GT_Values.RA.addFusionReactorRecipe(Materials.Deuterium.getGas(125), Materials.Tritium.getGas(125), FluidRegistry.getFluidStack("heliumplasma", 125), 16, 4096, 40000000);
-// GT_Values.RA.addFusionReactorRecipe(Materials.Deuterium.getGas(125), Materials.Helium_3.getGas(125), FluidRegistry.getFluidStack("heliumplasma", 125), 16, 2048, 60000000);
-// GT_Values.RA.addFusionReactorRecipe(Materials.Lithium.getMolten(9), Materials.Tungsten.getMolten(9), Materials.Iridium.getMolten(9), 32, 32768, 150000000);
- GT_Values.RA.addFusionReactorRecipe(Materials.Deuterium.getGas(125), Materials.Tritium.getGas(125), Materials.Helium.getPlasma(125), 16, 4096, 40000000);
- GT_Values.RA.addFusionReactorRecipe(Materials.Deuterium.getGas(125), Materials.Helium_3.getGas(125), Materials.Helium.getPlasma(125), 16, 2048, 60000000);
- GT_Values.RA.addFusionReactorRecipe(Materials.Beryllium.getMolten(9), Materials.Tungsten.getMolten(9), Materials.Platinum.getMolten(9), 32, 32768, 300000000);
- GT_Values.RA.addFusionReactorRecipe(Materials.Neodymium.getMolten(9), Materials.Hydrogen.getGas(27), Materials.Europium.getMolten(9), 64, 24576, 150000000);
- GT_Values.RA.addFusionReactorRecipe(Materials.Lutetium.getMolten(9), Materials.Chrome.getMolten(9), Materials.Americium.getMolten(9), 96, 49152, 200000000);
- GT_Values.RA.addFusionReactorRecipe(Materials.Plutonium.getMolten(9), Materials.Thorium.getMolten(9), Materials.Naquadah.getMolten(9), 64, 32768, 300000000);
- GT_Values.RA.addFusionReactorRecipe(Materials.Americium.getMolten(16), Materials.Naquadria.getMolten(16), Materials.Neutronium.getMolten(1), 1200, 98304, 600000000);
- GT_Values.RA.addFusionReactorRecipe(Materials.Beryllium.getMolten(9), Materials.Deuterium.getGas(375), Materials.Nitrogen.getPlasma(125), 16, 16384, 180000000);
GT_ModHandler.removeRecipeByOutput(ItemList.IC2_Fertilizer.get(1L, new Object[0]));
GT_Values.RA.addImplosionRecipe(ItemList.IC2_Compressed_Coal_Chunk.get(1L, new Object[0]), 8, ItemList.IC2_Industrial_Diamond.get(1L, new Object[0]), GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.DarkAsh, 4L));
-// GT_Values.RA.addDistillationRecipe(GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Oil, 16L), 32, GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Fuel, 16L), GT_OreDictUnificator.get(OrePrefixes.cell, Materials.SulfuricAcid, 16L), GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Glyceryl, 1L), GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Methane, 15L), 4000, 64);
-// GT_Values.RA.addDistillationRecipe(GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Biomass, 3L), 0, GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Ethanol, 1L), GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Water, 1L), ItemList.Cell_Empty.get(1L, new Object[0]), ItemList.IC2_Fertilizer.get(1L, new Object[0]), 500, 64);
GT_Values.RA.addDistillationTowerRecipe(Materials.Oil.getFluid(64L), new FluidStack[]{Materials.Lubricant.getFluid(16L) , Materials.Fuel.getFluid(64L), Materials.SulfuricAcid.getFluid(64L), Materials.Glyceryl.getFluid(4L), Materials.Methane.getGas(60L)},null, 16, 64);
GT_Values.RA.addDistillationTowerRecipe(new FluidStack(ItemList.sOilLight, 128), new FluidStack[]{Materials.Lubricant.getFluid(16L) , Materials.Fuel.getFluid(64L), Materials.SulfuricAcid.getFluid(64L), Materials.Glyceryl.getFluid(4L), Materials.Methane.getGas(60L)}, null, 16, 64);
GT_Values.RA.addDistillationTowerRecipe(new FluidStack(ItemList.sOilMedium, 64), new FluidStack[]{Materials.Lubricant.getFluid(16L) , Materials.Fuel.getFluid(64L), Materials.SulfuricAcid.getFluid(64L), Materials.Glyceryl.getFluid(4L), Materials.Methane.getGas(60L)}, null, 16, 64);
@@ -1064,7 +1070,9 @@ public class GT_MachineRecipeLoader
GT_Values.RA.addCentrifugeRecipe(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Endstone, 1L), GT_Values.NI, GT_Values.NF, Materials.Helium.getGas(120L), GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Tungsten, 1L), GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Platinum, 1L), new ItemStack(Blocks.sand, 1), GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[] { 625, 625, 9000, 0, 0, 0 }, 320, 20);
GT_Values.RA.addCentrifugeRecipe(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Netherrack, 1L), GT_Values.NI, GT_Values.NF, GT_Values.NF, GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Redstone, 1L), GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.Sulfur, 1L), GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Coal, 1L), GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Gold, 1L), GT_Values.NI, GT_Values.NI, new int[] { 5625, 9900, 5625, 625, 0, 0 }, 160, 20);
GT_Values.RA.addCentrifugeRecipe(new ItemStack(Blocks.soul_sand, 1), GT_Values.NI, GT_Values.NF, Materials.Oil.getFluid(80L), GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.Saltpeter, 1L), GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Coal, 1L), new ItemStack(Blocks.sand, 1), GT_Values.NI, GT_Values.NI, GT_Values.NI, new int[] { 8000, 2000, 9000, 0, 0, 0 }, 200, 80);
- GT_Values.RA.addCentrifugeRecipe(GT_Values.NI, GT_Values.NI, Materials.Lava.getFluid(100L), GT_Values.NF, GT_OreDictUnificator.get(OrePrefixes.nugget, Materials.Copper, 1L), GT_OreDictUnificator.get(OrePrefixes.nugget, Materials.Tin, 1L), GT_OreDictUnificator.get(OrePrefixes.nugget, Materials.Gold, 1L), GT_OreDictUnificator.get(OrePrefixes.nugget, Materials.Silver, 1L), GT_OreDictUnificator.get(OrePrefixes.nugget, Materials.Tantalum, 1L), GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Tungsten, 1L), new int[] { 2000, 1000, 250, 250, 250, 125 }, 40, 80);
+ GT_Values.RA.addCentrifugeRecipe(GT_Values.NI, GT_Values.NI, Materials.Lava.getFluid(100L), GT_Values.NF, GT_OreDictUnificator.get(OrePrefixes.nugget, Materials.Copper, 1L), GT_OreDictUnificator.get(OrePrefixes.nugget, Materials.Tin, 1L), GT_OreDictUnificator.get(OrePrefixes.nugget, Materials.Gold, 1L), GT_OreDictUnificator.get(OrePrefixes.nugget, Materials.Silver, 1L), GT_OreDictUnificator.get(OrePrefixes.nugget, Materials.Tantalum, 1L), GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Tungsten, 1L), new int[] { 2000, 1000, 250, 250, 250, 125 }, 80, 80);
+ GT_Values.RA.addCentrifugeRecipe(GT_Values.NI, GT_Values.NI,FluidRegistry.getFluidStack("ic2pahoehoelava", 100), GT_Values.NF, GT_OreDictUnificator.get(OrePrefixes.nugget, Materials.Copper, 1L), GT_OreDictUnificator.get(OrePrefixes.nugget, Materials.Tin, 1L), GT_OreDictUnificator.get(OrePrefixes.nugget, Materials.Gold, 1L), GT_OreDictUnificator.get(OrePrefixes.nugget, Materials.Silver, 1L), GT_OreDictUnificator.get(OrePrefixes.nugget, Materials.Tantalum, 1L), GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Tungsten, 1L), new int[] { 2000, 1000, 250, 250, 250, 125 }, 40, 80);
+
GT_Values.RA.addCentrifugeRecipe(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.RareEarth, 1L), GT_Values.NI, GT_Values.NF, GT_Values.NF, GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.Neodymium, 1L), GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.Yttrium, 1L), GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.Lanthanum, 1L), GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.Cerium, 1L), GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.Cadmium, 1L), GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.Caesium, 1L), new int[] { 2500, 2500, 2500, 2500, 2500, 2500 }, 64, 20);
GT_Values.RA.addCentrifugeRecipe(GT_ModHandler.getModItem("appliedenergistics2", "item.ItemMultiMaterial", 1L, 45), GT_Values.NI, GT_Values.NF, GT_Values.NF, GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.BasalticMineralSand, 1L), GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.Olivine, 1L), GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.Obsidian, 1L), GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.Basalt, 1L), GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.Flint, 1L), GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.RareEarth, 1L), new int[] { 2000, 2000, 2000, 2000, 2000, 2000 }, 64, 20);
if (GregTech_API.sThaumcraftCompat != null)
diff --git a/main/java/gregtech/loaders/preload/GT_Loader_Item_Block_And_Fluid.java b/main/java/gregtech/loaders/preload/GT_Loader_Item_Block_And_Fluid.java
index d5ea52cf61..fd66af590e 100644
--- a/main/java/gregtech/loaders/preload/GT_Loader_Item_Block_And_Fluid.java
+++ b/main/java/gregtech/loaders/preload/GT_Loader_Item_Block_And_Fluid.java
@@ -202,7 +202,9 @@ import ic2.core.item.ItemRadioactive;
/* 154:155 */ GT_Mod.gregtechproxy.addFluid("Deuterium", "Deuterium", Materials.Deuterium, 2, 295, GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Deuterium, 1L), ItemList.Cell_Empty.get(1L, new Object[0]), 1000);
/* 155:156 */ GT_Mod.gregtechproxy.addFluid("Tritium", "Tritium", Materials.Tritium, 2, 295, GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Tritium, 1L), ItemList.Cell_Empty.get(1L, new Object[0]), 1000);
/* 156:157 */ GT_Mod.gregtechproxy.addFluid("Helium", "Helium", Materials.Helium, 2, 295, GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Helium, 1L), ItemList.Cell_Empty.get(1L, new Object[0]), 1000);
-/* 157:158 */ GT_Mod.gregtechproxy.addFluid("Helium-3", "Helium-3", Materials.Helium_3, 2, 295, GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Helium_3, 1L), ItemList.Cell_Empty.get(1L, new Object[0]), 1000);
+/* 157:158 */ GT_Mod.gregtechproxy.addFluid("Fluorine", "Fluorine", Materials.Fluorine, 2, 53, GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Fluorine, 1L), ItemList.Cell_Empty.get(1L, new Object[0]), 1000);
+///* 157:158 */ Materials.Lithium.mStandardMoltenFluid = new Fluid("lithium");
+ GT_Mod.gregtechproxy.addFluid("Helium-3", "Helium-3", Materials.Helium_3, 2, 295, GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Helium_3, 1L), ItemList.Cell_Empty.get(1L, new Object[0]), 1000);
/* 158:159 */ GT_Mod.gregtechproxy.addFluid("Methane", "Methane", Materials.Methane, 2, 295, GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Methane, 1L), ItemList.Cell_Empty.get(1L, new Object[0]), 1000);
/* 159:160 */ GT_Mod.gregtechproxy.addFluid("Nitrogen", "Nitrogen", Materials.Nitrogen, 2, 295, GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Nitrogen, 1L), ItemList.Cell_Empty.get(1L, new Object[0]), 1000);
/* 160:161 */ GT_Mod.gregtechproxy.addFluid("NitrogenDioxide", "Nitrogen Dioxide", Materials.NitrogenDioxide, 2, 295, GT_OreDictUnificator.get(OrePrefixes.cell, Materials.NitrogenDioxide, 1L), ItemList.Cell_Empty.get(1L, new Object[0]), 1000);
diff --git a/main/java/gregtech/loaders/preload/GT_Loader_MetaTileEntities.java b/main/java/gregtech/loaders/preload/GT_Loader_MetaTileEntities.java
index 582853389b..dae44588dc 100644
--- a/main/java/gregtech/loaders/preload/GT_Loader_MetaTileEntities.java
+++ b/main/java/gregtech/loaders/preload/GT_Loader_MetaTileEntities.java
@@ -968,13 +968,13 @@ import net.minecraftforge.oredict.OreDictionary;
GT_ModHandler.addCraftingRecipe(ItemList.FusionComputer_ZPMV.get(1L, new Object[0]), GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE | GT_ModHandler.RecipeBits.BUFFERED, new Object[] { "CBC", "FMF", "CBC", 'M', ItemList.FusionComputer_LuV, 'C', OrePrefixes.circuit.get(Materials.Master), 'F', ItemList.Field_Generator_IV, 'B', OrePrefixes.plate.get(Materials.Europium) });
GT_ModHandler.addCraftingRecipe(ItemList.FusionComputer_UV.get(1L, new Object[0]), GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE | GT_ModHandler.RecipeBits.BUFFERED, new Object[] { "CBC", "FMF", "CBC", 'M', ItemList.FusionComputer_ZPMV, 'C', OrePrefixes.circuit.get(Materials.Master), 'F', ItemList.Field_Generator_IV, 'B', OrePrefixes.plate.get(Materials.Americium) });
- ItemList.Generator_Plasma_IV.set(new GT_MetaTileEntity_PlasmaGenerator(1196, "basicgenerator.plasmagenerator.tier.05", "Plasma Generator Mark I",5).getStackForm(1L));
- ItemList.Generator_Plasma_LuV.set(new GT_MetaTileEntity_PlasmaGenerator(1197, "basicgenerator.plasmagenerator.tier.06", "Plasma Generator Mark II",6).getStackForm(1L));
- ItemList.Generator_Plasma_ZPMV.set(new GT_MetaTileEntity_PlasmaGenerator(1198, "basicgenerator.plasmagenerator.tier.07", "Plasma Generator Mark III",7).getStackForm(1L));
+ ItemList.Generator_Plasma_IV.set(new GT_MetaTileEntity_PlasmaGenerator(1196, "basicgenerator.plasmagenerator.tier.05", "Plasma Generator Mark I",4).getStackForm(1L));
+ ItemList.Generator_Plasma_LuV.set(new GT_MetaTileEntity_PlasmaGenerator(1197, "basicgenerator.plasmagenerator.tier.06", "Plasma Generator Mark II",5).getStackForm(1L));
+ ItemList.Generator_Plasma_ZPMV.set(new GT_MetaTileEntity_PlasmaGenerator(1198, "basicgenerator.plasmagenerator.tier.07", "Plasma Generator Mark III",6).getStackForm(1L));
- GT_ModHandler.addCraftingRecipe(ItemList.Generator_Plasma_IV.get(1L, new Object[0]), GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE | GT_ModHandler.RecipeBits.BUFFERED, new Object[] { "UCU", "FMF", "WCW", Character.valueOf('M'), ItemList.Hull_ZPM, Character.valueOf('F'), ItemList.Field_Generator_HV, Character.valueOf('C'), OrePrefixes.circuit.get(Materials.Master), Character.valueOf('W'), OrePrefixes.cableGt04.get(Materials.Tungsten), Character.valueOf('U'), OrePrefixes.stick.get(Materials.Uranium235) });
- GT_ModHandler.addCraftingRecipe(ItemList.Generator_Plasma_LuV.get(1L, new Object[0]), GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE | GT_ModHandler.RecipeBits.BUFFERED, new Object[] { "UCU", "FMF", "WCW", Character.valueOf('M'), ItemList.Hull_UV, Character.valueOf('F'), ItemList.Field_Generator_EV, Character.valueOf('C'), OrePrefixes.circuit.get(Materials.Master), Character.valueOf('W'), OrePrefixes.wireGt04.get(Materials.Superconductor), Character.valueOf('U'), OrePrefixes.stick.get(Materials.Plutonium241) });
- GT_ModHandler.addCraftingRecipe(ItemList.Generator_Plasma_ZPMV.get(1L, new Object[0]), GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE | GT_ModHandler.RecipeBits.BUFFERED, new Object[] { "UCU", "FMF", "WCW", Character.valueOf('M'), ItemList.Hull_MAX, Character.valueOf('F'), ItemList.Field_Generator_IV, Character.valueOf('C'), OrePrefixes.circuit.get(Materials.Master), Character.valueOf('W'), OrePrefixes.wireGt04.get(Materials.Superconductor), Character.valueOf('U'), OrePrefixes.stick.get(Materials.NaquadahEnriched) });
+ GT_ModHandler.addCraftingRecipe(ItemList.Generator_Plasma_IV.get(1L, new Object[0]), GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE | GT_ModHandler.RecipeBits.BUFFERED, new Object[] { "UCU", "FMF", "WCW", Character.valueOf('M'), ItemList.Hull_LuV, Character.valueOf('F'), ItemList.Field_Generator_HV, Character.valueOf('C'), OrePrefixes.circuit.get(Materials.Master), Character.valueOf('W'), OrePrefixes.cableGt04.get(Materials.Tungsten), Character.valueOf('U'), OrePrefixes.stick.get(Materials.Plutonium241) });
+ GT_ModHandler.addCraftingRecipe(ItemList.Generator_Plasma_LuV.get(1L, new Object[0]), GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE | GT_ModHandler.RecipeBits.BUFFERED, new Object[] { "UCU", "FMF", "WCW", Character.valueOf('M'), ItemList.Hull_ZPM, Character.valueOf('F'), ItemList.Field_Generator_EV, Character.valueOf('C'), OrePrefixes.circuit.get(Materials.Master), Character.valueOf('W'), OrePrefixes.wireGt04.get(Materials.Superconductor), Character.valueOf('U'), OrePrefixes.stick.get(Materials.Europium) });
+ GT_ModHandler.addCraftingRecipe(ItemList.Generator_Plasma_ZPMV.get(1L, new Object[0]), GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE | GT_ModHandler.RecipeBits.BUFFERED, new Object[] { "UCU", "FMF", "WCW", Character.valueOf('M'), ItemList.Hull_UV, Character.valueOf('F'), ItemList.Field_Generator_IV, Character.valueOf('C'), OrePrefixes.circuit.get(Materials.Master), Character.valueOf('W'), OrePrefixes.wireGt04.get(Materials.Superconductor), Character.valueOf('U'), OrePrefixes.stick.get(Materials.Americium) });
ItemList.Processing_Array.set(new GT_MetaTileEntity_ProcessingArray(1199,"multimachine.processingarray","Processing Array").getStackForm(1L));
GT_ModHandler.addCraftingRecipe(ItemList.Processing_Array.get(1L, new Object[0]), GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE | GT_ModHandler.RecipeBits.BUFFERED, new Object[] { "CTC", "FMF", "CBC", 'M', ItemList.Hull_EV, 'B', OrePrefixes.pipeLarge.get(Materials.StainlessSteel), 'C', OrePrefixes.circuit.get(Materials.Master), 'F', ItemList.Robot_Arm_EV, 'T', ItemList.Energy_LapotronicOrb });
@@ -982,7 +982,16 @@ import net.minecraftforge.oredict.OreDictionary;
ItemList.Distillation_Tower.set(new GT_MetaTileEntity_DistillationTower(1126, "multimachine.distillationtower", "Distillation Tower").getStackForm(1L));
GT_ModHandler.addCraftingRecipe(ItemList.Distillation_Tower.get(1L, new Object[0]), GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE | GT_ModHandler.RecipeBits.BUFFERED, new Object[] { "CBC", "FMF", "CBC", 'M', ItemList.Hull_EV, 'B', OrePrefixes.pipeLarge.get(Materials.StainlessSteel), 'C', OrePrefixes.circuit.get(Materials.Master), 'F', ItemList.Electric_Pump_EV});
- ItemList.LargeTurbine.set(new GT_MetaTileEntity_LargeTurbine(1131, "multimachine.largeturbine", "Large Turbine").getStackForm(1L));
+ ItemList.LargeSteamTurbine.set(new GT_MetaTileEntity_LargeTurbine_Steam(1131, "multimachine.largeturbine", "Large Steam Turbine").getStackForm(1L));
+ ItemList.LargeGasTurbine.set(new GT_MetaTileEntity_LargeTurbine_Gas(1151, "multimachine.largegasturbine", "Large Gas Turbine").getStackForm(1L));
+ ItemList.LargeHPSteamTurbine.set(new GT_MetaTileEntity_LargeTurbine_HPSteam(1152, "multimachine.largehpturbine", "Large High Pressure Steam Turbine").getStackForm(1L));
+ ItemList.LargePlasmaTurbine.set(new GT_MetaTileEntity_LargeTurbine_Plasma(1153, "multimachine.largeplasmaturbine", "Large Plasma Generator").getStackForm(1L));
+
+ GT_ModHandler.addCraftingRecipe(ItemList.LargeSteamTurbine.get(1L, new Object[0]), GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE | GT_ModHandler.RecipeBits.BUFFERED, new Object[] { "CPC", "PMP", "BPB", 'M', ItemList.Hull_HV, 'B', OrePrefixes.pipeLarge.get(Materials.StainlessSteel), 'C', OrePrefixes.circuit.get(Materials.Advanced), 'P', OrePrefixes.gearGt.get(Materials.Steel)});
+ GT_ModHandler.addCraftingRecipe(ItemList.LargeGasTurbine.get(1L, new Object[0]), GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE | GT_ModHandler.RecipeBits.BUFFERED, new Object[] { "CPC", "PMP", "BPB", 'M', ItemList.Hull_EV, 'B', OrePrefixes.pipeLarge.get(Materials.Titanium), 'C', OrePrefixes.circuit.get(Materials.Elite), 'P', OrePrefixes.gearGt.get(Materials.Titanium)});
+ GT_ModHandler.addCraftingRecipe(ItemList.LargeHPSteamTurbine.get(1L, new Object[0]), GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE | GT_ModHandler.RecipeBits.BUFFERED, new Object[] { "CPC", "PMP", "BPB", 'M', ItemList.Hull_IV, 'B', OrePrefixes.pipeLarge.get(Materials.TungstenSteel), 'C', OrePrefixes.circuit.get(Materials.Master), 'P', OrePrefixes.gearGt.get(Materials.TungstenSteel)});
+ GT_ModHandler.addCraftingRecipe(ItemList.LargePlasmaTurbine.get(1L, new Object[0]), GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE | GT_ModHandler.RecipeBits.BUFFERED, new Object[] { "CPC", "PMP", "BPB", 'M', ItemList.Hull_UV, 'B', OrePrefixes.pipeHuge.get(Materials.TungstenSteel), 'C', OrePrefixes.circuit.get(Materials.Master), 'P', OrePrefixes.gearGt.get(Materials.TungstenSteel)});
+
ItemList.Pump_LV.set(new GT_MetaTileEntity_Pump(1140, "basicmachine.pump.tier.01", "Basic Pump",1).getStackForm(1L));
ItemList.Pump_MV.set(new GT_MetaTileEntity_Pump(1141, "basicmachine.pump.tier.02", "Advanced Pump",2).getStackForm(1L));
@@ -1011,6 +1020,8 @@ import net.minecraftforge.oredict.OreDictionary;
GT_ModHandler.addCraftingRecipe(ItemList.MobRep_EV.get(1L, new Object[0]), GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE | GT_ModHandler.RecipeBits.BUFFERED, new Object[] { "EEE", " M ", "CCC", 'M', ItemList.Hull_EV, 'E', ItemList.Emitter_EV.get(1L, new Object[0]), 'C', OrePrefixes.circuit.get(Materials.Data)});
GT_ModHandler.addCraftingRecipe(ItemList.MobRep_IV.get(1L, new Object[0]), GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE | GT_ModHandler.RecipeBits.BUFFERED, new Object[] { "EEE", " M ", "CCC", 'M', ItemList.Hull_IV, 'E', ItemList.Emitter_IV.get(1L, new Object[0]), 'C', OrePrefixes.circuit.get(Materials.Elite)});
+ ItemList.Machine_Multi_HeatExchanger.set(new GT_MetaTileEntity_HeatExchanger(1154, "multimachine.heatexchanger", "Large Heat Exchanger").getStackForm(1L));
+ GT_ModHandler.addCraftingRecipe(ItemList.Machine_Multi_HeatExchanger.get(1L, new Object[0]), GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE | GT_ModHandler.RecipeBits.BUFFERED, new Object[] { "WCW", "CMC", "WCW", Character.valueOf('M'), ItemList.Casing_Pipe_Titanium, Character.valueOf('C'), OrePrefixes.pipeMedium.get(Materials.Titanium), Character.valueOf('W'), ItemList.Electric_Pump_EV});
}
/* 981: */
/* 982: */ private static void run4()
diff --git a/main/resources/assets/gregtech/textures/blocks/fluids/fluid.fluorine.png b/main/resources/assets/gregtech/textures/blocks/fluids/fluid.fluorine.png
new file mode 100644
index 0000000000..6247837ed4
--- /dev/null
+++ b/main/resources/assets/gregtech/textures/blocks/fluids/fluid.fluorine.png
Binary files differ
diff --git a/main/resources/assets/gregtech/textures/blocks/fluids/fluid.fluorine.png.mcmeta b/main/resources/assets/gregtech/textures/blocks/fluids/fluid.fluorine.png.mcmeta
new file mode 100644
index 0000000000..0df7234a79
--- /dev/null
+++ b/main/resources/assets/gregtech/textures/blocks/fluids/fluid.fluorine.png.mcmeta
@@ -0,0 +1,5 @@
+{
+ "animation":{
+ "frametime":2
+ }
+} \ No newline at end of file
diff --git a/main/resources/assets/gregtech/textures/items/gt.metaitem.01/531/Thumbs.db b/main/resources/assets/gregtech/textures/items/gt.metaitem.01/531/Thumbs.db
index 2bf989c19f..3075ada8d4 100644
--- a/main/resources/assets/gregtech/textures/items/gt.metaitem.01/531/Thumbs.db
+++ b/main/resources/assets/gregtech/textures/items/gt.metaitem.01/531/Thumbs.db
Binary files differ
diff --git a/main/resources/assets/gregtech/textures/items/gt.metaitem.01/735.png b/main/resources/assets/gregtech/textures/items/gt.metaitem.01/735.png
new file mode 100644
index 0000000000..aa2ac2706e
--- /dev/null
+++ b/main/resources/assets/gregtech/textures/items/gt.metaitem.01/735.png
Binary files differ