ZephyrWolf_
Members-
Posts
17 -
Joined
-
Last visited
-
Days Won
3
Everything posted by ZephyrWolf_
-
I think i will look into a custom model loader. thx. I mostly mod to just play with code. I actually already have a system in place that allows a position of a mb to lookup the location of the master tile. Is it possible to have a block render a certain way from that? As you said; blockstate limitations tho. Hmmm
-
Grrr ok. Hmmm... As i mentioned, id love to have this datadriven. Ideally I would have the model divided into block size models and baked. But i can ready see a bunch of issues: -splitting the model -baking a variable amount of models -and blockstates cant support a property with a variable value from what i know. I really want to avoid tile entities. Ill spend some time looking at each problem on its own; any help would be appreciated.
-
Hey all. So I am working on my multiblock system. Reminiscent of IE in terms of looks I suppose. Currently I have no special rendering code. The rendering of the multiblock is handled by a single block using the OBJ model loader for the blockstate. I have several questions about issues and best practices and what not but I will limit my questions for now: 1) After writing this, I have found some people on this forum say to not render blocks with obj larger than 1 block. ok. If this is the case, could someone politely explain how I would go about rendering this structure in a better way. (Keeping in mind I am trying to keep these MBs data driven if possible) 2) Currently my render is glowing, aka lighting isn't being applied. I am not sure what would be causing this, but if it is because the MB is larger than a single block then garghgh. The way I wrote my MBs can be seen here https://forums.minecraftforge.net/topic/92057-1162-block-with-wavefront-obj-model/ This was copy paste from my code, but if you do want me to upload my JSON files then I will. P.S I don't care what your opinion is; if you can't be polite, I don't want your help
-
[1.16.2] Block with wavefront [.obj] model
ZephyrWolf_ replied to ZephyrWolf_'s topic in Modder Support
The forge read the docs wiki is a little out of date. It is a lot easier now. I learnt how to do this from reverse engineering minecraft's and forge's code. I use blender to create my model. A fantastic tutorial on how to create pixel art based models in blender can be found here: To export: go to File>Export->Wavefront (.obj) Your settings should reflect this. This will convert the Blender coordinate system into Minecraft's. When you export your model you will get two files, an obj and a mtl. e.g. block_name.obj and block_name.mtl. The obj file describes the shape of the model while mtl file describes how it looks. Keep both files next to each other. Go into your mod resource directory and place these two files where you want them, e.g. assets/modid/models/block/path Within block_name.obj, make sure the mtllib points to the mtl file. Remember, your obj and mtl file should be next to each other. It should read: mtllib block_name.mtl Still within block_name.obj, make sure the correct material library is being loaded (Ill show you where this is declared in a sec.) (Just scroll down until you find the line, don't write your own) usemtl block_name_mat Your block_name.mtl file should look like something like this when you export it. If it doesn't have all of these lines, don't worry, Minecraft doesn't care too much about these numbers. # Blender MTL File: 'bloomery.blend' # Material Count: 1 newmtl block_name_mat Ns 323.999994 Ka 1.000000 1.000000 1.000000 Kd 0.800000 0.800000 0.800000 Ks 0.500000 0.500000 0.500000 Ke 0.000000 0.000000 0.000000 Ni 1.000000 d 1.000000 illum 2 Pretty much everything here can stay as is. "newmtl" is where we declare the material the obj loads with "usemtl". Make sure these match. Next we need to let Minecraft know where to find out texture. Still within block_name.mtl add a map_Kd line below newmtl. If you forget this line, Forge will still load your model, but it will be all white. newmtl block_name_mat map_Kd modid:block/path/block_name Ns 323.999994 Ka 1.000000 1.000000 1.000000 Kd 0.800000 0.800000 0.800000 Ks 0.500000 0.500000 0.500000 Ke 0.000000 0.000000 0.000000 Ni 1.000000 d 1.000000 illum 2 Place your texture within assets/modid/textures/block/path. The map_Kd should point to this location. Next, create a blockstate file for your block as normal. [block_name.json]. This will load a json model file. This has to be next to your obj and mtl files. { "variants": { "": { "model": "modid:block/path/block_name" } } } Block Model [block_name.json] { "loader": "forge:obj", "model": "modid:models/block/path/block_name.obj", "flip-v": true } Enabling flip-v will depend your model file. This just flips the way the texture is applied. If your texture looks upside down, change this to false. Your assets folder structure should look like this now: assets/modid/ blockstates/ block_name.json models/block/path/ block_name.json block_name.obj block_name.mtl textures/block/path/ block_name.png -
[1.16.2] Block with wavefront [.obj] model
ZephyrWolf_ replied to ZephyrWolf_'s topic in Modder Support
After reading the code, I eventually reversed engineered this and got it to work. I will post how to do it soon so anyone else struggling at least has something to reference. better than naught -
[1.16.2] Block with wavefront [.obj] model
ZephyrWolf_ replied to ZephyrWolf_'s topic in Modder Support
Ok so I have made some progress. I got the model loading now. But the model renders all in white. I am unconvinced it is the texture file. No errors are thrown and if I move my texture the model doesn't load. Anyone else had a similar issue in the past? -
Hey all, I am working on implementing a custom model for a block using an .obj file. The OBJLoader.addDomain(domain) method has been removed since I last did this, and I cannot find anywhere what to do now. Does anyone know how to load obj model for blocks in the latest version?
-
I don't know if you still having issues, but I do have a working re-loadable resource myself. I registered it slightly differently though: public ModConst () { MinecraftForge.EVENT_BUS.addListener( this::addResourceReload ); } private void addResourceReload ( final AddReloadListenerEvent event ) { event.addListener( new CustomReloadListener() ); } For me, extending JsonReloadListener was all I needed. I hope this helps someone. Playing 1.16.2 Forge 33.0.5
-
I know I am late to the party but I do hope this helps someone reading. '[Render thread/WARN] [minecraft/ClientRecipeBook]: Unknown recipe category: minecraft:obsidian_forge/majcraft:obsidian_forge' In order to place the recipes into the different categories the recipe book looks at the IRecipeType of the recipe and returns a RecipeBookCategories. This method is hardcoded. If it doesn't recognise the recipe type, i.e. it is a custom recipe, then it will print a warning and return RecipeBookCategories.UNKNOWN. This warning does not mean you have done anything wrong. As long as your recipe implementation works in application, then this message means your custom recipe type is done properly.
-
[1.13] programmatically change a config setting
ZephyrWolf_ replied to ZephyrWolf_'s topic in Modder Support
Thanks. Ill let you know how i go. -
I'm using the ForgeConfigSpec for my config file as Forge does. Its all working and no issue there. There is one flag which indicates that a process needs to run, but only once. So once I have completed the task, id like to reset it. I cannot for the life of me work out how to do this in 1.13. Does anyone have any ideas?
-
Hey so, I have been modding on 1.10.2 for a while and decided to update my mods to 1.12.2. I seem to only be able to assign a total of 1Gb to the gradle.properties file, which isn't enough. Upon reaching :decompileMc, it errors for not having 3Gb. If I try allocating anything above 1Gb, I get the same crash but on start up. I have 8Gb on a 64x Win 10 machine. I run Minecraft at 4Gb, I have nothing running on my computer and even turned off some services such as Dropbox and Drive to increase memory availability. I have no idea why the memory cannot be allocated, I would love some help. Kind regards, Wolf C:\Users\###\Programming\Minecraft\1.12.2\WolfCore>gradlew setupDecompWorkspace To honour the JVM settings for this build a new JVM will be forked. Please consider using the daemon: https://docs.gradle.org/2.14/userguide/gradle_daemon.html. This mapping 'snapshot_20171003' was designed for MC 1.12! Use at your own peril. ################################################# ForgeGradle 2.3-SNAPSHOT-4a7d623 https://github.com/MinecraftForge/ForgeGradle ################################################# Powered by MCP http://modcoderpack.com by: Searge, ProfMobius, R4wk, ZeuX Fesh0r, IngisKahn, bspkrs, LexManos ################################################# :deobfCompileDummyTask :deobfProvidedDummyTask :getVersionJson :extractUserdev UP-TO-DATE :extractDependencyATs SKIPPED :extractMcpData SKIPPED :extractMcpMappings SKIPPED :genSrgs SKIPPED :downloadClient SKIPPED :downloadServer SKIPPED :splitServerJar SKIPPED :mergeJars SKIPPED :deobfMcSRG SKIPPED :decompileMc Error occurred during initialization of VM Could not reserve enough space for 3145728KB object heap :decompileMc FAILED FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':decompileMc'. > Process 'command 'C:\Program Files (x86)\Java\jdk1.8.0_172\bin\java.exe'' finished with non-zero exit value 1 * Try: Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. BUILD FAILED Total time: 31.483 secs C:\Users\Zac\Programming\Minecraft\1.12.2\WolfCore>
-
Ok, that makes sense, thankyou
-
Hey all, I have been modding for a bit and I am quite comfortable doing so. But when I was working on one of my own programs it got me thinking about unlocalised names. I was wondering if someone could give me a technical over view of why Minecraft structures these in the way it does and why have them at all in terms of an algorithmic point of view. basically, why? Thanks for reading I appreciate it
-
Ok so this is really weird. So I went to have a look at the project variables, so I right clicked on my project, build path > configure build path > resource > linked resource and closed. And all of a sudden it works. Now, I tired restarting eclipse, same problem, so I view that page again (I am not clicking or changing any variables) and it works again. It is extremely weird. sooo... yeah
-
Ok so I have tried to redo it all from scratch, and it looks different now, and a bit more familiar to when I was coding in 1.7.10. But, on the website, I couldn't find a src link, so I used the recommended mdk. I don't know what happened with the src link but yeah. It looks like it worked to begin with but now, eclipse gives me a weird error/popup whenever I try to launch mc (I haven't changed any code yet.) 'Launching Client' has encountered a problem Variable references empty selection: ${project_loc} I am unsure of what is happening, but while I wait for a response, I will continue to try and resolve it, if I do, I will post a message here.
-
Hello all! So i'm still a noob I guess, I have modded 1.7.10 before but nothing serious. Anyways, today I decided to give 1.8 modding a try. I got the workspace up no hassle, but now, when I run the game (only having the base mod class coded, no items or anything) the game crashes with a weird error. Based on what I have read, It has nothing to do with me, but that's stupid, so I am asking for your help... please. Eclipse jdk1.8.10_45 win10 mc1.8 [13:49:37] [main/INFO] [GradleStart]: Extra: [] [13:49:37] [main/INFO] [GradleStart]: Running with arguments: [--userProperties, {}, --assetsDir, C:/Users/Zac/.gradle/caches/minecraft/assets, --assetIndex, 1.8, --accessToken, {REDACTED}, --version, 1.8, --tweakClass, net.minecraftforge.fml.common.launcher.FMLTweaker, --tweakClass, net.minecraftforge.gradle.tweakers.CoremodTweaker] [13:49:37] [main/INFO] [LaunchWrapper]: Loading tweak class name net.minecraftforge.fml.common.launcher.FMLTweaker [13:49:37] [main/INFO] [LaunchWrapper]: Using primary tweak class name net.minecraftforge.fml.common.launcher.FMLTweaker [13:49:37] [main/INFO] [LaunchWrapper]: Loading tweak class name net.minecraftforge.gradle.tweakers.CoremodTweaker [13:49:37] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.common.launcher.FMLTweaker [13:49:38] [main/INFO] [FML]: Forge Mod Loader version 8.0.127.1103 for Minecraft 1.8 loading [13:49:38] [main/INFO] [FML]: Java is Java HotSpot 64-Bit Server VM, version 1.8.0_60, running on Windows 10:amd64:10.0, installed at C:\Program Files\Java\jre1.8.0_60 [13:49:38] [main/INFO] [FML]: Managed to load a deobfuscated Minecraft name- we are in a deobfuscated environment. Skipping runtime deobfuscation [13:49:38] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.gradle.tweakers.CoremodTweaker [13:49:38] [main/INFO] [GradleStart]: Injecting location in coremod net.minecraftforge.fml.relauncher.FMLCorePlugin [13:49:38] [main/INFO] [LaunchWrapper]: Loading tweak class name net.minecraftforge.fml.common.launcher.FMLInjectionAndSortingTweaker [13:49:38] [main/INFO] [LaunchWrapper]: Loading tweak class name net.minecraftforge.fml.common.launcher.FMLDeobfTweaker [13:49:38] [main/INFO] [LaunchWrapper]: Loading tweak class name net.minecraftforge.gradle.tweakers.AccessTransformerTweaker [13:49:38] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.common.launcher.FMLInjectionAndSortingTweaker [13:49:38] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.common.launcher.FMLInjectionAndSortingTweaker [13:49:38] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.relauncher.CoreModManager$FMLPluginWrapper [13:49:38] [main/ERROR] [FML]: The binary patch set is missing. Either you are in a development environment, or things are not going to work! [13:49:40] [main/ERROR] [FML]: FML appears to be missing any signature data. This is not a good thing [13:49:40] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.common.launcher.FMLDeobfTweaker [13:49:40] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.gradle.tweakers.AccessTransformerTweaker [13:49:40] [main/INFO] [LaunchWrapper]: Loading tweak class name net.minecraftforge.fml.common.launcher.TerminalTweaker [13:49:40] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.common.launcher.TerminalTweaker [13:49:40] [main/INFO] [LaunchWrapper]: Launching wrapped minecraft {net.minecraft.client.main.Main} [13:49:41] [Client thread/INFO]: Setting user: Player982 [13:49:41] [Client thread/INFO]: (Session ID is token:FML:Player982) [13:49:44] [Client thread/INFO]: LWJGL Version: 2.9.1 [13:49:45] [Client thread/INFO] [sTDOUT]: [net.minecraftforge.fml.client.SplashProgress:start:224]: ---- Minecraft Crash Report ---- // Hey, that tickles! Hehehe! Time: 27/11/15 1:49 PM Description: Loading screen debug info java.lang.Throwable at net.minecraftforge.fml.client.SplashProgress.start(SplashProgress.java:223) at net.minecraftforge.fml.client.FMLClientHandler.beginMinecraftLoading(FMLClientHandler.java:195) at net.minecraft.client.Minecraft.startGame(Minecraft.java:447) at net.minecraft.client.Minecraft.run(Minecraft.java:357) at net.minecraft.client.main.Main.main(Main.java:117) 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: --------------------------------------------------------------------------------------- -- System Details -- Details: Minecraft Version: 1.8 Operating System: Windows 10 (amd64) version 10.0 Java Version: 1.8.0_60, Oracle Corporation Java VM Version: Java HotSpot 64-Bit Server VM (mixed mode), Oracle Corporation Memory: 839703160 bytes (800 MB) / 1038876672 bytes (990 MB) up to 1038876672 bytes (990 MB) JVM Flags: 3 total; -Xincgc -Xmx1024M -Xms1024M IntCache: cache: 0, tcache: 0, allocated: 0, tallocated: 0 FML: Loaded coremods (and transformers): GL info: ' Vendor: 'NVIDIA Corporation' Version: '4.5.0 NVIDIA 353.54' Renderer: 'GeForce 840M/PCIe/SSE2' [13:49:45] [Client thread/INFO] [MinecraftForge]: Attempting early MinecraftForge initialization [13:49:45] [Client thread/INFO] [MinecraftForge]: Completed early MinecraftForge initialization [13:49:46] [Client thread/INFO] [FML]: Found 0 mods from the command line. Injecting into mod discoverer [13:49:46] [Client thread/INFO] [FML]: Searching C:\Users\Zac\Programming\Minecraft\Arcanis\eclipse\mods for mods [13:49:48] [Client thread/INFO] [FML]: Forge Mod Loader has identified 3 mods to load [13:49:48] [Client thread/INFO] [FML]: Attempting connection with missing mods [mcp, FML, arc] at CLIENT [13:49:48] [Client thread/INFO] [FML]: Attempting connection with missing mods [mcp, FML, arc] at SERVER [13:49:49] [Client thread/INFO]: Reloading ResourceManager: Default, FMLFileResourcePack:Forge Mod Loader, FMLFileResourcePack:Arcanis [13:49:49] [Client thread/INFO] [FML]: Processing ObjectHolder annotations [13:49:49] [Client thread/INFO] [FML]: Found 384 ObjectHolder annotations [13:49:49] [Client thread/INFO] [FML]: Applying holder lookups [13:49:49] [Client thread/INFO] [FML]: Holder lookups applied [13:49:49] [sound Library Loader/INFO]: Starting up SoundSystem... [13:49:50] [Thread-9/INFO]: Initializing LWJGL OpenAL [13:49:50] [Thread-9/INFO]: (The LWJGL binding of OpenAL. For more information, see http://www.lwjgl.org) [13:49:50] [Thread-9/INFO]: OpenAL initialized. [13:49:50] [sound Library Loader/INFO]: Sound engine started [13:49:54] [Client thread/INFO]: Created: 512x512 textures-atlas [13:49:56] [Client thread/INFO] [sTDOUT]: [net.minecraft.init.Bootstrap:printToSYSOUT:660]: ---- Minecraft Crash Report ---- // I just don't know what went wrong Time: 27/11/15 1:49 PM Description: Initializing game java.lang.IllegalStateException: can't pop unfinished ProgressBar Rendering Setup at net.minecraftforge.fml.common.ProgressManager.pop(ProgressManager.java:35) at net.minecraft.client.Minecraft.startGame(Minecraft.java:528) at net.minecraft.client.Minecraft.run(Minecraft.java:357) at net.minecraft.client.main.Main.main(Main.java:117) 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.fml.common.ProgressManager.pop(ProgressManager.java:35) at net.minecraft.client.Minecraft.startGame(Minecraft.java:528) -- Initialization -- Details: Stacktrace: at net.minecraft.client.Minecraft.run(Minecraft.java:357) at net.minecraft.client.main.Main.main(Main.java:117) 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.8 Operating System: Windows 10 (amd64) version 10.0 Java Version: 1.8.0_60, Oracle Corporation Java VM Version: Java HotSpot 64-Bit Server VM (mixed mode), Oracle Corporation Memory: 804697856 bytes (767 MB) / 1038876672 bytes (990 MB) up to 1038876672 bytes (990 MB) JVM Flags: 3 total; -Xincgc -Xmx1024M -Xms1024M IntCache: cache: 0, tcache: 0, allocated: 0, tallocated: 0 FML: MCP v9.10 FML v8.0.127.1103 3 mods loaded, 3 mods active mcp{9.05} [Minecraft Coder Pack] (minecraft.jar) Unloaded->Constructed->Pre-initialized FML{8.0.127.1103} [Forge Mod Loader] (fmlSrc-1.8-8.0.127.1103.jar) Unloaded->Constructed->Pre-initialized arc{0.0.0-0a} [Arcanis] (bin) Unloaded->Constructed->Pre-initialized Loaded coremods (and transformers): GL info: ' Vendor: 'NVIDIA Corporation' Version: '4.5.0 NVIDIA 353.54' Renderer: 'GeForce 840M/PCIe/SSE2' Launched Version: 1.8 LWJGL: 2.9.1 OpenGL: GeForce 840M/PCIe/SSE2 GL version 4.5.0 NVIDIA 353.54, NVIDIA Corporation GL Caps: Using GL 1.3 multitexturing. Using GL 1.3 texture combiners. Using framebuffer objects because OpenGL 3.0 is supported and separate blending is supported. Shaders are available because OpenGL 2.1 is supported. VBOs are available because OpenGL 1.5 is supported. Using VBOs: No Is Modded: Definitely; Client brand changed to 'fml' Type: Client (map_client.txt) Resource Packs: [] Current Language: English (US) Profiler Position: N/A (disabled) [13:49:56] [Client thread/INFO] [sTDOUT]: [net.minecraft.init.Bootstrap:printToSYSOUT:660]: #@!@# Game crashed! Crash report saved to: #@!@# C:\Users\Zac\Programming\Minecraft\Arcanis\eclipse\.\crash-reports\crash-2015-11-27_13.49.56-client.txt AL lib: (EE) alc_cleanup: 1 device not closed Java HotSpot 64-Bit Server VM warning: Using incremental CMS is deprecated and will likely be removed in a future release