MCPcopy Index your code
hub / github.com/Euphillya/Skyllia

github.com/Euphillya/Skyllia @2.0-259

Chat with this repo
repository ↗ · DeepWiki ↗ · release 2.0-259 ↗ · + Follow
1,355 symbols 4,013 edges 266 files 483 documented · 36%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Skyllia - Skyblock Plugin for Minecraft

Skyllia is a Skyblock plugin designed primarily for Folia but also compatible with Paper (1.20.1+). The plugin has an API that you can use to add feature extensions to customize your server. The plugin will have very little innovative functionality, and it's not my intention at all that there should be external features (like quests, for example).

bStats

Table of Contents

  1. Wiki
  2. Contact
  3. Plugin Features
  4. Prerequisites
  5. Installation
  6. Download Plugin
  7. Configuration
  8. API
  9. Commands & Permissions
  10. Compatible Software
  11. Island Generation
  12. Addons
  13. Contribution
  14. License

Contact

Join us on Discord

Prerequisites

  • A MariaDB database (recommended)
  • Paper 1.20.1+ or Folia 1.20+
  • Java 21
  • WorldEdit or FAWE (Folia or Original)

Installation

  1. Ensure you have the required prerequisites installed.
  2. Download the latest version of Skyllia from the Releases page.
  3. Place the downloaded .jar file into your server's plugins directory.
  4. Start your server to generate the default configuration files.
  5. Configure the plugin to your liking by editing the configuration files in the plugins/Skyllia directory.
  6. Restart your server to apply the changes.

Download Plugin

Configuration

Configuration files are located in the plugins/Skyllia directory. Customize settings to fit your server's needs. Detailed configuration instructions can be found in the Wiki.

API

Gradle Groovy

To add Skyllia API to your project, use the following configuration:

repositories {
   maven {
      url = uri("https://maven.pkg.github.com/Euphillya/Skyllia")
      credentials {
         username = project.findProperty("gpr.user") ?: System.getenv("GITHUB_USERNAME")
         password = project.findProperty("gpr.key") ?: System.getenv("GITHUB_TOKEN")
      }
   }
}

dependencies {
    compileOnly("fr.euphyllia.skyllia:api:1.7")
}

Example Usage

Here is a simple example of how to use the Skyllia API:

import fr.euphyllia.skyllia.api.SkylliaAPI;
import fr.euphyllia.skyllia.api.skyblock.Island;

import java.util.UUID;

Island playerIsland = SkylliaAPI.getIslandByPlayerId(player.getUniqueId()).join();
UUID islandId = playerIsland.getId();

Commands & Permissions

Skyllia comes with a set of commands and permissions to manage the plugin effectively. For a full list of commands and their permissions, refer to the Commands & Permissions section in the Wiki.

Compatible Software

Software Version
PaperMC 1.20.1-1.21.5
Purpur 1.20.1-1.21.5
Folia 1.20-1.21.5

Island Generation

Each island is generated in a single region file, with configurable region distances to suit your server's needs.

Addons

Contribution

We welcome contributions from the community! If you'd like to contribute, please follow these steps:

  1. Fork the repository.
  2. Create a new branch (git checkout -b feature-branch).
  3. Commit your changes (git commit -m 'Add new feature').
  4. Push to the branch (git push origin feature-branch).
  5. Open a Pull Request.

For more detailed guidelines, refer to the Contributing Guide.

License

This project is licensed under the MIT License. See the LICENCE file for details.

For more information and detailed documentation, please refer to the Wiki.

Feel free to contribute, open issues, or join us on Discord for support and discussions!

Extension points exported contracts — how you extend this code

DBInterface (Interface)
The DBInterface interface defines a method for retrieving a Connection to the database. Implementations [6 implementers]
database/src/main/java/fr/euphyllia/skyllia/sgbd/model/DBInterface.java
SubCommandInterface (Interface)
Interface for defining sub-commands in a command handling system. Implementations of this interface are expected to [36 …
api/src/main/java/fr/euphyllia/skyllia/api/commands/SubCommandInterface.java
ConfigManager (Interface)
(no doc) [16 implementers]
plugin/src/main/java/fr/euphyllia/skyllia/managers/ConfigManager.java
DBWork (Interface)
The DBWork interface provides a single method for running custom database logic with a given Connection. [4 implementers]
database/src/main/java/fr/euphyllia/skyllia/sgbd/model/DBWork.java
SkylliaImplementation (Interface)
The SkylliaImplementation interface defines the methods that must be implemented to interact with Skyblock islands and c [3 …
api/src/main/java/fr/euphyllia/skyllia/api/SkylliaImplementation.java
DBConnect (Interface)
The DBConnect interface provides methods to manage the life cycle of a database connection, including initializa [4 implementers]
database/src/main/java/fr/euphyllia/skyllia/sgbd/model/DBConnect.java
Permissions (Interface)
Represents a set of permissions for a Skyblock island. [3 implementers]
api/src/main/java/fr/euphyllia/skyllia/api/skyblock/model/permissions/Permissions.java
DatabaseLoader (Interface)
(no doc) [4 implementers]
database/src/main/java/fr/euphyllia/skyllia/sgbd/model/DatabaseLoader.java

Core symbols most depended-on inside this repo

Shape

Method 1,085
Class 244
Interface 14
Enum 11
Function 1

Languages

Java100%
Kotlin1%

Modules by API surface

api/src/main/java/fr/euphyllia/skyllia/api/utils/Metrics.java51 symbols
plugin/src/main/java/fr/euphyllia/skyllia/managers/skyblock/SkyblockManager.java29 symbols
plugin/src/main/java/fr/euphyllia/skyllia/managers/skyblock/IslandHook.java26 symbols
api/src/main/java/fr/euphyllia/skyllia/api/skyblock/Island.java25 symbols
plugin/src/main/java/fr/euphyllia/skyllia/configuration/manager/GeneralConfigManager.java19 symbols
plugin/src/main/java/fr/euphyllia/skyllia/api/InterneAPI.java19 symbols
plugin/src/main/java/fr/euphyllia/skyllia/configuration/manager/PlayerConfigManager.java17 symbols
api/src/main/java/fr/euphyllia/skyllia/api/SkylliaAPI.java15 symbols
plugin/src/main/java/fr/euphyllia/skyllia/cache/rules/PermissionRoleInIslandCache.java14 symbols
plugin/src/main/java/fr/euphyllia/skyllia/cache/island/PlayersInIslandCache.java14 symbols
plugin/src/main/java/fr/euphyllia/skyllia/listeners/skyblockevents/SkyblockEvent.java13 symbols
plugin/src/main/java/fr/euphyllia/skyllia/managers/skyblock/APISkyllia.java12 symbols

For agents

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

⬇ download graph artifact

Ask about this repo answers extend the page