recipeConfig) {
31 | SimpleRecipeBuilder builder = INBRecipeMaps.FAKE_IMPLOSION_RECIPES.recipeBuilder();
32 | recipeConfig.accept(builder);
33 | builder.chancedOutput(dust, Materials.DarkAsh, 2500, 0).buildAndRegister();
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/src/main/java/com/github/gtexpert/core/integration/deda/loaders/DEDAMaterialInfoLoader.java:
--------------------------------------------------------------------------------
1 | package com.github.gtexpert.core.integration.deda.loaders;
2 |
3 | import net.minecraft.init.Blocks;
4 | import net.minecraft.item.ItemStack;
5 |
6 | import gregtech.api.GTValues;
7 | import gregtech.common.ConfigHolder;
8 |
9 | import com.github.gtexpert.core.api.unification.material.GTEMaterials;
10 | import com.github.gtexpert.core.api.util.GTEUtility;
11 | import com.github.gtexpert.core.api.util.Mods;
12 | import com.github.gtexpert.core.common.blocks.GTEBlockMetalCasing;
13 | import com.github.gtexpert.core.common.blocks.GTEMetaBlocks;
14 |
15 | public class DEDAMaterialInfoLoader {
16 |
17 | public static void init() {
18 | GTEUtility.registerOre(new ItemStack(Blocks.DRAGON_EGG), GTEMaterials.Dragon, GTValues.M * 8);
19 | GTEUtility.registerOre(Mods.DraconicEvolution.getItem("chaos_shard", 1, 1), GTEMaterials.Chaos,
20 | GTValues.M);
21 | GTEUtility.registerOre(
22 | GTEMetaBlocks.GTE_METAL_CASING.getItemVariant(GTEBlockMetalCasing.MetalCasingType.DRACONIUM_CASING),
23 | GTEMaterials.Draconium,
24 | (GTValues.M * 8) / ConfigHolder.recipes.casingsPerCraft);
25 | GTEUtility.registerOre(
26 | GTEMetaBlocks.GTE_METAL_CASING
27 | .getItemVariant(GTEBlockMetalCasing.MetalCasingType.AWAKENED_DRACONIUM_CASING),
28 | GTEMaterials.AwakenedDraconium,
29 | (GTValues.M * 8) / ConfigHolder.recipes.casingsPerCraft);
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/src/main/java/com/github/gtexpert/core/integration/gtfo/recipes/GTFOChemicalRecipe.java:
--------------------------------------------------------------------------------
1 | package com.github.gtexpert.core.integration.gtfo.recipes;
2 |
3 | import static gregtech.api.GTValues.*;
4 | import static gregtech.api.unification.ore.OrePrefix.dust;
5 |
6 | import gregtech.api.recipes.RecipeMaps;
7 | import gregtech.api.unification.material.Materials;
8 |
9 | public class GTFOChemicalRecipe {
10 |
11 | public static void init() {
12 | // AmmoniumChloride * 2 & SodiumBicarbonate * 6
13 | RecipeMaps.CHEMICAL_RECIPES.recipeBuilder()
14 | .circuitMeta(2)
15 | .fluidInputs(Materials.CarbonDioxide.getFluid(1000))
16 | .fluidInputs(Materials.Ammonia.getFluid(1000))
17 | .fluidInputs(Materials.Water.getFluid(1000))
18 | .input(dust, Materials.Salt, 2)
19 | .output(dust, Materials.AmmoniumChloride, 2)
20 | .output(dust, Materials.SodiumBicarbonate, 6)
21 | .duration(100).EUt(VA[LV])
22 | .buildAndRegister();
23 | RecipeMaps.CHEMICAL_RECIPES.recipeBuilder()
24 | .circuitMeta(2)
25 | .fluidInputs(Materials.CarbonDioxide.getFluid(1000))
26 | .fluidInputs(Materials.Ammonia.getFluid(1000))
27 | .fluidInputs(Materials.SaltWater.getFluid(1000))
28 | .output(dust, Materials.AmmoniumChloride, 2)
29 | .output(dust, Materials.SodiumBicarbonate, 6)
30 | .duration(200).EUt(VA[LV])
31 | .buildAndRegister();
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/src/main/java/com/github/gtexpert/core/common/items/behaviors/GTECoverBehaviors.java:
--------------------------------------------------------------------------------
1 | package com.github.gtexpert.core.common.items.behaviors;
2 |
3 | import static com.github.gtexpert.core.api.util.GTEUtility.gteId;
4 | import static gregtech.common.covers.CoverBehaviors.registerBehavior;
5 |
6 | import gregtech.api.GTValues;
7 | import gregtech.common.covers.CoverConveyor;
8 | import gregtech.common.covers.CoverFluidRegulator;
9 | import gregtech.common.covers.CoverPump;
10 | import gregtech.common.covers.CoverRoboticArm;
11 |
12 | import com.github.gtexpert.core.common.GTEConfigHolder;
13 | import com.github.gtexpert.core.common.items.GTEMetaItems;
14 |
15 | public class GTECoverBehaviors {
16 |
17 | public static void init() {
18 | String componentsName = GTEConfigHolder.gteFlag.componentsName;
19 | registerBehavior(gteId("conveyor." + componentsName), GTEMetaItems.GTE_CONVEYOR_MODULE,
20 | (def, tile, side) -> new CoverConveyor(def, tile, side, GTValues.ULV, 2));
21 | registerBehavior(gteId("pump." + componentsName), GTEMetaItems.GTE_ELECTRIC_PUMP,
22 | (def, tile, side) -> new CoverPump(def, tile, side, GTValues.ULV, 1280 / 4));
23 | registerBehavior(gteId("robotic_arm." + componentsName), GTEMetaItems.GTE_ROBOT_ARM,
24 | (def, tile, side) -> new CoverRoboticArm(def, tile, side, GTValues.ULV, 2));
25 | registerBehavior(gteId("fluid.regulator." + componentsName), GTEMetaItems.GTE_FLUID_REGULATOR,
26 | (def, tile, side) -> new CoverFluidRegulator(def, tile, side, GTValues.ULV, 1280 / 4));
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/src/main/java/com/github/gtexpert/core/integration/chisel/metatileentities/ChiselMetaTileEntities.java:
--------------------------------------------------------------------------------
1 | package com.github.gtexpert.core.integration.chisel.metatileentities;
2 |
3 | import static com.github.gtexpert.core.api.util.GTEUtility.gteId;
4 | import static gregtech.api.GTValues.*;
5 | import static gregtech.common.metatileentities.MetaTileEntities.registerMetaTileEntity;
6 |
7 | import gregtech.api.util.GTUtility;
8 |
9 | import com.github.gtexpert.core.client.GTETextures;
10 | import com.github.gtexpert.core.integration.chisel.ChiselRecipeMaps;
11 |
12 | public class ChiselMetaTileEntities {
13 |
14 | public static MetaTileEntityAutoChisel[] AUTO_CHISEL = new MetaTileEntityAutoChisel[3];
15 |
16 | public static void init() {
17 | // Auto Chisel 11001~11003
18 | AUTO_CHISEL[0] = registerMetaTileEntity(11001,
19 | new MetaTileEntityAutoChisel(gteId("auto_chisel.lv"), ChiselRecipeMaps.AUTO_CHISEL_RECIPES,
20 | GTETextures.AUTO_CHISEL_OVERLAY, LV, true, GTUtility.defaultTankSizeFunction));
21 | AUTO_CHISEL[1] = registerMetaTileEntity(11002,
22 | new MetaTileEntityAutoChisel(gteId("auto_chisel.mv"), ChiselRecipeMaps.AUTO_CHISEL_RECIPES,
23 | GTETextures.AUTO_CHISEL_OVERLAY, MV, true, GTUtility.defaultTankSizeFunction));
24 | AUTO_CHISEL[2] = registerMetaTileEntity(11003,
25 | new MetaTileEntityAutoChisel(gteId("auto_chisel.hv"), ChiselRecipeMaps.AUTO_CHISEL_RECIPES,
26 | GTETextures.AUTO_CHISEL_OVERLAY, HV, true, GTUtility.defaultTankSizeFunction));
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/src/main/java/com/github/gtexpert/core/api/modules/GTEModule.java:
--------------------------------------------------------------------------------
1 | package com.github.gtexpert.core.api.modules;
2 |
3 | import java.lang.annotation.ElementType;
4 | import java.lang.annotation.Retention;
5 | import java.lang.annotation.RetentionPolicy;
6 | import java.lang.annotation.Target;
7 |
8 | /**
9 | * All of your {@link IGTEModule} classes must be annotated with this to be registered.
10 | */
11 | @Target(ElementType.TYPE)
12 | @Retention(RetentionPolicy.RUNTIME)
13 | public @interface GTEModule {
14 |
15 | /**
16 | * The ID of this module. Must be unique within its container.
17 | */
18 | String moduleID();
19 |
20 | /**
21 | * The ID of the container to associate this module with.
22 | */
23 | String containerID();
24 |
25 | /**
26 | * A human-readable name for this module.
27 | */
28 | String name();
29 |
30 | /**
31 | * A list of mod IDs that this module depends on. If any mods specified are not present, the module will not load.
32 | */
33 | String[] modDependencies() default {};
34 |
35 | /**
36 | * Whether this module is the "core" module for its container.
37 | * Each container must have exactly one core module, which will be loaded before all other modules in the container.
38 | *
39 | * Core modules should not have mod dependencies.
40 | */
41 | boolean coreModule() default false;
42 |
43 | String author() default "";
44 |
45 | String version() default "";
46 |
47 | /**
48 | * A description of this module in the module configuration file.
49 | */
50 | String description() default "";
51 | }
52 |
--------------------------------------------------------------------------------
/src/main/java/com/github/gtexpert/core/integration/theoneprobe/TheOneProbeModule.java:
--------------------------------------------------------------------------------
1 | package com.github.gtexpert.core.integration.theoneprobe;
2 |
3 | import java.util.List;
4 |
5 | import net.minecraftforge.fml.common.event.FMLInitializationEvent;
6 |
7 | import org.jetbrains.annotations.NotNull;
8 |
9 | import com.google.common.collect.ImmutableList;
10 |
11 | import com.github.gtexpert.core.api.GTEValues;
12 | import com.github.gtexpert.core.api.modules.GTEModule;
13 | import com.github.gtexpert.core.api.util.Mods;
14 | import com.github.gtexpert.core.integration.GTEIntegrationSubmodule;
15 | import com.github.gtexpert.core.integration.theoneprobe.provider.ElectricSpawnerInfoProvider;
16 | import com.github.gtexpert.core.modules.GTEModules;
17 |
18 | import mcjty.theoneprobe.TheOneProbe;
19 | import mcjty.theoneprobe.api.ITheOneProbe;
20 |
21 | @GTEModule(
22 | moduleID = GTEModules.MODULE_TOP,
23 | containerID = GTEValues.MODID,
24 | modDependencies = Mods.Names.THE_ONE_PROBE,
25 | name = "GTExpert TheOneProbe Integration",
26 | description = "TheOneProbe Integration Module")
27 | public class TheOneProbeModule extends GTEIntegrationSubmodule {
28 |
29 | @NotNull
30 | @Override
31 | public List> getEventBusSubscribers() {
32 | return ImmutableList.of(TheOneProbeModule.class);
33 | }
34 |
35 | @Override
36 | public void init(FMLInitializationEvent event) {
37 | getLogger().info("TheOneProbe found. Enabling integration...");
38 | ITheOneProbe oneProbe = TheOneProbe.theOneProbeImp;
39 | oneProbe.registerProvider(new ElectricSpawnerInfoProvider());
40 | }
41 | }
42 |
--------------------------------------------------------------------------------