Skip to content

the-h-team/Labyrinth

Repository files navigation

What is Labyrinth?

Labyrinth is an easy-access Spigot development library that assists you in areas that may otherwise have been far more time-consuming. It uses a global java library called Panther created by us to handle the base of the apis such as the string utility, task scheduling and many other things.

GitHub license Github all releases Spiget tested server versions

Importing with Maven

<project>
    <properties>
        <labyrinth.version>1.9.3-SNAPSHOT</labyrinth.version>
    </properties>
    <repositories>
        <repository>
            <id>jitpack</id>
            <url>https://jitpack.io/</url>
            <snapshots>
                <enabled>true</enabled>
            </snapshots>
        </repository>
    </repositories>
    <dependencies>
    <!-- Used for accessing common library functions -->
        <dependency>
            <groupId>com.github.the-h-team</groupId>
            <artifactId>labyrinth-common</artifactId>
            <version>${labyrinth.version}</version>
            <scope>provided</scope>
        </dependency>
    <!-- Used specifically for loading/retrieving custom skull items. -->
        <dependency>
            <groupId>com.github.the-h-team</groupId>
            <artifactId>labyrinth-skulls</artifactId>
            <version>${labyrinth.version}</version>
            <scope>provided</scope>
        </dependency>
    <!-- Used specifically as a full GUI arsenal (Singular/Paginated/Shared/Live/Slideshow/Anvil). -->
        <dependency>
            <groupId>com.github.the-h-team</groupId>
            <artifactId>labyrinth-gui</artifactId>
            <version>${labyrinth.version}</version>
            <scope>provided</scope>
        </dependency>
    <!-- Used specifically for region related services. -->
        <dependency>
            <groupId>com.github.the-h-team</groupId>
            <artifactId>labyrinth-regions</artifactId>
            <version>${labyrinth.version}</version>
            <scope>provided</scope>
        </dependency>
    <!-- Used specifically for location related services. -->
        <dependency>
            <groupId>com.github.the-h-team</groupId>
            <artifactId>labyrinth-loci</artifactId>
            <version>${labyrinth.version}</version>
            <scope>provided</scope>
        </dependency>
    <!-- Used specifically for permission related services (Vault replacement). -->
        <dependency>
            <groupId>com.github.the-h-team</groupId>
            <artifactId>labyrinth-perms</artifactId>
            <version>${labyrinth.version}</version>
            <scope>provided</scope>
        </dependency>
    <!-- Used specifically for pastebin/hastebin related services. -->
        <dependency>
            <groupId>com.github.the-h-team</groupId>
            <artifactId>labyrinth-paste</artifactId>
            <version>${labyrinth.version}</version>
            <scope>provided</scope>
        </dependency>
    <!-- Used specifically for placeholder provision services. -->
        <dependency>
            <groupId>com.github.the-h-team</groupId>
            <artifactId>labyrinth-placeholders</artifactId>
            <version>${labyrinth.version}</version>
            <scope>provided</scope>
        </dependency>
    <!-- Plugin internals, submodules marked to shade (Includes main class + plugin.yml, try not to use this) -->
        <dependency>
            <groupId>com.github.the-h-team</groupId>
            <artifactId>labyrinth-plugin</artifactId>
            <version>${labyrinth.version}</version>
            <scope>provided</scope>
        </dependency>
    </dependencies>
</project>

Importing with Gradle

    allprojects {
        repositories {
            mavenCentral()
            maven {
                url "https://jitpack.io/"
            }
        }
    }

    dependencies {
        compileOnly 'com.github.the-h-team:labyrinth-common:1.9.3-SNAPSHOT'
        compileOnly 'com.github.the-h-team:labyrinth-gui:1.9.3-SNAPSHOT'
        compileOnly 'com.github.the-h-team:labyrinth-skulls:1.9.3-SNAPSHOT'
        compileOnly 'com.github.the-h-team:labyrinth-regions:1.9.3-SNAPSHOT'
        compileOnly 'com.github.the-h-team:labyrinth-loci:1.9.3-SNAPSHOT'
        // for build use only! (includes full plugin and resources)
        compileOnly 'com.github.the-h-team:labyrinth-plugin:1.9.3-SNAPSHOT'
    }

What are its key points?

  • Easy Collection management with pagination
  • Tools for simple, automatic class registration
  • Load External Jars
  • Time, Command, String, Math and List Utilities
  • Custom object! Persistent Data Storage using Base64 serialization
  • In-daemon task scheduling.
  • Custom o(1) o(n) complexity collection/map types.
  • Cuboid/Region API
  • Tablist display API
  • Tab completion utility
  • Safe, common library access to amazing plugins like Vault, Enterprise, PlaceholderAPI & Much More!

API Table of Contents:


Labyrinth

A spigot development tool that makes certain tasks much easier.

Original components licensed for use under the terms of the GNU Lesser General Public License, version 2.1.

Ships with MIT-derived components:

  • Java port of RGBApi by F1b3r; original Kotlin sources can be found here.