diff --git a/dependencies.gradle b/dependencies.gradle index 7a51a0b..0d87558 100644 --- a/dependencies.gradle +++ b/dependencies.gradle @@ -48,7 +48,7 @@ dependencies { // Hard Dependencies devOnlyNonPublishable(rfg.deobf("curse.maven:gregtech-ce-unofficial-557242:5519022")) // CEu 2.8.10 //devOnlyNonPublishable(rfg.deobf(project.files("libs/gregtech-1.12.2-2.8.9-beta-dev.jar"))) // CEu pr 2.8.10 - devOnlyNonPublishable(rfg.deobf("curse.maven:shadowfacts-forgelin-248453:2785465")) // Forgelin 1.8.4 + devOnlyNonPublishable(rfg.deobf("curse.maven:forgelin-continuous-456403:6142081")) // Forgelin-Continuous 2.1.10.0 // Debug Thaumcraft if (project.debug_all.toBoolean() || project.debug_thaumcraft.toBoolean()) { diff --git a/src/main/java/com/github/gtexpert/gtbm/api/unification/material/GTBMMaterialFlags.java b/src/main/java/com/github/gtexpert/gtbm/api/unification/material/GTBMMaterialFlags.java new file mode 100644 index 0000000..50d5cdf --- /dev/null +++ b/src/main/java/com/github/gtexpert/gtbm/api/unification/material/GTBMMaterialFlags.java @@ -0,0 +1,29 @@ +package com.github.gtexpert.gtbm.api.unification.material; + +import static gregtech.api.unification.material.info.MaterialFlags.*; + +import gregtech.api.unification.material.Materials; + +import com.github.gtexpert.gtbm.api.util.Mods; + +public class GTBMMaterialFlags { + + public static void init() { + if (Mods.Forestry.isModLoaded()) { + // Copper + Materials.Copper.addFlags(GENERATE_GEAR); + + // Tin + Materials.Tin.addFlags(GENERATE_GEAR); + + // Iron + Materials.Iron.addFlags(GENERATE_FINE_WIRE, GENERATE_FOIL); + + // Bronze + Materials.Bronze.addFlags(GENERATE_FINE_WIRE); + + // Rose Gold + Materials.RoseGold.addFlags(GENERATE_FOIL); + } + } +} diff --git a/src/main/java/com/github/gtexpert/gtbm/api/unification/material/GTBMMaterials.java b/src/main/java/com/github/gtexpert/gtbm/api/unification/material/GTBMMaterials.java new file mode 100644 index 0000000..742e711 --- /dev/null +++ b/src/main/java/com/github/gtexpert/gtbm/api/unification/material/GTBMMaterials.java @@ -0,0 +1,63 @@ +package com.github.gtexpert.gtbm.api.unification.material; + +/** + * Material Registration. + *

+ * All Material Builders should follow this general formatting: + *

+ * material = new MaterialBuilder(id, name) + * .ingot().fluid().ore() <--- types + * .color().iconSet() <--- appearance + * .flags() <--- special generation + * .element() / .components() <--- composition + * .toolStats() <--- + * .oreByProducts() | additional properties + * ... <--- + * .blastTemp() <--- blast temperature + * .build(); + *

+ * Use defaults to your advantage! Some defaults: + * - iconSet: DULL + * - color: 0xFFFFFF + */ +public class GTBMMaterials { + /* + * FOR ADDON DEVELOPERS: + * + * GTCEu will not take more than 3000 IDs. Anything past ID 2999 + * is considered FAIR GAME, take whatever you like. + * + * If you would like to reserve IDs, feel free to reach out to the + * development team and claim a range of IDs! We will mark any + * claimed ranges below this comment. Max value is 32767. + * + * - Gregicality: 3000-19999 + * - Gregification: 20000-20999 + * - HtmlTech: 21000-21499 + * - GregTech Food Option: 21500-22499 + * - FREE RANGE 22500-23599 + * - MechTech: 23600-23999 + * - FREE RANGE 24000-31999 + * - Reserved for CraftTweaker: 32000-32767 + */ + + // Element Materials + + // First Degree Materials + + // Second Degree Materials + + // Third Degree Materials + + // Organic Chemistry Materials + + // Unknown Composition Materials + + public static void registerMaterialsHigh() { + GTBMMaterialFlags.init(); + } + + public static void registerMaterialsLow() {} + + public static void registerMaterialsLowest() {} +} diff --git a/src/main/java/com/github/gtexpert/gtbm/common/GTBMEventHandlers.java b/src/main/java/com/github/gtexpert/gtbm/common/GTBMEventHandlers.java new file mode 100644 index 0000000..d4a42a2 --- /dev/null +++ b/src/main/java/com/github/gtexpert/gtbm/common/GTBMEventHandlers.java @@ -0,0 +1,31 @@ +package com.github.gtexpert.gtbm.common; + +import net.minecraftforge.fml.common.Mod; +import net.minecraftforge.fml.common.eventhandler.EventPriority; +import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; + +import gregtech.api.unification.material.event.MaterialEvent; + +import com.github.gtexpert.gtbm.api.ModValues; +import com.github.gtexpert.gtbm.api.unification.material.GTBMMaterials; + +@Mod.EventBusSubscriber(modid = ModValues.MODID) +public class GTBMEventHandlers { + + public GTBMEventHandlers() {} + + @SubscribeEvent(priority = EventPriority.HIGH) + public static void registerMaterialsHigh(MaterialEvent event) { + GTBMMaterials.registerMaterialsHigh(); + } + + @SubscribeEvent(priority = EventPriority.LOW) + public static void registerMaterialsLow(MaterialEvent event) { + GTBMMaterials.registerMaterialsLow(); + } + + @SubscribeEvent(priority = EventPriority.LOWEST) + public static void registerMaterialsLowest(MaterialEvent event) { + GTBMMaterials.registerMaterialsLowest(); + } +}