diff options
| author | NotAPenguin <michiel.vandeginste@gmail.com> | 2024-09-02 23:17:17 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-09-02 23:17:17 +0200 |
| commit | 1b820de08a05070909a267e17f033fcf58ac8710 (patch) | |
| tree | 02831a025986a06b20f87e5bcc69d1e0c639a342 /src/main/java/bartworks/common/loaders | |
| parent | afd3fd92b6a6ab9ab0d0dc3214e6bc8ff7a86c9b (diff) | |
| download | GT5-Unofficial-1b820de08a05070909a267e17f033fcf58ac8710.tar.gz GT5-Unofficial-1b820de08a05070909a267e17f033fcf58ac8710.tar.bz2 GT5-Unofficial-1b820de08a05070909a267e17f033fcf58ac8710.zip | |
The Great Renaming (#3014)
* move kekztech to a single root dir
* move detrav to a single root dir
* move gtnh-lanthanides to a single root dir
* move tectech and delete some gross reflection in gt++
* remove more reflection inside gt5u
* delete more reflection in gt++
* fix imports
* move bartworks and bwcrossmod
* fix proxies
* move galactigreg and ggfab
* move gtneioreplugin
* try to fix gt++ bee loader
* apply the rename rules to BW
* apply rename rules to bwcrossmod
* apply rename rules to detrav scanner mod
* apply rename rules to galacticgreg
* apply rename rules to ggfab
* apply rename rules to goodgenerator
* apply rename rules to gtnh-lanthanides
* apply rename rules to gt++
* apply rename rules to kekztech
* apply rename rules to kubatech
* apply rename rules to tectech
* apply rename rules to gt
apply the rename rules to gt
* fix tt import
* fix mui hopefully
* fix coremod except intergalactic
* rename assline recipe class
* fix a class name i stumbled on
* rename StructureUtility to GTStructureUtility to prevent conflict with structurelib
* temporary rename of GTTooltipDataCache to old name
* fix gt client/server proxy names
Diffstat (limited to 'src/main/java/bartworks/common/loaders')
31 files changed, 4597 insertions, 0 deletions
diff --git a/src/main/java/bartworks/common/loaders/ArtificialMicaLine.java b/src/main/java/bartworks/common/loaders/ArtificialMicaLine.java new file mode 100644 index 0000000000..4ec5f2edf8 --- /dev/null +++ b/src/main/java/bartworks/common/loaders/ArtificialMicaLine.java @@ -0,0 +1,191 @@ +package bartworks.common.loaders; + +import static gregtech.api.enums.Mods.NewHorizonsCoreMod; +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.GTRecipeBuilder.SECONDS; +import static gregtech.api.util.GTRecipeBuilder.TICKS; +import static gregtech.api.util.GTRecipeConstants.COIL_HEAT; +import static gregtech.api.util.GTRecipeConstants.UniversalChemical; + +import bartworks.system.material.BWGTMaterialReference; +import bartworks.system.material.WerkstoffLoader; +import gregtech.api.enums.GTValues; +import gregtech.api.enums.ItemList; +import gregtech.api.enums.Materials; +import gregtech.api.enums.OrePrefixes; +import gregtech.api.enums.TierEU; +import gregtech.api.util.GTModHandler; +import gregtech.api.util.GTUtility; + +public class ArtificialMicaLine { + + public static void runArtificialMicaRecipe() { + // Mg + O = MgO + + GTValues.RA.stdBuilder() + .itemInputs(Materials.Magnesium.getDust(1)) + .itemOutputs(Materials.Magnesia.getDust(2)) + .fluidInputs(Materials.Oxygen.getGas(1000)) + .duration(2 * SECONDS) + .eut(8) + .addTo(UniversalChemical); + // Si + 6HF = H2SiF6 + 4H + + GTValues.RA.stdBuilder() + .itemInputs(Materials.Silicon.getDust(1), Materials.Empty.getCells(4)) + .itemOutputs(Materials.Hydrogen.getCells(4)) + .fluidInputs(Materials.HydrofluoricAcid.getFluid(6000)) + .fluidOutputs(WerkstoffLoader.HexafluorosilicicAcid.getFluidOrGas(1000)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(UniversalChemical); + // K + Cl = KCl + + GTValues.RA.stdBuilder() + .itemInputs(Materials.Potassium.getDust(1), GTUtility.getIntegratedCircuit(2)) + .itemOutputs(Materials.RockSalt.getDust(2)) + .fluidInputs(Materials.Chlorine.getGas(1000)) + .duration(20 * TICKS) + .eut(8) + .addTo(UniversalChemical); + + // 2KCl + H2SiF6 = 2HCl + K2SiF6 + GTValues.RA.stdBuilder() + .itemInputs(Materials.RockSalt.getDust(4)) + .itemOutputs(WerkstoffLoader.Potassiumfluorosilicate.get(OrePrefixes.dust, 9)) + .fluidInputs(WerkstoffLoader.HexafluorosilicicAcid.getFluidOrGas(1000)) + .fluidOutputs(Materials.HydrochloricAcid.getFluid(2000)) + .duration(1 * SECONDS) + .eut(8) + .addTo(mixerRecipes); + + // 2K + CO2 + O = K2CO3 + + GTValues.RA.stdBuilder() + .itemInputs(Materials.Potassium.getDust(2), Materials.CarbonDioxide.getCells(1)) + .itemOutputs(WerkstoffLoader.PotassiumCarbonate.get(OrePrefixes.dust, 6), Materials.Empty.getCells(1)) + .fluidInputs(Materials.Oxygen.getGas(1000)) + .duration(2 * SECONDS) + .eut(8) + .addTo(UniversalChemical); + // K2O + CO2 = K2CO3 + + GTValues.RA.stdBuilder() + .itemInputs(Materials.Potash.getDust(3), Materials.CarbonDioxide.getCells(1)) + .itemOutputs(WerkstoffLoader.PotassiumCarbonate.get(OrePrefixes.dust, 6), Materials.Empty.getCells(1)) + .duration(2 * SECONDS) + .eut(8) + .addTo(UniversalChemical); + + // 55Quartz Dust + 20K2SiF6 + 12Al2O3 + 4K2CO3 = 91Raw Fluorophlogopite Dust + GTValues.RA.stdBuilder() + .itemInputs( + Materials.QuartzSand.getDust(55), + WerkstoffLoader.Potassiumfluorosilicate.get(OrePrefixes.dust, 20), + WerkstoffLoader.Alumina.get(OrePrefixes.dust, 12), + WerkstoffLoader.PotassiumCarbonate.get(OrePrefixes.dust, 4), + GTUtility.getIntegratedCircuit(4)) + .itemOutputs( + WerkstoffLoader.RawFluorophlogopite.get(OrePrefixes.dust, 64), + WerkstoffLoader.RawFluorophlogopite.get(OrePrefixes.dust, 27)) + .duration(20 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(mixerRecipes); + + // 55Quartzite/Nether Quartz Dust + 20K2SiF6 + 57Al2O3 + 4K2CO3 = 136Raw Fluorophlogopite Dust + GTValues.RA.stdBuilder() + .itemInputs( + Materials.Quartzite.getDust(55), + WerkstoffLoader.Potassiumfluorosilicate.get(OrePrefixes.dust, 20), + WerkstoffLoader.Alumina.get(OrePrefixes.dust, 57), + WerkstoffLoader.PotassiumCarbonate.get(OrePrefixes.dust, 4), + GTUtility.getIntegratedCircuit(4)) + .itemOutputs( + WerkstoffLoader.RawFluorophlogopite.get(OrePrefixes.dust, 64), + WerkstoffLoader.RawFluorophlogopite.get(OrePrefixes.dust, 64), + WerkstoffLoader.RawFluorophlogopite.get(OrePrefixes.dust, 8)) + .fluidInputs() + .fluidOutputs() + .duration(30 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(mixerRecipes); + + GTValues.RA.stdBuilder() + .itemInputs( + Materials.NetherQuartz.getDust(55), + WerkstoffLoader.Potassiumfluorosilicate.get(OrePrefixes.dust, 20), + WerkstoffLoader.Alumina.get(OrePrefixes.dust, 57), + WerkstoffLoader.PotassiumCarbonate.get(OrePrefixes.dust, 4), + GTUtility.getIntegratedCircuit(4)) + .itemOutputs( + WerkstoffLoader.RawFluorophlogopite.get(OrePrefixes.dust, 64), + WerkstoffLoader.RawFluorophlogopite.get(OrePrefixes.dust, 64), + WerkstoffLoader.RawFluorophlogopite.get(OrePrefixes.dust, 8)) + .duration(30 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(mixerRecipes); + + // 62Certus Quartz Dust + 10K2SiF6 + 12Al2O3 + 7K2CO3 = 91Raw Fluorophlogopite Dust + GTValues.RA.stdBuilder() + .itemInputs( + Materials.CertusQuartz.getDust(62), + WerkstoffLoader.Potassiumfluorosilicate.get(OrePrefixes.dust, 10), + WerkstoffLoader.Alumina.get(OrePrefixes.dust, 12), + WerkstoffLoader.PotassiumCarbonate.get(OrePrefixes.dust, 7), + GTUtility.getIntegratedCircuit(4)) + .itemOutputs( + WerkstoffLoader.RawFluorophlogopite.get(OrePrefixes.dust, 64), + WerkstoffLoader.RawFluorophlogopite.get(OrePrefixes.dust, 27)) + .duration(30 * SECONDS) + .eut(TierEU.RECIPE_MV) + .addTo(mixerRecipes); + + // MgO(s) = MgO(l) + + GTValues.RA.stdBuilder() + .itemInputs(Materials.Magnesia.getDust(1)) + .fluidOutputs(Materials.Magnesia.getMolten(144)) + .duration(20 * TICKS) + .eut(TierEU.RECIPE_MV) + .addTo(fluidExtractionRecipes); + + // 27Raw Fluorophlogopite Dust + 720MgO(l) = 4608Fluorophlogopite(l) + GTValues.RA.stdBuilder() + .itemInputs(WerkstoffLoader.RawFluorophlogopite.get(OrePrefixes.dust, 27)) + .itemOutputs(Materials.Glass.getDust(1)) + .fluidInputs(BWGTMaterialReference.Magnesia.getMolten(720)) + .fluidOutputs(WerkstoffLoader.HotFluorophlogopite.getFluidOrGas(4608)) + .duration(30 * SECONDS) + .eut(TierEU.RECIPE_HV) + .metadata(COIL_HEAT, 1700) + .addTo(blastFurnaceRecipes); + + // 144Fluorophlogopite(l) = Fluorophlogopite + GTValues.RA.stdBuilder() + .itemInputs(ItemList.Shape_Mold_Plate.get(0)) + .itemOutputs(WerkstoffLoader.Fluorophlogopite.get(OrePrefixes.plate, 1)) + .fluidInputs(WerkstoffLoader.HotFluorophlogopite.getFluidOrGas(144)) + .duration(10 * TICKS) + .eut(TierEU.RECIPE_MV) + .noOptimize() + .addTo(vacuumFreezerRecipes); + + // Fluorophlogopite = 4Insulator Foil + if (NewHorizonsCoreMod.isModLoaded()) { + + GTValues.RA.stdBuilder() + .itemInputs( + WerkstoffLoader.Fluorophlogopite.get(OrePrefixes.plate, 1), + GTUtility.getIntegratedCircuit(1)) + .itemOutputs(GTModHandler.getModItem(NewHorizonsCoreMod.ID, "item.MicaInsulatorFoil", 4)) + .duration(10 * TICKS) + .eut(600) + .addTo(benderRecipes); + + } + } +} diff --git a/src/main/java/bartworks/common/loaders/BioCultureLoader.java b/src/main/java/bartworks/common/loaders/BioCultureLoader.java new file mode 100644 index 0000000000..f97f23347f --- /dev/null +++ b/src/main/java/bartworks/common/loaders/BioCultureLoader.java @@ -0,0 +1,104 @@ +/* + * 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 bartworks.common.loaders; + +import java.awt.Color; + +import net.minecraft.item.EnumRarity; + +import bartworks.util.BioCulture; +import bartworks.util.BioDNA; +import bartworks.util.BioData; +import bartworks.util.BioPlasmid; + +public class BioCultureLoader { + + public static final BioData BIO_DATA_BETA_LACMATASE = BioData + .createAndRegisterBioData("beta-Lactamase", EnumRarity.uncommon, 10000, 0); + private static final BioData BIO_DATA_YEAST = BioData + .createAndRegisterBioData("Saccharomyces cerevisiae", EnumRarity.common); + private static final BioDNA BIO_DNA_WHINE_YEAST = BioDNA + .createAndRegisterBioDNA("Saccharomyces cerevisiae var bayanus", EnumRarity.uncommon); + private static final BioDNA BIO_DNA_BEER_YEAST = BioDNA + .createAndRegisterBioDNA("Saccharomyces cerevisiae var cerevisiae", EnumRarity.uncommon); + private static final BioData eColiData = BioData + .createAndRegisterBioData("Escherichia koli", EnumRarity.uncommon, 10000, 0); + private static final BioDNA BIO_DNA_ANAEROBIC_OIL = BioDNA + .createAndRegisterBioDNA("Pseudomonas Veronii", EnumRarity.uncommon); + private static final BioData BIO_DATA_ANAEROBIC_OIL = BioData + .createAndRegisterBioData("Pseudomonas Veronii", EnumRarity.uncommon, 5000, 1); + public static BioCulture CommonYeast; + public static BioCulture WhineYeast; + public static BioCulture BeerYeast; + public static BioCulture rottenFleshBacteria; + public static BioCulture eColi; + public static BioCulture anaerobicOil; + public static BioCulture generalPurposeFermentingBacteria; + + public static void run() { + BioCultureLoader.CommonYeast = BioCulture.createAndRegisterBioCulture( + new Color(255, 248, 200), + "Saccharomyces cerevisiae", + BioPlasmid.convertDataToPlasmid(BioCultureLoader.BIO_DATA_YEAST), + BioDNA.convertDataToDNA(BioCultureLoader.BIO_DATA_YEAST), + true); + BioCultureLoader.WhineYeast = BioCulture.createAndRegisterBioCulture( + new Color(255, 248, 200), + "Saccharomyces cerevisiae var bayanus", + BioPlasmid.convertDataToPlasmid(BioCultureLoader.BIO_DNA_WHINE_YEAST), + BioCultureLoader.BIO_DNA_WHINE_YEAST, + EnumRarity.uncommon, + true); + BioCultureLoader.BeerYeast = BioCulture.createAndRegisterBioCulture( + new Color(255, 248, 200), + "Saccharomyces cerevisiae var cerevisiae", + BioPlasmid.convertDataToPlasmid(BioCultureLoader.BIO_DNA_BEER_YEAST), + BioCultureLoader.BIO_DNA_BEER_YEAST, + EnumRarity.uncommon, + true); + BioCultureLoader.rottenFleshBacteria = BioCulture.createAndRegisterBioCulture( + new Color(110, 40, 25), + "Escherichia cadaver", + BioPlasmid.convertDataToPlasmid(BioCultureLoader.BIO_DATA_BETA_LACMATASE), + BioDNA.convertDataToDNA(BioCultureLoader.BIO_DATA_BETA_LACMATASE), + false); + BioCultureLoader.eColi = BioCulture.createAndRegisterBioCulture( + new Color(149, 132, 75), + "Escherichia koli", + BioPlasmid.convertDataToPlasmid(BioCultureLoader.eColiData), + BioDNA.convertDataToDNA(BioCultureLoader.eColiData), + true); + BioCultureLoader.anaerobicOil = BioCulture.createAndRegisterBioCulture( + new Color(0, 0, 0), + "Pseudomonas Veronii", + BioPlasmid.convertDataToPlasmid(BioCultureLoader.BIO_DNA_ANAEROBIC_OIL), + BioDNA.convertDataToDNA(BioCultureLoader.BIO_DATA_ANAEROBIC_OIL), + true); + BioCultureLoader.generalPurposeFermentingBacteria = BioCulture.createAndRegisterBioCulture( + new Color(127, 69, 26), + "Saccharomyces escherichia", + BioCultureLoader.CommonYeast.getPlasmid(), + BioCultureLoader.eColi.getdDNA(), + EnumRarity.epic, + true); + + BioCultureLoader.CommonYeast.setLocalisedName("Common Yeast"); + BioCultureLoader.WhineYeast.setLocalisedName("Whine Yeast"); + BioCultureLoader.BeerYeast.setLocalisedName("Beer Yeast"); + BioCultureLoader.rottenFleshBacteria.setLocalisedName("Rotten Flesh Bacteria"); + BioCultureLoader.eColi.setLocalisedName("eColi Bacteria"); + BioCultureLoader.anaerobicOil.setLocalisedName("Anaerobic Oil Bacteria"); + BioCultureLoader.generalPurposeFermentingBacteria.setLocalisedName("General Purpose Fermenting Bacteria"); + } +} diff --git a/src/main/java/bartworks/common/loaders/BioItemList.java b/src/main/java/bartworks/common/loaders/BioItemList.java new file mode 100644 index 0000000000..d845c5048d --- /dev/null +++ b/src/main/java/bartworks/common/loaders/BioItemList.java @@ -0,0 +1,106 @@ +/* + * 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 bartworks.common.loaders; + +import java.util.Collection; +import java.util.HashSet; + +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; + +import bartworks.common.items.ItemLabModule; +import bartworks.common.items.ItemLabParts; +import bartworks.util.BioCulture; +import bartworks.util.BioDNA; +import bartworks.util.BioData; +import bartworks.util.BioPlasmid; +import cpw.mods.fml.common.registry.GameRegistry; + +public class BioItemList { + + private BioItemList() {} + + private static final Item mItemBioLabParts = new ItemLabModule( + new String[] { "DNAExtractionModule", "PCRThermoclyclingModule", "PlasmidSynthesisModule", + "TransformationModule", "ClonalCellularSynthesisModule" }); + public static final ItemStack[] mBioLabParts = { new ItemStack(BioItemList.mItemBioLabParts), + new ItemStack(BioItemList.mItemBioLabParts, 1, 1), new ItemStack(BioItemList.mItemBioLabParts, 1, 2), + new ItemStack(BioItemList.mItemBioLabParts, 1, 3), new ItemStack(BioItemList.mItemBioLabParts, 1, 4) }; + private static final Item vanillaBioLabParts = new ItemLabParts( + new String[] { "petriDish", "DNASampleFlask", "PlasmidCell", "DetergentPowder", "Agarose", "IncubationModule", + "PlasmaMembrane" }); + + public static void registerBioItems() { + GameRegistry.registerItem(BioItemList.mItemBioLabParts, "BioLabModules"); + GameRegistry.registerItem(BioItemList.vanillaBioLabParts, "BioLabParts"); + } + + public static Collection<ItemStack> getAllPetriDishes() { + HashSet<ItemStack> ret = new HashSet<>(); + for (BioCulture Culture : BioCulture.BIO_CULTURE_ARRAY_LIST) { + ret.add(BioItemList.getPetriDish(Culture)); + } + return ret; + } + + public static Collection<ItemStack> getAllDNASampleFlasks() { + HashSet<ItemStack> ret = new HashSet<>(); + for (BioData dna : BioData.BIO_DATA_ARRAY_LIST) { + ret.add(BioItemList.getDNASampleFlask(BioDNA.convertDataToDNA(dna))); + } + return ret; + } + + public static Collection<ItemStack> getAllPlasmidCells() { + HashSet<ItemStack> ret = new HashSet<>(); + for (BioData dna : BioData.BIO_DATA_ARRAY_LIST) { + ret.add(BioItemList.getPlasmidCell(BioPlasmid.convertDataToPlasmid(dna))); + } + return ret; + } + + public static ItemStack getPetriDish(BioCulture Culture) { + if (Culture == null) return new ItemStack(BioItemList.vanillaBioLabParts); + ItemStack ret = new ItemStack(BioItemList.vanillaBioLabParts); + ret.setTagCompound(BioCulture.getNBTTagFromCulture(Culture)); + return ret; + } + + public static ItemStack getDNASampleFlask(BioDNA dna) { + if (dna == null) return new ItemStack(BioItemList.vanillaBioLabParts, 1, 1); + + ItemStack ret = new ItemStack(BioItemList.vanillaBioLabParts, 1, 1); + ret.setTagCompound(BioData.getNBTTagFromBioData(dna)); + return ret; + } + + public static ItemStack getPlasmidCell(BioPlasmid plasmid) { + if (plasmid == null) return new ItemStack(BioItemList.vanillaBioLabParts, 1, 2); + ItemStack ret = new ItemStack(BioItemList.vanillaBioLabParts, 1, 2); + ret.setTagCompound(BioData.getNBTTagFromBioData(plasmid)); + return ret; + } + + /** + * 1 - Detergent Powder 2 - Agarose 3 - Incubation Module 4 - Plasma Membrane others are null + * + * @param selection see above + * @return the selected Item + */ + public static ItemStack getOther(int selection) { + if (selection < 1 || selection > 4) return null; + + return new ItemStack(BioItemList.vanillaBioLabParts, 1, 2 + selection); + } +} diff --git a/src/main/java/bartworks/common/loaders/BioLabLoader.java b/src/main/java/bartworks/common/loaders/BioLabLoader.java new file mode 100644 index 0000000000..4a625ea33c --- /dev/null +++ b/src/main/java/bartworks/common/loaders/BioLabLoader.java @@ -0,0 +1,23 @@ +/* + * 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 bartworks.common.loaders; + +public class BioLabLoader { + + public static void run() { + FluidLoader.run(); + BioItemList.registerBioItems(); + BioRecipeLoader.run(); + } +} diff --git a/src/main/java/bartworks/common/loaders/BioRecipeLoader.java b/src/main/java/bartworks/common/loaders/BioRecipeLoader.java new file mode 100644 index 0000000000..77ae6b8c2c --- /dev/null +++ b/src/main/java/bartworks/common/loaders/BioRecipeLoader.java @@ -0,0 +1,211 @@ +/* + * 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 bartworks.common.loaders; + +import static bartworks.API.recipe.BartWorksRecipeMaps.bacterialVatRecipes; +import static bartworks.API.recipe.BartWorksRecipeMaps.bioLabRecipes; +import static gregtech.api.enums.Mods.CropsPlusPlus; +import static gregtech.api.util.GTRecipeBuilder.MINUTES; +import static gregtech.api.util.GTRecipeBuilder.SECONDS; +import static gregtech.api.util.GTRecipeBuilder.TICKS; +import static gregtech.api.util.GTRecipeConstants.SIEVERTS; + +import net.minecraft.init.Blocks; +import net.minecraft.init.Items; +import net.minecraft.item.ItemStack; +import net.minecraftforge.fluids.FluidRegistry; +import net.minecraftforge.fluids.FluidStack; + +import gregtech.api.enums.GTValues; +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.GTOreDictUnificator; +import gregtech.api.util.GTUtility; + +public class BioRecipeLoader { + + public static void run() { + registerWaterBasedBioLabIncubations(); + registerBacterialVatRecipes(); + } + + public static void registerWaterBasedBioLabIncubations() { + FluidStack[] easyFluids = { Materials.Water.getFluid(1000L), + FluidRegistry.getFluidStack("ic2distilledwater", 1000) }; + for (FluidStack fluidStack : easyFluids) { + + GTValues.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); + + GTValues.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); + + GTValues.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); + + GTValues.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); + + GTValues.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); + + GTValues.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); + + GTValues.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); + + GTValues.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); + } + } + |
