So I'm now looking at some gold and iron veins, trying to go to practical understanding of what is actually made.
My goal here is to get shorter, smaller veins in the overworld, with clouds and normal veins in mystcraft ages, without having to use any of the API (to upgrade to 0.10.1 at least.)
I had thought that a normal vein, with the standard config, would be a solid vein; the wireframes certainly look solid.
So the diameter is 1, only on average; it can be as low as 0.4. A diameter of 0.4 can easily pass between blocks. And, this is not a "normal" distribution -- the edges are as common as the center.
Gold then takes this farther:
<Setting name='SegmentRadius' avg=':= 0.7 * goldSize * _default_' range=':= 0.5 * goldSize * _default_'/>
If I'm reading this right, the diameter is 70% -- so the diameter is .7, with a range of 0.3 * 0.5 = 0.15.
Final diameter of 0.55 to 0.85, randomly chosen.
So, if I understand correctly, if the gold vein is curving, then, one view is that at any point there is a .15 to .45 chance that the vein will not cross the center of a block, and will be skipped. Right?
No. I was digging out a gold vein today, trying to understand what I was not seeing. I knocked the oreSize up to 2, which was enough to force the gold to be constant without interruption. I then dug out around the vein, and started shrinking the oreSize ("cogPopulate", gotta love it). Even at 1.25 I was seeing skips. And, I realized: if it is curving slightly, rather than curving strongly, then the chance of a curve managing to miss potentially several blocks is actually 100%.
I looked at some of the wireframes where it was curving, where spots were being skipped. Since the diameter must be below one, if the curve is "mostly lined up" with one of the 4 block directions, it will slide between the centers, and go a long ways without being seen.
Turns out, I've missed quite a lot of ores.
What's iron like?
Iron is the most confusing of the distributions.
The segment radius? Default.
Motherlode size? Default.
Motherlode frequency? 0.9 * default. Not default. (Q: ?)
And iron veins can still range from diameter 0.4 to 1.6 -- iron actually can skip even more (gold's thickness is at least 0.55), but it's less likely to do so. You're more likely to think you've found it, and it's come to an end because it usually doesn't skip.
Conclusion #1: Even when you think you've dug it all out, these veins hide surprises behind the walls.
Conclusion #2: Knowing where the vein goes is more important than I had previously thought. Just mining it out might not be as good as actually tracking the vein before you mine it out.
Turns out, the caving area around my base has 8 gold veins, and 3 iron veins. One of those three irons is entirely in the water.
Yea, the biggest point I found: Iron generates right in the ocean zone, and vanilla generates a lot of oceans. The second of those three irons is not inside any caving system we've worked so far (farther down past any torch). And the third goes farther than I thought it did.
(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?
Translation:
All of the preset vein layouts define some concept of how many branches off of a motherlode to make.
The only specific vein that changes this is gold, and it uses the master's default.
So what's encouraging about this? It means that I can make a "smaller veins" distribution. Smaller, but more common motherlodes, with fewer branches -- and I can do it with just a couple of <IfCondition> clauses in one place!
Why?
Right now, COG has a small degree of artificial scarcity. Once you've found a vein, you have TONS; until you find a vein, you are short.
What's an extreme form of the veins? I was thinking about this. What if motherlodes were much, much rare, but the veins were much much longer to compensate? If you wandered around in caves, you would find an exposed vein; you could then harvest that vein, with time and effort, and get gobs and gobs of resources. If the veins are long enough, then any cave will run into some vein at some point, so your first cave will reveal all the resources within worldgen distance.
I consider that excessive/imbalanced. And, for what I want, I consider the existing ore sizes -- especially iron -- to be much the same. Now that I know how big they actually are, it's too much.
In short: I don't want to be "out of resources".
But I don't want to be drowning in them either.
I don't want to have resources that are so hard to find -- sources need to be more common. But not as common as vanilla's "everywhere".
And when they are found, there's some, but not crazy lots.
(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 haven't actually used the mod yet because I've just now found it - but this looks amazing and I can't wait for a 1.5 update so I can use it! I hope your computer issues are fixed soon.
Also on a related note, I'm really excited to try your mod out because I used "Better Ore Distribution" before and I didn't like that it also re-distributed dirt and gravel (it made caves basically 100% solid stone, very boring to explore) and the clusters were far too common.
I hope to see an update soon and thanks for all the effort
Rollback Post to RevisionRollBack
Like to build? Check out Charlotte's Utilities - Layout Blocks, Brushes, Prospectors, and more!
Follow me on twitter @charlotte_c_b for updates! You can also find me in irc.esper.net as Ilandria
Development of my mods is made possible by Full Effect Hosting
Just finishing putting it all together, should be testing within an hour.
====
Requests:
1. The ability to add a new option to the config, and have that option get saved out to the dimension's option file. Right now, if a new option is defined, then new worlds get that option's new default value saved, but old worlds do not. This means that if a config file is going to maintain compatibility, it has to determine "Did this world even have this value or not, in which case I have to assume the default is an unstated value based on how old that option file is", versus "Did this default come from this config file, and is now saved in that option file"?
Of course, so far I can only figure out how to do this if I can get a version number out of the option file. Which brings up #2:
2. The ability to force ages (or other dimensions) to get an option file, even if they do not have a dimension specific config file. In other words, when a dimension is loaded, (and this is documented behavior but it is strange behavior), an option file for that dimension is only generated if that dimension has a dimension specific config file, not if it uses the normal default config file. The result of this is that all mystcraft ages (tested 2 so far) have no config file, and so no option file, by default, and any age-specific random choices are not saved anywhere. This means that issue #1 above has to be determined for EVERY option for every age.
Right now, I have one version of config file, so I can recreate everything, if I'm careful with my world.nextRandoms. That's kinda hard. It's like the fragile base class problem -- if one of my config files wants to use a new random number at some point, what happens to the next config file in the OptionalImport sequence?
(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?
Update: I have been having significant computer + internet issues for the last 3 weeks. Hopefully they get cleared up soon. Thank you all for your patience.
I know he indicated much earlier that he was having issues with the new parser; I don't know what the status of that is now.
I haven't seen any indication of how NetherQuartz will be handled in the 1.5 versions. (I may have missed it. There's been plenty of ideas for new ore distribution styles in this thread.)
If you don't need any special 1.5.1 world generators, then you can fly around in this one, use /cogPopulate a few times, and generate your world to use when playing in 1.5.1. I don't know how well that will work for Mystcraft's 0.10.{2,3} version / addons. I do suspect it will fail for any of Draco's new instabilities.
(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?
Seems pretty straight forward, right? Basically a "Which one do we define"?
Trying to change "dim0veinSize" had no effect.
I realized that this was because the output of the XML parser only contained one definition for PresetLayeredVeins, not an if statement.
And, attempting to redefine and reload resulted in the changed definition being overwritten when the config was reloaded.
(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?
1. In ocean biomes, iron and coal are moved lower down. Just imagine an ocean biome start, where you're on an island in the middle of the sea. Normally, half your iron, and almost all your coal is wiped out by being in air/water.
2. A new type of layered veins, smaller, but more common.
3. Myst ages that are using layered veins will randomly select one of the two at 50/50 chance.
4. You can use an age option file to force an age one way or the other. But these option file won't be created for you (can't figure out any way to do this automatically).
5. Dimension 0 options that you will probably want to override in ages are now named with a "dim0" prefix.
Not yet done:
1. Any way to record what options were used in an age.
2. Simple support for small layered vein distributions, in the same way you have layered veins / clouds / clusters identified as such in the normal options file for the overworld.
Potential issues:
1. Since the default seed for distributions is based on position in the config, and the distributions are now changed (two new distributions for CoalOcean and IronOcean), some things might not line up in debugging mode anymore. I have no idea if any veins near the edge of generated chunks will be cut on the chunk boundaries or not.
2. Only minimal testing.
3. It's 10:30 pm, and I'm tired. Rather than risking getting anything else wrong, I'll post in the morning.
(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?
(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?
(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?
Testing out some new vein distributions, with /cogPopulate 48. That's expected to give about 9 region files worth of data.
Server memory did NOT run out. Close, but GC log clearly showed it did not fail.
Client DC'd early, as expected:
2013-04-30 23:20:04 [INFO] [STDERR] java.net.SocketTimeoutException: Read timed out
Server finished, without memory issues.
However, the dimension in question (mystcraft age) did not unload.
Server has this to say:
2013-04-30 23:26:58 [INFO] [Minecraft] keybounce lost connection: disconnect.endOfStream
2013-04-30 23:26:58 [INFO] [STDOUT] Unloading Player: keybounce
2013-04-30 23:27:13 [WARNING] [Minecraft] Can't keep up! Did the system time change, or is the server overloaded?
2013-04-30 23:27:52 [INFO] [STDERR] t: Exception ticking world
2013-04-30 23:27:52 [INFO] [STDERR] at net.minecraft.server.MinecraftServer.r(MinecraftServer.java:675)
2013-04-30 23:27:52 [INFO] [STDERR] at ho.r(DedicatedServer.java:270)
2013-04-30 23:27:52 [INFO] [STDERR] at net.minecraft.server.MinecraftServer.q(MinecraftServer.java:599)
2013-04-30 23:27:52 [INFO] [STDERR] at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:497)
2013-04-30 23:27:52 [INFO] [STDERR] at fy.run(SourceFile:849)
2013-04-30 23:27:52 [INFO] [STDERR] Caused by: java.lang.IllegalStateException: TickNextTick list out of synch
2013-04-30 23:27:52 [INFO] [STDERR] at in.a(WorldServer.java:536)
2013-04-30 23:27:52 [INFO] [STDERR] at in.b(WorldServer.java:178)
2013-04-30 23:27:52 [INFO] [STDERR] at net.minecraft.server.MinecraftServer.r(MinecraftServer.java:669)
2013-04-30 23:27:52 [INFO] [STDERR] ... 4 more
2013-04-30 23:27:52 [SEVERE] [Minecraft] Encountered an unexpected exception t
t: Exception ticking world
at net.minecraft.server.MinecraftServer.r(MinecraftServer.java:675)
at ho.r(DedicatedServer.java:270)
at net.minecraft.server.MinecraftServer.q(MinecraftServer.java:599)
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:497)
at fy.run(SourceFile:849)
Caused by: java.lang.IllegalStateException: TickNextTick list out of synch
at in.a(WorldServer.java:536)
at in.b(WorldServer.java:178)
at net.minecraft.server.MinecraftServer.r(MinecraftServer.java:669)
... 4 more
2013-04-30 23:27:52 [SEVERE] [Minecraft] This crash report has been saved to: /Volumes/UserData/Users/michael/Documents/Games/Minecraft/Playing/SMP/MainServer75/./crash-reports/crash-2013-04-30_23.27.52-server.txt
Note the time involved; almost a full minute after recognizing that I had timed out, and 39 seconds after catching up with the 20 ticks per second.
Full forge log, including another crash after trying to "stop" the server from the console: http://pastebin.com/KWQe8TZq
(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?
Over at Dynamic Maps, Mike Primm had the problem that it was chewing up massive amounts of memory and CPU, more than should be expected. What he found was that the chunks being loaded into memory were activated and made live, and then unloaded; this triggered all sorts of increased CPU, increased memory, and increased activity of mods. He found a way to load the chunks into memory without activating them, eliminating all the secondary effects of them being loaded, taming the memory consumption and eliminating any attempt by other mods to play with the chunks.
I'm curious if you can do the same with cogPopulate. You have to generate/load the chunks, fine. You have to alter the blocks in them. And then save the chunks out. But is it possible to do this without activating all the chunks as well?
Equally, that cogPopulate 48 I did drove the server's memory allocation up from approximately 75 MB of tenured, and 2 MB of temporary, up to 256 MB of tenured (maximum tenured space I had allocated) and about 60 MB of temporary (in reality, that "temporary" was as permanent as tenured). Even after the command finished, and the server was sitting around with no one on, it only dropped from about 315 MB down to about 290 MB. The populated chunks never seemed to unload, nor did the mystcraft age once it was unused.
Now, granted, cogPopulate is not a normal command for everyday use. Still, I'm curious -- given the whole issue of lots of leaking worlds seen in dimension mods, if you could figure out why this is making stuff stick, maybe that could help the various dimension mods as well.
===
A long time ago, I had asked about making distributions dependent on what's in the ground. You had said this was not possible -- that the determination of where motherlodes would go was done before the chunks were generated (basically, after determining the biome map, and before determining the noise map, if I understood correctly). Is that still the case? I noticed that the current standard distribution contains a lava-lake rooted preset, so what's new with possible distribution rules?
===
I'd like advice on ocean-biome specific rules for coal and iron. I'd like this from ANYONE still reading this post.
The basic issue: Vanilla generates coal and iron at all depths. So, if you have an ocean biome start -- an island in the middle of a giant ocean -- you can still get coal and iron.
COG's default veins basically makes coal non-existant, and iron very rare. The solution is to have ocean distributions that are lowered down, with an appropriate distribution frequency.
It's not too hard to make distributions with a motherlode frequency that is a percentage of the normal (non-ocean) frequency. But what should that frequency be?
If, for example, half of the "ground" for coal is now gone -- the ocean water, and the hills above ground, compared to the ground under the ocean water -- then giving ocean coal a 50% frequency, over the 30-40 range, seems reasonable.
But ... What should be done with iron? And does that coal frequency sound right?
What's a good way to test/compare? What's a good "target" to aim for?
(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?
/cogOptionInfo 5 vein.*
2013-05-01 13:02:39 [INFO] [ForgeModLoader] Loading dimension 5 (world123) (ho@fd14be)
2013-05-01 13:02:39 [INFO] [Minecraft] CustomOreGen [1.4.6]v2 (Dim 5, 1/34 options):
veinSize = [String] Small
2013-05-01 13:02:39 [INFO] [Minecraft] [dynmap] Loaded 49 maps of world 'world123_5'.
2013-05-01 13:02:41 [WARNING] [Minecraft] Can't keep up! Did the system time change, or is the server overloaded?
Note that the dimension was loaded, to answer the question, but not unloaded afterwards.
(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?
So I finally got both test sets of cogPopulate 48 to run.
The one with smaller, more frequent distributions takes GOBS more memory. 1.6+ GB in tenured, and I had to use the throughput collector (CMS was spending all it's time doing full collections, and is apparently unable to do them well.)
Again: This is an ocean world.
First: Standard COG veins, plus an attempt to make ocean-balanced iron and coal.
Gold placed 23,300 blocks.
Iron placed about the same -- 23,900 -- from the normal distribution, plus an additional 21,100 for ocean. Total of 45020 blocks -- about double the gold.
Coal placed almost nothing -- less than 5,000 -- but an additional 60,000. Total of 64,578 -- about 1.5 times the iron.
In comparison, JRoush's numers had both coal and iron about 175%-180%; 200% and 300% is probably too much. So those ocean numbers of mine need to be turned down. If I want Iron in the ocean to total 166% of gold, then ... about 71% of what I currently have for it. For coal, a target of 175% of gold gives ... 60% of my current.
Some big surprises: redstone and lapis. I hadn't thought about them before, but a lot of redstone is above the ocean, yet this is still more than the base lapis. I actually thought they were placed in about equal amounts, but this says otherwise.
Redstone's frequency multiplier is 1.3, average length 48 (3*0.4, 4*12)
Lapis' multiplier is 0.4, average length 36. (1*0.4, 3*12).
So, if I do math correctly, redstone should be 3 * 4/3 = 4 times more common than lapis (slightly more, actually).
Hmm, no, JRoush's post was 3 times. (In fairness, that's without any ocean special casing, so that's probably confirmation.)
So, in either case, redstone in the ocean is mostly clipped (average run is from 76 down to 28, clipped to 44 down to 28. ). A 50% increase in frequency should manage to bring it up to twice the base lapis rate (probably minimal acceptable.)
So, lets look at the more frequent, smaller veins:
Coal base went from 4950 to 11815, or needing a 0.419 times conversion.
Gold base went from 23331 to 74341, or 0.314 times.
Iron base went from 23936 to 99378, or 0.241 times ...
GRR. Why are they all different?
Emerald 3517 to 13100, or 0.269 ...
Ok, this one I need to play with a little more. If anyone spots the answer, let me know:
(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?
And, sadly, re-running the test only turned up one unrelated issue.
This time, without any client logging on, I did a cogPopulate 4 30 from the console, and a cogPopulate 5 30 from the console.
Restarted the server in-between.
The motherlode's being a 4 times frequency, instead of a 3 times frequency, is a typo on one line in my config.
The completely unrelated redstone/lapis numbers, when that distribution is identical (checked with cogInfo), still confuses me.
(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?
Emerald: Unchanged (!! Yae!!)
Redstone: Unchanged (!! Ditto !!)
Diamond, and lava: ... Err, changed? Oh, right -- the substitute won't replace the old lava with stone, so the patterns will differ.
Hmm, then what about silverfish in the emerald? -- ZERO --??? I didn't think that was possible.
JRoush, how would you ensure that the silverfish cannot be "skipped" if the emerald tube is small? Looking at the code, the emerald has a segment radius of 0.51, but that's not enough to guarantee fish. It also does not scale as the segment radius changes.
work better? That would let it scale as your emeralds scale, still permit the occasional skip in smaller/default sized tubes, and generally be more likely to be found? Since this will replace more emeralds with fish, what should the default emerald segment radius change to?
Now, the big question: As I said, worlds 4 and 5 are identical. Duplicated the agedata files to create. Same seed, same everything. The distributions used have the same seed. Yet running distributions that are completely unchanged between them -- redstone and lapis -- yield numbers that are not even close. What am I missing? What is going on that I'm not aware of?
(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 feel bad that I can't help you Keybounce - I've been reading all of your posts but I have absolutely no experience with Mystcraft, COG, or even just modding Minecraft :/
Rollback Post to RevisionRollBack
Like to build? Check out Charlotte's Utilities - Layout Blocks, Brushes, Prospectors, and more!
Follow me on twitter @charlotte_c_b for updates! You can also find me in irc.esper.net as Ilandria
Development of my mods is made possible by Full Effect Hosting
So I think I've solved this. Not nearly as well as I wanted, but certainly well enough -- as good as can be without making separate small distributions for everything.
Tips on using the debugging mode, from the console, with no players logged on:
#1. Make sure you are using the throughput garbage collector (aka "old" collector), with parallel new collections.
CMS will be a disaster.
Single-threaded new (the default, watch out) will be painful.
During loading of chunks -- when you say "cogPopulate dim# chunkrange distro" -- the first loading of chunks will take forever, and will constantly trigger lots and lots of garbage collections. The dominant cost here is the cost of new collections.
Using CMS, with all the tweaking I normally do for servers, ran into constant concurrent failure above about 45 radius.
Using throughput, parallel new, I was able to push out to 55 radius.
Same total memory footprint.
#2. Copy/Paste is your friend!
A typical run for me would be the following commands:
cogLoadConfig 5
cogPopulate 5 55 standard.*|coal.*|gold.*|iron.*
cogInfo 5 coal.*|gold.*|iron.* placedblocks
As a single copy/paste item, it works just fine.
The "standard.*" is the substitute to clear out the blocks.
** NB: Do not attempt to test, or retest, diamond or emerald. The silverfish/lava placed by those do not reset properly.
#3. Since chunks do not unload when debugging commands are entered on the console, your first cogPopulate will take a long time. Go get coffee. *Do NOT exit minecraft between runs*. That was my initial mistake.
Once you've loaded the chunks, that next populate is fast.
#4. If your system runs into massive paging, kill other processes. Or, kill minecraft (force quit if you have to -- a clean shutdown is painful once java has to compete for memory pages), and restart with a smaller memory footprint.
===
I don't pretend to understand the math of what actually happens with the vein distributions.
Once I learned to how make quick, rapid "modify and test" cycles, it was pretty fast.
I could not really understand how the various forks/branches were interacting -- nothing made a lot of sense.
But through trial and error, I found something that did approximately what I wanted.
Here are distributions that put just about 1/2 the normal content per vein system. Tested with Iron and Gold (LayeredVeins) and Coal (SparseVeins), with an adjusted frequency to match.
Additionally, Coal and Iron now provide supplemental distributions in Ocean biomes. Vanilla does not starve you of these resources if you happen to have an ocean start. COG's defaults make coal painfully rare, and iron significantly so, in the ocean.
In the ocean, over a 55 chunk radius (12321 total chunks), these test to the following ores per chunk:
Using these: An option of "veinSize" can be either "COG" or "Small".
"COG" gives you standard COG veins.
"Small" gives you smaller, more frequent veins.
Currently, only Coal/Iron/Gold are adjusted.
In mystcraft ages, if you have layered veins selected, then the choice of COG or Small will be made randomly, 50/50 chance. I cannot find ANY way to save the choice into the age's config file -- in fact, I cannot find any way to even automatically make an age config file. You can make them manually.
In mystcraft ages, mushroom islands will only spawn 10% of the normal ores; non-mystcraft ages are not affected by this.
Options that affect the overworld have a "dim0" prefix on them -- this permits the overworld to have a config without forcing that config on all ages and other dimensions.
This is probably the limit of what I can do to play with mystcraft age configuration until I can save option files for ages. It's a lot less than what I had wanted to do.
*** There is a design flaw with world.nextRandom! As long as the sequence is constant based on usage counts, then any given file that wants to use this must never change the total number of calls made.
In other words, if you want to rely on a given sequence, then not only do you have to make sure that the total number of times you call it is constant, but also that the total number of times that EVERY other config file calls it is constant.
No config file/module that does not currently use a random number can start to use them in an update, otherwise any other module that does will be thrown off.
This is the fragile base class problem to an extreme; it effectively makes world.nextRandom unreliable. In particular, there is no way to save the choice being made during this config file's use of world.nextRandom, and if you have anything that does use world.nextRandom, then be aware that this config will alter your random sequence.
(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'm planning on starting a new single player world once COG gets updated. I've had my current world since like, 1.1 or something now and I'm really wanting to start a new large biomes world with the COG mineral deposits
Rollback Post to RevisionRollBack
Like to build? Check out Charlotte's Utilities - Layout Blocks, Brushes, Prospectors, and more!
Follow me on twitter @charlotte_c_b for updates! You can also find me in irc.esper.net as Ilandria
Development of my mods is made possible by Full Effect Hosting
My goal here is to get shorter, smaller veins in the overworld, with clouds and normal veins in mystcraft ages, without having to use any of the API (to upgrade to 0.10.1 at least.)
I had thought that a normal vein, with the standard config, would be a solid vein; the wireframes certainly look solid.
What I found, was a surprise:
LayeredVeinPreset:
<Setting name='SegmentRadius' avg=':= 0.5 * oreSize' range=':= 0.3 * oreSize'/>
So the diameter is 1, only on average; it can be as low as 0.4. A diameter of 0.4 can easily pass between blocks. And, this is not a "normal" distribution -- the edges are as common as the center.
Gold then takes this farther:
<Setting name='SegmentRadius' avg=':= 0.7 * goldSize * _default_' range=':= 0.5 * goldSize * _default_'/>
If I'm reading this right, the diameter is 70% -- so the diameter is .7, with a range of 0.3 * 0.5 = 0.15.
Final diameter of 0.55 to 0.85, randomly chosen.
So, if I understand correctly, if the gold vein is curving, then, one view is that at any point there is a .15 to .45 chance that the vein will not cross the center of a block, and will be skipped. Right?
No. I was digging out a gold vein today, trying to understand what I was not seeing. I knocked the oreSize up to 2, which was enough to force the gold to be constant without interruption. I then dug out around the vein, and started shrinking the oreSize ("cogPopulate", gotta love it). Even at 1.25 I was seeing skips. And, I realized: if it is curving slightly, rather than curving strongly, then the chance of a curve managing to miss potentially several blocks is actually 100%.
I looked at some of the wireframes where it was curving, where spots were being skipped. Since the diameter must be below one, if the curve is "mostly lined up" with one of the 4 block directions, it will slide between the centers, and go a long ways without being seen.
Turns out, I've missed quite a lot of ores.
What's iron like?
Iron is the most confusing of the distributions.
The segment radius? Default.
Motherlode size? Default.
Motherlode frequency? 0.9 * default. Not default. (Q: ?)
And iron veins can still range from diameter 0.4 to 1.6 -- iron actually can skip even more (gold's thickness is at least 0.55), but it's less likely to do so. You're more likely to think you've found it, and it's come to an end because it usually doesn't skip.
Conclusion #1: Even when you think you've dug it all out, these veins hide surprises behind the walls.
Conclusion #2: Knowing where the vein goes is more important than I had previously thought. Just mining it out might not be as good as actually tracking the vein before you mine it out.
Turns out, the caving area around my base has 8 gold veins, and 3 iron veins. One of those three irons is entirely in the water.
Yea, the biggest point I found: Iron generates right in the ocean zone, and vanilla generates a lot of oceans. The second of those three irons is not inside any caving system we've worked so far (farther down past any torch). And the third goes farther than I thought it did.
* 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?
Translation:
All of the preset vein layouts define some concept of how many branches off of a motherlode to make.
The only specific vein that changes this is gold, and it uses the master's default.
So what's encouraging about this? It means that I can make a "smaller veins" distribution. Smaller, but more common motherlodes, with fewer branches -- and I can do it with just a couple of <IfCondition> clauses in one place!
Why?
Right now, COG has a small degree of artificial scarcity. Once you've found a vein, you have TONS; until you find a vein, you are short.
What's an extreme form of the veins? I was thinking about this. What if motherlodes were much, much rare, but the veins were much much longer to compensate? If you wandered around in caves, you would find an exposed vein; you could then harvest that vein, with time and effort, and get gobs and gobs of resources. If the veins are long enough, then any cave will run into some vein at some point, so your first cave will reveal all the resources within worldgen distance.
I consider that excessive/imbalanced. And, for what I want, I consider the existing ore sizes -- especially iron -- to be much the same. Now that I know how big they actually are, it's too much.
In short: I don't want to be "out of resources".
But I don't want to be drowning in them either.
I don't want to have resources that are so hard to find -- sources need to be more common. But not as common as vanilla's "everywhere".
And when they are found, there's some, but not crazy lots.
* 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?
Also on a related note, I'm really excited to try your mod out because I used "Better Ore Distribution" before and I didn't like that it also re-distributed dirt and gravel (it made caves basically 100% solid stone, very boring to explore) and the clusters were far too common.
I hope to see an update soon and thanks for all the effort
Follow me on twitter @charlotte_c_b for updates! You can also find me in irc.esper.net as Ilandria
Development of my mods is made possible by Full Effect Hosting
Just finishing putting it all together, should be testing within an hour.
====
Requests:
1. The ability to add a new option to the config, and have that option get saved out to the dimension's option file. Right now, if a new option is defined, then new worlds get that option's new default value saved, but old worlds do not. This means that if a config file is going to maintain compatibility, it has to determine "Did this world even have this value or not, in which case I have to assume the default is an unstated value based on how old that option file is", versus "Did this default come from this config file, and is now saved in that option file"?
Of course, so far I can only figure out how to do this if I can get a version number out of the option file. Which brings up #2:
2. The ability to force ages (or other dimensions) to get an option file, even if they do not have a dimension specific config file. In other words, when a dimension is loaded, (and this is documented behavior but it is strange behavior), an option file for that dimension is only generated if that dimension has a dimension specific config file, not if it uses the normal default config file. The result of this is that all mystcraft ages (tested 2 so far) have no config file, and so no option file, by default, and any age-specific random choices are not saved anywhere. This means that issue #1 above has to be determined for EVERY option for every age.
Right now, I have one version of config file, so I can recreate everything, if I'm careful with my world.nextRandoms. That's kinda hard. It's like the fragile base class problem -- if one of my config files wants to use a new random number at some point, what happens to the next config file in the OptionalImport sequence?
* 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 know he indicated much earlier that he was having issues with the new parser; I don't know what the status of that is now.
I haven't seen any indication of how NetherQuartz will be handled in the 1.5 versions. (I may have missed it. There's been plenty of ideas for new ore distribution styles in this thread.)
If you don't need any special 1.5.1 world generators, then you can fly around in this one, use /cogPopulate a few times, and generate your world to use when playing in 1.5.1. I don't know how well that will work for Mystcraft's 0.10.{2,3} version / addons. I do suspect it will fail for any of Draco's new instabilities.
* 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?
If you use <IfCondition> to restrict what gets defined, then you cannot use /cogOption to change a setting and see what you would have gotten.
Example (if I didn't make a mistake in my copy/paste):
Seems pretty straight forward, right? Basically a "Which one do we define"?
Trying to change "dim0veinSize" had no effect.
I realized that this was because the output of the XML parser only contained one definition for PresetLayeredVeins, not an if statement.
And, attempting to redefine and reload resulted in the changed definition being overwritten when the config was reloaded.
<sigh>.
Re-writing in progress ...
* 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?
Changes:
1. In ocean biomes, iron and coal are moved lower down. Just imagine an ocean biome start, where you're on an island in the middle of the sea. Normally, half your iron, and almost all your coal is wiped out by being in air/water.
2. A new type of layered veins, smaller, but more common.
3. Myst ages that are using layered veins will randomly select one of the two at 50/50 chance.
4. You can use an age option file to force an age one way or the other. But these option file won't be created for you (can't figure out any way to do this automatically).
5. Dimension 0 options that you will probably want to override in ages are now named with a "dim0" prefix.
Not yet done:
1. Any way to record what options were used in an age.
2. Simple support for small layered vein distributions, in the same way you have layered veins / clouds / clusters identified as such in the normal options file for the overworld.
Potential issues:
1. Since the default seed for distributions is based on position in the config, and the distributions are now changed (two new distributions for CoalOcean and IronOcean), some things might not line up in debugging mode anymore. I have no idea if any veins near the edge of generated chunks will be cut on the chunk boundaries or not.
2. Only minimal testing.
3. It's 10:30 pm, and I'm tired. Rather than risking getting anything else wrong, I'll post in the morning.
* 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?
Add to the list: Supplemental caves do not place lava at Y=10 and below.
Nor do I have a clue how to make a child variant that places lava instead of air while restricted to only the bottom 10 layers.
* 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: Found it.
http://www.minecraftforum.net/topic/1107057-146v2-custom-ore-generation-updated-jan-5th/page__st__840#entry20133325
* 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?
Testing out some new vein distributions, with /cogPopulate 48. That's expected to give about 9 region files worth of data.
Server memory did NOT run out. Close, but GC log clearly showed it did not fail.
Client DC'd early, as expected:
2013-04-30 23:20:04 [INFO] [STDERR] java.net.SocketTimeoutException: Read timed out
Server finished, without memory issues.
However, the dimension in question (mystcraft age) did not unload.
Server has this to say:
2013-04-30 23:26:58 [INFO] [Minecraft] keybounce lost connection: disconnect.endOfStream
2013-04-30 23:26:58 [INFO] [STDOUT] Unloading Player: keybounce
2013-04-30 23:27:13 [WARNING] [Minecraft] Can't keep up! Did the system time change, or is the server overloaded?
2013-04-30 23:27:52 [INFO] [STDERR] t: Exception ticking world
2013-04-30 23:27:52 [INFO] [STDERR] at net.minecraft.server.MinecraftServer.r(MinecraftServer.java:675)
2013-04-30 23:27:52 [INFO] [STDERR] at ho.r(DedicatedServer.java:270)
2013-04-30 23:27:52 [INFO] [STDERR] at net.minecraft.server.MinecraftServer.q(MinecraftServer.java:599)
2013-04-30 23:27:52 [INFO] [STDERR] at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:497)
2013-04-30 23:27:52 [INFO] [STDERR] at fy.run(SourceFile:849)
2013-04-30 23:27:52 [INFO] [STDERR] Caused by: java.lang.IllegalStateException: TickNextTick list out of synch
2013-04-30 23:27:52 [INFO] [STDERR] at in.a(WorldServer.java:536)
2013-04-30 23:27:52 [INFO] [STDERR] at in.b(WorldServer.java:178)
2013-04-30 23:27:52 [INFO] [STDERR] at net.minecraft.server.MinecraftServer.r(MinecraftServer.java:669)
2013-04-30 23:27:52 [INFO] [STDERR] ... 4 more
2013-04-30 23:27:52 [SEVERE] [Minecraft] Encountered an unexpected exception t
t: Exception ticking world
at net.minecraft.server.MinecraftServer.r(MinecraftServer.java:675)
at ho.r(DedicatedServer.java:270)
at net.minecraft.server.MinecraftServer.q(MinecraftServer.java:599)
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:497)
at fy.run(SourceFile:849)
Caused by: java.lang.IllegalStateException: TickNextTick list out of synch
at in.a(WorldServer.java:536)
at in.b(WorldServer.java:178)
at net.minecraft.server.MinecraftServer.r(MinecraftServer.java:669)
... 4 more
2013-04-30 23:27:52 [SEVERE] [Minecraft] This crash report has been saved to: /Volumes/UserData/Users/michael/Documents/Games/Minecraft/Playing/SMP/MainServer75/./crash-reports/crash-2013-04-30_23.27.52-server.txt
Note the time involved; almost a full minute after recognizing that I had timed out, and 39 seconds after catching up with the 20 ticks per second.
Full forge log, including another crash after trying to "stop" the server from the console:
http://pastebin.com/KWQe8TZq
Edit: Age in question was single biome ocean.
* 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?
Over at Dynamic Maps, Mike Primm had the problem that it was chewing up massive amounts of memory and CPU, more than should be expected. What he found was that the chunks being loaded into memory were activated and made live, and then unloaded; this triggered all sorts of increased CPU, increased memory, and increased activity of mods. He found a way to load the chunks into memory without activating them, eliminating all the secondary effects of them being loaded, taming the memory consumption and eliminating any attempt by other mods to play with the chunks.
I'm curious if you can do the same with cogPopulate. You have to generate/load the chunks, fine. You have to alter the blocks in them. And then save the chunks out. But is it possible to do this without activating all the chunks as well?
Equally, that cogPopulate 48 I did drove the server's memory allocation up from approximately 75 MB of tenured, and 2 MB of temporary, up to 256 MB of tenured (maximum tenured space I had allocated) and about 60 MB of temporary (in reality, that "temporary" was as permanent as tenured). Even after the command finished, and the server was sitting around with no one on, it only dropped from about 315 MB down to about 290 MB. The populated chunks never seemed to unload, nor did the mystcraft age once it was unused.
Now, granted, cogPopulate is not a normal command for everyday use. Still, I'm curious -- given the whole issue of lots of leaking worlds seen in dimension mods, if you could figure out why this is making stuff stick, maybe that could help the various dimension mods as well.
===
A long time ago, I had asked about making distributions dependent on what's in the ground. You had said this was not possible -- that the determination of where motherlodes would go was done before the chunks were generated (basically, after determining the biome map, and before determining the noise map, if I understood correctly). Is that still the case? I noticed that the current standard distribution contains a lava-lake rooted preset, so what's new with possible distribution rules?
===
I'd like advice on ocean-biome specific rules for coal and iron. I'd like this from ANYONE still reading this post.
The basic issue: Vanilla generates coal and iron at all depths. So, if you have an ocean biome start -- an island in the middle of a giant ocean -- you can still get coal and iron.
COG's default veins basically makes coal non-existant, and iron very rare. The solution is to have ocean distributions that are lowered down, with an appropriate distribution frequency.
It's not too hard to make distributions with a motherlode frequency that is a percentage of the normal (non-ocean) frequency. But what should that frequency be?
If, for example, half of the "ground" for coal is now gone -- the ocean water, and the hills above ground, compared to the ground under the ocean water -- then giving ocean coal a 50% frequency, over the 30-40 range, seems reasonable.
But ... What should be done with iron? And does that coal frequency sound right?
What's a good way to test/compare? What's a good "target" to aim for?
* 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?
What shape is 7 chunks?
* 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?
The one with smaller, more frequent distributions takes GOBS more memory. 1.6+ GB in tenured, and I had to use the throughput collector (CMS was spending all it's time doing full collections, and is apparently unable to do them well.)
Again: This is an ocean world.
First: Standard COG veins, plus an attempt to make ocean-balanced iron and coal.
So what do we have here?
Gold placed 23,300 blocks.
Iron placed about the same -- 23,900 -- from the normal distribution, plus an additional 21,100 for ocean. Total of 45020 blocks -- about double the gold.
Coal placed almost nothing -- less than 5,000 -- but an additional 60,000. Total of 64,578 -- about 1.5 times the iron.
In comparison, JRoush's numers had both coal and iron about 175%-180%; 200% and 300% is probably too much. So those ocean numbers of mine need to be turned down. If I want Iron in the ocean to total 166% of gold, then ... about 71% of what I currently have for it. For coal, a target of 175% of gold gives ... 60% of my current.
Some big surprises: redstone and lapis. I hadn't thought about them before, but a lot of redstone is above the ocean, yet this is still more than the base lapis. I actually thought they were placed in about equal amounts, but this says otherwise.
Redstone's frequency multiplier is 1.3, average length 48 (3*0.4, 4*12)
Lapis' multiplier is 0.4, average length 36. (1*0.4, 3*12).
So, if I do math correctly, redstone should be 3 * 4/3 = 4 times more common than lapis (slightly more, actually).
Hmm, no, JRoush's post was 3 times. (In fairness, that's without any ocean special casing, so that's probably confirmation.)
So, in either case, redstone in the ocean is mostly clipped (average run is from 76 down to 28, clipped to 44 down to 28. ). A 50% increase in frequency should manage to bring it up to twice the base lapis rate (probably minimal acceptable.)
So, lets look at the more frequent, smaller veins:
(Remember: Identical ocean world, identical seed, etc.)
Coal base went from 4950 to 11815, or needing a 0.419 times conversion.
Gold base went from 23331 to 74341, or 0.314 times.
Iron base went from 23936 to 99378, or 0.241 times ...
GRR. Why are they all different?
Emerald 3517 to 13100, or 0.269 ...
Ok, this one I need to play with a little more. If anyone spots the answer, let me know:
EDIT: Ok, something went wrong in the testing. Lapis, for example, was not affected by this change.
Yet it went from 7119 to 22275, or 0.32 times.
I think I need to re-run that test ...
* 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?
This time, without any client logging on, I did a cogPopulate 4 30 from the console, and a cogPopulate 5 30 from the console.
Restarted the server in-between.
30, instead of 48, completes very quickly.
Numbers are still very different from each other.
To verify that things should not be different:
The motherlode's being a 4 times frequency, instead of a 3 times frequency, is a typo on one line in my config.
The completely unrelated redstone/lapis numbers, when that distribution is identical (checked with cogInfo), still confuses me.
...
Not sure what to do next.
* 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?
This time, the same world (age 4 -- defaulting to COG standard veins).
I did "cogClear 4" between runs, and verified that this reset the placedBlocks count.
Switching my size config from COG standard to small veins this time actually did what I was expecting:
(this is for 10 chunks around 0,0)
Cog standard:
My smaller, more common layered veins:
What do we see?
Emerald: Unchanged (!! Yae!!)
Redstone: Unchanged (!! Ditto !!)
Diamond, and lava: ... Err, changed? Oh, right -- the substitute won't replace the old lava with stone, so the patterns will differ.
Hmm, then what about silverfish in the emerald? -- ZERO --??? I didn't think that was possible.
JRoush, how would you ensure that the silverfish cannot be "skipped" if the emerald tube is small? Looking at the code, the emerald has a segment radius of 0.51, but that's not enough to guarantee fish. It also does not scale as the segment radius changes.
Would
work better? That would let it scale as your emeralds scale, still permit the occasional skip in smaller/default sized tubes, and generally be more likely to be found? Since this will replace more emeralds with fish, what should the default emerald segment radius change to?
Now, the big question: As I said, worlds 4 and 5 are identical. Duplicated the agedata files to create. Same seed, same everything. The distributions used have the same seed. Yet running distributions that are completely unchanged between them -- redstone and lapis -- yield numbers that are not even close. What am I missing? What is going on that I'm not aware of?
* 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?
Follow me on twitter @charlotte_c_b for updates! You can also find me in irc.esper.net as Ilandria
Development of my mods is made possible by Full Effect Hosting
Tips on using the debugging mode, from the console, with no players logged on:
#1. Make sure you are using the throughput garbage collector (aka "old" collector), with parallel new collections.
CMS will be a disaster.
Single-threaded new (the default, watch out) will be painful.
During loading of chunks -- when you say "cogPopulate dim# chunkrange distro" -- the first loading of chunks will take forever, and will constantly trigger lots and lots of garbage collections. The dominant cost here is the cost of new collections.
Using CMS, with all the tweaking I normally do for servers, ran into constant concurrent failure above about 45 radius.
Using throughput, parallel new, I was able to push out to 55 radius.
Same total memory footprint.
#2. Copy/Paste is your friend!
A typical run for me would be the following commands:
cogLoadConfig 5
cogPopulate 5 55 standard.*|coal.*|gold.*|iron.*
cogInfo 5 coal.*|gold.*|iron.* placedblocks
As a single copy/paste item, it works just fine.
The "standard.*" is the substitute to clear out the blocks.
** NB: Do not attempt to test, or retest, diamond or emerald. The silverfish/lava placed by those do not reset properly.
#3. Since chunks do not unload when debugging commands are entered on the console, your first cogPopulate will take a long time. Go get coffee. *Do NOT exit minecraft between runs*. That was my initial mistake.
Once you've loaded the chunks, that next populate is fast.
#4. If your system runs into massive paging, kill other processes. Or, kill minecraft (force quit if you have to -- a clean shutdown is painful once java has to compete for memory pages), and restart with a smaller memory footprint.
===
I don't pretend to understand the math of what actually happens with the vein distributions.
Once I learned to how make quick, rapid "modify and test" cycles, it was pretty fast.
I could not really understand how the various forks/branches were interacting -- nothing made a lot of sense.
But through trial and error, I found something that did approximately what I wanted.
Here are distributions that put just about 1/2 the normal content per vein system. Tested with Iron and Gold (LayeredVeins) and Coal (SparseVeins), with an adjusted frequency to match.
Additionally, Coal and Iron now provide supplemental distributions in Ocean biomes. Vanilla does not starve you of these resources if you happen to have an ocean start. COG's defaults make coal painfully rare, and iron significantly so, in the ocean.
In the ocean, over a 55 chunk radius (12321 total chunks), these test to the following ores per chunk:
Coal: 7.165
Iron: 6.034
Gold: 3.638
CustomOreGen_Config.xml: http://pastebin.com/dYCnSkU1
MinecraftOres.xml: http://pastebin.com/8jUqbbe8
Using these: An option of "veinSize" can be either "COG" or "Small".
"COG" gives you standard COG veins.
"Small" gives you smaller, more frequent veins.
Currently, only Coal/Iron/Gold are adjusted.
In mystcraft ages, if you have layered veins selected, then the choice of COG or Small will be made randomly, 50/50 chance. I cannot find ANY way to save the choice into the age's config file -- in fact, I cannot find any way to even automatically make an age config file. You can make them manually.
In mystcraft ages, mushroom islands will only spawn 10% of the normal ores; non-mystcraft ages are not affected by this.
Options that affect the overworld have a "dim0" prefix on them -- this permits the overworld to have a config without forcing that config on all ages and other dimensions.
This is probably the limit of what I can do to play with mystcraft age configuration until I can save option files for ages. It's a lot less than what I had wanted to do.
*** There is a design flaw with world.nextRandom! As long as the sequence is constant based on usage counts, then any given file that wants to use this must never change the total number of calls made.
In other words, if you want to rely on a given sequence, then not only do you have to make sure that the total number of times you call it is constant, but also that the total number of times that EVERY other config file calls it is constant.
No config file/module that does not currently use a random number can start to use them in an update, otherwise any other module that does will be thrown off.
This is the fragile base class problem to an extreme; it effectively makes world.nextRandom unreliable. In particular, there is no way to save the choice being made during this config file's use of world.nextRandom, and if you have anything that does use world.nextRandom, then be aware that this config will alter your random sequence.
* 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'm planning on starting a new single player world once COG gets updated. I've had my current world since like, 1.1 or something now and I'm really wanting to start a new large biomes world with the COG mineral deposits
Follow me on twitter @charlotte_c_b for updates! You can also find me in irc.esper.net as Ilandria
Development of my mods is made possible by Full Effect Hosting