Language

AlpineCore

AlpineCore

Modrinth

A modern framework for developing Minecraft server plugins.

206 downloads 2 followers updated 25d ago
latest v0.4.10-SNAPSHOT+82 Modrinth
Paper Purpur Spigot 1.8.8 – 1.21.10 Library

Alpine Core

A modern framework for developing Minecraft server plugins.

Read the Docs

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
  • Integrations
    • Extended from AlpineIntegration
    • Engines that only activate under configurable conditions, such as the presence of an external plugin
  • 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
  • Storage
    • Extended from AlpineStore
    • Handles persistent key + data pairs backed by a configurable storage system
  • 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
  • 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 UIHandler to 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 TeleportTask builder
      • Handle the lifecycle of a teleportation request, from initialization to the execution
      • Add a countdown, event handlers, & cancellation policies
  • Events
    • Extended from AlpineEvent
    • A generic Bukkit event, minus the boilerplate

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
paper, purpur, spigot · 1.8.8, 1.8.9, 1.9 · 25d ago
[f26fde0](https://github.com/alpine-network/alpine-core/commit/f26fde0) Merge pull request #7 * chore: update XSeries to 13.7.0 * fix: adjust XReflection…
5
Beta
0.4.10-SNAPSHOT+81
paper, purpur, spigot · 1.8.8, 1.8.9, 1.9 · 1mo ago
[7e21c09](https://github.com/alpine-network/alpine-core/commit/7e21c09) refactor: enhance placeholder resolution logic
16
Beta
0.4.10-SNAPSHOT+80
paper, purpur, spigot · 1.8.8, 1.8.9, 1.9 · 2mo ago
[f883481](https://github.com/alpine-network/alpine-core/commit/f883481) update Gradle and shaded dependencies (#6) * update to gradle 9.4.1 * update all…
9
Beta
0.4.10-SNAPSHOT+79
paper, purpur, spigot · 1.8.8, 1.8.9, 1.9 · 5mo ago
[8327a1d](https://github.com/alpine-network/alpine-core/commit/8327a1d) change: do not clear cooldown on player quit
10
Beta
0.4.10-SNAPSHOT+78
paper, purpur, spigot · 1.8.8, 1.8.9, 1.9 · 5mo ago
[e6be271](https://github.com/alpine-network/alpine-core/commit/e6be271) fix: add fallback for enchantment translation key using reflection
11
Beta
0.4.10-SNAPSHOT+77
paper, purpur, spigot · 1.8.8, 1.8.9, 1.9 · 6mo ago
[6f9ef93](https://github.com/alpine-network/alpine-core/commit/6f9ef93) refactor: improve placeholder handling and ConfigItem item stack creation logic
7
Beta
0.4.10-SNAPSHOT+76
paper, purpur, spigot · 1.8.8, 1.8.9, 1.9 · 6mo ago
[ee33b64](https://github.com/alpine-network/alpine-core/commit/ee33b64) fix: correct item stack creation for legacy in ConfigItem
11
Beta
0.4.10-SNAPSHOT+75
paper, purpur, spigot · 1.8.8, 1.8.9, 1.9 · 6mo ago
[1a9e035](https://github.com/alpine-network/alpine-core/commit/1a9e035) refactor: improve ConfigMessage build methods
8
Beta
0.4.10-SNAPSHOT+74
paper, purpur, spigot · 1.8.8, 1.8.9, 1.9 · 6mo ago
[eee4074](https://github.com/alpine-network/alpine-core/commit/eee4074) update ConfigLib to 4.6.0
7
Beta
0.4.10-SNAPSHOT+73
paper, purpur, spigot · 1.8.8, 1.8.9, 1.9 · 8mo ago
[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…
14
Beta
0.4.10-SNAPSHOT+72
paper, purpur, spigot · 1.8.8, 1.8.9, 1.9 · 8mo ago
[d2e0ae3](https://github.com/alpine-network/alpine-core/commit/d2e0ae3) make ReflectionHelper#findField check super classes
11
Beta
0.4.10-SNAPSHOT+71
paper, purpur, spigot · 1.8.8, 1.8.9, 1.9 · 8mo ago
[efa2093](https://github.com/alpine-network/alpine-core/commit/efa2093) ci: update actions
14

Comments 0

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