Jump to content
View in the app

A better way to browse. Learn more.

Forge Forums

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Featured Replies

Posted

Can anyone point me to a place where I can see how they work? A tutorial would be brilliant, but failing that some simple working source code to look at would be nice (The only one I could think of was Buildcraft, which to be honest isn't exactly simple :P)

 

I don't need to do anything too fancy, just want to animate a few things with the Tile Entity Special Renderer.

 

Any help is great :D

width=463 height=200

http://s13.postimg.org/z9mlly2av/siglogo.png[/img]

My mods (Links coming soon)

Cities | Roads | Remula | SilvaniaMod | MoreStats

I guess the TileEntity of the Engine in Buildcraft just changes the Speed of the movement. The actual animation is done in the Renderer which uses the given PartialTickTime (PTT) which is a float variable to sync the Animation to the Framerate. If you just want to make something rotate try to increase the new rotation by the PTT and multiply it with the speed. Try it out and experiment a bit with it. If you want to have a more advanced style of animation you have to write a System which can handle Wavefront keyframes.

PM's regarding modding questions should belong in the Modder Support sub-forum and won't be answered.

  • Author

https://github.com/BuildCraft/BuildCraft/blob/master/common/buildcraft/energy/render/RenderEngine.java

 

The reason I didn't want Buildcraft is because it seems to do things quite differently to other mods. I'm sure it's all very efficient, but the above render class is TOTALLY different to any other render class I've seen before. I can't see any reference to power or redstone in there, nor to the PartialTickTime you just mentioned. Maybe I'm just being blind? :P

width=463 height=200

http://s13.postimg.org/z9mlly2av/siglogo.png[/img]

My mods (Links coming soon)

Cities | Roads | Remula | SilvaniaMod | MoreStats

I am using the TileEntitySpecialRenderer for the rendering. Its render functions are called every tick and the TileEntity is given so I can use its variables. The coordinates are for the renderer and relative to the player which is always  0, 0, 0

Use this setup for the rendere:

	@Override
public void renderTileEntityAt(TileEntity tileEntity, double x, double y, double z, float partialTickTime) {
Rendere here...
}

I will upload a Tutorial tomorrow at 8:00GMT featuring the TileEntitySpecialRenderer and animations

PM's regarding modding questions should belong in the Modder Support sub-forum and won't be answered.

http://www.minecraftforge.net/wiki/TileEntitySpecialRenderers_and_Animation

 

The tutorial is now online but I cant add it to the tutorial list.

 

Oh thanks, now I know how to make rotation animation, but how do I make it animate in line (like the build craft engine)?

If someone helps you, click that thank you button ;)

 

EasyTessellator library: http://www.minecraftforge.net/forum/index.php/topic,14705.0.html

Just do the same thing but with a Translation / Position value and make it change direction when it has reached its final / Start position. You can perform any type of animation using this basic concept.

PM's regarding modding questions should belong in the Modder Support sub-forum and won't be answered.

Ok, so I see what you're doing here, but How would I control individual parts of the model, as opposed to the entire thing?

The model file contains each part of the model does it not?

By modifying a parts position and rotation you could achieve that :)

 

I'd look at this: http://www.minecraftforum.net/topic/1866695-modding-animation-guide/

Assuming you are using Techne models for your block, then it's similar to mobs as they have the same model type :)

If you guys dont get it.. then well ya.. try harder...

Ok, so I got the animations working via the renderer class, but now it speeds up with each instance rendered, which is back to where I was before. am I doing this incorrectly somehow?? I'm using "this.model.[part].offsetY to modify a position in my RenderTileEntityAt method. I tried using glTranslatef, but I'm not seeing how to specify a specific piece of my model....

yeah heres the thing, you are using a variable that is local to your object, since the object is called twice within the same tick, with 2 tesr itll go twice as fast, becasue the rotation is increased twice per tick

 

to fix this you should use the system time, this way all tesr will render using the same value

 

//aka dont do
animation++;
model.rotate(animation, 0, 1, 0);
//but do
long time = System.currentTimeMillis() % 40000L;
model.rotate(time, 0, 1, 0);

 

btw both method describe a continous rotation around Y axis

how to debug 101:http://www.minecraftforge.net/wiki/Debug_101

-hydroflame, author of the forge revolution-

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

Important Information

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

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.