aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJordan Byrne <draknyte1@hotmail.com>2018-05-12 17:00:15 +1000
committerJordan Byrne <draknyte1@hotmail.com>2018-05-12 17:00:15 +1000
commit75d5897f4db4e97feca4fe4d978cc5823cbbb150 (patch)
tree23f0527839930bb790cb68a5a2db86429768d161 /src
parent30c22ef725680a8e63a950bf34343d68c96340b2 (diff)
downloadGT5-Unofficial-75d5897f4db4e97feca4fe4d978cc5823cbbb150.tar.gz
GT5-Unofficial-75d5897f4db4e97feca4fe4d978cc5823cbbb150.tar.bz2
GT5-Unofficial-75d5897f4db4e97feca4fe4d978cc5823cbbb150.zip
% Initial Commit
Diffstat (limited to 'src')
-rw-r--r--src/Java/gregtech/api/util/Recipe_GT.java6
-rw-r--r--src/Java/gtPlusPlus/GTplusplus.java42
-rw-r--r--src/Java/gtPlusPlus/core/commands/CommandMath.java13
-rw-r--r--src/Java/gtPlusPlus/core/handler/COMPAT_HANDLER.java1
-rw-r--r--src/Java/gtPlusPlus/core/item/general/rfchargingpack/ChargingPackBase.java84
-rw-r--r--src/Java/gtPlusPlus/core/material/Material.java110
-rw-r--r--src/Java/gtPlusPlus/core/recipe/RECIPES_GREGTECH.java36
-rw-r--r--src/Java/gtPlusPlus/core/recipe/RECIPES_Machines.java48
-rw-r--r--src/Java/gtPlusPlus/core/recipe/common/CI.java1
-rw-r--r--src/Java/gtPlusPlus/core/util/minecraft/MaterialUtils.java32
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/ULV/GT_MetaTileEntity_ULV_CombustionGenerator.java27
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/ULV/GT_MetaTileEntity_ULV_GasTurbine.java22
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/ULV/GT_MetaTileEntity_ULV_SteamTurbine.java28
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialMultiMachine.java5
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialVacuumFreezer.java4
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/advanced/GregtechMetaTileEntity_Adv_EBF.java242
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/advanced/GregtechMetaTileEntity_Adv_Fusion_MK4.java75
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/advanced/GregtechMetaTileEntity_Adv_Implosion.java123
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntityTreeFarm.java1
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/storage/GregtechMetaTileEntity_PowerSubStationController.java2
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechGeneratorsULV15
-rw-r--r--src/resources/assets/gregtech/textures/gui/PowerSubStation.pngbin0 -> 1924 bytes
22 files changed, 752 insertions, 165 deletions
diff --git a/src/Java/gregtech/api/util/Recipe_GT.java b/src/Java/gregtech/api/util/Recipe_GT.java
index eb8d8f546f..c9d3194aad 100644
--- a/src/Java/gregtech/api/util/Recipe_GT.java
+++ b/src/Java/gregtech/api/util/Recipe_GT.java
@@ -984,7 +984,8 @@ public class Recipe_GT extends GT_Recipe implements IComparableRecipe{
if (mColumn >= 3) {
mColumn = 0;
mRow++;
- }
+ }
+ if (mColumn <= 2 && mRow <= 3)
outputStacks.add(
(PositionedStack) new GT_NEI_MultiBlockHandler.FixedPositionedStack(
(Object) mNEIMap.get(i), xPos[mColumn++], yPos[mRow]));
@@ -1148,7 +1149,8 @@ public class Recipe_GT extends GT_Recipe implements IComparableRecipe{
if (mColumn >= 3) {
mColumn = 0;
mRow++;
- }
+ }
+ if (mColumn <= 2 && mRow <= 3)
outputStacks.add(
(PositionedStack) new GT_NEI_MultiBlockHandler.FixedPositionedStack(
(Object) mNEIMap.get(i), xPos[mColumn++], yPos[mRow]));
diff --git a/src/Java/gtPlusPlus/GTplusplus.java b/src/Java/gtPlusPlus/GTplusplus.java
index 0aadef5e4b..a8c880c660 100644
--- a/src/Java/gtPlusPlus/GTplusplus.java
+++ b/src/Java/gtPlusPlus/GTplusplus.java
@@ -101,7 +101,7 @@ public class GTplusplus implements ActionListener {
CORE.USER_COUNTRY = GeoUtils.determineUsersCountry();
// Handle GT++ Config
- ConfigHandler.handleConfigFile(event);
+ ConfigHandler.handleConfigFile(event);
//Check for Dev
CORE.DEVENV = (Boolean) Launch.blackboard.get("fml.deobfuscatedEnvironment");
@@ -146,8 +146,8 @@ public class GTplusplus implements ActionListener {
proxy.postInit(event);
BookHandler.runLater();
Core_Manager.postInit();
- RecipeGen_Recycling.executeGenerators();
-
+ RecipeGen_Recycling.executeGenerators();
+
Logger.INFO("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
Logger.INFO("| Recipes succesfully Loaded: " + RegistrationHandler.recipesSuccess + " | Failed: "
+ RegistrationHandler.recipesFailed + " |");
@@ -162,9 +162,9 @@ public class GTplusplus implements ActionListener {
@EventHandler
public void serverStarting(final FMLServerStartingEvent event) {
-
- if (CORE.DEVENV)
- event.registerServerCommand(new CommandMath());
+
+ if (CORE.DEVENV)
+ event.registerServerCommand(new CommandMath());
//Chunk Loading
Timer h = ChunkManager.createChunkQueue();
@@ -194,15 +194,15 @@ public class GTplusplus implements ActionListener {
public void actionPerformed(final ActionEvent arg0) {
}
-
-
+
+
/**
* This {@link EventHandler} is called after the {@link FMLPostInitializationEvent} stages of all loaded mods executes successfully.
* {@link #onLoadComplete(FMLLoadCompleteEvent)} exists to inject recipe generation after Gregtech and all other mods are entirely loaded and initialized.
* @param event - The {@link EventHandler} object passed through from FML to {@link #GTplusplus()}'s {@link #instance}.
*/
@Mod.EventHandler
- public void onLoadComplete(FMLLoadCompleteEvent event) {
+ public void onLoadComplete(FMLLoadCompleteEvent event) {
RecipeGen_BlastSmelterGT_GTNH.generateGTNHBlastSmelterRecipesFromEBFList();
FishPondFakeRecipe.generateFishPondRecipes();
@@ -219,14 +219,14 @@ public class GTplusplus implements ActionListener {
CORE.RA.addMultiblockElectrolyzerRecipe(x.mInputs, x.mFluidInputs, x.mFluidOutputs, x.mOutputs, x.mDuration, x.mEUt);
}
}
-
+
//Advanced Vacuum Freezer generation
for (GT_Recipe x : GT_Recipe.GT_Recipe_Map.sVacuumRecipes.mRecipeList) {
- if (x != null && RecipeUtils.doesGregtechRecipeHaveEqualCells(x)) {
+ if (x != null && RecipeUtils.doesGregtechRecipeHaveEqualCells(x)) {
CORE.RA.addAdvancedFreezerRecipe(x.mInputs, x.mFluidInputs, x.mFluidOutputs, x.mOutputs, (x.mDuration/2), x.mEUt);
}
}
-
+
}
protected void dumpGtRecipeMap(final GT_Recipe_Map r) {
@@ -249,11 +249,11 @@ public class GTplusplus implements ActionListener {
SegmentAnalytics.isEnabled = CORE.ConfigSwitches.enableUpdateChecker;
if (!Utils.isServer() && PlayerUtils.isPlayerAlkalus()){
SegmentAnalytics.isEnabled = true;
- }
+ }
new SegmentHelper();
}
- private static final boolean setupMaterialBlacklist(){
+ private static final boolean setupMaterialBlacklist(){
int ID = 0;
Material.invalidMaterials.put(ID++, Materials._NULL);
Material.invalidMaterials.put(ID++, Materials.Clay);
@@ -262,9 +262,9 @@ public class GTplusplus implements ActionListener {
Material.invalidMaterials.put(ID++, Materials.Bronze);
Material.invalidMaterials.put(ID++, Materials.Hydrogen);
//Infused TC stuff
- Material.invalidMaterials.put(ID++, Materials.InfusedAir);
- Material.invalidMaterials.put(ID++, Materials.InfusedEarth);
- Material.invalidMaterials.put(ID++, Materials.InfusedFire);
+ Material.invalidMaterials.put(ID++, Materials.InfusedAir);
+ Material.invalidMaterials.put(ID++, Materials.InfusedEarth);
+ Material.invalidMaterials.put(ID++, Materials.InfusedFire);
Material.invalidMaterials.put(ID++, Materials.InfusedWater);
//EIO Materials
@@ -290,10 +290,10 @@ public class GTplusplus implements ActionListener {
//Non GTNH Materials
if (!CORE.GTNH){
//Mithril - Random Dungeon Loot
- mGregMatLoader.enableMaterial(Materials.Mithril);
- }
+ mGregMatLoader.enableMaterial(Materials.Mithril);
+ }
//Force - Alloying
- mGregMatLoader.enableMaterial(Materials.Force);
+ mGregMatLoader.enableMaterial(Materials.Force);
}
-} \ No newline at end of file
+}
diff --git a/src/Java/gtPlusPlus/core/commands/CommandMath.java b/src/Java/gtPlusPlus/core/commands/CommandMath.java
index 6ab0b2cbc6..9c51aa7a9b 100644
--- a/src/Java/gtPlusPlus/core/commands/CommandMath.java
+++ b/src/Java/gtPlusPlus/core/commands/CommandMath.java
@@ -56,7 +56,7 @@ public class CommandMath implements ICommand
final World W = S.getEntityWorld();
final EntityPlayer P = CommandUtils.getPlayer(S);
if (!W.isRemote && P != null){
- if (P.getDisplayName().toLowerCase().equals("draknyte1") || P.getCommandSenderName().toLowerCase().equals("draknyte1")) {
+ if (P.getDisplayName().toLowerCase().equals("draknyte1") || P.getCommandSenderName().toLowerCase().equals("draknyte1")) {
String[] prefixes = new String[] {
"ingot",
"plate",
@@ -83,8 +83,8 @@ public class CommandMath implements ICommand
"Silver",
"Lead",
"Aluminium"
- };
- AutoMap<EntityItem> itemEntities = new AutoMap<EntityItem>();
+ };
+ AutoMap<EntityItem> itemEntities = new AutoMap<EntityItem>();
for (String g : prefixes) {
for (String s : loots) {
itemEntities.put(new EntityItem(W, P.posX, P.posY, P.posZ, ItemUtils.getItemStackOfAmountFromOreDictNoBroken(g+s, 64)));
@@ -92,7 +92,7 @@ public class CommandMath implements ICommand
for (EntityItem e : itemEntities.values()) {
e.lifespan = 30000;
}
-
+
}
}
@@ -195,7 +195,7 @@ public class CommandMath implements ICommand
public boolean canCommandSenderUseCommand(final ICommandSender var1){
final EntityPlayer P = CommandUtils.getPlayer(var1);
if (P == null){
- return false;
+ return false;
}
if (P.getDisplayName().toLowerCase().equals("draknyte1") || P.getCommandSenderName().toLowerCase().equals("draknyte1")) {
return true;
@@ -220,4 +220,5 @@ public class CommandMath implements ICommand
return true;
}
-} \ No newline at end of file
+}
+
diff --git a/src/Java/gtPlusPlus/core/handler/COMPAT_HANDLER.java b/src/Java/gtPlusPlus/core/handler/COMPAT_HANDLER.java
index d34e1a1856..2c09ba1f03 100644
--- a/src/Java/gtPlusPlus/core/handler/COMPAT_HANDLER.java
+++ b/src/Java/gtPlusPlus/core/handler/COMPAT_HANDLER.java
@@ -58,7 +58,6 @@ public class COMPAT_HANDLER {
new RECIPES_LaserEngraver();
new RECIPES_Extruder();
- GregtechGeneratorsULV.run();
GregtechEnergyBuffer.run();
GregtechLFTR.run();
GregtechSteamCondenser.run();
diff --git a/src/Java/gtPlusPlus/core/item/general/rfchargingpack/ChargingPackBase.java b/src/Java/gtPlusPlus/core/item/general/rfchargingpack/ChargingPackBase.java
new file mode 100644
index 0000000000..d4d3a07e6f
--- /dev/null
+++ b/src/Java/gtPlusPlus/core/item/general/rfchargingpack/ChargingPackBase.java
@@ -0,0 +1,84 @@
+package gtPlusPlus.core.item.general.rfchargingpack;
+
+import java.util.List;
+
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.EnumChatFormatting;
+import net.minecraft.world.World;
+
+import cofh.energy.ItemEnergyContainer;
+import gtPlusPlus.core.util.math.MathUtils;
+
+public class ChargingPackBase extends ItemEnergyContainer {
+
+ protected final int mCapacityMax;
+ protected final byte mTier;
+
+ public ChargingPackBase(byte tier) {
+ this(tier, (tier == 1 ? 4000000 : tier == 2 ? 8000000 : tier == 3 ? 16000000 : tier == 4 ? 32000000 : 64000000));
+ }
+
+ private ChargingPackBase(byte tier, int maxStorage) {
+ super(maxStorage);
+ mTier = tier;
+ mCapacityMax = maxStorage;
+ }
+
+ public int getMaxEnergyInput(ItemStack container)
+ {
+ return this.maxReceive;
+ }
+
+ public int getMaxEnergyExtracted(ItemStack container)
+ {
+ return this.maxExtract;
+ }
+
+ @Override
+ public void onUpdate(ItemStack aStack, World aWorld, Entity aEnt, int p_77663_4_, boolean p_77663_5_) {
+ super.onUpdate(aStack, aWorld, aEnt, p_77663_4_, p_77663_5_);
+
+ ItemEnergyContainer current = this;
+ int currentStored = 0;
+ if (current != null) {
+ currentStored = current.getEnergyStored(aStack);
+ }
+ if (currentStored > 0) {
+ if (aEnt instanceof EntityPlayer) {
+ if (((EntityPlayer) aEnt).inventory != null) {
+ for (ItemStack invStack : ((EntityPlayer) aEnt).inventory.mainInventory) {
+ if (invStack != null) {
+ if (invStack.getItem() instanceof ItemEnergyContainer) {
+ if (current != null) {
+ currentStored = current.getEnergyStored(aStack);
+ if (currentStored > 0) {
+ int mTransLimit;
+ int mMaxStorage;
+ int mCurrent;
+ mTransLimit = getMaxEnergyInput(invStack);
+ mMaxStorage = current.getMaxEnergyStored(invStack);
+ mCurrent = current.getEnergyStored(invStack);
+ if (mCurrent+mTransLimit <= mMaxStorage) {
+ current.extractEnergy(aStack, current.receiveEnergy(invStack, mTransLimit, false), false);
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+
+ @Override
+ public void addInformation(ItemStack stack, EntityPlayer p_77624_2_, List list, boolean p_77624_4_) {
+ list.add(EnumChatFormatting.RED+"RF Information");
+ list.add(EnumChatFormatting.GRAY+"Extraction Rate: [" +EnumChatFormatting.RED+ this.maxExtract + EnumChatFormatting.GRAY + "Rf/t]" + " Insert Rate: [" +EnumChatFormatting.RED+ this.maxReceive+EnumChatFormatting.GRAY+"Rf/t]");
+ list.add(EnumChatFormatting.GRAY+"Current Charge: ["+EnumChatFormatting.RED+this.getEnergyStored(stack) + EnumChatFormatting.GRAY + "Rf / " + this.getMaxEnergyStored(stack)+"Rf] "+EnumChatFormatting.RED+MathUtils.findPercentage(this.getEnergyStored(stack), this.getMaxEnergyStored(stack))+EnumChatFormatting.GRAY+"%");
+ super.addInformation(stack, p_77624_2_, list, p_77624_4_);
+ }
+
+}
diff --git a/src/Java/gtPlusPlus/core/material/Material.java b/src/Java/gtPlusPlus/core/material/Material.java
index 1b2ef19b53..fe8b638d5b 100644
--- a/src/Java/gtPlusPlus/core/material/Material.java
+++ b/src/Java/gtPlusPlus/core/material/Material.java
@@ -76,7 +76,7 @@ public class Material {
public Material(String materialName, MaterialState defaultState, short[] rgba, int radiationLevel, MaterialStack[] materialStacks) {
this(materialName, defaultState, null, 0, rgba, -1, -1, -1, -1, false, "", radiationLevel, false, materialStacks);
- }
+ }
public Material(String materialName, MaterialState defaultState, short[] rgba, int j, int k, int l, int m, int radiationLevel, MaterialStack[] materialStacks){
this(materialName, defaultState, null, 0, rgba, j, k, l, m, false, "", radiationLevel, false, materialStacks);
@@ -104,7 +104,7 @@ public class Material {
public Material(final String materialName, final MaterialState defaultState,final short[] rgba, final int meltingPoint, final int boilingPoint, final long protons, final long neutrons, final boolean blastFurnace, final String chemicalSymbol, final int radiationLevel, final MaterialStack... inputs){
this(materialName, defaultState, 0, rgba, meltingPoint, boilingPoint, protons, neutrons, blastFurnace, chemicalSymbol, radiationLevel, inputs);
- }
+ }
public Material(final String materialName, final MaterialState defaultState,final short[] rgba, final int meltingPoint, final int boilingPoint, final long protons, final long neutrons, final boolean blastFurnace, final String chemicalSymbol, final int radiationLevel, boolean addCells,final MaterialStack... inputs) {
this (materialName, defaultState, null, 0, rgba, meltingPoint, boilingPoint, protons, neutrons, blastFurnace, chemicalSymbol, radiationLevel, addCells, true, inputs);
@@ -113,7 +113,7 @@ public class Material {
public Material(final String materialName, final MaterialState defaultState, final long durability, final short[] rgba, final int meltingPoint, final int boilingPoint, final long protons, final long neutrons, final boolean blastFurnace, final String chemicalSymbol, final int radiationLevel, final MaterialStack... inputs){
this (materialName, defaultState, null, durability, rgba, meltingPoint, boilingPoint, protons, neutrons, blastFurnace, chemicalSymbol, radiationLevel, true, true, inputs);
}
-
+
public Material(final String materialName, final MaterialState defaultState, final TextureSet set, final long durability, final short[] rgba, final int meltingPoint, final int boilingPoint, final long protons, final long neutrons, final boolean blastFurnace, final String chemicalSymbol, final int radiationLevel, boolean generateCells, final MaterialStack... inputs){
this (materialName, defaultState, null, durability, rgba, meltingPoint, boilingPoint, protons, neutrons, blastFurnace, chemicalSymbol, radiationLevel, true, true, inputs);
}
@@ -289,33 +289,33 @@ public class Material {
this.vChemicalFormula = "??";
}
- if (generateFluid){
- final Materials isValid = Materials.get(this.getLocalizedName());
- if (FluidUtils.getFluidStack(localizedName, 1) != null){
- this.vMoltenFluid = FluidUtils.getFluidStack(localizedName, 1).getFluid();
+ if (generateFluid){
+ final Materials isValid = Materials.get(this.getLocalizedName());
+ if (FluidUtils.getFluidStack(localizedName, 1) != null){
+ this.vMoltenFluid = FluidUtils.getFluidStack(localizedName, 1).getFluid();
+ }
+ else if (isValid == null || isValid == Materials._NULL){
+ this.vMoltenFluid = this.generateFluid();
+ }
+ else {
+ if (isValid.mFluid != null){
+ this.vMoltenFluid = isValid.mFluid;
}
- else if (isValid == null || isValid == Materials._NULL){
- this.vMoltenFluid = this.generateFluid();
+ else if (isValid.mGas != null){
+ this.vMoltenFluid = isValid.mGas;
}
else {
- if (isValid.mFluid != null){
- this.vMoltenFluid = isValid.mFluid;
- }
- else if (isValid.mGas != null){
- this.vMoltenFluid = isValid.mGas;
- }
- else {
- this.vMoltenFluid = this.generateFluid();
- }
+ this.vMoltenFluid = this.generateFluid();
}
-
- this.vPlasma = this.generatePlasma();
- }
- else {
- this.vMoltenFluid = null;
- this.vPlasma = null;
}
+ this.vPlasma = this.generatePlasma();
+ }
+ else {
+ this.vMoltenFluid = null;
+ this.vPlasma = null;
+ }
+
String ratio = "";
if (this.vSmallestRatio != null) {
for (int hu=0;hu<this.vSmallestRatio.length;hu++){
@@ -344,17 +344,17 @@ public class Material {
public final TextureSet getTextureSet() {
synchronized(this) {
return textureSet;
- }
+ }
}
public TextureSet setTextureSet(TextureSet set) {
if (set != null) {
- return set;
+ return set;
}
else {
// build hash table with count
AutoMap<Material> sets = new AutoMap<Material>();
- if (this.vMaterialInput != null) {
+ if (this.vMaterialInput != null) {
for (MaterialStack r : this.vMaterialInput) {
if (r.getStackMaterial().getTextureSet().mSetName.toLowerCase().contains("fluid")) {
sets.put(ELEMENT.getInstance().GOLD);
@@ -362,16 +362,16 @@ public class Material {
else {
sets.put(r.getStackMaterial());
}
- }
- TextureSet mostUsedTypeTextureSet = (TextureSet) MaterialUtils.getMostCommonTextureSet(new ArrayList<Material>(sets.values()));
+ }
+ TextureSet mostUsedTypeTextureSet = (TextureSet) MaterialUtils.getMostCommonTextureSet(new ArrayList<Material>(sets.values()));
if (mostUsedTypeTextureSet != null && mostUsedTypeTextureSet instanceof TextureSet) {
Logger.MATERIALS("Set textureset for "+this.localizedName+" to be "+mostUsedTypeTextureSet.mSetName+".");
return mostUsedTypeTextureSet;
- }
+ }
}
}
Logger.MATERIALS("Set textureset for "+this.localizedName+" to be "+Materials.Iron.mIconSet.mSetName+". [Fallback]");
- return Materials.Iron.mIconSet;
+ return Materials.Iron.mIconSet;
}
public final String getLocalizedName(){
@@ -402,7 +402,7 @@ public class Material {
final public short[] getRGBA(){
if (this.RGBA != null) {
if (this.RGBA.length == 4){
- return this.RGBA;
+ return this.RGBA;
}
else {
return new short[]{this.RGBA[0], this.RGBA[1], this.RGBA[2], 0};
@@ -570,17 +570,17 @@ public class Material {
}
public final ItemStack getCrushedCentrifuged(final int stacksize){
return ItemUtils.getItemStackOfAmountFromOreDictNoBroken("crushedCentrifuged"+this.unlocalizedName, stacksize);
- }
+ }
public final ItemStack getDustPurified(final int stacksize){
return ItemUtils.getItemStackOfAmountFromOreDictNoBroken("dustPure"+this.unlocalizedName, stacksize);
}
public final ItemStack getDustImpure(final int stacksize){
return ItemUtils.getItemStackOfAmountFromOreDictNoBroken("dustImpure"+this.unlocalizedName, stacksize);
- }
+ }
public final boolean hasSolidForm() {
if (this.getDust(1) != null || this.getBlock(1) != null || this.getSmallDust(1) != null || this.getTinyDust(1) != null) {
return true;
- }
+ }
return false;
}
@@ -605,7 +605,7 @@ public class Material {
Logger.INFO("Failed setting slot "+i+", using "+this.localizedName);
}
}
- return temp;
+ return temp;
}
return new ItemStack[]{};
}
@@ -781,8 +781,8 @@ public class Material {
if (a5 != null){
Logger.INFO("Using a pre-defined Fluid from GT. Plasma.");
return a5.getFluid();
- }
- Logger.INFO("Using null.");
+ }
+ Logger.INFO("Using null.");
return null;
}
}
@@ -791,37 +791,37 @@ public class Material {
if (this.materialState == MaterialState.SOLID){
if (isValid.mFluid != null){
Logger.INFO("Using a pre-defined Fluid from GT. mFluid.");
- return isValid.mFluid;
- }
+ return isValid.mFluid;
+ }
else if (isValid.mStandardMoltenFluid != null){
Logger.INFO("Using a pre-defined Fluid from GT. mStandardMoltenFluid.");
- return isValid.mStandardMoltenFluid;
+ return isValid.mStandardMoltenFluid;
}
}
else if (this.materialState == MaterialState.GAS){
if (isValid.mGas != null){
Logger.INFO("Using a pre-defined Fluid from GT. mGas.");
- return isValid.mGas;
- }
+ return isValid.mGas;
+ }
}
else if (this.materialState == MaterialState.LIQUID || this.materialState == MaterialState.PURE_LIQUID){
if (isValid.mFluid != null){
Logger.INFO("Using a pre-defined Fluid from GT. mFluid.");
- return isValid.mFluid;
- }
+ return isValid.mFluid;
+ }
else if (isValid.mGas != null){
Logger.INFO("Using a pre-defined Fluid from GT. mGas.");
- return isValid.mGas;
+ return isValid.mGas;
}
else if (isValid.mStandardMoltenFluid != null){
Logger.INFO("Using a pre-defined Fluid from GT. mStandardMoltenFluid.");
- return isValid.mStandardMoltenFluid;
+ return isValid.mStandardMoltenFluid;
}
- }
+ }
Logger.INFO("Generating our own fluid.");
//Generate a Cell if we need to
- if (ItemUtils.getItemStackOfAmountFromOreDictNoBroken("cell"+this.getUnlocalizedName(), 1) == null){
+ if (ItemUtils.getItemStackOfAmountFromOreDictNoBroken("cell"+this.getUnlocalizedName(), 1) == null){
if (this.vGenerateCells){
new BaseItemCell(this);
Logger.INFO("Generated a cell for "+this.getUnlocalizedName());
@@ -873,7 +873,7 @@ public class Material {
if (this.materialState == MaterialState.ORE){
return null;
}
- final Materials isValid = Materials.get(this.getLocalizedName());
+ final Materials isValid = Materials.get(this.getLocalizedName());
if (!this.vGenerateCells){
return null;
@@ -885,8 +885,8 @@ public class Material {
}
if (isValid.mPlasma != null){
Logger.INFO("Using a pre-defined Plasma from GT.");
- return isValid.mPlasma;
- }
+ return isValid.mPlasma;
+ }
Logger.INFO("Generating our own Plasma.");
return FluidUtils.addGTPlasma(this);
@@ -894,10 +894,10 @@ public class Material {
- final public FluidStack getFluid(final int fluidAmount) {
+ final public FluidStack getFluid(final int fluidAmount) {
if (this.vMoltenFluid == null){
return null;
- }
+ }
final FluidStack moltenFluid = new FluidStack(this.vMoltenFluid, fluidAmount);
return moltenFluid;
}
@@ -987,4 +987,4 @@ public class Material {
}
}
-} \ No newline at end of file
+}
diff --git a/src/Java/gtPlusPlus/core/recipe/RECIPES_GREGTECH.java b/src/Java/gtPlusPlus/core/recipe/RECIPES_GREGTECH.java
index ba7e3246e6..bc3e67623d 100644
--- a/src/Java/gtPlusPlus/core/recipe/RECIPES_GREGTECH.java
+++ b/src/Java/gtPlusPlus/core/recipe/RECIPES_GREGTECH.java
@@ -961,11 +961,41 @@ public class RECIPES_GREGTECH {
FluidUtils.getFluidStack("molten.tantalum", 144 * 4),
ItemUtils.simpleMetaStack(ModItems.itemHalfCompleteCasings, 1, 8), 32, 120);
addAR(ItemUtils.simpleMetaStack(ModItems.itemHalfCompleteCasings, 1, 1),
- ItemUtils.getItemStackOfAmountFromOreDict("plateLead", 4), FluidUtils.getFluidStack("nitrogen", 1000),
+ ItemUtils.getItemStackOfAmountFromOreDict("plateLead", 4), FluidUtils.getFluidStack("oxygen", 1000),
ItemUtils.getSimpleStack(GregtechItemList.Casing_Vanadium_Redox.get(1), 1), 64, 240);
- addAR(ItemUtils.getItemStackOfAmountFromOreDict("plateIncoloy020", 16),
+
+ //Tier 2-6
+ ItemStack T1 = GregtechItemList.Casing_Vanadium_Redox.get(1);
+ ItemStack T2 = GregtechItemList.Casing_Vanadium_Redox_IV.get(1);
+ ItemStack T3 = GregtechItemList.Casing_Vanadium_Redox_LuV.get(1);
+ ItemStack T4 = GregtechItemList.Casing_Vanadium_Redox_ZPM.get(1);
+ ItemStack T5 = GregtechItemList.Casing_Vanadium_Redox_UV.get(1);
+ ItemStack T6 = GregtechItemList.Casing_Vanadium_Redox_MAX.get(1);
+
+ addAR(T1,
+ ItemUtils.getItemStackOfAmountFromOreDict("plateStainlessSteel", 4),
+ FluidUtils.getFluidStack("nitrogen", 2000),
+ T2, 128, 2000);
+ addAR(T2,
+ ItemUtils.getItemStackOfAmountFromOreDict("plateTitanium", 4),
+ FluidUtils.getFluidStack("helium", 2000),
+ T3, 256, 8000);
+ addAR(T3,
+ ItemUtils.getItemStackOfAmountFromOreDict("plateTungsten", 4),
+ FluidUtils.getFluidStack("argon", 4000),
+ T4, 512, 32000);
+ addAR(T4,
+ ItemUtils.getItemStackOfAmountFromOreDict("plateTungstenSteel", 4),
+ FluidUtils.getFluidStack("radon", 4000),
+ T5, 1024, 128000);
+ addAR(T5,
+ ItemUtils.getItemStackOfAmountFromOreDict("plateIridium", 4),
+ FluidUtils.getFluidStack("krypton", 500),
+ T6, 2048, 512000);
+
+ /*addAR(ItemUtils.getItemStackOfAmountFromOreDict("plateIncoloy020", 16),
ItemUtils.getItemStackOfAmountFromOreDict("frameGtIncoloyMA956", 4), null,
- GregtechItemList.Casing_Power_SubStation.get(4), 80, 120);
+ GregtechItemList.Casing_Power_SubStation.get(4), 80, 120);*/
}
private static boolean addAR(final ItemStack inputA, final ItemStack inputB, final ItemStack outputA,
diff --git a/src/Java/gtPlusPlus/core/recipe/RECIPES_Machines.java b/src/Java/gtPlusPlus/core/recipe/RECIPES_Machines.java
index 34653bf772..55b7793f93 100644
--- a/src/Java/gtPlusPlus/core/recipe/RECIPES_Machines.java
+++ b/src/Java/gtPlusPlus/core/recipe/RECIPES_Machines.java
@@ -141,7 +141,7 @@ public class RECIPES_Machines {
public static String pipeTier10 = "pipeHuge"+"HastelloyX";
public static String pipeTier11 = "pipeHuge"+"Europium";
- //IV MACHINES
+ // EV/IV MACHINES
public static ItemStack EV_MACHINE_Electrolyzer;
public static ItemStack EV_MACHINE_Centrifuge;
public static ItemStack EV_MACHINE_BendingMachine;
@@ -151,6 +151,10 @@ public class RECIPES_Machines {
public static ItemStack EV_MACHINE_Cutter;
public static ItemStack EV_MACHINE_MassFabricator;
public static ItemStack EV_MACHINE_Extruder;
+ public static ItemStack EV_MACHINE_Sifter;
+ public static ItemStack EV_MACHINE_ThermalCentrifuge;
+ public static ItemStack EV_MACHINE_OreWasher;
+ public static ItemStack EV_MACHINE_AlloySmelter;
//Cables
@@ -215,6 +219,8 @@ public class RECIPES_Machines {
boiler_Coal = ItemList.Machine_Bronze_Boiler.get(1);
//IV MACHINES
+
+ if (!CORE.GTNH){
EV_MACHINE_Electrolyzer = ItemList.Machine_EV_Electrolyzer.get(1);
EV_MACHINE_BendingMachine= ItemList.Machine_EV_Bender.get(1);
EV_MACHINE_Wiremill= ItemList.Machine_EV_Wiremill.get(1);
@@ -224,6 +230,28 @@ public class RECIPES_Machines {
EV_MACHINE_Centrifuge= ItemList.Machine_EV_Centrifuge.get(1);
EV_MACHINE_Cutter = ItemList.Machine_EV_Cutter.get(1);
EV_MACHINE_Extruder = ItemList.Machine_EV_Extruder.get(1);
+ EV_MACHINE_Sifter = ItemList.Machine_EV_Sifter.get(1);
+ EV_MACHINE_ThermalCentrifuge = ItemList.Machine_EV_ThermalCentrifuge.get(1);
+ EV_MACHINE_OreWasher = ItemList.Machine_EV_OreWasher.get(1);
+ EV_MACHINE_AlloySmelter = ItemList.Machine_EV_AlloySmelter.get(1);
+ }
+ //Balance or some shit
+ else {
+ EV_MACHINE_Electrolyzer = ItemList.Machine_IV_Electrolyzer.get(1);
+ EV_MACHINE_BendingMachine= ItemList.Machine_IV_Bender.get(1);
+ EV_MACHINE_Wiremill= ItemList.Machine_IV_Wiremill.get(1);
+ HV_MACHINE_Macerator= ItemList.Machine_EV_Macerator.get(1);
+ EV_MACHINE_Macerator= ItemList.Machine_IV_Macerator.get(1);
+ EV_MACHINE_MassFabricator= ItemList.Machine_LuV_Massfab.get(1);
+ EV_MACHINE_Centrifuge= ItemList.Machine_IV_Centrifuge.get(1);
+ EV_MACHINE_Cutter = ItemList.Machine_IV_Cutter.get(1);
+ EV_MACHINE_Extruder = ItemList.Machine_IV_Extruder.get(1);
+ EV_MACHINE_Sifter = ItemList.Machine_IV_Sifter.get(1);
+ EV_MACHINE_ThermalCentrifuge = ItemList.Machine_IV_ThermalCentrifuge.get(1);
+ EV_MACHINE_OreWasher = ItemList.Machine_IV_OreWasher.get(1);
+ EV_MACHINE_AlloySmelter = ItemList.Machine_IV_AlloySmelter.get(1);
+ }
+
}
@@ -277,7 +305,7 @@ public class RECIPES_Machines {
//Buffer Core
RecipeUtils.addShapedGregtechRecipe(
CI.component_Plate[1], cableTier1, CI.component_Plate[1],
- CI.circuitPrimitive, IC2MFE, CI.circuitPrimitive,
+ CI.circuitPrimitive, "plateStaballloy", CI.circuitPrimitive,
CI.component_Plate[1], cableTier1, CI.component_Plate[1],
RECIPE_BufferCore_ULV);
RecipeUtils.addShapedGregtechRecipe(
@@ -701,7 +729,7 @@ public class RECIPES_Machines {
//Blast Smelter
RecipeUtils.addShapedGregtechRecipe(
"plateZirconiumCarbide", CI.circuitTier4, "plateZirconiumCarbide",
- cableTier4, CI.machineCasing_EV, cableTier4,
+ cableTier4, EV_MACHINE_AlloySmelter, cableTier4,
"plateZirconiumCarbide", CI.circuitTier3, "plateZirconiumCarbide",
RECIPE_IndustrialBlastSmelterController);
//Blast Smelter Frame Casing
@@ -753,7 +781,7 @@ public class RECIPES_Machines {
//Industrial Sieve
RecipeUtils.addShapedGregtechRecipe(
"plateEglinSteel", CI.circuitTier2, "plateEglinSteel",
- cableTier3, CI.machineCasing_MV, cableTier3,
+ cableTier3, EV_MACHINE_Sifter, cableTier3,
"plateEglinSteel", CI.circuitTier2, "plateEglinSteel",
RECIPE_IndustrialSieveController);
//Industrial Sieve Casing
@@ -1061,15 +1089,15 @@ public class RECIPES_Machines {
if (CORE.ConfigSwitches.enableMultiblock_PowerSubstation){
RecipeUtils.recipeBuilder(
- null, "plateIncoloy020", null,
+ "screwTitanium", "plateIncoloy020", "screwTitanium",
"plateIncoloy020", "frameGtIncoloyMA956", "plateIncoloy020",
- null, "plateIncoloy020", null,
+ "screwTitanium", "plateIncoloy020", "screwTitanium",
GregtechItemList.Casing_Power_SubStation.get(Casing_Amount));
- ItemStack mBattery = (!CORE.GTNH ? ItemList.Energy_LapotronicOrb2.get(1) : ItemList.ZPM2.get(1));
+ ItemStack mBattery = ItemUtils.getSimpleStack(ModItems.itemCircuitLFTR);
RecipeUtils.recipeBuilder(
- "plateIncoloyMA956", GregtechItemList.Battery_RE_EV_Lithium.get(1), "plateIncoloyMA956",
+ "plateIncoloyMA956", mBattery, "plateIncoloyMA956",
GregtechItemList.Casing_Power_SubStation.get(1), GregtechItemList.Casing_Vanadium_Redox.get(1), GregtechItemList.Casing_Power_SubStation.get(1),
"plateIncoloy020", "plateIncoloyMA956", "plateIncoloy020",
GregtechItemList.PowerSubStation.get(1));
@@ -1084,7 +1112,7 @@ public class RECIPES_Machines {
RecipeUtils.recipeBuilder(
"plateRedSteel","circuitData","plateRedSteel",
- "stickTalonite",GregtechItemList.Casing_ThermalCentrifuge.get(1),"stickTalonite",
+ "stickTalonite",EV_MACHINE_ThermalCentrifuge,"stickTalonite",
"plateRedSteel","gearGtTalonite","plateRedSteel",
GregtechItemList.Industrial_ThermalCentrifuge.get(1));
}
@@ -1098,7 +1126,7 @@ public class RECIPES_Machines {
RecipeUtils.recipeBuilder(
"plateGrisium",CI.electricPump_MV,"plateGrisium",
- "plateTalonite",GregtechItemList.Casing_WashPlant.get(1),"plateTalonite",
+ "plateTalonite",EV_MACHINE_OreWasher,"plateTalonite",
"plateGrisium","circuitData","plateGrisium",
GregtechItemList.Industrial_WashPlant.get(1));
}
diff --git a/src/Java/gtPlusPlus/core/recipe/common/CI.java b/src/Java/gtPlusPlus/core/recipe/common/CI.java
index c6dd1bfeb5..44db9cf284 100644
--- a/src/Java/gtPlusPlus/core/recipe/common/CI.java
+++ b/src/Java/gtPlusPlus/core/recipe/common/CI.java
@@ -1,6 +1,5 @@
package gtPlusPlus.core.recipe.common;
-import gtPlusPlus.xmod.gregtech.common.items.MetaGeneratedGregtechItems;
import net.minecraft.init.Blocks;
import net.minecraft.init.Items;
import net.minecraft.item.ItemStack;
diff --git a/src/Java/gtPlusPlus/core/util/minecraft/MaterialUtils.java b/src/Java/gtPlusPlus/core/util/minecraft/MaterialUtils.java
index 98b02078c6..e9d68ea864 100644
--- a/src/Java/gtPlusPlus/core/util/minecraft/MaterialUtils.java
+++ b/src/Java/gtPlusPlus/core/util/minecraft/MaterialUtils.java
@@ -27,11 +27,11 @@ public class MaterialUtils {
@SuppressWarnings({ "rawtypes", "unused" })
private static Class[][] commonTypes =
- {{Materials.class, int.class, TextureSet.class, float.class, int.class,
- int.class, int.class, int.class, int.class, int.class, int.class,
- String.class, int.class, int.class, int.class, int.class, boolean.class,
- boolean.class, int.class, int.class, int.class, Dyes.class, int.class,
- List.class , List.class}};
+{{Materials.class, int.class, TextureSet.class, float.class, int.class,
+ int.class, int.class, int.class, int.class, int.class, int.class,
+ String.class, int.class, int.class, int.class, int.class, boolean.class,
+ boolean.class, int.class, int.class, int.class, Dyes.class, int.class,
+ List.class , List.class}};
public static List<?> oreDictValuesForEntry(final String oredictName){
List<?> oredictItemNames;
@@ -47,7 +47,7 @@ public class MaterialUtils {
public static Material generateMaterialFromGtENUM(final Materials material){
return generateMaterialFromGtENUM(material, null);
}
-
+
public static Material generateMaterialFromGtENUM(final Materials material, short[] customRGB){
@SuppressWarnings("deprecation")
String name = material.name();
@@ -68,12 +68,12 @@ public class MaterialUtils {
if (material.isRadioactive()){
radioactivity = 1;
}
-
+
//Weird Blacklist of Bad Chemical Strings
if (material.mElement == Element.Pb || material.mElement == Element.Na || material.mElement == Element.Ar){
chemicalFormula = StringUtils.subscript(Utils.sanitizeString(material.mElement.name()));
}
-
+
//Determine default state
Logger.MATERIALS("[Debug] Setting State of GT generated material. "+material.mDefaultLocalName);
if (material.getMolten(1) != null || material.getSolid(1) != null){
@@ -140,10 +140,10 @@ public class MaterialUtils {
return temp;
}
- public static boolean hasValidRGBA(final short[] rgba){
+ public static boolean hasValidRGBA(final short[] rgba){
if (rgba == null || rgba.length < 3 || rgba.length > 4){
return false;
- }
+ }
return true;
}
@@ -184,9 +184,9 @@ public class MaterialUtils {
}
public static Materials getMaterialByName(String materialName) {
-
+
if (!CORE.MAIN_GREGTECH_5U_EXPERIMENTAL_FORK) {
- return (Materials) EnumUtils.getValue(gregtech.api.enums.Materials.class, materialName, false);
+ return (Materials) EnumUtils.getValue(gregtech.api.enums.Materials.class, materialName, false);
}
else {
for (Materials m : Materials.values()) {
@@ -197,7 +197,7 @@ public class MaterialUtils {
return null;
}
}
-
+
@SuppressWarnings("deprecation")
public static String getMaterialName(Materials mat){
String mName;
@@ -212,12 +212,14 @@ public class MaterialUtils {
}
return mName;
}
-
+
public static TextureSet getMostCommonTextureSet(List<Material> list) {
Optional<TextureSet> r = list.stream().map(Material::getTextureSet).collect(Collectors.groupingBy(Function.identity(), Collectors.counting())).entrySet().stream().max(Map.Entry.comparingByValue()).map(Map.Entry::getKey);
TextureSet o = (r != null && r.isPresent() && r.get() != null) ? r.get() : null;
return o;
+ }
+
+
}
-} \ No newline at end of file
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/ULV/GT_MetaTileEntity_ULV_CombustionGenerator.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/ULV/GT_MetaTileEntity_ULV_CombustionGenerator.java
index c5397b83db..63cf78e8bc 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/ULV/GT_MetaTileEntity_ULV_CombustionGenerator.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/ULV/GT_MetaTileEntity_ULV_CombustionGenerator.java
@@ -13,30 +13,25 @@ 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.common.tileentities.generators.GT_MetaTileEntity_DieselGenerator;
import net.minecraft.item.ItemStack;
-public class GT_MetaTileEntity_ULV_CombustionGenerator extends GT_MetaTileEntity_DieselGenerator {
- public GT_MetaTileEntity_ULV_CombustionGenerator(int aID, String aName, String aNameRegional, int aTier) {
- super(aID, aName, aNameRegional, aTier);
- }
-
- public GT_MetaTileEntity_ULV_CombustionGenerator(String aName, int aTier, String aDescription, ITexture[][][] aTextures) {
- super(aName, aTier, aDescription, aTextures);
- }
+public class GT_MetaTileEntity_ULV_CombustionGenerator
+ extends GT_MetaTileEntity_DieselGenerator {
- @Override
- public MetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) {
- return new GT_MetaTileEntity_ULV_CombustionGenerator(this.mName, this.mTier, this.mDescription, this.mTextures);
- }
- @Override
public int getCapacity() {
return 16000;
}
- @Override
public void onConfigLoad() {
- this.mEfficiency = GregTech_API.sMachineFile.get(ConfigCategories.machineconfig, "DieselGenerator.efficiency.tier." + this.mTier, 95);
+ this.mEfficiency = GregTech_API.sMachineFile.get(ConfigCategories.machineconfig, "DieselGenerator.efficiency.tier." + this.mTier, (100 - 1 * 5));
+ }
+
+ public int getEfficiency() {
+ return this.mEfficiency;
+ }
+
+ public MetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) {
+ return new GT_MetaTileEntity_ULV_CombustionGenerator(this.mName, this.mTier, this.mDescriptionArray, this.mTextures);
}
} \ No newline at end of file
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/ULV/GT_MetaTileEntity_ULV_GasTurbine.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/ULV/GT_MetaTileEntity_ULV_GasTurbine.java
index fe550895a3..1efb0b8ca6 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/ULV/GT_MetaTileEntity_ULV_GasTurbine.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/ULV/GT_MetaTileEntity_ULV_GasTurbine.java
@@ -9,28 +9,24 @@ import gregtech.api.metatileentity.MetaTileEntity;
import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicGenerator;
import gregtech.api.objects.GT_RenderedTexture;
import gregtech.api.util.GT_Recipe;
-import gregtech.common.tileentities.generators.GT_MetaTileEntity_GasTurbine;
-public class GT_MetaTileEntity_ULV_GasTurbine extends GT_MetaTileEntity_GasTurbine {
- public GT_MetaTileEntity_ULV_GasTurbine(int aID, String aName, String aNameRegional, int aTier) {
- super(aID, aName, aNameRegional, aTier);
- }
-
- public GT_MetaTileEntity_ULV_GasTurbine(String aName, int aTier, String aDescription, ITexture[][][] aTextures) {
- super(aName, aTier, aDescription, aTextures);
- }
+public class GT_MetaTileEntity_ULV_GasTurbine
+ extends GT_MetaTileEntity_GasTurbine {
public MetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) {
- return new GT_MetaTileEntity_ULV_GasTurbine(this.mName, this.mTier, this.mDescription, this.mTextures);
+ return new GT_MetaTileEntity_ULV_GasTurbine(this.mName, this.mTier, this.mDescriptionArray, this.mTextures);
}
- @Override
public int getCapacity() {
return 16000;
}
- @Override
public void onConfigLoad() {
- this.mEfficiency = GregTech_API.sMachineFile.get(ConfigCategories.machineconfig, "GasTurbine.efficiency.tier." + this.mTier, 95);
+ this.mEfficiency = GregTech_API.sMachineFile.get(ConfigCategories.machineconfig, "GasTurbine.efficiency.tier." + this.mTier, (100 - 1 * 5));
+ }
+
+ public int getEfficiency() {
+ return this.mEfficiency;
}
+
} \ No newline at end of file
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/ULV/GT_MetaTileEntity_ULV_SteamTurbine.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/ULV/GT_MetaTileEntity_ULV_SteamTurbine.java
index f4d7a33689..cc4c7cce3c 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/ULV/GT_MetaTileEntity_ULV_SteamTurbine.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/ULV/GT_MetaTileEntity_ULV_SteamTurbine.java
@@ -10,30 +10,24 @@ import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicGenera
import gregtech.api.objects.GT_RenderedTexture;
import gregtech.api.util.GT_ModHandler;
import gregtech.api.util.GT_Recipe;
-import gregtech.common.tileentities.generators.GT_MetaTileEntity_SteamTurbine;
import net.minecraftforge.fluids.FluidStack;
public class GT_MetaTileEntity_ULV_SteamTurbine extends GT_MetaTileEntity_SteamTurbine {
- public GT_MetaTileEntity_ULV_SteamTurbine(int aID, String aName, String aNameRegional, int aTier) {
- super(aID, aName, aNameRegional, aTier);
- }
-
- public GT_MetaTileEntity_ULV_SteamTurbine(String aName, int aTier, String aDescription, ITexture[][][] aTextures) {
- super(aName, aTier, aDescription, aTextures);
+
+ public int getCapacity() {
+ return 12000;
}
-
- public MetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) {
- return new GT_MetaTileEntity_ULV_SteamTurbine(this.mName, this.mTier, this.mDescription, this.mTextures);
+ public void onConfigLoad() {
+ this.mEfficiency = GregTech_API.sMachineFile.get(ConfigCategories.machineconfig, "SteamTurbine.efficiency.tier." + this.mTier, 6 + 1);
}
- @Override
- public int getCapacity() {
- return 16000;
+ public int getEfficiency() {
+ return this.mEfficiency;
}
- @Override
- public void onConfigLoad() {
- this.mEfficiency = GregTech_API.sMachineFile.get(ConfigCategories.machineconfig, "SteamTurbine.efficiency.tier." + this.mTier, 6 + 1);
+ public MetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) {
+ return new GT_MetaTileEntity_ULV_SteamTurbine(this.mName, this.mTier, this.mDescriptionArray, this.mTextures);
}
-}
+
+} \ No newline at end of file
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialMultiMachine.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialMultiMachine.java
index 86dd454545..46e6069db3 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialMultiMachine.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialMultiMachine.java
@@ -261,7 +261,8 @@ extends GregtechMeta_MultiBlockBase {
// Time to Defer to Special Handling if it's in replicator mode.
if (tCircuitID == MODE_REPLICATOR) {
- return checkReplicatorRecipe(aItemInputs, aFluidInputs, aMaxParallelRecipes, aEUPercent, aSpeedBonusPercent, aOutputChanceRoll);
+ return false;
+ // return checkReplicatorRecipe(aItemInputs, aFluidInputs, aMaxParallelRecipes, aEUPercent, aSpeedBonusPercent, aOutputChanceRoll);
}
// Reset outputs and progress stats
@@ -813,7 +814,7 @@ extends GregtechMeta_MultiBlockBase {
@Override
public void onScrewdriverRightClick(byte aSide, EntityPlayer aPlayer, float aX, float aY, float aZ) {
- if (mInternalMode < 1) {
+ if (mInternalMode < 2) {
mInternalMode++;
}
else {
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialVacuumFreezer.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialVacuumFreezer.java
index 4bfc6681b9..a2d71c2c15 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialVacuumFreezer.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialVacuumFreezer.java
@@ -26,7 +26,7 @@ public class GregtechMetaTileEntity_IndustrialVacuumFreezer extends GregtechMeta
public static int CASING_TEXTURE_ID;
public static String mCryoFuelName = "Gelid Cryotheum";
- public static String mCasingName = "Advanced Crygenic Casing";
+ public static String mCasingName = "Advanced Cryogenic Casing";
public GregtechMetaTileEntity_IndustrialVacuumFreezer(final int aID, final String aName, final String aNameRegional) {
super(aID, aName, aNameRegional);
@@ -134,7 +134,7 @@ public class GregtechMetaTileEntity_IndustrialVacuumFreezer extends GregtechMeta
}
public int getPollutionPerTick(final ItemStack aStack) {
- return 400;
+ return 50;
}
public int getDamageToComponent(final ItemStack aStack) {
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/advanced/GregtechMetaTileEntity_Adv_EBF.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/advanced/GregtechMetaTileEntity_Adv_EBF.java
new file mode 100644
index 0000000000..3cf13cff9b
--- /dev/null
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/advanced/GregtechMetaTileEntity_Adv_EBF.java
@@ -0,0 +1,242 @@
+package gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.processing.advanced;
+
+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_Muffler;
+import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Output;
+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;
+import net.minecraft.entity.player.InventoryPlayer;
+import net.minecraft.item.ItemStack;
+import net.minecraftforge.common.util.ForgeDirection;
+import net.minecraftforge.fluids.FluidStack;
+
+import java.util.ArrayList;
+
+public class GregtechMetaTileEntity_Adv_EBF extends GregtechMeta_MultiBlockBase {
+
+
+ public static int CASING_TEXTURE_ID;
+ public static String mHotFuelName = "Blazing Pyrotheum";
+ public static String mCasingName = "Advanced Blast Furnace Casing";
+
+ private int mHeatingCapacity = 0;
+ private int controllerY;
+ private FluidStack[] pollutionFluidStacks = new FluidStack[]{Materials.CarbonDioxide.getGas(1000),
+ Materials.CarbonMonoxide.getGas(1000), Materials.SulfurDioxide.getGas(1000)};
+
+ public GregtechMetaTileEntity_Adv_EBF(int aID, String aName, String aNameRegional) {
+ super(aID, aName, aNameRegional);
+ CASING_TEXTURE_ID = TAE.getIndexFromPage(2, 10);
+ mHotFuelName = FluidUtils.getFluidStack("pyrotheum", 1).getLocalizedName();
+ mCasingName = GregtechItemList.Casing_AdvancedVacuum.get(1).getDisplayName();
+ }
+
+ public GregtechMetaTileEntity_Adv_EBF(String aName) {
+ super(aName);
+ CASING_TEXTURE_ID = TAE.getIndexFromPage(2, 10);
+ mHotFuelName = FluidUtils.getFluidStack("pyrotheum", 1).getLocalizedName();
+ mCasingName = GregtechItemList.Casing_AdvancedVacuum.get(1).getDisplayName();
+ }
+
+ public IMetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) {
+ return new GregtechMetaTileEntity_Adv_EBF(this.mName);
+ }
+
+ public String[] getDescription() {
+ return new String[]{
+ "Controller Block for the Advanced Electric Blast Furnace",
+ "Consumes 1L of "+mHotFuelName+"/t during operation",
+ "Size(WxHxD): 3x4x3 (Hollow), Controller (Front middle bottom)",
+ "16x Heating Coils (Two middle Layers, hollow)",
+ "1x Input Hatch/Bus (Any bottom layer casing)",
+ "1x Output Hatch/Bus (Any bottom layer casing)",
+ "1x Energy Hatch (Any bottom layer casing)",
+ "1x Maintenance Hatch (Any bottom layer casing)",
+ "1x Muffler Hatch (Top middle)",
+ "1x Output Hatch to recover CO2/CO/SO2 (optional, any top layer casing),",
+ " Recovery scales with Muffler Hatch tier",
+ mCasingName+"s for the rest",
+ "Each 900K over the min. Heat Capacity grants 5% speedup (multiplicatively)",
+ "Each 1800K over the min. Heat Capacity allows for one upgraded overclock",
+ "Upgraded overclocks reduce recipe time to 25% and increase EU/t to 400%",
+ "Causes " + 20 * getPollutionPerTick(null) + " Pollution per second"};
+ }
+
+ public ITexture[] getTexture(IGregTechTileEntity aBaseMetaTileEntity, byte aSide, byte aFacing, byte aColorIndex, boolean aActive, boolean aRedstone) {
+ if (aSide == aFacing) {
+ return new ITexture[]{Textures.BlockIcons.CASING_BLOCKS[11], new GT_RenderedTexture(aActive ? Textures.BlockIcons.OVERLAY_FRONT_ELECTRIC_BLAST_FURNACE_ACTIVE : Textures.BlockIcons.OVERLAY_FRONT_ELECTRIC_BLAST_FURNACE)};
+ }
+ return new ITexture[]{Textures.BlockIcons.CASING_BLOCKS[11]};
+ }
+
+ public Object getClientGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) {
+ return new GT_GUIContainer_MultiMachine(aPlayerInventory, aBaseMetaTileEntity, getLocalName(), "ElectricBlastFurnace.png");
+ }
+
+ public GT_Recipe.GT_Recipe_Map getRecipeMap() {
+ return GT_Recipe.GT_Recipe_Map.sBlastRecipes;
+ }
+
+ public boolean isCorrectMachinePart(ItemStack aStack) {
+ return true;
+ }
+
+ public boolean isFacingValid(byte aFacing) {
+ return aFacing > 1;
+ }
+
+ public boolean checkRecipe(ItemStack aStack) {
+ return checkRecipeGeneric(4, 100, 100); //Will have to clone the logic from parent class to handle heating coil tiers.
+ }
+
+ public boolean checkMachine(IGregTechTileEntity aBaseMetaTileEntity, ItemStack aStack) {
+ controllerY = aBaseMetaTileEntity.getYCoord();
+ int xDir = ForgeDirection.getOrientation(aBaseMetaTileEntity.getBackFacing()).offsetX;
+ int zDir = ForgeDirection.getOrientation(aBaseMetaTileEntity.getBackFacing()).offsetZ;
+
+ this.mHeatingCapacity = 0;
+ if (!aBaseMetaTileEntity.getAirOffset(xDir, 1, zDir)) {
+ return false;
+ }
+ if (!aBaseMetaTileEntity.getAirOffset(xDir, 2, zDir)) {
+ return false;
+ }
+ if (!addMufflerToMachineList(aBaseMetaTileEntity.getIGregTechTileEntityOffset(xDir, 3, zDir), 11)) {
+ return false;
+ }
+ byte tUsedMeta = aBaseMetaTileEntity.getMetaIDOffset(xDir + 1, 2, zDir);
+ switch (tUsedMeta) {
+ case 0:
+ this.mHeatingCapacity = 1800;
+ break;
+ case 1:
+ this.mHeatingCapacity = 2700;
+ break;
+ case 2:
+ this.mHeatingCapacity = 3600;
+ break;
+ case 3:
+ this.mHeatingCapacity = 4500;
+ break;
+ case 4:
+ this.mHeatingCapacity = 5400;
+ break;
+ case 5:
+ this.mHeatingCapacity = 7200;
+ break;
+ case 6:
+ this.mHeatingCapacity = 9001;
+ break;
+ default:
+ return false;
+ }
+ for (int i = -1; i < 2; i++) {
+ for (int j = -1; j < 2; j++) {
+ if ((i != 0) || (j != 0)) {
+ if (aBaseMetaTileEntity.getBlockOffset(xDir + i, 2, zDir + j) != GregTech_API.sBlockCasings5) {
+ return false;
+ }
+ if (aBaseMetaTileEntity.getMetaIDOffset(xDir + i, 2, zDir + j) != tUsedMeta) {
+ return false;
+ }
+ if (aBaseMetaTileEntity.getBlockOffset(xDir + i, 1, zDir + j) != GregTech_API.sBlockCasings5) {
+ return false;
+ }
+ if (aBaseMetaTileEntity.getMetaIDOffset(xDir + i, 1, zDir + j) != tUsedMeta) {
+ return false;
+ }
+ if (!addOutputToMachineList(aBaseMetaTileEntity.getIGregTechTileEntityOffset(xDir + i, 3, zDir + j), 11)) {
+ if (aBaseMetaTileEntity.getBlockOffset(xDir + i, 3, zDir + j) != GregTech_API.sBlockCasings1) {
+ return false;
+ }
+ if (aBaseMetaTileEntity.getMetaIDOffset(xDir + i, 3, zDir + j) != 11) {
+ return false;
+ }
+ }
+ }
+ }
+ }
+ for (int i = -1; i < 2; i++) {
+ for (int j = -1; j < 2; j++) {
+ if ((xDir + i != 0) || (zDir + j != 0)) {
+ IGregTechTileEntity tTileEntity = aBaseMetaTileEntity.getIGregTechTileEntityOffset(xDir + i, 0, zDir + j);
+ if ((!addMaintenanceToMachineList(tTileEntity, 11)) && (!addInputToMachineList(tTileEntity, 11)) && (!addOutputToMachineList(tTileEntity, 11)) && (!addEnergyInputToMachineList(tTileEntity, 11))) {
+ if (aBaseMetaTileEntity.getBlockOffset(xDir + i, 0, zDir + j) != GregTech_API.sBlockCasings1) {
+ return false;
+ }
+ if (aBaseMetaTileEntity.getMetaIDOffset(xDir + i, 0, zDir + j) != 11) {
+ return false;
+ }
+ }
+ }
+ }
+ }
+ return true;
+ }
+
+ public int getMaxEfficiency(ItemStack aStack) {
+ return 10000;
+ }
+
+ public int getPollutionPerTick(ItemStack aStack) {
+ return 50;
+ }
+
+ public int getDamageToComponent(ItemStack aStack) {
+ return 0;
+ }
+
+ public boolean explodesOnComponentBreak(ItemStack aStack) {
+ return false;
+ }
+
+ @Override
+ public boolean addOutput(FluidStack aLiquid) {
+ if (aLiquid == null) return false;
+ int targetHeight;
+ FluidStack tLiquid = aLiquid.copy();
+ boolean isOutputPollution = false;
+ for (FluidStack pollutionFluidStack : pollutionFluidStacks) {
+ if (tLiquid.isFluidEqual(pollutionFluidStack)) {
+ isOutputPollution = true;
+ break;
+ }
+ }
+ if (isOutputPollution) {
+ targetHeight = this.controllerY + 3;
+ int pollutionReduction = 0;
+ for (GT_MetaTileEntity_Hatch_Muffler tHatch : mMufflerHatches) {
+ if (isValidMetaTileEntity(tHatch)) {
+ pollutionReduction = 100 - tHatch.calculatePollutionReduction(100);
+ break;
+ }
+ }
+ tLiquid.amount = tLiquid.amount * (pollutionReduction + 5) / 100;
+ } else {
+ targetHeight = this.controllerY;
+ }
+ for (GT_MetaTileEntity_Hatch_Output tHatch : mOutputHatches) {
+ if (isValidMetaTileEntity(tHatch) && GT_ModHandler.isSteam(aLiquid) ? tHatch.outputsSteam() : tHatch.outputsLiquids()) {
+ if (tHatch.getBaseMetaTileEntity().getYCoord() == targetHeight) {
+ int tAmount = tHatch.fill(tLiquid, false);
+ if (tAmount >= tLiquid.amount) {
+ return tHatch.fill(tLiquid, true) >= tLiquid.amount;
+ } else if (tAmount > 0) {
+ tLiquid.amount = tLiquid.amount - tHatch.fill(tLiquid, true);
+ }
+ }
+ }
+ }
+ return false;
+ }
+
+} \ No newline at end of file
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/advanced/GregtechMetaTileEntity_Adv_Fusion_MK4.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/advanced/GregtechMetaTileEntity_Adv_Fusion_MK4.java
new file mode 100644
index 0000000000..dbce76938b
--- /dev/null
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/advanced/GregtechMetaTileEntity_Adv_Fusion_MK4.java
@@ -0,0 +1,75 @@
+package gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.processing.advanced;
+
+import gregtech.api.GregTech_API;
+import gregtech.api.enums.Textures;
+import gregtech.api.interfaces.IIconContainer;
+import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
+import gregtech.api.metatileentity.MetaTileEntity;
+import net.minecraft.block.Block;
+
+public class GregtechMetaTileEntity_Advanced_Fusion_MK4 extends GT_MetaTileEntity_FusionComputer {
+
+ public GregtechMetaTileEntity_Advanced_Fusion_MK4(int aID, String aName, String aNameRegional) {
+ super(aID, aName, aNameRegional, 6);
+ }
+
+ public GregtechMetaTileEntity_Advanced_Fusion_MK4(String aName) {
+ super(aName);
+ }
+
+ @Override
+ public int tier() {
+ return 9;
+ }
+
+ @Override
+ public long maxEUStore() {
+ return 640010000L * (Math.min(16, this.mEnergyHatches.size())) / 8L;
+ }
+
+ @Override
+ public MetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) {
+ return new GregtechMetaTileEntity_Advanced_Fusion_MK4(mName);
+ }
+
+ @Override
+ public int getCasingMeta() {
+ return 8;
+ }
+
+ @Override
+ public Block getFusionCoil() {
+ return GregTech_API.sBlockCasings4;
+ }
+
+ @Override
+ public int getFusionCoilMeta() {
+ return 7;
+ }
+
+ public String[] getDescription() {
+ return new String[]{
+ "HARNESSING THE POWER OF A NEUTRON STAR",
+ "Fusion Machine Casings MK III around Advanced Fusion Coil Blocks",
+ "2-16 Input Hatches",
+ "1-16 Output Hatches",
+ "1-16 Energy Hatches",
+ "All Hatches must be UV or better",
+ "32768 EU/t and 80mio EU Cap per Energy Hatch"};
+ }
+
+ @Override
+ public int tierOverclock() {
+ return 6;
+ }
+
+ @Override
+ public Block getCasing() {
+ return GregTech_API.sBlockCasings4;
+ }
+
+ @Override
+ public IIconContainer getIconOverlay() {
+ return Textures.BlockIcons.OVERLAY_FUSION3;
+ }
+}
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/advanced/GregtechMetaTileEntity_Adv_Implosion.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/advanced/GregtechMetaTileEntity_Adv_Implosion.java
new file mode 100644
index 0000000000..b63ad8d6de
--- /dev/null
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/advanced/GregtechMetaTileEntity_Adv_Implosion.java
@@ -0,0 +1,123 @@
+package gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.processing.advanced;
+
+import gregtech.api.GregTech_API;
+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_MultiBlockBase;
+import gregtech.api.objects.GT_RenderedTexture;
+import gregtech.api.util.GT_Recipe;
+import gregtech.api.util.GT_Utility;
+import net.minecraft.block.Block;
+import net.minecraft.entity.player.InventoryPlayer;
+import net.minecraft.item.ItemStack;
+import net.minecraftforge.common.util.ForgeDirection;
+
+import java.util.ArrayList;
+
+public class GregtechMetaTileEntity_Adv_Implosion
+ extends GregtechMeta_MultiBlockBase {
+ public GregtechMetaTileEntity_Adv_Implosion(int aID, String aName, String aNameRegional) {
+ super(aID, aName, aNameRegional);
+ }
+
+ public GregtechMetaTileEntity_Adv_Implosion(String aName) {
+ super(aName);
+ }
+
+ public IMetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) {
+ return new GregtechMetaTileEntity_Adv_Implosion(this.mName);
+ }
+
+ public String[] getDescription() {
+ return new String[]{
+ "Controller Block for the Advanced Implosion Compressor",
+ "Size(WxHxD): 3x3x3 (Hollow), Controller (Front centered)",
+ "1x Input Bus (Any casing)",
+ "1x Output Bus (Any casing)",
+ "1x Maintenance Hatch (Any casing)",
+ "1x Muffler Hatch (Any casing)",
+ "1x Energy Hatch (Any casing)",
+ "Solid Steel Machine Casings for the rest (16 at least!)",
+ "Causes " + 20 * getPollutionPerTick(null) + " Pollution per second"};
+ }
+
+ public ITexture[] getTexture(IGregTechTileEntity aBaseMetaTileEntity, byte aSide, byte aFacing, byte aColorIndex, boolean aActive, boolean aRedstone) {
+ if (aSide == aFacing) {
+ return new ITexture[]{Textures.BlockIcons.CASING_BLOCKS[16], new GT_RenderedTexture(aActive ? Textures.BlockIcons.OVERLAY_FRONT_IMPLOSION_COMPRESSOR_ACTIVE : Textures.BlockIcons.OVERLAY_FRONT_IMPLOSION_COMPRESSOR)};
+ }
+ return new ITexture[]{Textures.BlockIcons.CASING_BLOCKS[16]};
+ }
+
+ public Object getClientGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) {
+ return new GT_GUIContainer_MultiMachine(aPlayerInventory, aBaseMetaTileEntity, getLocalName(), "ImplosionCompressor.png");
+ }
+
+ public GT_Recipe.GT_Recipe_Map getRecipeMap() {
+ return GT_Recipe.GT_Recipe_Map.sImplosionRecipes;
+ }
+
+ public boolean isCorrectMachinePart(ItemStack aStack) {
+ return true;
+ }
+
+ public boolean isFacingValid(byte aFacing) {
+ return aFacing > 1;
+ }
+
+ public boolean checkRecipe(final ItemStack aStack) {
+ return checkRecipeGeneric((GT_Utility.getTier(this.getMaxInputVoltage())/2+1), 100, 100);
+ }
+
+ public void startSoundLoop(byte aIndex, double aX, double aY, double aZ) {
+ super.startSoundLoop(aIndex, aX, aY, aZ);
+ if (aIndex == 20) {
+ GT_Utility.doSoundAtClient((String) GregTech_API.sSoundList.get(Integer.valueOf(5)), 10, 1.0F, aX, aY, aZ);
+ }
+ }
+
+ public boolean checkMachine(IGregTechTileEntity aBaseMetaTileEntity, ItemStack aStack) {
+ int xDir = ForgeDirection.getOrientation(aBaseMetaTileEntity.getBackFacing()).offsetX;
+ int zDir = ForgeDirection.getOrientation(aBaseMetaTileEntity.getBackFacing()).offsetZ;
+ if (!aBaseMetaTileEntity.getAirOffset(xDir, 0, zDir)) {
+ return false;
+ }
+ int tAmount = 0;
+ for (int i = -1; i < 2; i++) {
+ for (int j = -1; j < 2; j++) {
+ for (int h = -1; h < 2; h++) {
+ if ((h != 0) || (((xDir + i != 0) || (zDir + j != 0)) && ((i != 0) || (j != 0)))) {
+ IGregTechTileEntity tTileEntity = aBaseMetaTileEntity.getIGregTechTileEntityOffset(xDir + i, h, zDir + j);
+ if ((!addMaintenanceToMachineList(tTileEntity, 16)) && (!addMufflerToMachineList(tTileEntity, 16)) && (!addInputToMachineList(tTileEntity, 16)) && (!addOutputToMachineList(tTileEntity, 16)) && (!addEnergyInputToMachineList(tTileEntity, 16))) {
+ Block tBlock = aBaseMetaTileEntity.getBlockOffset(xDir + i, h, zDir + j);
+ byte tMeta = aBaseMetaTileEntity.getMetaIDOffset(xDir + i, h, zDir + j);
+ if (((tBlock != GregTech_API.sBlockCasings2) || (tMeta != 0)) && ((tBlock != GregTech_API.sBlockCasings3) || (tMeta != 4))) {
+ return false;
+ }
+ tAmount++;
+ }
+ }
+ }
+ }
+ }
+ return tAmount >= 16;
+ }
+
+ public int getMaxEfficiency(ItemStack aStack) {
+ return 10000;
+ }
+
+ public int getPollutionPerTick(ItemStack aStack) {
+ return 250;
+ }
+
+ public int getDamageToComponent(ItemStack aStack) {
+ return 0;
+ }
+
+ public boolean explodesOnComponentBreak(ItemStack aStack) {
+ return false;
+ }
+} \ No newline at end of file
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntityTreeFarm.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntityTreeFarm.java
index d93260733a..e64b38e382 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntityTreeFarm.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntityTreeFarm.java
@@ -51,6 +51,7 @@ public class GregtechMetaTileEntityTreeFarm extends GregtechMeta_MultiBlockBase
@Override
public String[] getDescription() {
return new String[]{
+ "THIS MULTIBLOCK IS DISABLED - DO NOT BUILD",
"Controller Block for the Tree Farmer",
"How to get your first logs without an axe.",
"Size(WxHxD): 15x2x15",
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/storage/GregtechMetaTileEntity_PowerSubStationController.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/storage/GregtechMetaTileEntity_PowerSubStationController.java
index d77edb631b..a501061849 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/storage/GregtechMetaTileEntity_PowerSubStationController.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/storage/GregtechMetaTileEntity_PowerSubStationController.java
@@ -64,7 +64,7 @@ public class GregtechMetaTileEntity_PowerSubStationController extends GregtechMe
"Consumes " + this.ENERGY_TAX + "% of the average voltage of all energy type hatches",
"Power can be Input/Extracted from the rear face at any time, change with screwdriver",
"Can be built with variable height between " + (CELL_HEIGHT_MIN + 2) + "-" + (CELL_HEIGHT_MAX + 2) + "",
- "Redox Cells can be upgraded via the GUI without having to deconstruct the multiblock",
+ "Redox Cells can be upgraded via the GUI without having to deconstruct the multiblock (WIP)",
"Size(WxHxD): External 5xHx5, Sub-Station Casings, Controller (Bottom, Centre)",
"Size(WxHxD): Internal 3x(H-2)x3, Energy Storage Cells",
"Number and quality of cells determines power storage",
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechGeneratorsULV b/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechGeneratorsULV
new file mode 100644
index 0000000000..d063d85b1f
--- /dev/null
+++ b/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechGeneratorsULV
@@ -0,0 +1,15 @@
+
+
+public class GregtechGeneratorsULV {
+ public static void run(){
+
+ GregtechItemList.Generator_Diesel_ULV.set(new GT_MetaTileEntity_ULV_CombustionGenerator(960, "basicgenerator.diesel.tier.00", "Simple Combustion Generator", 0).getStackForm(1L));
+ GregtechItemList.Generator_Gas_Turbine_ULV.set(new GT_MetaTileEntity_ULV_GasTurbine(961, "basicgenerator.gas.tier.00", "Simple Gas Turbine", 0).getStackForm(1L));
+ GregtechItemList.Generator_Steam_Turbine_ULV.set(new GT_MetaTileEntity_ULV_SteamTurbine(962, "basicgenerator.steam.tier.00", "Simple Steam Turbine", 0).getStackForm(1L));
+
+ GT_ModHandler.addCraftingRecipe(GregtechItemList.Generator_Diesel_ULV.get(1L, new Object[0]), bitsd, new Object[]{"PCP", "EME", "GWG", 'M', ItemList.Hull_ULV, 'P', GregtechItemList.Electric_Piston_ULV, 'E', GregtechItemList.Electric_Motor_ULV, 'C', OrePrefixes.circuit.get(Materials.Primitive), 'W', OrePrefixes.cableGt01.get(Materials.RedAlloy), 'G', OrePrefixes.gearGt.get(Materials.Bronze)});
+ GT_ModHandler.addCraftingRecipe(GregtechItemList.Generator_Gas_Turbine_ULV.get(1L, new Object[0]), bitsd, new Object[]{"CRC", "RMR", aTextMotorWire, 'M', ItemList.Hull_ULV, 'E', GregtechItemList.Electric_Motor_ULV, 'R', OrePrefixes.rotor.get(Materials.Tin), 'C', OrePrefixes.circuit.get(Materials.Primitive), 'W', OrePrefixes.cableGt01.get(Materials.RedAlloy)});
+ GT_ModHandler.addCraftingRecipe(GregtechItemList.Generator_Steam_Turbine_ULV.get(1L, new Object[0]), bitsd, new Object[]{"PCP", "RMR", aTextMotorWire, 'M', ItemList.Hull_ULV, 'E', GregtechItemList.Electric_Motor_ULV, 'R', OrePrefixes.rotor.get(Materials.Tin), 'C', OrePrefixes.circuit.get(Materials.Primitive), 'W', OrePrefixes.cableGt01.get(Materials.RedAlloy), 'P', OrePrefixes.pipeMedium.get(Materials.Copper)});
+
+ }
+} \ No newline at end of file
diff --git a/src/resources/assets/gregtech/textures/gui/PowerSubStation.png b/src/resources/assets/gregtech/textures/gui/PowerSubStation.png
new file mode 100644
index 0000000000..ba8479807d
--- /dev/null
+++ b/src/resources/assets/gregtech/textures/gui/PowerSubStation.png
Binary files differ