promotional bannermobile promotional banner
premium banner
Bruno is a cinematic camera api for ingame interactions or cutscenes!

Description

๐ŸŽฅ Bruno Cinematic Camera Manager

Bruno is a cinematic camera manager for Minecraft Forge.
It allows you to create smooth camera transitions for interactions, cutscenes, or cinematic scenes in your mods or modpacks.

โš ๏ธ Disclaimer:
This project is still in early access. It is not fully finished and may contain bugs or incomplete features. Use it at your own risk and feel free to contribute or report issues.


๐Ÿ”ง Getting Started

To use Bruno in your mod, you’ll need to register camera points.
A CameraPoint defines where the camera should be and how to transition into it.


๐Ÿ“Œ Registering a CameraPoint

You can register points during the CameraManagerSetupEvent.
Here’s an example:

// Registration example
@Mod.EventBusSubscriber(modid = YourMod.MODID, bus = Mod.EventBusSubscriber.Bus.FORGE, value = Dist.CLIENT)
public class Register {
    public static CameraPointAccessor POINT;

    @SubscribeEvent
    public static void onCameraManagerSetup(CameraManagerSetupEvent event) {
        POINT = event.manager.registerPoint("point", CameraPoint.of(
                new Vec3(
                        0,              // x
                        100,            // y
                        0               // z
                ),
                0,                      // yaw
                0,                      // pitch
                0.5f,                   // fov
                1000,                   // duration in ms
                Easing::easeInOutQuad,  // easing function
                false                   // render player model
        ));
    }
}

๐ŸŽฌ Transitioning to a CameraPoint

Once a point is registered, you can transition to it:

On Client

com.smibii.cameraman.listeners.Camera.manager.transitionToPoint("point");

On Server

com.smibii.cameraman.network.NetworkHandler.sendToClient(
       new CameraToPointPacket("point"),
       player
);

๐Ÿ”„ Returning to the Player

You can exit the camera and return to the player:

Smooth Transition

// Client
com.smibii.cameraman.listeners.Camera.manager.transitionToPlayer();

// Server
NetworkHandler.sendToClient(
       new CameraToPlayerPacket(),
       player
);

Immediate Exit

// Client
com.smibii.cameraman.listeners.Camera.manager.setInUse(false);

// Server
NetworkHandler.sendToClient(
       new CameraSetInUsePacket(false),
       player
);

๐Ÿ“œ License & Usage

You are free to:

  • Use Bruno in your mods or modpacks

  • Modify the codebase to fit your needs

โœ… But please give proper credit by mentioning smibii.


๐Ÿšง Status

  • ๐Ÿ› ๏ธ Early Access

  • โš ๏ธ Not bug-free

  • ๐Ÿ“ˆ Features still being added