[Tutorial] Play a cutscene video in your mod!

Started by Shocking Artist on

Topic category: User side tutorials

[Tutorial] Play a cutscene video in your mod!
Thu, 06/30/2022 - 13:39 (edited)

Before I start, I want to say thank you to Tbroski and Klemen for helping me create this tutorial.

 

First, have a video ready, best if short and low-res.

Convert it to a PNG image sequence, you can use any service you so desire. (if you have photoshop, follow this tutorial https://ihatetomatoes.net/convert-video-image-sequence)

Then, you get a folder full of your images and name them accordingly. If you have 100 frames for example, name them from 0 to 99.

Go to the "Import Other Textures" section in MCR, and import all of them clicking the first and shift-clicking the last texture

Now to the code part, create a procedure element, and set the trigger to on player tick update.

Go to the code, and add the following:

		Entity entity = (Entity) dependencies.get("entity");
		entity.getPersistentData().putDouble("Frame", ((entity.getPersistentData().getDouble("Frame")) + 1));
		entity.getPersistentData().putString("Location",
				(("yourmodid:textures/") + (Math.round((entity.getPersistentData().getDouble("Frame")))) + (".png")));
		if (((entity.getPersistentData().getDouble("Frame")) >= maxframe)) {
			entity.getPersistentData().putDouble("Frame", 0);
		}

Replace yourmodid with your mod Id and maxframe with your max frame number.

This code snippet will create a Frame variable that increases per tick, and get the location of a frame with that variable.

Next, create an overlay element, select a dummy base texture, lock the code, and change the line of code that binds your base texture to this:

                Minecraft.getInstance().getTextureManager().bindTexture(new ResourceLocation((entity.getPersistentData().getString("Location"))));

Run your mod and you should be seeing a silky smooth video playing, the video will repeat once it reaches the end.

 

Add sound and customize the code any way you want.

Edited by Shocking Artist on Thu, 06/30/2022 - 13:39
Joined Aug 2016
Points:

User statistics:

  • Modifications:
  • Forum topics:
  • Wiki pages:
  • MCreator plugins:
  • Comments:
Really nice! However, if we…
Sat, 06/20/2020 - 20:34

Really nice! However, if we have a lot o GIF, we will have a ;lot of textures/pictures, so i think it's bretter to create a folder for each GIF, as we can define the GIf path ourself.

Joined Apr 2019
Points:

User statistics:

  • Modifications:
  • Forum topics:
  • Wiki pages:
  • MCreator plugins:
  • Comments:
so would this work if i…
Tue, 06/30/2020 - 20:55

so would this work if i wanted  to make a "cutscene"in a story mode mod (a mod that has a story that you must follow)

Joined Jul 2017
Points:

User statistics:

  • Modifications:
  • Forum topics:
  • Wiki pages:
  • MCreator plugins:
  • Comments:
Wow i cant believe its…
Sat, 09/05/2020 - 14:28

Wow i cant believe its really possible

Joined Apr 2020
Points:

User statistics:

  • Modifications:
  • Forum topics:
  • Wiki pages:
  • MCreator plugins:
  • Comments:
For a 300 frame 30 fps…
Thu, 03/04/2021 - 13:04

For a 300 frame 30 fps cutscene how much storage are we looking at once the mod is exported?