Back to mods
Freelook project artwork

Modrinth · Minecraft mod

Freelook

Allows you to rotate your camera freely around your character!

Choose a version Pick your version below, then grab the matching file.

Quick answer

Which Freelook release should I use?

Updated last month
Latest stable file 2.0.0+mc1.21.10
Game version 1.21.9, 1.21.10, 1.21.11
Loader Fabric

Freelook 2.0.0+mc1.21.10 targets 1.21.9, 1.21.10, 1.21.11 with Fabric. It must be installed on the client. Do not install it on the dedicated server. All 2 required mods have matching files.

Where it goes

Is Freelook required on the client, server, or both?

It must be installed on the client. Do not install it on the dedicated server.

Client Required
Dedicated server Not supported
Loader for this release Fabric
Required install it here Optional supported, not mandatory Not supported do not install here Source doesn’t say do not assume

This file is marked client-only.

What else does Freelook 2.0.0+mc1.21.10 need?

2.0.0+mc1.21.10. Change the file and its required mods may change too.

All 2 required mods have matching files

Install YetAnotherConfigLib (YACL), Fabric API first. We found matching files for this game-version and loader setup. 1 comes through another mod in the chain.

1 listed on this file 1 pulled in by one of those mods
Fabric API Needed by YetAnotherConfigLib (YACL)
pulled in
Matching file found Matched file: 0.141.6+1.21.11

1 extra mod was pulled in by another dependency. Indented rows show who needs each one. We only count dependency files that match this setup. A file for another loader does not fill the gap.

Before you install it

Add Freelook without breaking your instance.

Built for Freelook 2.0.0+mc1.21.10. Pick another file and the loader, install side or required mods may change.

  1. 01

    Stick to this file

    Use 2.0.0+mc1.21.10. It targets 1.21.9, 1.21.10, 1.21.11 with Fabric; another release may have different loader, side or dependency requirements.

  2. 02

    Bring the mods it needs

    Install YetAnotherConfigLib (YACL), Fabric API first. We found matching files for this game-version and loader setup. 1 comes through another mod in the chain.

  3. 03

    Put it on the correct side

    It must be installed on the client. Do not install it on the dedicated server.

  4. 04

    Pick the file you checked

    Use the “Get this file” button beside 2.0.0+mc1.21.10. It opens that exact file at the source.

About this project

What does Freelook add?

Freelook Mod

Allows you to rotate your camera freely around your character!


Features

  • Multiple Camera Perspectives
  • Customizable Activation Style
  • Camera Cycle Integration
  • Smooth Transitions

Server Opt-Opt

Some servers may consider freelook a competitive advantage. As of 2.0.0, Freelook includes a simple opt‑out protocol.

How it works

  1. When a player joins, the client sends a freelook:handshake packet.
  2. If the server wants to disable freelook, it responds with a freelook:disable packet.
  3. Then the player cannot use freelook for that session.
Click to expand code example
public class Example implements ModInitializer {
    @Override
    public void onInitialize() {
        PayloadTypeRegistry.clientboundPlay().register(DisableModPayload.TYPE, DisableModPayload.CODEC);
        PayloadTypeRegistry.serverboundPlay().register(HandshakePayload.TYPE, HandshakePayload.CODEC);

        ServerPlayNetworking.registerGlobalReceiver(HandshakePayload.TYPE,
                (payload, ctx) -> ServerPlayNetworking.send(ctx.player(), new DisableModPayload())
        );
    }

    public record DisableModPayload() implements CustomPacketPayload {
        public static final Type<DisableModPayload> TYPE = new Type<>(Identifier.parse("freelook:disable"));
        public static final StreamCodec<RegistryFriendlyByteBuf,  DisableModPayload> CODEC = StreamCodec.unit(new DisableModPayload());

        @Override
        public Type<? extends CustomPacketPayload> type() {
            return TYPE;
        }
    }

    public record HandshakePayload() implements CustomPacketPayload {
        public static final Type<HandshakePayload> TYPE = new Type<>(Identifier.parse("freelook:handshake"));
        public static final StreamCodec<RegistryFriendlyByteBuf, HandshakePayload> CODEC = StreamCodec.unit(new HandshakePayload());

        @Override
        public Type<? extends CustomPacketPayload> type() {
            return TYPE;
        }
    }
}

Code licensed under LGPL 3.0.

Project description from Modrinth.

Pick your setup

Freelook by Minecraft version and loader

Choose the version and loader you play, then open the matching release.

13 available setups

Showing the newest 12 of 13 game versions. Older files are in the list below.

Check the dependencies, then try the file in a copied instance before changing a world you care about.

Recent files

Freelook versions and loaders

43 of 43 releases match

Looking for an older file? The official Modrinth project page is in Resources.