From c13e880d10ec7066d82c52f5ba9be2572e63d2c3 Mon Sep 17 00:00:00 2001 From: TechLord22 <37029404+techlord22@users.noreply.github.com> Date: Mon, 24 Feb 2025 00:19:53 -0500 Subject: [PATCH 1/2] create the worldgen module --- .../generator/WorldGeneratorImpl.java | 20 ------- .../gregtech/modules/GregTechModules.java | 8 ++- .../gregtech/worldgen/WorldgenModule.java | 53 +++++++++++++++++++ 3 files changed, 59 insertions(+), 22 deletions(-) create mode 100644 src/main/java/gregtech/worldgen/WorldgenModule.java diff --git a/src/main/java/gregtech/api/worldgen/generator/WorldGeneratorImpl.java b/src/main/java/gregtech/api/worldgen/generator/WorldGeneratorImpl.java index 3ba6879ac0b..e9386e2e061 100644 --- a/src/main/java/gregtech/api/worldgen/generator/WorldGeneratorImpl.java +++ b/src/main/java/gregtech/api/worldgen/generator/WorldGeneratorImpl.java @@ -11,39 +11,19 @@ import net.minecraft.world.chunk.IChunkProvider; import net.minecraft.world.gen.IChunkGenerator; import net.minecraftforge.common.BiomeDictionary; -import net.minecraftforge.event.terraingen.OreGenEvent; -import net.minecraftforge.event.terraingen.OreGenEvent.GenerateMinable.EventType; import net.minecraftforge.fml.common.IWorldGenerator; -import net.minecraftforge.fml.common.eventhandler.Event.Result; -import net.minecraftforge.fml.common.eventhandler.EventPriority; -import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; - -import com.google.common.collect.ImmutableSet; import java.util.Random; -import java.util.Set; - -import static net.minecraftforge.event.terraingen.OreGenEvent.GenerateMinable.EventType.*; public class WorldGeneratorImpl implements IWorldGenerator { public static final WorldGeneratorImpl INSTANCE = new WorldGeneratorImpl(); - private static final Set ORE_EVENT_TYPES = ImmutableSet.of(COAL, DIAMOND, GOLD, IRON, LAPIS, REDSTONE, - QUARTZ, EMERALD); public static final int GRID_SIZE_X = 3; public static final int GRID_SIZE_Z = 3; private WorldGeneratorImpl() {} - @SubscribeEvent(priority = EventPriority.HIGH) - public static void onOreGenerate(OreGenEvent.GenerateMinable event) { - EventType eventType = event.getType(); - if (ConfigHolder.worldgen.disableVanillaOres && ORE_EVENT_TYPES.contains(eventType)) { - event.setResult(Result.DENY); - } - } - @Override public void generate(Random random, int chunkX, int chunkZ, World world, IChunkGenerator chunkGenerator, IChunkProvider chunkProvider) { diff --git a/src/main/java/gregtech/modules/GregTechModules.java b/src/main/java/gregtech/modules/GregTechModules.java index 96ad33664b9..a8f47cd7d89 100644 --- a/src/main/java/gregtech/modules/GregTechModules.java +++ b/src/main/java/gregtech/modules/GregTechModules.java @@ -1,12 +1,14 @@ package gregtech.modules; +import gregtech.api.GTValues; import gregtech.api.modules.IModuleContainer; -public class GregTechModules implements IModuleContainer { +public final class GregTechModules implements IModuleContainer { public static final String MODULE_CORE = "core"; public static final String MODULE_TOOLS = "tools"; public static final String MODULE_INTEGRATION = "integration"; + public static final String MODULE_WORLDGEN = "worldgen"; // Integration modules public static final String MODULE_JEI = "jei_integration"; @@ -19,8 +21,10 @@ public class GregTechModules implements IModuleContainer { public static final String MODULE_FR = "fr_integration"; public static final String MODULE_CHISEL = "chisel_integration"; + private GregTechModules() {} + @Override public String getID() { - return "gregtech"; + return GTValues.MODID; } } diff --git a/src/main/java/gregtech/worldgen/WorldgenModule.java b/src/main/java/gregtech/worldgen/WorldgenModule.java new file mode 100644 index 00000000000..c279c21e6eb --- /dev/null +++ b/src/main/java/gregtech/worldgen/WorldgenModule.java @@ -0,0 +1,53 @@ +package gregtech.worldgen; + +import gregtech.api.GTValues; +import gregtech.api.modules.GregTechModule; +import gregtech.common.ConfigHolder; +import gregtech.modules.BaseGregTechModule; +import gregtech.modules.GregTechModules; + +import net.minecraftforge.event.terraingen.OreGenEvent; +import net.minecraftforge.fml.common.eventhandler.Event; +import net.minecraftforge.fml.common.eventhandler.EventPriority; +import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; + +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; +import org.jetbrains.annotations.NotNull; + +import java.util.Collections; +import java.util.EnumSet; +import java.util.List; +import java.util.Set; + +import static net.minecraftforge.event.terraingen.OreGenEvent.GenerateMinable.EventType.*; + +@GregTechModule( + moduleID = GregTechModules.MODULE_WORLDGEN, + containerID = GTValues.MODID, + name = "GregTech Worldgen", + description = "GregTech Worldgen Module.") +public class WorldgenModule extends BaseGregTechModule { + + public static final Logger LOGGER = LogManager.getLogger("GregTech Worldgen"); + + private static final Set VANILLA_ORE_GEN_EVENT_TYPES = EnumSet.of( + COAL, DIAMOND, GOLD, IRON, LAPIS, REDSTONE, QUARTZ, EMERALD); + + @Override + public @NotNull Logger getLogger() { + return LOGGER; + } + + @Override + public @NotNull List> getOreGenBusSubscribers() { + return Collections.singletonList(WorldgenModule.class); + } + + @SubscribeEvent(priority = EventPriority.HIGH) + public static void onGenerateMineable(@NotNull OreGenEvent.GenerateMinable event) { + if (ConfigHolder.worldgen.disableVanillaOres && VANILLA_ORE_GEN_EVENT_TYPES.contains(event.getType())) { + event.setResult(Event.Result.DENY); + } + } +} From 87e184915d4ccc149424cf08e6cd1ca01994535c Mon Sep 17 00:00:00 2001 From: TechLord22 <37029404+techlord22@users.noreply.github.com> Date: Tue, 25 Feb 2025 18:17:46 -0500 Subject: [PATCH 2/2] remove private ctor from GregTechModules --- src/main/java/gregtech/modules/GregTechModules.java | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/main/java/gregtech/modules/GregTechModules.java b/src/main/java/gregtech/modules/GregTechModules.java index a8f47cd7d89..b0ba5a45e30 100644 --- a/src/main/java/gregtech/modules/GregTechModules.java +++ b/src/main/java/gregtech/modules/GregTechModules.java @@ -21,8 +21,6 @@ public final class GregTechModules implements IModuleContainer { public static final String MODULE_FR = "fr_integration"; public static final String MODULE_CHISEL = "chisel_integration"; - private GregTechModules() {} - @Override public String getID() { return GTValues.MODID;