I seem to have the same problem as PatrickSJ, when trying to create a survival world. The world starts generating, then MC crashes almost immediately after.
Out of curiosity I dropped BOD into MCP, and this is the stacktrace it crashes into:
java.lang.NullPointerException
at net.minecraft.src.BiomeDecorator.genStandardOre1(BiomeDecorator.java:279)
at net.minecraft.src.BiomeDecorator.generateOres(BiomeDecorator.java:303)
at net.minecraft.src.BiomeDecorator.decorate_do(BiomeDecorator.java:107)
at net.minecraft.src.BiomeDecorator.decorate(BiomeDecorator.java:100)
at net.minecraft.src.BiomeGenBase.func_35477_a(BiomeGenBase.java:225)
at net.minecraft.src.ChunkProviderGenerate.populate(ChunkProviderGenerate.java:429)
at net.minecraft.src.ChunkProvider.populate(ChunkProvider.java:166)
at net.minecraft.src.Chunk.populateChunk(Chunk.java:902)
at net.minecraft.src.ChunkProvider.loadChunk(ChunkProvider.java:86)
at net.minecraft.src.ChunkProvider.provideChunk(ChunkProvider.java:96)
at net.minecraft.src.World.getChunkFromChunkCoords(World.java:467)
at net.minecraft.src.World.getBlockId(World.java:403)
at net.minecraft.src.WorldGenMinable.BODgenerate(WorldGenMinable.java:297)
at net.minecraft.src.WorldGenMinable.BetterOreDistribution(WorldGenMinable.java:249)
at net.minecraft.src.WorldGenMinable.generate(WorldGenMinable.java:62)
at net.minecraft.src.BiomeDecorator.genStandardOre1(BiomeDecorator.java:282)
at net.minecraft.src.BiomeDecorator.generateOres(BiomeDecorator.java:301)
at net.minecraft.src.BiomeDecorator.decorate_do(BiomeDecorator.java:107)
at net.minecraft.src.BiomeDecorator.decorate(BiomeDecorator.java:100)
at net.minecraft.src.BiomeGenBase.func_35477_a(BiomeGenBase.java:225)
at net.minecraft.src.ChunkProviderGenerate.populate(ChunkProviderGenerate.java:429)
at net.minecraft.src.ChunkProvider.populate(ChunkProvider.java:166)
at net.minecraft.src.Chunk.populateChunk(Chunk.java:902)
at net.minecraft.src.ChunkProvider.loadChunk(ChunkProvider.java:86)
at net.minecraft.src.ChunkProvider.provideChunk(ChunkProvider.java:96)
at net.minecraft.src.World.getChunkFromChunkCoords(World.java:467)
at net.minecraft.src.World.getBlockId(World.java:403)
at net.minecraft.src.WorldGenMinable.BODgenerate(WorldGenMinable.java:297)
at net.minecraft.src.WorldGenMinable.BetterOreDistribution(WorldGenMinable.java:249)
at net.minecraft.src.WorldGenMinable.generate(WorldGenMinable.java:62)
at net.minecraft.src.BiomeDecorator.genStandardOre1(BiomeDecorator.java:282)
at net.minecraft.src.BiomeDecorator.generateOres(BiomeDecorator.java:302)
at net.minecraft.src.BiomeDecorator.decorate_do(BiomeDecorator.java:107)
at net.minecraft.src.BiomeDecorator.decorate(BiomeDecorator.java:100)
at net.minecraft.src.BiomeGenBase.func_35477_a(BiomeGenBase.java:225)
at net.minecraft.src.ChunkProviderGenerate.populate(ChunkProviderGenerate.java:429)
at net.minecraft.src.ChunkProvider.populate(ChunkProvider.java:166)
at net.minecraft.src.Chunk.populateChunk(Chunk.java:902)
at net.minecraft.src.ChunkProvider.loadChunk(ChunkProvider.java:86)
at net.minecraft.src.ChunkProvider.provideChunk(ChunkProvider.java:96)
at net.minecraft.src.World.getChunkFromChunkCoords(World.java:467)
at net.minecraft.src.World.getBlockId(World.java:403)
at net.minecraft.src.WorldGenMinable.BODgenerate(WorldGenMinable.java:297)
at net.minecraft.src.WorldGenMinable.BetterOreDistribution(WorldGenMinable.java:249)
at net.minecraft.src.WorldGenMinable.generate(WorldGenMinable.java:62)
at net.minecraft.src.BiomeDecorator.genStandardOre1(BiomeDecorator.java:282)
at net.minecraft.src.BiomeDecorator.generateOres(BiomeDecorator.java:301)
at net.minecraft.src.BiomeDecorator.decorate_do(BiomeDecorator.java:107)
at net.minecraft.src.BiomeDecorator.decorate(BiomeDecorator.java:100)
at net.minecraft.src.BiomeGenBase.func_35477_a(BiomeGenBase.java:225)
at net.minecraft.src.ChunkProviderGenerate.populate(ChunkProviderGenerate.java:429)
at net.minecraft.src.ChunkProvider.populate(ChunkProvider.java:166)
at net.minecraft.src.Chunk.populateChunk(Chunk.java:902)
at net.minecraft.src.ChunkProvider.loadChunk(ChunkProvider.java:86)
at net.minecraft.src.ChunkProvider.provideChunk(ChunkProvider.java:96)
at net.minecraft.src.World.getChunkFromChunkCoords(World.java:467)
at net.minecraft.src.World.getBlockId(World.java:403)
at net.minecraft.src.WorldGenMinable.BODgenerate(WorldGenMinable.java:297)
at net.minecraft.src.WorldGenMinable.BetterOreDistribution(WorldGenMinable.java:249)
at net.minecraft.src.WorldGenMinable.generate(WorldGenMinable.java:62)
at net.minecraft.src.BiomeDecorator.genStandardOre1(BiomeDecorator.java:282)
at net.minecraft.src.BiomeDecorator.generateOres(BiomeDecorator.java:303)
at net.minecraft.src.BiomeDecorator.decorate_do(BiomeDecorator.java:107)
at net.minecraft.src.BiomeDecorator.decorate(BiomeDecorator.java:100)
at net.minecraft.src.BiomeGenBase.func_35477_a(BiomeGenBase.java:225)
at net.minecraft.src.ChunkProviderGenerate.populate(ChunkProviderGenerate.java:429)
at net.minecraft.src.ChunkProvider.populate(ChunkProvider.java:166)
at net.minecraft.src.Chunk.populateChunk(Chunk.java:890)
at net.minecraft.src.ChunkProvider.loadChunk(ChunkProvider.java:86)
at net.minecraft.src.ChunkProvider.provideChunk(ChunkProvider.java:96)
at net.minecraft.src.World.getChunkFromChunkCoords(World.java:467)
at net.minecraft.src.World.getBlockId(World.java:403)
at net.minecraft.src.WorldGenMinable.BODgenerate(WorldGenMinable.java:297)
at net.minecraft.src.WorldGenMinable.BetterOreDistribution(WorldGenMinable.java:249)
at net.minecraft.src.WorldGenMinable.generate(WorldGenMinable.java:62)
at net.minecraft.src.BiomeDecorator.genStandardOre1(BiomeDecorator.java:282)
at net.minecraft.src.BiomeDecorator.generateOres(BiomeDecorator.java:303)
at net.minecraft.src.BiomeDecorator.decorate_do(BiomeDecorator.java:107)
at net.minecraft.src.BiomeDecorator.decorate(BiomeDecorator.java:100)
at net.minecraft.src.BiomeGenBase.func_35477_a(BiomeGenBase.java:225)
at net.minecraft.src.ChunkProviderGenerate.populate(ChunkProviderGenerate.java:429)
at net.minecraft.src.ChunkProvider.populate(ChunkProvider.java:166)
at net.minecraft.src.Chunk.populateChunk(Chunk.java:898)
at net.minecraft.src.ChunkProvider.loadChunk(ChunkProvider.java:86)
at net.minecraft.src.ChunkProvider.provideChunk(ChunkProvider.java:96)
at net.minecraft.src.World.getChunkFromChunkCoords(World.java:467)
at net.minecraft.src.World.getBlockId(World.java:403)
at net.minecraft.src.WorldGenMinable.BODgenerate(WorldGenMinable.java:297)
at net.minecraft.src.WorldGenMinable.BetterOreDistribution(WorldGenMinable.java:249)
at net.minecraft.src.WorldGenMinable.generate(WorldGenMinable.java:62)
at net.minecraft.src.BiomeDecorator.genStandardOre1(BiomeDecorator.java:282)
at net.minecraft.src.BiomeDecorator.generateOres(BiomeDecorator.java:304)
at net.minecraft.src.BiomeDecorator.decorate_do(BiomeDecorator.java:107)
at net.minecraft.src.BiomeDecorator.decorate(BiomeDecorator.java:100)
at net.minecraft.src.BiomeGenBase.func_35477_a(BiomeGenBase.java:225)
at net.minecraft.src.ChunkProviderGenerate.populate(ChunkProviderGenerate.java:429)
at net.minecraft.src.ChunkProvider.populate(ChunkProvider.java:166)
at net.minecraft.src.Chunk.populateChunk(Chunk.java:894)
at net.minecraft.src.ChunkProvider.loadChunk(ChunkProvider.java:86)
at net.minecraft.src.ChunkProvider.provideChunk(ChunkProvider.java:96)
at net.minecraft.src.World.getChunkFromChunkCoords(World.java:467)
at net.minecraft.src.World.getBlockId(World.java:403)
at net.minecraft.src.WorldGenMinable.BODgenerate(WorldGenMinable.java:297)
at net.minecraft.src.WorldGenMinable.BetterOreDistribution(WorldGenMinable.java:249)
at net.minecraft.src.WorldGenMinable.generate(WorldGenMinable.java:62)
at net.minecraft.src.BiomeDecorator.genStandardOre1(BiomeDecorator.java:282)
at net.minecraft.src.BiomeDecorator.generateOres(BiomeDecorator.java:301)
at net.minecraft.src.BiomeDecorator.decorate_do(BiomeDecorator.java:107)
at net.minecraft.src.BiomeDecorator.decorate(BiomeDecorator.java:100)
at net.minecraft.src.BiomeGenBase.func_35477_a(BiomeGenBase.java:225)
at net.minecraft.src.ChunkProviderGenerate.populate(ChunkProviderGenerate.java:429)
at net.minecraft.src.ChunkProvider.populate(ChunkProvider.java:166)
at net.minecraft.src.Chunk.populateChunk(Chunk.java:898)
at net.minecraft.src.ChunkProvider.loadChunk(ChunkProvider.java:86)
at net.minecraft.src.ChunkProvider.provideChunk(ChunkProvider.java:96)
at net.minecraft.src.World.getChunkFromChunkCoords(World.java:467)
at net.minecraft.src.World.getBlockId(World.java:403)
at net.minecraft.src.WorldGenMinable.BODgenerate(WorldGenMinable.java:297)
at net.minecraft.src.WorldGenMinable.BetterOreDistribution(WorldGenMinable.java:249)
at net.minecraft.src.WorldGenMinable.generate(WorldGenMinable.java:62)
at net.minecraft.src.BiomeDecorator.genStandardOre1(BiomeDecorator.java:282)
at net.minecraft.src.BiomeDecorator.generateOres(BiomeDecorator.java:303)
at net.minecraft.src.BiomeDecorator.decorate_do(BiomeDecorator.java:107)
at net.minecraft.src.BiomeDecorator.decorate(BiomeDecorator.java:100)
at net.minecraft.src.BiomeGenBase.func_35477_a(BiomeGenBase.java:225)
at net.minecraft.src.ChunkProviderGenerate.populate(ChunkProviderGenerate.java:429)
at net.minecraft.src.ChunkProvider.populate(ChunkProvider.java:166)
at net.minecraft.src.Chunk.populateChunk(Chunk.java:902)
at net.minecraft.src.ChunkProvider.loadChunk(ChunkProvider.java:86)
at net.minecraft.src.ChunkProvider.provideChunk(ChunkProvider.java:96)
at net.minecraft.src.World.getChunkFromChunkCoords(World.java:467)
at net.minecraft.src.World.getBlockId(World.java:403)
at net.minecraft.src.WorldGenMinable.BODgenerate(WorldGenMinable.java:297)
at net.minecraft.src.WorldGenMinable.BetterOreDistribution(WorldGenMinable.java:249)
at net.minecraft.src.WorldGenMinable.generate(WorldGenMinable.java:62)
at net.minecraft.src.BiomeDecorator.genStandardOre1(BiomeDecorator.java:282)
at net.minecraft.src.BiomeDecorator.generateOres(BiomeDecorator.java:303)
at net.minecraft.src.BiomeDecorator.decorate_do(BiomeDecorator.java:107)
at net.minecraft.src.BiomeDecorator.decorate(BiomeDecorator.java:100)
at net.minecraft.src.BiomeGenBase.func_35477_a(BiomeGenBase.java:225)
at net.minecraft.src.ChunkProviderGenerate.populate(ChunkProviderGenerate.java:429)
at net.minecraft.src.ChunkProvider.populate(ChunkProvider.java:166)
at net.minecraft.src.Chunk.populateChunk(Chunk.java:902)
at net.minecraft.src.ChunkProvider.loadChunk(ChunkProvider.java:86)
at net.minecraft.src.ChunkProvider.provideChunk(ChunkProvider.java:96)
at net.minecraft.src.World.getChunkFromChunkCoords(World.java:467)
at net.minecraft.src.World.getBlockId(World.java:403)
at net.minecraft.client.Minecraft.preloadWorld(Minecraft.java:1803)
at net.minecraft.client.Minecraft.changeWorld(Minecraft.java:1715)
at net.minecraft.client.Minecraft.changeWorld2(Minecraft.java:1673)
at net.minecraft.client.Minecraft.startWorld(Minecraft.java:1579)
at net.minecraft.src.GuiCreateWorld.actionPerformed(GuiCreateWorld.java:169)
at net.minecraft.src.GuiScreen.mouseClicked(GuiScreen.java:82)
at net.minecraft.src.GuiCreateWorld.mouseClicked(GuiCreateWorld.java:240)
at net.minecraft.src.GuiScreen.handleMouseInput(GuiScreen.java:129)
at net.minecraft.src.GuiScreen.handleInput(GuiScreen.java:119)
at net.minecraft.client.Minecraft.runTick(Minecraft.java:1309)
at net.minecraft.client.Minecraft.func_40001_x(Minecraft.java:686)
at net.minecraft.client.Minecraft.run(Minecraft.java:627)
at java.lang.Thread.run(Thread.java:662)
I tried to restart the world, with the same result. Also reducing the diameters of all ores below 16 didn't help, and it doesn't seem to be a memory issue either.
Is there a way to prevent BOD from messing with a certain block? I want to try and get dirt to be vanilla while the ores follow BOD's settings.
Edit: Apparently things like waterfalls, lakes, lava pools (surface), & trees change based on dirt distribution.
I think that is what I've been noticing as well....well noticing in the last edition of BOD as well. I noted that when I compared a world seed before installing BOD and then installing BOD and creating the world again with the same seed, I found some key things the same, but others different.
For example, Caves, cliffs, mountains all the same as before, same positions, etc (though often without say a gravel deposit in them that was there earlier). However, trees instead of spawning in dense forests instead spawn in scattered clusters.
Please note though, I'm NOT saying this is a bad thing. I noticed a marked increase in the availability of animal spawning in forest areas where I typically spawn in. I've concluded that because there are fewer dense trees there are therefore more fully lit areas of grass, and in turn somewhat larger areas for food mobs to spawn in than before.
I like this actually (I often find myself frustrated in terms of finding food animals, or sheep. I often end up with either lots of food producing animals, but no sheep, or lots of sheep spawning and no food.) This resultant change seems to help fix that. For me if I want a more dense forest in an area, its easy enough to just random plant saplings here and there.
I had just worried that if the changes in tree density where unintentional, and then get changed again by Mojang in the future to result in something gltichy down the road forcing me to restart a world all over again. :sad.gif:
Is there a way to prevent BOD from messing with a certain block? I want to try and get dirt to be vanilla while the ores follow BOD's settings.
Edit: Apparently things like waterfalls, lakes, lava pools (surface), & trees change based on dirt distribution.
getting an ore to spawn on a per chunk basis is actually diffucult.
I believe I have "if(Rand.nextint(Rarity++)=0) then make ore in that chunk". if a negative number is entered into the random function then the game crashes, so I have that ++ there to add 1 t help prevent this.
try turning the rarity down from 1 to 0 to -1 to -2 (you want the one just above crashing). the random function generates a number between 0 and n-1. with my ++, a 0 should allow for every chunk. and then you need the base values of dirt.
rarity=0
vein size=32
vein amount=20
height=128
diameter=16
both densities=1
getting an ore to spawn on a per chunk basis is actually diffucult.
I believe I have "if(Rand.nextint(Rarity++)=0) then make ore in that chunk". if a negative number is entered into the random function then the game crashes, so I have that ++ there to add 1 t help prevent this.
try turning the rarity down from 1 to 0 to -1 to -2 (you want the one just above crashing). the random function generates a number between 0 and n-1. with my ++, a 0 should allow for every chunk. and then you need the base values of dirt.
rarity=0
vein size=32
vein amount=20
height=128
diameter=16
both densities=1
Right. Rarity = 0 didn't work so I went with 1. Yay, no crashes. According to the OP Source Code it is
if (rand.nextInt(rarity) == 0)
Unfortunately that did not appear to generate on a per chunk basis as vanilla does with rarity = 1 and 0 crashes.
My first game I found a huge lapis vein about 100m from my spawn then I went spelunking and in caves deep under my spawn I found a cavern FILLED with iron, coal, redstone, AND gold. Is this unusual? Because I think finding that makes the game too easy. The only thing I'll ever want for again is diamonds. I got 78 iron blocks in addition to a full set of armor and I don't think I've cleared even half the iron there.
My first game I found a huge lapis vein about 100m from my spawn then I went spelunking and in caves deep under my spawn I found a cavern FILLED with iron, coal, redstone, AND gold. Is this unusual? Because I think finding that makes the game too easy. The only thing I'll ever want for again is diamonds. I got 78 iron blocks in addition to a full set of armor and I don't think I've cleared even half the iron there.
its not impossible to find all those ores in one area, and not to uncommon to find two or more types in one area. the difficulty in balancing the ores is that caves change everything. if there are no caves the only way you will find that mine is by digging through it and hitting an ore deposit, which is harder than it sounds. if there are to many caves in a single area it reveals all the ores except for the very rarest. so I did my best to have a good distribution, but havn't spent o much time fine tuning them.
if its too much of a problem you could start a new map
its not impossible to find all those ores in one area, and not to uncommon to find two or more types in one area. the difficulty in balancing the ores is that caves change everything. if there are no caves the only way you will find that mine is by digging through it and hitting an ore deposit, which is harder than it sounds. if there are to many caves in a single area it reveals all the ores except for the very rarest. so I did my best to have a good distribution, but havn't spent o much time fine tuning them.
if its too much of a problem you could start a new map
I'm actually confused about something kinda like the above issue. I started a very nice new map, and promptly found a massive lapis deposit at level 40 and then later another at level 50, but the Minecraft Wiki says it should only appear below level 31???
I am I experiencing a glitch with BOD, or is the result suppose to happen like that. For reference this maps current area has a large cave complex combined with a abandoned mine system. My concern isn't so much that I found ore, but if the ore is being spawned in an incorrect way due to a bug?
Rollback Post to RevisionRollBack
"since none - if what I hear is true - ever returned
alive from this abyss, then without fear
of facing infamy, I answer you."
~ From Dante's "Inferno" (Canto 27, Lines 63 - 66)
I'm actually confused about something kinda like the above issue. I started a very nice new map, and promptly found a massive lapis deposit at level 40 and then later another at level 50, but the Minecraft Wiki says it should only appear below level 31???
I am I experiencing a glitch with BOD, or is the result suppose to happen like that. For reference this maps current area has a large cave complex combined with a abandoned mine system. My concern isn't so much that I found ore, but if the ore is being spawned in an incorrect way due to a bug?
:laugh.gif: lol, its not a bug its the mod. there is a .txt (in the same location as your minecraft.exe, the one you downloaded) that you can edit to change any factor involving ore distribution. the caves just make the ores easier or harder to find based on their presence. my defaults aren't vanilla by any means they spawn in clusters like ore deposits in real life. that's why the height is different than what the wiki says.
this is what the BOD_Properties.txt contains and describes the ore distribution
he has a point, if anyone has a particular (unique) configuration, post it with a description and maybe some screenshots and I'll tuck them into a section in the OP.
First of all, thanks for your efforts on this mod! It's something we've been wanting on our server for quite some time now and I realise the amount of work that goes into this. I've spent some time on getting your latest version to work, both in single player and multiplayer. Unfortunately, I encountered issues in both cases, which I figured might be helpful for you to hear about.
For the multiplayer, there's a straightforward, but serious problem: java spits out an exception.
2011-12-03 21:11:09 [SEVERE] Unexpected exception
java.lang.NullPointerException
at go.a(BiomeDecorator.java:286)
at go.b(BiomeDecorator.java:308)
at lv.a(SourceFile:16)
at go.a(BiomeDecorator.java:105)
at kb.a(SourceFile:190)
at fy.a(SourceFile:336)
at kw.a(SourceFile:133)
at le.a(SourceFile:806)
at kw.c(SourceFile:76)
at kw.b(SourceFile:87)
at fi.c(SourceFile:321)
at fi.a(SourceFile:278)
at fr.BODgenerate(WorldGenMinable.java:320)
at fr.BetterOreDistribution(WorldGenMinable.java:255)
at fr.a(WorldGenMinable.java:37)
at go.a(BiomeDecorator.java:289)
at go.b(BiomeDecorator.java:308)
at lv.a(SourceFile:16)
at go.a(BiomeDecorator.java:105)
at kb.a(SourceFile:190)
at fy.a(SourceFile:336)
at kw.a(SourceFile:133)
at le.a(SourceFile:809)
at kw.c(SourceFile:76)
at kw.b(SourceFile:87)
at fi.c(SourceFile:321)
at fi.a(SourceFile:278)
at fr.BODgenerate(WorldGenMinable.java:320)
at fr.BetterOreDistribution(WorldGenMinable.java:255)
at fr.a(WorldGenMinable.java:37)
at go.a(BiomeDecorator.java:289)
at go.b(BiomeDecorator.java:310)
at lv.a(SourceFile:16)
at go.a(BiomeDecorator.java:105)
at kb.a(SourceFile:190)
at fy.a(SourceFile:336)
at kw.a(SourceFile:133)
at le.a(SourceFile:803)
at kw.c(SourceFile:76)
at kw.b(SourceFile:87)
at fi.c(SourceFile:321)
at fi.a(SourceFile:278)
at fi.f(SourceFile:282)
at fi.a(SourceFile:219)
at lb.a(SourceFile:63)
at fi.c(SourceFile:187)
at fp.c(SourceFile:81)
at fi.<init>(SourceFile:148)
at fp.<init>(SourceFile:25)
at gt.<init>(SourceFile:10)
at net.minecraft.server.MinecraftServer.a(SourceFile:226)
at net.minecraft.server.MinecraftServer.s(SourceFile:164)
at net.minecraft.server.MinecraftServer.run(SourceFile:309)
at cu.run(SourceFile:457)
This may be just an issue for 1.0.1, but I don't have the older version anymore to test. All this is under 64-bits linux, by the way.
For single player, the mod functions as expected. But the way it interprets the rarity it finds in BOD_properties.txt contents seems off. Loads and loads of lapis lazuli are generated, seemingly independent of the value I set for the rarity. On the other hand, gold, diamond and redstone are very rare, even if I drop the rarity drastically.
With earlier versions of your mod, I would find that there would be no coal generated at all. This is no longer an issue. I checked and found that every ore would now be generated -- it's just the frequencies that are off.
First of all, thanks for your efforts on this mod! It's something we've been wanting on our server for quite some time now and I realise the amount of work that goes into this. I've spent some time on getting your latest version to work, both in single player and multiplayer. Unfortunately, I encountered issues in both cases, which I figured might be helpful for you to hear about.
For the multiplayer, there's a straightforward, but serious problem: java spits out an exception.
2011-12-03 21:11:09 [SEVERE] Unexpected exception
java.lang.NullPointerException
at go.a(BiomeDecorator.java:286)
at go.b(BiomeDecorator.java:308)
at lv.a(SourceFile:16)
at go.a(BiomeDecorator.java:105)
at kb.a(SourceFile:190)
at fy.a(SourceFile:336)
at kw.a(SourceFile:133)
at le.a(SourceFile:806)
at kw.c(SourceFile:76)
at kw.b(SourceFile:87)
at fi.c(SourceFile:321)
at fi.a(SourceFile:278)
at fr.BODgenerate(WorldGenMinable.java:320)
at fr.BetterOreDistribution(WorldGenMinable.java:255)
at fr.a(WorldGenMinable.java:37)
at go.a(BiomeDecorator.java:289)
at go.b(BiomeDecorator.java:308)
at lv.a(SourceFile:16)
at go.a(BiomeDecorator.java:105)
at kb.a(SourceFile:190)
at fy.a(SourceFile:336)
at kw.a(SourceFile:133)
at le.a(SourceFile:809)
at kw.c(SourceFile:76)
at kw.b(SourceFile:87)
at fi.c(SourceFile:321)
at fi.a(SourceFile:278)
at fr.BODgenerate(WorldGenMinable.java:320)
at fr.BetterOreDistribution(WorldGenMinable.java:255)
at fr.a(WorldGenMinable.java:37)
at go.a(BiomeDecorator.java:289)
at go.b(BiomeDecorator.java:310)
at lv.a(SourceFile:16)
at go.a(BiomeDecorator.java:105)
at kb.a(SourceFile:190)
at fy.a(SourceFile:336)
at kw.a(SourceFile:133)
at le.a(SourceFile:803)
at kw.c(SourceFile:76)
at kw.b(SourceFile:87)
at fi.c(SourceFile:321)
at fi.a(SourceFile:278)
at fi.f(SourceFile:282)
at fi.a(SourceFile:219)
at lb.a(SourceFile:63)
at fi.c(SourceFile:187)
at fp.c(SourceFile:81)
at fi.<init>(SourceFile:148)
at fp.<init>(SourceFile:25)
at gt.<init>(SourceFile:10)
at net.minecraft.server.MinecraftServer.a(SourceFile:226)
at net.minecraft.server.MinecraftServer.s(SourceFile:164)
at net.minecraft.server.MinecraftServer.run(SourceFile:309)
at cu.run(SourceFile:457)
This may be just an issue for 1.0.1, but I don't have the older version anymore to test. All this is under 64-bits linux, by the way.
For single player, the mod functions as expected. But the way it interprets the rarity it finds in BOD_properties.txt contents seems off. Loads and loads of lapis lazuli are generated, seemingly independent of the value I set for the rarity. On the other hand, gold, diamond and redstone are very rare, even if I drop the rarity drastically.
With earlier versions of your mod, I would find that there would be no coal generated at all. This is no longer an issue. I checked and found that every ore would now be generated -- it's just the frequencies that are off.
Hope this info is of some help.
hmmm.... interesting. the server file is just the one off of minecraft.net (not sure what version that is). as for the nullpointerexeption, try running the server with all other applications closed (including minecraft), and if it crashes just start it up a second time. the first run I did it was weird like that, I think it's a memory issue. also try increasing your memory with the .bat thing.
as for the values being off im not so sure. post your configs in a spoiler for me so I can see what you have. sometimes the outer bounds of the acceptable values cause crashes (again, I think it's a memory issue)
p.s. I suck and programming memory stuff, and I know what the system stack is but not how to work with it.
edit: defaults worked for me, though I'm using windows, but that shouldn't matter because java runs through a virtual console( a mini os/computer that runs as a program, and allows for compatibility between systems)
I found some time to play around with the settings, also setting up a server under Windows to see if it makes any difference. The problems with the server, fortunately, seem milder than I first thought. The server does in fact crash in a very reproducible manner, even on Windows. It seems to be related to the seed, though, and only happens when a new world needs to be generated. If you want to check, the seed -5018269410020328017 brings down my server reliably, spitting out an error from one of the two classes that you modified. But as you already remarked, it is actually possible to restart the server and it will not crash the second time. You may still want to look into fixing that bug, but it isn't game breaking at least.
That leaves the second issue, of the BOD_properties rarities being interpreted weirdly. For single player, I do seem to find way too much lapis lazuli, even under your default settings. The stuff should be very rare, but it seems to be as common as iron. This might be just a fluke, though. You've certainly looked at this much more often than I have, so I trust you when you say it seems alright.
At any rate, on the server lapis lazuli seems much less common. But even there, the rarities that I give seem to be only loosely correlated to what is being generated. Since you asked for a concrete example, I've tried the spoilered BOD_properties below with the seed given above.
From the values given, you would expect there to be more diamond than iron, for example, but this is not at all the case. I don't even want anything of the sort, actually, but I seem to need settings like these for there to be any diamond at all in a reasonable range around the spawn point. At the same time, there's actually still so much coal and iron that we probably won't be bothering to mine most of it. Then there is also the mysterious addition of #NewBlock14, which I assume is actually referring to gold. Not sure what to make of it, but something seems to be getting mixed up internally. All this is tested on a vanilla minecraft_server.jar, by the way, with just your mod installed.
I wouldn't want this post to sound negative, as things are actually looking pretty good. At this point it seems I have things tweaked to the point where your mod will work and do pretty much what I hoped it would. I'm sure this is going to be a major improvement over vanilla SMP. We'll finally have some incentive to go and explore larger parts of the world, other than just curiosity, and the presence of mines will be a concrete reason to settle new areas. And mining certainly is going to be less of a grind. But maybe there are still some issues you may want to look at. In case you'd like me to do some additional testing somehow, just let me know.
(snip) Since you asked for a concrete example, I've tried the spoilered BOD_properties below with the seed given above.
Fail spoiler is fail. Look at the post above.
(snip) Then there is also the mysterious addition of #NewBlock14, which I assume is actually referring to gold. Not sure what to make of it, but something seems to be getting mixed up internally. (snip)
I was bored, so I was going to try out your config there, and it looks to me like the mod is using #NewBlock14 because you left out the 14Diameter= in your #Gold, and put 1280 for your 14Height=, which would probably cause a crash or something if it actually read #Gold, but idk (as I didn't make this mod, I only use it.)
Out of curiosity I dropped BOD into MCP, and this is the stacktrace it crashes into:
java.lang.NullPointerException
at net.minecraft.src.BiomeDecorator.genStandardOre1(BiomeDecorator.java:279)
at net.minecraft.src.BiomeDecorator.generateOres(BiomeDecorator.java:303)
at net.minecraft.src.BiomeDecorator.decorate_do(BiomeDecorator.java:107)
at net.minecraft.src.BiomeDecorator.decorate(BiomeDecorator.java:100)
at net.minecraft.src.BiomeGenBase.func_35477_a(BiomeGenBase.java:225)
at net.minecraft.src.ChunkProviderGenerate.populate(ChunkProviderGenerate.java:429)
at net.minecraft.src.ChunkProvider.populate(ChunkProvider.java:166)
at net.minecraft.src.Chunk.populateChunk(Chunk.java:902)
at net.minecraft.src.ChunkProvider.loadChunk(ChunkProvider.java:86)
at net.minecraft.src.ChunkProvider.provideChunk(ChunkProvider.java:96)
at net.minecraft.src.World.getChunkFromChunkCoords(World.java:467)
at net.minecraft.src.World.getBlockId(World.java:403)
at net.minecraft.src.WorldGenMinable.BODgenerate(WorldGenMinable.java:297)
at net.minecraft.src.WorldGenMinable.BetterOreDistribution(WorldGenMinable.java:249)
at net.minecraft.src.WorldGenMinable.generate(WorldGenMinable.java:62)
at net.minecraft.src.BiomeDecorator.genStandardOre1(BiomeDecorator.java:282)
at net.minecraft.src.BiomeDecorator.generateOres(BiomeDecorator.java:301)
at net.minecraft.src.BiomeDecorator.decorate_do(BiomeDecorator.java:107)
at net.minecraft.src.BiomeDecorator.decorate(BiomeDecorator.java:100)
at net.minecraft.src.BiomeGenBase.func_35477_a(BiomeGenBase.java:225)
at net.minecraft.src.ChunkProviderGenerate.populate(ChunkProviderGenerate.java:429)
at net.minecraft.src.ChunkProvider.populate(ChunkProvider.java:166)
at net.minecraft.src.Chunk.populateChunk(Chunk.java:902)
at net.minecraft.src.ChunkProvider.loadChunk(ChunkProvider.java:86)
at net.minecraft.src.ChunkProvider.provideChunk(ChunkProvider.java:96)
at net.minecraft.src.World.getChunkFromChunkCoords(World.java:467)
at net.minecraft.src.World.getBlockId(World.java:403)
at net.minecraft.src.WorldGenMinable.BODgenerate(WorldGenMinable.java:297)
at net.minecraft.src.WorldGenMinable.BetterOreDistribution(WorldGenMinable.java:249)
at net.minecraft.src.WorldGenMinable.generate(WorldGenMinable.java:62)
at net.minecraft.src.BiomeDecorator.genStandardOre1(BiomeDecorator.java:282)
at net.minecraft.src.BiomeDecorator.generateOres(BiomeDecorator.java:302)
at net.minecraft.src.BiomeDecorator.decorate_do(BiomeDecorator.java:107)
at net.minecraft.src.BiomeDecorator.decorate(BiomeDecorator.java:100)
at net.minecraft.src.BiomeGenBase.func_35477_a(BiomeGenBase.java:225)
at net.minecraft.src.ChunkProviderGenerate.populate(ChunkProviderGenerate.java:429)
at net.minecraft.src.ChunkProvider.populate(ChunkProvider.java:166)
at net.minecraft.src.Chunk.populateChunk(Chunk.java:902)
at net.minecraft.src.ChunkProvider.loadChunk(ChunkProvider.java:86)
at net.minecraft.src.ChunkProvider.provideChunk(ChunkProvider.java:96)
at net.minecraft.src.World.getChunkFromChunkCoords(World.java:467)
at net.minecraft.src.World.getBlockId(World.java:403)
at net.minecraft.src.WorldGenMinable.BODgenerate(WorldGenMinable.java:297)
at net.minecraft.src.WorldGenMinable.BetterOreDistribution(WorldGenMinable.java:249)
at net.minecraft.src.WorldGenMinable.generate(WorldGenMinable.java:62)
at net.minecraft.src.BiomeDecorator.genStandardOre1(BiomeDecorator.java:282)
at net.minecraft.src.BiomeDecorator.generateOres(BiomeDecorator.java:301)
at net.minecraft.src.BiomeDecorator.decorate_do(BiomeDecorator.java:107)
at net.minecraft.src.BiomeDecorator.decorate(BiomeDecorator.java:100)
at net.minecraft.src.BiomeGenBase.func_35477_a(BiomeGenBase.java:225)
at net.minecraft.src.ChunkProviderGenerate.populate(ChunkProviderGenerate.java:429)
at net.minecraft.src.ChunkProvider.populate(ChunkProvider.java:166)
at net.minecraft.src.Chunk.populateChunk(Chunk.java:902)
at net.minecraft.src.ChunkProvider.loadChunk(ChunkProvider.java:86)
at net.minecraft.src.ChunkProvider.provideChunk(ChunkProvider.java:96)
at net.minecraft.src.World.getChunkFromChunkCoords(World.java:467)
at net.minecraft.src.World.getBlockId(World.java:403)
at net.minecraft.src.WorldGenMinable.BODgenerate(WorldGenMinable.java:297)
at net.minecraft.src.WorldGenMinable.BetterOreDistribution(WorldGenMinable.java:249)
at net.minecraft.src.WorldGenMinable.generate(WorldGenMinable.java:62)
at net.minecraft.src.BiomeDecorator.genStandardOre1(BiomeDecorator.java:282)
at net.minecraft.src.BiomeDecorator.generateOres(BiomeDecorator.java:303)
at net.minecraft.src.BiomeDecorator.decorate_do(BiomeDecorator.java:107)
at net.minecraft.src.BiomeDecorator.decorate(BiomeDecorator.java:100)
at net.minecraft.src.BiomeGenBase.func_35477_a(BiomeGenBase.java:225)
at net.minecraft.src.ChunkProviderGenerate.populate(ChunkProviderGenerate.java:429)
at net.minecraft.src.ChunkProvider.populate(ChunkProvider.java:166)
at net.minecraft.src.Chunk.populateChunk(Chunk.java:890)
at net.minecraft.src.ChunkProvider.loadChunk(ChunkProvider.java:86)
at net.minecraft.src.ChunkProvider.provideChunk(ChunkProvider.java:96)
at net.minecraft.src.World.getChunkFromChunkCoords(World.java:467)
at net.minecraft.src.World.getBlockId(World.java:403)
at net.minecraft.src.WorldGenMinable.BODgenerate(WorldGenMinable.java:297)
at net.minecraft.src.WorldGenMinable.BetterOreDistribution(WorldGenMinable.java:249)
at net.minecraft.src.WorldGenMinable.generate(WorldGenMinable.java:62)
at net.minecraft.src.BiomeDecorator.genStandardOre1(BiomeDecorator.java:282)
at net.minecraft.src.BiomeDecorator.generateOres(BiomeDecorator.java:303)
at net.minecraft.src.BiomeDecorator.decorate_do(BiomeDecorator.java:107)
at net.minecraft.src.BiomeDecorator.decorate(BiomeDecorator.java:100)
at net.minecraft.src.BiomeGenBase.func_35477_a(BiomeGenBase.java:225)
at net.minecraft.src.ChunkProviderGenerate.populate(ChunkProviderGenerate.java:429)
at net.minecraft.src.ChunkProvider.populate(ChunkProvider.java:166)
at net.minecraft.src.Chunk.populateChunk(Chunk.java:898)
at net.minecraft.src.ChunkProvider.loadChunk(ChunkProvider.java:86)
at net.minecraft.src.ChunkProvider.provideChunk(ChunkProvider.java:96)
at net.minecraft.src.World.getChunkFromChunkCoords(World.java:467)
at net.minecraft.src.World.getBlockId(World.java:403)
at net.minecraft.src.WorldGenMinable.BODgenerate(WorldGenMinable.java:297)
at net.minecraft.src.WorldGenMinable.BetterOreDistribution(WorldGenMinable.java:249)
at net.minecraft.src.WorldGenMinable.generate(WorldGenMinable.java:62)
at net.minecraft.src.BiomeDecorator.genStandardOre1(BiomeDecorator.java:282)
at net.minecraft.src.BiomeDecorator.generateOres(BiomeDecorator.java:304)
at net.minecraft.src.BiomeDecorator.decorate_do(BiomeDecorator.java:107)
at net.minecraft.src.BiomeDecorator.decorate(BiomeDecorator.java:100)
at net.minecraft.src.BiomeGenBase.func_35477_a(BiomeGenBase.java:225)
at net.minecraft.src.ChunkProviderGenerate.populate(ChunkProviderGenerate.java:429)
at net.minecraft.src.ChunkProvider.populate(ChunkProvider.java:166)
at net.minecraft.src.Chunk.populateChunk(Chunk.java:894)
at net.minecraft.src.ChunkProvider.loadChunk(ChunkProvider.java:86)
at net.minecraft.src.ChunkProvider.provideChunk(ChunkProvider.java:96)
at net.minecraft.src.World.getChunkFromChunkCoords(World.java:467)
at net.minecraft.src.World.getBlockId(World.java:403)
at net.minecraft.src.WorldGenMinable.BODgenerate(WorldGenMinable.java:297)
at net.minecraft.src.WorldGenMinable.BetterOreDistribution(WorldGenMinable.java:249)
at net.minecraft.src.WorldGenMinable.generate(WorldGenMinable.java:62)
at net.minecraft.src.BiomeDecorator.genStandardOre1(BiomeDecorator.java:282)
at net.minecraft.src.BiomeDecorator.generateOres(BiomeDecorator.java:301)
at net.minecraft.src.BiomeDecorator.decorate_do(BiomeDecorator.java:107)
at net.minecraft.src.BiomeDecorator.decorate(BiomeDecorator.java:100)
at net.minecraft.src.BiomeGenBase.func_35477_a(BiomeGenBase.java:225)
at net.minecraft.src.ChunkProviderGenerate.populate(ChunkProviderGenerate.java:429)
at net.minecraft.src.ChunkProvider.populate(ChunkProvider.java:166)
at net.minecraft.src.Chunk.populateChunk(Chunk.java:898)
at net.minecraft.src.ChunkProvider.loadChunk(ChunkProvider.java:86)
at net.minecraft.src.ChunkProvider.provideChunk(ChunkProvider.java:96)
at net.minecraft.src.World.getChunkFromChunkCoords(World.java:467)
at net.minecraft.src.World.getBlockId(World.java:403)
at net.minecraft.src.WorldGenMinable.BODgenerate(WorldGenMinable.java:297)
at net.minecraft.src.WorldGenMinable.BetterOreDistribution(WorldGenMinable.java:249)
at net.minecraft.src.WorldGenMinable.generate(WorldGenMinable.java:62)
at net.minecraft.src.BiomeDecorator.genStandardOre1(BiomeDecorator.java:282)
at net.minecraft.src.BiomeDecorator.generateOres(BiomeDecorator.java:303)
at net.minecraft.src.BiomeDecorator.decorate_do(BiomeDecorator.java:107)
at net.minecraft.src.BiomeDecorator.decorate(BiomeDecorator.java:100)
at net.minecraft.src.BiomeGenBase.func_35477_a(BiomeGenBase.java:225)
at net.minecraft.src.ChunkProviderGenerate.populate(ChunkProviderGenerate.java:429)
at net.minecraft.src.ChunkProvider.populate(ChunkProvider.java:166)
at net.minecraft.src.Chunk.populateChunk(Chunk.java:902)
at net.minecraft.src.ChunkProvider.loadChunk(ChunkProvider.java:86)
at net.minecraft.src.ChunkProvider.provideChunk(ChunkProvider.java:96)
at net.minecraft.src.World.getChunkFromChunkCoords(World.java:467)
at net.minecraft.src.World.getBlockId(World.java:403)
at net.minecraft.src.WorldGenMinable.BODgenerate(WorldGenMinable.java:297)
at net.minecraft.src.WorldGenMinable.BetterOreDistribution(WorldGenMinable.java:249)
at net.minecraft.src.WorldGenMinable.generate(WorldGenMinable.java:62)
at net.minecraft.src.BiomeDecorator.genStandardOre1(BiomeDecorator.java:282)
at net.minecraft.src.BiomeDecorator.generateOres(BiomeDecorator.java:303)
at net.minecraft.src.BiomeDecorator.decorate_do(BiomeDecorator.java:107)
at net.minecraft.src.BiomeDecorator.decorate(BiomeDecorator.java:100)
at net.minecraft.src.BiomeGenBase.func_35477_a(BiomeGenBase.java:225)
at net.minecraft.src.ChunkProviderGenerate.populate(ChunkProviderGenerate.java:429)
at net.minecraft.src.ChunkProvider.populate(ChunkProvider.java:166)
at net.minecraft.src.Chunk.populateChunk(Chunk.java:902)
at net.minecraft.src.ChunkProvider.loadChunk(ChunkProvider.java:86)
at net.minecraft.src.ChunkProvider.provideChunk(ChunkProvider.java:96)
at net.minecraft.src.World.getChunkFromChunkCoords(World.java:467)
at net.minecraft.src.World.getBlockId(World.java:403)
at net.minecraft.client.Minecraft.preloadWorld(Minecraft.java:1803)
at net.minecraft.client.Minecraft.changeWorld(Minecraft.java:1715)
at net.minecraft.client.Minecraft.changeWorld2(Minecraft.java:1673)
at net.minecraft.client.Minecraft.startWorld(Minecraft.java:1579)
at net.minecraft.src.GuiCreateWorld.actionPerformed(GuiCreateWorld.java:169)
at net.minecraft.src.GuiScreen.mouseClicked(GuiScreen.java:82)
at net.minecraft.src.GuiCreateWorld.mouseClicked(GuiCreateWorld.java:240)
at net.minecraft.src.GuiScreen.handleMouseInput(GuiScreen.java:129)
at net.minecraft.src.GuiScreen.handleInput(GuiScreen.java:119)
at net.minecraft.client.Minecraft.runTick(Minecraft.java:1309)
at net.minecraft.client.Minecraft.func_40001_x(Minecraft.java:686)
at net.minecraft.client.Minecraft.run(Minecraft.java:627)
at java.lang.Thread.run(Thread.java:662)
I tried to restart the world, with the same result. Also reducing the diameters of all ores below 16 didn't help, and it doesn't seem to be a memory issue either.
http://www.mediafire.com/?oroqvc4ybrp0gxl
Edit: Apparently things like waterfalls, lakes, lava pools (surface), & trees change based on dirt distribution.
I think that is what I've been noticing as well....well noticing in the last edition of BOD as well. I noted that when I compared a world seed before installing BOD and then installing BOD and creating the world again with the same seed, I found some key things the same, but others different.
For example, Caves, cliffs, mountains all the same as before, same positions, etc (though often without say a gravel deposit in them that was there earlier). However, trees instead of spawning in dense forests instead spawn in scattered clusters.
Please note though, I'm NOT saying this is a bad thing. I noticed a marked increase in the availability of animal spawning in forest areas where I typically spawn in. I've concluded that because there are fewer dense trees there are therefore more fully lit areas of grass, and in turn somewhat larger areas for food mobs to spawn in than before.
I like this actually (I often find myself frustrated in terms of finding food animals, or sheep. I often end up with either lots of food producing animals, but no sheep, or lots of sheep spawning and no food.) This resultant change seems to help fix that. For me if I want a more dense forest in an area, its easy enough to just random plant saplings here and there.
I had just worried that if the changes in tree density where unintentional, and then get changed again by Mojang in the future to result in something gltichy down the road forcing me to restart a world all over again. :sad.gif:
getting an ore to spawn on a per chunk basis is actually diffucult.
I believe I have "if(Rand.nextint(Rarity++)=0) then make ore in that chunk". if a negative number is entered into the random function then the game crashes, so I have that ++ there to add 1 t help prevent this.
try turning the rarity down from 1 to 0 to -1 to -2 (you want the one just above crashing). the random function generates a number between 0 and n-1. with my ++, a 0 should allow for every chunk. and then you need the base values of dirt.
rarity=0
vein size=32
vein amount=20
height=128
diameter=16
both densities=1
Right. Rarity = 0 didn't work so I went with 1. Yay, no crashes. According to the OP Source Code it is
Unfortunately that did not appear to generate on a per chunk basis as vanilla does with rarity = 1 and 0 crashes.
I need to code in a "if(Rarity<=1){generate on a chunk per chunk basis}"
the random function is a rather misbehaving child in many cases.
I also would like to code in a randomization function. those will have to wait until after school most likely (the 8th for me I believe)
Brilliant! Thanks a bunch! :smile.gif:
its not impossible to find all those ores in one area, and not to uncommon to find two or more types in one area. the difficulty in balancing the ores is that caves change everything. if there are no caves the only way you will find that mine is by digging through it and hitting an ore deposit, which is harder than it sounds. if there are to many caves in a single area it reveals all the ores except for the very rarest. so I did my best to have a good distribution, but havn't spent o much time fine tuning them.
if its too much of a problem you could start a new map
I'm actually confused about something kinda like the above issue. I started a very nice new map, and promptly found a massive lapis deposit at level 40 and then later another at level 50, but the Minecraft Wiki says it should only appear below level 31???
I am I experiencing a glitch with BOD, or is the result suppose to happen like that. For reference this maps current area has a large cave complex combined with a abandoned mine system. My concern isn't so much that I found ore, but if the ore is being spawned in an incorrect way due to a bug?
alive from this abyss, then without fear
of facing infamy, I answer you."
~ From Dante's "Inferno" (Canto 27, Lines 63 - 66)
:laugh.gif: lol, its not a bug its the mod. there is a .txt (in the same location as your minecraft.exe, the one you downloaded) that you can edit to change any factor involving ore distribution. the caves just make the ores easier or harder to find based on their presence. my defaults aren't vanilla by any means they spawn in clusters like ore deposits in real life. that's why the height is different than what the wiki says.
this is what the BOD_Properties.txt contains and describes the ore distribution
#Dirt
3Rarity=50
3VeinSize=30
3VeinAmount=17
3Height=128
3Diameter=32
3VerticalDensity=15
3HorizontalDensity=10
#Gravel
13Rarity=50
13VeinSize=30
13VeinAmount=17
13Height=128
13Diameter=32
13VerticalDensity=15
13HorizontalDensity=10
#Gold
14Rarity=140
14VeinSize=10
14VeinAmount=70
14Height=50
14Diameter=50
14VerticalDensity=30
14HorizontalDensity=10
#Iron
15Rarity=75
15VeinSize=10
15VeinAmount=70
15Height=50
15Diameter=50
15VerticalDensity=15
15HorizontalDensity=20
#Coal
16Rarity=75
16VeinSize=16
16VeinAmount=43
16Height=90
16Diameter=48
16VerticalDensity=100
16HorizontalDensity=10
#Lapis
21Rarity=240
21VeinSize=10
21VeinAmount=100
21Height=50
21Diameter=50
21VerticalDensity=30
21HorizontalDensity=10
#Diamond
56Rarity=225
56VeinSize=10
56VeinAmount=100
56Height=50
56Diameter=60
56VerticalDensity=60
56HorizontalDensity=10
#Redstone
73Rarity=105
73VeinSize=15
73VeinAmount=46
73Height=38
73Diameter=50
73VerticalDensity=30
73HorizontalDensity=5
he has a point, if anyone has a particular (unique) configuration, post it with a description and maybe some screenshots and I'll tuck them into a section in the OP.
For the multiplayer, there's a straightforward, but serious problem: java spits out an exception.
java.lang.NullPointerException
at go.a(BiomeDecorator.java:286)
at go.b(BiomeDecorator.java:308)
at lv.a(SourceFile:16)
at go.a(BiomeDecorator.java:105)
at kb.a(SourceFile:190)
at fy.a(SourceFile:336)
at kw.a(SourceFile:133)
at le.a(SourceFile:806)
at kw.c(SourceFile:76)
at kw.b(SourceFile:87)
at fi.c(SourceFile:321)
at fi.a(SourceFile:278)
at fr.BODgenerate(WorldGenMinable.java:320)
at fr.BetterOreDistribution(WorldGenMinable.java:255)
at fr.a(WorldGenMinable.java:37)
at go.a(BiomeDecorator.java:289)
at go.b(BiomeDecorator.java:308)
at lv.a(SourceFile:16)
at go.a(BiomeDecorator.java:105)
at kb.a(SourceFile:190)
at fy.a(SourceFile:336)
at kw.a(SourceFile:133)
at le.a(SourceFile:809)
at kw.c(SourceFile:76)
at kw.b(SourceFile:87)
at fi.c(SourceFile:321)
at fi.a(SourceFile:278)
at fr.BODgenerate(WorldGenMinable.java:320)
at fr.BetterOreDistribution(WorldGenMinable.java:255)
at fr.a(WorldGenMinable.java:37)
at go.a(BiomeDecorator.java:289)
at go.b(BiomeDecorator.java:310)
at lv.a(SourceFile:16)
at go.a(BiomeDecorator.java:105)
at kb.a(SourceFile:190)
at fy.a(SourceFile:336)
at kw.a(SourceFile:133)
at le.a(SourceFile:803)
at kw.c(SourceFile:76)
at kw.b(SourceFile:87)
at fi.c(SourceFile:321)
at fi.a(SourceFile:278)
at fi.f(SourceFile:282)
at fi.a(SourceFile:219)
at lb.a(SourceFile:63)
at fi.c(SourceFile:187)
at fp.c(SourceFile:81)
at fi.<init>(SourceFile:148)
at fp.<init>(SourceFile:25)
at gt.<init>(SourceFile:10)
at net.minecraft.server.MinecraftServer.a(SourceFile:226)
at net.minecraft.server.MinecraftServer.s(SourceFile:164)
at net.minecraft.server.MinecraftServer.run(SourceFile:309)
at cu.run(SourceFile:457)
For single player, the mod functions as expected. But the way it interprets the rarity it finds in BOD_properties.txt contents seems off. Loads and loads of lapis lazuli are generated, seemingly independent of the value I set for the rarity. On the other hand, gold, diamond and redstone are very rare, even if I drop the rarity drastically.
With earlier versions of your mod, I would find that there would be no coal generated at all. This is no longer an issue. I checked and found that every ore would now be generated -- it's just the frequencies that are off.
Hope this info is of some help.
hmmm.... interesting. the server file is just the one off of minecraft.net (not sure what version that is). as for the nullpointerexeption, try running the server with all other applications closed (including minecraft), and if it crashes just start it up a second time. the first run I did it was weird like that, I think it's a memory issue. also try increasing your memory with the .bat thing.
as for the values being off im not so sure. post your configs in a spoiler for me so I can see what you have. sometimes the outer bounds of the acceptable values cause crashes (again, I think it's a memory issue)
p.s. I suck and programming memory stuff, and I know what the system stack is but not how to work with it.
edit: defaults worked for me, though I'm using windows, but that shouldn't matter because java runs through a virtual console( a mini os/computer that runs as a program, and allows for compatibility between systems)
That leaves the second issue, of the BOD_properties rarities being interpreted weirdly. For single player, I do seem to find way too much lapis lazuli, even under your default settings. The stuff should be very rare, but it seems to be as common as iron. This might be just a fluke, though. You've certainly looked at this much more often than I have, so I trust you when you say it seems alright.
At any rate, on the server lapis lazuli seems much less common. But even there, the rarities that I give seem to be only loosely correlated to what is being generated. Since you asked for a concrete example, I've tried the spoilered BOD_properties below with the seed given above.
3Rarity=50
3VeinSize=30
3VeinAmount=17
3Height=128
3Diameter=32
3VerticalDensity=15
3HorizontalDensity=10
#Gravel
13Rarity=50
13VeinSize=30
13VeinAmount=17
13Height=128
13Diameter=32
13VerticalDensity=15
13HorizontalDensity=10
#Gold
14Rarity=350
14VeinSize=50
14VeinAmount=30
14Height=1280
14VerticalDensity=1
14HorizontalDensity=40
#Iron
15Rarity=450
15VeinSize=50
15VeinAmount=30
15Height=128
15Diameter=48
15VerticalDensity=1
15HorizontalDensity=40
#Coal
16Rarity=400
16VeinSize=50
16VeinAmount=30
16Height=128
16Diameter=48
16VerticalDensity=1
16HorizontalDensity=40
#Lapis
21Rarity=350
21VeinSize=50
21VeinAmount=30
21Height=128
21Diameter=48
21VerticalDensity=1
21HorizontalDensity=40
#Diamond
56Rarity=400
56VeinSize=50
56VeinAmount=30
56Height=128
56Diameter=48
56VerticalDensity=1
56HorizontalDensity=40
#Redstone
73Rarity=400
73VeinSize=50
73VeinAmount=30
73Height=128
73Diameter=48
73VerticalDensity=1
73HorizontalDensity=40
#NewBlock14
14Rarity=350
14VeinSize=50
14VeinAmount=30
14Height=128
14Diameter=48
14VerticalDensity=1
14HorizontalDensity=40
From the values given, you would expect there to be more diamond than iron, for example, but this is not at all the case. I don't even want anything of the sort, actually, but I seem to need settings like these for there to be any diamond at all in a reasonable range around the spawn point. At the same time, there's actually still so much coal and iron that we probably won't be bothering to mine most of it. Then there is also the mysterious addition of #NewBlock14, which I assume is actually referring to gold. Not sure what to make of it, but something seems to be getting mixed up internally. All this is tested on a vanilla minecraft_server.jar, by the way, with just your mod installed.
I wouldn't want this post to sound negative, as things are actually looking pretty good. At this point it seems I have things tweaked to the point where your mod will work and do pretty much what I hoped it would. I'm sure this is going to be a major improvement over vanilla SMP. We'll finally have some incentive to go and explore larger parts of the world, other than just curiosity, and the presence of mines will be a concrete reason to settle new areas. And mining certainly is going to be less of a grind. But maybe there are still some issues you may want to look at. In case you'd like me to do some additional testing somehow, just let me know.
I was bored, so I was going to try out your config there, and it looks to me like the mod is using #NewBlock14 because you left out the 14Diameter= in your #Gold, and put 1280 for your 14Height=, which would probably cause a crash or something if it actually read #Gold, but idk (as I didn't make this mod, I only use it.)
"There's no I in 'team.' There is a me, though, if you jumble it up."
― Gregory House, M.D.