MCPcopy Index your code
hub / github.com/MeveraStudios/Imperat

github.com/MeveraStudios/Imperat @v3.6.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v3.6.0 ↗ · + Follow
4,215 symbols 14,241 edges 581 files 1,012 documented · 24%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Imperat Logo

Imperat - The Blazing Fast Command Framework

Maven Central Discord Java

Imperat is a high performance generic command framework, designed to facilitate the creation of commands and replace the old boilerplate code with new modern and well organized code for your commands! Built with ❤️

Example Command


@RootCommand({"message", "msg"})
public class MessageCommand {

    @Execute
    public void exec(Player sender, Player target, @Greedy String message) {
        // send private message to the target
        target.sendMessage("From " + sender.getName() + ": " + message);
    }
}

📚 Learn More

Extension points exported contracts — how you extend this code

AdventureCommandSource (Interface)
The AdventureCommandSource interface represents a source capable of receiving messages using the Adventure API. [15 implementers]
adventure/src/main/java/studio/mevera/imperat/adventure/AdventureCommandSource.java
CommandExceptionHandler (Interface)
A functional interface for handling and resolving exceptions that occur during Imperat's command execution flow. Impleme [10 …
core/src/main/java/studio/mevera/imperat/exception/CommandExceptionHandler.java
FieldProvider (Interface)
The FieldProvider interface is designed to define a method for providing selection fields based on their names. Impl [2 …
bukkit/src/main/java/studio/mevera/imperat/selector/field/provider/FieldProvider.java
ConsoleLogger (Interface)
Represents a simple console logger invoked by CommandSource output methods (e.g. CommandSource#reply, {@ [1 implementers]
cli/src/main/java/studio/mevera/imperat/ConsoleLogger.java
BungeeResponseKey (Interface)
Response keys specific to the Bungee platform. These keys are used to identify error messages and responses for Bungee-s
bungee/src/main/java/studio/mevera/imperat/responses/BungeeResponseKey.java
HytaleResponseKey (Interface)
Response keys specific to the Hytale platform. These keys are used to identify error messages and responses for Hytale-s
hytale/src/main/java/studio/mevera/imperat/responses/HytaleResponseKey.java
VelocityResponseKey (Interface)
Response keys specific to the Velocity platform. These keys are used to identify error messages and responses for Veloci
velocity/src/main/java/studio/mevera/imperat/responses/VelocityResponseKey.java
BrigadierManager (Interface)
A class that manages parsing Command into brigadier CommandNode @param the command-source valueType
brigadier/src/main/java/studio/mevera/imperat/BrigadierManager.java

Core symbols most depended-on inside this repo

execute
called by 314
core/src/main/java/studio/mevera/imperat/Imperat.java
get
called by 227
core/src/main/java/studio/mevera/imperat/util/reflection/FieldAccessor.java
reply
called by 191
core/src/main/java/studio/mevera/imperat/context/CommandSource.java
size
called by 177
core/src/main/java/studio/mevera/imperat/command/tree/CommandTree.java
register
called by 169
core/src/main/java/studio/mevera/imperat/events/EventBus.java
append
called by 151
core/src/main/java/studio/mevera/imperat/permissions/PermissionsData.java
isEmpty
called by 126
core/src/main/java/studio/mevera/imperat/command/arguments/DefaultValueProvider.java
getName
called by 123
core/src/main/java/studio/mevera/imperat/command/Command.java

Shape

Method 3,492
Class 605
Interface 103
Enum 12
Function 3

Languages

Java99%
Kotlin1%

Modules by API surface

core/src/main/java/studio/mevera/imperat/command/tree/StandardCommandTree.java85 symbols
core/src/main/java/studio/mevera/imperat/command/Command.java66 symbols
core/src/main/java/studio/mevera/imperat/command/CommandImpl.java57 symbols
core/src/main/java/studio/mevera/imperat/ImperatConfigImpl.java57 symbols
core/src/main/java/studio/mevera/imperat/command/arguments/type/NumberArgument.java55 symbols
core/src/main/java/studio/mevera/imperat/command/CommandPathway.java52 symbols
core/src/test/java/studio/mevera/imperat/tests/events/EventBusIntegrationTest.java51 symbols
core/src/main/java/studio/mevera/imperat/context/internal/Cursor.java51 symbols
core/src/main/java/studio/mevera/imperat/command/arguments/Argument.java50 symbols
core/src/test/java/studio/mevera/imperat/tests/responses/ResponseSystemTest.java49 symbols
core/src/test/java/studio/mevera/imperat/tests/enhanced/EnhancedArgumentParsingTest.java44 symbols
core/src/main/java/studio/mevera/imperat/command/tree/CommandNode.java43 symbols

For agents

$ claude mcp add Imperat \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page