diff --git a/AntimatterAPI b/AntimatterAPI index c1462b132..8bccebed3 160000 --- a/AntimatterAPI +++ b/AntimatterAPI @@ -1 +1 @@ -Subproject commit c1462b132f233650e3d172b79e0396b772129158 +Subproject commit 8bccebed39cfd8beded0a069db9dca7bb206004e diff --git a/common/src/main/java/muramasa/gregtech/GregTech.java b/common/src/main/java/muramasa/gregtech/GregTech.java index 76ea6aaf1..211f71be9 100644 --- a/common/src/main/java/muramasa/gregtech/GregTech.java +++ b/common/src/main/java/muramasa/gregtech/GregTech.java @@ -18,6 +18,7 @@ import muramasa.gregtech.data.*; import muramasa.gregtech.datagen.*; import muramasa.gregtech.integration.AppliedEnergisticsRegistrar; +import muramasa.gregtech.integration.SpaceModRegistrar; import muramasa.gregtech.integration.rei.*; import muramasa.gregtech.loader.crafting.*; import muramasa.gregtech.loader.items.Circuitry; @@ -50,6 +51,7 @@ public GregTech() { public void onRegistrarInit() { super.onRegistrarInit(); new AppliedEnergisticsRegistrar(); + new SpaceModRegistrar(); LOGGER.info("Loading GregTech"); INSTANCE = this; ServerHandler.setup(); diff --git a/common/src/main/java/muramasa/gregtech/datagen/GregtechBlockLootProvider.java b/common/src/main/java/muramasa/gregtech/datagen/GregtechBlockLootProvider.java index d9f160870..849c8a28b 100644 --- a/common/src/main/java/muramasa/gregtech/datagen/GregtechBlockLootProvider.java +++ b/common/src/main/java/muramasa/gregtech/datagen/GregtechBlockLootProvider.java @@ -3,6 +3,7 @@ import muramasa.antimatter.AntimatterAPI; import muramasa.antimatter.Ref; import muramasa.antimatter.data.AntimatterMaterialTypes; +import muramasa.antimatter.data.AntimatterMaterials; import muramasa.antimatter.data.AntimatterStoneTypes; import muramasa.antimatter.datagen.providers.AntimatterBlockLootProvider; import muramasa.antimatter.material.Material; @@ -15,6 +16,7 @@ import muramasa.gregtech.data.GregTechData; import muramasa.gregtech.data.Materials; import muramasa.gregtech.integration.AppliedEnergisticsRegistrar; +import muramasa.gregtech.integration.SpaceModRegistrar; import net.minecraft.data.DataGenerator; import net.minecraft.world.item.Items; import net.minecraft.world.item.enchantment.Enchantments; @@ -65,5 +67,8 @@ protected void loot() { tables.put(AppliedEnergisticsRegistrar.getAe2Block("quartz_ore"), b -> createOreDrop(b, RAW_ORE.get(Materials.CertusQuartz))); tables.put(AppliedEnergisticsRegistrar.getAe2Block("deepslate_quartz_ore"), b -> createOreDrop(b, RAW_ORE.get(Materials.CertusQuartz))); } + if (AntimatterAPI.isModLoaded("ad_astra")){ + tables.put(SpaceModRegistrar.getSpaceBlock("mars_diamond_ore"), b -> createOreDrop(b, RAW_ORE.get(Diamond))); + } } } diff --git a/common/src/main/java/muramasa/gregtech/integration/SpaceModRegistrar.java b/common/src/main/java/muramasa/gregtech/integration/SpaceModRegistrar.java new file mode 100644 index 000000000..883b2dc3e --- /dev/null +++ b/common/src/main/java/muramasa/gregtech/integration/SpaceModRegistrar.java @@ -0,0 +1,61 @@ +package muramasa.gregtech.integration; + +import muramasa.antimatter.AntimatterAPI; +import muramasa.antimatter.AntimatterMod; +import muramasa.antimatter.Ref; +import muramasa.antimatter.data.AntimatterStoneTypes; +import muramasa.antimatter.material.Material; +import muramasa.antimatter.ore.StoneType; +import muramasa.antimatter.registration.RegistrationEvent; +import muramasa.antimatter.registration.Side; +import muramasa.antimatter.texture.Texture; +import muramasa.antimatter.util.AntimatterPlatformUtils; +import muramasa.gregtech.GTIRef; +import net.minecraft.tags.BlockTags; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.SoundType; + +import static muramasa.antimatter.data.AntimatterMaterialTypes.ORE; +import static muramasa.antimatter.data.AntimatterMaterials.Diamond; +import static muramasa.antimatter.data.AntimatterMaterials.Iron; + +public class SpaceModRegistrar extends AntimatterMod { + public SpaceModRegistrar(){ + if (AntimatterPlatformUtils.isFabric()) { + onRegistrarInit(); + } + } + + @Override + public String getId() { + return "gt_space"; + } + + @Override + public void onRegistrationEvent(RegistrationEvent event, Side side) { + if (event == RegistrationEvent.DATA_INIT){ + AntimatterAPI.register(StoneType.class, new StoneType(GTIRef.ID, "moon_sand", Material.NULL, new Texture(getMod(), "block/moon_sand"), SoundType.SAND, false).setState(getSpaceBlock("moon_sand")).setSandLike(true)); + var moonStone = AntimatterAPI.register(StoneType.class, new StoneType(GTIRef.ID, "moon_stone", Material.NULL, new Texture(getMod(), "block/moon_stone"), SoundType.STONE, false).setState(getSpaceBlock("moon_stone"))); + AntimatterAPI.register(StoneType.class, new StoneType(GTIRef.ID, "mars_sand", Material.NULL, new Texture(getMod(), "block/mars_sand"), SoundType.SAND, false).setState(getSpaceBlock("mars_sand")).setSandLike(true)); + var marsStone = AntimatterAPI.register(StoneType.class, new StoneType(GTIRef.ID, "mars_stone", Material.NULL, new Texture(getMod(), "block/mars_stone"), SoundType.STONE, false).setState(getSpaceBlock("mars_stone"))); + if (AntimatterAPI.isModLoaded("ad_astra")){ + ORE.replacement(Iron, moonStone, () -> getSpaceBlock("moon_iron_ore").asItem()); + ORE.replacement(Iron, marsStone, () -> getSpaceBlock("mars_iron_ore").asItem()); + ORE.replacement(Diamond, marsStone, () -> getSpaceBlock("mars_diamond_ore").asItem()); + } + } + } + + @Override + public boolean isEnabled() { + return (AntimatterAPI.isModLoaded("ad_astra") || AntimatterAPI.isModLoaded("beyond_earth")) && !AntimatterAPI.isModLoaded(Ref.MOD_GC); + } + + private static String getMod(){ + return AntimatterAPI.isModLoaded("ad_astra") ? "ad_astra" : "beyond_earth"; + } + + public static Block getSpaceBlock(String id){ + return AntimatterPlatformUtils.getBlockFromId(getMod(), id); + } +} diff --git a/common/src/main/java/muramasa/gregtech/loader/WorldGenLoader.java b/common/src/main/java/muramasa/gregtech/loader/WorldGenLoader.java index e237d9dbc..6b0533366 100644 --- a/common/src/main/java/muramasa/gregtech/loader/WorldGenLoader.java +++ b/common/src/main/java/muramasa/gregtech/loader/WorldGenLoader.java @@ -11,6 +11,8 @@ import muramasa.gregtech.data.GregTechData; import muramasa.gregtech.worldgen.OilSpoutFluid; import muramasa.gregtech.worldgen.OilSpoutSavedData; +import net.minecraft.core.Registry; +import net.minecraft.resources.ResourceKey; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.level.Level; @@ -21,231 +23,252 @@ import static muramasa.antimatter.data.AntimatterStoneTypes.DIORITE; import static muramasa.gregtech.data.GregTechData.*; import static muramasa.gregtech.data.Materials.*; +import static net.minecraft.world.level.Level.END; +import static net.minecraft.world.level.Level.NETHER; import static net.minecraft.world.level.Level.OVERWORLD; public class WorldGenLoader { - public static void init(WorldGenEvent ev) { - if (AntimatterConfig.WORLD.STONE_LAYERS) { - initStoneVeins(ev); - } - if (AntimatterConfig.WORLD.ORE_VEINS) { - initOreVeins(ev); - initStoneOreVeins(ev); - } - if (AntimatterConfig.WORLD.SMALL_ORES){ - initSmallOres(ev); - } - OilSpoutSavedData.clearFluidMap(); - OilSpoutFluid.resetTotalWeight(); - new OilSpoutFluid("oil", Oil.getLiquid(), 20, 625, 4, 4); - new OilSpoutFluid("light_oil", OilLight.getLiquid(), 20, 625, 3, 6); - new OilSpoutFluid("medium_oil", OilMedium.getLiquid(), 20, 625, 4, 5); - new OilSpoutFluid("heavy_oil", OilHeavy.getLiquid(), 20, 625, 5, 4); - new OilSpoutFluid("natural_gas", NaturalGas.getGas(), 20, 625, 4, 7); - } - - private static void initSmallOres(WorldGenEvent event){ - event.smallOre(new WorldGenSmallOreBuilder().withMaterial(Copper).withAmountPerChunk(32).atHeight(16, 126).buildMaterial()); - event.smallOre(new WorldGenSmallOreBuilder().withMaterial(Tin).withAmountPerChunk(32).atHeight(16, 126).buildMaterial()); - event.smallOre(new WorldGenSmallOreBuilder().withMaterial(Bismuth).withAmountPerChunk(8).atHeight(76, 196).buildMaterial()); - event.smallOre(new WorldGenSmallOreBuilder().withMaterial(Coal).withAmountPerChunk(24).atHeight(16, 126).buildMaterial()); - event.smallOre(new WorldGenSmallOreBuilder().withMaterial(Iron).withAmountPerChunk(16).atHeight(16, 61).buildMaterial()); - event.smallOre(new WorldGenSmallOreBuilder().withMaterial(Lead).withAmountPerChunk(16).atHeight(16, 61).buildMaterial()); - event.smallOre(new WorldGenSmallOreBuilder().withMaterial(Zinc).withAmountPerChunk(12).atHeight(16, 96).buildMaterial()); - event.smallOre(new WorldGenSmallOreBuilder().withMaterial(Gold).withAmountPerChunk(8).atHeight(-34, 16).buildMaterial()); - event.smallOre(new WorldGenSmallOreBuilder().withMaterial(Silver).withAmountPerChunk(8).atHeight(-34, 16).buildMaterial()); - event.smallOre(new WorldGenSmallOreBuilder().withMaterial(Nickel).withAmountPerChunk(8).atHeight(-34, 16).buildMaterial()); - event.smallOre(new WorldGenSmallOreBuilder().withMaterial(Lapis).withAmountPerChunk(4).atHeight(-34, 16).buildMaterial()); - event.smallOre(new WorldGenSmallOreBuilder().withMaterial(Diamond).withAmountPerChunk(3).atHeight(-59, -52).buildMaterial()); - event.smallOre(new WorldGenSmallOreBuilder().withMaterial(Emerald).withAmountPerChunk(2).buildMaterial()); - event.smallOre(new WorldGenSmallOreBuilder().withMaterial(Ruby).withAmountPerChunk(2).buildMaterial()); - event.smallOre(new WorldGenSmallOreBuilder().withMaterial(Sapphire).withAmountPerChunk(2).buildMaterial()); - event.smallOre(new WorldGenSmallOreBuilder().withMaterial(GreenSapphire).withAmountPerChunk(2).buildMaterial()); - event.smallOre(new WorldGenSmallOreBuilder().withMaterial(Olivine).withAmountPerChunk(2).buildMaterial()); - event.smallOre(new WorldGenSmallOreBuilder().withMaterial(Topaz).withAmountPerChunk(2).buildMaterial()); - event.smallOre(new WorldGenSmallOreBuilder().withMaterial(Tanzanite).withAmountPerChunk(2).buildMaterial()); - event.smallOre(new WorldGenSmallOreBuilder().withMaterial(Amethyst).withAmountPerChunk(2).buildMaterial()); - event.smallOre(new WorldGenSmallOreBuilder().withMaterial(Opal).withAmountPerChunk(2).buildMaterial()); - event.smallOre(new WorldGenSmallOreBuilder().withMaterial(Jade).withAmountPerChunk(2).buildMaterial()); - event.smallOre(new WorldGenSmallOreBuilder().withMaterial(BlueTopaz).withAmountPerChunk(2).buildMaterial()); - event.smallOre(new WorldGenSmallOreBuilder().withMaterial(Amber).withAmountPerChunk(2).buildMaterial()); - //event.smallOre(new WorldGenSmallOreBuilder().withMaterial(FoolsRuby).withAmountPerChunk(1).buildMaterial()); - event.smallOre(new WorldGenSmallOreBuilder().withMaterial(RedGarnet).withAmountPerChunk(2).buildMaterial()); - event.smallOre(new WorldGenSmallOreBuilder().withMaterial(YellowGarnet).withAmountPerChunk(2).buildMaterial()); - event.smallOre(new WorldGenSmallOreBuilder().withMaterial(Redstone).withAmountPerChunk(8).atHeight(-59, -34).buildMaterial()); - event.smallOre(new WorldGenSmallOreBuilder().withMaterial(Chromite).withAmountPerChunk(8).atHeight(20, 50).withDimensions(Level.END.location()).buildMaterial()); - event.smallOre(new WorldGenSmallOreBuilder().withMaterial(Platinum).withAmountPerChunk(8).atHeight(20, 40).withDimensions(Level.END.location()).buildMaterial()); - event.smallOre(new WorldGenSmallOreBuilder().withMaterial(Iridium).withAmountPerChunk(8).atHeight(20, 40).withDimensions(Level.END.location()).buildMaterial()); - event.smallOre(new WorldGenSmallOreBuilder().withMaterial(Quartz).withAmountPerChunk(64).atHeight(30, 120).withDimensions(Level.NETHER.location()).buildMaterial()); - event.smallOre(new WorldGenSmallOreBuilder().withMaterial(Saltpeter).withAmountPerChunk(8).atHeight(10, 60).withDimensions(Level.NETHER.location()).buildMaterial()); - event.smallOre(new WorldGenSmallOreBuilder().withMaterial(Sulfur).withAmountPerChunk(32).atHeight(5, 60).withDimensions(Level.NETHER.location()).buildMaterial()); - event.smallOre(new WorldGenSmallOreBuilder().withMaterial(Sulfur).withAmountPerChunk(8).atHeight(-59, -34).withCustomId("sulfur_overworld").buildMaterial()); - } - - private static void initStoneVeins(WorldGenEvent ev) { - - ev.stoneLayer(new WorldGenStoneLayerBuilder("stone").withStone(STONE).withWeight(4).buildVein()); - ev.stoneLayer(new WorldGenStoneLayerBuilder("stone_ores_1").withStone(STONE).withWeight(4).buildVein()); //Ores - ev.stoneLayer(new WorldGenStoneLayerBuilder("stone_ores_2").withStone(STONE).withWeight(4).buildVein()); //Ores - ev.stoneLayer(new WorldGenStoneLayerBuilder("stone_ores_3").withStone(STONE).withWeight(4).buildVein()); //Ores - ev.stoneLayer(new WorldGenStoneLayerBuilder("stone_ores_4").withStone(STONE).withWeight(4).buildVein()); //Ores - - ev.stoneLayer(new WorldGenStoneLayerBuilder("black_granite").withStone(GRANITE_BLACK).withWeight(2).buildVein()); - ev.stoneLayer(new WorldGenStoneLayerBuilder("black_granite_ores").withStone(GRANITE_BLACK).withWeight(1).addOres( - new StoneLayerOre(Cooperite, O32, -64, -32), - new StoneLayerOre(Iridium, O64, -64, -46) - ).buildVein()); - - ev.stoneLayer(new WorldGenStoneLayerBuilder("red_granite").withStone(GRANITE_RED).withWeight(2).buildVein()); - ev.stoneLayer(new WorldGenStoneLayerBuilder("red_granite_ores").withStone(GRANITE_RED).withWeight(1).addOres( - new StoneLayerOre(Pitchblende, O32, -32, 0), - new StoneLayerOre(Uraninite, O32, -32, 0), - new StoneLayerOre(Tantalite, O16, -32, 0) - ).buildVein()); - - ev.stoneLayer(new WorldGenStoneLayerBuilder("komatiite").withStone(KOMATIITE).withWeight(4).buildVein()); - ev.stoneLayer(new WorldGenStoneLayerBuilder("komatiite_ores").withStone(KOMATIITE).withWeight(1).addOres( - new StoneLayerOre(Magnesite, O16, -54, -9), - new StoneLayerOre(Cinnabar, O12, -64, -19), - new StoneLayerOre(Redstone, O8, -54, -9), - new StoneLayerOre(Pyrite, O12, 5, 66) - ).buildVein()); - - ev.stoneLayer(new WorldGenStoneLayerBuilder("basalt").withStone(BASALT).withWeight(3).buildVein()); - ev.stoneLayer(new WorldGenStoneLayerBuilder("basalt_ores").withStone(BASALT).withWeight(1).buildVein()); - ev.stoneLayer(new WorldGenStoneLayerBuilder("basalt_ores_2").withStone(BASALT).withWeight(1).buildVein()); - - ev.stoneLayer(new WorldGenStoneLayerBuilder("marble").withStone(MARBLE).withWeight(4).buildVein()); - ev.stoneLayer(new WorldGenStoneLayerBuilder("marble_ores").withStone(MARBLE).withWeight(1).buildVein()); - - ev.stoneLayer(new WorldGenStoneLayerBuilder("limestone").withStone(LIMESTONE).withWeight(3).buildVein()); - ev.stoneLayer(new WorldGenStoneLayerBuilder("limestone_ores").withStone(LIMESTONE).withWeight(1).buildVein()); - ev.stoneLayer(new WorldGenStoneLayerBuilder("limestone_ores_2").withStone(LIMESTONE).withWeight(1).buildVein()); - - ev.stoneLayer(new WorldGenStoneLayerBuilder("green_schist").withStone(GREEN_SCHIST).withWeight(1).buildVein()); - ev.stoneLayer(new WorldGenStoneLayerBuilder("green_schist_ores").withStone(GREEN_SCHIST).withWeight(1).buildVein()); - - ev.stoneLayer(new WorldGenStoneLayerBuilder("blue_schist").withStone(BLUE_SCHIST).withWeight(1).buildVein()); - ev.stoneLayer(new WorldGenStoneLayerBuilder("blue_schist_ores").withStone(BLUE_SCHIST).withWeight(1).buildVein()); - - ev.stoneLayer(new WorldGenStoneLayerBuilder("kimberlite").withStone(KIMBERLITE).withWeight(3).buildVein()); - ev.stoneLayer(new WorldGenStoneLayerBuilder("kimberlite_ores").withStone(KIMBERLITE).withWeight(1).buildVein()); - - ev.stoneLayer(new WorldGenStoneLayerBuilder("quartzite").withStone(QUARTZITE).withWeight(4).buildVein()); - ev.stoneLayer(new WorldGenStoneLayerBuilder("quartzite_ores").withStone(QUARTZITE).withWeight(1).buildVein()); - - ev.stoneLayer(new WorldGenStoneLayerBuilder("granite").withStone(GRANITE).withWeight(3).buildVein()); - ev.stoneLayer(new WorldGenStoneLayerBuilder("granite_ores").withStone(GRANITE).withWeight(1).buildVein()); - ev.stoneLayer(new WorldGenStoneLayerBuilder("granite_ores").withStone(GRANITE).withWeight(1).buildVein()); - - ev.stoneLayer(new WorldGenStoneLayerBuilder("diorite").withStone(DIORITE).withWeight(3).buildVein()); - ev.stoneLayer(new WorldGenStoneLayerBuilder("diorite_ores").withStone(DIORITE).withWeight(1).buildVein()); - ev.stoneLayer(new WorldGenStoneLayerBuilder("diorite_ores").withStone(DIORITE).withWeight(1).buildVein()); - - ev.stoneLayer(new WorldGenStoneLayerBuilder("andesite").withStone(ANDESITE).withWeight(4).buildVein()); - ev.stoneLayer(new WorldGenStoneLayerBuilder("andesite_ores").withStone(ANDESITE).withWeight(1).buildVein()); - ev.stoneLayer(new WorldGenStoneLayerBuilder("andesite_ores").withStone(ANDESITE).withWeight(1).buildVein()); - - ev.stoneLayer(new WorldGenStoneLayerBuilder("tuff").withStone(TUFF).withWeight(3).buildVein()); - ev.stoneLayer(new WorldGenStoneLayerBuilder("tuff_ores").withStone(TUFF).withWeight(1).buildVein()); - ev.stoneLayer(new WorldGenStoneLayerBuilder("tuff_ores").withStone(TUFF).withWeight(1).buildVein()); - - ev.stoneLayer(new WorldGenStoneLayerBuilder("coal").withStone(ORE_STONE.get().get(Coal).asState()).withWeight(1).buildVein()); - ev.stoneLayer(new WorldGenStoneLayerBuilder("lignite").withStone(ORE_STONE.get().get(Lignite).asState()).withWeight(1).buildVein()); - ev.stoneLayer(new WorldGenStoneLayerBuilder("salt").withStone(ORE_STONE.get().get(Salt).asState()).withWeight(1).buildVein()); - ev.stoneLayer(new WorldGenStoneLayerBuilder("rock_salt").withStone(ORE_STONE.get().get(RockSalt).asState()).withWeight(1).buildVein()); - ev.stoneLayer(new WorldGenStoneLayerBuilder("bauxite").withStone(ORE_STONE.get().get(Bauxite).asState()).withWeight(1).buildVein()); - ev.stoneLayer(new WorldGenStoneLayerBuilder("oinanl_shale").withStone(ORE_STONE.get().get(OilShale).asState()).withWeight(1).buildVein()); - - ev.addCollision(BASALT.getState(), GregTechData.LIMESTONE.getState(), - new StoneLayerOre(Ilmenite, O8, -64, 0), - new StoneLayerOre(Rutile, O12, -64, 0) - ); - - } - - private static void initStoneOreVeins(WorldGenEvent ev) { - //WorldGenVein.setLayerChance(WorldGenVein.STONE_ORE_VEIN_LAYER, 0.05f); - - } - - private static void initOreVeins(WorldGenEvent ev) { - //WorldGenVein.setLayerChance(WorldGenVein.ORE_VEIN_LAYER, 0.05f); - // TODO: move veins from initOld here - ev.vein(new WorldGenVeinLayerBuilder("naquadah").asOreVein(10, 60, 10, 5, 32, Naquadah, Naquadah, Naquadah, Naquadah, - Level.END).buildVein()); - ev.vein(new WorldGenVeinLayerBuilder("lignite").asOreVein(0, 200, 160, 8, 32, Lignite, Lignite, Lignite, Coal, - OVERWORLD).buildVein()); - ev.vein(new WorldGenVeinLayerBuilder("coal").asOreVein(0, 200, 80, 6, 32, Coal, Coal, Coal, Lignite, OVERWORLD).buildVein()); - ev.vein(new WorldGenVeinLayerBuilder("magnetite").asOreVein(-14, 91, 160, 3, 32, Magnetite, Magnetite, Iron, VanadiumMagnetite, - OVERWORLD, Level.NETHER).buildVein()); - ev.vein(new WorldGenVeinLayerBuilder("gold").asOreVein(-4, 26, 160, 3, 32, Magnetite, Magnetite, VanadiumMagnetite, AntimatterMaterials.Gold, - OVERWORLD).buildVein()); - ev.vein(new WorldGenVeinLayerBuilder("iron").asOreVein(-14, 51, 120, 4, 24, BrownLimonite, YellowLimonite, BandedIron, Malachite, - OVERWORLD, Level.NETHER).buildVein()); - ev.vein(new WorldGenVeinLayerBuilder("cassiterite").asOreVein(6, 126, 50, 5, 24, Tin, Tin, Cassiterite, Tin, OVERWORLD, - Level.END).buildVein()); - ev.vein(new WorldGenVeinLayerBuilder("tetrahedrite").asOreVein(51, 131, 70, 4, 24, Tetrahedrite, Tetrahedrite, Copper, Stibnite, - OVERWORLD, Level.NETHER).buildVein()); - ev.vein(new WorldGenVeinLayerBuilder("nether_quartz").asOreVein(40, 80, 80, 5, 24, Quartz, Quartz, Quartz, Quartz, - Level.NETHER).buildVein()); - ev.vein(new WorldGenVeinLayerBuilder("sulfur").asOreVein(5, 20, 100, 5, 24, Sulfur, Sulfur, Pyrite, Sphalerite, Level.NETHER).buildVein()); - ev.vein(new WorldGenVeinLayerBuilder("copper").asOreVein(36, 66, 80, 4, 24, Chalcopyrite, Iron, Pyrite, Copper, OVERWORLD, - Level.NETHER).buildVein()); - ev.vein(new WorldGenVeinLayerBuilder("bauxite").asOreVein(-14, 46, 80, 4, 24, Bauxite, Bauxite, Alumina, Ilmenite, OVERWORLD).buildVein()); - ev.vein(new WorldGenVeinLayerBuilder("salts").asOreVein(51, 66, 50, 3, 24, RockSalt, Salt, Lepidolite, Spodumene, OVERWORLD).buildVein()); - ev.vein(new WorldGenVeinLayerBuilder("redstone").asOreVein(-54, -9, 60, 3, 24, Redstone, Redstone, Ruby, Cinnabar, - OVERWORLD).buildVein()); - ev.vein(new WorldGenVeinLayerBuilder("redstone_nether").asOreVein(10, 40, 60, 3, 24, Redstone, Redstone, Ruby, Cinnabar, - Level.NETHER).buildVein()); - ev.vein(new WorldGenVeinLayerBuilder("soapstone").asOreVein(-54, -9, 40, 3, 16, Soapstone, Talc, Glauconite, Pentlandite, - OVERWORLD).buildVein()); - ev.vein(new WorldGenVeinLayerBuilder("nickel").asOreVein(11, 56, 40, 3, 16, Garnierite, Nickel, Cobaltite, Pentlandite, - OVERWORLD, Level.NETHER, Level.END).buildVein()); - ev.vein(new WorldGenVeinLayerBuilder("platinum").asOreVein(-24, -9, 5, 3, 16, Cooperite, Palladium, Platinum, Iridium, - OVERWORLD).buildVein()); - ev.vein(new WorldGenVeinLayerBuilder("platinum_end").asOreVein(40, 50, 5, 3, 16, Cooperite, Palladium, Platinum, Iridium, - Level.END).buildVein()); - ev.vein(new WorldGenVeinLayerBuilder("pitchblend").asOreVein(-54, -9, 40, 3, 16, Pitchblende, Pitchblende, Uraninite, Uraninite, - OVERWORLD).buildVein()); - ev.vein(new WorldGenVeinLayerBuilder("uranium").asOreVein(-44, -29, 20, 3, 16, Uraninite, Uraninite, Uraninite, Uraninite, - OVERWORLD).buildVein()); - ev.vein(new WorldGenVeinLayerBuilder("monazite").asOreVein(-44, -14, 30, 3, 16, Bastnasite, Bastnasite, Monazite, - Neodymium, OVERWORLD).buildVein()); - ev.vein(new WorldGenVeinLayerBuilder("molybdenum").asOreVein(-44, 1, 5, 3, 16, Wulfenite, Molybdenite, Molybdenum, - Powellite , OVERWORLD).buildVein()); - ev.vein(new WorldGenVeinLayerBuilder("molybdenum_end").asOreVein(20, 50, 5, 3, 16, Wulfenite, Molybdenite, Molybdenum, - Powellite , Level.END).buildVein()); - ev.vein(new WorldGenVeinLayerBuilder("tungstate").asOreVein(-44, 1, 10, 3, 16, Scheelite, Scheelite, Tungstate, Lithium, - OVERWORLD).buildVein()); - ev.vein(new WorldGenVeinLayerBuilder("tungstate_end").asOreVein(20, 50, 10, 3, 16, Scheelite, Scheelite, Tungstate, Lithium, - Level.END).buildVein()); - ev.vein(new WorldGenVeinLayerBuilder("sapphire").asOreVein(-54, -9, 60, 3, 16, Almandine, Pyrope, Sapphire, GreenSapphire, - OVERWORLD).buildVein()); - ev.vein(new WorldGenVeinLayerBuilder("manganese").asOreVein(-44, -29, 20, 3, 16, Grossular, Spessartine, Pyrolusite, Tantalite, - OVERWORLD).buildVein()); - ev.vein(new WorldGenVeinLayerBuilder("manganese_end").asOreVein(20, 30, 20, 3, 16, Grossular, Spessartine, Pyrolusite, Tantalite, - Level.END).buildVein()); - Material third = CertusQuartz.enabled ? CertusQuartz : Barite; - ev.vein(new WorldGenVeinLayerBuilder("quartz").asOreVein(6, 66, 60, 3, 16, MilkyQuartz, Barite, third, third, OVERWORLD).buildVein()); - ev.vein(new WorldGenVeinLayerBuilder("diamond").asOreVein(-59, -48, 40, 2, 16, Graphite, Graphite, Diamond, Coal, OVERWORLD).buildVein()); - ev.vein(new WorldGenVeinLayerBuilder("olivine").asOreVein(-54, -9, 60, 3, 16, Bentonite, Magnesite, Olivine, Glauconite, - OVERWORLD).buildVein()); - ev.vein(new WorldGenVeinLayerBuilder("olivine_end").asOreVein(10, 40, 60, 3, 16, Bentonite, Magnesite, Olivine, Glauconite, - Level.END).buildVein()); - ev.vein(new WorldGenVeinLayerBuilder("apatite").asOreVein(-4, 41, 60, 3, 16, Apatite, Apatite, Phosphorus, Phosphate, OVERWORLD).buildVein()); - ev.vein(new WorldGenVeinLayerBuilder("galena").asOreVein(6, 51, 40, 5, 16, Galena, Galena, Silver, Lead, OVERWORLD).buildVein()); - ev.vein(new WorldGenVeinLayerBuilder("lapis").asOreVein(-44, 1, 40, 5, 16, Lazurite, Sodalite, Lapis, - Calcite, OVERWORLD).buildVein()); - ev.vein(new WorldGenVeinLayerBuilder("lapis_end").asOreVein(20, 50, 40, 5, 16, Lazurite, Sodalite, Lapis, - Calcite, Level.END).buildVein()); - ev.vein(new WorldGenVeinLayerBuilder("beryllium").asOreVein(-59, -21, 30, 3, 16, Beryllium, Beryllium, Emerald, Thorium, - OVERWORLD).buildVein()); - ev.vein(new WorldGenVeinLayerBuilder("beryllium_end").asOreVein(5, 30, 30, 3, 16, Beryllium, Beryllium, Emerald, Thorium, - Level.END).buildVein()); - ev.vein(new WorldGenVeinLayerBuilder("oilshale").asOreVein(-14, 31, 80, 6, 32, OilShale, OilShale, OilShale, OilShale, - OVERWORLD).buildVein()); - - } + public static final ResourceKey TWILIGHT_FOREST = ResourceKey.create(Registry.DIMENSION_REGISTRY, new ResourceLocation("twilightforest", "twilight_forest")); + public static final ResourceKey BE_MOON = ResourceKey.create(Registry.DIMENSION_REGISTRY, new ResourceLocation("beyond_earth", "moon")); + public static final ResourceKey AA_MOON = ResourceKey.create(Registry.DIMENSION_REGISTRY, new ResourceLocation("ad_astra", "moon")); + public static final ResourceKey BE_MARS = ResourceKey.create(Registry.DIMENSION_REGISTRY, new ResourceLocation("beyond_earth", "mars")); + public static final ResourceKey AA_MARS = ResourceKey.create(Registry.DIMENSION_REGISTRY, new ResourceLocation("ad_astra", "mars")); + public static final ResourceKey BE_MERCURY = ResourceKey.create(Registry.DIMENSION_REGISTRY, new ResourceLocation("beyond_earth", "mercury")); + public static final ResourceKey AA_MERCURY = ResourceKey.create(Registry.DIMENSION_REGISTRY, new ResourceLocation("ad_astra", "mercury")); + public static final ResourceKey BE_VENUS = ResourceKey.create(Registry.DIMENSION_REGISTRY, new ResourceLocation("beyond_earth", "venus")); + public static final ResourceKey AA_VENUS = ResourceKey.create(Registry.DIMENSION_REGISTRY, new ResourceLocation("ad_astra", "venus")); + + + public static void init(WorldGenEvent ev) { + if (AntimatterConfig.WORLD.STONE_LAYERS) { + initStoneVeins(ev); + } + if (AntimatterConfig.WORLD.ORE_VEINS) { + initOreVeins(ev); + initStoneOreVeins(ev); + } + if (AntimatterConfig.WORLD.SMALL_ORES){ + initSmallOres(ev); + } + OilSpoutSavedData.clearFluidMap(); + OilSpoutFluid.resetTotalWeight(); + new OilSpoutFluid("oil", Oil.getLiquid(), 20, 625, 4, 4); + new OilSpoutFluid("light_oil", OilLight.getLiquid(), 20, 625, 3, 6); + new OilSpoutFluid("medium_oil", OilMedium.getLiquid(), 20, 625, 4, 5); + new OilSpoutFluid("heavy_oil", OilHeavy.getLiquid(), 20, 625, 5, 4); + new OilSpoutFluid("natural_gas", NaturalGas.getGas(), 20, 625, 4, 7); + } + + private static void initSmallOres(WorldGenEvent event){ + event.smallOre(new WorldGenSmallOreBuilder().withMaterial(Copper).withAmountPerChunk(32).atHeight(16, 126).buildMaterial()); + event.smallOre(new WorldGenSmallOreBuilder().withMaterial(Tin).withAmountPerChunk(32).atHeight(16, 126).buildMaterial()); + event.smallOre(new WorldGenSmallOreBuilder().withMaterial(Bismuth).withAmountPerChunk(8).atHeight(76, 196).buildMaterial()); + event.smallOre(new WorldGenSmallOreBuilder().withMaterial(Coal).withAmountPerChunk(24).atHeight(16, 126).buildMaterial()); + event.smallOre(new WorldGenSmallOreBuilder().withMaterial(Iron).withAmountPerChunk(16).atHeight(16, 61).buildMaterial()); + event.smallOre(new WorldGenSmallOreBuilder().withMaterial(Lead).withAmountPerChunk(16).atHeight(16, 61).buildMaterial()); + event.smallOre(new WorldGenSmallOreBuilder().withMaterial(Zinc).withAmountPerChunk(12).atHeight(16, 96).buildMaterial()); + event.smallOre(new WorldGenSmallOreBuilder().withMaterial(Gold).withAmountPerChunk(8).atHeight(-34, 16).buildMaterial()); + event.smallOre(new WorldGenSmallOreBuilder().withMaterial(Silver).withAmountPerChunk(8).atHeight(-34, 16).buildMaterial()); + event.smallOre(new WorldGenSmallOreBuilder().withMaterial(Nickel).withAmountPerChunk(8).atHeight(-34, 16).buildMaterial()); + event.smallOre(new WorldGenSmallOreBuilder().withMaterial(Lapis).withAmountPerChunk(4).atHeight(-34, 16).buildMaterial()); + event.smallOre(new WorldGenSmallOreBuilder().withMaterial(Diamond).withAmountPerChunk(3).atHeight(-59, -52).buildMaterial()); + event.smallOre(new WorldGenSmallOreBuilder().withMaterial(Emerald).withAmountPerChunk(2).buildMaterial()); + event.smallOre(new WorldGenSmallOreBuilder().withMaterial(Ruby).withAmountPerChunk(2).buildMaterial()); + event.smallOre(new WorldGenSmallOreBuilder().withMaterial(Sapphire).withAmountPerChunk(2).buildMaterial()); + event.smallOre(new WorldGenSmallOreBuilder().withMaterial(GreenSapphire).withAmountPerChunk(2).buildMaterial()); + event.smallOre(new WorldGenSmallOreBuilder().withMaterial(Olivine).withAmountPerChunk(2).buildMaterial()); + event.smallOre(new WorldGenSmallOreBuilder().withMaterial(Topaz).withAmountPerChunk(2).buildMaterial()); + event.smallOre(new WorldGenSmallOreBuilder().withMaterial(Tanzanite).withAmountPerChunk(2).buildMaterial()); + event.smallOre(new WorldGenSmallOreBuilder().withMaterial(Amethyst).withAmountPerChunk(2).buildMaterial()); + event.smallOre(new WorldGenSmallOreBuilder().withMaterial(Opal).withAmountPerChunk(2).buildMaterial()); + event.smallOre(new WorldGenSmallOreBuilder().withMaterial(Jade).withAmountPerChunk(2).buildMaterial()); + event.smallOre(new WorldGenSmallOreBuilder().withMaterial(BlueTopaz).withAmountPerChunk(2).buildMaterial()); + event.smallOre(new WorldGenSmallOreBuilder().withMaterial(Amber).withAmountPerChunk(2).buildMaterial()); + //event.smallOre(new WorldGenSmallOreBuilder().withMaterial(FoolsRuby).withAmountPerChunk(1).buildMaterial()); + event.smallOre(new WorldGenSmallOreBuilder().withMaterial(RedGarnet).withAmountPerChunk(2).buildMaterial()); + event.smallOre(new WorldGenSmallOreBuilder().withMaterial(YellowGarnet).withAmountPerChunk(2).buildMaterial()); + event.smallOre(new WorldGenSmallOreBuilder().withMaterial(Redstone).withAmountPerChunk(8).atHeight(-59, -34).buildMaterial()); + event.smallOre(new WorldGenSmallOreBuilder().withMaterial(Chromite).withAmountPerChunk(8).atHeight(20, 50).withDimensions(END.location()).buildMaterial()); + event.smallOre(new WorldGenSmallOreBuilder().withMaterial(Platinum).withAmountPerChunk(8).atHeight(20, 40).withDimensions(END.location()).buildMaterial()); + event.smallOre(new WorldGenSmallOreBuilder().withMaterial(Iridium).withAmountPerChunk(8).atHeight(20, 40).withDimensions(END.location()).buildMaterial()); + event.smallOre(new WorldGenSmallOreBuilder().withMaterial(Quartz).withAmountPerChunk(64).atHeight(30, 120).withDimensions(NETHER.location()).buildMaterial()); + event.smallOre(new WorldGenSmallOreBuilder().withMaterial(Saltpeter).withAmountPerChunk(8).atHeight(10, 60).withDimensions(NETHER.location()).buildMaterial()); + event.smallOre(new WorldGenSmallOreBuilder().withMaterial(Sulfur).withAmountPerChunk(32).atHeight(5, 60).withDimensions(NETHER.location()).buildMaterial()); + event.smallOre(new WorldGenSmallOreBuilder().withMaterial(Sulfur).withAmountPerChunk(8).atHeight(-59, -34).withCustomId("sulfur_overworld").buildMaterial()); + } + + private static void initStoneVeins(WorldGenEvent ev) { + + ev.stoneLayer(new WorldGenStoneLayerBuilder("stone").withStone(STONE).withWeight(4).buildVein()); + ev.stoneLayer(new WorldGenStoneLayerBuilder("stone_ores_1").withStone(STONE).withWeight(4).buildVein()); //Ores + ev.stoneLayer(new WorldGenStoneLayerBuilder("stone_ores_2").withStone(STONE).withWeight(4).buildVein()); //Ores + ev.stoneLayer(new WorldGenStoneLayerBuilder("stone_ores_3").withStone(STONE).withWeight(4).buildVein()); //Ores + ev.stoneLayer(new WorldGenStoneLayerBuilder("stone_ores_4").withStone(STONE).withWeight(4).buildVein()); //Ores + + ev.stoneLayer(new WorldGenStoneLayerBuilder("black_granite").withStone(GRANITE_BLACK).withWeight(2).buildVein()); + ev.stoneLayer(new WorldGenStoneLayerBuilder("black_granite_ores").withStone(GRANITE_BLACK).withWeight(1).addOres( + new StoneLayerOre(Cooperite, O32, -64, -32), + new StoneLayerOre(Iridium, O64, -64, -46) + ).buildVein()); + + ev.stoneLayer(new WorldGenStoneLayerBuilder("red_granite").withStone(GRANITE_RED).withWeight(2).buildVein()); + ev.stoneLayer(new WorldGenStoneLayerBuilder("red_granite_ores").withStone(GRANITE_RED).withWeight(1).addOres( + new StoneLayerOre(Pitchblende, O32, -32, 0), + new StoneLayerOre(Uraninite, O32, -32, 0), + new StoneLayerOre(Tantalite, O16, -32, 0) + ).buildVein()); + + ev.stoneLayer(new WorldGenStoneLayerBuilder("komatiite").withStone(KOMATIITE).withWeight(4).buildVein()); + ev.stoneLayer(new WorldGenStoneLayerBuilder("komatiite_ores").withStone(KOMATIITE).withWeight(1).addOres( + new StoneLayerOre(Magnesite, O16, -54, -9), + new StoneLayerOre(Cinnabar, O12, -64, -19), + new StoneLayerOre(Redstone, O8, -54, -9), + new StoneLayerOre(Pyrite, O12, 5, 66) + ).buildVein()); + + ev.stoneLayer(new WorldGenStoneLayerBuilder("basalt").withStone(BASALT).withWeight(3).buildVein()); + ev.stoneLayer(new WorldGenStoneLayerBuilder("basalt_ores").withStone(BASALT).withWeight(1).buildVein()); + ev.stoneLayer(new WorldGenStoneLayerBuilder("basalt_ores_2").withStone(BASALT).withWeight(1).buildVein()); + + ev.stoneLayer(new WorldGenStoneLayerBuilder("marble").withStone(MARBLE).withWeight(4).buildVein()); + ev.stoneLayer(new WorldGenStoneLayerBuilder("marble_ores").withStone(MARBLE).withWeight(1).buildVein()); + + ev.stoneLayer(new WorldGenStoneLayerBuilder("limestone").withStone(LIMESTONE).withWeight(3).buildVein()); + ev.stoneLayer(new WorldGenStoneLayerBuilder("limestone_ores").withStone(LIMESTONE).withWeight(1).buildVein()); + ev.stoneLayer(new WorldGenStoneLayerBuilder("limestone_ores_2").withStone(LIMESTONE).withWeight(1).buildVein()); + + ev.stoneLayer(new WorldGenStoneLayerBuilder("green_schist").withStone(GREEN_SCHIST).withWeight(1).buildVein()); + ev.stoneLayer(new WorldGenStoneLayerBuilder("green_schist_ores").withStone(GREEN_SCHIST).withWeight(1).buildVein()); + + ev.stoneLayer(new WorldGenStoneLayerBuilder("blue_schist").withStone(BLUE_SCHIST).withWeight(1).buildVein()); + ev.stoneLayer(new WorldGenStoneLayerBuilder("blue_schist_ores").withStone(BLUE_SCHIST).withWeight(1).buildVein()); + + ev.stoneLayer(new WorldGenStoneLayerBuilder("kimberlite").withStone(KIMBERLITE).withWeight(3).buildVein()); + ev.stoneLayer(new WorldGenStoneLayerBuilder("kimberlite_ores").withStone(KIMBERLITE).withWeight(1).buildVein()); + + ev.stoneLayer(new WorldGenStoneLayerBuilder("quartzite").withStone(QUARTZITE).withWeight(4).buildVein()); + ev.stoneLayer(new WorldGenStoneLayerBuilder("quartzite_ores").withStone(QUARTZITE).withWeight(1).buildVein()); + + ev.stoneLayer(new WorldGenStoneLayerBuilder("granite").withStone(GRANITE).withWeight(3).buildVein()); + ev.stoneLayer(new WorldGenStoneLayerBuilder("granite_ores").withStone(GRANITE).withWeight(1).buildVein()); + ev.stoneLayer(new WorldGenStoneLayerBuilder("granite_ores").withStone(GRANITE).withWeight(1).buildVein()); + + ev.stoneLayer(new WorldGenStoneLayerBuilder("diorite").withStone(DIORITE).withWeight(3).buildVein()); + ev.stoneLayer(new WorldGenStoneLayerBuilder("diorite_ores").withStone(DIORITE).withWeight(1).buildVein()); + ev.stoneLayer(new WorldGenStoneLayerBuilder("diorite_ores").withStone(DIORITE).withWeight(1).buildVein()); + + ev.stoneLayer(new WorldGenStoneLayerBuilder("andesite").withStone(ANDESITE).withWeight(4).buildVein()); + ev.stoneLayer(new WorldGenStoneLayerBuilder("andesite_ores").withStone(ANDESITE).withWeight(1).buildVein()); + ev.stoneLayer(new WorldGenStoneLayerBuilder("andesite_ores").withStone(ANDESITE).withWeight(1).buildVein()); + + ev.stoneLayer(new WorldGenStoneLayerBuilder("tuff").withStone(TUFF).withWeight(3).buildVein()); + ev.stoneLayer(new WorldGenStoneLayerBuilder("tuff_ores").withStone(TUFF).withWeight(1).buildVein()); + ev.stoneLayer(new WorldGenStoneLayerBuilder("tuff_ores").withStone(TUFF).withWeight(1).buildVein()); + + ev.stoneLayer(new WorldGenStoneLayerBuilder("coal").withStone(ORE_STONE.get().get(Coal).asState()).withWeight(1).buildVein()); + ev.stoneLayer(new WorldGenStoneLayerBuilder("lignite").withStone(ORE_STONE.get().get(Lignite).asState()).withWeight(1).buildVein()); + ev.stoneLayer(new WorldGenStoneLayerBuilder("salt").withStone(ORE_STONE.get().get(Salt).asState()).withWeight(1).buildVein()); + ev.stoneLayer(new WorldGenStoneLayerBuilder("rock_salt").withStone(ORE_STONE.get().get(RockSalt).asState()).withWeight(1).buildVein()); + ev.stoneLayer(new WorldGenStoneLayerBuilder("bauxite").withStone(ORE_STONE.get().get(Bauxite).asState()).withWeight(1).buildVein()); + ev.stoneLayer(new WorldGenStoneLayerBuilder("oinanl_shale").withStone(ORE_STONE.get().get(OilShale).asState()).withWeight(1).buildVein()); + + ev.addCollision(BASALT.getState(), GregTechData.LIMESTONE.getState(), + new StoneLayerOre(Ilmenite, O8, -64, 0), + new StoneLayerOre(Rutile, O12, -64, 0) + ); + + } + + private static void initStoneOreVeins(WorldGenEvent ev) { + //WorldGenVein.setLayerChance(WorldGenVein.STONE_ORE_VEIN_LAYER, 0.05f); + + } + + private static void initOreVeins(WorldGenEvent ev) { + //WorldGenVein.setLayerChance(WorldGenVein.ORE_VEIN_LAYER, 0.05f); + // TODO: move veins from initOld here + ev.vein(new WorldGenVeinLayerBuilder("naquadah").asOreVein(10, 60, 10, 5, 32, Naquadah, Naquadah, Naquadah, Naquadah, + END, BE_MARS, AA_MARS).buildVein()); + ev.vein(new WorldGenVeinLayerBuilder("lignite").asOreVein(0, 200, 160, 8, 32, Lignite, Lignite, Lignite, Coal, + OVERWORLD).buildVein()); + ev.vein(new WorldGenVeinLayerBuilder("coal").asOreVein(0, 200, 80, 6, 32, Coal, Coal, Coal, Lignite, + OVERWORLD).buildVein()); + ev.vein(new WorldGenVeinLayerBuilder("magnetite").asOreVein(-14, 91, 160, 3, 32, Magnetite, Magnetite, Iron, VanadiumMagnetite, + OVERWORLD, NETHER, TWILIGHT_FOREST, BE_MARS, AA_MARS).buildVein()); + ev.vein(new WorldGenVeinLayerBuilder("gold").asOreVein(-4, 26, 160, 3, 32, Magnetite, Magnetite, VanadiumMagnetite, AntimatterMaterials.Gold, + OVERWORLD, BE_MARS, AA_MARS, BE_MOON, AA_MOON).buildVein()); + ev.vein(new WorldGenVeinLayerBuilder("iron").asOreVein(-14, 51, 120, 4, 24, BrownLimonite, YellowLimonite, BandedIron, Malachite, + OVERWORLD, NETHER, TWILIGHT_FOREST, BE_MARS, AA_MARS, BE_MOON, AA_MOON).buildVein()); + ev.vein(new WorldGenVeinLayerBuilder("cassiterite").asOreVein(6, 126, 50, 5, 24, Tin, Tin, Cassiterite, Tin, + OVERWORLD, END, BE_MARS, AA_MARS, BE_MOON, AA_MOON).buildVein()); + ev.vein(new WorldGenVeinLayerBuilder("tetrahedrite").asOreVein(51, 131, 70, 4, 24, Tetrahedrite, Tetrahedrite, Copper, Stibnite, + OVERWORLD, NETHER, BE_MARS, AA_MARS, BE_MOON, AA_MOON).buildVein()); + ev.vein(new WorldGenVeinLayerBuilder("nether_quartz").asOreVein(40, 80, 80, 5, 24, Quartz, Quartz, Quartz, Quartz, + NETHER).buildVein()); + ev.vein(new WorldGenVeinLayerBuilder("sulfur").asOreVein(5, 20, 100, 5, 24, Sulfur, Sulfur, Pyrite, Sphalerite, + NETHER, BE_MARS, AA_MARS).buildVein()); + ev.vein(new WorldGenVeinLayerBuilder("copper").asOreVein(36, 66, 80, 4, 24, Chalcopyrite, Iron, Pyrite, Copper, + OVERWORLD, NETHER, BE_MARS, AA_MARS, BE_MOON, AA_MOON).buildVein()); + ev.vein(new WorldGenVeinLayerBuilder("bauxite").asOreVein(-14, 46, 80, 4, 24, Bauxite, Bauxite, Alumina, Ilmenite, + OVERWORLD, TWILIGHT_FOREST, BE_MARS, AA_MARS, BE_MOON, AA_MOON).buildVein()); + ev.vein(new WorldGenVeinLayerBuilder("salts").asOreVein(51, 66, 50, 3, 24, RockSalt, Salt, Lepidolite, Spodumene, + OVERWORLD, BE_MOON, AA_MOON).buildVein()); + ev.vein(new WorldGenVeinLayerBuilder("redstone").asOreVein(-54, -9, 60, 3, 24, Redstone, Redstone, Ruby, Cinnabar, + OVERWORLD, TWILIGHT_FOREST, BE_MARS, AA_MARS, BE_MOON, AA_MOON).buildVein()); + ev.vein(new WorldGenVeinLayerBuilder("redstone_nether").asOreVein(10, 40, 60, 3, 24, Redstone, Redstone, Ruby, Cinnabar, + NETHER).buildVein()); + ev.vein(new WorldGenVeinLayerBuilder("soapstone").asOreVein(-54, -9, 40, 3, 16, Soapstone, Talc, Glauconite, Pentlandite, + OVERWORLD, TWILIGHT_FOREST, BE_MARS, AA_MARS, BE_MOON, AA_MOON).buildVein()); + ev.vein(new WorldGenVeinLayerBuilder("nickel").asOreVein(11, 56, 40, 3, 16, Garnierite, Nickel, Cobaltite, Pentlandite, + OVERWORLD, NETHER, END, BE_MARS, AA_MARS, BE_MOON, AA_MOON).buildVein()); + ev.vein(new WorldGenVeinLayerBuilder("platinum").asOreVein(-24, -9, 5, 3, 16, Cooperite, Palladium, Platinum, Iridium, + OVERWORLD, TWILIGHT_FOREST, BE_MARS, AA_MARS).buildVein()); + ev.vein(new WorldGenVeinLayerBuilder("platinum_end").asOreVein(40, 50, 5, 3, 16, Cooperite, Palladium, Platinum, Iridium, + END).buildVein()); + ev.vein(new WorldGenVeinLayerBuilder("pitchblend").asOreVein(-54, -9, 40, 3, 16, Pitchblende, Pitchblende, Uraninite, Uraninite, + OVERWORLD, TWILIGHT_FOREST, BE_MARS, AA_MARS, BE_MOON, AA_MOON).buildVein()); + ev.vein(new WorldGenVeinLayerBuilder("uranium").asOreVein(-44, -29, 20, 3, 16, Uraninite, Uraninite, Uraninite, Uraninite, + OVERWORLD, TWILIGHT_FOREST, BE_MARS, AA_MARS, BE_MOON, AA_MOON).buildVein()); + ev.vein(new WorldGenVeinLayerBuilder("monazite").asOreVein(-44, -14, 30, 3, 16, Bastnasite, Bastnasite, Monazite, Neodymium, + OVERWORLD, TWILIGHT_FOREST, BE_MARS, AA_MARS, BE_MOON, AA_MOON).buildVein()); + ev.vein(new WorldGenVeinLayerBuilder("molybdenum").asOreVein(-44, 1, 5, 3, 16, Wulfenite, Molybdenite, Molybdenum, Powellite, + OVERWORLD, TWILIGHT_FOREST, BE_MARS, AA_MARS, BE_MOON, AA_MOON).buildVein()); + ev.vein(new WorldGenVeinLayerBuilder("molybdenum_end").asOreVein(20, 50, 5, 3, 16, Wulfenite, Molybdenite, Molybdenum, + Powellite , END).buildVein()); + ev.vein(new WorldGenVeinLayerBuilder("tungstate").asOreVein(-44, 1, 10, 3, 16, Scheelite, Scheelite, Tungstate, Lithium, + OVERWORLD, TWILIGHT_FOREST, BE_MARS, AA_MARS, BE_MOON, AA_MOON).buildVein()); + ev.vein(new WorldGenVeinLayerBuilder("tungstate_end").asOreVein(20, 50, 10, 3, 16, Scheelite, Scheelite, Tungstate, Lithium, + END).buildVein()); + ev.vein(new WorldGenVeinLayerBuilder("sapphire").asOreVein(-54, -9, 60, 3, 16, Almandine, Pyrope, Sapphire, GreenSapphire, + OVERWORLD, TWILIGHT_FOREST, BE_MARS, AA_MARS, BE_MOON, AA_MOON).buildVein()); + ev.vein(new WorldGenVeinLayerBuilder("manganese").asOreVein(-44, -29, 20, 3, 16, Grossular, Spessartine, Pyrolusite, Tantalite, + OVERWORLD, TWILIGHT_FOREST, BE_MOON, AA_MOON).buildVein()); + ev.vein(new WorldGenVeinLayerBuilder("manganese_end").asOreVein(20, 30, 20, 3, 16, Grossular, Spessartine, Pyrolusite, Tantalite, + END).buildVein()); + Material third = CertusQuartz.enabled ? CertusQuartz : Barite; + ev.vein(new WorldGenVeinLayerBuilder("quartz").asOreVein(6, 66, 60, 3, 16, MilkyQuartz, Barite, third, third, + OVERWORLD, BE_MARS, AA_MARS, BE_MOON, AA_MOON).buildVein()); + ev.vein(new WorldGenVeinLayerBuilder("diamond").asOreVein(-59, -48, 40, 2, 16, Graphite, Graphite, Diamond, Coal, + OVERWORLD, TWILIGHT_FOREST, BE_MARS, AA_MARS, BE_MOON, AA_MOON).buildVein()); + ev.vein(new WorldGenVeinLayerBuilder("olivine").asOreVein(-54, -9, 60, 3, 16, Bentonite, Magnesite, Olivine, Glauconite, + OVERWORLD, TWILIGHT_FOREST, BE_MARS, AA_MARS, BE_MOON, AA_MOON).buildVein()); + ev.vein(new WorldGenVeinLayerBuilder("olivine_end").asOreVein(10, 40, 60, 3, 16, Bentonite, Magnesite, Olivine, Glauconite, + END).buildVein()); + ev.vein(new WorldGenVeinLayerBuilder("apatite").asOreVein(-4, 41, 60, 3, 16, Apatite, Apatite, Phosphorus, Phosphate, + OVERWORLD).buildVein()); + ev.vein(new WorldGenVeinLayerBuilder("galena").asOreVein(6, 51, 40, 5, 16, Galena, Galena, Silver, Lead, + OVERWORLD, BE_MARS, AA_MARS, BE_MOON, AA_MOON).buildVein()); + ev.vein(new WorldGenVeinLayerBuilder("lapis").asOreVein(-44, 1, 40, 5, 16, Lazurite, Sodalite, Lapis, Calcite, + OVERWORLD, TWILIGHT_FOREST, BE_MARS, AA_MARS, BE_MOON, AA_MOON).buildVein()); + ev.vein(new WorldGenVeinLayerBuilder("lapis_end").asOreVein(20, 50, 40, 5, 16, Lazurite, Sodalite, Lapis, Calcite, + END).buildVein()); + ev.vein(new WorldGenVeinLayerBuilder("beryllium").asOreVein(-59, -21, 30, 3, 16, Beryllium, Beryllium, Emerald, Thorium, + OVERWORLD, TWILIGHT_FOREST, BE_MARS, AA_MARS, BE_MOON, AA_MOON).buildVein()); + ev.vein(new WorldGenVeinLayerBuilder("beryllium_end").asOreVein(5, 30, 30, 3, 16, Beryllium, Beryllium, Emerald, Thorium, + END).buildVein()); + ev.vein(new WorldGenVeinLayerBuilder("oilshale").asOreVein(-14, 31, 80, 6, 32, OilShale, OilShale, OilShale, OilShale, + OVERWORLD, TWILIGHT_FOREST).buildVein()); + + } }