diff options
Diffstat (limited to 'src/main/java')
31 files changed, 959 insertions, 1180 deletions
diff --git a/src/main/java/bloodasp/galacticgreg/GT_Worldgen_GT_Ore_Layer_Space.java b/src/main/java/bloodasp/galacticgreg/GT_Worldgen_GT_Ore_Layer_Space.java index 44fa0bf5a4..fa994b939d 100644 --- a/src/main/java/bloodasp/galacticgreg/GT_Worldgen_GT_Ore_Layer_Space.java +++ b/src/main/java/bloodasp/galacticgreg/GT_Worldgen_GT_Ore_Layer_Space.java @@ -97,7 +97,7 @@ public class GT_Worldgen_GT_Ore_Layer_Space extends GT_Worldgen { /** * Check if *this* orelayer is enabled for pDimensionDef - * + * * @param pDimensionDef the ChunkProvider in question * @return */ @@ -110,7 +110,7 @@ public class GT_Worldgen_GT_Ore_Layer_Space extends GT_Worldgen { /** * Get the number of enabled OreMixes for given Dimension. This query is buffered and will only consume calculation * time on the first run for each dimension - * + * * @param pDimensionDef * @return */ @@ -133,7 +133,7 @@ public class GT_Worldgen_GT_Ore_Layer_Space extends GT_Worldgen { /** * Get a List of all Veins which are enabled for given Dim. Query is buffered - * + * * @param pDimensionDef * @return null if nothing is found or error */ @@ -171,7 +171,7 @@ public class GT_Worldgen_GT_Ore_Layer_Space extends GT_Worldgen { /** * Select a random ore-vein from the list - * + * * @param pDimensionDef * @param pRandom * @return @@ -189,10 +189,6 @@ public class GT_Worldgen_GT_Ore_Layer_Space extends GT_Worldgen { int tRnd = pRandom.nextInt(tEnabledVeins.size()); String tVeinName = tEnabledVeins.get(tRnd); - // No lambda in Java 1.6 and 1.7 :( - // GT_Worldgen_GT_Ore_Layer_Space tGen = GalacticGreg.oreVeinWorldgenList.stream().filter(p -> - // p.mWorldGenName == tVeinName).findFirst(); - GT_Worldgen tGen = null; for (GT_Worldgen tWorldGen : GalacticGreg.oreVeinWorldgenList) if (tWorldGen instanceof GT_Worldgen_GT_Ore_Layer_Space diff --git a/src/main/java/bloodasp/galacticgreg/GalacticGreg.java b/src/main/java/bloodasp/galacticgreg/GalacticGreg.java index 7afda35483..760564c741 100644 --- a/src/main/java/bloodasp/galacticgreg/GalacticGreg.java +++ b/src/main/java/bloodasp/galacticgreg/GalacticGreg.java @@ -68,11 +68,6 @@ public class GalacticGreg { Logger.trace("Leaving PRELOAD"); } - // @EventHandler - // public void onLoad(FMLInitializationEvent event){ - // GalacticGregRegistry.registerModContainer(ModRegisterer.Setup_GalactiCraftCore()); - // } - public static final ArrayList<Runnable> ADDITIONALVEINREGISTER = new ArrayList<>(); /** diff --git a/src/main/java/bloodasp/galacticgreg/api/ModDBMDef.java b/src/main/java/bloodasp/galacticgreg/api/ModDBMDef.java index bd0df8652b..674c1dd799 100644 --- a/src/main/java/bloodasp/galacticgreg/api/ModDBMDef.java +++ b/src/main/java/bloodasp/galacticgreg/api/ModDBMDef.java @@ -29,9 +29,9 @@ public class ModDBMDef { /** * Internal function - * + * * Check if the given Block is equal to the block in this instance - * + * * @param pBlock the Block in question * @return */ @@ -45,9 +45,9 @@ public class ModDBMDef { /** * Internal function - * + * * Check if the given Block is equal to the block in this instance and matches the metadata - * + * * @param pBlock the block in question * @param pMeta the metadata in question * @return @@ -73,7 +73,7 @@ public class ModDBMDef { /** * Create a new "Block that can be replaced by ores" definition. Meta defaults to 0 here - * + * * @param pTargetBlockName The unlocalizedName of the block */ public ModDBMDef(String pTargetBlockName) { @@ -82,7 +82,7 @@ public class ModDBMDef { /** * Create a new "Block that can be replaced by ores" definition - * + * * @param pTargetBlockName The unlocalizedName of the block * @param pMetaData The blocks metadata */ @@ -92,7 +92,7 @@ public class ModDBMDef { /** * Create a new "Block that can be replaced by ores" definition - * + * * @param pTargetBlock The instance of the block that can be replaced * @param pMetaData The blocks metadata */ @@ -102,7 +102,7 @@ public class ModDBMDef { /** * Create a new "Block that can be replaced by ores" definition. Meta defaults to 0 here - * + * * @param pTargetBlock The instance of the block that can be replaced */ public ModDBMDef(Block pTargetBlock) { @@ -111,7 +111,7 @@ public class ModDBMDef { /** * Create a new "Block that can be replaced by ores" definition - * + * * @param pTargetBlock * @param pCanAlwaysReplace set to true if this block can always be replaced, regardless of it's metavalue. Like: * [block]:* @@ -122,7 +122,7 @@ public class ModDBMDef { /** * Create a new "Block that can be replaced by ores" definition - * + * * @param pTargetBlockName The unlocalizedName of the block * @param pCanAlwaysReplace set to true if this block can always be replaced, regardless of it's metavalue. Like: * [block]:* @@ -133,7 +133,7 @@ public class ModDBMDef { /** * Create a new "Block that can be replaced by ores" definition - * + * * @param pTargetBlockName The unlocalizedName of the block * @param pMetaData The blocks metadata * @param pCanAlwaysReplace set to true if this block can always be replaced, regardless of it's metavalue. Like: @@ -148,18 +148,14 @@ public class ModDBMDef { /** * Internal function Never run this function. It is used to update the blocks name when GalacticGreg is initializing * its internal structures - * + * * @param pParentModName The modname to be attached to the block-name */ public void updateBlockName(String pParentModName) { // Do we already have a FQBN? then do nothing if (_targetBlockName.contains(":")) { - // GalacticGreg.Logger.trace("Not updating blockname, as it already contains a mods name: %s", - // _targetBlockName); return; } - // GalacticGreg.Logger.trace("Updating blockname: Old: %s new: %s:%s", _targetBlockName, pParentModName, - // _targetBlockName); _targetBlockName = String.format("%s:%s", pParentModName, _targetBlockName); } } diff --git a/src/main/java/bloodasp/galacticgreg/api/ModDimensionDef.java b/src/main/java/bloodasp/galacticgreg/api/ModDimensionDef.java index 4b634173f1..92b291f089 100644 --- a/src/main/java/bloodasp/galacticgreg/api/ModDimensionDef.java +++ b/src/main/java/bloodasp/galacticgreg/api/ModDimensionDef.java @@ -46,7 +46,7 @@ public class ModDimensionDef { /** * Internal function - * + * * @return A list of possible asteroid-mixes that shall be generated */ public List<AsteroidBlockComb> getValidAsteroidMaterials() { @@ -75,7 +75,7 @@ public class ModDimensionDef { /** * Register new generator for objects in space. You can register as many as you want. If you don't register * anything, no structures will generate and the default Asteroid-Generator will be used - * + * * @param pSpaceObjectGenerator An instance of your own object generator */ public void registerSpaceObjectGenerator(ISpaceObjectGenerator pSpaceObjectGenerator) { @@ -128,11 +128,11 @@ public class ModDimensionDef { * dimension, and you probably don't want to have asteroids stuck in the ground, both generators are separated from * each other. Basically, you can go with the default values. If you want to change them, make sure that pOregenMaxY * is lower than pAsteroidMinY - * + * * @param pOregenMaxY The maximum Y-height where ores will be allowed to spawn. Default: 64 * @param pAsteroidMinY The minimum Y-height that has to be reached before asteroids will spawn. Default: 128 * @throws IllegalArgumentException if the limits are invalid - * + * */ public void setAsteroidAndPlanetLimits(int pOregenMaxY, int pAsteroidMinY) { if (pOregenMaxY >= pAsteroidMinY) @@ -145,7 +145,7 @@ public class ModDimensionDef { /** * Internal function - * + * * @return A list of all special blocks that shall be used to generate the asteroids. */ public List<SpecialBlockComb> getSpecialBlocksForAsteroids() { @@ -158,7 +158,7 @@ public class ModDimensionDef { /** * Internal function - * + * * @return The type for this dimension */ public DimensionType getDimensionType() { @@ -168,7 +168,7 @@ public class ModDimensionDef { /** * Set whether this DimensionDefinition defines an void-dimension that shall spawn asteroids instead of ores in * stone - * + * * @param pType The dimensiontype to be used */ public void setDimensionType(DimensionType pType) { @@ -177,7 +177,7 @@ public class ModDimensionDef { /** * Internal function - * + * * @return The configuration for AirBlocks */ public AirReplaceRule getAirSetting() { @@ -189,10 +189,10 @@ public class ModDimensionDef { * NeverReplaceAir: No matter what, if there is an Air-Block found, it will not replace it. AllowReplaceAir: This * will generate Ores in Stones (defined by addBlockDefinition()) and air if found OnlyReplaceAir : This will not * generate Ores in solid blocks, but only in air - * + * * Note that "OnlyReplaceAir" is a special setting if you have a dimension that is not defined as "Asteroids" but * you still need/want to generate ores in midair. - * + * * @param pSetting */ public void setAirSetting(AirReplaceRule pSetting) { @@ -201,7 +201,7 @@ public class ModDimensionDef { /** * Internal function - * + * * @return The dimension identifier that is used internally to identify the dimension */ public String getDimIdentifier() { @@ -211,10 +211,10 @@ public class ModDimensionDef { /** * Set a manual override for ores that shall be generated. This setting is ignored if getIsAsteroidDimension() * returns true - * + * * For example, on GalactiCraft Mars, this value is set to GTOreTypes.RedGranite, because it matches the color * better. If you don't set anything here, it will generate regular stone-ores. - * + * * @param pStoneType */ public void setStoneType(GTOreTypes pStoneType) { @@ -223,7 +223,7 @@ public class ModDimensionDef { /** * Internal function - * + * * @return The stone override for gregtech ores */ public GTOreTypes getStoneType() { @@ -232,7 +232,7 @@ public class ModDimensionDef { /** * Internal function - * + * * @return The attached chunk-provider for this dimension */ public String getChunkProviderName() { @@ -242,14 +242,12 @@ public class ModDimensionDef { /** * Adds a new blockdefinition to this dimension. This block will then later be replaced by ores. You can add as many * blocks as you want. Just don't add Blocks.Air, as there is another setting for allowing Air-Replacement - * + * * @param pBlockDef * @return */ public boolean addBlockDefinition(ModDBMDef pBlockDef) { if (_mReplaceableBlocks.contains(pBlockDef)) { - // GalacticGreg.Logger.error("Cannot add Block %s:%d, as it is already existing!", pBlockDef.getBlockName(), - // pBlockDef.getMeta()); return false; } else { _mReplaceableBlocks.add(pBlockDef); @@ -259,7 +257,7 @@ public class ModDimensionDef { /** * Internal function - * + * * @return The DimensionName in a Human-readable format */ public String getDimensionName() { @@ -268,7 +266,7 @@ public class ModDimensionDef { /** * Internal function - * + * * @return A list of all defined Blocks that can be replaced while generating ores */ public ArrayList<ModDBMDef> getReplaceableBlocks() { @@ -277,7 +275,7 @@ public class ModDimensionDef { /** * Define a new dimension - * + * * @param pDimensionName The human-readable. Spaces will be removed * @param pChunkProvider The chunkprovider class that shall be observed for the oregen */ @@ -293,7 +291,7 @@ public class ModDimensionDef { /** * Define a new dimension - * + * * @param pDimensionName The human-readable. Spaces will be removed * @param pChunkProvider The chunkprovider class that shall be observed for the oregen * @param pBlockDefinitions The list of predefined blocks to be replaced by ores @@ -310,7 +308,7 @@ public class ModDimensionDef { /** * Define a new dimension - * + * * @param pDimensionName The human-readable DimensionName. Spaces will be removed * @param pChunkProviderName The human-readable, full-qualified classname for the chunkprovider */ @@ -320,7 +318,7 @@ public class ModDimensionDef { /** * Define a new dimension - * + * * @param pDimensionName The human-readable DimensionName. Spaces will be removed * @param pChunkProviderName The human-readable, full-qualified classname for the chunkprovider * @param pBlockDefinitions The list of predefined blocks to be replaced by ores @@ -343,15 +341,13 @@ public class ModDimensionDef { /** * Internal function - * + * * Do not call this function by yourself. Ever. It will cause explosions, water to blood, death of firstborn,... * Seriously, don't do it. */ protected void setParentModName(String pModName) { if (_mInternalDimIdentifier.equals(STR_NOTDEFINED)) { _mInternalDimIdentifier = String.format("%s_%s", pModName, _mDimensionName); - // GalacticGreg.Logger.debug("Set Internal Identifier for Dimension %s to %s", _mDimensionName, - // _mInternalDimIdentifier); } // Else Don't update, we're already set @@ -360,9 +356,9 @@ public class ModDimensionDef { /** * Internal function - * + * * Check if pBlock can be replaced by an ore - * + * * @param pBlock * @param pMeta * @return @@ -389,9 +385,9 @@ public class ModDimensionDef { /** * Internal function - * + * * Randomly select one material out of all defined materials - * + * * @return */ public AsteroidBlockComb getRandomAsteroidMaterial() { @@ -405,9 +401,9 @@ public class ModDimensionDef { /** * Internal function - * + * * Randomly select one special block to be placed in the asteroids - * + * * @return */ public SpecialBlockComb getRandomSpecialAsteroidBlock() { @@ -421,7 +417,7 @@ public class ModDimensionDef { /** * Define the material the asteroid shall be made of. Limited to GT-Based Ores and their stones - * + * * @param pMaterial */ public void addAsteroidMaterial(GTOreTypes pMaterial) { @@ -430,7 +426,7 @@ public class ModDimensionDef { /** * Define the material the asteroid shall be made of, more advanced option to specify your own blocks - * + * * @param pBlockComb */ public void addAsteroidMaterial(AsteroidBlockComb pBlockComb) { @@ -443,7 +439,7 @@ public class ModDimensionDef { * Adds a new material for asteroid generation. These will spawn randomly in asteroids if enabled. You can basically * add every block you can imagine. Be warned though, if you use Liquids (Water / Lava / ..), it can affect * performance if the liquid is flowing down to the void. So make sure you define "AsteroidCore" as position - * + * * @param pBlock Block-Meta Combination that shall be used */ public void addSpecialAsteroidBlock(SpecialBlockComb pBlock) { diff --git a/src/main/java/bloodasp/galacticgreg/bartworks/BW_Worldgen_Ore_Layer_Space.java b/src/main/java/bloodasp/galacticgreg/bartworks/BW_Worldgen_Ore_Layer_Space.java index ae5e6af7c5..822c9dfa59 100644 --- a/src/main/java/bloodasp/galacticgreg/bartworks/BW_Worldgen_Ore_Layer_Space.java +++ b/src/main/java/bloodasp/galacticgreg/bartworks/BW_Worldgen_Ore_Layer_Space.java @@ -36,7 +36,7 @@ public class BW_Worldgen_Ore_Layer_Space extends BW_OreLayer { /** * Code-only Constructor Will work with NEI - * + * * @param aName veinname, should start with mix. * @param pDefault enabled? * @param pMinY @@ -64,24 +64,6 @@ public class BW_Worldgen_Ore_Layer_Space extends BW_OreLayer { .get("worldgen.GaGregBartworks." + this.mWorldGenName, "Density", pDensity)); mSize = ((short) Math .max(1, GregTech_API.sWorldgenFile.get("worldgen.GaGregBartworks." + this.mWorldGenName, "Size", pSize))); - // short pPrimary = primaryBW instanceof Materials ? (short)((Materials)primaryBW).mMetaItemSubID : (primaryBW - // instanceof Werkstoff ? ((Werkstoff)primaryBW).getmID() : 0); - // short pSecondary = secondaryBW instanceof Materials ? (short)((Materials)secondaryBW).mMetaItemSubID : - // (secondaryBW instanceof Werkstoff ? ((Werkstoff)secondaryBW).getmID() : 0); - // short pBetween = betweenBW instanceof Materials ? (short)((Materials)betweenBW).mMetaItemSubID : (betweenBW - // instanceof Werkstoff ? ((Werkstoff)betweenBW).getmID() : 0); - // short pSporadic = sporadicBW instanceof Materials ? (short)((Materials)sporadicBW).mMetaItemSubID : - // (sporadicBW instanceof Werkstoff ? ((Werkstoff)sporadicBW).getmID() : 0); - // mPrimaryMeta = ((short) GregTech_API.sWorldgenFile.get("worldgen.GaGregBartworks." + this.mWorldGenName, - // "OrePrimaryLayer", pPrimary)); - // mSecondaryMeta = ((short) GregTech_API.sWorldgenFile.get("worldgen.GaGregBartworks." + this.mWorldGenName, - // "OreSecondaryLayer", pSecondary)); - // mBetweenMeta = ((short) GregTech_API.sWorldgenFile.get("worldgen.GaGregBartworks." + this.mWorldGenName, - // "OreSporadiclyInbetween", pBetween)); - // mSporadicMeta = ((short) GregTech_API.sWorldgenFile.get("worldgen.GaGregBartworks." + this.mWorldGenName, - // "OreSporaticlyAround", pSporadic)); - // bwOres = ((byte) GregTech_API.sWorldgenFile.get("worldgen.GaGregBartworks." + this.mWorldGenName, - // "BWGTlogic", bwOres)); if (mEnabled) { sWeight += this.mWeight; oreVeinWorldgenList.add(this); @@ -104,7 +86,7 @@ public class BW_Worldgen_Ore_Layer_Space extends BW_OreLayer { /** * Script Friendly Constructor, WONT WORK WITH NEI - * + * * @param aName * @param pDefault * @param pMinY @@ -178,7 +160,7 @@ public class BW_Worldgen_Ore_Layer_Space extends BW_OreLayer { /** * Script Friendly Constructor, WONT WORK WITH NEI - * + * * @param aName * @param enabled */ diff --git a/src/main/java/com/elisis/gtnhlanth/GTNHLanthanides.java b/src/main/java/com/elisis/gtnhlanth/GTNHLanthanides.java index 8ffdc0b5a1..ddbaa84d6e 100644 --- a/src/main/java/com/elisis/gtnhlanth/GTNHLanthanides.java +++ b/src/main/java/com/elisis/gtnhlanth/GTNHLanthanides.java @@ -69,36 +69,13 @@ public class GTNHLanthanides { BeamlineRecipeLoader.load(); BotRecipes.addGTRecipe(); - // RecipeLoader.loadZylonRecipes(); proxy.postInit(e); - // GT_Log.out.print(FluidRegistry.getFluid("Sodium Tungstate").getName()); - // GT_Log.out.print(Arrays.toString(Werkstoff.werkstoffNameHashMap.keySet().toArray())); - // GT_Log.out.print(Arrays.toString(Werkstoff.werkstoffHashMap.keySet().toArray())); - - /* - * GT_Log.out.print("HMMM " + Arrays.toString(OreDictionary.getOreIDs( - * WerkstoffMaterialPool.DephosphatedSamariumConcentrate.get(OrePrefixes.dust, 1)))); - */ } @EventHandler public static void onModLoadingComplete(FMLLoadCompleteEvent e) { - // GT_Log.out.print("AAAAAAAAAAAAAA " + new - // ItemStack(LanthItemList.maskMap.get(MaskList.CPU)).getUnlocalizedName()); - // - // GT_Log.out.print("We are done loading"); BotRecipes.removeRecipes(); RecipeLoader.removeCeriumSources(); - - /* - * for (GT_ItemStack stack : BeamlineRecipeAdder.instance.TargetChamberRecipes.mRecipeItemMap.keySet()) { - * GT_Log.out.print(" Recipes for: " + stack.mItem.getUnlocalizedName() + ": "); for (GT_Recipe recipe : - * BeamlineRecipeAdder.instance.TargetChamberRecipes.mRecipeItemMap.get(stack)) { - * GT_Log.out.print(Arrays.toString(recipe.mOutputs)); } } - */ - - // GT_Log.out.print("blah blah " + - // WerkstoffMaterialPool.PTMEGElastomer.hasGenerationFeature(OrePrefixes.ingot)); } } diff --git a/src/main/java/com/elisis/gtnhlanth/common/register/WerkstoffMaterialPool.java b/src/main/java/com/elisis/gtnhlanth/common/register/WerkstoffMaterialPool.java index 4aed254be0..a6e806ca86 100644 --- a/src/main/java/com/elisis/gtnhlanth/common/register/WerkstoffMaterialPool.java +++ b/src/main/java/com/elisis/gtnhlanth/common/register/WerkstoffMaterialPool.java @@ -1502,24 +1502,6 @@ public class WerkstoffMaterialPool implements Runnable { offsetID4 + 30, TextureSet.SET_FLUID); - // enum Lanthanides { - // Lanthanum, - // Praseodymium, - // Cerium, - // Neodymium, - // Promethium, - // Samarium, - // Europium, - // Gadolinium, - // Terbium, - // Dysprosium, - // Holmium, - // Erbium, - // Thulium, - // Ytterbium, - // Lutetium - // } - // Lanthanides Chloride Concentrate // Lanthanum public static final Werkstoff LanthanumChlorideConcentrate = new Werkstoff( @@ -1739,17 +1721,6 @@ public class WerkstoffMaterialPool implements Runnable { offsetID4 + 50, TextureSet.SET_DULL); - // Samarium - // public static final Werkstoff SamariumOreConcentrate = new Werkstoff( - // new short[] { 255, 200, 230 }, - // "Samarium Ore Concentrate", - // subscriptNumbers("??Sm??"), - // new Werkstoff.Stats(), - // Werkstoff.Types.MIXTURE, - // new Werkstoff.GenerationFeatures().disable().onlyDust(), - // offsetID2 + 28, - // TextureSet.SET_DULL); - // Europium public static final Werkstoff EuropiumOreConcentrate = new Werkstoff( new short[] { 240, 200, 240 }, @@ -1882,30 +1853,6 @@ public class WerkstoffMaterialPool implements Runnable { offsetID5 + 39, TextureSet.SET_GEM_VERTICAL); - // public static final Werkstoff RawCeriumDopedLutetiumAluminiumGarnetPart = new Werkstoff( - // new short[] { 63, 255, 63 }, - // "Raw Cerium Doped Lutetium Aluminium Garnet Part", - // subscriptNumbers("(Ce)Lu3Al5O12"), - // new Werkstoff.Stats(), - // Werkstoff.Types.MATERIAL, - // new Werkstoff.GenerationFeatures().disable().addGems(), - // offsetID4 + 33, - // TextureSet.SET_GEM_VERTICAL); - - // public static final Werkstoff C272 = new Werkstoff( - // new short[] { 0x29, 0xc2, 0x2a }, - // "C-272", - // subscriptNumbers("(C8H17)2PO2H"), - // new Werkstoff.Stats().setElektrolysis(true), - // Werkstoff.Types.COMPOUND, - // new Werkstoff.GenerationFeatures().disable().addCells(), - // offsetID4 + 59, - // TextureSet.SET_FLUID, - // new Pair<>(Carbon, 16), - // new Pair<>(Phosphorus, 1), - // new Pair<>(Oxygen, 3), - // new Pair<>(Hydrogen, 35)); - public static final Werkstoff Permalloy = new Werkstoff( new short[] { 195, 230, 225 }, "Permalloy", diff --git a/src/main/java/com/elisis/gtnhlanth/common/tileentity/Digester.java b/src/main/java/com/elisis/gtnhlanth/common/tileentity/Digester.java index 479569c7f6..239be6a3ea 100644 --- a/src/main/java/com/elisis/gtnhlanth/common/tileentity/Digester.java +++ b/src/main/java/com/elisis/gtnhlanth/common/tileentity/Digester.java @@ -73,9 +73,6 @@ public class Digester extends GT_MetaTileEntity_EnhancedMultiBlockBase<Digester> .addElement('c', ofCoil(Digester::setCoilLevel, Digester::getCoilLevel)) .build(); - // private int mHeat; - // private int mNeededHeat; - public Digester(String name) { super(name); } diff --git a/src/main/java/com/elisis/gtnhlanth/common/tileentity/DissolutionTank.java b/src/main/java/com/elisis/gtnhlanth/common/tileentity/DissolutionTank.java index f515024365..e6a714fd00 100644 --- a/src/main/java/com/elisis/gtnhlanth/common/tileentity/DissolutionTank.java +++ b/src/main/java/com/elisis/gtnhlanth/common/tileentity/DissolutionTank.java @@ -146,19 +146,12 @@ public class DissolutionTank extends GT_MetaTileEntity_EnhancedMultiBlockBase<Di FluidStack majorGenericFluid = tRecipe.mFluidInputs[0]; FluidStack minorGenericFluid = tRecipe.mFluidInputs[1]; - // FluidStack majorInput = null; - // FluidStack minorInput = null; - int majorAmount; int minorAmount; FluidStack fluidInputOne = tFluidInputs.get(0); FluidStack fluidInputTwo = tFluidInputs.get(1); - // majorInput = ((fluidInputOne.getUnlocalizedName().equals(majorGenericFluid.getUnlocalizedName())) - // ? fluidInputOne - // : fluidInputTwo); - // GT_Log.out.print(majorInput.getLocalizedName()); if (fluidInputOne.getUnlocalizedName() .equals(majorGenericFluid.getUnlocalizedName())) { if (fluidInputTwo.getUnlocalizedName() @@ -183,12 +176,6 @@ public class DissolutionTank extends GT_MetaTileEntity_EnhancedMultiBlockBase<Di } else return false; - // GT_Log.out.print("out of switch weirdness"); - - // GT_Log.out.print("major " + majorInput.getLocalizedName()); - // GT_Log.out.print("minor " + minorInput.getLocalizedName()); - - // GT_Log.out.print("mjrinputamt " + majorInput.amount); return majorAmount / tRecipe.mSpecialValue == minorAmount; } diff --git a/src/main/java/com/elisis/gtnhlanth/common/tileentity/SourceChamber.java b/src/main/java/com/elisis/gtnhlanth/common/tileentity/SourceChamber.java index 6649d0a232..0626118a25 100644 --- a/src/main/java/com/elisis/gtnhlanth/common/tileentity/SourceChamber.java +++ b/src/main/java/com/elisis/gtnhlanth/common/tileentity/SourceChamber.java @@ -203,8 +203,6 @@ public class SourceChamber extends GT_MetaTileEntity_EnhancedMultiBlockBase<Sour // when produced by this // multiblock float maxMaterialEnergy = tRecipe.maxEnergy; // The maximum energy for the recipe processed - // outputEnergy = (float) ((-maxEnergy) * Math.pow(1.001, -(tRecipe.energyRatio)*(tVoltage-tRecipe.mEUt))) + - // maxEnergy; outputEnergy = (float) Math.min( (-maxMaterialEnergy) * Math.pow(1.001, -(tRecipe.energyRatio) * (tVoltageMaxTier - tRecipe.mEUt)) + maxMaterialEnergy, diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/API/BioRecipeAdder.java b/src/main/java/com/github/bartimaeusnek/bartworks/API/BioRecipeAdder.java deleted file mode 100644 index 6ab854c308..0000000000 --- a/src/main/java/com/github/bartimaeusnek/bartworks/API/BioRecipeAdder.java +++ /dev/null @@ -1,126 +0,0 @@ -/* - * Copyright (c) 2018-2020 bartimaeusnek Permission is hereby granted, free of charge, to any person obtaining a copy of - * this software and associated documentation files (the "Software"), to deal in the Software without restriction, - * including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following - * conditions: The above copyright notice and this permission notice shall be included in all copies or substantial - * portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, - * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN - * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - */ - -package com.github.bartimaeusnek.bartworks.API; - -import javax.annotation.Nonnegative; -import javax.annotation.Nonnull; - -import net.minecraft.item.ItemStack; -import net.minecraftforge.fluids.FluidStack; - -import com.github.bartimaeusnek.bartworks.util.BWRecipes; -import com.github.bartimaeusnek.bartworks.util.BioCulture; - -import gregtech.api.enums.Materials; - -public final class BioRecipeAdder { - - public static final int STANDART = 0; - public static final int LOWGRAVITY = -100; - public static final int CLEANROOM = -200; - - public static boolean addBioLabRecipe(ItemStack[] aInputs, ItemStack aOutput, ItemStack aSpecialItems, - int[] aChances, FluidStack[] aFluidInputs, FluidStack[] aFluidOutputs, int aDuration, int aEUt, - int aSpecialValue) { - return BWRecipes.instance.addBioLabRecipe( - aInputs, - aOutput, - aSpecialItems, - aChances, - aFluidInputs, - aFluidOutputs, - aDuration, - aEUt, - aSpecialValue); - } - - /** - * Adds a Incubation Recipe for the BioLab. - * - * @param aInput any item that will be added with a petri dish - * @param aOutput must be a BioCulture - * @param aChances - * @param aFluidInputs - * @param aDuration - * @param aEUt use BW_Util.getMachineVoltageFromTier(tier) to get optimal EU/t - * @param aSpecialValue 0 = STANDART, -100 = LowGravity, -200 = Cleanroom - * @return if the recipe was added. - */ - public static boolean addBioLabRecipeIncubation(ItemStack aInput, BioCulture aOutput, int[] aChances, - FluidStack aFluidInputs, int aDuration, int aEUt, int aSpecialValue) { - return BWRecipes.instance - .addBioLabRecipeIncubation(aInput, aOutput, aChances, aFluidInputs, aDuration, aEUt, aSpecialValue); - } - - /** - * @param aInputs Item Inputs, DO NOT PUT INTEGRATED CIRCUITS IN HERE! THEY WILL GET ADDED AUTOMATICALLY!, can - * be null - * @param aCulture the bio culture - * @param aFluidInputs may not be null - * @param aFluidOutputs may not be null - * @param aDuration - * @param aEUt - * @param Sv Manual Sv entry i.e. for custom items - * @param glasTier the glass tier - * @param aSpecialValue Space or Cleanroom, Not yet implemented - * @param exactSv if the recipe needs EXACTLY the Sv or can use less... - * @return - */ - public static boolean addBacterialVatRecipe(ItemStack[] aInputs, @Nonnull BioCulture aCulture, - @Nonnull FluidStack[] aFluidInputs, @Nonnull FluidStack[] aFluidOutputs, @Nonnegative int aDuration, - @Nonnegative int aEUt, int Sv, @Nonnegative int glasTier, int aSpecialValue, boolean exactSv) { - return BWRecipes.instance.addBacterialVatRecipe( - aInputs, - aCulture, - aFluidInputs, - aFluidOutputs, - aDuration, - aEUt, - Sv, - glasTier, - aSpecialValue, - exactSv); - } - - /** - * @param aInputs Item Inputs, DO NOT PUT INTEGRATED CIRCUITS IN HERE! THEY WILL GET ADDED AUTOMATICALLY!, can - * be null - * @param aCulture the bio culture - * @param aFluidInputs may not be null - * @param aFluidOutputs may not be null - * @param aDuration - * @param aEUt - * @param material may be null. used for auto Sv calculation - * @param glasTier the glass tier - * @param aSpecialValue Space or Cleanroom, Not yet implemented - * @param exactSv if the recipe needs EXACTLY the Sv or can use less... - * @return - */ - @Deprecated - public static boolean addBacterialVatRecipe(ItemStack[] aInputs, @Nonnull BioCulture aCulture, - @Nonnull FluidStack[] aFluidInputs, @Nonnull FluidStack[] aFluidOutputs, @Nonnegative int aDuration, - @Nonnegative int aEUt, Materials material, @Nonnegative int glasTier, int aSpecialValue, boolean exactSv) { - return BWRecipes.instance.addBacterialVatRecipe( - aInputs, - aCulture, - aFluidInputs, - aFluidOutputs, - aDuration, - aEUt, - material, - glasTier, - aSpecialValue, - exactSv); - } -} diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/common/loaders/ArtificialMicaLine.java b/src/main/java/com/github/bartimaeusnek/bartworks/common/loaders/ArtificialMicaLine.java index 6268342cce..ef3ac62349 100644 --- a/src/main/java/com/github/bartimaeusnek/bartworks/common/loaders/ArtificialMicaLine.java +++ b/src/main/java/com/github/bartimaeusnek/bartworks/common/loaders/ArtificialMicaLine.java @@ -5,14 +5,12 @@ import static gregtech.api.recipe.RecipeMaps.benderRecipes; import static gregtech.api.recipe.RecipeMaps.blastFurnaceRecipes; import static gregtech.api.recipe.RecipeMaps.fluidExtractionRecipes; import static gregtech.api.recipe.RecipeMaps.mixerRecipes; +import static gregtech.api.recipe.RecipeMaps.vacuumFreezerRecipes; import static gregtech.api.util.GT_RecipeBuilder.SECONDS; import static gregtech.api.util.GT_RecipeBuilder.TICKS; import static gregtech.api.util.GT_RecipeConstants.COIL_HEAT; import static gregtech.api.util.GT_RecipeConstants.UniversalChemical; -import net.minecraft.item.ItemStack; -import net.minecraftforge.fluids.FluidStack; - import com.github.bartimaeusnek.bartworks.system.material.BW_GT_MaterialReference; import com.github.bartimaeusnek.bartworks.system.material.WerkstoffLoader; @@ -21,9 +19,7 @@ import gregtech.api.enums.ItemList; import gregtech.api.enums.Materials; import gregtech.api.enums.OrePrefixes; import gregtech.api.enums.TierEU; -import gregtech.api.recipe.RecipeMaps; import gregtech.api.util.GT_ModHandler; -import gregtech.api.util.GT_Recipe; import gregtech.api.util.GT_Utility; public class ArtificialMicaLine { @@ -170,18 +166,15 @@ public class ArtificialMicaLine { .addTo(blastFurnaceRecipes); // 144Fluorophlogopite(l) = Fluorophlogopite - RecipeMaps.vacuumFreezerRecipes.addRecipe( - new GT_Recipe( - false, - new ItemStack[] { ItemList.Shape_Mold_Plate.get(0) }, - new ItemStack[] { WerkstoffLoader.Fluorophlogopite.get(OrePrefixes.plate, 1) }, - null, - null, - new FluidStack[] { WerkstoffLoader.HotFluorophlogopite.getFluidOrGas(144) }, - null, - 10, - 120, - 0)); + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Shape_Mold_Plate.get(0)) + .itemOutputs(WerkstoffLoader.Fluorophlogopite.get(OrePrefixes.plate, 1)) + .fluidOutputs(WerkstoffLoader.HotFluorophlogopite.getFluidOrGas(144)) + .duration(10 * TICKS) + .eut(TierEU.RECIPE_MV) + .noOptimize() + .addTo(vacuumFreezerRecipes); + // Fluorophlogopite = 4Insulator Foil if (NewHorizonsCoreMod.isModLoaded()) { diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/common/loaders/BioRecipeLoader.java b/src/main/java/com/github/bartimaeusnek/bartworks/common/loaders/BioRecipeLoader.java index f93d328042..e922f76b8f 100644 --- a/src/main/java/com/github/bartimaeusnek/bartworks/common/loaders/BioRecipeLoader.java +++ b/src/main/java/com/github/bartimaeusnek/bartworks/common/loaders/BioRecipeLoader.java @@ -13,7 +13,13 @@ package com.github.bartimaeusnek.bartworks.common.loaders; +import static com.github.bartimaeusnek.bartworks.API.recipe.BartWorksRecipeMaps.bacterialVatRecipes; +import static com.github.bartimaeusnek.bartworks.API.recipe.BartWorksRecipeMaps.bioLabRecipes; import static gregtech.api.enums.Mods.CropsPlusPlus; +import static gregtech.api.util.GT_RecipeBuilder.MINUTES; +import static gregtech.api.util.GT_RecipeBuilder.SECONDS; +import static gregtech.api.util.GT_RecipeBuilder.TICKS; +import static gregtech.api.util.GT_RecipeConstants.SIEVERTS; import net.minecraft.init.Blocks; import net.minecraft.init.Items; @@ -21,9 +27,7 @@ import net.minecraft.item.ItemStack; import net.minecraftforge.fluids.FluidRegistry; import net.minecraftforge.fluids.FluidStack; -import com.github.bartimaeusnek.bartworks.util.BWRecipes; -import com.github.bartimaeusnek.bartworks.util.BW_Util; - +import gregtech.api.enums.GT_Values; import gregtech.api.enums.ItemList; import gregtech.api.enums.Materials; import gregtech.api.enums.OrePrefixes; @@ -44,77 +48,77 @@ public class BioRecipeLoader { FluidRegistry.getFluidStack("ic2distilledwater", 1000) }; for (FluidStack fluidStack : easyFluids) { - BWRecipes.instance.addBioLabRecipeIncubation( - new ItemStack(Items.rotten_flesh), - BioCultureLoader.rottenFleshBacteria, - new int[] { 3300 }, - new FluidStack[] { fluidStack }, - 500, - (int) TierEU.RECIPE_HV, - BW_Util.STANDART); - - BWRecipes.instance.addBioLabRecipeIncubation( - new ItemStack(Items.fermented_spider_eye), - BioCultureLoader.eColi, - new int[] { 4500 }, - new FluidStack[] { fluidStack }, - 500, - (int) TierEU.RECIPE_HV, - BW_Util.STANDART); - - BWRecipes.instance.addBioLabRecipeIncubation( - ItemList.Food_Dough.get(1L), - BioCultureLoader.CommonYeast, - new int[] { 7500 }, - new FluidStack[] { fluidStack }, - 500, - (int) TierEU.RECIPE_HV, - BW_Util.STANDART); - - BWRecipes.instance.addBioLabRecipeIncubation( - ItemList.Food_Dough_Sugar.get(1L), - BioCultureLoader.WhineYeast, - new int[] { 2500 }, - new FluidStack[] { fluidStack }, - 500, - (int) TierEU.RECIPE_HV, - BW_Util.STANDART); - - BWRecipes.instance.addBioLabRecipeIncubation( - ItemList.Bottle_Wine.get(1L), - BioCultureLoader.WhineYeast, - new int[] { 3300 }, - new FluidStack[] { fluidStack }, - 500, - (int) TierEU.RECIPE_HV, - BW_Util.STANDART); - - BWRecipes.instance.addBioLabRecipeIncubation( - ItemList.Bottle_Beer.get(1L), - BioCultureLoader.BeerYeast, - new int[] { 2500 }, - new FluidStack[] { fluidStack }, - 500, - (int) TierEU.RECIPE_HV, - BW_Util.STANDART); - - BWRecipes.instance.addBioLabRecipeIncubation( - ItemList.Bottle_Dark_Beer.get(1L), - BioCultureLoader.BeerYeast, - new int[] { 3300 }, - new FluidStack[] { fluidStack }, - 500, - (int) TierEU.RECIPE_HV, - BW_Util.STANDART); - - BWRecipes.instance.addBioLabRecipeIncubation( - new ItemStack(Blocks.dirt), - BioCultureLoader.anaerobicOil, - new int[] { 100 }, - new FluidStack[] { fluidStack }, - 1500, - (int) TierEU.RECIPE_EV, - BW_Util.STANDART); + GT_Values.RA.stdBuilder() + .itemInputs(BioItemList.getPetriDish(null), new ItemStack(Items.rotten_flesh)) + .itemOutputs(BioItemList.getPetriDish(BioCultureLoader.rottenFleshBacteria)) + .outputChances(33_00) + .fluidInputs(fluidStack) + .duration(25 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(bioLabRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(BioItemList.getPetriDish(null), new ItemStack(Items.fermented_spider_eye)) + .itemOutputs(BioItemList.getPetriDish(BioCultureLoader.eColi)) + .outputChances(45_00) + .fluidInputs(fluidStack) + .duration(25 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(bioLabRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(BioItemList.getPetriDish(null), ItemList.Food_Dough.get(1L)) + .itemOutputs(BioItemList.getPetriDish(BioCultureLoader.CommonYeast)) + .outputChances(75_00) + .fluidInputs(fluidStack) + .duration(25 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(bioLabRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(BioItemList.getPetriDish(null), ItemList.Food_Dough_Sugar.get(1L)) + .itemOutputs(BioItemList.getPetriDish(BioCultureLoader.WhineYeast)) + .outputChances(25_00) + .fluidInputs(fluidStack) + .duration(25 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(bioLabRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(BioItemList.getPetriDish(null), ItemList.Bottle_Wine.get(1L)) + .itemOutputs(BioItemList.getPetriDish(BioCultureLoader.WhineYeast)) + .outputChances(33_00) + .fluidInputs(fluidStack) + .duration(25 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(bioLabRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(BioItemList.getPetriDish(null), ItemList.Bottle_Beer.get(1L)) + .itemOutputs(BioItemList.getPetriDish(BioCultureLoader.BeerYeast)) + .outputChances(25_00) + .fluidInputs(fluidStack) + .duration(25 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(bioLabRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(BioItemList.getPetriDish(null), ItemList.Bottle_Dark_Beer.get(1L)) + .itemOutputs(BioItemList.getPetriDish(BioCultureLoader.BeerYeast)) + .outputChances(33_00) + .fluidInputs(fluidStack) + .duration(25 * SECONDS) + .eut(TierEU.RECIPE_HV) + .addTo(bioLabRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(BioItemList.getPetriDish(null), new ItemStack(Blocks.dirt)) + .itemOutputs(BioItemList.getPetriDish(BioCultureLoader.anaerobicOil)) + .outputChances(100) + .fluidInputs(fluidStack) + .duration(1 * MINUTES + 15 * SECONDS) + .eut(TierEU.RECIPE_EV) + .addTo(bioLabRecipes); } } @@ -123,72 +127,87 @@ public class BioRecipeLoader { FluidRegistry.getFluidStack("ic2distilledwater", 1000) }; for (FluidStack fluidStack : easyFluids) { if (CropsPlusPlus.isModLoaded()) { - BWRecipes.instance.addBacterialVatRecipe( - new ItemStack[] { GT_Utility.getIntegratedCircuit(2), new ItemStack(Items.sugar, 64) }, - new FluidStack[] { new FluidStack(fluidStack, 100) }, - BioCultureLoader.CommonYeast, - new FluidStack[] { FluidRegistry.getFluidStack("potion.ghp", 1) }, - 350, - (int) TierEU.RECIPE_EV); + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(2), new ItemStack(Items.sugar, 64)) + .special(BioItemList.getPetriDish(BioCultureLoader.CommonYeast)) + .fluidInputs(new FluidStack(fluidStack, 100)) + .fluidOutputs(FluidRegistry.getFluidStack("potion.ghp", 1)) + .duration(17 * SECONDS + 10 * TICKS) + .eut(TierEU.RECIPE_EV) + .noOptimize() + .addTo(bacterialVatRecipes); } - BWRecipes.instance.addBacterialVatRecipe( - new ItemStack[] { ItemList.Crop_Drop_Grapes.get(16) }, - new FluidStack[] { new FluidStack(fluidStack, 100) }, - BioCultureLoader.WhineYeast, - new FluidStack[] { FluidRegistry.getFluidStack("potion.wine", 12) }, - 200, - (int) TierEU.RECIPE_MV); - - BWRecipes.instance.addBacterialVatRecipe( - new ItemStack[] { new ItemStack(Items.sugar, 4), ItemList.IC2_Hops.get(16L), - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Wheat, 8L) }, - new FluidStack[] { new FluidStack(fluidStack, 100) }, - BioCultureLoader.BeerYeast, - new FluidStack[] { FluidRegistry.getFluidStack("potion.beer", 5) }, - 600, - (int) TierEU.RECIPE_LV); - BWRecipes.instance.addBacterialVatRecipe( - new ItemStack[] { ItemList.IC2_Hops.get(32L), - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Wheat, 16L) }, - new FluidStack[] { new FluidStack(fluidStack, 100) }, - BioCultureLoader.BeerYeast, - new FluidStack[] { FluidRegistry.getFluidStack("potion.darkbeer", 10) }, - 600, - (int) TierEU.RECIPE_LV); + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Crop_Drop_Grapes.get(16)) + .special(BioItemList.getPetriDish(BioCultureLoader.WhineYeast)) + .fluidInputs(new FluidStack(fluidStack, 100)) + .fluidOutputs(FluidRegistry.getFluidStack("potion.wine", 12)) + .duration(10 * SECONDS) + .eut(TierEU.RECIPE_MV) + .noOptimize() + .addTo(bacterialVatRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + new ItemStack(Items.sugar, 4), + ItemList.IC2_Hops.get(16L), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Wheat, 8L)) + .special(BioItemList.getPetriDish(BioCultureLoader.BeerYeast)) + .fluidInputs(new FluidStack(fluidStack, 100)) + .fluidOutputs(FluidRegistry.getFluidStack("potion.beer", 5)) + .duration(30 * SECONDS) + .eut(TierEU.RECIPE_LV) + .noOptimize() + .addTo(bacterialVatRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + ItemList.IC2_Hops.get(32L), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Wheat, 16L)) + .special(BioItemList.getPetriDish(BioCultureLoader.BeerYeast)) + .fluidInputs(new FluidStack(fluidStack, 100)) + .fluidOutputs(FluidRegistry.getFluidStack("potion.darkbeer", 10)) + .duration(30 * SECONDS) + .eut(TierEU.RECIPE_LV) + .noOptimize() + .addTo(bacterialVatRecipes); } } public static void registerBacterialVatRecipes() { registerWaterBasedBacterialVatRecipes(); - BWRecipes.instance.addBacterialVatRecipe( - null, - new FluidStack[] { FluidRegistry.getFluidStack("potion.grapejuice", 100) }, - BioCultureLoader.WhineYeast, - new FluidStack[] { FluidRegistry.getFluidStack("potion.wine", 12) }, - 400, - (int) TierEU.RECIPE_LV); - - BWRecipes.instance.addBacterialVatRecipe( - null, - new FluidStack[] { Materials.FermentedBiomass.getFluid(10000) }, - BioCultureLoader.anaerobicOil, - new FluidStack[] { new FluidStack(FluidLoader.fulvicAcid, 1000) }, - 2748, - (int) TierEU.RECIPE_HV); + GT_Values.RA.stdBuilder() + .special(BioItemList.getPetriDish(BioCultureLoader.WhineYeast)) + .fluidInputs(FluidRegistry.getFluidStack("potion.grapejuice", 100)) + .fluidOutputs(FluidRegistry.getFluidStack("potion.wine", 12)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_LV) + .noOptimize() + .addTo(bacterialVatRecipes); + + GT_Values.RA.stdBuilder() + .special(BioItemList.getPetriDish(BioCultureLoader.anaerobicOil)) + .fluidInputs(Materials.FermentedBiomass.getFluid(10000)) + .fluidOutputs(new FluidStack(FluidLoader.fulvicAcid, 1000)) + .duration(2 * MINUTES + 17 * SECONDS + 8 * TICKS) + .eut(TierEU.RECIPE_LV) + .noOptimize() + .addTo(bacterialVatRecipes); } public static void runOnServerStarted() { RecipeMaps.fermentingRecipes.getAllRecipes() .forEach( - recipe -> BWRecipes.instance.addBacterialVatRecipe( - new ItemStack[] { null }, - BioCultureLoader.generalPurposeFermentingBacteria, - recipe.mFluidInputs, - recipe.mFluidOutputs, - recipe.mDuration, - recipe.mEUt, - GT_Utility.getTier(recipe.mEUt))); + recipe -> GT_Values.RA.stdBuilder() + .special(BioItemList.getPetriDish(BioCultureLoader.generalPurposeFermentingBacteria)) + .fluidInputs(recipe.mFluidInputs) + .fluidOutputs(recipe.mFluidOutputs) + .duration(recipe.mDuration) + .eut(recipe.mEUt) + .metadata(SIEVERTS, (int) GT_Utility.getTier(recipe.mEUt)) + .addTo(bacterialVatRecipes)); + } } diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/common/loaders/RadioHatchMaterialLoader.java b/src/main/java/com/github/bartimaeusnek/bartworks/common/loaders/RadioHatchMaterialLoader.java index d141fe8b65..3a5cd2c9cc 100644 --- a/src/main/java/com/github/bartimaeusnek/bartworks/common/loaders/RadioHatchMaterialLoader.java +++ b/src/main/java/com/github/bartimaeusnek/bartworks/common/loaders/RadioHatchMaterialLoader.java @@ -1,33 +1,48 @@ package com.github.bartimaeusnek.bartworks.common.loaders; +import static com.github.bartimaeusnek.bartworks.API.recipe.BartWorksRecipeMaps.radioHatchRecipes; +import static com.github.bartimaeusnek.bartworks.util.BWRecipes.calcDecayTicks; import static gregtech.api.enums.Mods.IndustrialCraft2; +import static gregtech.api.util.GT_RecipeConstants.DECAY_TICKS; import com.github.bartimaeusnek.bartworks.system.material.BW_NonMeta_MaterialItems; import com.github.bartimaeusnek.bartworks.system.material.Werkstoff; import com.github.bartimaeusnek.bartworks.system.material.WerkstoffLoader; -import com.github.bartimaeusnek.bartworks.util.BWRecipes; +import gregtech.api.enums.GT_Values; import gregtech.api.enums.ItemList; import gregtech.api.enums.Materials; import gregtech.api.enums.OrePrefixes; import gregtech.api.util.GT_ModHandler; import gregtech.api.util.GT_OreDictUnificator; +// cursed way of using a recipe map... public class RadioHatchMaterialLoader { public static void run() { for (Werkstoff material : Werkstoff.werkstoffHashSet) { - if (material != null && material.getStats() + if (material == null || !material.getStats() .isRadioactive()) { - int level = (int) material.getStats() - .getProtons(); - short[] rgba = material.getRGBA(); - if (material.hasItemType(OrePrefixes.stick)) - BWRecipes.instance.addRadHatch(material.get(OrePrefixes.stick), level, 1, rgba); - if (material.hasItemType(OrePrefixes.stickLong)) - BWRecipes.instance.addRadHatch(material.get(OrePrefixes.stickLong), level, 2, rgba); + continue; } + + int level = (int) material.getStats() + .getProtons(); + if (material.hasItemType(OrePrefixes.stick)) GT_Values.RA.stdBuilder() + .itemInputs(material.get(OrePrefixes.stick)) + .duration(1) + .eut(level) + .metadata(DECAY_TICKS, (int) calcDecayTicks(level)) + .noOptimize() + .addTo(radioHatchRecipes); + if (material.hasItemType(OrePrefixes.stickLong)) GT_Values.RA.stdBuilder() + .itemInputs(material.get(OrePrefixes.stickLong)) + .duration(2) + .eut(level) + .metadata(DECAY_TICKS, (int) calcDecayTicks(level)) + .noOptimize() + .addTo(radioHatchRecipes); } for (Materials material : Materials.getAll()) { @@ -36,11 +51,24 @@ public class RadioHatchMaterialLoader { && !material.equals(Materials.Naquadah); // Naquadah needs spacial value if (validProton) { int level = (int) material.getProtons(); - short[] rgba = material.getRGBA(); - if (GT_OreDictUnificator.get(OrePrefixes.stick, material, 1) != null) BWRecipes.instance - .addRadHatch(GT_OreDictUnificator.get(OrePrefixes.stick, material, 1), level, 1, rgba); - if (GT_OreDictUnificator.get(OrePrefixes.stickLong, material, 1) != null) BWRecipes.instance - .addRadHatch(GT_OreDictUnificator.get(OrePrefixes.stickLong, material, 1), level, 2, rgba); + if (GT_OreDictUnificator.get(OrePrefixes.stick, material, 1) != null) { + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(OrePrefixes.stick, material, 1)) + .duration(1) + .eut(level) + .metadata(DECAY_TICKS, (int) calcDecayTicks(level)) + .noOptimize() + .addTo(radioHatchRecipes); + } + if (GT_OreDictUnificator.get(OrePrefixes.stickLong, material, 1) != null) { + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(OrePrefixes.stickLong, material, 1)) + .duration(2) + .eut(level) + .metadata(DECAY_TICKS, (int) calcDecayTicks(level)) + .noOptimize() + .addTo(radioHatchRecipes); + } } } @@ -48,177 +76,291 @@ public class RadioHatchMaterialLoader { int[] spacialValue = { 130, 140, 150 }; for (int i = 0; i < spacialMaterial.length; i++) { - if (GT_OreDictUnificator.get(OrePrefixes.stick, spacialMaterial[i], 1) != null) - BWRecipes.instance.addRadHatch( - GT_OreDictUnificator.get(OrePrefixes.stick, spacialMaterial[i], 1), - spacialValue[i], - 1, - spacialMaterial[i].mRGBa); - if (GT_OreDictUnificator.get(OrePrefixes.stickLong, spacialMaterial[i], 1) != null) - BWRecipes.instance.addRadHatch( - GT_OreDictUnificator.get(OrePrefixes.stickLong, spacialMaterial[i], 1), - spacialValue[i], - 2, - spacialMaterial[i].mRGBa); - } - - BWRecipes.instance.addRadHatch( - ItemList.ThoriumCell_1.get(1), - (int) Materials.Thorium.getProtons(), - 3, - Materials.Thorium.mRGBa); - BWRecipes.instance.addRadHatch( - ItemList.ThoriumCell_2.get(1), - (int) Materials.Thorium.getProtons(), - 6, - Materials.Thorium.mRGBa); - BWRecipes.instance.addRadHatch( - ItemList.ThoriumCell_4.get(1), - (int) Materials.Thorium.getProtons(), - 12, - Materials.Thorium.mRGBa); - - BWRecipes.instance.addRadHatch(ItemList.NaquadahCell_1.get(1), 140, 3, Materials.NaquadahEnriched.mRGBa); - BWRecipes.instance.addRadHatch(ItemList.NaquadahCell_2.get(1), 140, 6, Materials.NaquadahEnriched.mRGBa); - BWRecipes.instance.addRadHatch(ItemList.NaquadahCell_4.get(1), 140, 12, Materials.NaquadahEnriched.mRGBa); - - BWRecipes.instance.addRadHatch( - ItemList.Moxcell_1.get(1), - (int) Materials.Plutonium.getProtons(), - 3, - Materials.Plutonium.mRGBa); - BWRecipes.instance.addRadHatch( - ItemList.Moxcell_2.get(1), - (int) Materials.Plutonium.getProtons(), - 6, - Materials.Plutonium.mRGBa); - BWRecipes.instance.addRadHatch( - ItemList.Moxcell_4.get(1), - (int) Materials.Plutonium.getProtons(), - 12, - Materials.Plutonium.mRGBa); - - BWRecipes.instance.addRadHatch( - ItemList.Uraniumcell_1.get(1), - (int) Materials.Uranium.getProtons(), - 3, - Materials.Uranium.mRGBa); - BWRecipes.instance.addRadHatch( - ItemList.Uraniumcell_2.get(1), - (int) Materials.Uranium.getProtons(), - 6, - Materials.Uranium.mRGBa); - BWRecipes.instance.addRadHatch( - ItemList.Uraniumcell_4.get(1), - (int) Materials.Uranium.getProtons(), - 12, - Materials.Uranium.mRGBa); - - BWRecipes.instance.addRadHatch( - BW_NonMeta_MaterialItems.TiberiumCell_1.get(1), - (int) WerkstoffLoader.Tiberium.getBridgeMaterial() - .getProtons(), - 3, - WerkstoffLoader.Tiberium.getRGBA()); - BWRecipes.instance.addRadHatch( - BW_NonMeta_MaterialItems.TiberiumCell_2.get(1), - (int) WerkstoffLoader.Tiberium.getBridgeMaterial() - .getProtons(), - 6, - WerkstoffLoader.Tiberium.getRGBA()); - BWRecipes.instance.addRadHatch( - BW_NonMeta_MaterialItems.TiberiumCell_4.get(1), - (int) WerkstoffLoader.Tiberium.getBridgeMaterial() - .getProtons(), - 12, - WerkstoffLoader.Tiberium.getRGBA()); - - BWRecipes.instance - .addRadHatch(BW_NonMeta_MaterialItems.TheCoreCell.get(1), 140, 96, Materials.NaquadahEnriched.mRGBa); - - BWRecipes.instance.addRadHatch( - ItemList.Depleted_Thorium_1.get(1), - (int) Materials.Thorium.getProtons() / 10, - 3, - Materials.Thorium.mRGBa); - BWRecipes.instance.addRadHatch( - ItemList.Depleted_Thorium_2.get(1), - (int) Materials.Thorium.getProtons() / 10, - 6, - Materials.Thorium.mRGBa); - BWRecipes.instance.addRadHatch( - ItemList.Depleted_Thorium_4.get(1), - (int) Materials.Thorium.getProtons() / 10, - 12, - Materials.Thorium.mRGBa); - - BWRecipes.instance - .addRadHatch(ItemList.Depleted_Naquadah_1.get(1), 140 / 10, 3, Materials.NaquadahEnriched.mRGBa); - BWRecipes.instance - .addRadHatch(ItemList.Depleted_Naquadah_2.get(1), 140 / 10, 6, Materials.NaquadahEnriched.mRGBa); - BWRecipes.instance - .addRadHatch(ItemList.Depleted_Naquadah_4.get(1), 140 / 10, 12, Materials.NaquadahEnriched.mRGBa); - - BWRecipes.instance.addRadHatch( - GT_ModHandler.getModItem(IndustrialCraft2.ID, "reactorMOXSimpledepleted", 1), - (int) Materials.Plutonium.getProtons() / 10, - 3, - Materials.Plutonium.mRGBa); - BWRecipes.instance.addRadHatch( - GT_ModHandler.getModItem(IndustrialCraft2.ID, "reactorMOXDualdepleted", 1), - (int) Materials.Plutonium.getProtons() / 10, - 6, - Materials.Plutonium.mRGBa); - BWRecipes.instance.addRadHatch( - GT_ModHandler.getModItem(IndustrialCraft2.ID, "reactorMOXQuaddepleted", 1), - (int) Materials.Plutonium.getProtons() / 10, - 12, - Materials.Plutonium.mRGBa); - - BWRecipes.instance.addRadHatch( - GT_ModHandler.getModItem(IndustrialCraft2.ID, "reactorUraniumSimpledepleted", 1), - (int) Materials.Uranium.getProtons() / 10, - 3, - Materials.Uranium.mRGBa); - BWRecipes.instance.addRadHatch( - GT_ModHandler.getModItem(IndustrialCraft2.ID, "reactorUraniumDualdepleted", 1), - (int) Materials.Uranium.getProtons() / 10, - 6, - Materials.Uranium.mRGBa); - BWRecipes.instance.addRadHatch( - GT_ModHandler.getModItem(IndustrialCraft2.ID, "reactorUraniumQuaddepleted", 1), - (int) Materials.Uranium.getProtons() / 10, - 12, - Materials.Uranium.mRGBa); - - BWRecipes.instance.addRadHatch( - BW_NonMeta_MaterialItems.Depleted_Tiberium_1.get(1), - (int) WerkstoffLoader.Tiberium.getBridgeMaterial() - .getProtons() / 10, - 3, - WerkstoffLoader.Tiberium.getRGBA()); - BWRecipes.instance.addRadHatch( - BW_NonMeta_MaterialItems.Depleted_Tiberium_2.get(1), - (int) WerkstoffLoader.Tiberium.getBridgeMaterial() - .getProtons() / 10, - 6, - WerkstoffLoader.Tiberium.getRGBA()); - BWRecipes.instance.addRadHatch( - BW_NonMeta_MaterialItems.Depleted_Tiberium_4.get(1), - (int) WerkstoffLoader.Tiberium.getBridgeMaterial() - .getProtons() / 10, - 12, - WerkstoffLoader.Tiberium.getRGBA()); + if (GT_OreDictUnificator.get(OrePrefixes.stick, spacialMaterial[i], 1) != null) { + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(OrePrefixes.stick, spacialMaterial[i], 1)) + .duration(1) + .eut(spacialValue[i]) + .metadata(DECAY_TICKS, (int) calcDecayTicks(spacialValue[i])) + .noOptimize() + .addTo(radioHatchRecipes); + } - BWRecipes.instance - .addRadHatch(BW_NonMeta_MaterialItems.Depleted_TheCoreCell.get(1), 130 / 10, 96, Materials.Naquadah.mRGBa); + if (GT_OreDictUnificator.get(OrePrefixes.stickLong, spacialMaterial[i], 1) != null) { + GT_Values.RA.stdBuilder() + .itemInputs(GT_OreDictUnificator.get(OrePrefixes.stickLong, spacialMaterial[i], 1)) + .duration(2) + .eut(spacialValue[i]) + .metadata(DECAY_TICKS, (int) calcDecayTicks(spacialValue[i])) + .noOptimize() + .addTo(radioHatchRecipes); + } + } - BWRecipes.instance.addRadHatch(ItemList.MNqCell_1.get(1), 150, 3, Materials.Naquadria.mRGBa); - BWRecipes.instance.addRadHatch(ItemList.MNqCell_2.get(1), 150, 6, Materials.Naquadria.mRGBa); - BWRecipes.instance.addRadHatch(ItemList.MNqCell_4.get(1), 150, 12, Materials.Naquadria.mRGBa); + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.ThoriumCell_1.get(1)) + .duration(3) + .eut((int) Materials.Thorium.getProtons()) + .metadata(DECAY_TICKS, (int) calcDecayTicks((int) Materials.Thorium.getProtons())) + .addTo(radioHatchRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.ThoriumCell_2.get(1)) + .duration(6) + .eut((int) Materials.Thorium.getProtons()) + .metadata(DECAY_TICKS, (int) calcDecayTicks((int) Materials.Thorium.getProtons())) + .addTo(radioHatchRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.ThoriumCell_4.get(1)) + .duration(12) + .eut((int) Materials.Thorium.getProtons()) + .metadata(DECAY_TICKS, (int) calcDecayTicks((int) Materials.Thorium.getProtons())) + .addTo(radioHatchRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.NaquadahCell_1.get(1)) + .duration(3) + .eut(140) + .metadata(DECAY_TICKS, (int) calcDecayTicks(140)) + .addTo(radioHatchRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.NaquadahCell_2.get(1)) + .duration(6) + .eut(140) + .metadata(DECAY_TICKS, (int) calcDecayTicks(140)) + .addTo(radioHatchRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.NaquadahCell_4.get(1)) + .duration(12) + .eut(140) + .metadata(DECAY_TICKS, (int) calcDecayTicks(140)) + .addTo(radioHatchRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Moxcell_1.get(1)) + .duration(3) + .eut((int) Materials.Plutonium.getProtons()) + .metadata(DECAY_TICKS, (int) calcDecayTicks((int) Materials.Plutonium.getProtons())) + .addTo(radioHatchRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Moxcell_2.get(1)) + .duration(6) + .eut((int) Materials.Plutonium.getProtons()) + .metadata(DECAY_TICKS, (int) calcDecayTicks((int) Materials.Plutonium.getProtons())) + .addTo(radioHatchRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Moxcell_4.get(1)) + .duration(12) + .eut((int) Materials.Plutonium.getProtons()) + .metadata(DECAY_TICKS, (int) calcDecayTicks((int) Materials.Plutonium.getProtons())) + .addTo(radioHatchRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Uraniumcell_1.get(1)) + .duration(3) + .eut((int) Materials.Uranium.getProtons()) + .metadata(DECAY_TICKS, (int) calcDecayTicks((int) Materials.Uranium.getProtons())) + .addTo(radioHatchRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Uraniumcell_2.get(1)) + .duration(6) + .eut((int) Materials.Uranium.getProtons()) + .metadata(DECAY_TICKS, (int) calcDecayTicks((int) Materials.Uranium.getProtons())) + .addTo(radioHatchRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Uraniumcell_4.get(1)) + .duration(12) + .eut((int) Materials.Uranium.getProtons()) + .metadata(DECAY_TICKS, (int) calcDecayTicks((int) Materials.Uranium.getProtons())) + .addTo(radioHatchRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(BW_NonMeta_MaterialItems.TiberiumCell_1.get(1)) + .duration(3) + .eut( + (int) WerkstoffLoader.Tiberium.getBridgeMaterial() + .getProtons()) + .metadata( + DECAY_TICKS, + (int) calcDecayTicks( + (int) WerkstoffLoader.Tiberium.getBridgeMaterial() + .getProtons())) + .addTo(radioHatchRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(BW_NonMeta_MaterialItems.TiberiumCell_2.get(1)) + .duration(6) + .eut( + (int) WerkstoffLoader.Tiberium.getBridgeMaterial() + .getProtons()) + .metadata( + DECAY_TICKS, + (int) calcDecayTicks( + (int) WerkstoffLoader.Tiberium.getBridgeMaterial() + .getProtons())) + .addTo(radioHatchRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(BW_NonMeta_MaterialItems.TiberiumCell_4.get(1)) + .duration(12) + .eut( + (int) WerkstoffLoader.Tiberium.getBridgeMaterial() + .getProtons()) + .metadata( + DECAY_TICKS, + (int) calcDecayTicks( + (int) WerkstoffLoader.Tiberium.getBridgeMaterial() + .getProtons())) + .addTo(radioHatchRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(BW_NonMeta_MaterialItems.TheCoreCell.get(1)) + .duration(96) + .eut(140) + .metadata(DECAY_TICKS, (int) calcDecayTicks(140)) + .addTo(radioHatchRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Depleted_Thorium_1.get(1)) + .duration(3) + .eut((int) Materials.Thorium.getProtons() / 10) + .metadata(DECAY_TICKS, (int) calcDecayTicks((int) Materials.Thorium.getProtons() / 10)) + .addTo(radioHatchRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Depleted_Thorium_2.get(1)) + .duration(6) + .eut((int) Materials.Thorium.getProtons() / 10) + .metadata(DECAY_TICKS, (int) calcDecayTicks((int) Materials.Thorium.getProtons() / 10)) + .addTo(radioHatchRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Depleted_Thorium_4.get(1)) + .duration(12) + .eut((int) Materials.Thorium.getProtons() / 10) + .metadata(DECAY_TICKS, (int) calcDecayTicks((int) Materials.Thorium.getProtons() / 10)) + .addTo(radioHatchRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Depleted_Naquadah_1.get(1)) + .duration(3) + .eut(14) + .metadata(DECAY_TICKS, (int) calcDecayTicks(14)) + .addTo(radioHatchRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Depleted_Naquadah_2.get(1)) + .duration(6) + .eut(14) + .metadata(DECAY_TICKS, (int) calcDecayTicks(14)) + .addTo(radioHatchRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Depleted_Naquadah_4.get(1)) + .duration(12) + .eut(14) + .metadata(DECAY_TICKS, (int) calcDecayTicks(14)) + .addTo(radioHatchRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(GT_ModHandler.getModItem(IndustrialCraft2.ID, "reactorMOXSimpledepleted", 1)) + .duration(3) + .eut((int) Materials.Plutonium.getProtons() / 10) + .metadata(DECAY_TICKS, (int) calcDecayTicks((int) Materials.Plutonium.getProtons() / 10)) + .addTo(radioHatchRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(GT_ModHandler.getModItem(IndustrialCraft2.ID, "reactorMOXDualdepleted", 1)) + .duration(6) + .eut((int) Materials.Plutonium.getProtons() / 10) + .metadata(DECAY_TICKS, (int) calcDecayTicks((int) Materials.Plutonium.getProtons() / 10)) + .addTo(radioHatchRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(GT_ModHandler.getModItem(IndustrialCraft2.ID, "reactorMOXQuaddepleted", 1)) + .duration(12) + .eut((int) Materials.Plutonium.getProtons() / 10) + .metadata(DECAY_TICKS, (int) calcDecayTicks((int) Materials.Plutonium.getProtons() / 10)) + .addTo(radioHatchRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(GT_ModHandler.getModItem(IndustrialCraft2.ID, "reactorUraniumSimpledepleted", 1)) + .duration(3) + .eut((int) Materials.Uranium.getProtons() / 10) + .metadata(DECAY_TICKS, (int) calcDecayTicks((int) Materials.Uranium.getProtons() / 10)) + .addTo(radioHatchRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(GT_ModHandler.getModItem(IndustrialCraft2.ID, "reactorUraniumDualdepleted", 1)) + .duration(6) + .eut((int) Materials.Uranium.getProtons() / 10) + .metadata(DECAY_TICKS, (int) calcDecayTicks((int) Materials.Uranium.getProtons() / 10)) + .addTo(radioHatchRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(GT_ModHandler.getModItem(IndustrialCraft2.ID, "reactorUraniumQuaddepleted", 1)) + .duration(12) + .eut((int) Materials.Uranium.getProtons() / 10) + .metadata(DECAY_TICKS, (int) calcDecayTicks((int) Materials.Uranium.getProtons() / 10)) + .addTo(radioHatchRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(BW_NonMeta_MaterialItems.Depleted_Tiberium_1.get(1)) + .duration(3) + .eut( + (int) WerkstoffLoader.Tiberium.getBridgeMaterial() + .getProtons() / 10) + .metadata( + DECAY_TICKS, + (int) calcDecayTicks( + (int) WerkstoffLoader.Tiberium.getBridgeMaterial() + .getProtons() / 10)) + .addTo(radioHatchRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(BW_NonMeta_MaterialItems.Depleted_Tiberium_2.get(1)) + .duration(6) + .eut( + (int) WerkstoffLoader.Tiberium.getBridgeMaterial() + .getProtons() / 10) + .metadata( + DECAY_TICKS, + (int) calcDecayTicks( + (int) WerkstoffLoader.Tiberium.getBridgeMaterial() + .getProtons() / 10)) + .addTo(radioHatchRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(BW_NonMeta_MaterialItems.Depleted_Tiberium_4.get(1)) + .duration(12) + .eut( + (int) WerkstoffLoader.Tiberium.getBridgeMaterial() + .getProtons() / 10) + .metadata( + DECAY_TICKS, + (int) calcDecayTicks( + (int) WerkstoffLoader.Tiberium.getBridgeMaterial() + .getProtons() / 10)) + .addTo(radioHatchRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(BW_NonMeta_MaterialItems.Depleted_TheCoreCell.get(1)) + .duration(96) + .eut(13) + .metadata(DECAY_TICKS, (int) calcDecayTicks(13)) + .addTo(radioHatchRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.MNqCell_1.get(1)) + .duration(3) + .eut(150) + .metadata(DECAY_TICKS, (int) calcDecayTicks(150)) + .addTo(radioHatchRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.MNqCell_2.get(1)) + .duration(6) + .eut(150) + .metadata(DECAY_TICKS, (int) calcDecayTicks(150)) + .addTo(radioHatchRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.MNqCell_4.get(1)) + .duration(12) + .eut(150) + .metadata(DECAY_TICKS, (int) calcDecayTicks(150)) + .addTo(radioHatchRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Depleted_MNq_1.get(1)) + .duration(3) + .eut(15) + .metadata(DECAY_TICKS, (int) calcDecayTicks(15)) + .addTo(radioHatchRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Depleted_MNq_2.get(1)) + .duration(6) + .eut(15) + .metadata(DECAY_TICKS, (int) calcDecayTicks(15)) + .addTo(radioHatchRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Depleted_MNq_4.get(1)) + .duration(12) + .eut(15) + .metadata(DECAY_TICKS, (int) calcDecayTicks(15)) + .addTo(radioHatchRecipes); - BWRecipes.instance.addRadHatch(ItemList.Depleted_MNq_1.get(1), 150 / 10, 3, Materials.Naquadria.mRGBa); - BWRecipes.instance.addRadHatch(ItemList.Depleted_MNq_2.get(1), 150 / 10, 6, Materials.Naquadria.mRGBa); - BWRecipes.instance.addRadHatch(ItemList.Depleted_MNq_4.get(1), 150 / 10, 12, Materials.Naquadria.mRGBa); } } diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/multis/GT_TileEntity_HTGR.java b/src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/multis/GT_TileEntity_HTGR.java index 10620084e2..455625b77a 100644 --- a/src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/multis/GT_TileEntity_HTGR.java +++ b/src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/multis/GT_TileEntity_HTGR.java @@ -9,12 +9,14 @@ package com.github.bartimaeusnek.bartworks.common.tileentities.multis; +import static com.github.bartimaeusnek.bartworks.API.recipe.BartWorksRecipeMaps.htgrFakeRecipes; import static com.github.bartimaeusnek.bartworks.util.BW_Tooltip_Reference.MULTIBLOCK_ADDED_VIA_BARTWORKS; import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofBlock; import static com.gtnewhorizon.structurelib.structure.StructureUtility.ofChain; import static com.gtnewhorizon.structurelib.structure.StructureUtility.onElementPass; import static com.gtnewhorizon.structurelib.structure.StructureUtility.transpose; import static gregtech.api.enums.GT_Values.AuthorKuba; +import static gregtech.api.util.GT_RecipeBuilder.HOURS; import static gregtech.api.util.GT_StructureUtility.ofHatchAdder; import static gregtech.api.util.GT_Utility.filterValidMTEs; @@ -30,7 +32,6 @@ import net.minecraftforge.common.util.ForgeDirection; import net.minecraftforge.fluids.FluidRegistry; import net.minecraftforge.fluids.FluidStack; -import com.github.bartimaeusnek.bartworks.API.recipe.BartWorksRecipeMaps; import com.github.bartimaeusnek.bartworks.common.items.SimpleSubItemClass; import com.github.bartimaeusnek.bartworks.system.material.WerkstoffLoader; import com.github.bartimaeusnek.bartworks.util.MathUtils; @@ -251,7 +252,7 @@ public class GT_TileEntity_HTGR extends GT_MetaTileEntity_EnhancedMultiBlockBase @Override public RecipeMap<?> getRecipeMap() { // Only for visual - return BartWorksRecipeMaps.htgrFakeRecipes; + return htgrFakeRecipes; } @Override @@ -596,16 +597,15 @@ public class GT_TileEntity_HTGR extends GT_MetaTileEntity_EnhancedMultiBlockBase for (@SuppressWarnings("unused") Fuel_ fuel : sHTGR_Fuel) { - BartWorksRecipeMaps.htgrFakeRecipes.addFakeRecipe( - false, - new ItemStack[] { new ItemStack(GT_TileEntity_HTGR.HTGRMaterials.aHTGR_Materials, 64, i + 4) }, - new ItemStack[] { new ItemStack(GT_TileEntity_HTGR.HTGRMaterials.aHTGR_Materials, 1, i + 5) }, - null, - null, - null, - 72000, - powerUsage, - 0); + GT_Values.RA.stdBuilder() + .itemInputs(new ItemStack(GT_TileEntity_HTGR.HTGRMaterials.aHTGR_Materials, 64, i + 4)) + .itemOutputs(new ItemStack(GT_TileEntity_HTGR.HTGRMaterials.aHTGR_Materials, 1, i + 5)) + .duration(1 * HOURS) + .eut(powerUsage) + .ignoreCollision() + .noOptimize() + .fake() + .addTo(htgrFakeRecipes); i += MATERIALS_PER_FUEL; } diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/system/material/processingLoaders/AdditionalRecipes.java b/src/main/java/com/github/bartimaeusnek/bartworks/system/material/processingLoaders/AdditionalRecipes.java index 8c915a2d8a..e51431ab0b 100644 --- a/src/main/java/com/github/bartimaeusnek/bartworks/system/material/processingLoaders/AdditionalRecipes.java +++ b/src/main/java/com/github/bartimaeusnek/bartworks/system/material/processingLoaders/AdditionalRecipes.java @@ -13,6 +13,7 @@ package com.github.bartimaeusnek.bartworks.system.material.processingLoaders; +import static com.github.bartimaeusnek.bartworks.API.recipe.BartWorksRecipeMaps.bacterialVatRecipes; import static com.github.bartimaeusnek.bartworks.API.recipe.BartWorksRecipeMaps.bioLabRecipes; import static gregtech.api.enums.Mods.Gendustry; import static gregtech.api.enums.OrePrefixes.bolt; @@ -73,7 +74,6 @@ import com.github.bartimaeusnek.bartworks.common.loaders.ItemRegistry; import com.github.bartimaeusnek.bartworks.system.material.BW_NonMeta_MaterialItems; import com.github.bartimaeusnek.bartworks.system.material.CircuitGeneration.BW_Meta_Items; import com.github.bartimaeusnek.bartworks.system.material.WerkstoffLoader; -import com.github.bartimaeusnek.bartworks.util.BW_Util; import com.github.bartimaeusnek.bartworks.util.BioCulture; import com.github.bartimaeusnek.bartworks.util.BioDNA; import com.github.bartimaeusnek.bartworks.util.BioData; @@ -87,7 +87,6 @@ import gregtech.api.enums.OrePrefixes; import gregtech.api.enums.TierEU; 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.items.behaviors.Behaviour_DataOrb; @@ -116,11 +115,12 @@ public class AdditionalRecipes { .fluidInputs(FluidRegistry.getFluidStack("ic2distilledwater", 1000)) .special(BioItemList.mBioLabParts[0]) .duration(25 * SECONDS) - .eut(BW_Util.getMachineVoltageFromTier(3 + DNA.getTier())) + .eut(GT_Values.VP[3 + DNA.getTier()]) .ignoreCollision() .fake() .addTo(bioLabRecipes); } + } for (ItemStack stack : BioItemList.getAllDNASampleFlasks()) { @@ -142,7 +142,7 @@ public class AdditionalRecipes { .fluidInputs(dnaFluid) .special(BioItemList.mBioLabParts[1]) .duration(25 * SECONDS) - .eut(BW_Util.getMachineVoltageFromTier(4 + DNA.getTier())) + .eut(GT_Values.VP[4 + DNA.getTier()]) .ignoreCollision() .fake() .addTo(bioLabRecipes); @@ -167,7 +167,7 @@ public class AdditionalRecipes { .fluidInputs(dnaFluid) .special(BioItemList.mBioLabParts[2]) .duration(25 * SECONDS) - .eut(BW_Util.getMachineVoltageFromTier(4 + DNA.getTier())) + .eut(GT_Values.VP[4 + DNA.getTier()]) .ignoreCollision() .fake() .addTo(bioLabRecipes); @@ -226,21 +226,15 @@ public class AdditionalRecipes { for (FluidStack fluidStack : easyFluids) { for (BioCulture bioCulture : BioCulture.BIO_CULTURE_ARRAY_LIST) { if (bioCulture.isBreedable() && bioCulture.getTier() == 0) { - BartWorksRecipeMaps.bacterialVatRecipes.addRecipe( - // boolean aOptimize, ItemStack[] aInputs, ItemStack[] aOutputs, Object aSpecialItems, - // int[] aChances, FluidStack[] aFluidInputs, FluidStack[] aFluidOutputs, int aDuration, - // int aEUt, int aSpecialValue - new GT_Recipe( - true, - new ItemStack[] { GT_Utility.getIntegratedCircuit(1), new ItemStack(Items.sugar, 64) }, - null, - BioItemList.getPetriDish(bioCulture), - null, - new FluidStack[] { fluidStack }, - new FluidStack[] { new FluidStack(bioCulture.getFluid(), 10) }, - 1000, - (int) TierEU.RECIPE_HV, - BW_Util.STANDART)); + GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(1), new ItemStack(Items.sugar, 64)) + .special(BioItemList.getPetriDish(bioCulture)) + .fluidInputs(fluidStack) + .fluidOutputs(new FluidStack(bioCulture.getFluid(), 10)) + .duration(50 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(bacterialVatRecipes); + GT_Values.RA.stdBuilder() .itemInputs( BioItemList.getPetriDish(null), diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/system/material/werkstoff_loaders/recipe/CrushedLoader.java b/src/main/java/com/github/bartimaeusnek/bartworks/system/material/werkstoff_loaders/recipe/CrushedLoader.java index 777b765b51..9afe680154 100644 --- a/src/main/java/com/github/bartimaeusnek/bartworks/system/material/werkstoff_loaders/recipe/CrushedLoader.java +++ b/src/main/java/com/github/bartimaeusnek/bartworks/system/material/werkstoff_loaders/recipe/CrushedLoader.java @@ -31,6 +31,7 @@ import static gregtech.api.recipe.RecipeMaps.chemicalBathRecipes; import static gregtech.api.recipe.RecipeMaps.electroMagneticSeparatorRecipes; import static gregtech.api.recipe.RecipeMaps.hammerRecipes; import static gregtech.api.recipe.RecipeMaps.maceratorRecipes; +import static gregtech.api.recipe.RecipeMaps.oreWasherRecipes; import static gregtech.api.recipe.RecipeMaps.thermalCentrifugeRecipes; import static gregtech.api.util.GT_RecipeBuilder.MINUTES; import static gregtech.api.util.GT_RecipeBuilder.SECONDS; @@ -92,13 +93,29 @@ public class CrushedLoader implements IWerkstoffRunnable { .duration(20 * SECONDS) .addTo(maceratorRecipes); - GT_ModHandler.addOreWasherRecipe( - werkstoff.get(crushed), - new int[] { 10000, 1111, 10000 }, - 1000, - werkstoff.get(crushedPurified), - werkstoff.getOreByProduct(0, dust), - GT_OreDictUnificator.get(dust, Materials.Stone, 1L)); + RA.stdBuilder() + .itemInputs(werkstoff.get(crushed)) + .itemOutputs( + werkstoff.get(crushedPurified), + werkstoff.getOreByProduct(0, dust), + GT_OreDictUnificator.get(dust, Materials.Stone, 1L)) + .outputChances(100_00, 11_11, 100_00) + .fluidInputs(GT_ModHandler.getWater(1000)) + .duration(25 * SECONDS) + .eut(16) + .addTo(oreWasherRecipes); + + RA.stdBuilder() + .itemInputs(werkstoff.get(crushed)) + .itemOutputs( + werkstoff.get(crushedPurified), + werkstoff.getOreByProduct(0, dust), + GT_OreDictUnificator.get(dust, Materials.Stone, 1L)) + .outputChances(100_00, 11_11, 100_00) + .fluidInputs(GT_ModHandler.getDistilledWater(200)) + .duration(15 * SECONDS) + .eut(16) + .addTo(oreWasherRecipes); GT_Values.RA.stdBuilder() .itemInputs(werkstoff.get(crushed)) diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/util/BWRecipes.java b/src/main/java/com/github/bartimaeusnek/bartworks/util/BWRecipes.java index aec0972a67..397042e76a 100644 --- a/src/main/java/com/github/bartimaeusnek/bartworks/util/BWRecipes.java +++ b/src/main/java/com/github/bartimaeusnek/bartworks/util/BWRecipes.java @@ -13,28 +13,12 @@ package com.github.bartimaeusnek.bartworks.util; -import static com.github.bartimaeusnek.bartworks.API.recipe.BartWorksRecipeMaps.bacterialVatRecipes; -import static com.github.bartimaeusnek.bartworks.API.recipe.BartWorksRecipeMaps.bioLabRecipes; -import static com.github.bartimaeusnek.bartworks.API.recipe.BartWorksRecipeMaps.radioHatchRecipes; import static com.github.bartimaeusnek.bartworks.util.BW_Util.calculateSv; -import static com.github.bartimaeusnek.bartworks.util.BW_Util.specialToByte; -import javax.annotation.Nonnegative; - -import net.minecraft.item.ItemStack; -import net.minecraftforge.fluids.FluidStack; - -import com.github.bartimaeusnek.bartworks.common.loaders.BioItemList; - -import gregtech.api.enums.GT_Values; import gregtech.api.enums.Materials; -import gregtech.api.util.GT_Recipe; -@SuppressWarnings("UnusedReturnValue") public class BWRecipes { - public static final BWRecipes instance = new BWRecipes(); - public static long calcDecayTicks(int x) { long ret; if (x == 43) ret = 5000; @@ -44,167 +28,46 @@ public class BWRecipes { return ret; } - public boolean addRadHatch(ItemStack item, int radioLevel, int amount, short[] rgba) { - return radioHatchRecipes.addRecipe( - new GT_Recipe( - false, - new ItemStack[] { item }, - null, - null, - new int[] { rgba[0], rgba[1], rgba[2] }, - null, - null, - amount, - radioLevel, - (int) calcDecayTicks(radioLevel))) - != null; - } - - public boolean addBioLabRecipe(ItemStack[] aInputs, ItemStack aOutput, ItemStack aSpecialItems, int[] aChances, - FluidStack[] aFluidInputs, FluidStack[] aFluidOutputs, int aDuration, int aEUt, int aSpecialValue) { - return bioLabRecipes.addRecipe( - new GT_Recipe( - true, - aInputs, - new ItemStack[] { aOutput }, - aSpecialItems, - aChances, - aFluidInputs, - aFluidOutputs, - aDuration, - aEUt, - aSpecialValue)) - != null; + public static int computeSieverts(int givenSievert, int glassTier, boolean requiresExactSieverts, boolean cleanroom, + boolean lowGravity) { + byte specialValue = 0; + if (cleanroom && lowGravity) { + specialValue = 3; + } else if (cleanroom) { + specialValue = 2; + } else if (lowGravity) { + specialValue = 1; + } + int sievertValue = 0; + if (givenSievert >= 83 || givenSievert == 61 || givenSievert == 43) sievertValue += givenSievert; + sievertValue = sievertValue << 1; + sievertValue = sievertValue | (requiresExactSieverts ? 1 : 0); + sievertValue = sievertValue << 2; + sievertValue = sievertValue | specialValue; + sievertValue = sievertValue << 4; + sievertValue = sievertValue | glassTier; + return sievertValue; } - public boolean addBioLabRecipeIncubation(ItemStack aInput, BioCulture aOutput, int[] aChances, - FluidStack[] aFluidInputs, int aDuration, int aEUt, int aSpecialValue) { - return bioLabRecipes.addRecipe( - new GT_Recipe( - true, - new ItemStack[] { BioItemList.getPetriDish(null), aInput }, - new ItemStack[] { BioItemList.getPetriDish(aOutput) }, - null, - aChances, - aFluidInputs, - new FluidStack[] { GT_Values.NF }, - aDuration, - aEUt, - aSpecialValue)) - != null; - } - - public boolean addBioLabRecipeIncubation(ItemStack aInput, BioCulture aOutput, int[] aChances, - FluidStack aFluidInputs, int aDuration, int aEUt, int aSpecialValue) { - return bioLabRecipes.addRecipe( - new GT_Recipe( - true, - new ItemStack[] { BioItemList.getPetriDish(null), aInput }, - new ItemStack[] { BioItemList.getPetriDish(aOutput) }, - null, - aChances, - new FluidStack[] { aFluidInputs }, - new FluidStack[] { GT_Values.NF }, - aDuration, - aEUt, - aSpecialValue)) - != null; - } - - public boolean addBacterialVatRecipe(ItemStack[] aInputs, BioCulture aCulture, FluidStack[] aFluidInputs, - FluidStack[] aFluidOutputs, @Nonnegative int aDuration, @Nonnegative int aEUt, @Nonnegative int aSv, - @Nonnegative int glasTier, int aSpecialValue, boolean exactSv) { - int aSievert = 0; - if (aSv >= 83 || aSv == 61 || aSv == 43) aSievert += aSv; - aSievert = aSievert << 1; - aSievert = aSievert | (exactSv ? 1 : 0); - aSievert = aSievert << 2; - aSievert = aSievert | specialToByte(aSpecialValue); - aSievert = aSievert << 4; - aSievert = aSievert | glasTier; - return bacterialVatRecipes.addRecipe( - new GT_Recipe( - false, - aInputs, - null, - BioItemList.getPetriDish(aCulture), - new int[] {}, - aFluidInputs, - aFluidOutputs, - aDuration, - aEUt, - aSievert)) - != null; - } - - @Deprecated - public boolean addBacterialVatRecipe(ItemStack[] aInputs, BioCulture aCulture, FluidStack[] aFluidInputs, - FluidStack[] aFluidOutputs, int aDuration, int aEUt, Materials material, @Nonnegative int glasTier, - int aSpecialValue, boolean exactSv) { - byte gTier = (byte) glasTier; + public static int computeSieverts(Materials material, int glassTier, boolean requiresExactSieverts, + boolean cleanroom, boolean lowGravity) { + byte specialValue = 0; + if (cleanroom && lowGravity) { + specialValue = 3; + } else if (cleanroom) { + specialValue = 2; + } else if (lowGravity) { + specialValue = 1; + } int aSievert = 0; if (material.getProtons() >= 83 || material.getProtons() == 61 || material.getProtons() == 43) aSievert += calculateSv(material); aSievert = aSievert << 1; - aSievert = aSievert | (exactSv ? 1 : 0); + aSievert = aSievert | (requiresExactSieverts ? 1 : 0); aSievert = aSievert << 2; - aSievert = aSievert | specialToByte(aSpecialValue); + aSievert = aSievert | specialValue; aSievert = aSievert << 4; - aSievert = aSievert | gTier; - return bacterialVatRecipes.addRecipe( - new GT_Recipe( - false, - aInputs, - null, - BioItemList.getPetriDish(aCulture), - new int[] {}, - aFluidInputs, - aFluidOutputs, - aDuration, - aEUt, - aSievert)) - != null; - } - - /** - * Adds a Vat recipe without Rad requirements but with Glas requirements - */ - public boolean addBacterialVatRecipe(ItemStack[] aInputs, BioCulture culture, FluidStack[] aFluidInputs, - FluidStack[] aFluidOutputs, int aDuration, int aEUt, byte glasTier) { - int aSievert = 0; - aSievert = aSievert | glasTier; - return bacterialVatRecipes.addRecipe( - new GT_Recipe( - false, - aInputs, - null, - BioItemList.getPetriDish(culture), - new int[] {}, - aFluidInputs, - aFluidOutputs, - aDuration, - aEUt, - aSievert)) - != null; - } - - /** - * Adds a Vat recipe without Rad or Glas requirements - */ - public boolean addBacterialVatRecipe(ItemStack[] aInputs, FluidStack[] aFluidInputs, BioCulture culture, - FluidStack[] aFluidOutputs, int aDuration, int aEUt) { - return bacterialVatRecipes.addRecipe( - new GT_Recipe( - false, - aInputs, - null, - BioItemList.getPetriDish(culture), - new int[] {}, - aFluidInputs, - aFluidOutputs, - aDuration, - aEUt, - 0)) - != null; + aSievert = aSievert | glassTier; + return aSievert; } } diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/util/MurmurHash3.java b/src/main/java/com/github/bartimaeusnek/bartworks/util/MurmurHash3.java index 501b473d98..88c9fa0285 100644 --- a/src/main/java/com/github/bartimaeusnek/bartworks/util/MurmurHash3.java +++ b/src/main/java/com/github/bartimaeusnek/bartworks/util/MurmurHash3.java @@ -155,9 +155,6 @@ public final class MurmurHash3 { k1 |= k2 << shift; - // int used_bits = 32 - shift; // how many bits of k2 were used in k1. - // int unused_bits = bits - used_bits; // (bits-(32-shift)) == bits+shift-32 == bits-newshift - shift += bits; if (shift >= 32) { // mix after we have a complete word diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/util/accessprioritylist/AccessPriorityList.java b/src/main/java/com/github/bartimaeusnek/bartworks/util/accessprioritylist/AccessPriorityList.java index 241f20c1f9..fd0dfbe9cf 100644 --- a/src/main/java/com/github/bartimaeusnek/bartworks/util/accessprioritylist/AccessPriorityList.java +++ b/src/main/java/com/github/bartimaeusnek/bartworks/util/accessprioritylist/AccessPriorityList.java @@ -262,10 +262,6 @@ public class AccessPriorityList<E> implements List<E>, Deque<E>, Set<E> { @Override public boolean remove(Object o) { - // Object p; - // for (Iterator it = this.iterator(); it.hasNext(); o.equals(p)){ - // p = it.next(); - // } throw new NotImplementedException(""); } diff --git a/src/main/java/com/github/technus/tectech/recipe/TT_recipeAdder.java b/src/main/java/com/github/technus/tectech/recipe/TT_recipeAdder.java index 7aad593fa6..6cb0ec0791 100644 --- a/src/main/java/com/github/technus/tectech/recipe/TT_recipeAdder.java +++ b/src/main/java/com/github/technus/tectech/recipe/TT_recipeAdder.java @@ -1,6 +1,8 @@ package com.github.technus.tectech.recipe; +import static com.github.technus.tectech.recipe.TecTechRecipeMaps.researchStationFakeRecipes; import static gregtech.api.recipe.RecipeMaps.assemblylineVisualRecipes; +import static gregtech.api.util.GT_RecipeConstants.RESEARCH_STATION_DATA; import java.util.ArrayList; import java.util.Arrays; @@ -52,16 +54,17 @@ public class TT_recipeAdder extends GT_RecipeAdder { } researchAmperage = GT_Utility.clamp(researchAmperage, 1, Short.MAX_VALUE); computationRequiredPerSec = GT_Utility.clamp(computationRequiredPerSec, 1, Short.MAX_VALUE); - TecTechRecipeMaps.researchStationFakeRecipes.addFakeRecipe( - false, - new ItemStack[] { aResearchItem }, - new ItemStack[] { aOutput }, - new ItemStack[] { ItemList.Tool_DataStick.getWithName(1L, "Writes Research result") }, - null, - null, - totalComputationRequired, - researchEUt, - researchAmperage | computationRequiredPerSec << 16); + GT_Values.RA.stdBuilder() + .itemInputs(aResearchItem) + .itemOutputs(aOutput) + .special(ItemList.Tool_DataStick.getWithName(1L, "Writes Research result")) + .duration(totalComputationRequired) + .eut(researchEUt) + .metadata(RESEARCH_STATION_DATA, researchAmperage | computationRequiredPerSec << 16) + .noOptimize() + .ignoreCollision() + .fake() + .addTo(researchStationFakeRecipes); GT_Values.RA.stdBuilder() .itemInputs(aInputs) @@ -186,16 +189,19 @@ public class TT_recipeAdder extends GT_RecipeAdder { tPersistentHash = tPersistentHash * 31 + researchEUt; tPersistentHash = tPersistentHash * 31 + assDuration; tPersistentHash = tPersistentHash * 31 + assEUt; - TecTechRecipeMaps.researchStationFakeRecipes.addFakeRecipe( - false, - new ItemStack[] { aResearchItem }, - new ItemStack[] { aOutput }, - new ItemStack[] { ItemList.Tool_DataStick.getWithName(1L, "Writes Research result") }, - null, - null, - totalComputationRequired, - researchEUt, - researchAmperage | computationRequiredPerSec << 16); + + GT_Values.RA.stdBuilder() + .itemInputs(aResearchItem) + .itemOutputs(aOutput) + .special(ItemList.Tool_DataStick.getWithName(1L, "Writes Research result")) + .duration(totalComputationRequired) + .eut(researchEUt) + .metadata(RESEARCH_STATION_DATA, researchAmperage | computationRequiredPerSec << 16) + .noOptimize() + .ignoreCollision() + .fake() + .addTo(researchStationFakeRecipes); + assemblylineVisualRecipes.addFakeRecipe( false, tInputs, diff --git a/src/main/java/goodgenerator/blocks/tileEntity/GTMetaTileEntity/DieselGenerator.java b/src/main/java/goodgenerator/blocks/tileEntity/GTMetaTileEntity/DieselGenerator.java index 4d54be44d1..5ed8a07ebe 100644 --- a/src/main/java/goodgenerator/blocks/tileEntity/GTMetaTileEntity/DieselGenerator.java +++ b/src/main/java/goodgenerator/blocks/tileEntity/GTMetaTileEntity/DieselGenerator.java @@ -17,7 +17,6 @@ import gregtech.api.recipe.RecipeMap; import gregtech.api.recipe.RecipeMaps; import gregtech.api.render.TextureFactory; import gregtech.api.util.GT_Log; -import gregtech.api.util.GT_ModHandler; import gregtech.api.util.GT_Utility; public class DieselGenerator extends GT_MetaTileEntity_BasicGenerator { @@ -69,7 +68,7 @@ public class DieselGenerator extends GT_MetaTileEntity_BasicGenerator { @Override public int getFuelValue(ItemStack aStack) { if (GT_Utility.isStackInvalid(aStack) || getRecipeMap() == null) return 0; - long rValue = Math.max(GT_ModHandler.getFuelCanValue(aStack) * 6 / 5, super.getFuelValue(aStack)); + long rValue = super.getFuelValue(aStack); if (ItemList.Fuel_Can_Plastic_Filled.isStackEqual(aStack, false, true)) { rValue = Math.max(rValue, GameRegistry.getFuelValue(aStack) * 3L); } diff --git a/src/main/java/gregtech/api/items/GT_EnergyArmor_Item.java b/src/main/java/gregtech/api/items/GT_EnergyArmor_Item.java index 9c7b7c173c..df820f928a 100644 --- a/src/main/java/gregtech/api/items/GT_EnergyArmor_Item.java +++ b/src/main/java/gregtech/api/items/GT_EnergyArmor_Item.java @@ -148,15 +148,7 @@ public class GT_EnergyArmor_Item extends ItemArmor implements ISpecialArmor { } if (aPlayer.motionY >= 0.0D && jumpCharge > 0.0F && !aPlayer.isInWater()) { - if (GT_ModHandler.getJumpKeyDown(aPlayer) && GT_ModHandler.getBoostKeyDown(aPlayer)) { - if (jumpCharge == 1.0F) { - aPlayer.motionX *= 3.5D; - aPlayer.motionZ *= 3.5D; - } - - aPlayer.motionY += (jumpCharge * 0.3F); - jumpCharge = (float) (jumpCharge * 0.75D); - } else if (jumpCharge < 1.0F) { + if (jumpCharge < 1.0F) { jumpCharge = 0.0F; } } diff --git a/src/main/java/gregtech/api/recipe/RecipeMap.java b/src/main/java/gregtech/api/recipe/RecipeMap.java index 70a5fcf3ba..8ca9748f4f 100644 --- a/src/main/java/gregtech/api/recipe/RecipeMap.java +++ b/src/main/java/gregtech/api/recipe/RecipeMap.java @@ -137,26 +137,6 @@ public final class RecipeMap<B extends RecipeMapBackend> implements IRecipeMap { @Nullable public GT_Recipe addFakeRecipe(boolean aCheckForCollisions, @Nullable ItemStack[] aInputs, @Nullable ItemStack[] aOutputs, @Nullable Object aSpecial, @Nullable FluidStack[] aFluidInputs, - @Nullable FluidStack[] aFluidOutputs, int aDuration, int aEUt, int aSpecialValue) { - return addFakeRecipe( - aCheckForCollisions, - new GT_Recipe( - false, - aInputs, - aOutputs, - aSpecial, - null, - aFluidInputs, - aFluidOutputs, - aDuration, - aEUt, - aSpecialValue)); - } - - @Deprecated - @Nullable - public GT_Recipe addFakeRecipe(boolean aCheckForCollisions, @Nullable ItemStack[] aInputs, - @Nullable ItemStack[] aOutputs, @Nullable Object aSpecial, @Nullable FluidStack[] aFluidInputs, @Nullable FluidStack[] aFluidOutputs, int aDuration, int aEUt, int aSpecialValue, ItemStack[][] aAlt, boolean hidden) { return addFakeRecipe( diff --git a/src/main/java/gregtech/api/util/GT_ModHandler.java b/src/main/java/gregtech/api/util/GT_ModHandler.java index 45df4ffeea..18f52d1bd0 100644 --- a/src/main/java/gregtech/api/util/GT_ModHandler.java +++ b/src/main/java/gregtech/api/util/GT_ModHandler.java @@ -451,6 +451,7 @@ public class GT_ModHandler { /** * OUT OF ORDER */ + @Deprecated public static boolean getModeKeyDown(EntityPlayer aPlayer) { return false; } @@ -458,6 +459,7 @@ public class GT_ModHandler { /** * OUT OF ORDER */ + @Deprecated public static boolean getBoostKeyDown(EntityPlayer aPlayer) { return false; } @@ -465,6 +467,7 @@ public class GT_ModHandler { /** * OUT OF ORDER */ + @Deprecated public static boolean getJumpKeyDown(EntityPlayer aPlayer) { return false; } @@ -625,7 +628,7 @@ public class GT_ModHandler { .addTo(aGTRecipeMap); } } catch (Exception e) { - System.err.println(e); + e.printStackTrace(GT_Log.err); } } if (aRemoveIC2Recipe) { diff --git a/src/main/java/gregtech/api/util/GT_RecipeConstants.java b/src/main/java/gregtech/api/util/GT_RecipeConstants.java index 72027cff51..22dc842941 100644 --- a/src/main/java/gregtech/api/util/GT_RecipeConstants.java +++ b/src/main/java/gregtech/api/util/GT_RecipeConstants.java @@ -1,5 +1,6 @@ package gregtech.api.util; +import static gregtech.api.recipe.RecipeMaps.scannerFakeRecipes; import static gregtech.api.util.GT_RecipeMapUtil.convertCellToFluid; import java.util.ArrayList; @@ -18,8 +19,10 @@ import com.elisis.gtnhlanth.common.item.PhotolithographicMask; import com.elisis.gtnhlanth.common.register.LanthItemList; import cpw.mods.fml.common.registry.GameRegistry; +import gregtech.api.enums.GT_Values; import gregtech.api.enums.ItemList; import gregtech.api.enums.Materials; +import gregtech.api.enums.TierEU; import gregtech.api.interfaces.IRecipeMap; import gregtech.api.recipe.RecipeCategories; import gregtech.api.recipe.RecipeMaps; @@ -185,6 +188,20 @@ public class GT_RecipeConstants { .create(Integer.class, "lftr_output_power"); /** + * Research Station data. + */ + public static final RecipeMetadataKey<Integer> RESEARCH_STATION_DATA = SimpleRecipeMetadataKey + .create(Integer.class, "research_station_data"); + + /** + * glass tier required for the biovat recipes. + */ + public static final RecipeMetadataKey<Integer> SIEVERTS = SimpleRecipeMetadataKey.create(Integer.class, "sieverts"); + + public static final RecipeMetadataKey<Integer> DECAY_TICKS = SimpleRecipeMetadataKey + .create(Integer.class, "decay_ticks"); + + /** * Add a arc furnace recipe. Adds to both normal arc furnace and plasma arc furnace. * Will override the fluid input with oxygen/plasma for the respective recipe maps, so there is no point setting it. */ @@ -454,17 +471,18 @@ public class GT_RecipeConstants { tPersistentHash = tPersistentHash * 31 + r.mDuration; tPersistentHash = tPersistentHash * 31 + r.mEUt; Collection<GT_Recipe> ret = new ArrayList<>(3); - ret.add( - RecipeMaps.scannerFakeRecipes.addFakeRecipe( - false, - new ItemStack[] { aResearchItem }, - new ItemStack[] { aOutput }, - new ItemStack[] { ItemList.Tool_DataStick.getWithName(1L, "Writes Research result") }, - null, - null, - aResearchTime, - 30, - -201)); // means it's scanned + ret.addAll( + GT_Values.RA.stdBuilder() + .itemInputs(aResearchItem) + .itemOutputs(aOutput) + .special(ItemList.Tool_DataStick.getWithName(1L, "Writes Research result")) + .duration(aResearchTime) + .eut(TierEU.RECIPE_LV) + .specialValue(-201) // means it's scanned + .noOptimize() + .ignoreCollision() + .fake() + .addTo(scannerFakeRecipes)); ret.add( RecipeMaps.assemblylineVisualRecipes.addFakeRecipe( @@ -575,6 +593,9 @@ public class GT_RecipeConstants { GT_RecipeMapUtil.SPECIAL_VALUE_ALIASES.add(NKE_RANGE); GT_RecipeMapUtil.SPECIAL_VALUE_ALIASES.add(PRECISE_ASSEMBLER_CASING_TIER); GT_RecipeMapUtil.SPECIAL_VALUE_ALIASES.add(COAL_CASING_TIER); + GT_RecipeMapUtil.SPECIAL_VALUE_ALIASES.add(RESEARCH_STATION_DATA); + GT_RecipeMapUtil.SPECIAL_VALUE_ALIASES.add(SIEVERTS); + GT_RecipeMapUtil.SPECIAL_VALUE_ALIASES.add(DECAY_TICKS); } } diff --git a/src/main/java/gregtech/common/tileentities/machines/multiblock/DistillationTower.java b/src/main/java/gregtech/common/tileentities/machines/multiblock/DistillationTower.java index 9e76883a8b..59efd46c94 100644 --- a/src/main/java/gregtech/common/tileentities/machines/multiblock/DistillationTower.java +++ b/src/main/java/gregtech/common/tileentities/machines/multiblock/DistillationTower.java @@ -163,11 +163,6 @@ public class DistillationTower extends StackableController<DistillationTower, Di return StatCollector.translateToLocal(getTileEntityName()); } - // @Override - // public String getLocalName() { - // return "Distillation Tower"; - // } - // @Override protected String getStackableMiddle(int stackIndex) { return stackIndex % 2 == 0 ? STACKABLE_MIDDLE_1 : STACKABLE_MIDDLE_2; diff --git a/src/main/java/gregtech/common/tileentities/machines/multiblock/logic/CokeOvenProcessingLogic.java b/src/main/java/gregtech/common/tileentities/machines/multiblock/logic/CokeOvenProcessingLogic.java index 1534b05bc3..4e6c80f561 100644 --- a/src/main/java/gregtech/common/tileentities/machines/multiblock/logic/CokeOvenProcessingLogic.java +++ b/src/main/java/gregtech/common/tileentities/machines/multiblock/logic/CokeOvenProcessingLogic.java @@ -39,16 +39,6 @@ public class CokeOvenProcessingLogic extends MuTEProcessingLogic<CokeOvenProcess ItemStack input = item.copy(); input.stackSize = 1; return null; - // return FindRecipeResult.ofSuccess( - // GT_Values.RA.stdBuilder() - // .itemInputs(input) - // .itemOutputs(output) - // .noFluidInputs() - // .noFluidOutputs() - // .duration(NORMAL_RECIPE_TIME * timeMultiplier) - // .eut(0) - // .build() - // .get()); } } return null; diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingDirty.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingDirty.java index b3aad4e25c..ed152fc47f 100644 --- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingDirty.java +++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingDirty.java @@ -1,8 +1,10 @@ package gregtech.loaders.oreprocessing; +import static gregtech.api.enums.GT_Values.RA; import static gregtech.api.recipe.RecipeMaps.chemicalBathRecipes; import static gregtech.api.recipe.RecipeMaps.hammerRecipes; import static gregtech.api.recipe.RecipeMaps.maceratorRecipes; +import static gregtech.api.recipe.RecipeMaps.oreWasherRecipes; import static gregtech.api.recipe.RecipeMaps.thermalCentrifugeRecipes; import static gregtech.api.util.GT_RecipeBuilder.SECONDS; @@ -52,19 +54,41 @@ public class ProcessingDirty implements gregtech.api.interfaces.IOreRecipeRegist .eut(2) .addTo(maceratorRecipes); - GT_ModHandler.addOreWasherRecipe( - GT_Utility.copyAmount(1, aStack), - new int[] { 10000, 1111, 10000 }, - 1000, - GT_OreDictUnificator.get( - aPrefix == OrePrefixes.crushed ? OrePrefixes.crushedPurified : OrePrefixes.dustPure, - aMaterial, - 1L), - GT_OreDictUnificator.get( - OrePrefixes.dust, - GT_Utility.selectItemInList(0, aMaterial.mMacerateInto, aMaterial.mOreByProducts), - 1L), - GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Stone, 1L)); + RA.stdBuilder() + .itemInputs(GT_Utility.copyAmount(1, aStack)) + .itemOutputs( + GT_OreDictUnificator.get( + aPrefix == OrePrefixes.crushed ? OrePrefixes.crushedPurified : OrePrefixes.dustPure, + aMaterial, + 1L), + GT_OreDictUnificator.get( + OrePrefixes.dust, + GT_Utility.selectItemInList(0, aMaterial.mMacerateInto, aMaterial.mOreByProducts), + 1L), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Stone, 1L)) + .outputChances(100_00, 11_11, 100_00) + .fluidInputs(GT_ModHandler.getWater(1000)) + .duration(25 * SECONDS) + .eut(16) + .addTo(oreWasherRecipes); + + RA.stdBuilder() + .itemInputs(GT_Utility.copyAmount(1, aStack)) + .itemOutputs( + GT_OreDictUnificator.get( + aPrefix == OrePrefixes.crushed ? OrePrefixes.crushedPurified : OrePrefixes.dustPure, + aMaterial, + 1L), + GT_OreDictUnificator.get( + OrePrefixes.dust, + GT_Utility.selectItemInList(0, aMaterial.mMacerateInto, aMaterial.mOreByProducts), + 1L), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Stone, 1L)) + .outputChances(100_00, 11_11, 100_00) + .fluidInputs(GT_ModHandler.getDistilledWater(200)) + .duration(15 * SECONDS) + .eut(16) + .addTo(oreWasherRecipes); OrePrefixes prefix = aPrefix == OrePrefixes.crushed ? OrePrefixes.crushedCentrifuged : OrePrefixes.dust; diff --git a/src/main/java/gregtech/loaders/postload/GT_PostLoad.java b/src/main/java/gregtech/loaders/postload/GT_PostLoad.java index 5ec4391d71..7998ba1ed2 100644 --- a/src/main/java/gregtech/loaders/postload/GT_PostLoad.java +++ b/src/main/java/gregtech/loaders/postload/GT_PostLoad.java @@ -6,6 +6,11 @@ import static gregtech.api.enums.Mods.GalacticraftMars; import static gregtech.api.enums.Mods.GalaxySpace; import static gregtech.api.enums.Mods.Thaumcraft; import static gregtech.api.recipe.RecipeMaps.fluidCannerRecipes; +import static gregtech.api.recipe.RecipeMaps.massFabFakeRecipes; +import static gregtech.api.recipe.RecipeMaps.rockBreakerFakeRecipes; +import static gregtech.api.recipe.RecipeMaps.scannerFakeRecipes; +import static gregtech.api.util.GT_RecipeBuilder.MINUTES; +import static gregtech.api.util.GT_RecipeBuilder.SECONDS; import static gregtech.api.util.GT_RecipeBuilder.TICKS; import java.lang.reflect.InvocationTargetException; @@ -139,105 +144,115 @@ public class GT_PostLoad { } if (ItemList.IC2_Crop_Seeds.get(1L) != null) { - RecipeMaps.scannerFakeRecipes.addFakeRecipe( - false, - new ItemStack[] { ItemList.IC2_Crop_Seeds.getWildcard(1L) }, - new ItemStack[] { ItemList.IC2_Crop_Seeds.getWithName(1L, "Scanned Seeds") }, - null, - null, - null, - 160, - 8, - 0); + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.IC2_Crop_Seeds.getWildcard(1L)) + .itemOutputs(ItemList.IC2_Crop_Seeds.getWithName(1L, "Scanned Seeds")) + .duration(8 * SECONDS) + .eut(8) + .noOptimize() + .ignoreCollision() + .fake() + .addTo(scannerFakeRecipes); } - RecipeMaps.scannerFakeRecipes.addFakeRecipe( - false, - new ItemStack[] { new ItemStack(Items.written_book, 1, 32767) }, - new ItemStack[] { ItemList.Tool_DataStick.getWithName(1L, "Scanned Book Data") }, - ItemList.Tool_DataStick.getWithName(1L, "Stick to save it to"), - null, - null, - 128, - 30, - 0); - RecipeMaps.scannerFakeRecipes.addFakeRecipe( - false, - new ItemStack[] { new ItemStack(Items.filled_map, 1, 32767) }, - new ItemStack[] { ItemList.Tool_DataStick.getWithName(1L, "Scanned Map Data") }, - ItemList.Tool_DataStick.getWithName(1L, "Stick to save it to"), - null, - null, - 128, - 30, - 0); - RecipeMaps.scannerFakeRecipes.addFakeRecipe( - false, - new ItemStack[] { ItemList.Tool_DataOrb.getWithName(1L, "Orb to overwrite") }, - new ItemStack[] { ItemList.Tool_DataOrb.getWithName(1L, "Copy of the Orb") }, - ItemList.Tool_DataOrb.getWithName(0L, "Orb to copy"), - null, - null, - 512, - 30, - 0); - RecipeMaps.scannerFakeRecipes.addFakeRecipe( - false, - new ItemStack[] { ItemList.Tool_DataStick.getWithName(1L, "Stick to overwrite") }, - new ItemStack[] { ItemList.Tool_DataStick.getWithName(1L, "Copy of the Stick") }, - ItemList.Tool_DataStick.getWithName(0L, "Stick to copy"), - null, - null, - 128, - 30, - 0); - RecipeMaps.scannerFakeRecipes.addFakeRecipe( - false, - new ItemStack[] { ItemList.Tool_DataStick.getWithName(1L, "Raw Prospection Data") }, - new ItemStack[] { ItemList.Tool_DataStick.getWithName(1L, "Analyzed Prospection Data") }, - null, - null, - null, - 1000, - 30, - 0); + GT_Values.RA.stdBuilder() + .itemInputs(new ItemStack(Items.written_book, 1, 32767)) + .itemOutputs(ItemList.Tool_DataStick.getWithName(1L, "Scanned Book Data")) + .special(ItemList.Tool_DataStick.getWithName(1L, "Stick to save it to")) + .duration(6 * SECONDS + 8 * TICKS) + .eut(TierEU.RECIPE_LV) + .noOptimize() + .ignoreCollision() + .fake() + .addTo(scannerFakeRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(new ItemStack(Items.filled_map, 1, 32767)) + .itemOutputs(ItemList.Tool_DataStick.getWithName(1L, "Scanned Map Data")) + .special(ItemList.Tool_DataStick.getWithName(1L, "Stick to save it to")) + .duration(6 * SECONDS + 8 * TICKS) + .eut(TierEU.RECIPE_LV) + .noOptimize() + .ignoreCollision() + .fake() + .addTo(scannerFakeRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Tool_DataOrb.getWithName(1L, "Orb to overwrite")) + .itemOutputs(ItemList.Tool_DataOrb.getWithName(1L, "Copy of the Orb")) + .duration(25 * SECONDS + 12 * TICKS) + .eut(TierEU.RECIPE_LV) + .noOptimize() + .ignoreCollision() + .fake() + .addTo(scannerFakeRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Tool_DataStick.getWithName(1L, "Stick to overwrite")) + .itemOutputs(ItemList.Tool_DataStick.getWithName(1L, "Copy of the Stick")) + .special(ItemList.Tool_DataStick.getWithName(0L, "Stick to copy")) + .duration(6 * SECONDS + 8 * TICKS) + .eut(TierEU.RECIPE_LV) + .noOptimize() + .ignoreCollision() + .fake() + .addTo(scannerFakeRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Tool_DataStick.getWithName(1L, "Raw Prospection Data")) + .itemOutputs(ItemList.Tool_DataStick.getWithName(1L, "Analyzed Prospection Data")) + .duration(50 * SECONDS) + .eut(TierEU.RECIPE_LV) + .noOptimize() + .ignoreCollision() + .fake() + .addTo(scannerFakeRecipes); + if (GalacticraftCore.isModLoaded()) { - RecipeMaps.scannerFakeRecipes.addFakeRecipe( - false, - new ItemStack[] { Objects - .requireNonNull(GT_ModHandler.getModItem(GalacticraftCore.ID, "item.schematic", 1, Short.MAX_VALUE)) - .setStackDisplayName("Any Schematic") }, - new ItemStack[] { ItemList.Tool_DataStick.getWithName(1L, "Scanned Schematic") }, - ItemList.Tool_DataStick.getWithName(1L, "Stick to save it to"), - null, - null, - 36000, - 480, - 0); - if (GalacticraftMars.isModLoaded()) RecipeMaps.scannerFakeRecipes.addFakeRecipe( - false, - new ItemStack[] { Objects - .requireNonNull(GT_ModHandler.getModItem(GalacticraftMars.ID, "item.schematic", 1, Short.MAX_VALUE)) - .setStackDisplayName("Any Schematic") }, - new ItemStack[] { ItemList.Tool_DataStick.getWithName(1L, "Scanned Schematic") }, - ItemList.Tool_DataStick.getWithName(1L, "Stick to save it to"), - null, - null, - 36000, - 480, - 0); + GT_Values.RA.stdBuilder() + .itemInputs( + Objects + .requireNonNull( + GT_ModHandler.getModItem(GalacticraftCore.ID, "item.schematic", 1, Short.MAX_VALUE)) + .setStackDisplayName("Any Schematic")) + .itemOutputs(ItemList.Tool_DataStick.getWithName(1L, "Scanned Schematic")) + .special(ItemList.Tool_DataStick.getWithName(1L, "Stick to save it to")) + .duration(30 * MINUTES) + .eut(TierEU.RECIPE_HV) + .noOptimize() + .ignoreCollision() + .fake() + .addTo(scannerFakeRecipes); + + if (GalacticraftMars.isModLoaded()) { + GT_Values.RA.stdBuilder() + .itemInputs( + Objects + .requireNonNull( + GT_ModHandler.getModItem(GalacticraftMars.ID, "item.schematic", 1, Short.MAX_VALUE)) + .setStackDisplayName("Any Schematic")) + .itemOutputs(ItemList.Tool_DataStick.getWithName(1L, "Scanned Schematic")) + .special(ItemList.Tool_DataStick.getWithName(1L, "Stick to save it to")) + .duration(30 * MINUTES) + .eut(TierEU.RECIPE_MV) + .noOptimize() + .ignoreCollision() + .fake() + .addTo(scannerFakeRecipes); + } if (GalaxySpace.isModLoaded()) { for (int i = 4; i < 9; i++) { - RecipeMaps.scannerFakeRecipes.addFakeRecipe( - false, - new ItemStack[] { GT_ModHandler.getModItem(GalaxySpace.ID, "item.SchematicTier" + i, 1) - .setStackDisplayName("Any Schematic") }, - new ItemStack[] { ItemList.Tool_DataStick.getWithName(1L, "Scanned Schematic") }, - ItemList.Tool_DataStick.getWithName(1L, "Stick to save it to"), - null, - null, - 36000, - 480, - 0); + GT_Values.RA.stdBuilder() + .itemInputs( + GT_ModHandler.getModItem(GalaxySpace.ID, "item.SchematicTier" + i, 1) + .setStackDisplayName("Any Schematic")) + .itemOutputs(ItemList.Tool_DataStick.getWithName(1L, "Scanned Schematic")) + .special(ItemList.Tool_DataStick.getWithName(1L, "Stick to save it to")) + .duration(30 * MINUTES) + .eut(TierEU.RECIPE_HV) + .noOptimize() + .ignoreCollision() + .fake() + .addTo(scannerFakeRecipes); } } } @@ -260,7 +275,7 @@ public class GT_PostLoad { .eut(TierEU.RECIPE_LV) .fake() .ignoreCollision() - .addTo(RecipeMaps.scannerFakeRecipes); + .addTo(scannerFakeRecipes); GT_Values.RA.stdBuilder() .itemOutputs(dustItem) .special(dataOrb) @@ -278,7 +293,7 @@ public class GT_PostLoad { .eut(TierEU.RECIPE_LV) .fake() .ignoreCollision() - .addTo(RecipeMaps.scannerFakeRecipes); + .addTo(scannerFakeRecipes); FluidStack fluidStack = GT_Utility.getFluidForFilledItem(cellItem, false); GT_RecipeBuilder builder = GT_Values.RA.stdBuilder(); if (fluidStack != null) { @@ -295,58 +310,67 @@ public class GT_PostLoad { }); if (!GT_MetaTileEntity_Massfabricator.sRequiresUUA) { - GT_MetaTileEntity_Massfabricator.nonUUARecipe = RecipeMaps.massFabFakeRecipes.addFakeRecipe( - false, - null, - null, - null, - null, - new FluidStack[] { Materials.UUMatter.getFluid(1L) }, - GT_MetaTileEntity_Massfabricator.sDurationMultiplier, - GT_MetaTileEntity_Massfabricator.BASE_EUT, - 0); + + GT_MetaTileEntity_Massfabricator.nonUUARecipe = GT_Values.RA.stdBuilder() + .fluidOutputs(Materials.UUMatter.getFluid(1L)) + .duration(GT_MetaTileEntity_Massfabricator.sDurationMultiplier) + .eut(GT_MetaTileEntity_Massfabricator.BASE_EUT) + .ignoreCollision() + .noOptimize() + .fake() + .build() + .get(); + + massFabFakeRecipes.add(GT_MetaTileEntity_Massfabricator.nonUUARecipe); + } - GT_MetaTileEntity_Massfabricator.uuaRecipe = RecipeMaps.massFabFakeRecipes.addFakeRecipe( - false, - new ItemStack[] { GT_Utility.getIntegratedCircuit(1) }, - null, - null, - new FluidStack[] { Materials.UUAmplifier.getFluid(GT_MetaTileEntity_Massfabricator.sUUAperUUM) }, - new FluidStack[] { Materials.UUMatter.getFluid(1L) }, - GT_MetaTileEntity_Massfabricator.sDurationMultiplier / GT_MetaTileEntity_Massfabricator.sUUASpeedBonus, - GT_MetaTileEntity_Massfabricator.BASE_EUT, - 0); - RecipeMaps.rockBreakerFakeRecipes.addFakeRecipe( - false, - new ItemStack[] { ItemList.Display_ITS_FREE.getWithName(1L, "IT'S FREE! Place Lava on Side") }, - new ItemStack[] { new ItemStack(Blocks.cobblestone, 1) }, - null, - null, - null, - 16, - 30, - 0); - RecipeMaps.rockBreakerFakeRecipes.addFakeRecipe( - false, - new ItemStack[] { ItemList.Display_ITS_FREE.getWithName(1L, "IT'S FREE! Place Lava on Top") }, - new ItemStack[] { new ItemStack(Blocks.stone, 1) }, - null, - null, - null, - 16, - 30, - 0); - RecipeMaps.rockBreakerFakeRecipes.addFakeRecipe( - false, - new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Redstone, 1L), - GT_Utility.getIntegratedCircuit(1) }, - new ItemStack[] { new ItemStack(Blocks.obsidian, 1) }, - null, - null, - null, - 128, - 30, - 0); + + GT_MetaTileEntity_Massfabricator.uuaRecipe = GT_Values.RA.stdBuilder() + .itemInputs(GT_Utility.getIntegratedCircuit(1)) + .fluidInputs(Materials.UUAmplifier.getFluid(GT_MetaTileEntity_Massfabricator.sUUAperUUM)) + .fluidOutputs(Materials.UUMatter.getFluid(1L)) + .duration( + GT_MetaTileEntity_Massfabricator.sDurationMultiplier / GT_MetaTileEntity_Massfabricator.sUUASpeedBonus) + .eut(GT_MetaTileEntity_Massfabricator.BASE_EUT) + .ignoreCollision() + .noOptimize() + .fake() + .build() + .get(); + + massFabFakeRecipes.add(GT_MetaTileEntity_Massfabricator.uuaRecipe); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Display_ITS_FREE.getWithName(1L, "IT'S FREE! Place Lava on Side")) + .itemOutputs(new ItemStack(Blocks.cobblestone, 1)) + .duration(16 * TICKS) + .eut(TierEU.RECIPE_LV) + .ignoreCollision() + .noOptimize() + .fake() + .addTo(rockBreakerFakeRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Display_ITS_FREE.getWithName(1L, "IT'S FREE! Place Lava on Side")) + .itemOutputs(new ItemStack(Blocks.stone, 1)) + .duration(16 * TICKS) + .eut(TierEU.RECIPE_LV) + .ignoreCollision() + .noOptimize() + .fake() + .addTo(rockBreakerFakeRecipes); + + GT_Values.RA.stdBuilder() + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Redstone, 1L), + GT_Utility.getIntegratedCircuit(1)) + .itemOutputs(new ItemStack(Blocks.obsidian, 1)) + .duration(6 * SECONDS + 8 * TICKS) + .eut(TierEU.RECIPE_LV) + .ignoreCollision() + .noOptimize() + .fake() + .addTo(rockBreakerFakeRecipes); } public static void nerfVanillaTools() { diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Ore.java b/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Ore.java index 07a5a82ef6..69c5c6a7c3 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Ore.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Ore.java @@ -1,9 +1,11 @@ package gtPlusPlus.xmod.gregtech.loaders; +import static gregtech.api.enums.GT_Values.RA; import static gregtech.api.recipe.RecipeMaps.centrifugeRecipes; import static gregtech.api.recipe.RecipeMaps.electrolyzerRecipes; import static gregtech.api.recipe.RecipeMaps.hammerRecipes; import static gregtech.api.recipe.RecipeMaps.maceratorRecipes; +import static gregtech.api.recipe.RecipeMaps.oreWasherRecipes; import static gregtech.api.recipe.RecipeMaps.thermalCentrifugeRecipes; import static gregtech.api.util.GT_RecipeBuilder.SECONDS; import static gregtech.api.util.GT_RecipeBuilder.TICKS; @@ -257,37 +259,27 @@ public class RecipeGen_Ore extends RecipeGen_Base { Logger.MATERIALS("[Macerator] Added Recipe: 'Macerate Centrifuged ore to Pure Dust'"); - /** - * Wash - */ - // Wash into Purified Crushed - /* - * if (GT_Values.RA.addOreWasherRecipe(material.getCrushed(1), material.getCrushedPurified(1), - * bonusA.getTinyDust(1), dustStone, FluidUtils.getWater(1000), 25*20, 16)){ - * Logger.MATERIALS("[OreWasher] Added Recipe: 'Wash Crushed ore into Purified Crushed ore'"); } - */ - // .08 compat method - if (GT_ModHandler.addOreWasherRecipe( - material.getCrushed(1), - new int[] { 10000, 1111, 10000 }, - 1000, - material.getCrushedPurified(1), - matDustA, - dustStone)) { - Logger.MATERIALS("[OreWasher] Added Recipe: 'Wash Crushed ore into Purified Crushed ore'"); - } + // Wash + RA.stdBuilder() + .itemInputs(material.getCrushed(1)) + .itemOutputs(material.getCrushedPurified(1), matDustA, dustStone) + .outputChances(100_00, 11_11, 100_00) + .fluidInputs(GT_ModHandler.getWater(1000)) + .duration(25 * SECONDS) + .eut(16) + .addTo(oreWasherRecipes); + + RA.stdBuilder() + .itemInputs(material.getCrushed(1)) + .itemOutputs(material.getCrushedPurified(1), matDustA, dustStone) + .outputChances(100_00, 11_11, 100_00) + .fluidInputs(GT_ModHandler.getDistilledWater(200)) + .duration(15 * SECONDS) + .eut(16) + .addTo(oreWasherRecipes); + Logger.MATERIALS("[OreWasher] Added Recipe: 'Wash Crushed ore into Purified Crushed ore'"); - /** - * Thermal Centrifuge - */ - /* - * //Crushed ore to Centrifuged Ore if (GT_Values.RA.addThermalCentrifugeRecipe(material.getCrushed(1), - * material.getCrushedCentrifuged(1), tinyDustB, dustStone, 25*20, 24)){ - * Logger.MATERIALS("[ThermalCentrifuge] Added Recipe: 'Crushed ore to Centrifuged Ore'"); } //Washed ore to - * Centrifuged Ore if (GT_Values.RA.addThermalCentrifugeRecipe(material.getCrushedPurified(1), - * material.getCrushedCentrifuged(1), bonusA.getTinyDust(1), dustStone, 25*20, 24)){ - * Logger.MATERIALS("[ThermalCentrifuge] Added Recipe: 'Washed ore to Centrifuged Ore'"); } - */ + // Thermal Centrifuge Logger.MATERIALS("material.getCrushed(1): " + (material.getCrushed(1) != null)); Logger.MATERIALS("material.getCrushedPurified(1): " + (material.getCrushedPurified(1) != null)); @@ -295,58 +287,49 @@ public class RecipeGen_Ore extends RecipeGen_Base { Logger.MATERIALS("material.getTinyDust(1): " + (ItemUtils.getItemName(bonusA.getCrushed(1)))); Logger.MATERIALS("material.getTinyDust(1): " + (ItemUtils.getItemName(bonusB.getCrushed(1)))); - try { - // .08 compat - GT_Values.RA.stdBuilder() - .itemInputs(material.getCrushed(1)) - .itemOutputs(material.getCrushedCentrifuged(1), matDustB, dustStone) - .outputChances(100_00, 11_11, 100_00) - .duration(25 * SECONDS) - .eut(48) - .addTo(thermalCentrifugeRecipes); - - Logger - .MATERIALS( - "[ThermalCentrifuge] Added Recipe: 'Crushed ore to Centrifuged Ore' | Input: " - + material.getCrushed(1) - .getDisplayName() - + " | Outputs: " - + material.getCrushedCentrifuged(1) - .getDisplayName() - + ", " - + matDustB.getDisplayName() - + ", " - + dustStone.getDisplayName() - + "."); - - } catch (Throwable t) {} - try { - GT_Values.RA.stdBuilder() - .itemInputs(material.getCrushedPurified(1)) - .itemOutputs(material.getCrushedCentrifuged(1), matDustA, dustStone) - .outputChances(100_00, 11_11, 100_00) - .duration(25 * SECONDS) - .eut(48) - .addTo(thermalCentrifugeRecipes); - - Logger.MATERIALS( - "[ThermalCentrifuge] Added Recipe: 'Washed ore to Centrifuged Ore' | Input: " - + material.getCrushedPurified(1) - .getDisplayName() - + " | Outputs: " - + material.getCrushedCentrifuged(1) - .getDisplayName() - + ", " - + matDustA.getDisplayName() - + ", " - + dustStone.getDisplayName() - + "."); - - } catch (Throwable t) {} + GT_Values.RA.stdBuilder() + .itemInputs(material.getCrushed(1)) + .itemOutputs(material.getCrushedCentrifuged(1), matDustB, dustStone) + .outputChances(100_00, 11_11, 100_00) + .duration(25 * SECONDS) + .eut(48) + .addTo(thermalCentrifugeRecipes); + + Logger.MATERIALS( + "[ThermalCentrifuge] Added Recipe: 'Crushed ore to Centrifuged Ore' | Input: " + material.getCrushed(1) + .getDisplayName() + + " | Outputs: " + + material.getCrushedCentrifuged(1) + .getDisplayName() + + ", " + + matDustB.getDisplayName() + + ", " + + dustStone.getDisplayName() + + "."); + + GT_Values.RA.stdBuilder() + .itemInputs(material.getCrushedPurified(1)) + .itemOutputs(material.getCrushedCentrifuged(1), matDustA, dustStone) + .outputChances(100_00, 11_11, 100_00) + .duration(25 * SECONDS) + .eut(48) + .addTo(thermalCentrifugeRecipes); + + Logger.MATERIALS( + "[ThermalCentrifuge] Added Recipe: 'Washed ore to Centrifuged Ore' | Input: " + + material.getCrushedPurified(1) + .getDisplayName() + + " | Outputs: " + + material.getCrushedCentrifuged(1) + .getDisplayName() + + ", " + + matDustA.getDisplayName() + + ", " + + dustStone.getDisplayName() + + "."); + + // Forge Hammer - /** - * Forge Hammer - */ GT_Values.RA.stdBuilder() .itemInputs(material.getCrushedCentrifuged(1)) .itemOutputs(matDust) @@ -373,9 +356,8 @@ public class RecipeGen_Ore extends RecipeGen_Base { Logger.MATERIALS("[ForgeHammer] Added Recipe: 'Ore to Crushed'"); - /** - * Centrifuge - */ + // Centrifuge + // Purified Dust to Clean GT_Values.RA.stdBuilder() .itemInputs(material.getDustPurified(1)) @@ -398,9 +380,8 @@ public class RecipeGen_Ore extends RecipeGen_Base { Logger.MATERIALS("[Centrifuge] Added Recipe: Inpure Dust to Clean Dust"); - /** - * Electrolyzer - */ + // Electrolyzer + if (!disableOptional) { // Process Dust if (componentMap.size() > 0 && componentMap.size() <= 6) { @@ -645,9 +626,8 @@ public class RecipeGen_Ore extends RecipeGen_Base { } } - /** - * Shaped Crafting - */ + // Shaped Crafting + RecipeUtils.addShapedRecipe( CI.craftingToolHammer_Hard, null, @@ -725,7 +705,6 @@ public class RecipeGen_Ore extends RecipeGen_Base { Logger.WARNING("4 Small dust from 1 Dust Recipe: " + material.getLocalizedName() + " - Failed"); } - // } } public static ItemStack getTinyDust(Material m) { |