Back to mods
Intent project artwork

CurseForge · Minecraft mod

Intent

Intent transforms your keybinds into context-aware actions, allowing a single key to perform different functions based on different conditions.

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

Quick answer

Which Intent release should I use?

Updated 9 months ago
Latest stable file intent-1.0.0.jar
Game version 1.21.1
Loader NeoForge

intent-1.0.0.jar targets 1.21.1 with NeoForge. The project page does not say whether this file belongs on the client, dedicated server, or both. No extra mods listed for this file.

Where it goes

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

The project page does not say whether this file belongs on the client, dedicated server, or both.

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

The source does not explicitly classify this release as client-only or server-only.

What else does intent-1.0.0.jar need?

intent-1.0.0.jar. Change the file and its required mods may change too.

No extra mods listed for this file

This file does not list any required mods. Do not add a library just because a different file uses it.

This file does not list any required or optional mods.

Before you install it

Add Intent without breaking your instance.

Built for intent-1.0.0.jar. Pick another file and the loader, install side or required mods may change.

  1. 01

    Stick to this file

    Use intent-1.0.0.jar. It targets 1.21.1 with NeoForge; another release may have different loader, side or dependency requirements.

  2. 02

    Bring the mods it needs

    This file does not list any required mods. Do not add a library just because a different file uses it.

  3. 03

    Put it on the correct side

    The project page does not say whether this file belongs on the client, dedicated server, or both.

  4. 04

    Pick the file you checked

    Use the “Get this file” button beside intent-1.0.0.jar. It opens that exact file at the source.

About this project

What does Intent add?

Intent

Context-Aware Keybinds for Minecraft

Intent transforms your keybinds into intelligent, context-aware actions. Instead of remembering dozens of keys for different mods, you can assign multiple functions to a single key, triggered automatically by specific conditions like your health, equipment, or movement state.

Features

  • Contextual Bindings: Bind a single physical key (e.g., R) to perform different actions based on the situation.
    • Example: R throws an Ender Pearl if holding one, but opens your Inventory if your hand is empty.
  • Radial Menu System: If multiple actions are valid for a key press, holding the key opens a Radial Menu to select the desired action. Tapping the key triggers the highest priority action immediately.
  • In-Game Editor: No need to edit JSON files manually. Press I (default) to open the Intent Editor to configure your rules visually.
  • Default Condition Library:
    • Player State: Sneaking, Sprinting, Airborne, Riding.
    • Inventory: Holding specific Items or Item Tags.
    • World: Looking at specific Blocks or Entities.
    • Stats: Health or Item Durability thresholds (e.g., "Eat food when health < 50%").
    • Combat: Detect if you are currently in combat.
    • GUI: Detect if a specific screen (like an Inventory) is open.

How to Use

The Editor

Press I to open the Intent Editor.

  1. Select a Key: Choose a physical key (e.g., Key R) on the left.
  2. Add Rules: Add "Intent Entries" to the stack.
  3. Define Contexts: For each entry, define When it should trigger (e.g., is_sneaking).
  4. Set Priority: Rules are checked from top to bottom. Use the Up/Down arrows to prioritize specific actions.

Virtualization

Intent allows you to "Virtualize" a keybinding. This unbinds the action from the vanilla controls options so it doesn't conflict with your custom Intent rules.


Developer API

Intent exports a dedicated API jar, allowing other mods to add custom Context Types (conditions) and Editors.

Usage (Gradle)

Intent is available via JitPack. Add the following to your build.gradle:

repositories {
    maven { url '[https://jitpack.io](https://jitpack.io)' }
}

dependencies {
    // Compile against the API (Recommended)
    implementation "com.github.kjmaster1:Intent:v1.0.0:api"

    // Or include the full mod for runtime testing
    // implementation "com.github.kjmaster1:Intent:v1.0.0"
}

Registering a Custom Context

To add a new condition (e.g., checking if it's raining), implement IIntentContext and register a ContextType.

  1. Create the Context:

    public record RainingContext() implements IIntentContext {
        public static final MapCodec<RainingContext> CODEC = MapCodec.unit(new RainingContext());
    
        @Override
        public boolean test(LocalPlayer player) {
            return player.level().isRaining();
        }
    
        @Override
        public ContextType<?> getType() {
            return MyRegistries.IS_RAINING.get();
        }
    }
    
  2. Register the Type: Use IntentAPI.CONTEXT_TYPE_REGISTRY_KEY to register your type to the Intent registry.

    public static final DeferredRegister<IIntentContext.ContextType<?>> CONTEXT_TYPES =
            DeferredRegister.create(IntentAPI.CONTEXT_TYPE_REGISTRY_KEY, "my_mod_id");
    
    public static final DeferredHolder<IIntentContext.ContextType<?>, IIntentContext.ContextType<RainingContext>> IS_RAINING =
            CONTEXT_TYPES.register("is_raining", () -> () -> RainingContext.CODEC);
    

Adding a GUI Editor

To make your custom context editable in the Intent GUI, register an IContextEditor.

// In your Client Setup
ContextEditorRegistry.register(MyRegistries.IS_RAINING.get(), () -> new SimpleStateEditor<>(RainingContext::new));

License

This project is licensed under the MIT License.

Project description from CurseForge.

Pick your setup

Intent by Minecraft version and loader

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

1 available setups

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

Recent files

Intent versions and loaders

1 of 1 releases match

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