My apologies if this doesn't make sense. I am a programmer, but I know nothing about Minecraft's code, or Java to be honest. I was raised in the days of COBOL, FORTRAN, and C. These new-fangled languages didn't exist back then.
Re the ore-on-new-rock problem, would it be possible to do something like Secret Rooms (http://www.minecraft...__ secret door) does? Essentially, several blocks in that mod camouflage themselves, automatically matching the surroundings.
For Underground Biome's purposes, we aren't trying to hide anything, so it's a little different. But basically, look at the stone surrounding ore, and retexture the ore block as appropriate. if > half the surround blocks are red granite, then use the red granite version of ore. You'll still get the odd result of seeing normal ore blocks if you mine them with silk touch, but that's a minor issue. And in fact a non-issue if you're building with ore blocks on purpose, since they'd camouflage themselves with whatever stone you surround them with.
I'm not quite sure how to deal with adjacent ores, though. Perhaps ignore them, and scan out a little further. Most ores (except your lignite ) are in small veins.
That's an interesting thought! The only think which could be an issue is performance but it might not be. I'll look into this some more. Also I think there's a way to prevent silk touch from dropping the actual block in some cases (eg lit furnaces still drop normal furnaces)
At first glance I didn't like that idea, but now that I think about it I think it may just work. The only thing is maybe make it so the ores skin doesn't change after it has first been generated.
I could try this I just think it would be really hard to make it work with other mods. It would break all the recipes that use each ore. I'd be able to edit the recipes that just use the basic crafting table but any recipes using other systems I wouldn't be able to change without doing it specifically for each mod and that would defeat the purpose of making it automatic. Now that I think about it though I don't know of any recipes that use ore blocks so it might actually be okay. This would be pretty easy to test as all I'd need to do was make the custom blocks drop themselves and then see if it works all right
Utility Chests comes to mind as a mod that does use ore blocks in it's crafting recipes. It's needed to craft a smelting chest. To be honest, I'm not sure what the big deal is about the number of ID's. On our server we have well over a hundred mods...including ID heavy ones like Better World, which I think if you get the whole mod is over 500 ID's and probably closer to 1000. We haven't had any issues with the number of ID's a mod uses even with that many mods.
Something like what Secret Room mod does is good...but could be complicated as it doesn't seem to recognize non vanilla blocks. I tried to make a secret door in a wall of Xycraft blocks and it kept changing it to a vanilla stone block. So for it to work...it would have to be able to recognize any mods block that is under it.
That's an interesting thought! The only think which could be an issue is performance but it might not be. I'll look into this some more. Also I think there's a way to prevent silk touch from dropping the actual block in some cases (eg lit furnaces still drop normal furnaces)
Maybe you could simplify things by starting at the bottom of the world and only looking at the block below the ore? If it's one of your stones, or an ore that was previously modified, change the texture. If not, use the normal texture. This should be much faster than scanning 26 locations (3x3x3 grid) for each ore.
Utility Chests comes to mind as a mod that does use ore blocks in it's crafting recipes. It's needed to craft a smelting chest. To be honest, I'm not sure what the big deal is about the number of ID's. On our server we have well over a hundred mods...including ID heavy ones like Better World, which I think if you get the whole mod is over 500 ID's and probably closer to 1000. We haven't had any issues with the number of ID's a mod uses even with that many mods.
There are 4096 id's in Minecraft. These are shared between blocks and items, so you cannot overlap them. i.e., if you have 3000 blocks, then you have 1096 ID's left for other items. It's not a huge problem, since Forge reallocates automatically. Assuming your mod is written correctly. Quite a few (i.e., Jammy Furniture and Millenaire) are not, and ignore Forge's assignments.
Something like what Secret Room mod does is good...but could be complicated as it doesn't seem to recognize non-vanilla blocks. I tried to make a secret door in a wall of Xycraft blocks and it kept changing it to a vanilla stone block. So for it to work...it would have to be able to recognize any mods block that is under it.
This is true, though we're only talking about stone from this mod. For anything else, an API could be provided that registers third-party stone. There's still the question of *how* to overlay the ore graphics onto the stone, unless that also comes from the mod packs.
There are 4096 id's in Minecraft. These are shared between blocks and items, so you cannot overlap them. i.e., if you have 3000 blocks, then you have 1096 ID's left for other items. It's not a huge problem, since Forge reallocates automatically. Assuming your mod is written correctly. Quite a few (i.e., Jammy Furniture and Millenaire) are not, and ignore Forge's assignments.
This is true, though we're only talking about stone from this mod. For anything else, an API could be provided that registers third-party stone. There's still the question of *how* to overlay the ore graphics onto the stone, unless that also comes from the mod packs.
Yes, I know how many ID's and such there are...but the point I was trying to make is that most people don't use that many mods or they use mod packs where it has already been fixed for them. So if we are using that many including ID heavy ones like Better World and IC2 and RP2...etc. and never come close to using up them up, then ID's really shouldn't be an issue for people. We also have Jammy's Furniture and did have Millenaire but ID's have really never been an issue. Perhaps because the guys that keep our server running use NEI to do an ID dump and then change them by hand when there are conflicts.
I know we were only talking about stone from this mod ...but there are other things in the ground besides vanilla blocks and ores ...especially if you use a lot of mods. There are things like the relic/fossil blocks from the Fossil Archeology mod, rocks that other mods add such as Splendid Stones and Forgotten Nature which adds rocks similar to this mod, EBXL adds blocks like Red Rock and cracked sand, RP2 with it's marble and bassalt, it's gems and it's nikoloite. Then of course you have all the mods that add different kinds of ore like M2, Xycraft, Mystcraft...besides all the ones that add their own versions of iron, tin, copper. Since all those blocks from other mods could potentially be under a rock from this mod, if he tried to do something similar to how the Secret Room mod does it....then all those variables would need to be taken into account since it works by looking at the stone under it to determine how to "hide" the block you are placing.
I just created a fresh world with Millenaire and Underground Biomes installed. As luck would have it, a ruined Mayan mining house was next to my spawn point. Some of the pit's walls were made of bedrock instead of stone, which is quite odd. I looked at the template, and that should not have happened, so it's definitely an interaction between the two. I couldn't say what, as there is no reference to bedrock in the Forge logs.
Yes, I know how many ID's and such there are...but the point I was trying to make is that most people don't use that many mods or they use mod packs where it has already been fixed for them. So if we are using that many including ID heavy ones like Better World and IC2 and RP2...etc. and never come close to using up them up, then ID's really shouldn't be an issue for people. We also have Jammy's Furniture and did have Millenaire but ID's have really never been an issue. Perhaps because the guys that keep our server running use NEI to do an ID dump and then change them by hand when there are conflicts.
I know we were only talking about stone from this mod ...but there are other things in the ground besides vanilla blocks and ores ...especially if you use a lot of mods. There are things like the relic/fossil blocks from the Fossil Archeology mod, rocks that other mods add such as Splendid Stones and Forgotten Nature which adds rocks similar to this mod, EBXL adds blocks like Red Rock and cracked sand, RP2 with it's marble and bassalt, it's gems and it's nikoloite. Then of course you have all the mods that add different kinds of ore like M2, Xycraft, Mystcraft...besides all the ones that add their own versions of iron, tin, copper. Since all those blocks from other mods could potentially be under a rock from this mod, if he tried to do something similar to how the Secret Room mod does it....then all those variables would need to be taken into account since it works by looking at the stone under it to determine how to "hide" the block you are placing.
I was just going to set them to whatever the base stone was for that biome but this is interesting. I agree that there's plenty of IDs left even with a lot of mods so I'm not going to worry about it too much
I just created a fresh world with Millenaire and Underground Biomes installed. As luck would have it, a ruined Mayan mining house was next to my spawn point. Some of the pit's walls were made of bedrock instead of stone, which is quite odd. I looked at the template, and that should not have happened, so it's definitely an interaction between the two. I couldn't say what, as there is no reference to bedrock in the Forge logs.
Ah thanks for reminding me to look at this!
I'm going to be really busy for a while as I'm moving house soon and then wont have proper internet for a while (or a proper computer) but after that's all done I'll have plenty of free time. So sorry if not much gets done in the next week or so!
There's a compatibility issue with the Highlands mod. Every underground biome winds up being red granite, with occasional patches of non-cobblestone rock (like chalk, or limestone). In the last Highlands version it does something with custom ore generation, which I suspect might be the problem, but there's no way to turn that off in its config file. (Obviously not something you can fix, just a note for the "compatibility" section.)
Hi, I have an issue with this mod that appears to be related to the registration of the UB stone in the Ore Dictionary:
2013-02-28 16:24:20 [SEVERE] [ForgeModLoader] The following problems were captured during this phase
2013-02-28 16:24:20 [SEVERE] [ForgeModLoader] Caught exception from Underground Biomes
java.lang.NullPointerException
at com.eloraam.redpower.core.CoreLib.compareItemStack(CoreLib.java:95)
at com.eloraam.redpower.core.CoreLib$1.compare(CoreLib.java:104)
at com.eloraam.redpower.core.CoreLib$1.compare(CoreLib.java:102)
at java.util.TreeMap.put(Unknown Source)
at com.eloraam.redpower.core.CoreLib.registerOre(CoreLib.java:112)
at com.eloraam.redpower.core.CoreEvents.oreRegister(CoreEvents.java:53)
at net.minecraftforge.event.ASMEventHandler_64_CoreEvents_oreRegister_OreRegisterEvent.invoke(.dynamic)
at net.minecraftforge.event.ASMEventHandler.invoke(ASMEventHandler.java:35)
at net.minecraftforge.event.EventBus.post(EventBus.java:103)
at net.minecraftforge.oredict.OreDictionary.registerOre(OreDictionary.java:290)
at net.minecraftforge.oredict.OreDictionary.registerOre(OreDictionary.java:272)
at exterminatorJeff.undergroundBiomes.common.UndergroundBiomes.addOreDicts(UndergroundBiomes.java:461)
at exterminatorJeff.undergroundBiomes.common.UndergroundBiomes.load(UndergroundBiomes.java:231)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at cpw.mods.fml.common.FMLModContainer.handleModStateEvent(FMLModContainer.java:487)
at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.google.common.eventbus.EventHandler.handleEvent(EventHandler.java:69)
at com.google.common.eventbus.SynchronizedEventHandler.handleEvent(SynchronizedEventHandler.java:45)
at com.google.common.eventbus.EventBus.dispatch(EventBus.java:317)
at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:300)
at com.google.common.eventbus.EventBus.post(EventBus.java:268)
at cpw.mods.fml.common.LoadController.propogateStateMessage(LoadController.java:153)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.google.common.eventbus.EventHandler.handleEvent(EventHandler.java:69)
at com.google.common.eventbus.SynchronizedEventHandler.handleEvent(SynchronizedEventHandler.java:45)
at com.google.common.eventbus.EventBus.dispatch(EventBus.java:317)
at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:300)
at com.google.common.eventbus.EventBus.post(EventBus.java:268)
at cpw.mods.fml.common.LoadController.distributeStateMessage(LoadController.java:86)
at cpw.mods.fml.common.Loader.initializeMods(Loader.java:676)
at cpw.mods.fml.client.FMLClientHandler.finishMinecraftLoading(FMLClientHandler.java:207)
at net.minecraft.client.Minecraft.a(Minecraft.java:458)
at asq.a(SourceFile:56)
at net.minecraft.client.Minecraft.run(Minecraft.java:746)
at java.lang.Thread.run(Unknown Source)
2013-02-28 16:24:20 [INFO] [STDERR] java.lang.NullPointerException
2013-02-28 16:24:20 [INFO] [STDERR] at com.eloraam.redpower.core.CoreLib.compareItemStack(CoreLib.java:95)
2013-02-28 16:24:20 [INFO] [STDERR] at com.eloraam.redpower.core.CoreLib$1.compare(CoreLib.java:104)
2013-02-28 16:24:20 [INFO] [STDERR] at com.eloraam.redpower.core.CoreLib$1.compare(CoreLib.java:102)
2013-02-28 16:24:20 [INFO] [STDERR] at java.util.TreeMap.put(Unknown Source)
2013-02-28 16:24:20 [INFO] [STDERR] at com.eloraam.redpower.core.CoreLib.registerOre(CoreLib.java:112)
2013-02-28 16:24:20 [INFO] [STDERR] at com.eloraam.redpower.core.CoreEvents.oreRegister(CoreEvents.java:53)
2013-02-28 16:24:20 [INFO] [STDERR] at net.minecraftforge.event.ASMEventHandler_64_CoreEvents_oreRegister_OreRegisterEvent.invoke(.dynamic)
2013-02-28 16:24:20 [INFO] [STDERR] at net.minecraftforge.event.ASMEventHandler.invoke(ASMEventHandler.java:35)
2013-02-28 16:24:20 [INFO] [STDERR] at net.minecraftforge.event.EventBus.post(EventBus.java:103)
2013-02-28 16:24:20 [INFO] [STDERR] at net.minecraftforge.oredict.OreDictionary.registerOre(OreDictionary.java:290)
2013-02-28 16:24:20 [INFO] [STDERR] at net.minecraftforge.oredict.OreDictionary.registerOre(OreDictionary.java:272)
2013-02-28 16:24:20 [INFO] [STDERR] at exterminatorJeff.undergroundBiomes.common.UndergroundBiomes.addOreDicts(UndergroundBiomes.java:461)
2013-02-28 16:24:20 [INFO] [STDERR] at exterminatorJeff.undergroundBiomes.common.UndergroundBiomes.load(UndergroundBiomes.java:231)
2013-02-28 16:24:20 [INFO] [STDERR] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
2013-02-28 16:24:20 [INFO] [STDERR] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
2013-02-28 16:24:20 [INFO] [STDERR] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
2013-02-28 16:24:20 [INFO] [STDERR] at java.lang.reflect.Method.invoke(Unknown Source)
2013-02-28 16:24:20 [INFO] [STDERR] at cpw.mods.fml.common.FMLModContainer.handleModStateEvent(FMLModContainer.java:487)
2013-02-28 16:24:20 [INFO] [STDERR] at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
2013-02-28 16:24:20 [INFO] [STDERR] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
2013-02-28 16:24:20 [INFO] [STDERR] at java.lang.reflect.Method.invoke(Unknown Source)
2013-02-28 16:24:20 [INFO] [STDERR] at com.google.common.eventbus.EventHandler.handleEvent(EventHandler.java:69)
2013-02-28 16:24:20 [INFO] [STDERR] at com.google.common.eventbus.SynchronizedEventHandler.handleEvent(SynchronizedEventHandler.java:45)
2013-02-28 16:24:20 [INFO] [STDERR] at com.google.common.eventbus.EventBus.dispatch(EventBus.java:317)
2013-02-28 16:24:20 [INFO] [STDERR] at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:300)
2013-02-28 16:24:20 [INFO] [STDERR] at com.google.common.eventbus.EventBus.post(EventBus.java:268)
2013-02-28 16:24:20 [INFO] [STDERR] at cpw.mods.fml.common.LoadController.propogateStateMessage(LoadController.java:153)
2013-02-28 16:24:20 [INFO] [STDERR] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
2013-02-28 16:24:20 [INFO] [STDERR] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
2013-02-28 16:24:20 [INFO] [STDERR] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
2013-02-28 16:24:20 [INFO] [STDERR] at java.lang.reflect.Method.invoke(Unknown Source)
2013-02-28 16:24:20 [INFO] [STDERR] at com.google.common.eventbus.EventHandler.handleEvent(EventHandler.java:69)
2013-02-28 16:24:20 [INFO] [STDERR] at com.google.common.eventbus.SynchronizedEventHandler.handleEvent(SynchronizedEventHandler.java:45)
2013-02-28 16:24:20 [INFO] [STDERR] at com.google.common.eventbus.EventBus.dispatch(EventBus.java:317)
2013-02-28 16:24:20 [INFO] [STDERR] at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:300)
2013-02-28 16:24:20 [INFO] [STDERR] at com.google.common.eventbus.EventBus.post(EventBus.java:268)
2013-02-28 16:24:20 [INFO] [STDERR] at cpw.mods.fml.common.LoadController.distributeStateMessage(LoadController.java:86)
2013-02-28 16:24:20 [INFO] [STDERR] at cpw.mods.fml.common.Loader.initializeMods(Loader.java:676)
2013-02-28 16:24:20 [INFO] [STDERR] at cpw.mods.fml.client.FMLClientHandler.finishMinecraftLoading(FMLClientHandler.java:207)
2013-02-28 16:24:20 [INFO] [STDERR] at net.minecraft.client.Minecraft.a(Minecraft.java:458)
2013-02-28 16:24:20 [INFO] [STDERR] at asq.a(SourceFile:56)
2013-02-28 16:24:20 [INFO] [STDERR] at net.minecraft.client.Minecraft.run(Minecraft.java:746)
2013-02-28 16:24:20 [INFO] [STDERR] at java.lang.Thread.run(Unknown Source)
Even with 'modify recipes to use Underground Biomes blocks' disabled, this error still occurs.
Is it an incompatibility with IDResolver or one of the mods that adds new ores, or something different entirely?
Is there anything I can do to fix this error? Thanks.
There's a compatibility issue with the Highlands mod. Every underground biome winds up being red granite, with occasional patches of non-cobblestone rock (like chalk, or limestone). In the last Highlands version it does something with custom ore generation, which I suspect might be the problem, but there's no way to turn that off in its config file. (Obviously not something you can fix, just a note for the "compatibility" section.)
Sorry for the late reply! I'm in the process of moving and I won't have internet for a while starting tomorrow! Do you know if this happens every time or just every now and then? It seems to be a rare bug that can happen just on its own but if it's happening for every world then it's a compatibility issue most likely
Hi, I have an issue with this mod that appears to be related to the registration of the UB stone in the Ore Dictionary:
2013-02-28 16:24:20 [SEVERE] [ForgeModLoader] The following problems were captured during this phase
2013-02-28 16:24:20 [SEVERE] [ForgeModLoader] Caught exception from Underground Biomes
java.lang.NullPointerException
at com.eloraam.redpower.core.CoreLib.compareItemStack(CoreLib.java:95)
at com.eloraam.redpower.core.CoreLib$1.compare(CoreLib.java:104)
at com.eloraam.redpower.core.CoreLib$1.compare(CoreLib.java:102)
at java.util.TreeMap.put(Unknown Source)
at com.eloraam.redpower.core.CoreLib.registerOre(CoreLib.java:112)
at com.eloraam.redpower.core.CoreEvents.oreRegister(CoreEvents.java:53)
at net.minecraftforge.event.ASMEventHandler_64_CoreEvents_oreRegister_OreRegisterEvent.invoke(.dynamic)
at net.minecraftforge.event.ASMEventHandler.invoke(ASMEventHandler.java:35)
at net.minecraftforge.event.EventBus.post(EventBus.java:103)
at net.minecraftforge.oredict.OreDictionary.registerOre(OreDictionary.java:290)
at net.minecraftforge.oredict.OreDictionary.registerOre(OreDictionary.java:272)
at exterminatorJeff.undergroundBiomes.common.UndergroundBiomes.addOreDicts(UndergroundBiomes.java:461)
at exterminatorJeff.undergroundBiomes.common.UndergroundBiomes.load(UndergroundBiomes.java:231)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at cpw.mods.fml.common.FMLModContainer.handleModStateEvent(FMLModContainer.java:487)
at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.google.common.eventbus.EventHandler.handleEvent(EventHandler.java:69)
at com.google.common.eventbus.SynchronizedEventHandler.handleEvent(SynchronizedEventHandler.java:45)
at com.google.common.eventbus.EventBus.dispatch(EventBus.java:317)
at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:300)
at com.google.common.eventbus.EventBus.post(EventBus.java:268)
at cpw.mods.fml.common.LoadController.propogateStateMessage(LoadController.java:153)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.google.common.eventbus.EventHandler.handleEvent(EventHandler.java:69)
at com.google.common.eventbus.SynchronizedEventHandler.handleEvent(SynchronizedEventHandler.java:45)
at com.google.common.eventbus.EventBus.dispatch(EventBus.java:317)
at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:300)
at com.google.common.eventbus.EventBus.post(EventBus.java:268)
at cpw.mods.fml.common.LoadController.distributeStateMessage(LoadController.java:86)
at cpw.mods.fml.common.Loader.initializeMods(Loader.java:676)
at cpw.mods.fml.client.FMLClientHandler.finishMinecraftLoading(FMLClientHandler.java:207)
at net.minecraft.client.Minecraft.a(Minecraft.java:458)
at asq.a(SourceFile:56)
at net.minecraft.client.Minecraft.run(Minecraft.java:746)
at java.lang.Thread.run(Unknown Source)
2013-02-28 16:24:20 [INFO] [STDERR] java.lang.NullPointerException
2013-02-28 16:24:20 [INFO] [STDERR] at com.eloraam.redpower.core.CoreLib.compareItemStack(CoreLib.java:95)
2013-02-28 16:24:20 [INFO] [STDERR] at com.eloraam.redpower.core.CoreLib$1.compare(CoreLib.java:104)
2013-02-28 16:24:20 [INFO] [STDERR] at com.eloraam.redpower.core.CoreLib$1.compare(CoreLib.java:102)
2013-02-28 16:24:20 [INFO] [STDERR] at java.util.TreeMap.put(Unknown Source)
2013-02-28 16:24:20 [INFO] [STDERR] at com.eloraam.redpower.core.CoreLib.registerOre(CoreLib.java:112)
2013-02-28 16:24:20 [INFO] [STDERR] at com.eloraam.redpower.core.CoreEvents.oreRegister(CoreEvents.java:53)
2013-02-28 16:24:20 [INFO] [STDERR] at net.minecraftforge.event.ASMEventHandler_64_CoreEvents_oreRegister_OreRegisterEvent.invoke(.dynamic)
2013-02-28 16:24:20 [INFO] [STDERR] at net.minecraftforge.event.ASMEventHandler.invoke(ASMEventHandler.java:35)
2013-02-28 16:24:20 [INFO] [STDERR] at net.minecraftforge.event.EventBus.post(EventBus.java:103)
2013-02-28 16:24:20 [INFO] [STDERR] at net.minecraftforge.oredict.OreDictionary.registerOre(OreDictionary.java:290)
2013-02-28 16:24:20 [INFO] [STDERR] at net.minecraftforge.oredict.OreDictionary.registerOre(OreDictionary.java:272)
2013-02-28 16:24:20 [INFO] [STDERR] at exterminatorJeff.undergroundBiomes.common.UndergroundBiomes.addOreDicts(UndergroundBiomes.java:461)
2013-02-28 16:24:20 [INFO] [STDERR] at exterminatorJeff.undergroundBiomes.common.UndergroundBiomes.load(UndergroundBiomes.java:231)
2013-02-28 16:24:20 [INFO] [STDERR] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
2013-02-28 16:24:20 [INFO] [STDERR] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
2013-02-28 16:24:20 [INFO] [STDERR] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
2013-02-28 16:24:20 [INFO] [STDERR] at java.lang.reflect.Method.invoke(Unknown Source)
2013-02-28 16:24:20 [INFO] [STDERR] at cpw.mods.fml.common.FMLModContainer.handleModStateEvent(FMLModContainer.java:487)
2013-02-28 16:24:20 [INFO] [STDERR] at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
2013-02-28 16:24:20 [INFO] [STDERR] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
2013-02-28 16:24:20 [INFO] [STDERR] at java.lang.reflect.Method.invoke(Unknown Source)
2013-02-28 16:24:20 [INFO] [STDERR] at com.google.common.eventbus.EventHandler.handleEvent(EventHandler.java:69)
2013-02-28 16:24:20 [INFO] [STDERR] at com.google.common.eventbus.SynchronizedEventHandler.handleEvent(SynchronizedEventHandler.java:45)
2013-02-28 16:24:20 [INFO] [STDERR] at com.google.common.eventbus.EventBus.dispatch(EventBus.java:317)
2013-02-28 16:24:20 [INFO] [STDERR] at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:300)
2013-02-28 16:24:20 [INFO] [STDERR] at com.google.common.eventbus.EventBus.post(EventBus.java:268)
2013-02-28 16:24:20 [INFO] [STDERR] at cpw.mods.fml.common.LoadController.propogateStateMessage(LoadController.java:153)
2013-02-28 16:24:20 [INFO] [STDERR] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
2013-02-28 16:24:20 [INFO] [STDERR] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
2013-02-28 16:24:20 [INFO] [STDERR] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
2013-02-28 16:24:20 [INFO] [STDERR] at java.lang.reflect.Method.invoke(Unknown Source)
2013-02-28 16:24:20 [INFO] [STDERR] at com.google.common.eventbus.EventHandler.handleEvent(EventHandler.java:69)
2013-02-28 16:24:20 [INFO] [STDERR] at com.google.common.eventbus.SynchronizedEventHandler.handleEvent(SynchronizedEventHandler.java:45)
2013-02-28 16:24:20 [INFO] [STDERR] at com.google.common.eventbus.EventBus.dispatch(EventBus.java:317)
2013-02-28 16:24:20 [INFO] [STDERR] at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:300)
2013-02-28 16:24:20 [INFO] [STDERR] at com.google.common.eventbus.EventBus.post(EventBus.java:268)
2013-02-28 16:24:20 [INFO] [STDERR] at cpw.mods.fml.common.LoadController.distributeStateMessage(LoadController.java:86)
2013-02-28 16:24:20 [INFO] [STDERR] at cpw.mods.fml.common.Loader.initializeMods(Loader.java:676)
2013-02-28 16:24:20 [INFO] [STDERR] at cpw.mods.fml.client.FMLClientHandler.finishMinecraftLoading(FMLClientHandler.java:207)
2013-02-28 16:24:20 [INFO] [STDERR] at net.minecraft.client.Minecraft.a(Minecraft.java:458)
2013-02-28 16:24:20 [INFO] [STDERR] at asq.a(SourceFile:56)
2013-02-28 16:24:20 [INFO] [STDERR] at net.minecraft.client.Minecraft.run(Minecraft.java:746)
2013-02-28 16:24:20 [INFO] [STDERR] at java.lang.Thread.run(Unknown Source)
Even with 'modify recipes to use Underground Biomes blocks' disabled, this error still occurs.
Is it an incompatibility with IDResolver or one of the mods that adds new ores, or something different entirely?
Is there anything I can do to fix this error? Thanks.
Hmm that's strange that it's still happening even if you turn off the modify recipes option. Has there been a new Redpower update recently or something? I have tested it with one from a few weeks back and that worked fine. I'll try and look into this for you but it might take some time sorry I'm moving house tomorrow and then it might be a while before I get proper internet. I'll use mobile for a bit but I don't have that much data left for the next few days
There haven't been any updates to RP2 that I know of since prerelease 6 in December...
Hmm, now that I think about it, maybe temporarily removing RP2's Compat module would fix this error? It seems like all the module actually does is add compatibility between BC3 and RP2 pipes and machines, which I don't mix anyway.
EDIT:
Removing RP2's Compat seems to have caused another error that only involves UB, so that's good (?)
[SEVERE] [ForgeModLoader] Caught exception from Underground Biomes
java.lang.NullPointerException
at vq.<init>(ItemBlock.java:21)
at exterminatorJeff.undergroundBiomes.common.item.ItemIgneousCobblestoneBlock.<init>(ItemIgneousCobblestoneBlock.java:14)
at exterminatorJeff.undergroundBiomes.common.UndergroundBiomes.load(UndergroundBiomes.java:193)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at cpw.mods.fml.common.FMLModContainer.handleModStateEvent(FMLModContainer.java:487)
at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.google.common.eventbus.EventHandler.handleEvent(EventHandler.java:69)
at com.google.common.eventbus.SynchronizedEventHandler.handleEvent(SynchronizedEventHandler.java:45)
at com.google.common.eventbus.EventBus.dispatch(EventBus.java:317)
at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:300)
at com.google.common.eventbus.EventBus.post(EventBus.java:268)
at cpw.mods.fml.common.LoadController.propogateStateMessage(LoadController.java:153)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.google.common.eventbus.EventHandler.handleEvent(EventHandler.java:69)
at com.google.common.eventbus.SynchronizedEventHandler.handleEvent(SynchronizedEventHandler.java:45)
at com.google.common.eventbus.EventBus.dispatch(EventBus.java:317)
at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:300)
at com.google.common.eventbus.EventBus.post(EventBus.java:268)
at cpw.mods.fml.common.LoadController.distributeStateMessage(LoadController.java:86)
at cpw.mods.fml.common.Loader.initializeMods(Loader.java:676)
at cpw.mods.fml.client.FMLClientHandler.finishMinecraftLoading(FMLClientHandler.java:207)
at net.minecraft.client.Minecraft.a(Minecraft.java:458)
at asq.a(SourceFile:56)
at net.minecraft.client.Minecraft.run(Minecraft.java:746)
at java.lang.Thread.run(Unknown Source)
Sorry for the late reply! I'm in the process of moving and I won't have internet for a while starting tomorrow! Do you know if this happens every time or just every now and then? It seems to be a rare bug that can happen just on its own but if it's happening for every world then it's a compatibility issue most likely
No rush. It happens every time. Highlands just went to 1.2.1 which allowed an option to turn off custom ore generation. This.. sort-of fixes the UB problem, in that now I get red granite, smooth stone, and veins of non-cobble stone (andesite, etc). Still none of the turns-into-cobble-types stones, though. Something with how they're generating the biomes.
Hi
Can we have actual biomes underground, I don't mean that they appear on the f3 screen but can we say have flooded cave systems in some areas or huge lava pools much higher than normal, possibly areas with a higher ore count etc.
I would actualy really like the flooded cave system idea since I have ic2 and nothing to use my scuba gear for.
Loving the mod so far, it's been moved onto my 'must have' list, along with metallurgy 2. With the biome mods I have, it can lead to jutting cliffs of red granite and basalt soaring over the waves - quite an impressive sight.
I thank you for making the stones compatible with most mods for crafting, though I have no idea how to make it so that the variant cobbles are more tradeable with Millenaire villages. That isn't a gripe, because it's my failing to understand how to do the transition codes. If you can help, that would be extremely useful. Thank you again.
Because this mod replaces all instances of "stone" in worldgen, the Extra Bees generation of "Rocky Bees" is completely stymied and no such hives are spawned at all.
There haven't been any updates to RP2 that I know of since prerelease 6 in December...
Hmm, now that I think about it, maybe temporarily removing RP2's Compat module would fix this error? It seems like all the module actually does is add compatibility between BC3 and RP2 pipes and machines, which I don't mix anyway.
EDIT:
Removing RP2's Compat seems to have caused another error that only involves UB, so that's good (?)
[SEVERE] [ForgeModLoader] Caught exception from Underground Biomes
java.lang.NullPointerException
at vq.<init>(ItemBlock.java:21)
at exterminatorJeff.undergroundBiomes.common.item.ItemIgneousCobblestoneBlock.<init>(ItemIgneousCobblestoneBlock.java:14)
at exterminatorJeff.undergroundBiomes.common.UndergroundBiomes.load(UndergroundBiomes.java:193)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at cpw.mods.fml.common.FMLModContainer.handleModStateEvent(FMLModContainer.java:487)
at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.google.common.eventbus.EventHandler.handleEvent(EventHandler.java:69)
at com.google.common.eventbus.SynchronizedEventHandler.handleEvent(SynchronizedEventHandler.java:45)
at com.google.common.eventbus.EventBus.dispatch(EventBus.java:317)
at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:300)
at com.google.common.eventbus.EventBus.post(EventBus.java:268)
at cpw.mods.fml.common.LoadController.propogateStateMessage(LoadController.java:153)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.google.common.eventbus.EventHandler.handleEvent(EventHandler.java:69)
at com.google.common.eventbus.SynchronizedEventHandler.handleEvent(SynchronizedEventHandler.java:45)
at com.google.common.eventbus.EventBus.dispatch(EventBus.java:317)
at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:300)
at com.google.common.eventbus.EventBus.post(EventBus.java:268)
at cpw.mods.fml.common.LoadController.distributeStateMessage(LoadController.java:86)
at cpw.mods.fml.common.Loader.initializeMods(Loader.java:676)
at cpw.mods.fml.client.FMLClientHandler.finishMinecraftLoading(FMLClientHandler.java:207)
at net.minecraft.client.Minecraft.a(Minecraft.java:458)
at asq.a(SourceFile:56)
at net.minecraft.client.Minecraft.run(Minecraft.java:746)
at java.lang.Thread.run(Unknown Source)
Hmm that's a strange looking one. I wouldn't expect a block to cause an error like that so there must be something odd happening there. I'll try and sort that out for you once I get set up again with internet (On mobile right now)
No rush. It happens every time. Highlands just went to 1.2.1 which allowed an option to turn off custom ore generation. This.. sort-of fixes the UB problem, in that now I get red granite, smooth stone, and veins of non-cobble stone (andesite, etc). Still none of the turns-into-cobble-types stones, though. Something with how they're generating the biomes.
Thanks for checking that for me. I'm not sure why that might happen but I'll see if I can find out for you.
Hi
Can we have actual biomes underground, I don't mean that they appear on the f3 screen but can we say have flooded cave systems in some areas or huge lava pools much higher than normal, possibly areas with a higher ore count etc.
I would actualy really like the flooded cave system idea since I have ic2 and nothing to use my scuba gear for.
That's something that I would like to do but it will probably be some time down the track as part of or after the integration in Extra Biomes XL
Loving the mod so far, it's been moved onto my 'must have' list, along with metallurgy 2. With the biome mods I have, it can lead to jutting cliffs of red granite and basalt soaring over the waves - quite an impressive sight.
I thank you for making the stones compatible with most mods for crafting, though I have no idea how to make it so that the variant cobbles are more tradeable with Millenaire villages. That isn't a gripe, because it's my failing to understand how to do the transition codes. If you can help, that would be extremely useful. Thank you again.
I'll try and have a look at those for you. I might be a while though so if I forget don't hesitate to remind me! I'm just moving house at the moment so I can't actually do any work on the mod for a while
Because this mod replaces all instances of "stone" in worldgen, the Extra Bees generation of "Rocky Bees" is completely stymied and no such hives are spawned at all.
It's something that I'm aware of but I'm not sure how to fix it just yet. I'm sure it has to do with the order in which terrain generation events happen so I just need to find a way to make sure that my mod always does it last so that everything that relies on having normal stone can generate properly. It seems to work for almost everything now but there's just a few things that must do things a bit differently that I need to solve
My apologies if this doesn't make sense. I am a programmer, but I know nothing about Minecraft's code, or Java to be honest. I was raised in the days of COBOL, FORTRAN, and C. These new-fangled languages didn't exist back then.
In general, modern languages are supersets of those old languages, with "Goto" removed, and syntactic constructs added to provide loops without needing Goto. The one true change is language support for data-structure controlled branching.
You're probably used to writing code that looks at a data structure, and decides how to make changes to it.
Instead, modern systems are based on saying, "I want to do operation X on this data structure", and letting that data structure have a lookup table that says "Here's the routine that knows how to do that operation". This lets you add new data structures to old programs.
That, plus some syntactic sugar to hide the details, is modern C++/Java.
Adding new data structures is the key point. It means that code can be designed around the flow of operations, instead of around the flow of data manipulation. Sadly, C++ is probably the least capable in this regards of modern langauges, however it does (Generally) have the least overhead and fastest operation. Note that Java can actually exceed C++'s speed in very long running programs because the compiler can do live data-driven analysis at runtime (having all of source code, previous compilation attempts, and history of actual execution patterns), at the cost of much higher memory consumption.
(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?
It's something that I'm aware of but I'm not sure how to fix it just yet. I'm sure it has to do with the order in which terrain generation events happen so I just need to find a way to make sure that my mod always does it last so that everything that relies on having normal stone can generate properly. It seems to work for almost everything now but there's just a few things that must do things a bit differently that I need to solve
Is there a way where the variety of Underground Biomes stone types, are still readable as Vanilla Stone to other mods? Much like different mods with different ores and metals being interchangeable via the Forge Ore Dictionary. If you ran it through that process it probably could make it easier for other mods to generate their world gen maybe? Same thing with the cobblestone in recipes, though your fix works for majority of recipes, some of them still don't work (which at least makes the 4 cobble for vanilla cobble worthwhile).
That's an interesting thought! The only think which could be an issue is performance but it might not be. I'll look into this some more. Also I think there's a way to prevent silk touch from dropping the actual block in some cases (eg lit furnaces still drop normal furnaces)
Utility Chests comes to mind as a mod that does use ore blocks in it's crafting recipes. It's needed to craft a smelting chest. To be honest, I'm not sure what the big deal is about the number of ID's. On our server we have well over a hundred mods...including ID heavy ones like Better World, which I think if you get the whole mod is over 500 ID's and probably closer to 1000. We haven't had any issues with the number of ID's a mod uses even with that many mods.
Something like what Secret Room mod does is good...but could be complicated as it doesn't seem to recognize non vanilla blocks. I tried to make a secret door in a wall of Xycraft blocks and it kept changing it to a vanilla stone block. So for it to work...it would have to be able to recognize any mods block that is under it.
Maybe you could simplify things by starting at the bottom of the world and only looking at the block below the ore? If it's one of your stones, or an ore that was previously modified, change the texture. If not, use the normal texture. This should be much faster than scanning 26 locations (3x3x3 grid) for each ore.
There are 4096 id's in Minecraft. These are shared between blocks and items, so you cannot overlap them. i.e., if you have 3000 blocks, then you have 1096 ID's left for other items. It's not a huge problem, since Forge reallocates automatically. Assuming your mod is written correctly. Quite a few (i.e., Jammy Furniture and Millenaire) are not, and ignore Forge's assignments.
This is true, though we're only talking about stone from this mod. For anything else, an API could be provided that registers third-party stone. There's still the question of *how* to overlay the ore graphics onto the stone, unless that also comes from the mod packs.
Yes, I know how many ID's and such there are...but the point I was trying to make is that most people don't use that many mods or they use mod packs where it has already been fixed for them. So if we are using that many including ID heavy ones like Better World and IC2 and RP2...etc. and never come close to using up them up, then ID's really shouldn't be an issue for people. We also have Jammy's Furniture and did have Millenaire but ID's have really never been an issue. Perhaps because the guys that keep our server running use NEI to do an ID dump and then change them by hand when there are conflicts.
I know we were only talking about stone from this mod ...but there are other things in the ground besides vanilla blocks and ores ...especially if you use a lot of mods. There are things like the relic/fossil blocks from the Fossil Archeology mod, rocks that other mods add such as Splendid Stones and Forgotten Nature which adds rocks similar to this mod, EBXL adds blocks like Red Rock and cracked sand, RP2 with it's marble and bassalt, it's gems and it's nikoloite. Then of course you have all the mods that add different kinds of ore like M2, Xycraft, Mystcraft...besides all the ones that add their own versions of iron, tin, copper. Since all those blocks from other mods could potentially be under a rock from this mod, if he tried to do something similar to how the Secret Room mod does it....then all those variables would need to be taken into account since it works by looking at the stone under it to determine how to "hide" the block you are placing.
I was just going to set them to whatever the base stone was for that biome but this is interesting. I agree that there's plenty of IDs left even with a lot of mods so I'm not going to worry about it too much
Ah thanks for reminding me to look at this!
I'm going to be really busy for a while as I'm moving house soon and then wont have proper internet for a while (or a proper computer) but after that's all done I'll have plenty of free time. So sorry if not much gets done in the next week or so!
2013-02-28 16:24:20 [SEVERE] [ForgeModLoader] The following problems were captured during this phase
2013-02-28 16:24:20 [SEVERE] [ForgeModLoader] Caught exception from Underground Biomes
java.lang.NullPointerException
at com.eloraam.redpower.core.CoreLib.compareItemStack(CoreLib.java:95)
at com.eloraam.redpower.core.CoreLib$1.compare(CoreLib.java:104)
at com.eloraam.redpower.core.CoreLib$1.compare(CoreLib.java:102)
at java.util.TreeMap.put(Unknown Source)
at com.eloraam.redpower.core.CoreLib.registerOre(CoreLib.java:112)
at com.eloraam.redpower.core.CoreEvents.oreRegister(CoreEvents.java:53)
at net.minecraftforge.event.ASMEventHandler_64_CoreEvents_oreRegister_OreRegisterEvent.invoke(.dynamic)
at net.minecraftforge.event.ASMEventHandler.invoke(ASMEventHandler.java:35)
at net.minecraftforge.event.EventBus.post(EventBus.java:103)
at net.minecraftforge.oredict.OreDictionary.registerOre(OreDictionary.java:290)
at net.minecraftforge.oredict.OreDictionary.registerOre(OreDictionary.java:272)
at exterminatorJeff.undergroundBiomes.common.UndergroundBiomes.addOreDicts(UndergroundBiomes.java:461)
at exterminatorJeff.undergroundBiomes.common.UndergroundBiomes.load(UndergroundBiomes.java:231)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at cpw.mods.fml.common.FMLModContainer.handleModStateEvent(FMLModContainer.java:487)
at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.google.common.eventbus.EventHandler.handleEvent(EventHandler.java:69)
at com.google.common.eventbus.SynchronizedEventHandler.handleEvent(SynchronizedEventHandler.java:45)
at com.google.common.eventbus.EventBus.dispatch(EventBus.java:317)
at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:300)
at com.google.common.eventbus.EventBus.post(EventBus.java:268)
at cpw.mods.fml.common.LoadController.propogateStateMessage(LoadController.java:153)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.google.common.eventbus.EventHandler.handleEvent(EventHandler.java:69)
at com.google.common.eventbus.SynchronizedEventHandler.handleEvent(SynchronizedEventHandler.java:45)
at com.google.common.eventbus.EventBus.dispatch(EventBus.java:317)
at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:300)
at com.google.common.eventbus.EventBus.post(EventBus.java:268)
at cpw.mods.fml.common.LoadController.distributeStateMessage(LoadController.java:86)
at cpw.mods.fml.common.Loader.initializeMods(Loader.java:676)
at cpw.mods.fml.client.FMLClientHandler.finishMinecraftLoading(FMLClientHandler.java:207)
at net.minecraft.client.Minecraft.a(Minecraft.java:458)
at asq.a(SourceFile:56)
at net.minecraft.client.Minecraft.run(Minecraft.java:746)
at java.lang.Thread.run(Unknown Source)
2013-02-28 16:24:20 [INFO] [STDERR] java.lang.NullPointerException
2013-02-28 16:24:20 [INFO] [STDERR] at com.eloraam.redpower.core.CoreLib.compareItemStack(CoreLib.java:95)
2013-02-28 16:24:20 [INFO] [STDERR] at com.eloraam.redpower.core.CoreLib$1.compare(CoreLib.java:104)
2013-02-28 16:24:20 [INFO] [STDERR] at com.eloraam.redpower.core.CoreLib$1.compare(CoreLib.java:102)
2013-02-28 16:24:20 [INFO] [STDERR] at java.util.TreeMap.put(Unknown Source)
2013-02-28 16:24:20 [INFO] [STDERR] at com.eloraam.redpower.core.CoreLib.registerOre(CoreLib.java:112)
2013-02-28 16:24:20 [INFO] [STDERR] at com.eloraam.redpower.core.CoreEvents.oreRegister(CoreEvents.java:53)
2013-02-28 16:24:20 [INFO] [STDERR] at net.minecraftforge.event.ASMEventHandler_64_CoreEvents_oreRegister_OreRegisterEvent.invoke(.dynamic)
2013-02-28 16:24:20 [INFO] [STDERR] at net.minecraftforge.event.ASMEventHandler.invoke(ASMEventHandler.java:35)
2013-02-28 16:24:20 [INFO] [STDERR] at net.minecraftforge.event.EventBus.post(EventBus.java:103)
2013-02-28 16:24:20 [INFO] [STDERR] at net.minecraftforge.oredict.OreDictionary.registerOre(OreDictionary.java:290)
2013-02-28 16:24:20 [INFO] [STDERR] at net.minecraftforge.oredict.OreDictionary.registerOre(OreDictionary.java:272)
2013-02-28 16:24:20 [INFO] [STDERR] at exterminatorJeff.undergroundBiomes.common.UndergroundBiomes.addOreDicts(UndergroundBiomes.java:461)
2013-02-28 16:24:20 [INFO] [STDERR] at exterminatorJeff.undergroundBiomes.common.UndergroundBiomes.load(UndergroundBiomes.java:231)
2013-02-28 16:24:20 [INFO] [STDERR] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
2013-02-28 16:24:20 [INFO] [STDERR] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
2013-02-28 16:24:20 [INFO] [STDERR] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
2013-02-28 16:24:20 [INFO] [STDERR] at java.lang.reflect.Method.invoke(Unknown Source)
2013-02-28 16:24:20 [INFO] [STDERR] at cpw.mods.fml.common.FMLModContainer.handleModStateEvent(FMLModContainer.java:487)
2013-02-28 16:24:20 [INFO] [STDERR] at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
2013-02-28 16:24:20 [INFO] [STDERR] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
2013-02-28 16:24:20 [INFO] [STDERR] at java.lang.reflect.Method.invoke(Unknown Source)
2013-02-28 16:24:20 [INFO] [STDERR] at com.google.common.eventbus.EventHandler.handleEvent(EventHandler.java:69)
2013-02-28 16:24:20 [INFO] [STDERR] at com.google.common.eventbus.SynchronizedEventHandler.handleEvent(SynchronizedEventHandler.java:45)
2013-02-28 16:24:20 [INFO] [STDERR] at com.google.common.eventbus.EventBus.dispatch(EventBus.java:317)
2013-02-28 16:24:20 [INFO] [STDERR] at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:300)
2013-02-28 16:24:20 [INFO] [STDERR] at com.google.common.eventbus.EventBus.post(EventBus.java:268)
2013-02-28 16:24:20 [INFO] [STDERR] at cpw.mods.fml.common.LoadController.propogateStateMessage(LoadController.java:153)
2013-02-28 16:24:20 [INFO] [STDERR] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
2013-02-28 16:24:20 [INFO] [STDERR] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
2013-02-28 16:24:20 [INFO] [STDERR] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
2013-02-28 16:24:20 [INFO] [STDERR] at java.lang.reflect.Method.invoke(Unknown Source)
2013-02-28 16:24:20 [INFO] [STDERR] at com.google.common.eventbus.EventHandler.handleEvent(EventHandler.java:69)
2013-02-28 16:24:20 [INFO] [STDERR] at com.google.common.eventbus.SynchronizedEventHandler.handleEvent(SynchronizedEventHandler.java:45)
2013-02-28 16:24:20 [INFO] [STDERR] at com.google.common.eventbus.EventBus.dispatch(EventBus.java:317)
2013-02-28 16:24:20 [INFO] [STDERR] at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:300)
2013-02-28 16:24:20 [INFO] [STDERR] at com.google.common.eventbus.EventBus.post(EventBus.java:268)
2013-02-28 16:24:20 [INFO] [STDERR] at cpw.mods.fml.common.LoadController.distributeStateMessage(LoadController.java:86)
2013-02-28 16:24:20 [INFO] [STDERR] at cpw.mods.fml.common.Loader.initializeMods(Loader.java:676)
2013-02-28 16:24:20 [INFO] [STDERR] at cpw.mods.fml.client.FMLClientHandler.finishMinecraftLoading(FMLClientHandler.java:207)
2013-02-28 16:24:20 [INFO] [STDERR] at net.minecraft.client.Minecraft.a(Minecraft.java:458)
2013-02-28 16:24:20 [INFO] [STDERR] at asq.a(SourceFile:56)
2013-02-28 16:24:20 [INFO] [STDERR] at net.minecraft.client.Minecraft.run(Minecraft.java:746)
2013-02-28 16:24:20 [INFO] [STDERR] at java.lang.Thread.run(Unknown Source)
Is it an incompatibility with IDResolver or one of the mods that adds new ores, or something different entirely?
Is there anything I can do to fix this error? Thanks.
Sorry for the late reply! I'm in the process of moving and I won't have internet for a while starting tomorrow! Do you know if this happens every time or just every now and then? It seems to be a rare bug that can happen just on its own but if it's happening for every world then it's a compatibility issue most likely
Hmm that's strange that it's still happening even if you turn off the modify recipes option. Has there been a new Redpower update recently or something? I have tested it with one from a few weeks back and that worked fine. I'll try and look into this for you but it might take some time sorry I'm moving house tomorrow and then it might be a while before I get proper internet. I'll use mobile for a bit but I don't have that much data left for the next few days
Hmm, now that I think about it, maybe temporarily removing RP2's Compat module would fix this error? It seems like all the module actually does is add compatibility between BC3 and RP2 pipes and machines, which I don't mix anyway.
EDIT:
Removing RP2's Compat seems to have caused another error that only involves UB, so that's good (?)
[SEVERE] [ForgeModLoader] Caught exception from Underground Biomes
java.lang.NullPointerException
at vq.<init>(ItemBlock.java:21)
at exterminatorJeff.undergroundBiomes.common.item.ItemIgneousCobblestoneBlock.<init>(ItemIgneousCobblestoneBlock.java:14)
at exterminatorJeff.undergroundBiomes.common.UndergroundBiomes.load(UndergroundBiomes.java:193)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at cpw.mods.fml.common.FMLModContainer.handleModStateEvent(FMLModContainer.java:487)
at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.google.common.eventbus.EventHandler.handleEvent(EventHandler.java:69)
at com.google.common.eventbus.SynchronizedEventHandler.handleEvent(SynchronizedEventHandler.java:45)
at com.google.common.eventbus.EventBus.dispatch(EventBus.java:317)
at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:300)
at com.google.common.eventbus.EventBus.post(EventBus.java:268)
at cpw.mods.fml.common.LoadController.propogateStateMessage(LoadController.java:153)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.google.common.eventbus.EventHandler.handleEvent(EventHandler.java:69)
at com.google.common.eventbus.SynchronizedEventHandler.handleEvent(SynchronizedEventHandler.java:45)
at com.google.common.eventbus.EventBus.dispatch(EventBus.java:317)
at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:300)
at com.google.common.eventbus.EventBus.post(EventBus.java:268)
at cpw.mods.fml.common.LoadController.distributeStateMessage(LoadController.java:86)
at cpw.mods.fml.common.Loader.initializeMods(Loader.java:676)
at cpw.mods.fml.client.FMLClientHandler.finishMinecraftLoading(FMLClientHandler.java:207)
at net.minecraft.client.Minecraft.a(Minecraft.java:458)
at asq.a(SourceFile:56)
at net.minecraft.client.Minecraft.run(Minecraft.java:746)
at java.lang.Thread.run(Unknown Source)
No rush. It happens every time. Highlands just went to 1.2.1 which allowed an option to turn off custom ore generation. This.. sort-of fixes the UB problem, in that now I get red granite, smooth stone, and veins of non-cobble stone (andesite, etc). Still none of the turns-into-cobble-types stones, though. Something with how they're generating the biomes.
Can we have actual biomes underground, I don't mean that they appear on the f3 screen but can we say have flooded cave systems in some areas or huge lava pools much higher than normal, possibly areas with a higher ore count etc.
I would actualy really like the flooded cave system idea since I have ic2 and nothing to use my scuba gear for.
1) Signatures, 2) Irony, 3) Lists
I thank you for making the stones compatible with most mods for crafting, though I have no idea how to make it so that the variant cobbles are more tradeable with Millenaire villages. That isn't a gripe, because it's my failing to understand how to do the transition codes. If you can help, that would be extremely useful. Thank you again.
Hmm that's a strange looking one. I wouldn't expect a block to cause an error like that so there must be something odd happening there. I'll try and sort that out for you once I get set up again with internet (On mobile right now)
Thanks for checking that for me. I'm not sure why that might happen but I'll see if I can find out for you.
That's something that I would like to do but it will probably be some time down the track as part of or after the integration in Extra Biomes XL
I'll try and have a look at those for you. I might be a while though so if I forget don't hesitate to remind me! I'm just moving house at the moment so I can't actually do any work on the mod for a while
It's something that I'm aware of but I'm not sure how to fix it just yet. I'm sure it has to do with the order in which terrain generation events happen so I just need to find a way to make sure that my mod always does it last so that everything that relies on having normal stone can generate properly. It seems to work for almost everything now but there's just a few things that must do things a bit differently that I need to solve
In general, modern languages are supersets of those old languages, with "Goto" removed, and syntactic constructs added to provide loops without needing Goto. The one true change is language support for data-structure controlled branching.
You're probably used to writing code that looks at a data structure, and decides how to make changes to it.
Instead, modern systems are based on saying, "I want to do operation X on this data structure", and letting that data structure have a lookup table that says "Here's the routine that knows how to do that operation". This lets you add new data structures to old programs.
That, plus some syntactic sugar to hide the details, is modern C++/Java.
Adding new data structures is the key point. It means that code can be designed around the flow of operations, instead of around the flow of data manipulation. Sadly, C++ is probably the least capable in this regards of modern langauges, however it does (Generally) have the least overhead and fastest operation. Note that Java can actually exceed C++'s speed in very long running programs because the compiler can do live data-driven analysis at runtime (having all of source code, previous compilation attempts, and history of actual execution patterns), at the cost of much higher memory consumption.
* 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?
Is there a way where the variety of Underground Biomes stone types, are still readable as Vanilla Stone to other mods? Much like different mods with different ores and metals being interchangeable via the Forge Ore Dictionary. If you ran it through that process it probably could make it easier for other mods to generate their world gen maybe? Same thing with the cobblestone in recipes, though your fix works for majority of recipes, some of them still don't work (which at least makes the 4 cobble for vanilla cobble worthwhile).
-Joseph Campbell
-Joseph Campbell