I'm planning on making a resource pack for multiple MC versions, including 1.7.10.
I'm definitely going to want to change the geometry/model of certain blocks (anvil, enchant table, dragon egg, torch, etc)
I also want to make ladders 3d, and might want to make some blocks that are cubic in vanilla different (making cobblestone bumpy, make open chests look empty, hollow out the inside of a furnace, etc)
From my searching so far, this is not possible in versions older than 1.8 without the use of mods, but I'm not entirely sure, and wikis are all showing information only about the newest versions, as I'd expect.
And if mods are required, would Optifine be enough to change block and item models, or do I need something else? I've seen bumpmapped resource packs like Default 3D, but I'm not sure if that allows for actual changing of the model or if it's just simply applying a "roughness" to each side of a model that is already defined in the code.
If I can do this with Optifine, I will do more searching but I have no idea where to start. And if I need to use another mod or make my own mod, that is fine too, I am working on a 1.7.10 mod already anyway.
I just would like to know how I can change block and item models in 1.7.10, whether it be accessible in vanilla or only with Forge or Optifine.
Correct me if I'm wrong but it seems to me like this is something that can be done in 1.8+ on a completely vanilla client. Unless I'm wrong about that, I won't need any help starting out with that as it seems information will be easy to find on Google.
I do have a small bit of experience with 3D modeling software like Blender and Maya, if that makes a difference.
1. I don't know if adding custom models to vanilla clients older than 1.8 is possible.
2. Hollowing out entity models like chests are only possible with optifine.
3. Look at the changelog at the bottom of the wiki to sort out what was there at 1.8 and what came in in later versions.
4. Your blender skills will only have come to shine on a model with no restrictions. Minecraft has lots of restrictions on modeling.
First, the dimension is capped (after 1.8.3) to -16 to 32, whereas 0 to 16 the default block dimensions, where the block breaking animation also looks normal.
Second, each element of the model can have only one rotation, which also can only rotate in 22.5° steps.
Third, each face of one element can have UV of a texture measured from 0 to 16, or by placing the initial point a bit further away, you can add negative values, but when the negative value is going greater into the negative of the initial point, it will be capped to 0, same with the positive capped to 16.
The texture itself has to be a square, for generated items the texture also needs a resolution of a factor of 8.
Forth, the display tag can change a lot of how it gets placed in your hand, first-person view, and other things, but with limitations, like the scaling, which is capped (after 1.8.3) from 0 to 4.
5. Study the folder structure of each Minecraft version and you might get intel on how to make packs cross-version compatible. ;3
Maybe you can teach me a bit Blender, or whatever Maya is?
Note: An entity block model is basically an entity in place of a block, that's how Minecraft can animate the opening and closing of chests but would need to turn doors into entity block models to also animate them.
The position of where particles spawn relative to a block can no be changed, so the furnace flames will always stay at the bottom of the furnace or the torch flames will stay at the center. This is because the server does the particle spawning, not the client.
I also recommend BlockBench for your first experience with modeling with blocks and items, because Mr. Crayfish's Model Creator is not ideal for anything.
Thanks a lot for the info! I wasn't sure what program I'll use for any of this, I'll probably check out BlockBench later.
Do you know a lot about how Optifine works and how resource packs can be made with it, and would it be possible (with Optifine) for blocks to have a custom 3D model (the restrictions you talked about seem fine) rather than just bumpmappings? I couldn't find any documentation on the Optifine website, or any kind of developer info. I have no idea how to integrate resource packs or mods with Optifine, but I've seen many that do, so I'm curious to how they do it?
I guess I'm also wondering about things like texturing the anvil... I have pretty much no experience with Minecraft resource packs, and when I looked in the assets of the 1.7.10 JAR, I was surprised to find a separate texture for the top and bottom of the anvil but nothing that seems to be used for the rest of its geometry, and nothing that looks like a UV map either. I'm thinking the models are hard-coded into pre-1.8?
Anyway, I'm hopeful that Optifine can help me out here but again, I have no idea where to start or where to look, especially with 1.7 being as old and unsupported as it is...
Look at the changelog at the bottom of the wiki to sort out what was there at 1.8 and what came in in later versions.
Thanks. I'm sure the wiki will be very useful for when I'm working on the 1.8+ version of my pack, but for now I'm focusing on 1.7.10, and unfortunately, the wiki has almost nothing to say about that. Block states and custom block models were added in 1.8, which I guess is useful to know, and clearly means I'll have to use some kind of mod (hopefully Optifine will be enough) for my 1.7 pack. Though I'm not entirely sure what use block states will be for me, it seems like something that will be good to know as well.
Just like the wiki, my knowledge about 1.7 is deprecated, but I think optifine didn't have the option to alter block models before 1.8, so you probably need to code your own modification for that.
Integrating modifications into your resource pack is simple, in the assets folder, there is Minecraft, that's where the modification's folder goes, and in the modification.jar file, you can find the assets folder, which's then the folder structure specifically for the modification.
But Optifine is a bit confusing, it is doing its thing in both the Optifine and Minecraft folders.
The anvil has different texture files because it has different block states, the same goes for the furnace.
But the block models alone are not changing Minecraft, the Blockstates tells the game what blocks to render in your world, if it doesn't exist, then Minecraft will take the default Blockstates of course, but changing for example the grass block Blockstates can give you the ability to give grass block alternate block models with weights and rotation.
Optifine could do the same, but that would require you to create more textures and would also require you to also alter the grass block Blockstates to make them like any other block, without rotation so the side faces don't become weird.
Note: In the models' file, you can usually find the parent tag, with this you can make one model without textures, use another file to parent the model file, and then use texture keys to give the model textures based on that child model. With this, you can create multiple model files out of a single model.
The best examples would be the block/cube.json and the block/cube_all.json files that have all the other solid blocks as their parent.
I'm not quite sure I understand everything you've said.
I'm confused about using Optifine features in my resource pack because I can't find documentation on how to implement it, same for with my mod. If I'm doing any graphical changes on the game, I want them to be compatible with Optifine.
Seems like I will need to write my own mod for changing block models in 1.7, that's fine. But I would like for my model-altering mod to work well when Optifine is also installed, and I haven't found any info about how to do that.
Also, what exactly did you mean by "Optifine ...is doing its own thing in both the Optifine and Minecraft folders"?
And how would I go about making my resource pack bumpmapped, like the Default 3D pack for example. I know this works in 1.7 with just Optifine because I'm sure I've used bumpmapped packs in that case. The reason I ask is because it seems like for some blocks, bumpmapping would work just as well as a completely custom model but for less work, and that's probably something I can get started on before I'm done coding a working model-altering mod.
Sorry if I'm missing something obvious here, it's a new subject to me and I'm quite inexperienced with some of this stuff.
Changing the visuals of a modification is usually done in assets/<name_space>/, but optifine does things in both assets/minecraft/ and assets/optifine/.
I believe before 1.9 or before 1.10, I don't know exactly when mcpatcher is still a thing, but I don't know what features mcpatcher had.
If you have more questions about Optifine, better ask someone who is more knowledgeable in that field, for example, Alvoria.
Alright. Thanks for the help, I feel like I better understand some of this now. I found a small bit of documentation in the optifine jar, though it doesn't seem to say anything about bumpmapping, and custom models is only talked about in the newer ones of course.
I will either make my own mod for custom models or just settle for bumpmapping, I guess it depends on what I think.
I'm planning on making a resource pack for multiple MC versions, including 1.7.10.
I'm definitely going to want to change the geometry/model of certain blocks (anvil, enchant table, dragon egg, torch, etc)
I also want to make ladders 3d, and might want to make some blocks that are cubic in vanilla different (making cobblestone bumpy, make open chests look empty, hollow out the inside of a furnace, etc)
From my searching so far, this is not possible in versions older than 1.8 without the use of mods, but I'm not entirely sure, and wikis are all showing information only about the newest versions, as I'd expect.
And if mods are required, would Optifine be enough to change block and item models, or do I need something else? I've seen bumpmapped resource packs like Default 3D, but I'm not sure if that allows for actual changing of the model or if it's just simply applying a "roughness" to each side of a model that is already defined in the code.
If I can do this with Optifine, I will do more searching but I have no idea where to start. And if I need to use another mod or make my own mod, that is fine too, I am working on a 1.7.10 mod already anyway.
I just would like to know how I can change block and item models in 1.7.10, whether it be accessible in vanilla or only with Forge or Optifine.
Correct me if I'm wrong but it seems to me like this is something that can be done in 1.8+ on a completely vanilla client. Unless I'm wrong about that, I won't need any help starting out with that as it seems information will be easy to find on Google.
I do have a small bit of experience with 3D modeling software like Blender and Maya, if that makes a difference.
meow~
1. I don't know if adding custom models to vanilla clients older than 1.8 is possible.
2. Hollowing out entity models like chests are only possible with optifine.
3. Look at the changelog at the bottom of the wiki to sort out what was there at 1.8 and what came in in later versions.
4. Your blender skills will only have come to shine on a model with no restrictions. Minecraft has lots of restrictions on modeling.
First, the dimension is capped (after 1.8.3) to -16 to 32, whereas 0 to 16 the default block dimensions, where the block breaking animation also looks normal.
Second, each element of the model can have only one rotation, which also can only rotate in 22.5° steps.
Third, each face of one element can have UV of a texture measured from 0 to 16, or by placing the initial point a bit further away, you can add negative values, but when the negative value is going greater into the negative of the initial point, it will be capped to 0, same with the positive capped to 16.
The texture itself has to be a square, for generated items the texture also needs a resolution of a factor of 8.
Forth, the display tag can change a lot of how it gets placed in your hand, first-person view, and other things, but with limitations, like the scaling, which is capped (after 1.8.3) from 0 to 4.
5. Study the folder structure of each Minecraft version and you might get intel on how to make packs cross-version compatible. ;3
Maybe you can teach me a bit Blender, or whatever Maya is?
Note: An entity block model is basically an entity in place of a block, that's how Minecraft can animate the opening and closing of chests but would need to turn doors into entity block models to also animate them.
The position of where particles spawn relative to a block can no be changed, so the furnace flames will always stay at the bottom of the furnace or the torch flames will stay at the center. This is because the server does the particle spawning, not the client.
I also recommend BlockBench for your first experience with modeling with blocks and items, because Mr. Crayfish's Model Creator is not ideal for anything.
Meow~
#F5F8FB
KittenKatja ♥
Thanks a lot for the info! I wasn't sure what program I'll use for any of this, I'll probably check out BlockBench later.
Do you know a lot about how Optifine works and how resource packs can be made with it, and would it be possible (with Optifine) for blocks to have a custom 3D model (the restrictions you talked about seem fine) rather than just bumpmappings? I couldn't find any documentation on the Optifine website, or any kind of developer info. I have no idea how to integrate resource packs or mods with Optifine, but I've seen many that do, so I'm curious to how they do it?
I guess I'm also wondering about things like texturing the anvil... I have pretty much no experience with Minecraft resource packs, and when I looked in the assets of the 1.7.10 JAR, I was surprised to find a separate texture for the top and bottom of the anvil but nothing that seems to be used for the rest of its geometry, and nothing that looks like a UV map either. I'm thinking the models are hard-coded into pre-1.8?
Anyway, I'm hopeful that Optifine can help me out here but again, I have no idea where to start or where to look, especially with 1.7 being as old and unsupported as it is...
Thanks. I'm sure the wiki will be very useful for when I'm working on the 1.8+ version of my pack, but for now I'm focusing on 1.7.10, and unfortunately, the wiki has almost nothing to say about that. Block states and custom block models were added in 1.8, which I guess is useful to know, and clearly means I'll have to use some kind of mod (hopefully Optifine will be enough) for my 1.7 pack. Though I'm not entirely sure what use block states will be for me, it seems like something that will be good to know as well.
Thanks for the help, it's greatly appreciated <3
meow~
Just like the wiki, my knowledge about 1.7 is deprecated, but I think optifine didn't have the option to alter block models before 1.8, so you probably need to code your own modification for that.
Integrating modifications into your resource pack is simple, in the assets folder, there is Minecraft, that's where the modification's folder goes, and in the modification.jar file, you can find the assets folder, which's then the folder structure specifically for the modification.
But Optifine is a bit confusing, it is doing its thing in both the Optifine and Minecraft folders.
The anvil has different texture files because it has different block states, the same goes for the furnace.
But the block models alone are not changing Minecraft, the Blockstates tells the game what blocks to render in your world, if it doesn't exist, then Minecraft will take the default Blockstates of course, but changing for example the grass block Blockstates can give you the ability to give grass block alternate block models with weights and rotation.
Optifine could do the same, but that would require you to create more textures and would also require you to also alter the grass block Blockstates to make them like any other block, without rotation so the side faces don't become weird.
Note: In the models' file, you can usually find the parent tag, with this you can make one model without textures, use another file to parent the model file, and then use texture keys to give the model textures based on that child model. With this, you can create multiple model files out of a single model.
The best examples would be the block/cube.json and the block/cube_all.json files that have all the other solid blocks as their parent.
Meow~
#F5F8FB
KittenKatja ♥
I'm not quite sure I understand everything you've said.
I'm confused about using Optifine features in my resource pack because I can't find documentation on how to implement it, same for with my mod. If I'm doing any graphical changes on the game, I want them to be compatible with Optifine.
Seems like I will need to write my own mod for changing block models in 1.7, that's fine. But I would like for my model-altering mod to work well when Optifine is also installed, and I haven't found any info about how to do that.
Also, what exactly did you mean by "Optifine ...is doing its own thing in both the Optifine and Minecraft folders"?
And how would I go about making my resource pack bumpmapped, like the Default 3D pack for example. I know this works in 1.7 with just Optifine because I'm sure I've used bumpmapped packs in that case. The reason I ask is because it seems like for some blocks, bumpmapping would work just as well as a completely custom model but for less work, and that's probably something I can get started on before I'm done coding a working model-altering mod.
Sorry if I'm missing something obvious here, it's a new subject to me and I'm quite inexperienced with some of this stuff.
meow~
Changing the visuals of a modification is usually done in assets/<name_space>/, but optifine does things in both assets/minecraft/ and assets/optifine/.
I believe before 1.9 or before 1.10, I don't know exactly when mcpatcher is still a thing, but I don't know what features mcpatcher had.
If you have more questions about Optifine, better ask someone who is more knowledgeable in that field, for example, Alvoria.
Meow~
#F5F8FB
KittenKatja ♥
Alright. Thanks for the help, I feel like I better understand some of this now. I found a small bit of documentation in the optifine jar, though it doesn't seem to say anything about bumpmapping, and custom models is only talked about in the newer ones of course.
I will either make my own mod for custom models or just settle for bumpmapping, I guess it depends on what I think.
I greatly appreciate the time <3
meow~