ElvenideCore is a comprehensive development framework designed to streamline the creation of Minecraft plugins for PaperMC. It acts as a robust foundation, eliminating repetitive boilerplate code and providing high-level, expressive APIs for commands, items, GUIs, and task management.
Key Features
- Boilerplate Reduction: Replaces traditional Bukkit events and task scheduling with clean, fluent APIs.
- Expressive Command System: A Brigadier-based, object-oriented command API with full support for subcommands and auto-completion.
- Advanced UI Framework: Tools for creating complex, paginated GUI menus without manual slot calculations or math.
- Enhanced Configuration: A drop-in replacement for YAML configs that supports complex Minecraft types like Materials, Sounds, and Colors natively.
- Feature Providers: A modular "Provider" architecture that grants easy access to logging, permissions, tasks, and item builders.
Technology Stack
- Platform: PaperMC (1.21+)
- Language: Java
- Distribution: JitPack (Maven/Gradle)
Getting Started
Elvenide Core is designed to be shaded into your plugin:
-
Add Repository: Add JitPack to your
pom.xml:<repository> <id>jitpack.io</id> <url>https://jitpack.io</url> </repository> -
Add Dependency:
<dependency> <groupId>com.elvenide</groupId> <artifactId>ElvenideCore</artifactId> <version>TAG</version> <scope>compile</scope> </dependency> -
Shade:
<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-shade-plugin</artifactId> <version>3.5.3</version> <executions> <execution> <phase>package</phase> <goals> <goal>shade</goal> </goals> </execution> </executions> <configuration> <relocations> <relocation> <pattern>com.elvenide.core</pattern> <shadedPattern>com.your.path.elvenide.core</shadedPattern> </relocation> </relocations> <filters> <filter> <artifact>*:*</artifact> <excludes> <exclude>META-INF/**</exclude> </excludes> </filter> </filters> </configuration> </plugin> </plugins> </build> -
Initialize: Set your plugin instance in your
onEnablemethod:@Override public void onEnable() { Core.plugin.set(this); } -
Docs: You can now begin using ElvenideCore. See the documentation here for more information.