Mod
Freelook Mod
No reviews yet
Allows you to rotate your camera freely around your character!
Does not follow a specific thematic focus apart from vanilla Minecraft.
Includes a large focus on traversing worlds with enhanced world generation, structures, dungeons, and more for players to find unique loot.
Includes quality of life improvements and small tweaks to enhance and customize gameplay.
Adds client-side tools and features to enhance the user experience.
Community voices
Reviews
Click once to include, again to exclude, again to clear
No reviews yet. Be the first to review this project!
Get it on
Available Platforms
Compatibility
Supported Environments
About
Project Details
For authors
Embed Badge
If you're the author of this project, you can embed a live badge anywhere that supports HTML or Markdown. It updates automatically whenever ratings change.
Use HTML for any page that supports it, or Markdown for README files and Markdown-based descriptions.
Identifiers
Platform IDs
About
Description
CURSEFORGE BUILDS ARE EOL, CHECK OUT MODRINTH OR FIND NEW MODS.
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
- When a player joins, the client sends a
freelook:handshakepacket. - If the server wants to disable freelook, it responds with a
freelook:disablepacket. - 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.
Screenshots
Gallery
Versions
Files
Relations
Project Relations
More like this
Similar Mods
Suggestions use data such as tags, dependencies, dependents, descriptions, titles, and more to rank how much they overlap with this mod.
On ModDex
Community snapshot
By the numbers
Statistics
Want to reach Minecraft players?
We're looking for a server hosting partner to feature here and other parts of the site. Interested? Send us a message!
Get in touchGet it on
Available Platforms
On ModDex
Community snapshot
By the numbers