diff --git a/dependencies.gradle b/dependencies.gradle index 592bc028cb0..e7145a6cb0a 100644 --- a/dependencies.gradle +++ b/dependencies.gradle @@ -42,7 +42,7 @@ dependencies { api("com.github.GTNewHorizons:ModularUI:1.2.17:dev") api("com.github.GTNewHorizons:ModularUI2:2.2.0-1.7.10:dev") api("com.github.GTNewHorizons:waila:1.8.2:dev") - api("com.github.GTNewHorizons:Applied-Energistics-2-Unofficial:rv3-beta-523-GTNH:dev") + api("com.github.GTNewHorizons:Applied-Energistics-2-Unofficial:rv3-beta-525-GTNH:dev") api("com.github.GTNewHorizons:AE2FluidCraft-Rework:1.4.23-gtnh:dev") api('com.github.GTNewHorizons:Yamcl:0.6.0:dev') api("com.github.GTNewHorizons:Postea:1.0.13:dev") diff --git a/src/main/java/bartworks/API/recipe/BacterialVatFrontend.java b/src/main/java/bartworks/API/recipe/BacterialVatFrontend.java index 68e376a80f2..947c003869c 100644 --- a/src/main/java/bartworks/API/recipe/BacterialVatFrontend.java +++ b/src/main/java/bartworks/API/recipe/BacterialVatFrontend.java @@ -1,6 +1,8 @@ package bartworks.API.recipe; import static gregtech.api.util.GTRecipeConstants.GLASS; +import static gregtech.api.util.GTUtility.getTierNameWithParentheses; +import static gregtech.api.util.GTUtility.trans; import java.util.List; @@ -16,6 +18,7 @@ import gregtech.api.recipe.NEIRecipePropertiesBuilder; import gregtech.api.recipe.RecipeMapFrontend; import gregtech.api.util.GTRecipeConstants; +import gregtech.api.util.GTUtility; import gregtech.api.util.MethodsReturnNonnullByDefault; import gregtech.api.util.recipe.Sievert; import gregtech.nei.GTNEIDefaultHandler; @@ -76,10 +79,15 @@ private void drawFluidOverlay(GTNEIDefaultHandler.FixedPositionedStack stack) { @Override protected void drawEnergyInfo(RecipeDisplayInfo recipeInfo) { + long eut = recipeInfo.recipe.mEUt; + long duration = recipeInfo.recipe.mDuration; int glassTier = recipeInfo.recipe.getMetadataOrDefault(GLASS, 3); Sievert data = recipeInfo.recipe.getMetadataOrDefault(GTRecipeConstants.SIEVERT, new Sievert(0, false)); int sievert = data.sievert; boolean isExact = data.isExact; + recipeInfo.drawText(trans("152", "Total: ") + GTUtility.formatNumbers(eut * duration) + " EU"); + recipeInfo.drawText( + trans("153", "Usage: ") + GTUtility.formatNumbers(eut) + " EU/t" + getTierNameWithParentheses(eut)); recipeInfo.drawText(StatCollector.translateToLocalFormatted("nei.biovat.0.name", GTValues.VN[glassTier])); if (sievert != 0) { if (!isExact) { diff --git a/src/main/java/bartworks/system/material/Werkstoff.java b/src/main/java/bartworks/system/material/Werkstoff.java index 85e31fc20ae..b987330ed3e 100644 --- a/src/main/java/bartworks/system/material/Werkstoff.java +++ b/src/main/java/bartworks/system/material/Werkstoff.java @@ -695,7 +695,7 @@ public static class GenerationFeatures { /* * dust 1 metal 10 (ingot, nugget) gem 100 ore 1000 cell 10000 plasma 100000 molten 1000000 crafting metal * 10000000 (sticks, plates) meta crafting metal 100000000 (gears, screws, bolts, springs) multiple ingotWorth - * stuff 1000000000 (double, triple, quadruple, ingot/plates) + * stuff 1000000000 (double and dense plates) 1000000000 (triple, quadruple and quintuple plates) */ private boolean isExtension; private static final NonNullWrappedHashMap prefixLogic = new NonNullWrappedHashMap<>(0); @@ -759,10 +759,12 @@ public static void initPrefixLogic() { Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.wireFine, 0b100000000); Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.plateDouble, 0x200); - Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.plateTriple, 0x200); - Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.plateQuadruple, 0x200); - Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.plateQuintuple, 0x200); Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.plateDense, 0x200); + + Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.plateTriple, 0x400); + Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.plateQuadruple, 0x400); + Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.plateQuintuple, 0x400); + Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.blockCasing, 0x380); Werkstoff.GenerationFeatures.prefixLogic.put(OrePrefixes.blockCasingAdvanced, 0x380); } @@ -969,11 +971,19 @@ public Werkstoff.GenerationFeatures addCraftingMetalWorkingItems() { return this; } - public Werkstoff.GenerationFeatures addMultipleIngotMetalWorkingItems() { + public Werkstoff.GenerationFeatures addDoubleAndDensePlates() { this.toGenerate = this.toGenerate | 0x200; return this; } + /** + * Due to rebolted casings, double plates had to be excluded from this + */ + public Werkstoff.GenerationFeatures addMultiPlates() { + this.toGenerate = this.toGenerate | 0x400; + return this; + } + public Werkstoff.GenerationFeatures addPrefix(OrePrefixes prefixes) { this.toGenerate = this.toGenerate | getPrefixDataRaw(prefixes); return this; diff --git a/src/main/java/bartworks/system/material/WerkstoffLoader.java b/src/main/java/bartworks/system/material/WerkstoffLoader.java index e25402c57cb..ff1f89921e9 100644 --- a/src/main/java/bartworks/system/material/WerkstoffLoader.java +++ b/src/main/java/bartworks/system/material/WerkstoffLoader.java @@ -1347,7 +1347,7 @@ public static void setUp() { .addMixerRecipes((short) 1) .addSimpleMetalWorkingItems() .addCraftingMetalWorkingItems() - .addMultipleIngotMetalWorkingItems() + .addDoubleAndDensePlates() .addMetaSolidifierRecipes() .addMetalCraftingSolidifierRecipes(), 88, @@ -1385,7 +1385,7 @@ public static void setUp() { .addMixerRecipes((short) 1) .addSimpleMetalWorkingItems() .addCraftingMetalWorkingItems() - .addMultipleIngotMetalWorkingItems() + .addDoubleAndDensePlates() .addMetaSolidifierRecipes() .addMetalCraftingSolidifierRecipes(), 90, @@ -1417,7 +1417,7 @@ public static void setUp() { .addMixerRecipes() .addSimpleMetalWorkingItems() .addCraftingMetalWorkingItems() - .addMultipleIngotMetalWorkingItems() + .addDoubleAndDensePlates() .addMetaSolidifierRecipes() .addMetalCraftingSolidifierRecipes(), 92, @@ -1480,7 +1480,7 @@ public static void setUp() { .addCraftingMetalWorkingItems() .addMolten() .addSimpleMetalWorkingItems() - .addMultipleIngotMetalWorkingItems() + .addDoubleAndDensePlates() .addMetaSolidifierRecipes() .addMetalCraftingSolidifierRecipes(), 96, @@ -1968,11 +1968,13 @@ private static void addItemsForGeneration() { WerkstoffLoader.items.put(wireFine, new BWMetaGeneratedItems(wireFine)); } if ((WerkstoffLoader.toGenerateGlobal & 0b1000000000) != 0) { + WerkstoffLoader.items.put(plateDense, new BWMetaGeneratedItems(plateDense));; + } + if ((WerkstoffLoader.toGenerateGlobal & 0b10000000000) != 0) { WerkstoffLoader.items.put(plateDouble, new BWMetaGeneratedItems(plateDouble)); WerkstoffLoader.items.put(plateTriple, new BWMetaGeneratedItems(plateTriple)); WerkstoffLoader.items.put(plateQuadruple, new BWMetaGeneratedItems(plateQuadruple)); WerkstoffLoader.items.put(plateQuintuple, new BWMetaGeneratedItems(plateQuintuple)); - WerkstoffLoader.items.put(plateDense, new BWMetaGeneratedItems(plateDense));; } ENABLED_ORE_PREFIXES.addAll(WerkstoffLoader.items.keySet()); ENABLED_ORE_PREFIXES.add(ore); diff --git a/src/main/java/goodgenerator/blocks/tileEntity/MTEPreciseAssembler.java b/src/main/java/goodgenerator/blocks/tileEntity/MTEPreciseAssembler.java index 0311544a64e..25ccdf985f6 100644 --- a/src/main/java/goodgenerator/blocks/tileEntity/MTEPreciseAssembler.java +++ b/src/main/java/goodgenerator/blocks/tileEntity/MTEPreciseAssembler.java @@ -159,7 +159,8 @@ public IStructureDefinition getStructureDefinition() { withChannel( "machine casing", StructureUtility.ofBlocksTiered( - (block, meta) -> block == GregTechAPI.sBlockCasings1 ? meta : -2, + (block, meta) -> (block == GregTechAPI.sBlockCasings1 && meta >= 0 && meta <= 9) ? meta + : -2, IntStream.range(0, 10) .mapToObj( meta -> org.apache.commons.lang3.tuple.Pair.of(GregTechAPI.sBlockCasings1, meta)) diff --git a/src/main/java/goodgenerator/items/GGMaterial.java b/src/main/java/goodgenerator/items/GGMaterial.java index 82a622f166e..692b2c924dc 100644 --- a/src/main/java/goodgenerator/items/GGMaterial.java +++ b/src/main/java/goodgenerator/items/GGMaterial.java @@ -284,7 +284,7 @@ public class GGMaterial implements Runnable { .addMetalItems() .addCraftingMetalWorkingItems() .addSimpleMetalWorkingItems() - .addMultipleIngotMetalWorkingItems() + .addDoubleAndDensePlates() .addMetaSolidifierRecipes() .addMetalCraftingSolidifierRecipes(), OffsetID + 21, @@ -314,7 +314,7 @@ public class GGMaterial implements Runnable { .addMetalItems() .addCraftingMetalWorkingItems() .addSimpleMetalWorkingItems() - .addMultipleIngotMetalWorkingItems() + .addDoubleAndDensePlates() .addMetaSolidifierRecipes() .addMetalCraftingSolidifierRecipes(), OffsetID + 23, @@ -1075,7 +1075,7 @@ public class GGMaterial implements Runnable { .addMetalItems() .addCraftingMetalWorkingItems() .addSimpleMetalWorkingItems() - .addMultipleIngotMetalWorkingItems() + .addDoubleAndDensePlates() .addMetaSolidifierRecipes() .addMetalCraftingSolidifierRecipes() .addMixerRecipes((short) 3), @@ -1201,7 +1201,7 @@ public class GGMaterial implements Runnable { .addMetalItems() .addCraftingMetalWorkingItems() .addSimpleMetalWorkingItems() - .addMultipleIngotMetalWorkingItems() + .addDoubleAndDensePlates() .addMetaSolidifierRecipes() .addMetalCraftingSolidifierRecipes() .addMixerRecipes((short) 7), @@ -1231,7 +1231,7 @@ public class GGMaterial implements Runnable { .addMetalItems() .addCraftingMetalWorkingItems() .addSimpleMetalWorkingItems() - .addMultipleIngotMetalWorkingItems() + .addDoubleAndDensePlates() .addMetaSolidifierRecipes() .addMetalCraftingSolidifierRecipes(), OffsetID + 96, @@ -1446,7 +1446,7 @@ public class GGMaterial implements Runnable { .addMolten() .addMetalItems() .addCraftingMetalWorkingItems() - .addMultipleIngotMetalWorkingItems() + .addDoubleAndDensePlates() .addMetaSolidifierRecipes() .addMetalCraftingSolidifierRecipes() .addMixerRecipes((short) 6), @@ -1472,7 +1472,7 @@ public class GGMaterial implements Runnable { .addMetalItems() .addCraftingMetalWorkingItems() .addSimpleMetalWorkingItems() - .addMultipleIngotMetalWorkingItems() + .addDoubleAndDensePlates() .addMetaSolidifierRecipes() .addMetalCraftingSolidifierRecipes() .addMixerRecipes((short) 4), @@ -1497,7 +1497,7 @@ public class GGMaterial implements Runnable { .addMetalItems() .addCraftingMetalWorkingItems() .addSimpleMetalWorkingItems() - .addMultipleIngotMetalWorkingItems() + .addDoubleAndDensePlates() .addMetaSolidifierRecipes() .addMetalCraftingSolidifierRecipes(), OffsetID + 110, @@ -1519,7 +1519,8 @@ public class GGMaterial implements Runnable { .addMetalItems() .addCraftingMetalWorkingItems() .addSimpleMetalWorkingItems() - .addMultipleIngotMetalWorkingItems() + .addDoubleAndDensePlates() + .addMultiPlates() .addMetaSolidifierRecipes() .addMetalCraftingSolidifierRecipes(), OffsetID + 111, diff --git a/src/main/java/gregtech/common/GTProxy.java b/src/main/java/gregtech/common/GTProxy.java index 431e1e2078e..ce1e990a53e 100644 --- a/src/main/java/gregtech/common/GTProxy.java +++ b/src/main/java/gregtech/common/GTProxy.java @@ -1293,11 +1293,11 @@ public void onPostLoad() { GTModHandler.addCraftingRecipe( GTOreDictUnificator.get(OrePrefixes.dustSmall, aMaterial, 4L), tBits, - new Object[] { " X ", 'X', OrePrefixes.dust.get(aMaterial) }); + new Object[] { " X ", " ", " ", 'X', OrePrefixes.dust.get(aMaterial) }); GTModHandler.addCraftingRecipe( GTOreDictUnificator.get(OrePrefixes.dustTiny, aMaterial, 9L), tBits, - new Object[] { "X ", 'X', OrePrefixes.dust.get(aMaterial) }); + new Object[] { "X ", " ", " ", 'X', OrePrefixes.dust.get(aMaterial) }); GTModHandler.addCraftingRecipe( GTOreDictUnificator.get(OrePrefixes.dust, aMaterial, 1L), tBits, diff --git a/src/main/java/gregtech/common/covers/CoverSteamRegulator.java b/src/main/java/gregtech/common/covers/CoverSteamRegulator.java index fc4f1279c32..d052f15437a 100644 --- a/src/main/java/gregtech/common/covers/CoverSteamRegulator.java +++ b/src/main/java/gregtech/common/covers/CoverSteamRegulator.java @@ -3,7 +3,6 @@ import net.minecraftforge.fluids.FluidStack; import gregtech.api.interfaces.ITexture; -import gregtech.api.util.GTModHandler; public class CoverSteamRegulator extends CoverFluidRegulator { @@ -13,11 +12,6 @@ public CoverSteamRegulator(int aTransferRate, ITexture coverTexture) { @Override protected boolean canTransferFluid(FluidStack fluid) { - if (fluid == null) return false; - String fluidname = fluid.getFluid() - .getName(); - return GTModHandler.isAnySteam(fluid) || GTModHandler.isSuperHeatedSteam(fluid) - || fluidname.equals("supercriticalsteam") - || fluidname.equals("densesupercriticalsteam"); + return CoverSteamValve.isFluidCompatible(fluid); } } diff --git a/src/main/java/gregtech/common/covers/CoverSteamValve.java b/src/main/java/gregtech/common/covers/CoverSteamValve.java index 129bc3ed375..848a087ca8a 100644 --- a/src/main/java/gregtech/common/covers/CoverSteamValve.java +++ b/src/main/java/gregtech/common/covers/CoverSteamValve.java @@ -3,6 +3,7 @@ import net.minecraftforge.common.util.ForgeDirection; import net.minecraftforge.fluids.FluidStack; +import gregtech.api.enums.Materials; import gregtech.api.interfaces.ITexture; import gregtech.api.interfaces.tileentity.ICoverable; import gregtech.api.util.GTModHandler; @@ -21,11 +22,17 @@ public boolean isRedstoneSensitive(ForgeDirection side, int aCoverID, int aCover @Override protected boolean canTransferFluid(FluidStack fluid) { - if (fluid == null) return false; + return isFluidCompatible(fluid); + } + + public static boolean isFluidCompatible(FluidStack fluid) { + if (fluid == null || fluid.getFluid() == null) return false; String fluidname = fluid.getFluid() .getName(); return GTModHandler.isAnySteam(fluid) || GTModHandler.isSuperHeatedSteam(fluid) || fluidname.equals("supercriticalsteam") - || fluidname.equals("densesupercriticalsteam"); + || fluid.getFluid() == Materials.DenseSteam.mGas + || fluid.getFluid() == Materials.DenseSuperheatedSteam.mGas + || fluid.getFluid() == Materials.DenseSupercriticalSteam.mGas; } } diff --git a/src/main/java/gtnhlanth/common/register/WerkstoffMaterialPool.java b/src/main/java/gtnhlanth/common/register/WerkstoffMaterialPool.java index c4cb6f459e0..244131d50fd 100644 --- a/src/main/java/gtnhlanth/common/register/WerkstoffMaterialPool.java +++ b/src/main/java/gtnhlanth/common/register/WerkstoffMaterialPool.java @@ -1894,7 +1894,7 @@ public class WerkstoffMaterialPool implements Runnable { new Werkstoff.GenerationFeatures().disable() .onlyDust() .addMetalItems() - .addMultipleIngotMetalWorkingItems() + .addDoubleAndDensePlates() .addCraftingMetalWorkingItems() .enforceUnification(), offsetID3b + 1,