From a88fed98878a081350cde7a0ee6d3fdd1a3de420 Mon Sep 17 00:00:00 2001 From: Alkalus <3060479+draknyte1@users.noreply.github.com> Date: Sat, 11 Dec 2021 18:07:47 +0000 Subject: Fixed issue of Multiblock hatches/buses not being assigned recipe maps. Removed 7 from Charge Pack tooltips. Initial work on Elemental Duplicator. --- .../core/item/bauble/BatteryPackBaseBauble.java | 2 +- .../xmod/gregtech/api/enums/GregtechItemList.java | 4 +- ...etaTileEntity_Hatch_ElementalDataOrbHolder.java | 30 +- .../base/GregtechMeta_MultiBlockBase.java | 130 ++- .../base/GregtechMeta_SteamMultiBase.java | 18 +- .../machines/multi/misc/GMTE_AmazonPackager.java | 15 +- ...gtechMetaTileEntity_IndustrialAlloySmelter.java | 15 +- ...regtechMetaTileEntity_IndustrialArcFurnace.java | 21 +- ...regtechMetaTileEntity_IndustrialCentrifuge.java | 21 +- .../GregtechMetaTileEntity_IndustrialCokeOven.java | 21 +- ...echMetaTileEntity_IndustrialCuttingMachine.java | 18 +- ...regtechMetaTileEntity_IndustrialDehydrator.java | 21 +- ...gtechMetaTileEntity_IndustrialElectrolyzer.java | 21 +- .../GregtechMetaTileEntity_IndustrialExtruder.java | 15 +- ...GregtechMetaTileEntity_IndustrialMacerator.java | 15 +- .../GregtechMetaTileEntity_IndustrialMixer.java | 21 +- ...gtechMetaTileEntity_IndustrialMultiMachine.java | 21 +- ...regtechMetaTileEntity_IndustrialPlatePress.java | 15 +- .../GregtechMetaTileEntity_IndustrialSifter.java | 15 +- ...MetaTileEntity_IndustrialThermalCentrifuge.java | 15 +- ...techMetaTileEntity_IndustrialVacuumFreezer.java | 24 +- ...GregtechMetaTileEntity_IndustrialWashPlant.java | 18 +- .../GregtechMetaTileEntity_IndustrialWireMill.java | 15 +- .../GregtechMetaTileEntity_SpargeTower.java | 18 +- ...egtechMetaTileEntity_Adv_DistillationTower.java | 24 +- .../advanced/GregtechMetaTileEntity_Adv_EBF.java | 24 +- .../GregtechMetaTileEntity_Adv_Implosion.java | 15 +- .../GregtechMetaTileEntity_SteamMacerator.java | 9 +- .../multi/production/GT4Entity_AutoCrafter.java | 18 +- .../multi/production/GT4Entity_ThermalBoiler.java | 18 +- .../GregtechMTE_ElementalDuplicator.java | 1038 ++++++++++---------- .../production/GregtechMTE_FrothFlotationCell.java | 15 +- .../production/GregtechMTE_NuclearReactor.java | 15 +- .../GregtechMetaTileEntityGeneratorArray.java | 18 +- .../GregtechMetaTileEntity_AlloyBlastSmelter.java | 18 +- .../GregtechMetaTileEntity_Cyclotron.java | 18 +- ...egtechMetaTileEntity_IndustrialFishingPond.java | 18 +- .../GregtechMetaTileEntity_LargeRocketEngine.java | 31 +- ...techMetaTileEntity_LargeSemifluidGenerator.java | 14 +- .../GregtechMetaTileEntity_MassFabricator.java | 21 +- .../GregtechMetaTileEntity_Refinery.java | 18 +- .../algae/GregtechMTE_AlgaePondBase.java | 9 +- .../chemplant/GregtechMTE_ChemicalPlant.java | 14 +- ...chMetaTileEntity_PowerSubStationController.java | 33 +- .../GregtechIndustrialElementDuplicator.java | 4 +- 45 files changed, 862 insertions(+), 1059 deletions(-) (limited to 'src/Java/gtPlusPlus') diff --git a/src/Java/gtPlusPlus/core/item/bauble/BatteryPackBaseBauble.java b/src/Java/gtPlusPlus/core/item/bauble/BatteryPackBaseBauble.java index edc1cc9b88..70de4603e7 100644 --- a/src/Java/gtPlusPlus/core/item/bauble/BatteryPackBaseBauble.java +++ b/src/Java/gtPlusPlus/core/item/bauble/BatteryPackBaseBauble.java @@ -95,7 +95,7 @@ public class BatteryPackBaseBauble extends ElectricBaseBauble { String aEUT = aEU+"/t"; list.add(EnumChatFormatting.GREEN + aString1 + EnumChatFormatting.GRAY); - list.add(EnumChatFormatting.GREEN + aString2+" " + (int) getTransferLimit(stack) + aEUT +" 7"+ aString3 + EnumChatFormatting.GRAY); + list.add(EnumChatFormatting.GREEN + aString2+" " + (int) getTransferLimit(stack) + aEUT +" "+ aString3 + EnumChatFormatting.GRAY); list.add(EnumChatFormatting.GREEN + aString4 + EnumChatFormatting.GRAY); super.addInformation(stack, aPlayer, list, bool); } diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/enums/GregtechItemList.java b/src/Java/gtPlusPlus/xmod/gregtech/api/enums/GregtechItemList.java index bd0f11f0ad..8c814489f2 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/api/enums/GregtechItemList.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/api/enums/GregtechItemList.java @@ -404,7 +404,7 @@ public enum GregtechItemList implements GregtechItemContainer { Casing_Sparge_Tower_Interior, // Elemental Duplicator - /*Controller_ElementalDuplicator,*/ + Controller_ElementalDuplicator, Casing_ElementalDuplicator, // Big Steam Macerator @@ -458,7 +458,7 @@ public enum GregtechItemList implements GregtechItemContainer { Hatch_Output_Bus_Steam, //Elemental Duplicator Data Orb Bus - /*Hatch_Input_Elemental_Duplicator,*/ + Hatch_Input_Elemental_Duplicator, //RTG Hatch Hatch_RTG_LV, diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_ElementalDataOrbHolder.java b/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_ElementalDataOrbHolder.java index 71040d057c..a892346463 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_ElementalDataOrbHolder.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_ElementalDataOrbHolder.java @@ -1,5 +1,7 @@ package gtPlusPlus.xmod.gregtech.api.metatileentity.implementations; +import java.util.ArrayList; + import gregtech.api.gui.GT_Container_4by4; import gregtech.api.gui.GT_GUIContainer_4by4; import gregtech.api.interfaces.ITexture; @@ -18,14 +20,12 @@ import net.minecraft.nbt.NBTTagCompound; public class GT_MetaTileEntity_Hatch_ElementalDataOrbHolder extends GT_MetaTileEntity_Hatch { public GT_Recipe_Map mRecipeMap = null; - public boolean disableSort; public GT_MetaTileEntity_Hatch_ElementalDataOrbHolder(int aID, String aName, String aNameRegional, int aTier) { super(aID, aName, aNameRegional, aTier, 16, new String[]{ "Holds Data Orbs for the Elemental Duplicator", CORE.GT_Tooltip - }); - disableSort = true; + }); } public GT_MetaTileEntity_Hatch_ElementalDataOrbHolder(String aName, int aTier, String aDescription, ITexture[][][] aTextures) { @@ -85,7 +85,7 @@ public class GT_MetaTileEntity_Hatch_ElementalDataOrbHolder extends GT_MetaTileE @Override public Object getClientGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) { - return new GT_GUIContainer_4by4(aPlayerInventory, aBaseMetaTileEntity, "Steam Input Bus"); + return new GT_GUIContainer_4by4(aPlayerInventory, aBaseMetaTileEntity, "Data Orb Repository"); } @Override @@ -102,28 +102,26 @@ public class GT_MetaTileEntity_Hatch_ElementalDataOrbHolder extends GT_MetaTileE } protected void fillStacksIntoFirstSlots() { - if (disableSort) { - for (int i = 0; i < mInventory.length; i++) - if (mInventory[i] != null && mInventory[i].stackSize <= 0) - mInventory[i] = null; - } + for (int i = 0; i < mInventory.length; i++) { + if (mInventory[i] != null && mInventory[i].stackSize <= 0) { + mInventory[i] = null; + } + } } @Override public void saveNBTData(NBTTagCompound aNBT) { super.saveNBTData(aNBT); - aNBT.setBoolean("disableSort", disableSort); } @Override public void loadNBTData(NBTTagCompound aNBT) { super.loadNBTData(aNBT); - disableSort = aNBT.getBoolean("disableSort"); } @Override public void onScrewdriverRightClick(byte aSide, EntityPlayer aPlayer, float aX, float aY, float aZ) { - + } public String trans(String aKey, String aEnglish) { @@ -139,5 +137,13 @@ public class GT_MetaTileEntity_Hatch_ElementalDataOrbHolder extends GT_MetaTileE public boolean allowPutStack(IGregTechTileEntity aBaseMetaTileEntity, int aIndex, byte aSide, ItemStack aStack) { return aSide == getBaseMetaTileEntity().getFrontFacing() && (mRecipeMap == null || mRecipeMap.containsInput(aStack)); } + + public ArrayList getInventory(){ + ArrayList aContents = new ArrayList(); + for (int i=0;i as it should have been +// so any method in GregtechMetaTileEntity_IndustrialDehydrator would see generic field declared in GregtechMeta_MultiBlockBase without generic parameter + public abstract class GregtechMeta_MultiBlockBase> extends GT_MetaTileEntity_EnhancedMultiBlockBase { public static final boolean DEBUG_DISABLE_CORES_TEMPORARILY = true; @@ -95,14 +98,15 @@ public abstract class GregtechMeta_MultiBlockBase mControlCoreBus = new ArrayList(); public ArrayList mAirIntakes = new ArrayList(); public ArrayList mChargeHatches = new ArrayList(); public ArrayList mDischargeHatches = new ArrayList(); + public ArrayList mAllEnergyHatches = new ArrayList(); + public ArrayList mAllDynamoHatches = new ArrayList(); // Custom Behaviour Map - private static final HashMap mCustomBehviours = new HashMap();; + private static final HashMap mCustomBehviours = new HashMap(); public GregtechMeta_MultiBlockBase(final int aID, final String aName, @@ -1468,6 +1472,8 @@ public abstract class GregtechMeta_MultiBlockBase boolean addToMachineListInternal(ArrayList aList, final IMetaTileEntity aTileEntity, - final int aBaseCasingIndex) { + public boolean addToMachineListInternal(ArrayList aList, final IGregTechTileEntity aTileEntity, final int aBaseCasingIndex) { + if (aTileEntity == null) { + return false; + } + final IMetaTileEntity aMetaTileEntity = aTileEntity.getMetaTileEntity(); + if (aMetaTileEntity == null) { + return false; + } + return addToMachineListInternal(aList, aMetaTileEntity, aBaseCasingIndex); + } + + public boolean addToMachineListInternal(ArrayList aList, final IMetaTileEntity aTileEntity, final int aBaseCasingIndex) { if (aTileEntity == null) { return false; } @@ -1669,7 +1685,15 @@ public abstract class GregtechMeta_MultiBlockBase aHatchType = ReflectionUtils.getTypeOfGenericObject(aList); if * (!aHatchType.isInstance(aTileEntity)) { return false; } */ + + // Try setRecipeMap + if (aTileEntity instanceof GT_MetaTileEntity_Hatch_Input) { + ((GT_MetaTileEntity_Hatch_Input) aTileEntity).mRecipeMap = getRecipeMap(); + } + if (aTileEntity instanceof GT_MetaTileEntity_Hatch_InputBus) { + ((GT_MetaTileEntity_Hatch_InputBus) aTileEntity).mRecipeMap = getRecipeMap(); + } if (aList.isEmpty()) { if (aTileEntity instanceof GT_MetaTileEntity_Hatch) { @@ -1780,7 +1804,7 @@ public abstract class GregtechMeta_MultiBlockBase mDynamoClass; mDynamoClass = ReflectionUtils.getClass("com.github.technus.tectech.thing.metaTileEntity.hatch.GT_MetaTileEntity_Hatch_DynamoMulti"); if (mDynamoClass != null){ @@ -2105,11 +2132,27 @@ public abstract class GregtechMeta_MultiBlockBase mDynamoClass; mDynamoClass = ReflectionUtils.getClass("com.github.technus.tectech.thing.metaTileEntity.hatch.GT_MetaTileEntity_Hatch_EnergyMulti"); if (mDynamoClass != null){ @@ -2151,11 +2204,26 @@ public abstract class GregtechMeta_MultiBlockBase