diff options
author | Jordan Byrne <draknyte1@hotmail.com> | 2018-05-12 17:00:15 +1000 |
---|---|---|
committer | Jordan Byrne <draknyte1@hotmail.com> | 2018-05-12 17:00:15 +1000 |
commit | 75d5897f4db4e97feca4fe4d978cc5823cbbb150 (patch) | |
tree | 23f0527839930bb790cb68a5a2db86429768d161 /src | |
parent | 30c22ef725680a8e63a950bf34343d68c96340b2 (diff) | |
download | GT5-Unofficial-75d5897f4db4e97feca4fe4d978cc5823cbbb150.tar.gz GT5-Unofficial-75d5897f4db4e97feca4fe4d978cc5823cbbb150.tar.bz2 GT5-Unofficial-75d5897f4db4e97feca4fe4d978cc5823cbbb150.zip |
% Initial Commit
Diffstat (limited to 'src')
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 Binary files differnew file mode 100644 index 0000000000..ba8479807d --- /dev/null +++ b/src/resources/assets/gregtech/textures/gui/PowerSubStation.png |