Features:
Ore generation is now dependent on biomes.
Number of ore generated is dependent on the avg height of the chunk. I.E. Mountains have more ore than plains.
Iron and gold ore drop chunks which can be smelted into ingots. Chunks are affected by fortune. [ Can be turned off in config. ]
Ore Biome List:
Note: The generation is dependent on BiomeDictionary types, not specific biomes.
Note: If a biome falls in both high and low lists, low supersedes high.
Coal:
Low amounts of coal:
Plains
Forest
Jungle
Lush
Ocean
High amounts of coal:
Sandy
Snowy
Dry
Iron:
Low amounts of iron:
Forest
Jungle
Dry
High amounts of iron:
Beach
Mountain
Ocean
Gold:
Low amounts of gold:
Cold
Ocean
Plains
Swamp
High amounts of gold:
Jungle
Lush
Mesa
Dense
Diamond:
Low amounts of diamond:
Dead
Wasteland
High amounts of diamond:
Mushroom
Magical
Lapis:
Low amounts of lapis:
Dead
Spooky
Wasteland
High amounts of lapis:
Mushroom
Forest
Magical
Redstone:
Low amounts of redstone:
Rare
Savanna
High amounts of redstone:
Swamp
River
Creating a Custom Config File:
Examples:
{minecraft:coal_ore~0,[PLAINS;FOREST;JUNGLE;LUSH;OCEAN],(0111;0112;0124;180),[SANDY;SNOWY;DRY],(1111;2543;6987;180),[],(0011;0023;0055;180)}
{minecraft:iron_ore~0,[FOREST;JUNGLE;DRY],(0010;0020;0040;150),[BEACH;MOUNTAIN;OCEAN],(1111;2352;3795;150),[],(0110;0230;0570;150)}
{minecraft:gold_ore~0,[COLD;OCEAN;PLAINS;SWAMP],(1110;1110;1320;100),[JUNGLE;LUSH;MESA;DENSE],(1110;2352;3870;100),[],(1100;2300;3500;100)}
{minecraft:diamond_ore~0,[DEAD;WASTELAND],(1000;1000;5000;8),[MUSHROOM;MAGICAL],(1100;3200;7300;8),[],(1000;2000;5000;8)}
{minecraft:lapis_ore~0,[DEAD;SPOOKY;WASTELAND],(1000;2000;3000;4),[MUSHROOM;FOREST;MAGICAL],(1110;5310;7310;4),[],(1100;4200;5200;4)}
{minecraft:redstone_ore~0,[SAVANNA;RARE],(1000;2000;3000;36),[SWAMP;RIVER],(1001;5001;6009;36),[],(1000;3000;5000;36)}
Create a file in the mod's config folder named: "CustomGen.txt"
Each entry should be on one line
1. ModID:OreName~VariantNumber
2. List of low generation types
3. Low generation configuration (xxxx, xxxx, xxxx, x)
3.a. Layers to generate. Each 0 or 1 represents a quarter of the chunk, starting from the lowest. 0 is don't generate in this quarter, 1 is generate in this quarter. (1001) on a chunk with avg height of 64 will generate from 0-16 and 48-64.
3.b. Size to generate. Number from 1 to 5 (unless layer not generated then put 0). Avg number of vein size for each number: [1->2, 2->5, 3->8, 4->10, 5->12.5]. Order is same as layers above.
3.c. Chance to generate. Number from 1 to 9. Multiplier effect: (0.5 + 0.125 * (number-1)).
3.d. Base amount. Any number above 0.
4. List of high generation types
5. High generation configuration (same as low)
6. [] - Leave empty
7. Normal generation configuration
Permissions:
- You may use the mod in mod packs and create config files, which may be produced and shared for non commercial purposes only. You must give appropriate credit, provide a link to the original material, and indicate the changes made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use.
- You may not distribute, de-compile for non-educational purposes, re-upload/re-distribute 'deleted' versions, use textures from, or grossly modify the mod for any reason without written and dated permission from the author. Non commercial means that the mod pack or config file must not be exchanged for money and versions of such work may not be withheld for monetary reasons. Any voluntary donations to the authors of such work is allowed.
Is there an easy way to set up a config for this mod? I'm using a few mods that include ores as well as BoP
In reply to shxrmxn:
I have a somewhat free week right now because of spring break where I'll be going through my mods. Right now, you can use the examples as templates and tweak them to your liking. For lots of ores you will probably have to create something for a group and copy paste for each one.
However, if you want to see any changes, do you have an idea of what you'd like changed? Some examples: Ability to create templates and assign them to blocks instead of having to write it out for each one. Finer tuning for block height, count, etc.
In reply to 3ternalSage:
I haven't gotten around to playing with the configs yet so no suggestions here atm
Hello,
I'm having a bit of trouble with the Thermal Foundation ID's. I have tried a few different ways of naming the ores like in the comments about mekanism but it keeps causing a crash.
The ID format that works with WorldEdit is thermalfoundation:ore:1 (thermalfoundation:ore~1), do you know what ID would work with your mod?
In reply to lxl_phoenix_lxl:
Could you provide the crash log and the text in the CustomGen file? I did not have any problems creating a custom config with thermal foundation.
In reply to 3ternalSage:
{minecraft:coal_ore~0,[PLAINS],(1111;1111;1111;32),[SANDY;HOT;MESA;MOUNTAIN],(1111;5432;9753;150),[],(0011;0023;0055;32)}
{minecraft:iron_ore~0,[PLAINS],(1111;1111;1111;32),[MOUNTAIN;HILLS],(1111;5432;9753;140),[],(1111;1111;1111;32)}
{minecraft:gold_ore~0,[PLAINS],(1111;1111;1111;32),[SANDY;HOT;MESA],(1111;5432;9753;125),[],(1111;1111;1111;32)}
{minecraft:diamond_ore~0,[PLAINS],(1100;1111;1111;3),[MOUNTAIN;HILLS],(1100;1111;1111;64),[],(1100;1111;1111;3)}
{minecraft:emerald_ore~0,[PLAINS],(1100;1111;1111;3),[MOUNTAIN;HILLS],(1100;1111;1111;32),[],(1100;1111;1111;3)}
{minecraft:lapis_ore~0,[PLAINS],(1100;1111;1111;3),[BEACH;FOREST;OCEAN;SWAMP],(1100;1111;1111;64),[],(1100;1111;1111;3)}
{minecraft:redstone_ore~0,[PLAINS],(1111;1111;1111;12),[SWAMP;RIVER;LUSH],(1001;5001;6009;36),[],(1111;1111;1111;12)}
{thermalfoundation:ore~0,[PLAINS],(1111;1111;1111;32),[COLD;CONIFEROUS;MOUNTAIN;HILLS],(1111;5433;9753;140),[],(1111;1111;1111;32)}
{immersiveengineering:ore~0,[PLAINS],(1111;1111;1111;32),[COLD;CONIFEROUS;HILLS],(1111;5433;9753;140),[],(1111;1111;1111;32)}
{techguns:basicore~0,[PLAINS],(1111;1111;1111;32),[COLD;CONIFEROUS;HILLS],(1111;5433;9753;140),[],(1111;1111;1111;32)}
{thermalfoundation:ore~1,[PLAINS],(1111;1111;1111;32),[DRY;HILLS;SNOWY],(1111;5433;9753;140),[],(1111;1111;1111;32)}
{techguns:basicore~1,[PLAINS],(1111;1111;1111;32),[DRY;HILLS;SNOWY],(1111;5433;9753;140),[],(1111;1111;1111;32)}
{thermalfoundation:ore~2,[PLAINS],(1111;1111;1111;32),[FOREST;JUNGLE;LUSH],(1111;5433;9753;140),[],(1111;1111;1111;32)}
{immersiveengineering:ore~3,[PLAINS],(1111;1111;1111;32),[FOREST;JUNGLE;LUSH],(1111;5433;9753;140),[],(1111;1111;1111;32)}
{thermalfoundation:ore~3,[PLAINS],(1111;1111;1111;32),[DEAD;DRY;OCEAN;WASTELAND],(1111;5433;9753;100),[],(1111;1111;1111;32)}
{immersiveengineering:ore~2,[PLAINS],(1111;1111;1111;32),[DEAD;DRY;OCEAN;WASTELAND],(1111;5433;9753;100),[],(1111;1111;1111;32)}
{techguns:basicore~2,[PLAINS],(1111;1111;1111;32),[DEAD;DRY;OCEAN;WASTELAND],(1111;5433;9753;100),[],(1111;1111;1111;32)}
{thermalfoundation:ore~4,[OCEAN],(1111;1111;1111;32),[FOREST;JUNGLE;LUSH;PLAINS],(1111;5433;9753;140),[],(1111;1111;1111;32)}
{thermalfoundation:ore~5,[OCEAN],(1111;1111;1111;32),[FOREST;JUNGLE;LUSH;PLAINS],(1111;5433;9753;140),[],(1111;1111;1111;32)}
{immersiveengineering:ore~4,[OCEAN],(1111;1111;1111;32),[FOREST;JUNGLE;LUSH;PLAINS],(1111;5433;9753;140),[],(1111;1111;1111;32)}
{thermalfoundation:ore~6,[PLAINS],(1100;1111;1111;3),[DRY;HILLS;SNOWY],(1111;5433;9753;64),[],(1100;1111;1111;3)}
{thermalfoundation:ore~7,[OCEAN],(1111;1111;1111;32),[DEAD;DRY;OCEAN;WASTELAND;PLAINS],(1111;5433;9753;140),[],(1111;1111;1111;32)}
{thermalfoundation:ore~8,[PLAINS],(1111;1111;1111;32),[BEACH;MOUNTAIN;OCEAN;SWAMP],(1111;5433;9753;140),[],(1111;1111;1111;32)}
{thermalfoundation:ore_fluid~0,[PLAINS],(1111;1111;1111;32),[BEACH;MOUNTAIN;OCEAN;SWAMP],(1111;5433;9753;140),[],(1111;1111;1111;32)}
{immersiveengineering:ore~1,[OCEAN],(1111;1111;1111;32),[FOREST;JUNGLE;LUSH;PLAINS],(1111;5433;9753;100),[],(1111;1111;1111;32)}
{immersiveengineering:ore~5,[OCEAN],(1100;1111;1111;3),[DEAD;DRY;OCEAN;WASTELAND;PLAINS],(1100;1111;1111;48),[],(1100;1111;1111;3)}
{techguns:basicore~4,[OCEAN],(1100;1111;1111;3),[DEAD;DRY;OCEAN;WASTELAND;PLAINS],(1100;1111;1111;64),[],(1100;1111;1111;3)}
{bigreactors:oreyellorite~0,[OCEAN],(1100;1111;1111;3),[DEAD;DRY;OCEAN;WASTELAND;PLAINS],(1100;1111;1111;64),[],(1100;1111;1111;3)}
{techguns:basicore~3,[PLAINS],(1100;1111;1111;3),[DRY;HILLS;SNOWY],(1111;5433;9753;64),[],(1100;1111;1111;3)}
---- Minecraft Crash Report -------- Minecraft Crash Report ----
WARNING: coremods are present: IELoadingPlugin (ImmersiveEngineering-core-0.12-98.jar) EnderCorePlugin (EnderCore-1.12.2-0.5.76-core.jar) LoadingPlugin (AdChimneys-1.12.2-3.5.15.0-build.0560.jar) OFMDepLoader (OpenFM-1.12.2-0.1.0.19.jar) TransformerLoader (OpenComputers-MC1.12.2-1.7.5.192.jar) Techguns Core (techguns-1.12.2-2.0.2.0_pre3.2.jar) MalisisCorePlugin (malisiscore-1.12.2-6.5.1.jar) CorePlugin (ForgeEndertech-1.12.2-4.5.5.0-build.0561.jar) LittlePatchingLoader (LittleTiles_v1.5.19_mc1.12.2.jar) CTMCorePlugin (CTM-MC1.12.2-1.0.2.31.jar) FarseekCoreMod (Farseek-1.12-2.5.1.jar) CreativePatchingLoader (CreativeCore_v1.10.62_mc1.12.2.jar)Contact their authors BEFORE contacting forge
// But it works on my machine.
Time: 8/15/21 3:45 AMDescription: Exception in server tick loop
java.lang.StringIndexOutOfBoundsException: String index out of range: -1 at java.lang.String.substring(String.java:1931) at eternalsage.orebiomes.events.NewOreGen.customInit(NewOreGen.java:78) at eternalsage.orebiomes.events.NewOreGen.generateOverworld(NewOreGen.java:123) at eternalsage.orebiomes.events.NewOreGen.generate(NewOreGen.java:58) at net.minecraftforge.fml.common.registry.GameRegistry.generateWorld(GameRegistry.java:167) at net.minecraft.world.chunk.Chunk.func_186034_a(Chunk.java:1020) at net.minecraft.world.chunk.Chunk.func_186030_a(Chunk.java:985) at net.minecraft.world.gen.ChunkProviderServer.func_186025_d(ChunkProviderServer.java:157) at net.minecraft.world.World.func_72964_e(World.java:310) at net.minecraft.world.World.func_175726_f(World.java:305) at net.minecraft.world.World.func_180495_p(World.java:911) at biomesoplenty.common.world.generator.GeneratorDoubleFlora.func_180709_b(GeneratorDoubleFlora.java:107) at biomesoplenty.api.generation.BOPGeneratorBase.scatter(BOPGeneratorBase.java:95) at biomesoplenty.common.handler.decoration.DecorateBiomeEventHandler.runGeneratorStage(DecorateBiomeEventHandler.java:88) at biomesoplenty.common.handler.decoration.DecorateBiomeEventHandler.onBiomeDecorate(DecorateBiomeEventHandler.java:46) at net.minecraftforge.fml.common.eventhandler.ASMEventHandler_444_DecorateBiomeEventHandler_onBiomeDecorate_Decorate.invoke(.dynamic) at net.minecraftforge.fml.common.eventhandler.ASMEventHandler.invoke(ASMEventHandler.java:90) at net.minecraftforge.fml.common.eventhandler.EventBus.post(EventBus.java:182) at net.minecraftforge.event.terraingen.TerrainGen.decorate(TerrainGen.java:88) at net.minecraft.world.biome.BiomeDecorator.func_150513_a(BiomeDecorator.java:153) at net.minecraft.world.biome.BiomeDecorator.func_180292_a(BiomeDecorator.java:88) at net.minecraft.world.biome.Biome.func_180624_a(Biome.java:225) at rtg.api.world.biome.IRealisticBiome.rDecorate(IRealisticBiome.java:176) at rtg.world.gen.ChunkGeneratorRTG.func_185931_b(ChunkGeneratorRTG.java:346) at net.minecraft.world.chunk.Chunk.func_186034_a(Chunk.java:1019) at net.minecraft.world.chunk.Chunk.func_186030_a(Chunk.java:999) at net.minecraft.world.gen.ChunkProviderServer.func_186025_d(ChunkProviderServer.java:157) at net.minecraft.server.MinecraftServer.func_71222_d(MinecraftServer.java:344) at net.minecraft.server.MinecraftServer.func_71247_a(MinecraftServer.java:314) at net.minecraft.server.dedicated.DedicatedServer.func_71197_b(DedicatedServer.java:270) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:486) at java.lang.Thread.run(Thread.java:748)
In reply to lxl_phoenix_lxl:
I tested it with your generation configs. I'm 90% sure that the problem is because you have empty newlines in your file. It should generate without problems after they are removed. It looks like thermal foundation also attempts its own generation so that should be disabled cofh/world/config.cfg or you'll get much more ores than you wanted.
I do plan to simplify creating a custom config sometime in the future, but making it ignore empty lines should be a small QOL update.
How do you go about configuring modded ores? My game just keeps crashing, I added Mekanism's Copper Ore to the file as follows:
{mekanism:ore_copper~0,[FOREST;COLD;DRY;LUSH;PLAINS;SWAMP],(1000;2000;3000;10s),[MOUNTAIN;PLATEAU;MODIFIED;MESA;HILLS],(1111;5555;9999;50),[],(0000;0000;0000;1)}
What I don't know if it is ore_copper or copper_ore
In reply to nicholas_r_b:
Seems like it's copper_ore. If you still have problems let me know.
how does this interact with modded ores and biomes?
In reply to Forge_User_45520466:
Modded ores should generate according to the generation the mod author set. This mod should leave them alone.
If you wanted them to be biome dependent and I'd probably have to release patches for each mod.
Regarding biomes, since this mod changes generation based on BiomeDictionary types instead of individual biomes, any biome mods should work as long as they have properly registered BiomeDictionary types.
In reply to 3ternalSage:
i said biomes when i meant dimensions there -.-
i was hoping there would be a way to add or tweak in modded ores through a config.
how strongly are the differences between biomes? i can see the difference in coal but the others arent as easy to see by sight
In reply to Forge_User_45520466:
See 2.0.0 Changelog
I've added an option to add modded ores. The description shows how to configure it with examples. It doesn't look the best right now but it works and can be prettified later if it's an issue.
I'd recommend using WorldStripper to see differences in ores. I can calculate percentages if you want but that'll take some time.