From 6427be7b6d30811e979b346d5477daf0c84e9334 Mon Sep 17 00:00:00 2001 From: Dream-Master Date: Mon, 4 Apr 2016 20:04:53 +0200 Subject: [PATCH] adding Adv Miner to us Version adding Drilling Fluid added a few Textures from Gt 5.09 --- build.properties | 2 +- .../java/gregtech/api/enums/ItemList.java | 4 +- .../multi/GT_MetaTileEntity_AdvMiner2.java | 294 ++++++++++++++++++ .../postload/GT_MachineRecipeLoader.java | 1 + .../GT_Loader_Item_Block_And_Fluid.java | 1 + .../preload/GT_Loader_MetaTileEntities.java | 4 + .../fluids/fluid.liquid_drillingfluid.png | Bin 0 -> 6267 bytes .../fluid.liquid_drillingfluid.png.mcmeta | 5 + .../gui/multimachines/Advanced_Miner2.png | Bin 0 -> 4373 bytes .../gui/multimachines/DistillationTower.png | Bin 0 -> 4366 bytes .../gui/multimachines/DrillingRig.png | Bin 0 -> 4364 bytes .../gui/multimachines/LargeHeatExchanger.png | Bin 0 -> 4437 bytes .../gui/multimachines/LargeTurbine.png | Bin 0 -> 4313 bytes .../gui/multimachines/OilCrackingUnit.png | Bin 0 -> 4379 bytes .../gui/multimachines/PyrolyseOven.png | Bin 0 -> 4426 bytes 15 files changed, 308 insertions(+), 3 deletions(-) create mode 100644 src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_AdvMiner2.java create mode 100644 src/main/resources/assets/gregtech/textures/blocks/fluids/fluid.liquid_drillingfluid.png create mode 100644 src/main/resources/assets/gregtech/textures/blocks/fluids/fluid.liquid_drillingfluid.png.mcmeta create mode 100644 src/main/resources/assets/gregtech/textures/gui/multimachines/Advanced_Miner2.png create mode 100644 src/main/resources/assets/gregtech/textures/gui/multimachines/DistillationTower.png create mode 100644 src/main/resources/assets/gregtech/textures/gui/multimachines/DrillingRig.png create mode 100644 src/main/resources/assets/gregtech/textures/gui/multimachines/LargeHeatExchanger.png create mode 100644 src/main/resources/assets/gregtech/textures/gui/multimachines/LargeTurbine.png create mode 100644 src/main/resources/assets/gregtech/textures/gui/multimachines/OilCrackingUnit.png create mode 100644 src/main/resources/assets/gregtech/textures/gui/multimachines/PyrolyseOven.png diff --git a/build.properties b/build.properties index 3e9d139a..9ad340b4 100644 --- a/build.properties +++ b/build.properties @@ -1,7 +1,7 @@ minecraft.version=1.7.10 forge.version=10.13.4.1566-1.7.10 -gt.version=5.08.33.10 +gt.version=5.08.33.11 ae2.version=rv2-beta-33 applecore.version=1.7.10-1.2.1+107.59407 diff --git a/src/main/java/gregtech/api/enums/ItemList.java b/src/main/java/gregtech/api/enums/ItemList.java index b394fa66..b735ba45 100644 --- a/src/main/java/gregtech/api/enums/ItemList.java +++ b/src/main/java/gregtech/api/enums/ItemList.java @@ -660,12 +660,12 @@ public enum ItemList implements IItemContainer { Teleporter, Cover_NeedsMaintainance, Casing_Turbine, - MobRep_LV, MobRep_MV, MobRep_HV, MobRep_EV, MobRep_IV, LargeGasTurbine, LargeHPSteamTurbine, LargePlasmaTurbine, Cover_PlayerDetector, Machine_Multi_HeatExchanger, Uraniumcell_1, Uraniumcell_2, Uraniumcell_4, Moxcell_1, Moxcell_2, Moxcell_4; + MobRep_LV, MobRep_MV, MobRep_HV, MobRep_EV, MobRep_IV, LargeGasTurbine, LargeHPSteamTurbine, LargePlasmaTurbine, Cover_PlayerDetector, Machine_Multi_HeatExchanger, AdvancedMiner2, Uraniumcell_1, Uraniumcell_2, Uraniumcell_4, Moxcell_1, Moxcell_2, Moxcell_4; public static final ItemList[] DYE_ONLY_ITEMS = {Color_00, Color_01, Color_02, Color_03, Color_04, Color_05, Color_06, Color_07, Color_08, Color_09, Color_10, Color_11, Color_12, Color_13, Color_14, Color_15}, SPRAY_CAN_DYES = {Spray_Color_00, Spray_Color_01, Spray_Color_02, Spray_Color_03, Spray_Color_04, Spray_Color_05, Spray_Color_06, Spray_Color_07, Spray_Color_08, Spray_Color_09, Spray_Color_10, Spray_Color_11, Spray_Color_12, Spray_Color_13, Spray_Color_14, Spray_Color_15}, SPRAY_CAN_DYES_USED = {Spray_Color_Used_00, Spray_Color_Used_01, Spray_Color_Used_02, Spray_Color_Used_03, Spray_Color_Used_04, Spray_Color_Used_05, Spray_Color_Used_06, Spray_Color_Used_07, Spray_Color_Used_08, Spray_Color_Used_09, Spray_Color_Used_10, Spray_Color_Used_11, Spray_Color_Used_12, Spray_Color_Used_13, Spray_Color_Used_14, Spray_Color_Used_15}, TRANSFORMERS = {Transformer_LV_ULV, Transformer_MV_LV, Transformer_HV_MV, Transformer_EV_HV, Transformer_IV_EV, Transformer_LuV_IV, Transformer_ZPM_LuV, Transformer_UV_ZPM, Transformer_MAX_UV}, MACHINE_HULLS = {Hull_ULV, Hull_LV, Hull_MV, Hull_HV, Hull_EV, Hull_IV, Hull_LuV, Hull_ZPM, Hull_UV, Hull_MAX}, HATCHES_DYNAMO = {Hatch_Dynamo_ULV, Hatch_Dynamo_LV, Hatch_Dynamo_MV, Hatch_Dynamo_HV, Hatch_Dynamo_EV, Hatch_Dynamo_IV, Hatch_Dynamo_LuV, Hatch_Dynamo_ZPM, Hatch_Dynamo_UV, Hatch_Dynamo_MAX}, HATCHES_ENERGY = {Hatch_Energy_ULV, Hatch_Energy_LV, Hatch_Energy_MV, Hatch_Energy_HV, Hatch_Energy_EV, Hatch_Energy_IV, Hatch_Energy_LuV, Hatch_Energy_ZPM, Hatch_Energy_UV, Hatch_Energy_MAX}, HATCHES_INPUT = {Hatch_Input_ULV, Hatch_Input_LV, Hatch_Input_MV, Hatch_Input_HV, Hatch_Input_EV, Hatch_Input_IV, Hatch_Input_LuV, Hatch_Input_ZPM, Hatch_Input_UV, Hatch_Input_MAX}, HATCHES_INPUT_BUS = {Hatch_Input_Bus_ULV, Hatch_Input_Bus_LV, Hatch_Input_Bus_MV, Hatch_Input_Bus_HV, Hatch_Input_Bus_EV, Hatch_Input_Bus_IV, Hatch_Input_Bus_LuV, Hatch_Input_Bus_ZPM, Hatch_Input_Bus_UV, Hatch_Input_Bus_MAX}, HATCHES_OUTPUT = {Hatch_Output_ULV, Hatch_Output_LV, Hatch_Output_MV, Hatch_Output_HV, Hatch_Output_EV, Hatch_Output_IV, Hatch_Output_LuV, Hatch_Output_ZPM, Hatch_Output_UV, Hatch_Output_MAX}, HATCHES_OUTPUT_BUS = {Hatch_Output_Bus_ULV, Hatch_Output_Bus_LV, Hatch_Output_Bus_MV, Hatch_Output_Bus_HV, Hatch_Output_Bus_EV, Hatch_Output_Bus_IV, Hatch_Output_Bus_LuV, Hatch_Output_Bus_ZPM, Hatch_Output_Bus_UV, Hatch_Output_Bus_MAX}, HATCHES_MUFFLER = {Hatch_Muffler_LV, Hatch_Muffler_LV, Hatch_Muffler_MV, Hatch_Muffler_HV, Hatch_Muffler_EV, Hatch_Muffler_IV, Hatch_Muffler_LuV, Hatch_Muffler_ZPM, Hatch_Muffler_UV, Hatch_Muffler_MAX}; - public static Fluid sOilExtraHeavy, sOilHeavy, sOilMedium, sOilLight, sNaturalGas; + public static Fluid sOilExtraHeavy, sOilHeavy, sOilMedium, sOilLight, sNaturalGas, sDrillingFluid; private ItemStack mStack; private boolean mHasNotBeenSet = true; diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_AdvMiner2.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_AdvMiner2.java new file mode 100644 index 00000000..0b2a32e1 --- /dev/null +++ b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_AdvMiner2.java @@ -0,0 +1,294 @@ +package gregtech.common.tileentities.machines.multi; + +import gregtech.api.GregTech_API; +import gregtech.api.enums.ItemList; +import gregtech.api.enums.Materials; +import gregtech.api.enums.OrePrefixes; +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.objects.ItemData; +import gregtech.api.util.GT_ModHandler; +import gregtech.api.util.GT_OreDictUnificator; +import gregtech.api.util.GT_Recipe; +import gregtech.api.util.GT_Utility; +import gregtech.common.blocks.GT_TileEntity_Ores; +import net.minecraft.block.Block; +import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.init.Blocks; +import net.minecraft.item.ItemStack; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.world.ChunkPosition; +import net.minecraftforge.common.util.ForgeDirection; +import net.minecraftforge.fluids.FluidStack; + +import java.util.ArrayList; + +public class GT_MetaTileEntity_AdvMiner2 extends GT_MetaTileEntity_MultiBlockBase { + + public ArrayList mMineList = new ArrayList(); + private boolean completedCycle = false; + + public GT_MetaTileEntity_AdvMiner2(int aID, String aName, String aNameRegional) { + super(aID, aName, aNameRegional); + } + + public GT_MetaTileEntity_AdvMiner2(String aName) { + super(aName); + } + + public String[] getDescription() { + return new String[]{ + "Controller Block for the Advanced Miner II", + "Size: 3x3x7", "Controller (front middle at bottom)", + "3x3 Base of Solid Steel Casings", + "Also part of Base: MV+ Energy Input Hatch", + "Fluid Input Hatch, Output Bus and Maintainance Hatch", + "3x Solid Steel Casings on top the Center of the base", + "Steel Frame Boxes on each side and 3 more on top"}; + } + + 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_LARGE_BOILER_ACTIVE : Textures.BlockIcons.OVERLAY_FRONT_LARGE_BOILER)}; + } + 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(), "Advanced_Miner2.png"); + } + + @Override + public boolean checkRecipe(ItemStack aStack) { + if (mInventory[1] == null || (mInventory[1].isItemEqual(GT_ModHandler.getIC2Item("miningPipe", 1L)) && mInventory[1].stackSize < mInventory[1].getMaxStackSize())) { + ArrayList tItems = getStoredInputs(); + for (ItemStack tStack : tItems) { + if (tStack.isItemEqual(GT_ModHandler.getIC2Item("miningPipe", 1L))) { + if (tStack.stackSize < 2) { + tStack = null; + } else { + tStack.stackSize--; + } + + } + if (mInventory[1] == null) { + mInventory[1] = GT_ModHandler.getIC2Item("miningPipe", 1L); + } else { + mInventory[1].stackSize++; + } + } + } + if (mInputHatches == null || mInputHatches.get(0).mFluid == null || mInputHatches.get(0).mFluid.getFluid().getID() != ItemList.sDrillingFluid.getID()) { + return false; + } + FluidStack tFluid = mInputHatches.get(0).mFluid.copy(); + if (tFluid == null) { + return false; + } + if (tFluid.amount < 100) { + return false; + } + tFluid.amount = 100; + depleteInput(tFluid); + long tVoltage = getMaxInputVoltage(); + if (getBaseMetaTileEntity().getRandomNumber(20) == 0) { + if (mMineList.isEmpty()) { + int yLevel = getYOfPumpHead(); + for (int i = -48; i < 49; i++) { + for (int f = -48; f < 49; f++) { + Block tBlock = getBaseMetaTileEntity().getBlockOffset(i, yLevel - getBaseMetaTileEntity().getYCoord(), f); + if (tBlock == GregTech_API.sBlockOres1) { + TileEntity tTileEntity = getBaseMetaTileEntity().getTileEntityOffset(i, yLevel - getBaseMetaTileEntity().getYCoord(), f); + if ((tTileEntity instanceof GT_TileEntity_Ores) && ((GT_TileEntity_Ores) tTileEntity).mNatural == true && !mMineList.contains(new ChunkPosition(i, yLevel - getBaseMetaTileEntity().getYCoord(), f))) { + mMineList.add(new ChunkPosition(i, yLevel - getBaseMetaTileEntity().getYCoord(), f)); + } + } + } + } + } + if (mMineList.isEmpty()) { + if(getBaseMetaTileEntity().getBlockOffset(ForgeDirection.getOrientation(getBaseMetaTileEntity().getBackFacing()).offsetX, getYOfPumpHead() - 1 - getBaseMetaTileEntity().getYCoord(), ForgeDirection.getOrientation(getBaseMetaTileEntity().getBackFacing()).offsetZ) != Blocks.bedrock){ + if (mEnergyHatches.size() > 0 && mEnergyHatches.get(0).getEUVar() > (512 + getMaxInputVoltage() * 4)) { + moveOneDown(); + } + }else{return false;} + } + ArrayList tDrops = new ArrayList(); + if (!mMineList.isEmpty()) { + Block tMineBlock = getBaseMetaTileEntity().getBlockOffset(mMineList.get(0).chunkPosX, mMineList.get(0).chunkPosY, mMineList.get(0).chunkPosZ); + tDrops = tMineBlock.getDrops(getBaseMetaTileEntity().getWorld(), mMineList.get(0).chunkPosX, mMineList.get(0).chunkPosY, mMineList.get(0).chunkPosZ, getBaseMetaTileEntity().getMetaIDOffset(mMineList.get(0).chunkPosX, mMineList.get(0).chunkPosY, mMineList.get(0).chunkPosZ), 1); + if (!tDrops.isEmpty()) { + ItemData tData = GT_OreDictUnificator.getItemData(tDrops.get(0).copy()); + if (tData.mPrefix != OrePrefixes.crushed&& tData.mMaterial.mMaterial != Materials.Oilsands) { + GT_Recipe tRecipe = GT_Recipe.GT_Recipe_Map.sMaceratorRecipes.findRecipe(getBaseMetaTileEntity(), false, tVoltage, null, tDrops.get(0).copy()); + if (tRecipe != null) { + this.mOutputItems = new ItemStack[tRecipe.mOutputs.length]; + for (int g = 0; g < mOutputItems.length; g++) { + mOutputItems[g] = tRecipe.mOutputs[g].copy(); + mOutputItems[g].stackSize = mOutputItems[g].stackSize * (getBaseMetaTileEntity().getRandomNumber(4) + 1); + } + } + } else { + this.mOutputItems = null; + ItemStack[] tStack = new ItemStack[tDrops.size()]; + for (int j = 0; j < tDrops.size(); j++) { + tStack[j] = tDrops.get(j).copy(); + tStack[j].stackSize = tStack[j].stackSize * (getBaseMetaTileEntity().getRandomNumber(4) + 1); + } + mOutputItems = tStack; + } + } + getBaseMetaTileEntity().getWorld().setBlockToAir(mMineList.get(0).chunkPosX + getBaseMetaTileEntity().getXCoord(), mMineList.get(0).chunkPosY + getBaseMetaTileEntity().getYCoord(), mMineList.get(0).chunkPosZ + getBaseMetaTileEntity().getZCoord()); + mMineList.remove(0); + } + } + + byte tTier = (byte) Math.max(1, GT_Utility.getTier(tVoltage)); + this.mEfficiency = (10000 - (getIdealStatus() - getRepairStatus()) * 1000); + this.mEfficiencyIncrease = 10000; + int tEU = 48; + int tDuration = 24; + if (tEU <= 16) { + this.mEUt = (tEU * (1 << tTier - 1) * (1 << tTier - 1)); + this.mMaxProgresstime = (tDuration / (1 << tTier - 1)); + } else { + this.mEUt = tEU; + this.mMaxProgresstime = tDuration; + while (this.mEUt <= gregtech.api.enums.GT_Values.V[(tTier - 1)]) { + this.mEUt *= 4; + this.mMaxProgresstime /= 2; + } + } + if (this.mEUt > 0) { + this.mEUt = (-this.mEUt); + } + this.mMaxProgresstime = Math.max(1, this.mMaxProgresstime); + return true; + } + + private boolean moveOneDown() { + if ((this.mInventory[1] == null) || (this.mInventory[1].stackSize < 1) + || (!GT_Utility.areStacksEqual(this.mInventory[1], GT_ModHandler.getIC2Item("miningPipe", 1L)))) { + return false; + } + int xDir = ForgeDirection.getOrientation(getBaseMetaTileEntity().getBackFacing()).offsetX; + int zDir = ForgeDirection.getOrientation(getBaseMetaTileEntity().getBackFacing()).offsetZ; + int yHead = getYOfPumpHead(); + if (yHead <= 0) { + return false; + } + if (getBaseMetaTileEntity().getBlock(getBaseMetaTileEntity().getXCoord() + xDir, yHead - 1, getBaseMetaTileEntity().getZCoord() + zDir) == Blocks.bedrock) { + return false; + } + if (!(getBaseMetaTileEntity().getWorld().setBlock(getBaseMetaTileEntity().getXCoord() + xDir, yHead - 1, getBaseMetaTileEntity().getZCoord() + zDir, GT_Utility.getBlockFromStack(GT_ModHandler.getIC2Item("miningPipeTip", 1L))))) { + return false; + } + if (yHead != getBaseMetaTileEntity().getYCoord()) { + getBaseMetaTileEntity().getWorld().setBlock(getBaseMetaTileEntity().getXCoord() + xDir, yHead, getBaseMetaTileEntity().getZCoord() + zDir, GT_Utility.getBlockFromStack(GT_ModHandler.getIC2Item("miningPipe", 1L))); + } + getBaseMetaTileEntity().decrStackSize(1, 1); + return true; + } + + private int getYOfPumpHead() { + int xDir = ForgeDirection.getOrientation(getBaseMetaTileEntity().getBackFacing()).offsetX; + int zDir = ForgeDirection.getOrientation(getBaseMetaTileEntity().getBackFacing()).offsetZ; + int y = getBaseMetaTileEntity().getYCoord() - 1; + while (getBaseMetaTileEntity().getBlock(getBaseMetaTileEntity().getXCoord() + xDir, y, getBaseMetaTileEntity().getZCoord() + zDir) == GT_Utility.getBlockFromStack(GT_ModHandler.getIC2Item("miningPipe", 1L))) { + y--; + } + if (y == getBaseMetaTileEntity().getYCoord() - 1) { + if (getBaseMetaTileEntity().getBlock(getBaseMetaTileEntity().getXCoord() + xDir, y, getBaseMetaTileEntity().getZCoord() + zDir) != GT_Utility.getBlockFromStack(GT_ModHandler.getIC2Item("miningPipeTip", 1L))) { + return y + 1; + } + } else if (getBaseMetaTileEntity().getBlock(getBaseMetaTileEntity().getXCoord() + xDir, y, getBaseMetaTileEntity().getZCoord() + zDir) != GT_Utility + .getBlockFromStack(GT_ModHandler.getIC2Item("miningPipeTip", 1L)) && this.mInventory[1] != null && this.mInventory[1].stackSize > 0 && GT_Utility.areStacksEqual(this.mInventory[1], GT_ModHandler.getIC2Item("miningPipe", 1L))) { + getBaseMetaTileEntity().getWorld().setBlock(getBaseMetaTileEntity().getXCoord() + xDir, y, getBaseMetaTileEntity().getZCoord() + zDir, + GT_Utility.getBlockFromStack(GT_ModHandler.getIC2Item("miningPipeTip", 1L))); + getBaseMetaTileEntity().decrStackSize(0, 1); + } + return y; + } + + @Override + public boolean checkMachine(IGregTechTileEntity aBaseMetaTileEntity, ItemStack aStack) { + int xDir = ForgeDirection.getOrientation(aBaseMetaTileEntity.getBackFacing()).offsetX; + int zDir = ForgeDirection.getOrientation(aBaseMetaTileEntity.getBackFacing()).offsetZ; + 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, 16)) && (!addInputToMachineList(tTileEntity, 16)) && (!addOutputToMachineList(tTileEntity, 16)) && (!addEnergyInputToMachineList(tTileEntity, 16))) { + if (aBaseMetaTileEntity.getBlockOffset(xDir + i, 0, zDir + j) != GregTech_API.sBlockCasings2) { + return false; + } + if (aBaseMetaTileEntity.getMetaIDOffset(xDir + i, 0, zDir + j) != 0) { + return false; + } + } + } + } + } + for (int y = 1; y < 4; y++) { + if (aBaseMetaTileEntity.getBlockOffset(xDir, y, zDir) != GregTech_API.sBlockCasings2) { + return false; + } + if (aBaseMetaTileEntity.getBlockOffset(xDir + 1, y, zDir) != GregTech_API.sBlockMachines) { + return false; + } + if (aBaseMetaTileEntity.getBlockOffset(xDir - 1, y, zDir) != GregTech_API.sBlockMachines) { + return false; + } + if (aBaseMetaTileEntity.getBlockOffset(xDir, y, zDir + 1) != GregTech_API.sBlockMachines) { + return false; + } + if (aBaseMetaTileEntity.getBlockOffset(xDir, y, zDir - 1) != GregTech_API.sBlockMachines) { + return false; + } + if (aBaseMetaTileEntity.getBlockOffset(xDir, y + 3, zDir) != GregTech_API.sBlockMachines) { + return false; + } + } + return true; + } + + @Override + public boolean isCorrectMachinePart(ItemStack aStack) { + return true; + } + + @Override + public int getMaxEfficiency(ItemStack aStack) { + return 10000; + } + + @Override + public int getPollutionPerTick(ItemStack aStack) { + return 0; + } + + @Override + public int getDamageToComponent(ItemStack aStack) { + return 0; + } + + @Override + public int getAmountOfOutputs() { + return 0; + } + + @Override + public boolean explodesOnComponentBreak(ItemStack aStack) { + return false; + } + + public IMetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) { + return new GT_MetaTileEntity_AdvMiner2(this.mName); + } + +} \ No newline at end of file diff --git a/src/main/java/gregtech/loaders/postload/GT_MachineRecipeLoader.java b/src/main/java/gregtech/loaders/postload/GT_MachineRecipeLoader.java index 822cb8f1..14c2606d 100644 --- a/src/main/java/gregtech/loaders/postload/GT_MachineRecipeLoader.java +++ b/src/main/java/gregtech/loaders/postload/GT_MachineRecipeLoader.java @@ -98,6 +98,7 @@ public class GT_MachineRecipeLoader GT_Values.RA.addMixerRecipe(new ItemStack(Blocks.sand, 1, 32767), new ItemStack(Blocks.dirt, 1, 32767), GT_Values.NI, GT_Values.NI, Materials.Water.getFluid(250L), GT_Values.NF, GT_ModHandler.getModItem("Forestry", "soil", 2L, 1), 16, 16); GT_Values.RA.addMixerRecipe(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Lapis, 1L), null, null, null, Materials.Water.getFluid(125), FluidRegistry.getFluidStack("ic2coolant", 125), null, 256, 48); GT_Values.RA.addMixerRecipe(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Lapis, 1L), null, null, null, GT_ModHandler.getDistilledWater(1000), FluidRegistry.getFluidStack("ic2coolant", 1000), null, 256, 48); + GT_Values.RA.addMixerRecipe(GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Water, 5L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Stone, 1L), null, null, Materials.Lubricant.getFluid(20), new FluidStack(ItemList.sDrillingFluid, 5000), ItemList.Cell_Empty.get(5, new Object[0]), 64, 16); GT_Values.RA.addMixerRecipe(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Redstone, 1L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Silicon, 1L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Coal, 1L), null, GT_Values.NF, GT_Values.NF, GT_OreDictUnificator.get(OrePrefixes.dust, Materials.RedstoneAlloy, 1L), 100, 8); GT_Values.RA.addMixerRecipe(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.RedstoneAlloy, 1L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Iron, 1L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Titanium, 1L), null, GT_Values.NF, GT_Values.NF, GT_OreDictUnificator.get(OrePrefixes.dust, Materials.ConductiveIron, 1L), 100, 8); GT_Values.RA.addMixerRecipe(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.ConductiveIron, 1L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Gold, 1L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.TungstenSteel, 1L), null, GT_Values.NF, GT_Values.NF, GT_OreDictUnificator.get(OrePrefixes.dust, Materials.EnergeticAlloy, 1L), 100, 8); diff --git a/src/main/java/gregtech/loaders/preload/GT_Loader_Item_Block_And_Fluid.java b/src/main/java/gregtech/loaders/preload/GT_Loader_Item_Block_And_Fluid.java index 91e4f8d7..d72a3b0c 100644 --- a/src/main/java/gregtech/loaders/preload/GT_Loader_Item_Block_And_Fluid.java +++ b/src/main/java/gregtech/loaders/preload/GT_Loader_Item_Block_And_Fluid.java @@ -192,6 +192,7 @@ public class GT_Loader_Item_Block_And_Fluid ItemList.sOilMedium = GT_Mod.gregtechproxy.addFluid("liquid_medium_oil", "Raw Oil", null, 1, 295); ItemList.sOilLight = GT_Mod.gregtechproxy.addFluid("liquid_light_oil", "Light Oil", null, 1, 295); ItemList.sNaturalGas = GT_Mod.gregtechproxy.addFluid("gas_natural_gas", "Natural Gas", null, 2, 295); + ItemList.sDrillingFluid = GT_Mod.gregtechproxy.addFluid("liquid_drillingfluid", "Drilling Fluid", null, 1, 295); GT_Mod.gregtechproxy.addFluid("UUAmplifier", "UU Amplifier", Materials.UUAmplifier, 1, 295, GT_OreDictUnificator.get(OrePrefixes.cell, Materials.UUAmplifier, 1L), ItemList.Cell_Empty.get(1L, new Object[0]), 1000); GT_Mod.gregtechproxy.addFluid("Chlorine", "Chlorine", Materials.Chlorine, 1, 295, GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Chlorine, 1L), ItemList.Cell_Empty.get(1L, new Object[0]), 1000); diff --git a/src/main/java/gregtech/loaders/preload/GT_Loader_MetaTileEntities.java b/src/main/java/gregtech/loaders/preload/GT_Loader_MetaTileEntities.java index 67172800..42b076f1 100644 --- a/src/main/java/gregtech/loaders/preload/GT_Loader_MetaTileEntities.java +++ b/src/main/java/gregtech/loaders/preload/GT_Loader_MetaTileEntities.java @@ -951,6 +951,10 @@ public class GT_Loader_MetaTileEntities ItemList.Machine_Multi_HeatExchanger.set(new GT_MetaTileEntity_HeatExchanger(1154, "multimachine.heatexchanger", "Large Heat Exchanger").getStackForm(1L)); GT_ModHandler.addCraftingRecipe(ItemList.Machine_Multi_HeatExchanger.get(1L, new Object[0]), GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE | GT_ModHandler.RecipeBits.BUFFERED, new Object[]{"WCW", "CMC", "WCW", Character.valueOf('M'), ItemList.Casing_Pipe_Titanium, Character.valueOf('C'), OrePrefixes.pipeMedium.get(Materials.Titanium), Character.valueOf('W'), ItemList.Electric_Pump_EV}); + + ItemList.AdvancedMiner2.set(new GT_MetaTileEntity_AdvMiner2(1158, "multimachine.advminer2", "Advanced Miner II").getStackForm(1)); + GT_ModHandler.addCraftingRecipe(ItemList.AdvancedMiner2.get(1L, new Object[0]), GT_ModHandler.RecipeBits.DISMANTLEABLE | GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE | GT_ModHandler.RecipeBits.BUFFERED, new Object[]{"WWW", "EME", "CCC", 'M', ItemList.Hull_EV, 'W', OrePrefixes.frameGt.get(Materials.Titanium), 'E', OrePrefixes.circuit.get(Materials.Data), 'C', ItemList.Electric_Motor_EV}); + } private static void run4() { diff --git a/src/main/resources/assets/gregtech/textures/blocks/fluids/fluid.liquid_drillingfluid.png b/src/main/resources/assets/gregtech/textures/blocks/fluids/fluid.liquid_drillingfluid.png new file mode 100644 index 0000000000000000000000000000000000000000..8ce2ce80a89481959ca318c8e43e4d4bbbe86802 GIT binary patch literal 6267 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 l@%_#+-n%j1=W6; literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/gregtech/textures/blocks/fluids/fluid.liquid_drillingfluid.png.mcmeta b/src/main/resources/assets/gregtech/textures/blocks/fluids/fluid.liquid_drillingfluid.png.mcmeta new file mode 100644 index 00000000..0df7234a --- /dev/null +++ b/src/main/resources/assets/gregtech/textures/blocks/fluids/fluid.liquid_drillingfluid.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation":{ + "frametime":2 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/gregtech/textures/gui/multimachines/Advanced_Miner2.png b/src/main/resources/assets/gregtech/textures/gui/multimachines/Advanced_Miner2.png new file mode 100644 index 0000000000000000000000000000000000000000..7c9bbc058a52b7f35105ac80f1486a5511ea19f6 GIT binary patch literal 4373 zcma)9cQo8<^M7`=)q4pcOGH_{ca{|;IxBjDV2KD4LI_r(B@!Zf4apUq1XdK8F ziHpNNWi=C}c|tW#vCR7_?$PU*C!dZMf?s=nX&`*~htZ_y$(YGu zX^OOX80Q~#ws$NnizCCS_#nzk2&-k33mrhp(N_>z2 zEck^Eor+3Sabi`-v0kUIE^U#zU!%_TC&ao{(j(u4+_g!oU7z2zxt#aBc4A^>d3pRw zyOy2PC##TCOzU;L)yb`&p{mD({rRRv{%~oBa9z^F`PSY&!~F9DFDN6Nr@zMQ9@kKx z9dnQHwd*_AS|eDN%$R)Rv@@RWO6T)E)_NiQ@zU^_%i^5q5sCVo9C&+E9TJ=%R_Jhp zSIUw2rd5hRxJiCDi`eeJC4Go54D7%`rdLQ93?&@xn=QY z?oo+8bmFa+AL!J4=zlrEa$1BM!YN5LyI{;typu5y=O@+|<6!LRk%zo3dZbLT{P6A= z7BfDB1UWq^^CxJyr5^W=+8wA;w7pJUf=U;Ves~mZ?(~!K>Zndh{5K8?nf6T?-WHT6L0jq<13{p z>EL{OwUng(@&1j0cLAhK;g|80@}vP;a3>y3J!?a2<8i%0_<4R=#z{&AN|Fe(RzbeR zLW637I>w*v9L~~G(bjsR7r!vYGfOZ8$DrC3_?aG~qy=lAL-pVNfgWZW))~HSesN8- zC{tFC^I~H6q>E=Ig;J6zT%;>?7+iI2N;mj+{q6?X2{WFyM9GbK|mevRy;sI;IC#vKt$pXn-2nlpi@tfk=Vrt7>%N}%m(KU;Zave(Tc+hS(a_# zMPaTtvWB%%uJ)eADXA&eC3+=hCAu4p^5vTa*>4&z*V`P0(`j~I5wsW7#l-iMWv^OH zSj-eq6|fnpDesqy7klP&<<)BkG~X`RO3P`whRrebE||UFxccjSh{Or{#OqhVzAlY5 zc@+&m`4mk*hw4W;UvE`ziO#7XW+;a?Br4x2*(r4)BB6Fj_4TOEGadS;9v${e{7YUP zULCIm$OU)>42;%|wld6(YTpRIQ8838?Ck69d)4>yc+S1mcN~bKl?9!L|vibtXf?DH5uD3abCC(CyX;YrsiXL+g4&@Vn|)cvlBH6+UNYY&*bWu>1tfQ z;h7HO zFYOfV*-VU-iBg5w6*+`@vG`5ZNrgJuI*kr-H=Ev3>uhWNTL$Nq#1ZB4w{JDg9dGVN zFJ>=NF9oxwNpv~*+|TQ8-HR+>D-vfCRZc+~#uzIm{Y#SpQONf6(hhULr8uhlt=z2` zK8Ydup_p-$J%Y!0M-O2X^x}I$gWP@ok23k9E42}VMb8@yX$@yGm2=oK?!mpJ)s!2h z9=%9-?yFVIYm|t?tYf~q-RmiJjjTNVcssU6f+v}x+q3Fz z@11@{Wpk;sK7LZpGR2lNu>4(P1Qfbp=w_@tA1#3E$Hs=Q_(>Gf!;&^Ld$Or&%AdU zJG?!##TDFeAp3oE%C3QMqTby!WeKq~8g(0WJ<>m_B50I9E?zrKIr4HSGxqY`>?9c` zIia{nha0Q?Jjy++hBlA?BC?@N*Lk7oGl3@>y2L;zb|r`^#$t$~giLt@7l( zr@^HQ6eAbzabvh8Zfa%hWawmCWE|N!+tr!$st}9+hcO= z;YcE8XW(gea&}0l_|Iv_saLq*)f@eDH|f2%>lpkNhA*GRuBtSs^xN-z@Y|`JT4A>O zV3kp!eBEo^Z(a2?am1vvKC3>Xyw={cb}OjyeXtv0jVni?e`c@o{tvdZFQYk1YBP9CvlfZW}oX-ddx6;mCp9Xw6lfihCp_O2dnwggNEaBsh!qc>T801p#7bN~5n z-(s-fDDhlk;u$GP+V1fU8L=tiz6rmfXKn;Q&?Nw{j{x|2M&xS%_)7w??g)T#8UXCx zFRp*o0e~E-udRs=ocunc5zD2^K{0Qph;~@pqdNuSBn3JQ)>|Zn2F!Yy9Hcjgi|z`) zo#CARpd11XU*OdL&`SX`-cGXesw%qrEhX{x`_~#GeYcNtU&-_|i~7Knpnj82N1J@0_ zQpeJ}biTuy7w!PBP7~cWxy?;Oo;S9UE(^h5s%>m6+ix0jcd?k{0q{R}Z6MyYk@~Wg zNQMyr#PvA<qq2g1VA zNLl~#I8HJTRZ~^{j|>A$%Z5k@$cm{4SxGVwOMnG{xaZPidx&~gP^!qF4S+2$Uq&*p z0?O2rxuynMB8}3)0FoMM?s{g@e4Nj13d!XrCS(hSZ&5G+dqoWNCdBb$I2;NFq0jj! z9u@+<58uyD_d^a(_Z#p1Y54+i6n6a6WD`pTHi<}xc5W(IFyE@gY)TD8)MgSwVf#s00G18Q(i4h-7K1^$G#CW9L-cUOs6Go>l!at)-;HSOt)OQBR0I2reH2o@ zQHKo6Mm$*DA%oCd=zOIuR^ft1G?6?Zq+sw9o1-dErZC+wwBhK)N(`$8%q2N!THR%( z8CRKrO-efN!JDy-$dx-DeBU9&{1}LE2_UM?Y45^sJ3nQ)IA6~Ak&XS*&laS}pCmC- zoX`H&-dG|+AlB!1hZz1UDEzN>{+|jC3?VQ8*R&fT86Oia?~tO~{7jrFq2@xKhIwuH zQngdo`eS5bx6A&ot*w59I-1P%6gVsX=umvOq{!IypXvC=2v{IV1_xMDCB`nrvJ25| zzI@MpZ8hSU!;R69Bn>Qwaf6iccSU2;N{as}M`KcHny@&aTh>6 zA-}In;xSXQe;U?U17#`#qM>@SzkgPO5vFP6dLPLC_VC||`~PwNSF3;Q(SLPwzAsrA zJ7O!!_N+W}V6|kd@tO(Q@7&)Q!}26)2XokRMK@m}HpY5Rjc^WDCppB~B}4j$r&8nk zTjy9vGdpNn1mM-SiIL4c?-9V=gL<&KcWy-)0>r4XMzQx(?Lz!30@y)6zMSy0WP8r9 zkqX$(LS;j`3g}pY{ovU#6!cs7mNx@%Z&3*-j_ib8xIoSX7@S4~f9|N#69|NoildXz zZ};khMUG0wWWBgafp$ipTgjMBN+d(;>yOt%9YVK@2%Tt3sUvbIpkpDge^600ZiIpW zis5a-1xw%`bW%rM_e&#eizwA|fV52`Q0YhF;iFZhX_r}r2RodO3stA^xDGO5w zvIounU?lrg`G}GT2Vc%>N;uhqB3-E8UR$q7-94&fHVvrA?e;$)daaqFwMmf+>MB@U zjQ67EnIjiv0a@>i3oOI3CvM^VExgBa72AvO@pf1(C>$J&LQ6|_`R8$ndBtXSBys9E z?L^tk1`azPaCB{xN2GLD-dcLKMK~IIc{&vwS`17f?L@@CPAa*_S6??D6@t?XKwnl@ U4jJh86c9iC%f{N}T8~y3hA}&i%PRpZorv>wE6|=B9egh?58a0JDLJ$RtbX4Pbqrih|82t3@ZUVs4@oPYyiL>wmfH3pY);2fy^bPR6>FMi-G|<*Y`rYvL z@Ve#>z@4cqE1b2}GM74Kb_-(^hkt71Ysm>mT4EmJIg&(Bf(&eiae}#%oEB}zbaiQY zdkAqf@$vXaoE8#H4-g;e7X)9#N4|`E@P6-e$V>0>X3E!r!`carr4n*h^$MMdb4}>7#XPBCr_-P{jTL8H;#s~*QlMJE^ zU+fX<3MS1Ff{%g_1Cq`g!SNgb9UPCz1LzA7d{(N66(G<8=RP;rd0;LHoJGUGjsbku z&$JK-aCj=n2_Yl_C*RfodTxq2{I_>H@f4DeQ z?1u*6b3oY0p@ekxNxUi@-skYenRQyvON@kDl!qQwtms-mSe~*W`~Av|Zf;`Zid!L^+*wSCI=+}kh05wcDZdbB_1+WWVRU-Jz;VTf{_`I?}& zU(a~7&p&p$!@#xC7R51d!R{Zglm3V-`}*{K%#*X7XGV{%d?88f(P)qqK*d!JNJx@o zfs-4}Uq+&AwgJR16aY4xeB1sIgVW$WBR>xX9&KnI=n>8UyobRPe*iA&2uoSNuh#5_ z1E52QKvih*Zng195b5~ZU^8uu`_76{7~zg~3>yY<1jKYi6KjrOpw;SuA9oR)ii5a5uoa4jbEifB6l~L{Wq&A) z?2Y5FIBk@qpnuNtfi)7V&%ddD1F9VBc;QWwY7daTw;$82ckXFKm4*5rOtspL1xhEQ zF1%nIz7lXQJ%NjmF?^%ur1~Sp+@;}SPu8gf4ef3j;x`_8xsGcxQeE#bmFFcGlHK|$ zPnR$icb%-bSVGfuf7@-SGLV)%LYK&(NE?Vjx(I0L+Zx-Ne$+2O@(Ifyn_^I6poy|* z7d@R^U{oXW=GaaLkE`stSX+Gwp>g(v%yt+On*h%GoSe=A*iAd<_#=ymCfXJaQlxjiXf z<=+C{9Q*W4z%*spX0&fv?_0_@nyo-4<`~Y%?l_#-i3}ck9^8pQp7K=Vyc1&&Pjp+$ zD4knPT}oq3^Tpbt>QHw%linkq89ozv#*31+E-cC`nk{0)lCgc(35A!eLdz~-<*eol z8UA=)j4jGCU$x@3!WF6(#1`QSe62NKh1nh4r?Y!!{LW1Kl?9>l@_cg_lF{u%^&JU8 zZ|35dTM-H!B9#M^cW9;z1=<|=E;8OqsITaur8XwuK8`v1%fFlAU0%TFPP zJ(%U#IQ!)+Z=Sqy<2iRn@1o}^&uxqKi!F-vR$COy*7CFRT6CN2_99rcx(!7gMfGqA zgRrb6t4XU*`G|Zj6LppCGN~f(*Sxt+I)Sa%^Vd_e-(JFJ8~f(Z2DL2h@`XwtSReT8 z=5OmU+0s=r3DZq84f3dUD){@V@k@74|7oG^^bW24+U1!`%IB!0#u2rbA1*w;!1~Cm z%W+!k>th@gm($%@H(x}`~D-q}1=V^!nsf&PIP1LJ858S3XIWS26QGA1%e z_0INp>?P_7>Kfb)sut|??AGg=uSeS}+r75M+B;QWD9tK8Gu~9%lz%M0(KOk#IC~uT zuHw(S-nzp26BUae>88u-eCk47aIW0A`p&X<>&Y$2p>IMTAE?ta$4;^o^V{=>-K@F6 zp>k1WHhnO2T{E-n-Y&UT1x=%d_x-SNJ&9bQ>h8Dn}lZd~KdNOIi6`$qTrq*64b zGI+Z_^|UM)25kE~eGVSo&dR9HXkROsE?-w%_gasg$?2ERIh$=KcXRk%kM^9!;)o_= z&NCTrQc0MZwpj$Oc1cLuO*+Y@bfTjEbzl+2WrJJeFO3^H^BVJNO0%-Fc9;8=i1j`7 zeP-``voA-Jw8Mptt{ep)jevao83>N%euP$p19b0a@Lj>ycukdQ_rIzp*R&oH8nrmJ z67H4WTWl*8^z8YbSSm9+9Cei5FXqy<#c)vK?lOyL+ z6aq(Pv~QAhc6FZX%x2)unJJe`8Y-YPilnZpO)0&Rf1}wY9>(Svg#@==OUjZCHiBE1Wl6ba4Wd49=H2S+@q@wJFh>imlk+N-|JnSSOT+?MATvO zzFFIgO`zzjaPBr9tpoSpD?cyJ79UvauYNzBsFb;pbF{|Z&i?sH-Rl@58%ciKuPr54 zm8;bJgQgMloG|g2i*zMw4G-#2J|E1A*KAVC!dgUvO}ry6wY|UBRtxc7WyB&DqeE9` zCf1zHY^Ci;wJy6cS-cvY_aBsTOmnAjhJO^BxwFU{>-)YnZRTlBVR1*}l_8H&kL9nk zlGzR{&x=yNrm$RRo}8*-CS9yq+x|;;S~_JwY`Q73PP_4Ct6D>|dw%cWfU2hTE9))m zU2Dbl(NDE56F;wytn-F6|0VzZ!?Z&)vrkE&Z+CX9=(>ald6dV83)5h%&5$c%lQ+4V)pPbX+$ znZiJ#2r#Qm-F_5O@|k|@)NOtozw}j1`eyot46F1#2UmwTX8jr?<14el`+C!-STp6- z?1Bu**1cX+%lF2TahpSrvYusyhDq(rI8VQ*3t4g-Bwc0o-FU+m@Of1C=;4xTv+AJZ zW<$Vc)%41BB z9gTm;R#yMiLJsz&bW*lST%W>jh#m~~HBAPJu9r5OHDBIBuW3zce~SH}>2NsnabqU@ zDlw2i9+}aj&_zcM9VTrjuxi5+(h~Y&m}6G6&ub_vf6=^gu)LqIJ#=MAB%Ay2#bI9= zH85XK0zmK?0Pv9j>>N?;G61(^ z09bJbKqVCbZr>-DJ1+o0r);33WqoJr`={LaX?-60AH80jHQxm01g@AsQS;F1NP2PX z1CB!Z8nICWdd7!}g!3vD!o49|kOy384L!vrwFZ1sr(VlddV=bW7*L z3-0cGw)(mAd8};$4$zFm;r;ESaJ|bfp=d@t05!l9Vh$m|sBrew2ROLiMJ87p3_}yE zE}v?Rq7J^hkAH1r8pzRnD-ik^fv2^{D|R0PcrJWyE%1qd33Vn&;)|(ls7|hob0|DO z3Q{N(5iLgado^Y;03^ZLO?d(WNTOHg|EBN@!2%*P%tgdfTLDjqekIJ06AcpCLZDY6 z`kDC<7$Crqy4iHrRBE1~e82Ya*fS1)J&yu(Q_uzk@;7Q7D1*WQyQ>*m65J=t6Mpf0 z)iZ`iQEh30(62q(-jFFiJs1(~0Bj(%zfe1W2SsDPGZes({@HXKzm#wUoivBxxzLQi zf$f1L9)aJo#}AR-#!`p(-=2kBbENRYacW3Qa}M3q0S^%jNPHpD*M7T6;n?`^rUnqY zy#aY=#yA22^z)!S5BdbWjL^+uInfAM?4za z^KZzERE27tnmnfef6}t}9BFIBEBtq5OmEsamvQ`tcJh5ph3@o{{13tZ9s>_#U`T+c zo#gy@zU5SGU!}N=Qg<2A{_pgBTex0-L|QAw>!5(BrtnE%8m2!X7G<7Br{4hkpThsi z9{Fzx|M&R+CHr@I|FcN{)5mcj>nxs9J9$kd^m@ys*5<(~V;Hr*gx41ETv_Jf94>;? z8VR);*moGp5?Z#S4gu;2{8xrcITb#p`=MGDzWr}gi=duktM%%+8As$mCuu(+woDghg57wE z`_4+}t)uXg{nic>bT(a-xbpbe#zmOB-MSM`GZzJdj;fL%eP1J~RAyk?DsRuRr_UDy zB!+BBS~mzQ*zk2wD4AF-Fh5_HM}Xq9y|RBe+3Zf2h{8bwBtHf{O=&`aBuV1+!d8dD zoK-{gbnQKH&}Aw-Unp-=V{lkXy#tOCe?}y;s-|wn&p? sD;OSuETbykm{=n!`yQz4!G44QdzHGGzL(6@p9%m5x~4j180UNc0@fs4_5c6? literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/gregtech/textures/gui/multimachines/DrillingRig.png b/src/main/resources/assets/gregtech/textures/gui/multimachines/DrillingRig.png new file mode 100644 index 0000000000000000000000000000000000000000..7b60ec4de7556350d140d4745df806572e4546e5 GIT binary patch literal 4364 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 XGD+q{)Oq{oSbG3 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/gregtech/textures/gui/multimachines/LargeHeatExchanger.png b/src/main/resources/assets/gregtech/textures/gui/multimachines/LargeHeatExchanger.png new file mode 100644 index 0000000000000000000000000000000000000000..9f0f9d59b239327f7c161b25e0631c9128258ac3 GIT binary patch literal 4437 zcma)82T&BsvYjO^OGbi7a0!xgl)Pk+BuSDIBrJ+ZmJCadf{03T2`V`XijtQgpvWR9 zIjl&Mv|b4=nTPlO`t_^syZ^nZ>gleU>7MD+eX2U?s;en`K&`K*Wd;D`%!B|a z*_pcTTjqAAD7^J-`~aZo`7Myg!Zd6Ez)WswYF@qS?&a_0=kDbV*Voj9d;5C1-MZrn zK+qK09BE;`%B(_|+tDycL_IR_GGl_m%`{R_j2V1FToiOy61j>dnM^zBwY5pu`U?|@ z)6!6>Or|1K$*>9XMXqOQG0zi|KOD}7KKB@FB`gn~ydGCwsoF+243T4?R8RDzO=VG3 z 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 Vo-{N}5?BFs80(wsm7ts-{0GN2i#z}T literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/gregtech/textures/gui/multimachines/PyrolyseOven.png b/src/main/resources/assets/gregtech/textures/gui/multimachines/PyrolyseOven.png new file mode 100644 index 0000000000000000000000000000000000000000..d3bc30c7bd203e434e74c3f1e7957bf08248d150 GIT binary patch literal 4426 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