What is AlpineCore?
Inspired by MassiveCore, AlpineCore has a few key goals:
- Reduce boilerplate
- Integrate modern technologies
- Maintain high compatibility
- Java 8 minimum
- Minecraft 1.8.8 minimum
- Spigot minimum
Systems
AlpineCore consists of the following core systems:
- Engines
- Extended from
AlpineEngine - An event listener that is automatically registered
- Extended from
- Integrations
- Extended from
AlpineIntegration - Engines that only activate under configurable conditions, such as the presence of an external plugin
- Extended from
- Configurations
- Extended from
AlpineConfig - A collection of settings that is automatically registered and persisted
- Utilizes a fork of Exlll's ConfigLib to provide a smooth configuration experience for both developers and administrators
- Pre-written integrations with common configuration use cases, including messages compatible with Kyori's Adventure
- Extended from
- Storage
- Extended from
AlpineStore - Handles persistent key + data pairs backed by a configurable storage system
- Extended from
- Commands
- Extended from
AlpineCommand - A server command that is automatically registered
- Includes a more convenient API for registering completions and conditions
- Utilizes LiteCommands to enable the efficient creation of complex command structures
- Extended from
- User Interfaces
- Provides an advanced inventory GUI framework designed for simplicity, with recipe-like slot mask configuration for element placement
- Allows the efficient creation of interactive user interfaces in the plugin
- Utilizes
UIHandlerto initialize the menu to handle user interactions
- Teleportation
- Managed by
TeleportManager - Provides a centralized system for point-to-point teleportation
- Curate a teleportation sequence with the
TeleportTaskbuilder - Handle the lifecycle of a teleportation request, from initialization to the execution
- Add a countdown, event handlers, & cancellation policies
- Curate a teleportation sequence with the
- Managed by
- Events
- Extended from
AlpineEvent - A generic Bukkit event, minus the boilerplate
- Extended from
For Developers
To use AlpineCore, you must add it as a dependency to your project:
Gradle (Kotlin DSL)
repositories {
maven("https://lib.alpn.cloud/releases")
}
dependencies {
compileOnly("co.crystaldev:alpinecore:0.4.9")
}
Gradle (Groovy DSL)
repositories {
maven {
url 'https://lib.alpn.cloud/releases'
}
}
dependencies {
compileOnly 'co.crystaldev:alpinecore:0.4.9'
}
Maven
<repositories>
<repository>
<name>Alpine Public</name>
<url>https://lib.alpn.cloud/releases</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>co.crystaldev</groupId>
<artifactId>alpinecore</artifactId>
<version>0.4.9</version>
</dependency>
</dependencies>
Similar projects
Plugin →Let Me Despawn
Improves performance by tweaking mob despawn rules. Say bye to pesky unintentional persistent mobs.
25MSueta
JourneyMap
Real-time map used for mapping in-game or your browser as you explore.
14.7MSueta
WorldEdit
A Minecraft Map Editor... that runs in-game! With selections, schematics, copy and paste, brushes, and scripting. Use it in creative, or use it temporarily in survival.
11.6MSueta
Emotecraft
Create your own emotes in Minecraft.
7.5MSueta
Simple Tpa
A simple tpa plugin which sends requests
5.4MSueta
Common Network
Forge and Fabric Unified Networking Solution
3.9MSueta