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.
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.
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
));
}
}
Once a point is registered, you can transition to it:
com.smibii.cameraman.listeners.Camera.manager.transitionToPoint("point");
On Server
com.smibii.cameraman.network.NetworkHandler.sendToClient(
new CameraToPointPacket("point"),
player
);
You can exit the camera and return to the player:
// 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
);
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.
🛠️ Early Access
⚠️ Not bug-free
📈 Features still being added