AlpineCore
ModrinthA modern framework for developing Minecraft server plugins.
206 downloads 2 followers updated 25d ago
latest v0.4.10-SNAPSHOT+82 Modrinth
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>
Versions
Beta
0.4.10-SNAPSHOT+82
[f26fde0](https://github.com/alpine-network/alpine-core/commit/f26fde0) Merge pull request #7
* chore: update XSeries to 13.7.0
* fix: adjust XReflection…
Beta
0.4.10-SNAPSHOT+81
[7e21c09](https://github.com/alpine-network/alpine-core/commit/7e21c09) refactor: enhance placeholder resolution logic
Beta
0.4.10-SNAPSHOT+80
[f883481](https://github.com/alpine-network/alpine-core/commit/f883481) update Gradle and shaded dependencies (#6)
* update to gradle 9.4.1
* update all…
Beta
0.4.10-SNAPSHOT+79
[8327a1d](https://github.com/alpine-network/alpine-core/commit/8327a1d) change: do not clear cooldown on player quit
Beta
0.4.10-SNAPSHOT+78
[e6be271](https://github.com/alpine-network/alpine-core/commit/e6be271) fix: add fallback for enchantment translation key using reflection
Beta
0.4.10-SNAPSHOT+77
[6f9ef93](https://github.com/alpine-network/alpine-core/commit/6f9ef93) refactor: improve placeholder handling and ConfigItem item stack creation logic
Beta
0.4.10-SNAPSHOT+76
[ee33b64](https://github.com/alpine-network/alpine-core/commit/ee33b64) fix: correct item stack creation for legacy in ConfigItem
Beta
0.4.10-SNAPSHOT+75
[1a9e035](https://github.com/alpine-network/alpine-core/commit/1a9e035) refactor: improve ConfigMessage build methods
Beta
0.4.10-SNAPSHOT+74
[eee4074](https://github.com/alpine-network/alpine-core/commit/eee4074) update ConfigLib to 4.6.0
Beta
0.4.10-SNAPSHOT+73
[612304f](https://github.com/alpine-network/alpine-core/commit/612304f) update dependencies and support 1.21.10
- litecommands 3.10.5 to 3.10.6
- xseries…
Beta
0.4.10-SNAPSHOT+72
[d2e0ae3](https://github.com/alpine-network/alpine-core/commit/d2e0ae3) make ReflectionHelper#findField check super classes

Comments 0
No comments yet. Be the first to share your thoughts.