It looks like something added a null object to the recipe list, which will cause other problems and not just for UB. But here's a version that should avoid that specific crash.
Rollback Post to RevisionRollBack
Geographicraft (formerly Climate Control) - Control climate, ocean, and land sizes; stop chunk walls; put modded biomes into Default worlds, and more!
RTG plus - All the beautiful terrain of RTG, plus varied and beautiful trees and forests.
And I already made a hotfix to get around this. But of course it's not going to fix a problem with bad recipes, hopefully just allow a more useful and informative crash.
Rollback Post to RevisionRollBack
Geographicraft (formerly Climate Control) - Control climate, ocean, and land sizes; stop chunk walls; put modded biomes into Default worlds, and more!
RTG plus - All the beautiful terrain of RTG, plus varied and beautiful trees and forests.
Zeno: I recently discovered that my oregen was all completely messed up in the adventure map I was making. Some chunks generated ores, others did not, some generated some ores but not others, and the whole thing is a mess. (I think it has something to do with that race condition between UBC and Terrain Control that we never figured out, but whatever. Doesn't matter now. I can't regen the world anyway)
I was thinking that the quickest way to fix it would be to write a minimod that would scan through the whole world and delete all the ores, replacing them with UB stone. Then, I can use COFH Core's retrogen to put them back correctly. The thing is, I'm not sure how to get the proper UB stone for any given location. Is there a way to pass UBC an XYZ block coordinate and have it pass back a stone type?
@mallrat: I'm using "X - Order infused" so it ends up with something like "Black Granite - Order Infused." I pulled the Thaumcraft Textures, and then used the "Colorize" option in photoshop to give them color, and saved them as six different overlays. They even animate when placed on UB stone! The only thing they don't do is glow.
Which version were you using? Because of the crazy race business I have this extreme redo procedure going on to try to keep the ores fixed. I put out a few versions without it because I thought I could solve the problem a different way but it didn't work.
It would have been a pretty old version. I wouldn't worry about it unless somebody else reports the issue with a more recent version. But I think the problem went something like this:
Terrain-control only lets you specify one type of stone to "replace" per oregen request. You can make it metadata insensitive, but you still only get one.
I issued 4 oregen requests, one for all three UBC stone types, and one for vanilla stone.
As far as I can tell, in some chunks, Terrain Control oregen started, looking through the chunk for UBC stone types to replace, and couldn't find any, so did nothing. Context switch! UBC happily changes all vanilla minecraft stone into UBC stone. Context switch! Terrain control looks for vanilla stone types to replace, and can't find any.
That's a working theory, at least. I actually have no idea what caused it. But sure enough, after releasing a closed beta of my adventure map to all my RL friends, some of them complain there are no ores. I turn on my X-ray mod, fly around, and amusingly enough, directly under two of the bases, almost no ores generated. It only effects about 5-10% of chunks, which often cluster together in small "Splotches" between 4 and 20 or so chunks in size.
Gah. Whatever. I'm just going to make this mini-mod to nuke all the ores, then regen them with CoFH core, then Re-UBify them with the same mod I used to address the race condition last time. I've needed to this anyway. If it turns out that some parts of my adventure map are unbalanced because the ore distribution needs tweaking, having a saved "Ore Free" version of the map would make future improvements easier. It's a good time investment, I think.
Not sure if this is a bug report or a request for help...
I'm getting a pretty severe memory leak when I use the UBC API you provide. Code can be found here.
When I right-click with the item described by the above code, memory usage jumps by about 10%, and does not ever decrease. After using the item six or so times, garbage collection causes the game to lag once every two or three seconds. I haven't gotten the game to crash with an out of memory exception, but I've gotten it to 97% memory usage, at which point the game spends more time garbage collecting than accepting input.
I don't think I've done anything in my code that would cause a memory leak, but you're the expert here. I've cached the UBStrataColumnProvider and the listOfOres. All I can think of is that either your API is doing something when I request the columns that isn't being garbage collected or Forge is doing something in my call to "theWorld.setBlock" that's not getting garbage collected. Do you have any ideas?
If you could get me a deobfuscated version, I could put it into my workspace and try to profile memory usage to see where it's going. As it stands now, I only have access to your API, so when I try to use this item in debug (dev?) mode I crash with a null pointer exception. I'm noticing the memory leak when I load this into my production world. You could probably also take my code and put it into your workspace with a few little tweaks. It's just a basic "right-click to use" item.
Sorry again for the continued error reports.
(Edit: Is the forum doubling the newlines for anybody else?)
(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 don't think it's my API, because it's working fine in the mod code doing more - or - less the same. I have two suspects:
First, chunks aren't being unloaded. Try
world.getChunkProvider().unloadQueuedChunks();
After each use.
Second, the biome cacher is overloading. Try
IntCache.resetIntCache();
also after each use.
Both of those get called naturally during the process of world generation (so my mod doesn't have to worry about it) but not necessarily with the use of your item.
Rollback Post to RevisionRollBack
Geographicraft (formerly Climate Control) - Control climate, ocean, and land sizes; stop chunk walls; put modded biomes into Default worlds, and more!
RTG plus - All the beautiful terrain of RTG, plus varied and beautiful trees and forests.
Thanks, Zeno. That *almost* solves it. I can now use it about 30-40 times before memory runs out.
No clue why, but whatever. It's a tool used to fix oregen, not something I need to worry about players using. I can live with restarting the client occasionally.
My adventure map is now ore-free and ready to be retro-genned by CoFH core. Thanks a ton for your help!
That memory problem sounds like the problem I have with the Climate Control start rescue procedure. It crashed looking around the world for a start spot. I put in those changes and it got better, but still crashed out-of-memory eventually. I never could figure out what was soaking up the memory.
Rollback Post to RevisionRollBack
Geographicraft (formerly Climate Control) - Control climate, ocean, and land sizes; stop chunk walls; put modded biomes into Default worlds, and more!
RTG plus - All the beautiful terrain of RTG, plus varied and beautiful trees and forests.
I haven't looked at geostrata. Chisel can't be done because they're both using the same metadata bits. After the shift to 1.8 they'd be compatible but that will be a huge shift for both mods.
Rollback Post to RevisionRollBack
Geographicraft (formerly Climate Control) - Control climate, ocean, and land sizes; stop chunk walls; put modded biomes into Default worlds, and more!
RTG plus - All the beautiful terrain of RTG, plus varied and beautiful trees and forests.
Zeno, i've noticed not all varieties of a given ore go to the oredictionary as equivalents do their vanilla counterparts. It seems only to do that for Gneiss, Red Granite and Limestone. This could not be a problem most of the time but i'm using a Boring Machine from RotaryCraft enchanted with Silk Touch and it seems to drop the block itself instead of their vanilla variety and i can't do nothing with most of them unless i place them an break.
Ex: I found Migmatite Iron Ore with the Boring Machine the last time i turned it on, instead of dropping vanilla Iron Ore like most mod machines would, the Boring Machine dropped Migmatite Iron Ore, which canot be processed.
EDIT: Also, the oreApatite entry is weird, as it included copper and tin ore from your mod instead of just apatite
Note that the upper-left corner of the UBC stairs is much darker. Perhaps it has something to do with the opacity of the block? Or whether it's considered "Solid"?
Not a huge deal, just thought I'd give you a heads up. Thanks again for the mod and all your help.
((Also, somebody ought to tell Boni that the localization for his UBC Aluminum is messed up: http://i.imgur.com/ZSf0jfm.png))
I haven't looked at geostrata. Chisel can't be done because they're both using the same metadata bits. After the shift to 1.8 they'd be compatible but that will be a huge shift for both mods.
hmm.. you dont want adding post-mining block processing because you add chisel integration?
but chisel have own undeground content - duplicate marble, limestone..
i think pepole install only 1 such type mod - chisel or ubc or geostrata or pfaa geologica?
Really nice! Hope you are able to released it soon. Also, if i can suggest a mod, it would be pretty cool to have the ores from ReactorCraft too.
Interesting... I hope you do that!
Maybe Zeno can put it on the front page so others can benefit too
Geographicraft (formerly Climate Control) - Control climate, ocean, and land sizes; stop chunk walls; put modded biomes into Default worlds, and more!
RTG plus - All the beautiful terrain of RTG, plus varied and beautiful trees and forests.
Geographicraft (formerly Climate Control) - Control climate, ocean, and land sizes; stop chunk walls; put modded biomes into Default worlds, and more!
RTG plus - All the beautiful terrain of RTG, plus varied and beautiful trees and forests.
I was thinking that the quickest way to fix it would be to write a minimod that would scan through the whole world and delete all the ores, replacing them with UB stone. Then, I can use COFH Core's retrogen to put them back correctly. The thing is, I'm not sure how to get the proper UB stone for any given location. Is there a way to pass UBC an XYZ block coordinate and have it pass back a stone type?
@mallrat: I'm using "X - Order infused" so it ends up with something like "Black Granite - Order Infused." I pulled the Thaumcraft Textures, and then used the "Colorize" option in photoshop to give them color, and saved them as six different overlays. They even animate when placed on UB stone! The only thing they don't do is glow.
The full code to get a stone:
UBStrataColumnProvider columnProvider = UBAPIHook.ubAPIHook.dimensionalStrataColumnProvider.ubStrataColumnProvider(dimension);
UBStrataColumn column = columnProvider.strataColumn(x, z);
BlockCodes stoneCode = column.stone(y);
You can group the calls into one line but it's faster this way (only get the column once for every y position)
The BlockCodes object has the block and metadata info.
This is the stone that *would* be there if it were stone. It doesn't know if a given block should be air or water.
Geographicraft (formerly Climate Control) - Control climate, ocean, and land sizes; stop chunk walls; put modded biomes into Default worlds, and more!
RTG plus - All the beautiful terrain of RTG, plus varied and beautiful trees and forests.
Terrain-control only lets you specify one type of stone to "replace" per oregen request. You can make it metadata insensitive, but you still only get one.
I issued 4 oregen requests, one for all three UBC stone types, and one for vanilla stone.
As far as I can tell, in some chunks, Terrain Control oregen started, looking through the chunk for UBC stone types to replace, and couldn't find any, so did nothing. Context switch! UBC happily changes all vanilla minecraft stone into UBC stone. Context switch! Terrain control looks for vanilla stone types to replace, and can't find any.
That's a working theory, at least. I actually have no idea what caused it. But sure enough, after releasing a closed beta of my adventure map to all my RL friends, some of them complain there are no ores. I turn on my X-ray mod, fly around, and amusingly enough, directly under two of the bases, almost no ores generated. It only effects about 5-10% of chunks, which often cluster together in small "Splotches" between 4 and 20 or so chunks in size.
Gah. Whatever. I'm just going to make this mini-mod to nuke all the ores, then regen them with CoFH core, then Re-UBify them with the same mod I used to address the race condition last time. I've needed to this anyway. If it turns out that some parts of my adventure map are unbalanced because the ore distribution needs tweaking, having a saved "Ore Free" version of the map would make future improvements easier. It's a good time investment, I think.
Thanks for the API hook!
Geographicraft (formerly Climate Control) - Control climate, ocean, and land sizes; stop chunk walls; put modded biomes into Default worlds, and more!
RTG plus - All the beautiful terrain of RTG, plus varied and beautiful trees and forests.
I'm getting a pretty severe memory leak when I use the UBC API you provide. Code can be found here.
When I right-click with the item described by the above code, memory usage jumps by about 10%, and does not ever decrease. After using the item six or so times, garbage collection causes the game to lag once every two or three seconds. I haven't gotten the game to crash with an out of memory exception, but I've gotten it to 97% memory usage, at which point the game spends more time garbage collecting than accepting input.
I don't think I've done anything in my code that would cause a memory leak, but you're the expert here. I've cached the UBStrataColumnProvider and the listOfOres. All I can think of is that either your API is doing something when I request the columns that isn't being garbage collected or Forge is doing something in my call to "theWorld.setBlock" that's not getting garbage collected. Do you have any ideas?
If you could get me a deobfuscated version, I could put it into my workspace and try to profile memory usage to see where it's going. As it stands now, I only have access to your API, so when I try to use this item in debug (dev?) mode I crash with a null pointer exception. I'm noticing the memory leak when I load this into my production world. You could probably also take my code and put it into your workspace with a few little tweaks. It's just a basic "right-click to use" item.
Sorry again for the continued error reports.
(Edit: Is the forum doubling the newlines for anybody else?)
Seems to be everyone using Firefox.
* 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?
First, chunks aren't being unloaded. Try
world.getChunkProvider().unloadQueuedChunks();
After each use.
Second, the biome cacher is overloading. Try
IntCache.resetIntCache();
also after each use.
Both of those get called naturally during the process of world generation (so my mod doesn't have to worry about it) but not necessarily with the use of your item.
Geographicraft (formerly Climate Control) - Control climate, ocean, and land sizes; stop chunk walls; put modded biomes into Default worlds, and more!
RTG plus - All the beautiful terrain of RTG, plus varied and beautiful trees and forests.
No clue why, but whatever. It's a tool used to fix oregen, not something I need to worry about players using. I can live with restarting the client occasionally.
My adventure map is now ore-free and ready to be retro-genned by CoFH core. Thanks a ton for your help!
Geographicraft (formerly Climate Control) - Control climate, ocean, and land sizes; stop chunk walls; put modded biomes into Default worlds, and more!
RTG plus - All the beautiful terrain of RTG, plus varied and beautiful trees and forests.
you think about adding processing for raw blocks after mining in UBC such as in chisel or at geostrata?
and i have small problem with ore textures - ores looks like at vanilla =(
( i will add screenshots tomorrow)
Geographicraft (formerly Climate Control) - Control climate, ocean, and land sizes; stop chunk walls; put modded biomes into Default worlds, and more!
RTG plus - All the beautiful terrain of RTG, plus varied and beautiful trees and forests.
Ex: I found Migmatite Iron Ore with the Boring Machine the last time i turned it on, instead of dropping vanilla Iron Ore like most mod machines would, the Boring Machine dropped Migmatite Iron Ore, which canot be processed.
EDIT: Also, the oreApatite entry is weird, as it included copper and tin ore from your mod instead of just apatite
When "Smooth Lighting" is off, stairs look weird (Where "weird" is defined as "having a different behavior than vanilla stone stairs")
Vanilla behavior: http://i.imgur.com/hgApv9i.png
UBC: http://i.imgur.com/JopcPz5.png
Note that the upper-left corner of the UBC stairs is much darker. Perhaps it has something to do with the opacity of the block? Or whether it's considered "Solid"?
Not a huge deal, just thought I'd give you a heads up. Thanks again for the mod and all your help.
((Also, somebody ought to tell Boni that the localization for his UBC Aluminum is messed up: http://i.imgur.com/ZSf0jfm.png))
hmm.. you dont want adding post-mining block processing because you add chisel integration?
but chisel have own undeground content - duplicate marble, limestone..
i think pepole install only 1 such type mod - chisel or ubc or geostrata or pfaa geologica?
just rename meta file and cut fon for all keyframes?