"Image" is the complete .png image file with all that it contains.
"Frame" is a division of the image that encompasses only the fraction of that image you want displayed at any particular time.
So for example you have an image with five diamond swords on it, stacked vertically. Each of those diamond swords is one "frame".
"Index" is the number assigned to that frame. The top-most frame is #0, the one below it is #1, and so forth.
So in your example Index 3 (which is the fourth frame counting normally) will display for 20 ticks (which is 1 second in real time).
Does that explain things more clearly?
Yes the index refers to the image not the index of the text file like your tutorial was suggestion based on the numbers. 0,1 2,{index:3} should have had random numbers or index 4. by making index 3 I am thinking at this index of the text file make the frame time different for that frame.
Here is what I thought you said
0,1,2,3,9,1
at index 3 ^ of the text file make the frametime x number { index:3,time:# }
How does custom frames in the frames:[ ] effect interpolate? Are all frames including custom on interpolate and what is interpolate? If it doesn't get effected do you need to specify interpolate in the custom frame or is this incompatible for what I need to do with current java edition setup?
How does custom frames in the frames:[ ] effect interpolate? Are all frames including custom on interpolate and what is interpolate? If it doesn't get effected do you need to specify interpolate in the custom frame or is this incompatible for what I need to do with current java edition setup?
I really need to make an updated version of this thread that's current with Minecraft.
Interpolate means that minecraft generates the in-between frames of an animation on the fly, making a smooth transition. So instead of going from Frame 0 directly to Frame 1, for example, it generates frame 0.1, frame 0.2, frame 0.3, etc. as it goes. This makes it appear that there's a fade between two frames rather than a hard cut.
Naturally, this is affected by frametime. Minecraft still does animations at the rate of 20fps. So if you have frametime set to 1, and no individual times specified then Interpolate effectively does nothing. There's already a frame ever 1/20th of a second, so there's no space to generate more. If you have it set higher, that's when MC will start filling in the 'missing' frames of the animation with its smooth transitions. So if the frametime is set to 2 then it generates one frame in between each of the frames you've specified. If it's 3 it generates 2 frames, and so forth.
So how does this work work with setting the time in an individual frame? Well... pretty much the exact same way. For that one frame it just handles the amount of time it takes to transition to the next frame differently, giving it a longer amount of time to transition. Now... I haven't properly tested to see if the slow transition happens before or after the target frame. I can't tell you that with authority. Thought I'd guess it happens after with the target frame displaying on its own for 1/20 of a second before more slowly transitioning to the next over the remainder of it's time.
Again, I really should just update this thing but I've been lazy and the forum's editor is a nightmare to work with on longer posts, which has really demotivated me from working on it.
I really need to make an updated version of this thread that's current with Minecraft.
Interpolate means that minecraft generates the in-between frames of an animation on the fly, making a smooth transition. So instead of going from Frame 0 directly to Frame 1, for example, it generates frame 0.1, frame 0.2, frame 0.3, etc. as it goes. This makes it appear that there's a fade between two frames rather than a hard cut.
Naturally, this is affected by frametime. Minecraft still does animations at the rate of 20fps. So if you have frametime set to 1, and no individual times specified then Interpolate effectively does nothing. There's already a frame ever 1/20th of a second, so there's no space to generate more. If you have it set higher, that's when MC will start filling in the 'missing' frames of the animation with its smooth transitions. So if the frametime is set to 2 then it generates one frame in between each of the frames you've specified. If it's 3 it generates 2 frames, and so forth.
So how does this work work with setting the time in an individual frame? Well... pretty much the exact same way. For that one frame it just handles the amount of time it takes to transition to the next frame differently, giving it a longer amount of time to transition. Now... I haven't properly tested to see if the slow transition happens before or after the target frame. I can't tell you that with authority. Thought I'd guess it happens after with the target frame displaying on its own for 1/20 of a second before more slowly transitioning to the next over the remainder of it's time.
Again, I really should just update this thing but I've been lazy and the forum's editor is a nightmare to work with on longer posts, which has really demotivated me from working on it.
It skips frames it doesn't say hey here are the frames and frametime do this iteratively. with that being said I don't even know if custom frames fully work since I wasn't able to test it since that bug occurred.
I am triing to make 32x32 lava texture with 32 frames, I put it in assets/minecraft/textures/blocks and it does not work lava still has default texture
plees telll me where i made mistake. sorry for my english
If it's still showing the default textures then it's not likely the animation that's the problem. If it were a technical issue Minecraft would display an error texture. The black-and-magenta squares.
So if you're seeing the default textures you either didn't add it to the pack or it has the wrong file name. Double-check to make sure you added it to the folder you think you did.
As to the .png.mcmeta file you posted, the only problem is that you shouldn't have a comma after the 3. In .json format, commas are your way of telling the game there's more it needs to know for a particular section. Since you have nothing after frametime, you shouldn't have a comma.
I hope that helps you.
Also, your English isn't that bad. I can understand what you're trying to communicate, which is more than I can say for even some native English speakers.
"barometr" is static for "pulling :0" and "pulling :1" models, but pulling has 20 frames of animation while "pulling":1, pull: 0" (with "pull" step 0.05)
"barometr" is just a texture of small "screen" that showing pulling power percentage with 5% step, so it showing numbers like [0%], [5%]... [100%]
Problem is: animation starts from random frame every time i start pulling bow, because minecraft framecounter always working, but I need to start animation from 0 frame every time I pulling bow.
Possible solutions I see:
1) split animation on 20 separated textures and change "barometr": "items/bar" texture via overrides/predicates in bow.json (i tried, but broken bow model is the only thing i've got)
2) force framecounter start animation from frame 0 when "pulling" starts (but i think its not even possible)
3) forget about that coding magic and just create 20 new models (one model per 0.05 step of "pull" from 0 to 1) and change whole model every step instead of texture (least preferrable, because 20+ models for 1 item...bulky)
Question is: is solution #1 even possible? if yes, how to realize this?
1) split animation on 20 separated textures and change "barometr": "items/bar" texture via overrides/predicates in bow.json (i tried, but broken bow model is the only thing i've got)
2) force framecounter start animation from frame 0 when "pulling" starts (but i think its not even possible)
3) forget about that coding magic and just create 20 new models (one model per 0.05 step of "pull" from 0 to 1) and change whole model every step instead of texture (least preferrable, because 20+ models for 1 item...bulky)
Question is: is solution #1 even possible? if yes, how to realize this?
Sadly, solution three is the correct one. The models system doesn't interact directly with the texture animation system. Indeed the bow is one of the few driven key animations in all of Minecraft (the clock and compass being the only others that I can think of off the top of my head) and animating the textures is done over that instead of in conjunction with it. It's a clunky, cumbersome, and counter-intuitive system... but it's the one we've got for better or worse.
Sorry that I couldn't give you the answer you wanted, but I hope that you find the answer that works.
Not sure if this is the right place to ask but I need some help with my Lava flow texture. It gets weird at the side slops as seen in the image. I'm not sure what is going on. I'm kinda new to animated texture.
This is a fine place to ask about anything related the the vanilla animation system.
As to the weirdness... it's exactly what you have. I think you misunderstood part of the tutorial. The flowing liquids have their textures taken from the center of the frame. This is what allows them to rotate into a diagonal. From the look of your animation strip, it looks like you took a lava texture, cut it in half, and then put the two halves side by side. That's why you're seeing that line. Your frames are 64x64, but Minecraft is taking a 32x32 chunk right out of the dividing line between the two halves to display.
What you need to do is have each 64x64 section be unique so that it tiles with itself... or at least mostly. The rotation makes that impossible but you can get close enough to where it's not as obvious. Definitely not to where there's a line in the center between two radically different frames.
Can this or something similar like this work for rain, turning into snow after a period of time?
I'm not sure what you mean by this exactly, but I'm guessing the answer is "no". First, Minecraft only does looping animations so even if you set such a thing up with Optifine's animation system (which isn't covered here so please no questions about it in this thread) it'd loop back to rain on a set timer. In addition, rain and snow work very differently without their existing vanilla animations are handled. You can't transition one into the other cleanly using just an existing animation system as you'd always be fighting the hard-coded animations the game provides.
So no, there's no good way to change rain into snow that I'm aware of. Sorry to be the bearer of bad news.
It calculates the "in between" frames so the animation looks smoother.
(magma blocks and still lava use it, as well as a few others that I've forgotten)
Forgot? No. This was written before that was introduced.
What I lack is the time (and more importantly interest) to do intensive testing on how those frames are generated and what the limitations, quirks, and so forth of the system are. I mean, besides taking up more processing power than is strictly necessary. That one is obvious. But the details are sadly not so I haven't done those tests or added any information about it to the guide.
I'm having a problem with animating my water lilies. The animation works fine on the hot bar, but after placing it on the water it shows the default water lily. Here's my .mcmeta file:
I'm having a problem with animating my water lilies. The animation works fine on the hot bar, but after placing it on the water it shows the default water lily. Here's my .mcmeta file:
I can't really tell from that what the problem is. Animation files can't force an object to have different textures between inventory and world. (I wish...) For that you need to delve into models, CTM, and the like. All of which are beyond the scope of this tutorial.
I suggest first of all deleting everything from your pack that you didn't personally create since a lot of these problems are caused by modifying an existing pack that has features and assets that override each other. I don't know if that's what you've done, but if it is then that's the place to start. Beyond that, make a thread in the Resource Pack Help forum with ALL of your relevant files (including the textures) and screenshots of what's happening. Someone there will likely be able to help you better.
Sorry I couldn't be more helpful, but again it seems like your problem is beyond what this topic covers. I hope I've at least pointed you in the right direction.
Thanks so much! The CTM folder was the problem. There was a waterlily CTM folder that took precedence over the .png and .mcmeta files. I deleted them and my textures work perfectly. ♥
101 frames might be too much. Do you know what the max is?
The maximum is whatever your computer can handle. There is no hard limit as far as I know. I've definitely seen animations with more than 100 frames before, so I know it's possible.
Based on what you posted, I'd say that you messed something up somewhere. Make a thread in the Resource Pack Help forum with all of the relevant information. Animation strip, .png.mcmeta file, session log, the works. Someone (maybe even me) might be able to help you if you provide enough information.
Your English is very confusing.
"Image" is the complete .png image file with all that it contains.
"Frame" is a division of the image that encompasses only the fraction of that image you want displayed at any particular time.
So for example you have an image with five diamond swords on it, stacked vertically. Each of those diamond swords is one "frame".
"Index" is the number assigned to that frame. The top-most frame is #0, the one below it is #1, and so forth.
So in your example Index 3 (which is the fourth frame counting normally) will display for 20 ticks (which is 1 second in real time).
Does that explain things more clearly?
Yes the index refers to the image not the index of the text file like your tutorial was suggestion based on the numbers. 0,1 2,{index:3} should have had random numbers or index 4. by making index 3 I am thinking at this index of the text file make the frame time different for that frame.
Here is what I thought you said
0,1,2,3,9,1
at index 3 ^ of the text file make the frametime x number { index:3,time:# }
I need to do it for 1.12
still works
How does custom frames in the frames:[ ] effect interpolate? Are all frames including custom on interpolate and what is interpolate? If it doesn't get effected do you need to specify interpolate in the custom frame or is this incompatible for what I need to do with current java edition setup?
so like the custom frame with the index of 0:
I really need to make an updated version of this thread that's current with Minecraft.
Interpolate means that minecraft generates the in-between frames of an animation on the fly, making a smooth transition. So instead of going from Frame 0 directly to Frame 1, for example, it generates frame 0.1, frame 0.2, frame 0.3, etc. as it goes. This makes it appear that there's a fade between two frames rather than a hard cut.
Naturally, this is affected by frametime. Minecraft still does animations at the rate of 20fps. So if you have frametime set to 1, and no individual times specified then Interpolate effectively does nothing. There's already a frame ever 1/20th of a second, so there's no space to generate more. If you have it set higher, that's when MC will start filling in the 'missing' frames of the animation with its smooth transitions. So if the frametime is set to 2 then it generates one frame in between each of the frames you've specified. If it's 3 it generates 2 frames, and so forth.
So how does this work work with setting the time in an individual frame? Well... pretty much the exact same way. For that one frame it just handles the amount of time it takes to transition to the next frame differently, giving it a longer amount of time to transition. Now... I haven't properly tested to see if the slow transition happens before or after the target frame. I can't tell you that with authority. Thought I'd guess it happens after with the target frame displaying on its own for 1/20 of a second before more slowly transitioning to the next over the remainder of it's time.
Again, I really should just update this thing but I've been lazy and the forum's editor is a nightmare to work with on longer posts, which has really demotivated me from working on it.
I noticed a bug it was skipping frames and reported it. It's been in since 1.7.10-1.12.2
https://bugs.mojang.com/browse/MC-121891
It skips frames it doesn't say hey here are the frames and frametime do this iteratively. with that being said I don't even know if custom frames fully work since I wasn't able to test it since that bug occurred.
If it's still showing the default textures then it's not likely the animation that's the problem. If it were a technical issue Minecraft would display an error texture. The black-and-magenta squares.
So if you're seeing the default textures you either didn't add it to the pack or it has the wrong file name. Double-check to make sure you added it to the folder you think you did.
As to the .png.mcmeta file you posted, the only problem is that you shouldn't have a comma after the 3. In .json format, commas are your way of telling the game there's more it needs to know for a particular section. Since you have nothing after frametime, you shouldn't have a comma.
I hope that helps you.
Also, your English isn't that bad. I can understand what you're trying to communicate, which is more than I can say for even some native English speakers.
Hello, Alvoria! And thanks for your guide, it really helped me create some good-lookin' items.
But i tried create a complex item and got a dilemma.
What I have: 3d-bow separated to 3 models (pulling 0, pulling 0-1, and pulling 1) that uses 2 same textures
"bow_base" is a static
"barometr" is static for "pulling :0" and "pulling :1" models, but pulling has 20 frames of animation while "pulling":1, pull: 0" (with "pull" step 0.05)
"barometr" is just a texture of small "screen" that showing pulling power percentage with 5% step, so it showing numbers like [0%], [5%]... [100%]
Problem is: animation starts from random frame every time i start pulling bow, because minecraft framecounter always working, but I need to start animation from 0 frame every time I pulling bow.
Possible solutions I see:
1) split animation on 20 separated textures and change "barometr": "items/bar" texture via overrides/predicates in bow.json (i tried, but broken bow model is the only thing i've got)
2) force framecounter start animation from frame 0 when "pulling" starts (but i think its not even possible)
3) forget about that coding magic and just create 20 new models (one model per 0.05 step of "pull" from 0 to 1) and change whole model every step instead of texture (least preferrable, because 20+ models for 1 item...bulky)
Question is: is solution #1 even possible? if yes, how to realize this?
Sadly, solution three is the correct one. The models system doesn't interact directly with the texture animation system. Indeed the bow is one of the few driven key animations in all of Minecraft (the clock and compass being the only others that I can think of off the top of my head) and animating the textures is done over that instead of in conjunction with it. It's a clunky, cumbersome, and counter-intuitive system... but it's the one we've got for better or worse.
Sorry that I couldn't give you the answer you wanted, but I hope that you find the answer that works.
This is a fine place to ask about anything related the the vanilla animation system.
As to the weirdness... it's exactly what you have. I think you misunderstood part of the tutorial. The flowing liquids have their textures taken from the center of the frame. This is what allows them to rotate into a diagonal. From the look of your animation strip, it looks like you took a lava texture, cut it in half, and then put the two halves side by side. That's why you're seeing that line. Your frames are 64x64, but Minecraft is taking a 32x32 chunk right out of the dividing line between the two halves to display.
What you need to do is have each 64x64 section be unique so that it tiles with itself... or at least mostly. The rotation makes that impossible but you can get close enough to where it's not as obvious. Definitely not to where there's a line in the center between two radically different frames.
I hope that helps you.
Can this or something similar like this work for rain, turning into snow after a period of time?
Things and stuff?
I'm not sure what you mean by this exactly, but I'm guessing the answer is "no". First, Minecraft only does looping animations so even if you set such a thing up with Optifine's animation system (which isn't covered here so please no questions about it in this thread) it'd loop back to rain on a set timer. In addition, rain and snow work very differently without their existing vanilla animations are handled. You can't transition one into the other cleanly using just an existing animation system as you'd always be fighting the hard-coded animations the game provides.
So no, there's no good way to change rain into snow that I'm aware of. Sorry to be the bearer of bad news.
You seem to have forgotten the "interpolate" tag.
It calculates the "in between" frames so the animation looks smoother.
(magma blocks and still lava use it, as well as a few others that I've forgotten)
Forgot? No. This was written before that was introduced.
What I lack is the time (and more importantly interest) to do intensive testing on how those frames are generated and what the limitations, quirks, and so forth of the system are. I mean, besides taking up more processing power than is strictly necessary. That one is obvious. But the details are sadly not so I haven't done those tests or added any information about it to the guide.
I hope that clarifies matters.
Hey everyone,
I'm having a problem with animating my water lilies. The animation works fine on the hot bar, but after placing it on the water it shows the default water lily. Here's my .mcmeta file:
{"animation": {"frametime": 2, "frames": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23]}}
I can't really tell from that what the problem is. Animation files can't force an object to have different textures between inventory and world. (I wish...) For that you need to delve into models, CTM, and the like. All of which are beyond the scope of this tutorial.
I suggest first of all deleting everything from your pack that you didn't personally create since a lot of these problems are caused by modifying an existing pack that has features and assets that override each other. I don't know if that's what you've done, but if it is then that's the place to start. Beyond that, make a thread in the Resource Pack Help forum with ALL of your relevant files (including the textures) and screenshots of what's happening. Someone there will likely be able to help you better.
Sorry I couldn't be more helpful, but again it seems like your problem is beyond what this topic covers. I hope I've at least pointed you in the right direction.
Thanks so much! The CTM folder was the problem. There was a waterlily CTM folder that took precedence over the .png and .mcmeta files. I deleted them and my textures work perfectly. ♥
101 frames might be too much. Do you know what the max is? These are beetroot seeds
-Michael18751
(This is my new Minecraft forum account I originally joined in 2015)
I have played Minecraft since 2012 and I mostly play on JAVA edition.
My YouTube!: Link
Join My discord!: Link
The maximum is whatever your computer can handle. There is no hard limit as far as I know. I've definitely seen animations with more than 100 frames before, so I know it's possible.
Based on what you posted, I'd say that you messed something up somewhere. Make a thread in the Resource Pack Help forum with all of the relevant information. Animation strip, .png.mcmeta file, session log, the works. Someone (maybe even me) might be able to help you if you provide enough information.