Jump to content

Elix_x

Members
  • Posts

    878
  • Joined

  • Last visited

Everything posted by Elix_x

  1. Hello everybody! Today, i tried to understand how ChunkProviderGenerate works. But i didn't understand a lot. But i at least managed to translate (from obfuscated) most names (except for one) of fields and methods so they make sense. I also annotated them, from what i could understand they're doing. All that thanks to day of try-to-understand-obfuscated-code, research and open-source-mods-source-code-analysis. Here's what i came to: https://gist.github.com/elix-x/c9e10d85f46763707e1d I translated what i could, but i still don't understand how it works... If you know how to translate any name better, know what part does what, write it down, suggest edit for gist... It always helps! Hopefully this is not code that only mojang knows how it works... Thanks for help! If you have any questions - just ask!
  2. Is that one of errors? Try to: reinstall your workspace anв refresh project. There's something strange with it...
  3. Can you show screenshot of project explorer in you ide, with api folder opened???
  4. First of all, when using music, textures and other things made not by you in your mod, follow license that they are licensed under. Sometimes they can be licensed under license that allows "redistribution", like Creative Commons (CC, CC-BY, CC-SA, but not CC-ND for example). Second, to add other mod's api to you workspace, you have 2 options. -If you have java files in zip or simply in folder (unpacked) - in project folder, create folder src/api/java and drop apis (these files) in there. Then re-setup workspace (gradlew setupDecompWorkspace/setupDevWorkspace) . -If you have mods in jars, verify that you have dev verion of jars, then put jars in projectFolder/libs (crete one, if it does not exist) and re-setup your worspace.
  5. 0 does not work too... I think it's time to check all characters one by one... EDIT: Can't think of "uncommon" character that won't be used in recipe and is accepted by config. Any more ideas???
  6. It seems that there are characters that configuration replaces with white space while writing String[]. And it includes _ and ", so 2 ideas above do not work... Any more ideas?
  7. Do you mean put " in begining and end of each string of array? Pretty good idea... Technically any caracter to mark begining and end will work, but quotes are commonly used... And then in code replace them with nothing, before converting to recipe... I'll try it...
  8. Cough, cough... WHAT? I tried using '_' and for some reason, in config file, in String[], '_' are replaced by ' '. They are kept in [default: ] however, that's why i know that to this point my code is correct...
  9. That's a crappy method. #Use _ to represent spaces (no item) in recipes. S:"quarterstaff" < S S S S oreDict:itemStick > It's in short. Of course, i don't simply find first string with one character, i also check next string for item stack validity:
  10. It may work, but still not the best idea. If we use rare character, then user will not be able to find it. If we use '_' for example, then if i replace it in every string of array, i may affect items that are named using this character. And it will be useless, when recipe is shapeless... Meanwhile, i use same translation code for another mod, whose recipes are configured via json, and json keeps spaces in strings... Thanks, anyways... 1) Use _, no one is going to be affected strangely. You just have to make sure to document the config file correctly. 2) Only do the replacement on the recipe portion. This is at most the first 3 strings. 3) Shapeless recipes won't matter, their construction is different, they only have inputs and a result. 4) Yes, json does preserve whitespace, the Forge config files were never meant to handle this sort of data. Yeah, i can find end of recipe portion using way i already use (find first string with single character, here's begining of definitions) and replace all '_' to ' ' in there without problems. Yes, shapeless recipes don't have recipe part, nor definition part... And i already have a method to check whether or not recipe is shaped... That's why i like json, but for this project (and few others), i'd like to keep configurations in one place. Using '_' will definetly work, but is not best idea ever... I'll probably go with that, but i still accept other ideas too...
  11. It may work, but still not the best idea. If we use rare character, then user will not be able to find it. If we use '_' for example, then if i replace it in every string of array, i may affect items that are named using this character. And it will be useless, when recipe is shapeless... Meanwhile, i use same translation code for another mod, whose recipes are configured via json, and json keeps spaces in strings... Thanks, anyways...
  12. I know this... And why it's "I" and not " I " returned, if in config file i have this: S:"air bottle frame" < I G G IBI I oreDict:ingotIron G oreDict:paneGlass B oreDict:blockIron > Wait, what? Does Configuration.class ignores spaces or trims string when reading string array? EDIT: It does... But WHY? And how can i go around it? Because in this case... I don't even know... It's impossible to configure recipes using .cfg???
  13. Hello everybody! I met another strange problem today, so: -In my mod, user can full configure recipe in config file using string array. -String array using translator gets translated in to ShapedOreRecipe or ShapelessOreRecipe (depending on how user configured recipe). -I'm registering 8 recipes using this method. -For some reason, it crashes... And for unknown reason, at end of Object[], there's null item added: Invalid shaped ore recipe: I, G G, IBI, I, ingotIron, G, paneGlass, B, blockIron, [b]1xitem.null@0[/b] -Full crash report: [15:32:45] [Client thread/ERROR] [FML]: Fatal errors were detected during the transition from INITIALIZATION to POSTINITIALIZATION. Loading cannot continue [15:32:45] [Client thread/ERROR] [FML]: States: 'U' = Unloaded 'L' = Loaded 'C' = Constructed 'H' = Pre-initialized 'I' = Initialized 'J' = Post-initialized 'A' = Available 'D' = Disabled 'E' = Errored UCHI mcp{9.05} [Minecraft Coder Pack] (minecraft.jar) UCHI FML{7.10.99.99} [Forge Mod Loader] (forgeSrc-1.7.10-10.13.4.1492-1.7.10.jar) UCHI Forge{10.13.4.1492} [Minecraft Forge] (forgeSrc-1.7.10-10.13.4.1492-1.7.10.jar) UCHI CodeChickenCore{1.0.6.43} [CodeChicken Core] (minecraft.jar) UCHI NotEnoughItems{1.0.4.105} [Not Enough Items] (NotEnoughItems-1.7.10-1.0.4.105-universal.jar) UCHI excore{1.1.3} [EXCore] (bin) UCHE powerofbreathing{1.0} [Power Of Breathing] (bin) UCHI colourfullblocks{1.0.1} [Colourfull Blocks] (ColorfulBlocks-LATEST-1.7.10.jar) [15:32:45] [Client thread/ERROR] [FML]: The following problems were captured during this phase [15:32:45] [Client thread/ERROR] [FML]: Caught exception from powerofbreathing java.lang.RuntimeException: Invalid shaped ore recipe: I, G G, IBI, I, ingotIron, G, paneGlass, B, blockIron, 1xitem.null@0 at net.minecraftforge.oredict.ShapedOreRecipe.<init>(ShapedOreRecipe.java:82) ~[forgeSrc-1.7.10-10.13.4.1492-1.7.10.jar:?] at code.elix_x.excore.utils.recipes.RecipeStringTranslator.fromString(RecipeStringTranslator.java:47) ~[bin/:?] at code.elix_x.mods.powerofbreathing.config.ConfigurationManager.init(ConfigurationManager.java:120) ~[bin/:?] at code.elix_x.mods.powerofbreathing.PowerOfBreathingBase.init(PowerOfBreathingBase.java:186) ~[bin/:?] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_25] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_25] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_25] at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_25] at cpw.mods.fml.common.FMLModContainer.handleModStateEvent(FMLModContainer.java:532) ~[forgeSrc-1.7.10-10.13.4.1492-1.7.10.jar:?] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_25] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_25] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_25] at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_25] at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74) ~[guava-17.0.jar:?] at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47) ~[guava-17.0.jar:?] at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322) ~[guava-17.0.jar:?] at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304) ~[guava-17.0.jar:?] at com.google.common.eventbus.EventBus.post(EventBus.java:275) ~[guava-17.0.jar:?] at cpw.mods.fml.common.LoadController.sendEventToModContainer(LoadController.java:212) ~[forgeSrc-1.7.10-10.13.4.1492-1.7.10.jar:?] at cpw.mods.fml.common.LoadController.propogateStateMessage(LoadController.java:190) ~[forgeSrc-1.7.10-10.13.4.1492-1.7.10.jar:?] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_25] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_25] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_25] at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_25] at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74) ~[guava-17.0.jar:?] at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47) ~[guava-17.0.jar:?] at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322) ~[guava-17.0.jar:?] at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304) ~[guava-17.0.jar:?] at com.google.common.eventbus.EventBus.post(EventBus.java:275) ~[guava-17.0.jar:?] at cpw.mods.fml.common.LoadController.distributeStateMessage(LoadController.java:119) [LoadController.class:?] at cpw.mods.fml.common.Loader.initializeMods(Loader.java:737) [Loader.class:?] at cpw.mods.fml.client.FMLClientHandler.finishMinecraftLoading(FMLClientHandler.java:311) [FMLClientHandler.class:?] at net.minecraft.client.Minecraft.startGame(Minecraft.java:597) [Minecraft.class:?] at net.minecraft.client.Minecraft.run(Minecraft.java:942) [Minecraft.class:?] at net.minecraft.client.main.Main.main(Main.java:164) [Main.class:?] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_25] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_25] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_25] at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_25] at net.minecraft.launchwrapper.Launch.launch(Launch.java:135) [launchwrapper-1.12.jar:?] at net.minecraft.launchwrapper.Launch.main(Launch.java:28) [launchwrapper-1.12.jar:?] at net.minecraftforge.gradle.GradleStartCommon.launch(Unknown Source) [start/:?] at GradleStart.main(Unknown Source) [start/:?] [15:32:45] [Client thread/INFO] [sTDOUT]: [net.minecraft.client.Minecraft:displayCrashReport:388]: ---- Minecraft Crash Report ---- // Daisy, daisy... Time: 20.10.15 15:32 Description: Initializing game java.lang.RuntimeException: Invalid shaped ore recipe: I, G G, IBI, I, ingotIron, G, paneGlass, B, blockIron, 1xitem.null@0 at net.minecraftforge.oredict.ShapedOreRecipe.<init>(ShapedOreRecipe.java:82) at code.elix_x.excore.utils.recipes.RecipeStringTranslator.fromString(RecipeStringTranslator.java:47) at code.elix_x.mods.powerofbreathing.config.ConfigurationManager.init(ConfigurationManager.java:120) at code.elix_x.mods.powerofbreathing.PowerOfBreathingBase.init(PowerOfBreathingBase.java:186) 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:532) 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.EventSubscriber.handleEvent(EventSubscriber.java:74) at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47) at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322) at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304) at com.google.common.eventbus.EventBus.post(EventBus.java:275) at cpw.mods.fml.common.LoadController.sendEventToModContainer(LoadController.java:212) at cpw.mods.fml.common.LoadController.propogateStateMessage(LoadController.java:190) 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.EventSubscriber.handleEvent(EventSubscriber.java:74) at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47) at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322) at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304) at com.google.common.eventbus.EventBus.post(EventBus.java:275) at cpw.mods.fml.common.LoadController.distributeStateMessage(LoadController.java:119) at cpw.mods.fml.common.Loader.initializeMods(Loader.java:737) at cpw.mods.fml.client.FMLClientHandler.finishMinecraftLoading(FMLClientHandler.java:311) at net.minecraft.client.Minecraft.startGame(Minecraft.java:597) at net.minecraft.client.Minecraft.run(Minecraft.java:942) at net.minecraft.client.main.Main.main(Main.java:164) 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 net.minecraft.launchwrapper.Launch.launch(Launch.java:135) at net.minecraft.launchwrapper.Launch.main(Launch.java:28) at net.minecraftforge.gradle.GradleStartCommon.launch(Unknown Source) at GradleStart.main(Unknown Source) A detailed walkthrough of the error, its code path and all known details is as follows: --------------------------------------------------------------------------------------- -- Head -- Stacktrace: at net.minecraftforge.oredict.ShapedOreRecipe.<init>(ShapedOreRecipe.java:82) at code.elix_x.excore.utils.recipes.RecipeStringTranslator.fromString(RecipeStringTranslator.java:47) at code.elix_x.mods.powerofbreathing.config.ConfigurationManager.init(ConfigurationManager.java:120) at code.elix_x.mods.powerofbreathing.PowerOfBreathingBase.init(PowerOfBreathingBase.java:186) 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:532) 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.EventSubscriber.handleEvent(EventSubscriber.java:74) at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47) at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322) at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304) at com.google.common.eventbus.EventBus.post(EventBus.java:275) at cpw.mods.fml.common.LoadController.sendEventToModContainer(LoadController.java:212) at cpw.mods.fml.common.LoadController.propogateStateMessage(LoadController.java:190) 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.EventSubscriber.handleEvent(EventSubscriber.java:74) at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47) at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322) at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304) at com.google.common.eventbus.EventBus.post(EventBus.java:275) at cpw.mods.fml.common.LoadController.distributeStateMessage(LoadController.java:119) at cpw.mods.fml.common.Loader.initializeMods(Loader.java:737) at cpw.mods.fml.client.FMLClientHandler.finishMinecraftLoading(FMLClientHandler.java:311) at net.minecraft.client.Minecraft.startGame(Minecraft.java:597) -- Initialization -- Details: Stacktrace: at net.minecraft.client.Minecraft.run(Minecraft.java:942) at net.minecraft.client.main.Main.main(Main.java:164) 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 net.minecraft.launchwrapper.Launch.launch(Launch.java:135) at net.minecraft.launchwrapper.Launch.main(Launch.java:28) at net.minecraftforge.gradle.GradleStartCommon.launch(Unknown Source) at GradleStart.main(Unknown Source) -- System Details -- Details: Minecraft Version: 1.7.10 Operating System: Windows 7 (amd64) version 6.1 Java Version: 1.8.0_25, Oracle Corporation Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation Memory: 816557224 bytes (778 MB) / 1038876672 bytes (990 MB) up to 1038876672 bytes (990 MB) JVM Flags: 3 total; -Xincgc -Xmx1024M -Xms1024M AABB Pool Size: 0 (0 bytes; 0 MB) allocated, 0 (0 bytes; 0 MB) used IntCache: cache: 0, tcache: 0, allocated: 0, tallocated: 0 FML: MCP v9.05 FML v7.10.99.99 Minecraft Forge 10.13.4.1492 8 mods loaded, 8 mods active States: 'U' = Unloaded 'L' = Loaded 'C' = Constructed 'H' = Pre-initialized 'I' = Initialized 'J' = Post-initialized 'A' = Available 'D' = Disabled 'E' = Errored UCHI mcp{9.05} [Minecraft Coder Pack] (minecraft.jar) UCHI FML{7.10.99.99} [Forge Mod Loader] (forgeSrc-1.7.10-10.13.4.1492-1.7.10.jar) UCHI Forge{10.13.4.1492} [Minecraft Forge] (forgeSrc-1.7.10-10.13.4.1492-1.7.10.jar) UCHI CodeChickenCore{1.0.6.43} [CodeChicken Core] (minecraft.jar) UCHI NotEnoughItems{1.0.4.105} [Not Enough Items] (NotEnoughItems-1.7.10-1.0.4.105-universal.jar) UCHI excore{1.1.3} [EXCore] (bin) UCHE powerofbreathing{1.0} [Power Of Breathing] (bin) UCHI colourfullblocks{1.0.1} [Colourfull Blocks] (ColorfulBlocks-LATEST-1.7.10.jar) GL info: ' Vendor: 'ATI Technologies Inc.' Version: '4.4.13084 Compatibility Profile Context 14.301.1001.0' Renderer: 'AMD Radeon HD 8570D' Launched Version: 1.7.10 LWJGL: 2.9.1 OpenGL: AMD Radeon HD 8570D GL version 4.4.13084 Compatibility Profile Context 14.301.1001.0, ATI Technologies Inc. GL Caps: Using GL 1.3 multitexturing. Using framebuffer objects because OpenGL 3.0 is supported and separate blending is supported. Anisotropic filtering is supported and maximum anisotropy is 16. Shaders are available because OpenGL 2.1 is supported. Is Modded: Definitely; Client brand changed to 'fml,forge' Type: Client (map_client.txt) Resource Packs: [] Current Language: English (US) Profiler Position: N/A (disabled) Vec3 Pool Size: 0 (0 bytes; 0 MB) allocated, 0 (0 bytes; 0 MB) used Anisotropic Filtering: Off (1) [15:32:45] [Client thread/INFO] [sTDOUT]: [net.minecraft.client.Minecraft:displayCrashReport:398]: #@!@# Game crashed! Crash report saved to: #@!@# C:\my\mcmodding\mods\power of breathing\eclipse\.\crash-reports\crash-2015-10-20_15.32.45-client.txt AL lib: (EE) alc_cleanup: 1 device not closed Java HotSpot(TM) 64-Bit Server VM warning: Using incremental CMS is deprecated and will likely be removed in a future release -Before continuing, here's translator code: https://gist.github.com/elix-x/3bdb448ae1d5bbf120d3 -For gist you see, it crashes on line 34. -I debugged with breakpoint on line 29 of gist and on line 31 of ShapedOreRecipe, and here's what i got in variables: --Gist:29: --ShapedOreRecipe:31: -As you can see, there's no 1xitem.null@0 on end of array nor when it completes method translation, nor when it enters new ShapedOreRecipe. -Minecraft crashes right after this breakpoint is past. Do you have any ideas why this is happening? Thanks for help! If you have any questions - just ask!
  14. Ok... I'll not use it too then...
  15. Ok... But if it is not present while mod is running, why is it in eclipse then?
  16. Thanks, Apache Commons' Pair works... But why JavaFX is in code, but might not be avaible???
  17. Hello everybody! I met strange error today: I have code that uses javafx.util.Pair.class and when i try to run minecraft, i get class not found: java.lang.NoClassDefFoundError: javafx/util/Pair at code.elix_x.coremods.colourfulblocks.color.material.ColoringMaterialsManager.loadRecipes(ColoringMaterialsManager.java:139) ~[bin/:?] at code.elix_x.coremods.colourfulblocks.color.material.ColoringMaterialsManager.init(ColoringMaterialsManager.java:71) ~[bin/:?] at code.elix_x.coremods.colourfulblocks.ColourfulBlocksBase.init(ColourfulBlocksBase.java:138) ~[bin/:?] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_25] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_25] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_25] at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_25] at cpw.mods.fml.common.FMLModContainer.handleModStateEvent(FMLModContainer.java:532) ~[forgeSrc-1.7.10-10.13.4.1492-1.7.10.jar:?] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_25] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_25] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_25] at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_25] at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74) ~[guava-17.0.jar:?] at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47) ~[guava-17.0.jar:?] at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322) ~[guava-17.0.jar:?] at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304) ~[guava-17.0.jar:?] at com.google.common.eventbus.EventBus.post(EventBus.java:275) ~[guava-17.0.jar:?] at cpw.mods.fml.common.LoadController.sendEventToModContainer(LoadController.java:212) ~[forgeSrc-1.7.10-10.13.4.1492-1.7.10.jar:?] at cpw.mods.fml.common.LoadController.propogateStateMessage(LoadController.java:190) ~[forgeSrc-1.7.10-10.13.4.1492-1.7.10.jar:?] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_25] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_25] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_25] at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_25] at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74) ~[guava-17.0.jar:?] at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47) ~[guava-17.0.jar:?] at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322) ~[guava-17.0.jar:?] at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304) ~[guava-17.0.jar:?] at com.google.common.eventbus.EventBus.post(EventBus.java:275) ~[guava-17.0.jar:?] at cpw.mods.fml.common.LoadController.distributeStateMessage(LoadController.java:119) [LoadController.class:?] at cpw.mods.fml.common.Loader.initializeMods(Loader.java:737) [Loader.class:?] at cpw.mods.fml.client.FMLClientHandler.finishMinecraftLoading(FMLClientHandler.java:311) [FMLClientHandler.class:?] at net.minecraft.client.Minecraft.startGame(Minecraft.java:597) [Minecraft.class:?] at net.minecraft.client.Minecraft.run(Minecraft.java:942) [Minecraft.class:?] at net.minecraft.client.main.Main.main(Main.java:164) [Main.class:?] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_25] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_25] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_25] at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_25] at net.minecraft.launchwrapper.Launch.launch(Launch.java:135) [launchwrapper-1.12.jar:?] at net.minecraft.launchwrapper.Launch.main(Launch.java:28) [launchwrapper-1.12.jar:?] at net.minecraftforge.gradle.GradleStartCommon.launch(Unknown Source) [start/:?] at GradleStart.main(Unknown Source) [start/:?] Caused by: java.lang.ClassNotFoundException: javafx.util.Pair at net.minecraft.launchwrapper.LaunchClassLoader.findClass(LaunchClassLoader.java:191) ~[launchwrapper-1.12.jar:?] at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:1.8.0_25] at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:1.8.0_25] ... 42 more Caused by: java.lang.NullPointerException at net.minecraft.launchwrapper.LaunchClassLoader.findClass(LaunchClassLoader.java:182) ~[launchwrapper-1.12.jar:?] at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:1.8.0_25] at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:1.8.0_25] ... 42 more [10:58:03] [Client thread/INFO] [sTDOUT]: [net.minecraft.client.Minecraft:displayCrashReport:388]: ---- Minecraft Crash Report ---- // Who set us up the TNT? Time: 19.10.15 10:58 Description: There was a severe problem during mod loading that has caused the game to fail cpw.mods.fml.common.LoaderException: java.lang.NoClassDefFoundError: javafx/util/Pair at cpw.mods.fml.common.LoadController.transition(LoadController.java:163) at cpw.mods.fml.common.Loader.initializeMods(Loader.java:739) at cpw.mods.fml.client.FMLClientHandler.finishMinecraftLoading(FMLClientHandler.java:311) at net.minecraft.client.Minecraft.startGame(Minecraft.java:597) at net.minecraft.client.Minecraft.run(Minecraft.java:942) at net.minecraft.client.main.Main.main(Main.java:164) 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 net.minecraft.launchwrapper.Launch.launch(Launch.java:135) at net.minecraft.launchwrapper.Launch.main(Launch.java:28) at net.minecraftforge.gradle.GradleStartCommon.launch(Unknown Source) at GradleStart.main(Unknown Source) Caused by: java.lang.NoClassDefFoundError: javafx/util/Pair at code.elix_x.coremods.colourfulblocks.color.material.ColoringMaterialsManager.loadRecipes(ColoringMaterialsManager.java:139) at code.elix_x.coremods.colourfulblocks.color.material.ColoringMaterialsManager.init(ColoringMaterialsManager.java:71) at code.elix_x.coremods.colourfulblocks.ColourfulBlocksBase.init(ColourfulBlocksBase.java:138) 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:532) 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.EventSubscriber.handleEvent(EventSubscriber.java:74) at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47) at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322) at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304) at com.google.common.eventbus.EventBus.post(EventBus.java:275) at cpw.mods.fml.common.LoadController.sendEventToModContainer(LoadController.java:212) at cpw.mods.fml.common.LoadController.propogateStateMessage(LoadController.java:190) 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.EventSubscriber.handleEvent(EventSubscriber.java:74) at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47) at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322) at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304) at com.google.common.eventbus.EventBus.post(EventBus.java:275) at cpw.mods.fml.common.LoadController.distributeStateMessage(LoadController.java:119) at cpw.mods.fml.common.Loader.initializeMods(Loader.java:737) ... 12 more Caused by: java.lang.ClassNotFoundException: javafx.util.Pair at net.minecraft.launchwrapper.LaunchClassLoader.findClass(LaunchClassLoader.java:191) at java.lang.ClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) ... 42 more Caused by: java.lang.NullPointerException at net.minecraft.launchwrapper.LaunchClassLoader.findClass(LaunchClassLoader.java:182) ... 44 more A detailed walkthrough of the error, its code path and all known details is as follows: --------------------------------------------------------------------------------------- -- System Details -- Details: Minecraft Version: 1.7.10 Operating System: Windows 7 (amd64) version 6.1 Java Version: 1.8.0_25, Oracle Corporation Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation Memory: 662240936 bytes (631 MB) / 1038876672 bytes (990 MB) up to 1038876672 bytes (990 MB) JVM Flags: 3 total; -Xincgc -Xmx1024M -Xms1024M AABB Pool Size: 0 (0 bytes; 0 MB) allocated, 0 (0 bytes; 0 MB) used IntCache: cache: 0, tcache: 0, allocated: 0, tallocated: 0 FML: MCP v9.05 FML v7.10.99.99 Minecraft Forge 10.13.4.1492 7 mods loaded, 7 mods active States: 'U' = Unloaded 'L' = Loaded 'C' = Constructed 'H' = Pre-initialized 'I' = Initialized 'J' = Post-initialized 'A' = Available 'D' = Disabled 'E' = Errored UCHI mcp{9.05} [Minecraft Coder Pack] (minecraft.jar) UCHI FML{7.10.99.99} [Forge Mod Loader] (forgeSrc-1.7.10-10.13.4.1492-1.7.10.jar) UCHI Forge{10.13.4.1492} [Minecraft Forge] (forgeSrc-1.7.10-10.13.4.1492-1.7.10.jar) UCHI CodeChickenCore{1.0.6.43} [CodeChicken Core] (minecraft.jar) UCHI NotEnoughItems{1.0.4.105} [Not Enough Items] (NotEnoughItems-1.7.10-1.0.4.105-universal.jar) UCHI excore{1.1.3} [EXCore] (bin) UCHE colourfullblocks{1.0.1} [Colourfull Blocks] (bin) GL info: ' Vendor: 'ATI Technologies Inc.' Version: '4.4.13084 Compatibility Profile Context 14.301.1001.0' Renderer: 'AMD Radeon HD 8570D' [10:58:03] [Client thread/INFO] [sTDOUT]: [net.minecraft.client.Minecraft:displayCrashReport:398]: #@!@# Game crashed! Crash report saved to: #@!@# C:\my\mcmodding\mods\Colourful-Blocks\eclipse\.\crash-reports\crash-2015-10-19_10.58.03-client.txt AL lib: (EE) alc_cleanup: 1 device not closed Java HotSpot(TM) 64-Bit Server VM warning: Using incremental CMS is deprecated and will likely be removed in a future release How ever, i can look and use it... And code compiles without problems... Any ideas why this is happening? Should i create my own Pair<K, V> class? Thanks for help! If you have any questions - just ask!
  18. I could try using "recipe cutting" method, of which i talked above, but it will not work in all cases for sure... Any other method ideas???
  19. Right, but i don't care about armor materials at the moment... You mean like if it returns invalid stack? Then yes, this must be reported... Weird results for texture? They will be based on texture pack and higher is definition, exactlier is color detection. But still, what about materials without repair item stack specified (Not reparable or whatever...)? I'm not only using this item for color detection, but also for crafting recipe... Which means that when my mod will generate tools for new tool materials, these tools will be uncraftable... Even, though, user can change crafting item (and even recipe) at any time, it would be better if mod was good enough to auto detect crafting material, so that users don't spend hours trying to configure crafting material and color manually for each from-modded-tool-material-generated-item...
  20. Another even hackier method: -Open mod jar. -Open Clojure.jar -Copy contents of second in first. -Close jars. You have to use professional software that can open and maniopulate jars! Like Total Commander fo example... Otherwise, this is probably the hackiest way and it may not work: -Rename mod .jar to .zip -Rename clojure.jar to .zip -Copy contentes of clojure.zip in to mod.zip -Rename mod.zip back to mod.jar. This may work, this may not... Just try...
  21. I did not take it from big sheet, but: -Using reflection i get iconString value, which is basically texture location with modid:file. https://gist.github.com/elix-x/61525e6fc172f0b7e6c5#file-colorfromtoolmaterial-L16'>https://gist.github.com/elix-x/61525e6fc172f0b7e6c5#file-colorfromtoolmaterial-L16 -Then i give it to ResourceLocation: https://gist.github.com/elix-x/61525e6fc172f0b7e6c5#file-colorfromtoolmaterial-L18'>https://gist.github.com/elix-x/61525e6fc172f0b7e6c5#file-colorfromtoolmaterial-L18 -And it should work... EDIT: I think i have to do some manipulations before feeding texture name to resource location - add items/ after : ... EDIT 2: OMG!!! It works!!! Kinda of... Code was changed to this: https://gist.github.com/elix-x/61525e6fc172f0b7e6c5 For blaze rod, it gave me 39:26:5 which is this color... What does not seem to be correct... I'll try with something else... EDIT 3: Further testing results: Blaze rod: 39:26:5 - does not seems to be correct. Ender pearl: 10:46:40 - seems to be correct. Brick: 59:29:20 - does not seems to be correct at all. Nether star: 54:63:58 - seems mostly correct. Bone: 34:34:31 - seems partially correct. Coal: 8:8:8 - correct. So what do you think about it??? It seems mostly correct, how ever, some times it does not give correct value (brick result for example)... EDIT 4: Improved code to support blocks: https://gist.github.com/elix-x/61525e6fc172f0b7e6c5 Some block testing results: Coal block: 18:18:18 - correct. Lapis block: 38:67:137 - mostly correct. Redstone block: 171:27:9 - mostly correct. Iron block: 219:219:219 - mostly correct. Gold block: 249:236:78 - mostly correct. Diamond block: 97:219:213 - mostly correct. Emerald block: 81:217:117 - mostly correct. It did pretty good job with blocks, at least better then with items... Do you think that on items texture there may be spots with low color values, but also with low transparency? I'm already ignoring transparent pixels, but something else shifts color a bit to darker one... That's true... So how do i do in this case??? (PS: Item of tool material is needed not for repairing, but for creation of new type of tool, if we can even call it a tool)...
  22. Ok, so: -I found that TextureUtil.readImageData does what i need: reads pixels in to int array. -I created dummy testing tool material with repair item stack specified: EnumHelper.addToolMaterial("BLAZE", 3, 900, 10, 8, 9).setRepairItem(new ItemStack(Items.blaze_rod)); -I tried using following code: https://gist.github.com/elix-x/61525e6fc172f0b7e6c5 -And it fails on: [20:19:16] [Client thread/ERROR] [CoB Materials Manager]: Caught exception while parsing texture to get color: java.io.FileNotFoundException: minecraft:blaze_rod at net.minecraft.client.resources.FallbackResourceManager.getResource(FallbackResourceManager.java:65) ~[FallbackResourceManager.class:?] at net.minecraft.client.resources.SimpleReloadableResourceManager.getResource(SimpleReloadableResourceManager.java:67) ~[simpleReloadableResourceManager.class:?] at net.minecraft.client.renderer.texture.TextureUtil.readImageData(TextureUtil.java:347) ~[TextureUtil.class:?] at code.elix_x.coremods.colourfulblocks.material.ExtensionsManager.recognizeColor(ExtensionsManager.java:198) [ExtensionsManager.class:?] at code.elix_x.coremods.colourfulblocks.material.ExtensionsManager.initGenMaterials(ExtensionsManager.java:111) [ExtensionsManager.class:?] at code.elix_x.coremods.colourfulblocks.material.ExtensionsManager.initDefaultMaterials(ExtensionsManager.java:78) [ExtensionsManager.class:?] at code.elix_x.coremods.colourfulblocks.material.ExtensionsManager.init(ExtensionsManager.java:65) [ExtensionsManager.class:?] at code.elix_x.coremods.colourfulblocks.ColourfulBlocksBase.init(ColourfulBlocksBase.java:141) [ColourfulBlocksBase.class:?] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_25] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_25] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_25] at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_25] at cpw.mods.fml.common.FMLModContainer.handleModStateEvent(FMLModContainer.java:532) [FMLModContainer.class:?] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_25] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_25] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_25] at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_25] at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74) [guava-17.0.jar:?] at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47) [guava-17.0.jar:?] at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322) [guava-17.0.jar:?] at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304) [guava-17.0.jar:?] at com.google.common.eventbus.EventBus.post(EventBus.java:275) [guava-17.0.jar:?] at cpw.mods.fml.common.LoadController.sendEventToModContainer(LoadController.java:212) [LoadController.class:?] at cpw.mods.fml.common.LoadController.propogateStateMessage(LoadController.java:190) [LoadController.class:?] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_25] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_25] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_25] at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_25] at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74) [guava-17.0.jar:?] at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47) [guava-17.0.jar:?] at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322) [guava-17.0.jar:?] at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304) [guava-17.0.jar:?] at com.google.common.eventbus.EventBus.post(EventBus.java:275) [guava-17.0.jar:?] at cpw.mods.fml.common.LoadController.distributeStateMessage(LoadController.java:119) [LoadController.class:?] at cpw.mods.fml.common.Loader.initializeMods(Loader.java:737) [Loader.class:?] at cpw.mods.fml.client.FMLClientHandler.finishMinecraftLoading(FMLClientHandler.java:311) [FMLClientHandler.class:?] at net.minecraft.client.Minecraft.startGame(Minecraft.java:597) [Minecraft.class:?] at net.minecraft.client.Minecraft.run(Minecraft.java:942) [Minecraft.class:?] at net.minecraft.client.main.Main.main(Main.java:164) [Main.class:?] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_25] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_25] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_25] at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_25] at net.minecraft.launchwrapper.Launch.launch(Launch.java:135) [launchwrapper-1.12.jar:?] at net.minecraft.launchwrapper.Launch.main(Launch.java:28) [launchwrapper-1.12.jar:?] at net.minecraftforge.gradle.GradleStartCommon.launch(Unknown Source) [start/:?] at GradleStart.main(Unknown Source) [start/:?] Any ideas?
  23. No. First, there will be no registerIICon method with layer param, here you just register ALL your textures for ALL layers. Second, here's excact methods that you have to use... Actually, sorry, it is not possible in 1.7.10 without TESR or ISBR... Altough, mutli layer rendering is possible with items (1.7.10&1. and with blocks in 1.8 without TESR or ISBR...
  24. Oh, ok... But as i said, it's probably like 0.001% of cases for items that are used in crafting that have multiple render passes... Because it's kinda useless, i guess... But anyways, thanks for help. I'll see what i can do... Thanks!
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.