Alright, I got my 162 setup working. And, in multiplayer, I cannot get any cog veins to show up at all.
[snip]
So the bottom line:
1. Cogpopulate works.
2. I cannot get chunk generation to work, at all.
3. Wireframes will not display properly at times, but appear to be fixed by logging out and back in.
Again: Unmodified newly made configs in a world that never saw this before (world was brand-new for 1.5.1).
Unfortunately I'm unable to reproduce this. I started up a fresh server, generated some chunks, then installed COG, default configuration. Enabled debugging, distributions seem fine, chunks are populated automatically as I fly out from spawn. Only difference is that my world was generated in 1.6.2, not 1.5.x; not sure how that could make a difference with new chunks. My forge is .800; what's yours? What happens with a fresh 1.6.2 world?
(In regard to a mod that gives realistic animal genetics):
Would you really rather have bees that make diamonds and oil with magical genetic blocks?
... did I really ask that?
i wish i could edit the configt file but i cant understand it can anybody help me? i want all ores to spawn normally but huge clouds or veins spawning realy rarly of the same ores, and also from hight 220-255 ores that normally spawn far down can spawn (like diamonds) i hope somebody that know how to read and write the config can help me here.
I have done somewhat extensive testing on the odd generation bug and I think I have an Idea as to what is happening. Using this mod http://www.minecraft...ge-is-required/, I have played around with it and I believe what is happening has something to do with what chunks are loaded when the world is saved and quit and then restarted. If you just go around in a session nothing changes, but if you save and then rejoin the world the error happens. Whatever the problem is with the chunks causes the chunks on the edges of what is being loaded to revert to vanilla generation but if you keep walking past it, it will start generating correctly again. I can provide specifics if needed. I am running the latest cog on 1.6.2.
Edit: Apparently setting the vanilla ore gen option off causes the generation to not happen at all in those same chunks except for emerald. Emerald will spawn with vanilla distribution in those chunks if you are in the hills.
Edit: Also deferred chunk generation does not seem to stop the bug but can worsen it if set to either extreme.
Hey guys; great to see this mod is back in action, I was looking at it with interest a while ago. I'll be giving it a try, and will let you know if I encounter any bugs.
I wanted to ask, though; is anyone here running this mod alongside Tinker's Construct? That mod adds a selection of new ores to the game (aluminum, copper, tin...), and I noticed that this mod ships with some preconfigured oregen profiles for mods like RedPower and Forestry. Would it be possible to add Tinker's Construct to that list as well? It'd be much appreciated.
(Another addition worth considering may be a profile for the UniversalElectricity modpack, although it is admittedly undergoing some restructuring right now, which might complicate things.)
Thanks again for the mod release, and best of luck to you with the mod's development, noogenesis!
Hey guys; great to see this mod is back in action, I was looking at it with interest a while ago. I'll be giving it a try, and will let you know if I encounter any bugs.
I wanted to ask, though; is anyone here running this mod alongside Tinker's Construct? That mod adds a selection of new ores to the game (aluminum, copper, tin...), and I noticed that this mod ships with some preconfigured oregen profiles for mods like RedPower and Forestry. Would it be possible to add Tinker's Construct to that list as well? It'd be much appreciated.
(Another addition worth considering may be a profile for the UniversalElectricity modpack, although it is admittedly undergoing some restructuring right now, which might complicate things.)
Thanks again for the mod release, and best of luck to you with the mod's development, noogenesis!
I am going to propose the following policy regarding mod support: it's the responsibility of the community. If you like a certain mod, and want to enhance its generation with COG, please submit a link to your config file here on the forum (or preferably as a pull request through github). I'll review it and add it to the mod. All contributors will be duly credited. It's actually really easy to closely recapitulate most mod generation; I've done it in the past for Tinker's Construct aluminum. But I encourage you to use the features of COG to be creative and to design a better experience. Is everyone on-board with this?
Yes, you could make some configs. But by letting the community get involved, more people will generate more ideas.
===
What is the current plans for Mystcraft integration? I had submitted variants of mystcraft support that ensured that each ore type appeared at least once, and would default to the "default" if an ore type was not specified (this was back in 1.4.7).
Mystcraft is now based around modifiers, grammar, and defaults; how do you expect that to be handled?
===
What is the current plans for supporting option files for non-overworlds/non-head-of-the-worldsave ages? JRoush's COG would only save an options.txt file for the main overworld, and all other dimensions assumed that they had those unless the config file came up with something else -- this made it difficult to select something at random, and keep it consistent. JRoush did say that he was planning to demote the overworld's options file to peer-level instead of master-level.
===
What is the current plans for random number generation? The old system was unworkable, as I discovered trying to actually use it.
===
When you took over the 162 port, did you start with the "working" 147 code, or did you start with the current dev branch?
(In regard to a mod that gives realistic animal genetics):
Would you really rather have bees that make diamonds and oil with magical genetic blocks?
... did I really ask that?
What is the current plans for Mystcraft integration? I had submitted variants of mystcraft support that ensured that each ore type appeared at least once, and would default to the "default" if an ore type was not specified (this was back in 1.4.7).
Mystcraft is now based around modifiers, grammar, and defaults; how do you expect that to be handled?
There are notes on the github wiki with my thoughts. Basically, distributions will need to use expressions to compute on the modifiers. I emailed the guy in charge of Mystcraft for the API, but he never replied to me. Of course, I could just deobf/decompile it, but that's probably in violation of the license.
What is the current plans for supporting option files for non-overworlds/non-head-of-the-worldsave ages? JRoush's COG would only save an options.txt file for the main overworld, and all other dimensions assumed that they had those unless the config file came up with something else -- this made it difficult to select something at random, and keep it consistent. JRoush did say that he was planning to demote the overworld's options file to peer-level instead of master-level.
===
What is the current plans for random number generation? The old system was unworkable, as I discovered trying to actually use it.
If you don't mind, would you please submit these through the github issue tracker? If/when you do, please clarify what you mean by RNG and how it was unworkable.
When you took over the 162 port, did you start with the "working" 147 code, or did you start with the current dev branch?
I started from the 1.4.7 code; I've never heard from JRoush. Had to decompile it.
I am going to propose the following policy regarding mod support: it's the responsibility of the community[...] Is everyone on-board with this?
Fair enough, though if someone with more familiarity with COG would care to step forward to make the Tinker's Construct config, I would gladly let them take the credit. In the meantime, guess I'll need to dig deeper into the wiki then.
Hey guys. So I went and made a first pass at configuring the basic Overworld ores (aluminum, copper, tin) for Tinkers' Construct, but I can't quite seem to get it working. Would someone mind taking a quick look at my config, and let me know what I'm doing wrong? I've checked a few things via the Wiki and other example configs, but I just can't seem to get the game to recognize my config and add the new options to the menu.
I've basically just taken the distribution settings for Iron Ore and copied them from the default vanilla ores config, changed the ore spawn heights and preferred biomes slightly, and swapped instances of "iron" with "copper", etc, for a given ore. I also added an "IfModInstalled" modifier, taking care to use the listed name for Tinkers' Construct as seen in the mods list, as seen in the other mod configs. If there is anything else I should have done, or there are any silly mistakes I've made, I can't seem to suss them out.
Thanks in advance for the help. Code follows in the spoiler tag below.
<!--************************ CustomOreGen Minecraft Ores Module *********************************
*
* This file contains Presets, Options, and Distributions for the 3 Tinkers' Construct overworld mining ores:
* Aluminum, Copper, and Tin.
*
***********************************************************************************************-->
<IfModInstalled name="Tinkers' Construct">
<!--*************************** Options + Symbols ***********************************
*
* Below are options and symbols for Aluminum, Copper, and Tin.. Each ore has a "type"
option corresponding to select which distribution
* is used for that ore in the overworld, and 3 mystcraft symbols for selecting
* distributions in mystcraft ages.
*
* Each ore also has its own overall "frequency" and "size" multipliers. These are
* provided so people can tweak the rarity of each ore from the options file rather
* than having to edit the config directly.
*
*************************************************************************************-->
<ConfigSection>
<OptionDisplayGroup name='groupTinkerC' displayName='TinkersConstruct' displayState='shown'>
<Description>
Distribution options for the Tinker's Construct ores (overworld only).
</Description>
</OptionDisplayGroup>
<!--******************* Aluminum ***********************-->
<ConfigSection>
<OptionChoice name='TCAluminumDist' default='layeredVeins' displayState='shown' displayGroup='groupTinkerC'>
<Description> Controls how Aluminum is generated </Description>
<DisplayName>Aluminum Type</DisplayName>
<Choice value='layeredVeins' displayValue='Veins'>
<Description>
Concentrated veins of aluminum ore.
</Description>
</Choice>
<Choice value='strategicClouds' displayValue='Clouds'>
<Description>
Rare, sparsely populated clouds of ore extending over several chunks.
</Description>
</Choice>
<Choice value='vanillaStdGen' displayValue='Clusters'>
<Description>
Small evenly scattered clusters of ore. This is the vanilla aluminum generation.
</Description>
</Choice>
<Choice value='none' displayValue='None' description='No aluminum is generated at all.'/>
</OptionChoice>
<OptionNumeric name='TCAluminumFreq' default='1' min='0' max='5' displayState='hidden' displayGroup='groupTinkerC'>
<Description> Frequency multiplier for aluminum distributions </Description>
<DisplayName>Aluminum Freq.</DisplayName>
</OptionNumeric>
<OptionNumeric name='TCAluminumSize' default='1' min='0' max='5' displayState='hidden' displayGroup='groupTinkerC'>
<Description> Size multiplier for aluminum distributions </Description>
<DisplayName>Aluminum Size</DisplayName>
</OptionNumeric>
<MystcraftSymbol name='aluminumClusters' displayName='Aluminum Clusters'/>
<MystcraftSymbol name='aluminumVeins' displayName='Aluminum Veins'/>
<MystcraftSymbol name='aluminumClouds' displayName='Aluminum Clouds'>
<Instability>:= 50 * (age.aluminumClusters + age.aluminumVeins + age.aluminumClouds - 1)^3</Instability>
</MystcraftSymbol>
</ConfigSection>
<!--******************* Copper ***********************-->
<ConfigSection>
<OptionChoice name='TCCopperDist' default='layeredVeins' displayState='shown' displayGroup='groupTinkerC'>
<Description> Controls how copper is generated </Description>
<DisplayName>Copper Type</DisplayName>
<Choice value='layeredVeins' displayValue='Veins'>
<Description>
Concentrated veins of copper ore.
</Description>
</Choice>
<Choice value='strategicClouds' displayValue='Clouds'>
<Description>
Rare, sparsely populated clouds of ore extending over several chunks.
</Description>
</Choice>
<Choice value='vanillaStdGen' displayValue='Clusters'>
<Description>
Small evenly scattered clusters of ore. This is the vanilla copper generation.
</Description>
</Choice>
<Choice value='none' displayValue='None' description='No copper is generated at all.'/>
</OptionChoice>
<OptionNumeric name='TCCopperFreq' default='1' min='0' max='5' displayState='hidden' displayGroup='groupTinkerC'>
<Description> Frequency multiplier for copper distributions </Description>
<DisplayName>Copper Freq.</DisplayName>
</OptionNumeric>
<OptionNumeric name='TCCopperSize' default='1' min='0' max='5' displayState='hidden' displayGroup='groupTinkerC'>
<Description> Size multiplier for copper distributions </Description>
<DisplayName>Copper Size</DisplayName>
</OptionNumeric>
<MystcraftSymbol name='copperClusters' displayName='Copper Clusters'/>
<MystcraftSymbol name='copperVeins' displayName='Copper Veins'/>
<MystcraftSymbol name='copperClouds' displayName='Copper Clouds'>
<Instability>:= 50 * (age.copperClusters + age.copperVeins + age.copperClouds - 1)^3</Instability>
</MystcraftSymbol>
</ConfigSection>
<!--******************* Tin ***********************-->
<ConfigSection>
<OptionChoice name='TCTinDist' default='layeredVeins' displayState='shown' displayGroup='groupTinkerC'>
<Description> Controls how tin is generated </Description>
<DisplayName>Tin Type</DisplayName>
<Choice value='layeredVeins' displayValue='Veins'>
<Description>
Concentrated veins of tin ore.
</Description>
</Choice>
<Choice value='strategicClouds' displayValue='Clouds'>
<Description>
Rare, sparsely populated clouds of ore extending over several chunks.
</Description>
</Choice>
<Choice value='vanillaStdGen' displayValue='Clusters'>
<Description>
Small evenly scattered clusters of ore. This is the vanilla tin generation.
</Description>
</Choice>
<Choice value='none' displayValue='None' description='No tin is generated at all.'/>
</OptionChoice>
<OptionNumeric name='TCTinFreq' default='1' min='0' max='5' displayState='hidden' displayGroup='groupTinkerC'>
<Description> Frequency multiplier for tin distributions </Description>
<DisplayName>tin Freq.</DisplayName>
</OptionNumeric>
<OptionNumeric name='TCTinSize' default='1' min='0' max='5' displayState='hidden' displayGroup='groupTinkerC'>
<Description> Size multiplier for tin distributions </Description>
<DisplayName>Tin Size</DisplayName>
</OptionNumeric>
<MystcraftSymbol name='tinClusters' displayName='Tin Clusters'/>
<MystcraftSymbol name='tinVeins' displayName='Tin Veins'/>
<MystcraftSymbol name='tinClouds' displayName='Tin Clouds'>
<Instability>:= 50 * (age.tinClusters + age.tinVeins + age.tinClouds - 1)^3</Instability>
</MystcraftSymbol>
</ConfigSection>
<!--***************************** Distributions *************************************
*
* Below are the actual distributions for the vanilla ores in the overworld and
* mystcraft ages. There are currently 3 types of distribution for each ore:
* Layered Veins:
* Some form of veins or clusters arranged loosely by height and more common
* in affiliated biomes.
* Strategic Clouds:
* Huge, rare, low-density clouds. Size and frequency are fairly consistent;
* density is varied to reflect ore rarity. May be surrounded by a scattering
* of single blocks as hints to help guide players in.
* Vanilla Clusters:
* A re-creation of the vanilla ore generation using the StandardGen algorithm.
*
*************************************************************************************-->
<IfCondition condition=':= dimension.generator = "RandomLevelSource"'>
<!--********** Vanilla Deposit Removal *************-->
<Substitute name='StandardOreSubstitute' block='stone'>
<Description>
Replace vanilla-generated ore clusters with stone.
</Description>
<Comment>
The global option deferredPopulationRange must be large enough to catch all ore clusters (>= 32).
</Comment>
<Replaces block='oreAluminum'/>
<Replaces block='oreCopper'/>
<Replaces block='oreTin'/>
</Substitute>
<!--******************* Aluminum ***********************-->
<ConfigSection>
<IfCondition condition=':= if(age, age.aluminumClusters > 0, aluminumDist = "vanillaStdGen")'>
<StandardGen name='AluminumStandard' block='oreAluminum' inherits='PresetStandardGen'>
<Description> Equivalent to vanilla minecraft aluminum distribution </Description>
<DrawWireframe>:=drawWireframes</DrawWireframe>
<WireframeColor>0x40221100</WireframeColor>
<Setting name='Size' avg=':= aluminumSize * _default_'/>
<Setting name='Frequency' avg=':= aluminumFreq * if(age,age.aluminumClusters,1) * _default_'/>
<Setting name='Height' avg=':= 32/64 * dimension.groundLevel' range=':= 20/64 * dimension.groundLevel'/>
</StandardGen>
</IfCondition>
<IfCondition condition=':= if(age, age.aluminumVeins > 0, aluminumDist = "layeredVeins")'>
<Veins name='AluminumVeins' block='oreAluminum' inherits='PresetLayeredVeins'>
<Description>
Aluminum spawns in the height 0-64 range. The veins are average in length and size.
</Description>
<DrawWireframe>:=drawWireframes</DrawWireframe>
<WireframeColor>0x40221100</WireframeColor>
<Setting name='MotherlodeFrequency' avg=':= 0.9 * aluminumFreq * if(age,age.aluminumVeins,1) * _default_'/>
<Setting name='MotherlodeSize' avg=':= aluminumSize * _default_' range=':= aluminumSize * _default_'/>
<Setting name='MotherlodeHeight' avg=':= 32/64 * dimension.groundLevel' range=':= 20/64 * dimension.groundLevel' type='normal'/>
<Setting name='BranchHeightLimit' avg='10.5'/>
<Setting name='SegmentRadius' avg=':= aluminumSize * _default_' range=':= aluminumSize * _default_'/>
</Veins>
<Veins name='AluminumVeinsForest' inherits='AluminumVeins'>
<Description> This roughly triples the chance of finding aluminum in forest biomes. </Description>
<Setting name='MotherlodeFrequency' avg=':= 2 * _default_'/>
<Setting name='MotherlodeHeight' avg=':=_default_' range=':= 2 * _default_'/>
<Setting name='BranchHeightLimit' avg=':= 2 * _default_'/>
<BiomeType name='Forest'/>
<BiomeType name='Water' weight='-1'/>
</Veins>
</IfCondition>
<IfCondition condition=':= if(age, age.aluminumClouds > 0, aluminumDist = "strategicClouds")'>
<Cloud name='AluminumCloud' block='oreAluminum' inherits='PresetStrategicCloud'>
<Description>
Diffuse aluminum cloud surrounded by single-block "hint" veins, found in forest biomes.
</Description>
<DrawWireframe>:=drawWireframes</DrawWireframe>
<WireframeColor>0x40221100</WireframeColor>
<Setting name='DistributionFrequency' avg=':= 2.5 * aluminumFreq * if(age,age.aluminumClouds,1) * _default_'/>
<Setting name='CloudRadius' avg=':= aluminumSize * _default_' range=':= aluminumSize * _default_'/>
<Setting name='CloudThickness' avg=':= aluminumSize * _default_' range=':= aluminumSize * _default_'/>
<BiomeType name='Forest'/>
<BiomeType name='Water' weight='-1'/>
<Veins name='AluminumHintVeins' block='oreAluminum' inherits='PresetHintVeins'>
<DrawWireframe>:=drawWireframes</DrawWireframe>
<WireframeColor>0x40221100</WireframeColor>
<Setting name='MotherlodeFrequency' avg=':= _default_' range=':= _default_'/>
<Setting name='MotherlodeRangeLimit' avg=':= aluminumSize * _default_' range=':= aluminumSize * _default_'/>
</Veins>
</Cloud>
</IfCondition>
</ConfigSection>
<!--******************* Copper ***********************-->
<ConfigSection>
<IfCondition condition=':= if(age, age.copperClusters > 0, copperDist = "vanillaStdGen")'>
<StandardGen name='CopperStandard' block='oreCopper' inherits='PresetStandardGen'>
<Description> Equivalent to vanilla minecraft copper distribution </Description>
<DrawWireframe>:=drawWireframes</DrawWireframe>
<WireframeColor>0x40221100</WireframeColor>
<Setting name='Size' avg=':= copperSize * _default_'/>
<Setting name='Frequency' avg=':= copperFreq * if(age,age.copperClusters,1) * _default_'/>
<Setting name='Height' avg=':= 32/64 * dimension.groundLevel' range=':= 20/64 * dimension.groundLevel'/>
</StandardGen>
</IfCondition>
<IfCondition condition=':= if(age, age.copperVeins > 0, copperDist = "layeredVeins")'>
<Veins name='CopperVeins' block='oreCopper' inherits='PresetLayeredVeins'>
<Description>
Copper spawns in the height 0-64 range. The veins are average in length and size..
</Description>
<DrawWireframe>:=drawWireframes</DrawWireframe>
<WireframeColor>0x40221100</WireframeColor>
<Setting name='MotherlodeFrequency' avg=':= 0.9 * copperFreq * if(age,age.copperVeins,1) * _default_'/>
<Setting name='MotherlodeSize' avg=':= copperSize * _default_' range=':= copperSize * _default_'/>
<Setting name='MotherlodeHeight' avg=':= 32/64 * dimension.groundLevel' range=':= 20/64 * dimension.groundLevel' type='normal'/>
<Setting name='BranchHeightLimit' avg='10.5'/>
<Setting name='SegmentRadius' avg=':= copperSize * _default_' range=':= copperSize * _default_'/>
</Veins>
<Veins name='CopperVeinsCold' inherits='CopperVeins'>
<Description> This roughly triples the chance of finding copper in mesa biomes. </Description>
<Setting name='MotherlodeFrequency' avg=':= 2 * _default_'/>
<Setting name='MotherlodeHeight' avg=':=_default_' range=':= 2 * _default_'/>
<Setting name='BranchHeightLimit' avg=':= 2 * _default_'/>
<BiomeType name='Mesa'/>
<BiomeType name='Water' weight='-1'/>
</Veins>
</IfCondition>
<IfCondition condition=':= if(age, age.copperClouds > 0, copperDist = "strategicClouds")'>
<Cloud name='CopperCloud' block='oreCopper' inherits='PresetStrategicCloud'>
<Description>
Diffuse copper cloud surrounded by single-block "hint" veins, found in mesa biomes.
</Description>
<DrawWireframe>:=drawWireframes</DrawWireframe>
<WireframeColor>0x40221100</WireframeColor>
<Setting name='DistributionFrequency' avg=':= 2.5 * copperFreq * if(age,age.copperClouds,1) * _default_'/>
<Setting name='CloudRadius' avg=':= copperSize * _default_' range=':= copperSize * _default_'/>
<Setting name='CloudThickness' avg=':= copperSize * _default_' range=':= copperSize * _default_'/>
<BiomeType name='Mesa'/>
<BiomeType name='Water' weight='-1'/>
<Veins name='CopperHintVeins' block='oreCopper' inherits='PresetHintVeins'>
<DrawWireframe>:=drawWireframes</DrawWireframe>
<WireframeColor>0x40221100</WireframeColor>
<Setting name='MotherlodeFrequency' avg=':= _default_' range=':= _default_'/>
<Setting name='MotherlodeRangeLimit' avg=':= copperSize * _default_' range=':= copperSize * _default_'/>
</Veins>
</Cloud>
</IfCondition>
</ConfigSection>
<!--******************* Tin ***********************-->
<ConfigSection>
<IfCondition condition=':= if(age, age.tinClusters > 0, tinDist = "vanillaStdGen")'>
<StandardGen name='TinStandard' block='oreTin' inherits='PresetStandardGen'>
<Description> Equivalent to vanilla minecraft tin distribution </Description>
<DrawWireframe>:=drawWireframes</DrawWireframe>
<WireframeColor>0x40221100</WireframeColor>
<Setting name='Size' avg=':= tinSize * _default_'/>
<Setting name='Frequency' avg=':= tinFreq * if(age,age.tinClusters,1) * _default_'/>
<Setting name='Height' avg=':= 32/64 * dimension.groundLevel' range=':= 20/64 * dimension.groundLevel'/>
</StandardGen>
</IfCondition>
<IfCondition condition=':= if(age, age.tinVeins > 0, tinDist = "layeredVeins")'>
<Veins name='TinVeins' block='oreTin' inherits='PresetLayeredVeins'>
<Description>
Tin spawns in the height 0-64 range. The veins are average in length and size.
</Description>
<DrawWireframe>:=drawWireframes</DrawWireframe>
<WireframeColor>0x40221100</WireframeColor>
<Setting name='MotherlodeFrequency' avg=':= 0.9 * tinFreq * if(age,age.tinVeins,1) * _default_'/>
<Setting name='MotherlodeSize' avg=':= tinSize * _default_' range=':= tinSize * _default_'/>
<Setting name='MotherlodeHeight' avg=':= 32/64 * dimension.groundLevel' range=':= 20/64 * dimension.groundLevel' type='normal'/>
<Setting name='BranchHeightLimit' avg='10.5'/>
<Setting name='SegmentRadius' avg=':= tinSize * _default_' range=':= tinSize * _default_'/>
</Veins>
<Veins name='TinVeinsJungle' inherits='TinVeins'>
<Description> This roughly triples the chance of finding tin in jungle biomes. </Description>
<Setting name='MotherlodeFrequency' avg=':= 2 * _default_'/>
<Setting name='MotherlodeHeight' avg=':=_default_' range=':= 2 * _default_'/>
<Setting name='BranchHeightLimit' avg=':= 2 * _default_'/>
<BiomeType name='Jungle'/>
<BiomeType name='Water' weight='-1'/>
</Veins>
</IfCondition>
<IfCondition condition=':= if(age, age.tinClouds > 0, tinDist = "strategicClouds")'>
<Cloud name='TinCloud' block='oreTin' inherits='PresetStrategicCloud'>
<Description>
Diffuse tin cloud surrounded by single-block "hint" veins, found in jungle biomes.
</Description>
<DrawWireframe>:=drawWireframes</DrawWireframe>
<WireframeColor>0x40221100</WireframeColor>
<Setting name='DistributionFrequency' avg=':= 2.5 * tinFreq * if(age,age.tinClouds,1) * _default_'/>
<Setting name='CloudRadius' avg=':= tinSize * _default_' range=':= tinSize * _default_'/>
<Setting name='CloudThickness' avg=':= tinSize * _default_' range=':= tinSize * _default_'/>
<BiomeType name='Jungle'/>
<BiomeType name='Water' weight='-1'/>
<Veins name='TinHintVeins' block='oreTin' inherits='PresetHintVeins'>
<DrawWireframe>:=drawWireframes</DrawWireframe>
<WireframeColor>0x40221100</WireframeColor>
<Setting name='MotherlodeFrequency' avg=':= _default_' range=':= _default_'/>
<Setting name='MotherlodeRangeLimit' avg=':= tinSize * _default_' range=':= tinSize * _default_'/>
</Veins>
</Cloud>
</IfCondition>
</ConfigSection>
</IfCondition>
</IfModInstalled>
Thanks so much for taking a stab at this. A couple of tips: look at the Mod ID after selecting the mod in the Mods display. For Tinker's Construct, it's TConstruct. Often, this will also be the name of the mod's config file. Once I fixed that, COG identified a number of typos that I corrected. I haven't tested how well it generates the ores (was hoping you could continue developing it). Revised code in spoiler.
<IfModInstalled name="TConstruct">
<ConfigSection>
<OptionDisplayGroup name='groupTinkerC' displayName='TinkersConstruct' displayState='shown'>
<Description>
Distribution options for the Tinker's Construct ores (overworld only).
</Description>
</OptionDisplayGroup>
<ConfigSection>
<OptionChoice name='TCAluminumDist' default='layeredVeins' displayState='shown' displayGroup='groupTinkerC'>
<Description> Controls how Aluminum is generated </Description>
<DisplayName>Aluminum Type</DisplayName>
<Choice value='layeredVeins' displayValue='Veins'>
<Description>
Concentrated veins of aluminum ore.
</Description>
</Choice>
<Choice value='strategicClouds' displayValue='Clouds'>
<Description>
Rare, sparsely populated clouds of ore extending over several chunks.
</Description>
</Choice>
<Choice value='vanillaStdGen' displayValue='Clusters'>
<Description>
Small evenly scattered clusters of ore. This is the vanilla aluminum generation.
</Description>
</Choice>
<Choice value='none' displayValue='None' description='No aluminum is generated at all.'/>
</OptionChoice>
<OptionNumeric name='TCAluminumFreq' default='1' min='0' max='5' displayState='hidden' displayGroup='groupTinkerC'>
<Description> Frequency multiplier for aluminum distributions </Description>
<DisplayName>Aluminum Freq.</DisplayName>
</OptionNumeric>
<OptionChoice name='TCTinDist' default='layeredVeins' displayState='shown' displayGroup='groupTinkerC'>
<Description> Controls how tin is generated </Description>
<DisplayName>Tin Type</DisplayName>
<Choice value='layeredVeins' displayValue='Veins'>
<Description>
Concentrated veins of tin ore.
</Description>
</Choice>
<Choice value='strategicClouds' displayValue='Clouds'>
<Description>
Rare, sparsely populated clouds of ore extending over several chunks.
</Description>
</Choice>
<Choice value='vanillaStdGen' displayValue='Clusters'>
<Description>
Small evenly scattered clusters of ore. This is the vanilla tin generation.
</Description>
</Choice>
<Choice value='none' displayValue='None' description='No tin is generated at all.'/>
</OptionChoice>
<OptionNumeric name='TCTinFreq' default='1' min='0' max='5' displayState='hidden' displayGroup='groupTinkerC'>
<Description> Frequency multiplier for tin distributions </Description>
<DisplayName>tin Freq.</DisplayName>
</OptionNumeric>
<OptionNumeric name='TCTinSize' default='1' min='0' max='5' displayState='hidden' displayGroup='groupTinkerC'>
<Description> Size multiplier for tin distributions </Description>
<DisplayName>Tin Size</DisplayName>
</OptionNumeric>
<Substitute name='StandardOreSubstitute' block='stone'>
<Description>
Replace vanilla-generated ore clusters with stone.
</Description>
<Comment>
The global option deferredPopulationRange must be large enough to catch all ore clusters (>= 32).
</Comment>
<Replaces block='oreAluminum'/>
<Replaces block='oreCopper'/>
<Replaces block='oreTin'/>
Thanks so much for taking a stab at this. A couple of tips: look at the Mod ID after selecting the mod in the Mods display. For Tinker's Construct, it's TConstruct. Often, this will also be the name of the mod's config file. Once I fixed that, COG identified a number of typos that I corrected. I haven't tested how well it generates the ores (was hoping you could continue developing it). Revised code in spoiler.
<IfModInstalled name="TConstruct">
<ConfigSection>
<OptionDisplayGroup name='groupTinkerC' displayName='TinkersConstruct' displayState='shown'>
<Description>
Distribution options for the Tinker's Construct ores (overworld only).
</Description>
</OptionDisplayGroup>
<ConfigSection>
<OptionChoice name='TCAluminumDist' default='layeredVeins' displayState='shown' displayGroup='groupTinkerC'>
<Description> Controls how Aluminum is generated </Description>
<DisplayName>Aluminum Type</DisplayName>
<Choice value='layeredVeins' displayValue='Veins'>
<Description>
Concentrated veins of aluminum ore.
</Description>
</Choice>
<Choice value='strategicClouds' displayValue='Clouds'>
<Description>
Rare, sparsely populated clouds of ore extending over several chunks.
</Description>
</Choice>
<Choice value='vanillaStdGen' displayValue='Clusters'>
<Description>
Small evenly scattered clusters of ore. This is the vanilla aluminum generation.
</Description>
</Choice>
<Choice value='none' displayValue='None' description='No aluminum is generated at all.'/>
</OptionChoice>
<OptionNumeric name='TCAluminumFreq' default='1' min='0' max='5' displayState='hidden' displayGroup='groupTinkerC'>
<Description> Frequency multiplier for aluminum distributions </Description>
<DisplayName>Aluminum Freq.</DisplayName>
</OptionNumeric>
<OptionChoice name='TCTinDist' default='layeredVeins' displayState='shown' displayGroup='groupTinkerC'>
<Description> Controls how tin is generated </Description>
<DisplayName>Tin Type</DisplayName>
<Choice value='layeredVeins' displayValue='Veins'>
<Description>
Concentrated veins of tin ore.
</Description>
</Choice>
<Choice value='strategicClouds' displayValue='Clouds'>
<Description>
Rare, sparsely populated clouds of ore extending over several chunks.
</Description>
</Choice>
<Choice value='vanillaStdGen' displayValue='Clusters'>
<Description>
Small evenly scattered clusters of ore. This is the vanilla tin generation.
</Description>
</Choice>
<Choice value='none' displayValue='None' description='No tin is generated at all.'/>
</OptionChoice>
<OptionNumeric name='TCTinFreq' default='1' min='0' max='5' displayState='hidden' displayGroup='groupTinkerC'>
<Description> Frequency multiplier for tin distributions </Description>
<DisplayName>tin Freq.</DisplayName>
</OptionNumeric>
<OptionNumeric name='TCTinSize' default='1' min='0' max='5' displayState='hidden' displayGroup='groupTinkerC'>
<Description> Size multiplier for tin distributions </Description>
<DisplayName>Tin Size</DisplayName>
</OptionNumeric>
<Substitute name='StandardOreSubstitute' block='stone'>
<Description>
Replace vanilla-generated ore clusters with stone.
</Description>
<Comment>
The global option deferredPopulationRange must be large enough to catch all ore clusters (>= 32).
</Comment>
<Replaces block='oreAluminum'/>
<Replaces block='oreCopper'/>
<Replaces block='oreTin'/>
Typos...bluh...guess that's what I get for making those edits in Notepad. But yes, you're most welcome; hope it helps people some.
Thanks to your changes, this seems to register in the client, although I am only now noting that I apparently had to put the file inside the "CustomOreGen Extra Modules" folder specifically for it to work. I was putting it in the "Standard Modules" folder, and nothing was happening. Is that behaviour noted somewhere? I missed the note if it was.
I'll give it a test and let you know if there are any glaring problems.
Oh, and a question; is there a plan to add Nether ore configs? I noted that the current standard config file only addresses the Overworld at the moment.
EDIT: After grappling with some on-start crashes where the Oregen mod couldn't find the desired ore blocks to use, I've changed the TC config file to use the blockIDs directly, which seems to work (so far). This of course means that anyone using this config needs to ensure their TC ore blockIDs and the ID listings in this file match for it to work (I am currently using the default IDs for the ores, so it won't trouble most folks, but I may as well be clear).
Current, so-far-working version of the config follows:
<!--************************ CustomOreGen Minecraft Ores Module *********************************
*
* This file contains Presets, Options, and Distributions for the 3 Tinkers' Construct overworld mining ores:
* Aluminum, Copper, and Tin.
*
***********************************************************************************************-->
<IfModInstalled name="TConstruct">
<!--*************************** Options + Symbols ***********************************
*
* Below are options and symbols for Aluminum, Copper, and Tin.. Each ore has a "type"
option corresponding to select which distribution
* is used for that ore in the overworld, and 3 mystcraft symbols for selecting
* distributions in mystcraft ages.
*
* Each ore also has its own overall "frequency" and "size" multipliers. These are
* provided so people can tweak the rarity of each ore from the options file rather
* than having to edit the config directly.
*
*************************************************************************************-->
<ConfigSection>
<OptionDisplayGroup name='groupTinkerC' displayName='TinkersConstruct' displayState='shown'>
<Description>
Distribution options for the Tinker's Construct ores (overworld only).
</Description>
</OptionDisplayGroup>
<!--******************* Aluminum ***********************-->
<ConfigSection>
<OptionChoice name='TCAluminumDist' default='layeredVeins' displayState='shown' displayGroup='groupTinkerC'>
<Description> Controls how Aluminum is generated </Description>
<DisplayName>Aluminum Type</DisplayName>
<Choice value='layeredVeins' displayValue='Veins'>
<Description>
Concentrated veins of aluminum ore.
</Description>
</Choice>
<Choice value='strategicClouds' displayValue='Clouds'>
<Description>
Rare, sparsely populated clouds of ore extending over several chunks.
</Description>
</Choice>
<Choice value='vanillaStdGen' displayValue='Clusters'>
<Description>
Small evenly scattered clusters of ore. This is the vanilla aluminum generation.
</Description>
</Choice>
<Choice value='none' displayValue='None' description='No aluminum is generated at all.'/>
</OptionChoice>
<OptionNumeric name='TCAluminumFreq' default='1' min='0' max='5' displayState='hidden' displayGroup='groupTinkerC'>
<Description> Frequency multiplier for aluminum distributions </Description>
<DisplayName>Aluminum Freq.</DisplayName>
</OptionNumeric>
<OptionNumeric name='TCAluminumSize' default='1' min='0' max='5' displayState='hidden' displayGroup='groupTinkerC'>
<Description> Size multiplier for aluminum distributions </Description>
<DisplayName>Aluminum Size</DisplayName>
</OptionNumeric>
<MystcraftSymbol name='aluminumClusters' displayName='Aluminum Clusters'/>
<MystcraftSymbol name='aluminumVeins' displayName='Aluminum Veins'/>
<MystcraftSymbol name='aluminumClouds' displayName='Aluminum Clouds'>
<Instability>:= 50 * (age.aluminumClusters + age.aluminumVeins + age.aluminumClouds - 1)^3</Instability>
</MystcraftSymbol>
</ConfigSection>
<!--******************* Copper ***********************-->
<ConfigSection>
<OptionChoice name='TCCopperDist' default='layeredVeins' displayState='shown' displayGroup='groupTinkerC'>
<Description> Controls how copper is generated </Description>
<DisplayName>Copper Type</DisplayName>
<Choice value='layeredVeins' displayValue='Veins'>
<Description>
Concentrated veins of copper ore.
</Description>
</Choice>
<Choice value='strategicClouds' displayValue='Clouds'>
<Description>
Rare, sparsely populated clouds of ore extending over several chunks.
</Description>
</Choice>
<Choice value='vanillaStdGen' displayValue='Clusters'>
<Description>
Small evenly scattered clusters of ore. This is the vanilla copper generation.
</Description>
</Choice>
<Choice value='none' displayValue='None' description='No copper is generated at all.'/>
</OptionChoice>
<OptionNumeric name='TCCopperFreq' default='1' min='0' max='5' displayState='hidden' displayGroup='groupTinkerC'>
<Description> Frequency multiplier for copper distributions </Description>
<DisplayName>Copper Freq.</DisplayName>
</OptionNumeric>
<OptionNumeric name='TCCopperSize' default='1' min='0' max='5' displayState='hidden' displayGroup='groupTinkerC'>
<Description> Size multiplier for copper distributions </Description>
<DisplayName>Copper Size</DisplayName>
</OptionNumeric>
<MystcraftSymbol name='copperClusters' displayName='Copper Clusters'/>
<MystcraftSymbol name='copperVeins' displayName='Copper Veins'/>
<MystcraftSymbol name='copperClouds' displayName='Copper Clouds'>
<Instability>:= 50 * (age.copperClusters + age.copperVeins + age.copperClouds - 1)^3</Instability>
</MystcraftSymbol>
</ConfigSection>
<!--******************* Tin ***********************-->
<ConfigSection>
<OptionChoice name='TCTinDist' default='layeredVeins' displayState='shown' displayGroup='groupTinkerC'>
<Description> Controls how tin is generated </Description>
<DisplayName>Tin Type</DisplayName>
<Choice value='layeredVeins' displayValue='Veins'>
<Description>
Concentrated veins of tin ore.
</Description>
</Choice>
<Choice value='strategicClouds' displayValue='Clouds'>
<Description>
Rare, sparsely populated clouds of ore extending over several chunks.
</Description>
</Choice>
<Choice value='vanillaStdGen' displayValue='Clusters'>
<Description>
Small evenly scattered clusters of ore. This is the vanilla tin generation.
</Description>
</Choice>
<Choice value='none' displayValue='None' description='No tin is generated at all.'/>
</OptionChoice>
<OptionNumeric name='TCTinFreq' default='1' min='0' max='5' displayState='hidden' displayGroup='groupTinkerC'>
<Description> Frequency multiplier for tin distributions </Description>
<DisplayName>tin Freq.</DisplayName>
</OptionNumeric>
<OptionNumeric name='TCTinSize' default='1' min='0' max='5' displayState='hidden' displayGroup='groupTinkerC'>
<Description> Size multiplier for tin distributions </Description>
<DisplayName>Tin Size</DisplayName>
</OptionNumeric>
<MystcraftSymbol name='tinClusters' displayName='Tin Clusters'/>
<MystcraftSymbol name='tinVeins' displayName='Tin Veins'/>
<MystcraftSymbol name='tinClouds' displayName='Tin Clouds'>
<Instability>:= 50 * (age.tinClusters + age.tinVeins + age.tinClouds - 1)^3</Instability>
</MystcraftSymbol>
</ConfigSection>
</ConfigSection>
<!--***************************** Distributions *************************************
*
* Below are the actual distributions for the vanilla ores in the overworld and
* mystcraft ages. There are currently 3 types of distribution for each ore:
* Layered Veins:
* Some form of veins or clusters arranged loosely by height and more common
* in affiliated biomes.
* Strategic Clouds:
* Huge, rare, low-density clouds. Size and frequency are fairly consistent;
* density is varied to reflect ore rarity. May be surrounded by a scattering
* of single blocks as hints to help guide players in.
* Vanilla Clusters:
* A re-creation of the vanilla ore generation using the StandardGen algorithm.
*
*************************************************************************************-->
<IfCondition condition=':= dimension.generator = "RandomLevelSource"'>
<!--********** Vanilla Deposit Removal *************-->
<Substitute name='StandardOreSubstitute' block='stone'>
<Description>
Replace vanilla-generated ore clusters with stone.
</Description>
<Comment>
The global option deferredPopulationRange must be large enough to catch all ore clusters (>= 32).
</Comment>
<Replaces block='1475:5'/>
<Replaces block='1475:3'/>
<Replaces block='1475:4'/>
<Comment>
The above; Aluminum (1475:5), Copper (1475:3), Tin (1475:4), respectively.
</Comment>
</Substitute>
<!--******************* Aluminum ***********************-->
<ConfigSection>
<IfCondition condition=':= if(age, age.aluminumClusters > 0, TCAluminumDist = "vanillaStdGen")'>
<StandardGen name='AluminumStandard' block='1475:5' inherits='PresetStandardGen'>
<Description> Equivalent to vanilla minecraft aluminum distribution </Description>
<DrawWireframe>:=drawWireframes</DrawWireframe>
<WireframeColor>0x40221100</WireframeColor>
<Setting name='Size' avg=':= TCAluminumSize * _default_'/>
<Setting name='Frequency' avg=':= TCAluminumFreq * if(age,age.aluminumClusters,1) * _default_'/>
<Setting name='Height' avg=':= 32/64 * dimension.groundLevel' range=':= 20/64 * dimension.groundLevel'/>
</StandardGen>
</IfCondition>
<IfCondition condition=':= if(age, age.aluminumVeins > 0, TCAluminumDist = "layeredVeins")'>
<Veins name='AluminumVeins' block='1475:5' inherits='PresetLayeredVeins'>
<Description>
Aluminum spawns in the height 0-64 range. The veins are average in length and size.
</Description>
<DrawWireframe>:=drawWireframes</DrawWireframe>
<WireframeColor>0x40221100</WireframeColor>
<Setting name='MotherlodeFrequency' avg=':= 0.9 * TCAluminumFreq * if(age,age.aluminumVeins,1) * _default_'/>
<Setting name='MotherlodeSize' avg=':= TCAluminumSize * _default_' range=':= TCAluminumSize * _default_'/>
<Setting name='MotherlodeHeight' avg=':= 32/64 * dimension.groundLevel' range=':= 20/64 * dimension.groundLevel' type='normal'/>
<Setting name='BranchHeightLimit' avg='10.5'/>
<Setting name='SegmentRadius' avg=':= TCAluminumSize * _default_' range=':= TCAluminumSize * _default_'/>
</Veins>
<Veins name='AluminumVeinsForest' inherits='AluminumVeins'>
<Description> This roughly triples the chance of finding aluminum in forest biomes. </Description>
<Setting name='MotherlodeFrequency' avg=':= 2 * _default_'/>
<Setting name='MotherlodeHeight' avg=':=_default_' range=':= 2 * _default_'/>
<Setting name='BranchHeightLimit' avg=':= 2 * _default_'/>
<BiomeType name='Forest'/>
<BiomeType name='Water' weight='-1'/>
</Veins>
</IfCondition>
<IfCondition condition=':= if(age, age.aluminumClouds > 0, TCAluminumDist = "strategicClouds")'>
<Cloud name='AluminumCloud' block='1475:5' inherits='PresetStrategicCloud'>
<Description>
Diffuse aluminum cloud surrounded by single-block "hint" veins, found in forest biomes.
</Description>
<DrawWireframe>:=drawWireframes</DrawWireframe>
<WireframeColor>0x40221100</WireframeColor>
<Setting name='DistributionFrequency' avg=':= 2.5 * TCAluminumFreq * if(age,age.aluminumClouds,1) * _default_'/>
<Setting name='CloudRadius' avg=':= TCAluminumSize * _default_' range=':= TCAluminumSize * _default_'/>
<Setting name='CloudThickness' avg=':= TCAluminumSize * _default_' range=':= TCAluminumSize * _default_'/>
<BiomeType name='Forest'/>
<BiomeType name='Water' weight='-1'/>
<Veins name='AluminumHintVeins' block='1475:5' inherits='PresetHintVeins'>
<DrawWireframe>:=drawWireframes</DrawWireframe>
<WireframeColor>0x40221100</WireframeColor>
<Setting name='MotherlodeFrequency' avg=':= _default_' range=':= _default_'/>
<Setting name='MotherlodeRangeLimit' avg=':= TCAluminumSize * _default_' range=':= TCAluminumSize * _default_'/>
</Veins>
</Cloud>
</IfCondition>
</ConfigSection>
<!--******************* Copper ***********************-->
<ConfigSection>
<IfCondition condition=':= if(age, age.copperClusters > 0, TCCopperDist = "vanillaStdGen")'>
<StandardGen name='CopperStandard' block='1475:3' inherits='PresetStandardGen'>
<Description> Equivalent to vanilla minecraft copper distribution </Description>
<DrawWireframe>:=drawWireframes</DrawWireframe>
<WireframeColor>0x40221100</WireframeColor>
<Setting name='Size' avg=':= TCCopperSize * _default_'/>
<Setting name='Frequency' avg=':= TCCopperFreq * if(age,age.copperClusters,1) * _default_'/>
<Setting name='Height' avg=':= 32/64 * dimension.groundLevel' range=':= 20/64 * dimension.groundLevel'/>
</StandardGen>
</IfCondition>
<IfCondition condition=':= if(age, age.copperVeins > 0, TCCopperDist = "layeredVeins")'>
<Veins name='CopperVeins' block='1475:3' inherits='PresetLayeredVeins'>
<Description>
Copper spawns in the height 0-64 range. The veins are average in length and size..
</Description>
<DrawWireframe>:=drawWireframes</DrawWireframe>
<WireframeColor>0x40221100</WireframeColor>
<Setting name='MotherlodeFrequency' avg=':= 0.9 * TCCopperFreq * if(age,age.copperVeins,1) * _default_'/>
<Setting name='MotherlodeSize' avg=':= TCCopperSize * _default_' range=':= TCCopperSize * _default_'/>
<Setting name='MotherlodeHeight' avg=':= 32/64 * dimension.groundLevel' range=':= 20/64 * dimension.groundLevel' type='normal'/>
<Setting name='BranchHeightLimit' avg='10.5'/>
<Setting name='SegmentRadius' avg=':= TCCopperSize * _default_' range=':= TCCopperSize * _default_'/>
</Veins>
<Veins name='CopperVeinsCold' inherits='CopperVeins'>
<Description> This roughly triples the chance of finding copper in mesa biomes. </Description>
<Setting name='MotherlodeFrequency' avg=':= 2 * _default_'/>
<Setting name='MotherlodeHeight' avg=':=_default_' range=':= 2 * _default_'/>
<Setting name='BranchHeightLimit' avg=':= 2 * _default_'/>
<BiomeType name='Mesa'/>
<BiomeType name='Water' weight='-1'/>
</Veins>
</IfCondition>
<IfCondition condition=':= if(age, age.copperClouds > 0, TCCopperDist = "strategicClouds")'>
<Cloud name='CopperCloud' block='1475:3' inherits='PresetStrategicCloud'>
<Description>
Diffuse copper cloud surrounded by single-block "hint" veins, found in mesa biomes.
</Description>
<DrawWireframe>:=drawWireframes</DrawWireframe>
<WireframeColor>0x40221100</WireframeColor>
<Setting name='DistributionFrequency' avg=':= 2.5 * TCCopperFreq * if(age,age.copperClouds,1) * _default_'/>
<Setting name='CloudRadius' avg=':= TCCopperSize * _default_' range=':= TCCopperSize * _default_'/>
<Setting name='CloudThickness' avg=':= TCCopperSize * _default_' range=':= TCCopperSize * _default_'/>
<BiomeType name='Mesa'/>
<BiomeType name='Water' weight='-1'/>
<Veins name='CopperHintVeins' block='1475:3' inherits='PresetHintVeins'>
<DrawWireframe>:=drawWireframes</DrawWireframe>
<WireframeColor>0x40221100</WireframeColor>
<Setting name='MotherlodeFrequency' avg=':= _default_' range=':= _default_'/>
<Setting name='MotherlodeRangeLimit' avg=':= TCCopperSize * _default_' range=':= TCCopperSize * _default_'/>
</Veins>
</Cloud>
</IfCondition>
</ConfigSection>
<!--******************* Tin ***********************-->
<ConfigSection>
<IfCondition condition=':= if(age, age.tinClusters > 0, TCTinDist = "vanillaStdGen")'>
<StandardGen name='TinStandard' block='1475:4' inherits='PresetStandardGen'>
<Description> Equivalent to vanilla minecraft tin distribution </Description>
<DrawWireframe>:=drawWireframes</DrawWireframe>
<WireframeColor>0x40221100</WireframeColor>
<Setting name='Size' avg=':= tinSize * _default_'/>
<Setting name='Frequency' avg=':= TCTinFreq * if(age,age.tinClusters,1) * _default_'/>
<Setting name='Height' avg=':= 32/64 * dimension.groundLevel' range=':= 20/64 * dimension.groundLevel'/>
</StandardGen>
</IfCondition>
<IfCondition condition=':= if(age, age.tinVeins > 0, TCTinDist = "layeredVeins")'>
<Veins name='TinVeins' block='1475:4' inherits='PresetLayeredVeins'>
<Description>
Tin spawns in the height 0-64 range. The veins are average in length and size.
</Description>
<DrawWireframe>:=drawWireframes</DrawWireframe>
<WireframeColor>0x40221100</WireframeColor>
<Setting name='MotherlodeFrequency' avg=':= 0.9 * TCTinFreq * if(age,age.tinVeins,1) * _default_'/>
<Setting name='MotherlodeSize' avg=':= TCTinSize * _default_' range=':= TCTinSize * _default_'/>
<Setting name='MotherlodeHeight' avg=':= 32/64 * dimension.groundLevel' range=':= 20/64 * dimension.groundLevel' type='normal'/>
<Setting name='BranchHeightLimit' avg='10.5'/>
<Setting name='SegmentRadius' avg=':= TCTinSize * _default_' range=':= TCTinSize * _default_'/>
</Veins>
<Veins name='TinVeinsJungle' inherits='TinVeins'>
<Description> This roughly triples the chance of finding tin in jungle biomes. </Description>
<Setting name='MotherlodeFrequency' avg=':= 2 * _default_'/>
<Setting name='MotherlodeHeight' avg=':=_default_' range=':= 2 * _default_'/>
<Setting name='BranchHeightLimit' avg=':= 2 * _default_'/>
<BiomeType name='Jungle'/>
<BiomeType name='Water' weight='-1'/>
</Veins>
</IfCondition>
<IfCondition condition=':= if(age, age.tinClouds > 0, TCTinDist = "strategicClouds")'>
<Cloud name='TinCloud' block='1475:4' inherits='PresetStrategicCloud'>
<Description>
Diffuse tin cloud surrounded by single-block "hint" veins, found in jungle biomes.
</Description>
<DrawWireframe>:=drawWireframes</DrawWireframe>
<WireframeColor>0x40221100</WireframeColor>
<Setting name='DistributionFrequency' avg=':= 2.5 * TCTinFreq * if(age,age.tinClouds,1) * _default_'/>
<Setting name='CloudRadius' avg=':= TCTinSize * _default_' range=':= TCTinSize * _default_'/>
<Setting name='CloudThickness' avg=':= TCTinSize * _default_' range=':= TCTinSize * _default_'/>
<BiomeType name='Jungle'/>
<BiomeType name='Water' weight='-1'/>
<Veins name='TinHintVeins' block='1475:4' inherits='PresetHintVeins'>
<DrawWireframe>:=drawWireframes</DrawWireframe>
<WireframeColor>0x40221100</WireframeColor>
<Setting name='MotherlodeFrequency' avg=':= _default_' range=':= _default_'/>
<Setting name='MotherlodeRangeLimit' avg=':= TCTinSize * _default_' range=':= TCTinSize * _default_'/>
</Veins>
</Cloud>
</IfCondition>
</ConfigSection>
</IfCondition>
</IfModInstalled>
EDIT2: Hmm. Been testing. It seems that, when I generate new chunks where (presumably) new ore veins are being created, the game starts throwing very brief, but more and more frequent, lag spikes over a few minutes, and my allocated memory soon hits the ceiling, causing the game to lock up. This behavior is new as of installing CustomOreGen on my client. I'd provide a crash report, but the game doesn't have a chance to produce one. I'll test it without my TC config and see if it produces the same behavior.
EDIT3: Yup, it does. Some kind of a memory leak, maybe? I allocated the game 3GB of memory to use and it seems to hit that ceiling really fast (can be as quick as 20 seconds) if I generate enough chunks at once.
Typos...bluh...guess that's what I get for making those edits in Notepad. But yes, you're most welcome; hope it helps people some.
Thanks to your changes, this seems to register in the client, although I am only now noting that I apparently had to put the file inside the "CustomOreGen Extra Modules" folder specifically for it to work. I was putting it in the "Standard Modules" folder, and nothing was happening. Is that behaviour noted somewhere? I missed the note if it was.
I'll give it a test and let you know if there are any glaring problems.
Oh, and a question; is there a plan to add Nether ore configs? I noted that the current standard config file only addresses the Overworld at the moment.
I'd be happy to take any contributions for the nether (I presume you're referring to the vanilla quartz generation?)
EDIT: After grappling with some on-start crashes where the Oregen mod couldn't find the desired ore blocks to use, I've changed the TC config file to use the blockIDs directly, which seems to work (so far). This of course means that anyone using this config needs to ensure their TC ore blockIDs and the ID listings in this file match for it to work (I am currently using the default IDs for the ores, so it won't trouble most folks, but I may as well be clear).
Current, so-far-working version of the config follows:
<!--************************ CustomOreGen Minecraft Ores Module *********************************
*
* This file contains Presets, Options, and Distributions for the 3 Tinkers' Construct overworld mining ores:
* Aluminum, Copper, and Tin.
*
***********************************************************************************************-->
<IfModInstalled name="TConstruct">
<!--*************************** Options + Symbols ***********************************
*
* Below are options and symbols for Aluminum, Copper, and Tin.. Each ore has a "type"
option corresponding to select which distribution
* is used for that ore in the overworld, and 3 mystcraft symbols for selecting
* distributions in mystcraft ages.
*
* Each ore also has its own overall "frequency" and "size" multipliers. These are
* provided so people can tweak the rarity of each ore from the options file rather
* than having to edit the config directly.
*
*************************************************************************************-->
<ConfigSection>
<OptionDisplayGroup name='groupTinkerC' displayName='TinkersConstruct' displayState='shown'>
<Description>
Distribution options for the Tinker's Construct ores (overworld only).
</Description>
</OptionDisplayGroup>
<!--******************* Aluminum ***********************-->
<ConfigSection>
<OptionChoice name='TCAluminumDist' default='layeredVeins' displayState='shown' displayGroup='groupTinkerC'>
<Description> Controls how Aluminum is generated </Description>
<DisplayName>Aluminum Type</DisplayName>
<Choice value='layeredVeins' displayValue='Veins'>
<Description>
Concentrated veins of aluminum ore.
</Description>
</Choice>
<Choice value='strategicClouds' displayValue='Clouds'>
<Description>
Rare, sparsely populated clouds of ore extending over several chunks.
</Description>
</Choice>
<Choice value='vanillaStdGen' displayValue='Clusters'>
<Description>
Small evenly scattered clusters of ore. This is the vanilla aluminum generation.
</Description>
</Choice>
<Choice value='none' displayValue='None' description='No aluminum is generated at all.'/>
</OptionChoice>
<OptionNumeric name='TCAluminumFreq' default='1' min='0' max='5' displayState='hidden' displayGroup='groupTinkerC'>
<Description> Frequency multiplier for aluminum distributions </Description>
<DisplayName>Aluminum Freq.</DisplayName>
</OptionNumeric>
<OptionNumeric name='TCAluminumSize' default='1' min='0' max='5' displayState='hidden' displayGroup='groupTinkerC'>
<Description> Size multiplier for aluminum distributions </Description>
<DisplayName>Aluminum Size</DisplayName>
</OptionNumeric>
<MystcraftSymbol name='aluminumClusters' displayName='Aluminum Clusters'/>
<MystcraftSymbol name='aluminumVeins' displayName='Aluminum Veins'/>
<MystcraftSymbol name='aluminumClouds' displayName='Aluminum Clouds'>
<Instability>:= 50 * (age.aluminumClusters + age.aluminumVeins + age.aluminumClouds - 1)^3</Instability>
</MystcraftSymbol>
</ConfigSection>
<!--******************* Copper ***********************-->
<ConfigSection>
<OptionChoice name='TCCopperDist' default='layeredVeins' displayState='shown' displayGroup='groupTinkerC'>
<Description> Controls how copper is generated </Description>
<DisplayName>Copper Type</DisplayName>
<Choice value='layeredVeins' displayValue='Veins'>
<Description>
Concentrated veins of copper ore.
</Description>
</Choice>
<Choice value='strategicClouds' displayValue='Clouds'>
<Description>
Rare, sparsely populated clouds of ore extending over several chunks.
</Description>
</Choice>
<Choice value='vanillaStdGen' displayValue='Clusters'>
<Description>
Small evenly scattered clusters of ore. This is the vanilla copper generation.
</Description>
</Choice>
<Choice value='none' displayValue='None' description='No copper is generated at all.'/>
</OptionChoice>
<OptionNumeric name='TCCopperFreq' default='1' min='0' max='5' displayState='hidden' displayGroup='groupTinkerC'>
<Description> Frequency multiplier for copper distributions </Description>
<DisplayName>Copper Freq.</DisplayName>
</OptionNumeric>
<OptionNumeric name='TCCopperSize' default='1' min='0' max='5' displayState='hidden' displayGroup='groupTinkerC'>
<Description> Size multiplier for copper distributions </Description>
<DisplayName>Copper Size</DisplayName>
</OptionNumeric>
<MystcraftSymbol name='copperClusters' displayName='Copper Clusters'/>
<MystcraftSymbol name='copperVeins' displayName='Copper Veins'/>
<MystcraftSymbol name='copperClouds' displayName='Copper Clouds'>
<Instability>:= 50 * (age.copperClusters + age.copperVeins + age.copperClouds - 1)^3</Instability>
</MystcraftSymbol>
</ConfigSection>
<!--******************* Tin ***********************-->
<ConfigSection>
<OptionChoice name='TCTinDist' default='layeredVeins' displayState='shown' displayGroup='groupTinkerC'>
<Description> Controls how tin is generated </Description>
<DisplayName>Tin Type</DisplayName>
<Choice value='layeredVeins' displayValue='Veins'>
<Description>
Concentrated veins of tin ore.
</Description>
</Choice>
<Choice value='strategicClouds' displayValue='Clouds'>
<Description>
Rare, sparsely populated clouds of ore extending over several chunks.
</Description>
</Choice>
<Choice value='vanillaStdGen' displayValue='Clusters'>
<Description>
Small evenly scattered clusters of ore. This is the vanilla tin generation.
</Description>
</Choice>
<Choice value='none' displayValue='None' description='No tin is generated at all.'/>
</OptionChoice>
<OptionNumeric name='TCTinFreq' default='1' min='0' max='5' displayState='hidden' displayGroup='groupTinkerC'>
<Description> Frequency multiplier for tin distributions </Description>
<DisplayName>tin Freq.</DisplayName>
</OptionNumeric>
<OptionNumeric name='TCTinSize' default='1' min='0' max='5' displayState='hidden' displayGroup='groupTinkerC'>
<Description> Size multiplier for tin distributions </Description>
<DisplayName>Tin Size</DisplayName>
</OptionNumeric>
<MystcraftSymbol name='tinClusters' displayName='Tin Clusters'/>
<MystcraftSymbol name='tinVeins' displayName='Tin Veins'/>
<MystcraftSymbol name='tinClouds' displayName='Tin Clouds'>
<Instability>:= 50 * (age.tinClusters + age.tinVeins + age.tinClouds - 1)^3</Instability>
</MystcraftSymbol>
</ConfigSection>
</ConfigSection>
<!--***************************** Distributions *************************************
*
* Below are the actual distributions for the vanilla ores in the overworld and
* mystcraft ages. There are currently 3 types of distribution for each ore:
* Layered Veins:
* Some form of veins or clusters arranged loosely by height and more common
* in affiliated biomes.
* Strategic Clouds:
* Huge, rare, low-density clouds. Size and frequency are fairly consistent;
* density is varied to reflect ore rarity. May be surrounded by a scattering
* of single blocks as hints to help guide players in.
* Vanilla Clusters:
* A re-creation of the vanilla ore generation using the StandardGen algorithm.
*
*************************************************************************************-->
<IfCondition condition=':= dimension.generator = "RandomLevelSource"'>
<!--********** Vanilla Deposit Removal *************-->
<Substitute name='StandardOreSubstitute' block='stone'>
<Description>
Replace vanilla-generated ore clusters with stone.
</Description>
<Comment>
The global option deferredPopulationRange must be large enough to catch all ore clusters (>= 32).
</Comment>
<Replaces block='1475:5'/>
<Replaces block='1475:3'/>
<Replaces block='1475:4'/>
<Comment>
The above; Aluminum (1475:5), Copper (1475:3), Tin (1475:4), respectively.
</Comment>
</Substitute>
<!--******************* Aluminum ***********************-->
<ConfigSection>
<IfCondition condition=':= if(age, age.aluminumClusters > 0, TCAluminumDist = "vanillaStdGen")'>
<StandardGen name='AluminumStandard' block='1475:5' inherits='PresetStandardGen'>
<Description> Equivalent to vanilla minecraft aluminum distribution </Description>
<DrawWireframe>:=drawWireframes</DrawWireframe>
<WireframeColor>0x40221100</WireframeColor>
<Setting name='Size' avg=':= TCAluminumSize * _default_'/>
<Setting name='Frequency' avg=':= TCAluminumFreq * if(age,age.aluminumClusters,1) * _default_'/>
<Setting name='Height' avg=':= 32/64 * dimension.groundLevel' range=':= 20/64 * dimension.groundLevel'/>
</StandardGen>
</IfCondition>
<IfCondition condition=':= if(age, age.aluminumVeins > 0, TCAluminumDist = "layeredVeins")'>
<Veins name='AluminumVeins' block='1475:5' inherits='PresetLayeredVeins'>
<Description>
Aluminum spawns in the height 0-64 range. The veins are average in length and size.
</Description>
<DrawWireframe>:=drawWireframes</DrawWireframe>
<WireframeColor>0x40221100</WireframeColor>
<Setting name='MotherlodeFrequency' avg=':= 0.9 * TCAluminumFreq * if(age,age.aluminumVeins,1) * _default_'/>
<Setting name='MotherlodeSize' avg=':= TCAluminumSize * _default_' range=':= TCAluminumSize * _default_'/>
<Setting name='MotherlodeHeight' avg=':= 32/64 * dimension.groundLevel' range=':= 20/64 * dimension.groundLevel' type='normal'/>
<Setting name='BranchHeightLimit' avg='10.5'/>
<Setting name='SegmentRadius' avg=':= TCAluminumSize * _default_' range=':= TCAluminumSize * _default_'/>
</Veins>
<Veins name='AluminumVeinsForest' inherits='AluminumVeins'>
<Description> This roughly triples the chance of finding aluminum in forest biomes. </Description>
<Setting name='MotherlodeFrequency' avg=':= 2 * _default_'/>
<Setting name='MotherlodeHeight' avg=':=_default_' range=':= 2 * _default_'/>
<Setting name='BranchHeightLimit' avg=':= 2 * _default_'/>
<BiomeType name='Forest'/>
<BiomeType name='Water' weight='-1'/>
</Veins>
</IfCondition>
<IfCondition condition=':= if(age, age.aluminumClouds > 0, TCAluminumDist = "strategicClouds")'>
<Cloud name='AluminumCloud' block='1475:5' inherits='PresetStrategicCloud'>
<Description>
Diffuse aluminum cloud surrounded by single-block "hint" veins, found in forest biomes.
</Description>
<DrawWireframe>:=drawWireframes</DrawWireframe>
<WireframeColor>0x40221100</WireframeColor>
<Setting name='DistributionFrequency' avg=':= 2.5 * TCAluminumFreq * if(age,age.aluminumClouds,1) * _default_'/>
<Setting name='CloudRadius' avg=':= TCAluminumSize * _default_' range=':= TCAluminumSize * _default_'/>
<Setting name='CloudThickness' avg=':= TCAluminumSize * _default_' range=':= TCAluminumSize * _default_'/>
<BiomeType name='Forest'/>
<BiomeType name='Water' weight='-1'/>
<Veins name='AluminumHintVeins' block='1475:5' inherits='PresetHintVeins'>
<DrawWireframe>:=drawWireframes</DrawWireframe>
<WireframeColor>0x40221100</WireframeColor>
<Setting name='MotherlodeFrequency' avg=':= _default_' range=':= _default_'/>
<Setting name='MotherlodeRangeLimit' avg=':= TCAluminumSize * _default_' range=':= TCAluminumSize * _default_'/>
</Veins>
</Cloud>
</IfCondition>
</ConfigSection>
<!--******************* Copper ***********************-->
<ConfigSection>
<IfCondition condition=':= if(age, age.copperClusters > 0, TCCopperDist = "vanillaStdGen")'>
<StandardGen name='CopperStandard' block='1475:3' inherits='PresetStandardGen'>
<Description> Equivalent to vanilla minecraft copper distribution </Description>
<DrawWireframe>:=drawWireframes</DrawWireframe>
<WireframeColor>0x40221100</WireframeColor>
<Setting name='Size' avg=':= TCCopperSize * _default_'/>
<Setting name='Frequency' avg=':= TCCopperFreq * if(age,age.copperClusters,1) * _default_'/>
<Setting name='Height' avg=':= 32/64 * dimension.groundLevel' range=':= 20/64 * dimension.groundLevel'/>
</StandardGen>
</IfCondition>
<IfCondition condition=':= if(age, age.copperVeins > 0, TCCopperDist = "layeredVeins")'>
<Veins name='CopperVeins' block='1475:3' inherits='PresetLayeredVeins'>
<Description>
Copper spawns in the height 0-64 range. The veins are average in length and size..
</Description>
<DrawWireframe>:=drawWireframes</DrawWireframe>
<WireframeColor>0x40221100</WireframeColor>
<Setting name='MotherlodeFrequency' avg=':= 0.9 * TCCopperFreq * if(age,age.copperVeins,1) * _default_'/>
<Setting name='MotherlodeSize' avg=':= TCCopperSize * _default_' range=':= TCCopperSize * _default_'/>
<Setting name='MotherlodeHeight' avg=':= 32/64 * dimension.groundLevel' range=':= 20/64 * dimension.groundLevel' type='normal'/>
<Setting name='BranchHeightLimit' avg='10.5'/>
<Setting name='SegmentRadius' avg=':= TCCopperSize * _default_' range=':= TCCopperSize * _default_'/>
</Veins>
<Veins name='CopperVeinsCold' inherits='CopperVeins'>
<Description> This roughly triples the chance of finding copper in mesa biomes. </Description>
<Setting name='MotherlodeFrequency' avg=':= 2 * _default_'/>
<Setting name='MotherlodeHeight' avg=':=_default_' range=':= 2 * _default_'/>
<Setting name='BranchHeightLimit' avg=':= 2 * _default_'/>
<BiomeType name='Mesa'/>
<BiomeType name='Water' weight='-1'/>
</Veins>
</IfCondition>
<IfCondition condition=':= if(age, age.copperClouds > 0, TCCopperDist = "strategicClouds")'>
<Cloud name='CopperCloud' block='1475:3' inherits='PresetStrategicCloud'>
<Description>
Diffuse copper cloud surrounded by single-block "hint" veins, found in mesa biomes.
</Description>
<DrawWireframe>:=drawWireframes</DrawWireframe>
<WireframeColor>0x40221100</WireframeColor>
<Setting name='DistributionFrequency' avg=':= 2.5 * TCCopperFreq * if(age,age.copperClouds,1) * _default_'/>
<Setting name='CloudRadius' avg=':= TCCopperSize * _default_' range=':= TCCopperSize * _default_'/>
<Setting name='CloudThickness' avg=':= TCCopperSize * _default_' range=':= TCCopperSize * _default_'/>
<BiomeType name='Mesa'/>
<BiomeType name='Water' weight='-1'/>
<Veins name='CopperHintVeins' block='1475:3' inherits='PresetHintVeins'>
<DrawWireframe>:=drawWireframes</DrawWireframe>
<WireframeColor>0x40221100</WireframeColor>
<Setting name='MotherlodeFrequency' avg=':= _default_' range=':= _default_'/>
<Setting name='MotherlodeRangeLimit' avg=':= TCCopperSize * _default_' range=':= TCCopperSize * _default_'/>
</Veins>
</Cloud>
</IfCondition>
</ConfigSection>
<!--******************* Tin ***********************-->
<ConfigSection>
<IfCondition condition=':= if(age, age.tinClusters > 0, TCTinDist = "vanillaStdGen")'>
<StandardGen name='TinStandard' block='1475:4' inherits='PresetStandardGen'>
<Description> Equivalent to vanilla minecraft tin distribution </Description>
<DrawWireframe>:=drawWireframes</DrawWireframe>
<WireframeColor>0x40221100</WireframeColor>
<Setting name='Size' avg=':= tinSize * _default_'/>
<Setting name='Frequency' avg=':= TCTinFreq * if(age,age.tinClusters,1) * _default_'/>
<Setting name='Height' avg=':= 32/64 * dimension.groundLevel' range=':= 20/64 * dimension.groundLevel'/>
</StandardGen>
</IfCondition>
<IfCondition condition=':= if(age, age.tinVeins > 0, TCTinDist = "layeredVeins")'>
<Veins name='TinVeins' block='1475:4' inherits='PresetLayeredVeins'>
<Description>
Tin spawns in the height 0-64 range. The veins are average in length and size.
</Description>
<DrawWireframe>:=drawWireframes</DrawWireframe>
<WireframeColor>0x40221100</WireframeColor>
<Setting name='MotherlodeFrequency' avg=':= 0.9 * TCTinFreq * if(age,age.tinVeins,1) * _default_'/>
<Setting name='MotherlodeSize' avg=':= TCTinSize * _default_' range=':= TCTinSize * _default_'/>
<Setting name='MotherlodeHeight' avg=':= 32/64 * dimension.groundLevel' range=':= 20/64 * dimension.groundLevel' type='normal'/>
<Setting name='BranchHeightLimit' avg='10.5'/>
<Setting name='SegmentRadius' avg=':= TCTinSize * _default_' range=':= TCTinSize * _default_'/>
</Veins>
<Veins name='TinVeinsJungle' inherits='TinVeins'>
<Description> This roughly triples the chance of finding tin in jungle biomes. </Description>
<Setting name='MotherlodeFrequency' avg=':= 2 * _default_'/>
<Setting name='MotherlodeHeight' avg=':=_default_' range=':= 2 * _default_'/>
<Setting name='BranchHeightLimit' avg=':= 2 * _default_'/>
<BiomeType name='Jungle'/>
<BiomeType name='Water' weight='-1'/>
</Veins>
</IfCondition>
<IfCondition condition=':= if(age, age.tinClouds > 0, TCTinDist = "strategicClouds")'>
<Cloud name='TinCloud' block='1475:4' inherits='PresetStrategicCloud'>
<Description>
Diffuse tin cloud surrounded by single-block "hint" veins, found in jungle biomes.
</Description>
<DrawWireframe>:=drawWireframes</DrawWireframe>
<WireframeColor>0x40221100</WireframeColor>
<Setting name='DistributionFrequency' avg=':= 2.5 * TCTinFreq * if(age,age.tinClouds,1) * _default_'/>
<Setting name='CloudRadius' avg=':= TCTinSize * _default_' range=':= TCTinSize * _default_'/>
<Setting name='CloudThickness' avg=':= TCTinSize * _default_' range=':= TCTinSize * _default_'/>
<BiomeType name='Jungle'/>
<BiomeType name='Water' weight='-1'/>
<Veins name='TinHintVeins' block='1475:4' inherits='PresetHintVeins'>
<DrawWireframe>:=drawWireframes</DrawWireframe>
<WireframeColor>0x40221100</WireframeColor>
<Setting name='MotherlodeFrequency' avg=':= _default_' range=':= _default_'/>
<Setting name='MotherlodeRangeLimit' avg=':= TCTinSize * _default_' range=':= TCTinSize * _default_'/>
</Veins>
</Cloud>
</IfCondition>
</ConfigSection>
</IfCondition>
</IfModInstalled>
Well, I don't think using the numeric IDs is a great idea. As you say, they are configuration dependent and soon will go away altogether. Please elaborate on why the string names did not work.
EDIT2: Hmm. Been testing. It seems that, when I generate new chunks where (presumably) new ore veins are being created, the game starts throwing very brief, but more and more frequent, lag spikes over a few minutes, and my allocated memory soon hits the ceiling, causing the game to lock up. This behavior is new as of installing CustomOreGen on my client. I'd provide a crash report, but the game doesn't have a chance to produce one. I'll test it without my TC config and see if it produces the same behavior.
EDIT3: Yup, it does. Some kind of a memory leak, maybe? I allocated the game 3GB of memory to use and it seems to hit that ceiling really fast (can be as quick as 20 seconds) if I generate enough chunks at once.
Well this is the first report of such an issue. Would you please try in a fresh world without your TC config? Maybe something in the TC config caused corruption leading to this.
I'd be happy to take any contributions for the nether (I presume you're referring to the vanilla quartz generation?)
Well, I don't think using the numeric IDs is a great idea. As you say, they are configuration dependent and soon will go away altogether. Please elaborate on why the string names did not work.
Well this is the first report of such an issue. Would you please try in a fresh world without your TC config? Maybe something in the TC config caused corruption leading to this.
Yeah, vanilla quartz, although TC also adds its own Nether ores as well. I'm not sure when I'll get around to it, as I was most concerned with the overworld ores, but I'll post a config for it when I have one to show.
As for the string names, I agree it's not the best solution, but I couldn't get the mod to register the blocks without using the IDs at the time. I initially used "oreTin", "oreAluminum", etc, for the names. I was working on it while a bit tired, and upon reflection I may need to use the actual in-game strings; "Tin Ore", "Aluminum Ore", etc, instead. Can you clarify; what exactly do those string name functions look at to determine which block to use? Where should I look to identify the strings/names I should be using?
As for the lockup issue, I did exactly that as part of my tests when I posted earlier. I'll test it again with a clean install, and let you know what I find. I am currently using Forge .844 with MC 1.6.2, and my MC client is admittedly modded to the gills, including some worldgen stuff, so there could definitely be a conflict with another mod I have on there. But I can confirm this problem wasn't happening before I added CustomOreGen to my pack.
I'll let you know what I find out; I have some clear suspicions on what mods are the likeliest culprits for conflicts.
For anyone having trouble with COG generation: Does it happen everywhere, or only at negative co-ordinates?
I've got a test world, with just 4 mods. Mystcraft, Twilight Forest, COG, and EBXL.
That's just about the minimum core for me.
I can turn on wireframes (/cogEnableDebugging, /cogWireframeMode wireframe).
Teleporting to 1800, 1800, I see wireframes, and COG generation.
Teleporting to -1800, -1800, I do NOT see wireframes; I see vanilla generation.
Initial testing shows that different distributions stop generating wireframes around -100 to -250
(All of this is with standard, unmodified configs).
Adric: Doctor, what is your space like?
Doctor: I just told you, it's positive.
EDIT: To clarify: It's not being fixed by logging out and logging back in this time; I still see no wireframes or COG ores.
(In regard to a mod that gives realistic animal genetics):
Would you really rather have bees that make diamonds and oil with magical genetic blocks?
... did I really ask that?
I replaced the old world with a new world; same seed, same settings, but made in 162. I logged in, expecting to be back at -1800, -1800. (Silly me :-).
Spawn point underwater; I didn't think that was possible. Look around, turn on debugging. See too many wireframes.
Set wireframe mode to "wireframe", and get a client-side crash. Crash report ID's COG.
-- Head --
Stacktrace:
at com.google.gson.internal.Streams.parse(Streams.java:54)
at com.google.gson.TreeTypeAdapter.read(TreeTypeAdapter.java:54)
at com.google.gson.Gson.fromJson(Gson.java:795)
at com.google.gson.Gson.fromJson(Gson.java:761)
at com.google.gson.Gson.fromJson(Gson.java:710)
at com.google.gson.Gson.fromJson(Gson.java:682)
-- Serialized Message --
Details:
JSON string: {text: "§cError: Invalid wireframe mode 'wirframe'"
Stacktrace:
at net.minecraft.util.ChatMessageComponent.func_111078_c(SourceFile:220)
at net.minecraft.client.multiplayer.NetClientHandler.func_72481_a(NetClientHandler.java:877)
at CustomOreGen.mod_CustomOreGen.clientCustomPayload(mod_CustomOreGen.java:168)
Ahh, piffle. Turns out I typed "wirframe" instead of "wireframe", and my client crashed.
(In regard to a mod that gives realistic animal genetics):
Would you really rather have bees that make diamonds and oil with magical genetic blocks?
... did I really ask that?
Alright, looking around that 162 world (... seed was not in the server.properties ... whole new world), I managed to find COG style ores with no wireframes.
Investigation continues ...
EDIT: Definitely found COG coal at -1800, -1800 ... was mis-reading that mineral detector scanner
EDIT 2: Just flew across a lot of EH, and lots of exposed stone ... and no exposed coal. So that looks like no vanilla coal, which implies the substitute is working ... but still no wireframe display.
EDIT 3: Flew out from 0,0, towards -1800, -1800. Now the wireframes do display, where before they did not.
Next step: Start adding mods into the server, and see when I stop getting COG ores
(In regard to a mod that gives realistic animal genetics):
Would you really rather have bees that make diamonds and oil with magical genetic blocks?
... did I really ask that?
Alright, looking around that 162 world (... seed was not in the server.properties ... whole new world), I managed to find COG style ores with no wireframes.
Investigation continues ...
EDIT: Definitely found COG coal at -1800, -1800 ... was mis-reading that mineral detector scanner
EDIT 2: Just flew across a lot of EH, and lots of exposed stone ... and no exposed coal. So that looks like no vanilla coal, which implies the substitute is working ... but still no wireframe display.
I've fixed the crash on sending the wireframe mode error message (easy one). I'm wondering if the crash has something to do with you not seeing wireframes. Just for simplicity, would you mind recreating the world and then checking? Do you have a substitute for Coal in a custom config? Because otherwise coal is blocked via the vanilla ore generation option. I hope we can get to the bottom of this; so far there have been a lot of conflicting reports. Will do some debugging tonight.
You just made my day! Thanks so much for returning this absolutely wonderful gem to Minecraft--I've missed it dearly!
Diamonds for you:
(For those of you playing at home, those are Diamond Blocks, worth 9 diamonds each. Yes, I am aware of the implications of rating something 45/5 stars. Yes, that rating still stands, because this mod is wonderful and I missed it so much.)
Rollback Post to RevisionRollBack
Define Cute (choose 1): A) Creepers Aerbunnies C) Herobrine. If you chose A): You appeal to destruction and to stereotypes. If you chose B): You are a perfectly normal person, and enjoy the Aether Mod. If you chose C): Please leave the planet now before you set off a nuclear warhead--no one enjoys mass murders, however nice they might seem to you.
EDIT 3: Flew out from 0,0, towards -1800, -1800. Now the wireframes do display, where before they did not.Next step: Start adding mods into the server, and see when I stop getting COG ores
Do you have a substitute for Coal in a custom config? Because otherwise coal is blocked via the vanilla ore generation option.
Unless you modified the configs, the default behavior is substitute (has been since 1.4.5, I believe). Checking ... Yep, vanilla ore gen is true, so ... iiiiccccckkk
Can someone double check this for me? The "wipe everything out" substitute distribution in MinecraftOres.xml does not seem to be wrapped inside any sort of test for vanillaOreGen, so instead of only running if you have vanilla ores, it runs all the time -- which, if true, would mean that a naive attempt to get mystcraft/twilight forest working with "leave the special ground generation untouched" would fail.
Hmm, interesting comment:
Yes, that rating still stands, because this mod is wonderful and I missed it so much
I still like COG, and want it. Yet ...
Back when I had vanilla ore distribution, I would live in the caves. I would pretty them up, map them, "care for them", as it were, because the caves mattered.
Now? A cave only matters if I can find an ore vein. I don't bother making them pretty anymore, because most of them I'm not in for long.
(In regard to a mod that gives realistic animal genetics):
Would you really rather have bees that make diamonds and oil with magical genetic blocks?
... did I really ask that?
Unfortunately I'm unable to reproduce this. I started up a fresh server, generated some chunks, then installed COG, default configuration. Enabled debugging, distributions seem fine, chunks are populated automatically as I fly out from spawn. Only difference is that my world was generated in 1.6.2, not 1.5.x; not sure how that could make a difference with new chunks. My forge is .800; what's yours? What happens with a fresh 1.6.2 world?
Will test more later tonight
* Promoting this week: Captive Minecraft 4, Winter Realm. Aka: Vertical Vanilla Viewing. Clicky!
* My channel with Mystcraft, and general Minecraft Let's Plays: http://www.youtube.com/user/Keybounce.
* See all my video series: http://www.minecraftforum.net/forums/minecraft-editions/minecraft-editions-show-your/2865421-keybounces-list-of-creation-threads
(In regard to a mod that gives realistic animal genetics):
Would you really rather have bees that make diamonds and oil with magical genetic blocks?
... did I really ask that?
Edit: Apparently setting the vanilla ore gen option off causes the generation to not happen at all in those same chunks except for emerald. Emerald will spawn with vanilla distribution in those chunks if you are in the hills.
Edit: Also deferred chunk generation does not seem to stop the bug but can worsen it if set to either extreme.
I wanted to ask, though; is anyone here running this mod alongside Tinker's Construct? That mod adds a selection of new ores to the game (aluminum, copper, tin...), and I noticed that this mod ships with some preconfigured oregen profiles for mods like RedPower and Forestry. Would it be possible to add Tinker's Construct to that list as well? It'd be much appreciated.
A list of the relevant ore blocks can be found here: http://tinkers-const.../Ore_Generation
And ore heights for particular ores can be found in the relevant wiki entries here; http://ftbwiki.org/A...er's_Construct)
(Another addition worth considering may be a profile for the UniversalElectricity modpack, although it is admittedly undergoing some restructuring right now, which might complicate things.)
Thanks again for the mod release, and best of luck to you with the mod's development, noogenesis!
I am going to propose the following policy regarding mod support: it's the responsibility of the community. If you like a certain mod, and want to enhance its generation with COG, please submit a link to your config file here on the forum (or preferably as a pull request through github). I'll review it and add it to the mod. All contributors will be duly credited. It's actually really easy to closely recapitulate most mod generation; I've done it in the past for Tinker's Construct aluminum. But I encourage you to use the features of COG to be creative and to design a better experience. Is everyone on-board with this?
Yes, you could make some configs. But by letting the community get involved, more people will generate more ideas.
===
What is the current plans for Mystcraft integration? I had submitted variants of mystcraft support that ensured that each ore type appeared at least once, and would default to the "default" if an ore type was not specified (this was back in 1.4.7).
Mystcraft is now based around modifiers, grammar, and defaults; how do you expect that to be handled?
===
What is the current plans for supporting option files for non-overworlds/non-head-of-the-worldsave ages? JRoush's COG would only save an options.txt file for the main overworld, and all other dimensions assumed that they had those unless the config file came up with something else -- this made it difficult to select something at random, and keep it consistent. JRoush did say that he was planning to demote the overworld's options file to peer-level instead of master-level.
===
What is the current plans for random number generation? The old system was unworkable, as I discovered trying to actually use it.
===
When you took over the 162 port, did you start with the "working" 147 code, or did you start with the current dev branch?
* Promoting this week: Captive Minecraft 4, Winter Realm. Aka: Vertical Vanilla Viewing. Clicky!
* My channel with Mystcraft, and general Minecraft Let's Plays: http://www.youtube.com/user/Keybounce.
* See all my video series: http://www.minecraftforum.net/forums/minecraft-editions/minecraft-editions-show-your/2865421-keybounces-list-of-creation-threads
(In regard to a mod that gives realistic animal genetics):
Would you really rather have bees that make diamonds and oil with magical genetic blocks?
... did I really ask that?
There are notes on the github wiki with my thoughts. Basically, distributions will need to use expressions to compute on the modifiers. I emailed the guy in charge of Mystcraft for the API, but he never replied to me. Of course, I could just deobf/decompile it, but that's probably in violation of the license.
Actually, I just found an instance on github here: https://github.com/heldplayer/MystNEI-Plugin/tree/master/resources, so maybe I'll just grab that and move forward.
If you don't mind, would you please submit these through the github issue tracker? If/when you do, please clarify what you mean by RNG and how it was unworkable.
I started from the 1.4.7 code; I've never heard from JRoush. Had to decompile it.
Fair enough, though if someone with more familiarity with COG would care to step forward to make the Tinker's Construct config, I would gladly let them take the credit. In the meantime, guess I'll need to dig deeper into the wiki then.
I've basically just taken the distribution settings for Iron Ore and copied them from the default vanilla ores config, changed the ore spawn heights and preferred biomes slightly, and swapped instances of "iron" with "copper", etc, for a given ore. I also added an "IfModInstalled" modifier, taking care to use the listed name for Tinkers' Construct as seen in the mods list, as seen in the other mod configs. If there is anything else I should have done, or there are any silly mistakes I've made, I can't seem to suss them out.
Thanks in advance for the help. Code follows in the spoiler tag below.
<IfModInstalled name="TConstruct">
<ConfigSection>
<OptionDisplayGroup name='groupTinkerC' displayName='TinkersConstruct' displayState='shown'>
<Description>
Distribution options for the Tinker's Construct ores (overworld only).
</Description>
</OptionDisplayGroup>
<ConfigSection>
<OptionChoice name='TCAluminumDist' default='layeredVeins' displayState='shown' displayGroup='groupTinkerC'>
<Description> Controls how Aluminum is generated </Description>
<DisplayName>Aluminum Type</DisplayName>
<Choice value='layeredVeins' displayValue='Veins'>
<Description>
Concentrated veins of aluminum ore.
</Description>
</Choice>
<Choice value='strategicClouds' displayValue='Clouds'>
<Description>
Rare, sparsely populated clouds of ore extending over several chunks.
</Description>
</Choice>
<Choice value='vanillaStdGen' displayValue='Clusters'>
<Description>
Small evenly scattered clusters of ore. This is the vanilla aluminum generation.
</Description>
</Choice>
<Choice value='none' displayValue='None' description='No aluminum is generated at all.'/>
</OptionChoice>
<OptionNumeric name='TCAluminumFreq' default='1' min='0' max='5' displayState='hidden' displayGroup='groupTinkerC'>
<Description> Frequency multiplier for aluminum distributions </Description>
<DisplayName>Aluminum Freq.</DisplayName>
</OptionNumeric>
<OptionNumeric name='TCAluminumSize' default='1' min='0' max='5' displayState='hidden' displayGroup='groupTinkerC'>
<Description> Size multiplier for aluminum distributions </Description>
<DisplayName>Aluminum Size</DisplayName>
</OptionNumeric>
<MystcraftSymbol name='aluminumClusters' displayName='Aluminum Clusters'/>
<MystcraftSymbol name='aluminumVeins' displayName='Aluminum Veins'/>
<MystcraftSymbol name='aluminumClouds' displayName='Aluminum Clouds'>
<Instability>:= 50 * (age.aluminumClusters + age.aluminumVeins + age.aluminumClouds - 1)^3</Instability>
</MystcraftSymbol>
</ConfigSection>
<ConfigSection>
<OptionChoice name='TCCopperDist' default='layeredVeins' displayState='shown' displayGroup='groupTinkerC'>
<Description> Controls how copper is generated </Description>
<DisplayName>Copper Type</DisplayName>
<Choice value='layeredVeins' displayValue='Veins'>
<Description>
Concentrated veins of copper ore.
</Description>
</Choice>
<Choice value='strategicClouds' displayValue='Clouds'>
<Description>
Rare, sparsely populated clouds of ore extending over several chunks.
</Description>
</Choice>
<Choice value='vanillaStdGen' displayValue='Clusters'>
<Description>
Small evenly scattered clusters of ore. This is the vanilla copper generation.
</Description>
</Choice>
<Choice value='none' displayValue='None' description='No copper is generated at all.'/>
</OptionChoice>
<OptionNumeric name='TCCopperFreq' default='1' min='0' max='5' displayState='hidden' displayGroup='groupTinkerC'>
<Description> Frequency multiplier for copper distributions </Description>
<DisplayName>Copper Freq.</DisplayName>
</OptionNumeric>
<OptionNumeric name='TCCopperSize' default='1' min='0' max='5' displayState='hidden' displayGroup='groupTinkerC'>
<Description> Size multiplier for copper distributions </Description>
<DisplayName>Copper Size</DisplayName>
</OptionNumeric>
<MystcraftSymbol name='copperClusters' displayName='Copper Clusters'/>
<MystcraftSymbol name='copperVeins' displayName='Copper Veins'/>
<MystcraftSymbol name='copperClouds' displayName='Copper Clouds'>
<Instability>:= 50 * (age.copperClusters + age.copperVeins + age.copperClouds - 1)^3</Instability>
</MystcraftSymbol>
</ConfigSection>
<ConfigSection>
<OptionChoice name='TCTinDist' default='layeredVeins' displayState='shown' displayGroup='groupTinkerC'>
<Description> Controls how tin is generated </Description>
<DisplayName>Tin Type</DisplayName>
<Choice value='layeredVeins' displayValue='Veins'>
<Description>
Concentrated veins of tin ore.
</Description>
</Choice>
<Choice value='strategicClouds' displayValue='Clouds'>
<Description>
Rare, sparsely populated clouds of ore extending over several chunks.
</Description>
</Choice>
<Choice value='vanillaStdGen' displayValue='Clusters'>
<Description>
Small evenly scattered clusters of ore. This is the vanilla tin generation.
</Description>
</Choice>
<Choice value='none' displayValue='None' description='No tin is generated at all.'/>
</OptionChoice>
<OptionNumeric name='TCTinFreq' default='1' min='0' max='5' displayState='hidden' displayGroup='groupTinkerC'>
<Description> Frequency multiplier for tin distributions </Description>
<DisplayName>tin Freq.</DisplayName>
</OptionNumeric>
<OptionNumeric name='TCTinSize' default='1' min='0' max='5' displayState='hidden' displayGroup='groupTinkerC'>
<Description> Size multiplier for tin distributions </Description>
<DisplayName>Tin Size</DisplayName>
</OptionNumeric>
<MystcraftSymbol name='tinClusters' displayName='Tin Clusters'/>
<MystcraftSymbol name='tinVeins' displayName='Tin Veins'/>
<MystcraftSymbol name='tinClouds' displayName='Tin Clouds'>
<Instability>:= 50 * (age.tinClusters + age.tinVeins + age.tinClouds - 1)^3</Instability>
</MystcraftSymbol>
</ConfigSection>
</ConfigSection>
<IfCondition condition=':= dimension.generator = "RandomLevelSource"'>
<Substitute name='StandardOreSubstitute' block='stone'>
<Description>
Replace vanilla-generated ore clusters with stone.
</Description>
<Comment>
The global option deferredPopulationRange must be large enough to catch all ore clusters (>= 32).
</Comment>
<Replaces block='oreAluminum'/>
<Replaces block='oreCopper'/>
<Replaces block='oreTin'/>
</Substitute>
<ConfigSection>
<IfCondition condition=':= if(age, age.aluminumClusters > 0, TCAluminumDist = "vanillaStdGen")'>
<StandardGen name='AluminumStandard' block='oreAluminum' inherits='PresetStandardGen'>
<Description> Equivalent to vanilla minecraft aluminum distribution </Description>
<DrawWireframe>:=drawWireframes</DrawWireframe>
<WireframeColor>0x40221100</WireframeColor>
<Setting name='Size' avg=':= TCAluminumSize * _default_'/>
<Setting name='Frequency' avg=':= TCAluminumFreq * if(age,age.aluminumClusters,1) * _default_'/>
<Setting name='Height' avg=':= 32/64 * dimension.groundLevel' range=':= 20/64 * dimension.groundLevel'/>
</StandardGen>
</IfCondition>
<IfCondition condition=':= if(age, age.aluminumVeins > 0, TCAluminumDist = "layeredVeins")'>
<Veins name='AluminumVeins' block='oreAluminum' inherits='PresetLayeredVeins'>
<Description>
Aluminum spawns in the height 0-64 range. The veins are average in length and size.
</Description>
<DrawWireframe>:=drawWireframes</DrawWireframe>
<WireframeColor>0x40221100</WireframeColor>
<Setting name='MotherlodeFrequency' avg=':= 0.9 * TCAluminumFreq * if(age,age.aluminumVeins,1) * _default_'/>
<Setting name='MotherlodeSize' avg=':= TCAluminumSize * _default_' range=':= TCAluminumSize * _default_'/>
<Setting name='MotherlodeHeight' avg=':= 32/64 * dimension.groundLevel' range=':= 20/64 * dimension.groundLevel' type='normal'/>
<Setting name='BranchHeightLimit' avg='10.5'/>
<Setting name='SegmentRadius' avg=':= TCAluminumSize * _default_' range=':= TCAluminumSize * _default_'/>
</Veins>
<Veins name='AluminumVeinsForest' inherits='AluminumVeins'>
<Description> This roughly triples the chance of finding aluminum in forest biomes. </Description>
<Setting name='MotherlodeFrequency' avg=':= 2 * _default_'/>
<Setting name='MotherlodeHeight' avg=':=_default_' range=':= 2 * _default_'/>
<Setting name='BranchHeightLimit' avg=':= 2 * _default_'/>
<BiomeType name='Forest'/>
<BiomeType name='Water' weight='-1'/>
</Veins>
</IfCondition>
<IfCondition condition=':= if(age, age.aluminumClouds > 0, TCAluminumDist = "strategicClouds")'>
<Cloud name='AluminumCloud' block='oreAluminum' inherits='PresetStrategicCloud'>
<Description>
Diffuse aluminum cloud surrounded by single-block "hint" veins, found in forest biomes.
</Description>
<DrawWireframe>:=drawWireframes</DrawWireframe>
<WireframeColor>0x40221100</WireframeColor>
<Setting name='DistributionFrequency' avg=':= 2.5 * TCAluminumFreq * if(age,age.aluminumClouds,1) * _default_'/>
<Setting name='CloudRadius' avg=':= TCAluminumSize * _default_' range=':= TCAluminumSize * _default_'/>
<Setting name='CloudThickness' avg=':= TCAluminumSize * _default_' range=':= TCAluminumSize * _default_'/>
<BiomeType name='Forest'/>
<BiomeType name='Water' weight='-1'/>
<Veins name='AluminumHintVeins' block='oreAluminum' inherits='PresetHintVeins'>
<DrawWireframe>:=drawWireframes</DrawWireframe>
<WireframeColor>0x40221100</WireframeColor>
<Setting name='MotherlodeFrequency' avg=':= _default_' range=':= _default_'/>
<Setting name='MotherlodeRangeLimit' avg=':= TCAluminumSize * _default_' range=':= TCAluminumSize * _default_'/>
</Veins>
</Cloud>
</IfCondition>
</ConfigSection>
<ConfigSection>
<IfCondition condition=':= if(age, age.copperClusters > 0, TCCopperDist = "vanillaStdGen")'>
<StandardGen name='CopperStandard' block='oreCopper' inherits='PresetStandardGen'>
<Description> Equivalent to vanilla minecraft copper distribution </Description>
<DrawWireframe>:=drawWireframes</DrawWireframe>
<WireframeColor>0x40221100</WireframeColor>
<Setting name='Size' avg=':= TCCopperSize * _default_'/>
<Setting name='Frequency' avg=':= TCCopperFreq * if(age,age.copperClusters,1) * _default_'/>
<Setting name='Height' avg=':= 32/64 * dimension.groundLevel' range=':= 20/64 * dimension.groundLevel'/>
</StandardGen>
</IfCondition>
<IfCondition condition=':= if(age, age.copperVeins > 0, TCCopperDist = "layeredVeins")'>
<Veins name='CopperVeins' block='oreCopper' inherits='PresetLayeredVeins'>
<Description>
Copper spawns in the height 0-64 range. The veins are average in length and size..
</Description>
<DrawWireframe>:=drawWireframes</DrawWireframe>
<WireframeColor>0x40221100</WireframeColor>
<Setting name='MotherlodeFrequency' avg=':= 0.9 * TCCopperFreq * if(age,age.copperVeins,1) * _default_'/>
<Setting name='MotherlodeSize' avg=':= TCCopperSize * _default_' range=':= TCCopperSize * _default_'/>
<Setting name='MotherlodeHeight' avg=':= 32/64 * dimension.groundLevel' range=':= 20/64 * dimension.groundLevel' type='normal'/>
<Setting name='BranchHeightLimit' avg='10.5'/>
<Setting name='SegmentRadius' avg=':= TCCopperSize * _default_' range=':= TCCopperSize * _default_'/>
</Veins>
<Veins name='CopperVeinsCold' inherits='CopperVeins'>
<Description> This roughly triples the chance of finding copper in mesa biomes. </Description>
<Setting name='MotherlodeFrequency' avg=':= 2 * _default_'/>
<Setting name='MotherlodeHeight' avg=':=_default_' range=':= 2 * _default_'/>
<Setting name='BranchHeightLimit' avg=':= 2 * _default_'/>
<BiomeType name='Mesa'/>
<BiomeType name='Water' weight='-1'/>
</Veins>
</IfCondition>
<IfCondition condition=':= if(age, age.copperClouds > 0, TCCopperDist = "strategicClouds")'>
<Cloud name='CopperCloud' block='oreCopper' inherits='PresetStrategicCloud'>
<Description>
Diffuse copper cloud surrounded by single-block "hint" veins, found in mesa biomes.
</Description>
<DrawWireframe>:=drawWireframes</DrawWireframe>
<WireframeColor>0x40221100</WireframeColor>
<Setting name='DistributionFrequency' avg=':= 2.5 * TCCopperFreq * if(age,age.copperClouds,1) * _default_'/>
<Setting name='CloudRadius' avg=':= TCCopperSize * _default_' range=':= TCCopperSize * _default_'/>
<Setting name='CloudThickness' avg=':= TCCopperSize * _default_' range=':= TCCopperSize * _default_'/>
<BiomeType name='Mesa'/>
<BiomeType name='Water' weight='-1'/>
<Veins name='CopperHintVeins' block='oreCopper' inherits='PresetHintVeins'>
<DrawWireframe>:=drawWireframes</DrawWireframe>
<WireframeColor>0x40221100</WireframeColor>
<Setting name='MotherlodeFrequency' avg=':= _default_' range=':= _default_'/>
<Setting name='MotherlodeRangeLimit' avg=':= TCCopperSize * _default_' range=':= TCCopperSize * _default_'/>
</Veins>
</Cloud>
</IfCondition>
</ConfigSection>
<ConfigSection>
<IfCondition condition=':= if(age, age.tinClusters > 0, TCTinDist = "vanillaStdGen")'>
<StandardGen name='TinStandard' block='oreTin' inherits='PresetStandardGen'>
<Description> Equivalent to vanilla minecraft tin distribution </Description>
<DrawWireframe>:=drawWireframes</DrawWireframe>
<WireframeColor>0x40221100</WireframeColor>
<Setting name='Size' avg=':= tinSize * _default_'/>
<Setting name='Frequency' avg=':= TCTinFreq * if(age,age.tinClusters,1) * _default_'/>
<Setting name='Height' avg=':= 32/64 * dimension.groundLevel' range=':= 20/64 * dimension.groundLevel'/>
</StandardGen>
</IfCondition>
<IfCondition condition=':= if(age, age.tinVeins > 0, TCTinDist = "layeredVeins")'>
<Veins name='TinVeins' block='oreTin' inherits='PresetLayeredVeins'>
<Description>
Tin spawns in the height 0-64 range. The veins are average in length and size.
</Description>
<DrawWireframe>:=drawWireframes</DrawWireframe>
<WireframeColor>0x40221100</WireframeColor>
<Setting name='MotherlodeFrequency' avg=':= 0.9 * TCTinFreq * if(age,age.tinVeins,1) * _default_'/>
<Setting name='MotherlodeSize' avg=':= TCTinSize * _default_' range=':= TCTinSize * _default_'/>
<Setting name='MotherlodeHeight' avg=':= 32/64 * dimension.groundLevel' range=':= 20/64 * dimension.groundLevel' type='normal'/>
<Setting name='BranchHeightLimit' avg='10.5'/>
<Setting name='SegmentRadius' avg=':= TCTinSize * _default_' range=':= TCTinSize * _default_'/>
</Veins>
<Veins name='TinVeinsJungle' inherits='TinVeins'>
<Description> This roughly triples the chance of finding tin in jungle biomes. </Description>
<Setting name='MotherlodeFrequency' avg=':= 2 * _default_'/>
<Setting name='MotherlodeHeight' avg=':=_default_' range=':= 2 * _default_'/>
<Setting name='BranchHeightLimit' avg=':= 2 * _default_'/>
<BiomeType name='Jungle'/>
<BiomeType name='Water' weight='-1'/>
</Veins>
</IfCondition>
<IfCondition condition=':= if(age, age.tinClouds > 0, TCTinDist = "strategicClouds")'>
<Cloud name='TinCloud' block='oreTin' inherits='PresetStrategicCloud'>
<Description>
Diffuse tin cloud surrounded by single-block "hint" veins, found in jungle biomes.
</Description>
<DrawWireframe>:=drawWireframes</DrawWireframe>
<WireframeColor>0x40221100</WireframeColor>
<Setting name='DistributionFrequency' avg=':= 2.5 * TCTinFreq * if(age,age.tinClouds,1) * _default_'/>
<Setting name='CloudRadius' avg=':= TCTinSize * _default_' range=':= TCTinSize * _default_'/>
<Setting name='CloudThickness' avg=':= TCTinSize * _default_' range=':= TCTinSize * _default_'/>
<BiomeType name='Jungle'/>
<BiomeType name='Water' weight='-1'/>
<Veins name='TinHintVeins' block='oreTin' inherits='PresetHintVeins'>
<DrawWireframe>:=drawWireframes</DrawWireframe>
<WireframeColor>0x40221100</WireframeColor>
<Setting name='MotherlodeFrequency' avg=':= _default_' range=':= _default_'/>
<Setting name='MotherlodeRangeLimit' avg=':= TCTinSize * _default_' range=':= TCTinSize * _default_'/>
</Veins>
</Cloud>
</IfCondition>
</ConfigSection>
</IfCondition>
</IfModInstalled>
Typos...bluh...guess that's what I get for making those edits in Notepad. But yes, you're most welcome; hope it helps people some.
Thanks to your changes, this seems to register in the client, although I am only now noting that I apparently had to put the file inside the "CustomOreGen Extra Modules" folder specifically for it to work. I was putting it in the "Standard Modules" folder, and nothing was happening. Is that behaviour noted somewhere? I missed the note if it was.
I'll give it a test and let you know if there are any glaring problems.
Oh, and a question; is there a plan to add Nether ore configs? I noted that the current standard config file only addresses the Overworld at the moment.
EDIT: After grappling with some on-start crashes where the Oregen mod couldn't find the desired ore blocks to use, I've changed the TC config file to use the blockIDs directly, which seems to work (so far). This of course means that anyone using this config needs to ensure their TC ore blockIDs and the ID listings in this file match for it to work (I am currently using the default IDs for the ores, so it won't trouble most folks, but I may as well be clear).
Current, so-far-working version of the config follows:
EDIT2: Hmm. Been testing. It seems that, when I generate new chunks where (presumably) new ore veins are being created, the game starts throwing very brief, but more and more frequent, lag spikes over a few minutes, and my allocated memory soon hits the ceiling, causing the game to lock up. This behavior is new as of installing CustomOreGen on my client. I'd provide a crash report, but the game doesn't have a chance to produce one. I'll test it without my TC config and see if it produces the same behavior.
EDIT3: Yup, it does. Some kind of a memory leak, maybe? I allocated the game 3GB of memory to use and it seems to hit that ceiling really fast (can be as quick as 20 seconds) if I generate enough chunks at once.
I'd be happy to take any contributions for the nether (I presume you're referring to the vanilla quartz generation?)
Well, I don't think using the numeric IDs is a great idea. As you say, they are configuration dependent and soon will go away altogether. Please elaborate on why the string names did not work.
Well this is the first report of such an issue. Would you please try in a fresh world without your TC config? Maybe something in the TC config caused corruption leading to this.
Yeah, vanilla quartz, although TC also adds its own Nether ores as well. I'm not sure when I'll get around to it, as I was most concerned with the overworld ores, but I'll post a config for it when I have one to show.
As for the string names, I agree it's not the best solution, but I couldn't get the mod to register the blocks without using the IDs at the time. I initially used "oreTin", "oreAluminum", etc, for the names. I was working on it while a bit tired, and upon reflection I may need to use the actual in-game strings; "Tin Ore", "Aluminum Ore", etc, instead. Can you clarify; what exactly do those string name functions look at to determine which block to use? Where should I look to identify the strings/names I should be using?
As for the lockup issue, I did exactly that as part of my tests when I posted earlier. I'll test it again with a clean install, and let you know what I find. I am currently using Forge .844 with MC 1.6.2, and my MC client is admittedly modded to the gills, including some worldgen stuff, so there could definitely be a conflict with another mod I have on there. But I can confirm this problem wasn't happening before I added CustomOreGen to my pack.
I'll let you know what I find out; I have some clear suspicions on what mods are the likeliest culprits for conflicts.
I've got a test world, with just 4 mods. Mystcraft, Twilight Forest, COG, and EBXL.
That's just about the minimum core for me.
I can turn on wireframes (/cogEnableDebugging, /cogWireframeMode wireframe).
Teleporting to 1800, 1800, I see wireframes, and COG generation.
Teleporting to -1800, -1800, I do NOT see wireframes; I see vanilla generation.
Initial testing shows that different distributions stop generating wireframes around -100 to -250
(All of this is with standard, unmodified configs).
Adric: Doctor, what is your space like?
Doctor: I just told you, it's positive.
EDIT: To clarify: It's not being fixed by logging out and logging back in this time; I still see no wireframes or COG ores.
* Promoting this week: Captive Minecraft 4, Winter Realm. Aka: Vertical Vanilla Viewing. Clicky!
* My channel with Mystcraft, and general Minecraft Let's Plays: http://www.youtube.com/user/Keybounce.
* See all my video series: http://www.minecraftforum.net/forums/minecraft-editions/minecraft-editions-show-your/2865421-keybounces-list-of-creation-threads
(In regard to a mod that gives realistic animal genetics):
Would you really rather have bees that make diamonds and oil with magical genetic blocks?
... did I really ask that?
I replaced the old world with a new world; same seed, same settings, but made in 162. I logged in, expecting to be back at -1800, -1800. (Silly me :-).
Spawn point underwater; I didn't think that was possible. Look around, turn on debugging. See too many wireframes.
Set wireframe mode to "wireframe", and get a client-side crash. Crash report ID's COG.
-- Head --
Stacktrace:
at com.google.gson.internal.Streams.parse(Streams.java:54)
at com.google.gson.TreeTypeAdapter.read(TreeTypeAdapter.java:54)
at com.google.gson.Gson.fromJson(Gson.java:795)
at com.google.gson.Gson.fromJson(Gson.java:761)
at com.google.gson.Gson.fromJson(Gson.java:710)
at com.google.gson.Gson.fromJson(Gson.java:682)
-- Serialized Message --
Details:
JSON string: {text: "§cError: Invalid wireframe mode 'wirframe'"
Stacktrace:
at net.minecraft.util.ChatMessageComponent.func_111078_c(SourceFile:220)
at net.minecraft.client.multiplayer.NetClientHandler.func_72481_a(NetClientHandler.java:877)
at CustomOreGen.mod_CustomOreGen.clientCustomPayload(mod_CustomOreGen.java:168)
Ahh, piffle. Turns out I typed "wirframe" instead of "wireframe", and my client crashed.
* Promoting this week: Captive Minecraft 4, Winter Realm. Aka: Vertical Vanilla Viewing. Clicky!
* My channel with Mystcraft, and general Minecraft Let's Plays: http://www.youtube.com/user/Keybounce.
* See all my video series: http://www.minecraftforum.net/forums/minecraft-editions/minecraft-editions-show-your/2865421-keybounces-list-of-creation-threads
(In regard to a mod that gives realistic animal genetics):
Would you really rather have bees that make diamonds and oil with magical genetic blocks?
... did I really ask that?
Investigation continues ...
EDIT: Definitely found COG coal at -1800, -1800 ... was mis-reading that mineral detector scanner
EDIT 2: Just flew across a lot of EH, and lots of exposed stone ... and no exposed coal. So that looks like no vanilla coal, which implies the substitute is working ... but still no wireframe display.
EDIT 3: Flew out from 0,0, towards -1800, -1800. Now the wireframes do display, where before they did not.
Next step: Start adding mods into the server, and see when I stop getting COG ores
* Promoting this week: Captive Minecraft 4, Winter Realm. Aka: Vertical Vanilla Viewing. Clicky!
* My channel with Mystcraft, and general Minecraft Let's Plays: http://www.youtube.com/user/Keybounce.
* See all my video series: http://www.minecraftforum.net/forums/minecraft-editions/minecraft-editions-show-your/2865421-keybounces-list-of-creation-threads
(In regard to a mod that gives realistic animal genetics):
Would you really rather have bees that make diamonds and oil with magical genetic blocks?
... did I really ask that?
I've fixed the crash on sending the wireframe mode error message (easy one). I'm wondering if the crash has something to do with you not seeing wireframes. Just for simplicity, would you mind recreating the world and then checking? Do you have a substitute for Coal in a custom config? Because otherwise coal is blocked via the vanilla ore generation option. I hope we can get to the bottom of this; so far there have been a lot of conflicting reports. Will do some debugging tonight.
*Dances*
*Dances some more*
*Continues dancing, falls asleep, sleep-dances*
You just made my day! Thanks so much for returning this absolutely wonderful gem to Minecraft--I've missed it dearly!
Diamonds for you:
(For those of you playing at home, those are Diamond Blocks, worth 9 diamonds each. Yes, I am aware of the implications of rating something 45/5 stars. Yes, that rating still stands, because this mod is wonderful and I missed it so much.)
Unless you modified the configs, the default behavior is substitute (has been since 1.4.5, I believe). Checking ... Yep, vanilla ore gen is true, so ... iiiiccccckkk
Can someone double check this for me? The "wipe everything out" substitute distribution in MinecraftOres.xml does not seem to be wrapped inside any sort of test for vanillaOreGen, so instead of only running if you have vanilla ores, it runs all the time -- which, if true, would mean that a naive attempt to get mystcraft/twilight forest working with "leave the special ground generation untouched" would fail.
Hmm, interesting comment:
I still like COG, and want it. Yet ...
Back when I had vanilla ore distribution, I would live in the caves. I would pretty them up, map them, "care for them", as it were, because the caves mattered.
Now? A cave only matters if I can find an ore vein. I don't bother making them pretty anymore, because most of them I'm not in for long.
Not sure if this is good or bad, or what.
* Promoting this week: Captive Minecraft 4, Winter Realm. Aka: Vertical Vanilla Viewing. Clicky!
* My channel with Mystcraft, and general Minecraft Let's Plays: http://www.youtube.com/user/Keybounce.
* See all my video series: http://www.minecraftforum.net/forums/minecraft-editions/minecraft-editions-show-your/2865421-keybounces-list-of-creation-threads
(In regard to a mod that gives realistic animal genetics):
Would you really rather have bees that make diamonds and oil with magical genetic blocks?
... did I really ask that?