Jump to content

ZephyrWolf_

Members
  • Posts

    17
  • Joined

  • Last visited

  • Days Won

    3

ZephyrWolf_ last won the day on March 3 2023

ZephyrWolf_ had the most liked content!

Converted

  • Gender
    Undisclosed

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

ZephyrWolf_'s Achievements

Tree Puncher

Tree Puncher (2/8)

5

Reputation

  1. 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
  2. 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.
  3. 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
  4. 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
  5. 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
  6. 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?
  7. 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?
  8. 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
  9. 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.
  10. Thanks. Ill let you know how i go.
  11. 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?
  12. 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>
  13. Ok, that makes sense, thankyou
  14. 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
  15. 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
×
×
  • Create New...

Important Information

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