Logo
MINECRAFTBIBLE
Items
Items

All game items

Blocks
Blocks

Building blocks

Mobs
Mobs

Creatures & monsters

Biomes
Biomes

World biomes

Structures
Structures

Generated structures

Recipes
Recipes

Crafting guides

Advancements
Advancements

Achievements

Loot Tables
Loot Tables

Drop rates

Tags
Tags

Item groupings

All Versions
View all data →
Capes
Cape ArchiveNEW

Browse rare Minecon capes, OptiFine capes, and custom capes from players worldwide

Browse

Player Database
Player DatabasePopular

Search any player

Skin Browser
Skin Browser

Browse & download skins

Cape Gallery
Cape GalleryNEW

Minecon & OptiFine capes

Seed Vault
Seed Vault

Curated seeds

Learn

Guides
GuidesNew

Tutorials & tips

Blog
Blog

News & updates

Community

Community Hub
Community HubHub

Posts, discussions & more

All Versions
View community →
Seed Analyzer
Seed Analyzer

World seed analysis

Loot Explorer
Loot Explorer

Drop rates

Crafting Calculator
Crafting Calculator

Material planning

Enchant Calculator
Enchant Calculator

Probability math

Redstone Lab
Redstone Lab

Signal timing

Trading Profit
Trading Profit

Villager ROI

All Versions
View all tools →
Mods
Mods

Browse all mods

Plugins
Plugins

Server plugins

Resource Packs
Resource Packs

Textures & sounds

Shaders
Shaders

Visual enhancements

Datapacks
Datapacks

World logic

Scanner
Mod Intelligence

Scan & analyze any mod

All Versions
View all mods →
Loading...
IntroductionIntroductionVersion HistoryVersion HistoryGuidesGuidesBlog & NewsBlog & News
ItemsItemsBlocksBlocksMobsMobsRecipesRecipesBiomesBiomesStructuresStructuresAdvancementsAdvancementsLoot TablesLoot TablesTagsTags
ModsModsPluginsPluginsResource PacksResource PacksShadersShadersDatapacksDatapacks

MinecraftBible

The Ultimate Wiki

Logo
MINECRAFTBIBLE

The ultimate Minecraft reference. Every item, block, mob, and recipe documented with precision.

Community

  • Player Database
  • Skin Browser
  • Cape Gallery
  • Community Hub
  • Seed Vault

Database

  • Items
  • Blocks
  • Mobs
  • Recipes
  • Biomes
  • Structures

Tools

  • Seed Analyzer
  • Mod Intelligence
  • Crafting Calculator
  • Enchant Calculator

Mods & Packs

  • Mods
  • Plugins
  • Resource Packs
  • Shaders
  • Datapacks

© 2026 MinecraftBible. Not affiliated with Mojang or Microsoft.

PrivacyTermsContact
NextLib
PluginMIT

NextLib

Build Minecraft Plugins The Easy Way

10
Downloads
3
Followers
5 months ago
Updated
📦
1
Versions
librarymanagementutilitybukkitpaperpurpurspigot
Download Latestv1.0.5View on Modrinth

📖About NextLib

NextLib

WIKI


CodeFactor
License: MIT
Java
Gradle
JitPack Downloads
GitHub last commit
GitHub issues
GitHub pull requests

NextLib is a modular library for Paper/Spigot plugins that covers basic development tasks: working with configs, GUIs, objects, and databases. All modules are focused on a declarative style and convenient integration into existing projects.


Content

  1. Features
  2. Installation
  3. Quick start
  4. Main modules
  5. GUI API and Conditions
  6. Working with configs
  7. Roadmap
  8. License

Features

  • Dynamic database — describe entities through regular Java classes and annotations, and the library creates tables itself and provides a convenient Fluent API for CRUD operations.
  • Connecting to the database via HikariCP is a ready pool of connections with configurable parameters.
  • Flexible GUI — loading menus from YAML, conditions for display and built-in actions (update, playsound, command, opengui, etc.).
  • Command API — a tree of commands with auto-completion.
  • Item API — concise builders of items with support for PDC, titles, lore and heads.
  • Color API — formatting HEX and & codes without extra code.
  • Config Manager — declarative loading of YAML configs into Java objects.

Installation

Add the JitPack repository and dependency 1.0.5 to your build script.

Gradle (Kotlin DSL)

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

dependencies {
    implementation("com.github.chi2l3s:next-lib:1.0.5")
}

Gradle (Groovy DSL)

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

dependencies {
    implementation 'com.github.chi2l3s:next-lib:1.0.5'
}

Maven

<repositories>
    <repository>
        <id>jitpack</id>
        <url>https://jitpack.io/</url>
    </repository>
</repositories>

<dependency>
    <groupId>com.github.chi2l3s</groupId>
    <artifactId>next-lib</artifactId>
    <version>1.0.5</version>
    <scope>provided</scope>
</dependency>

Quick start

  1. Download the library via JitPack and add it as a dependency.
  2. Create an instance of GUIManager and load the menu from the menus/ folder.
  3. Describe the database entities with Java classes, annotate the primary key @PrimaryKey and register them in `DynamicDatabase'.
  4. Use the provided APIs for commands, items, and configurations — all functionality is available from the namespace `io.github.chi2l3s.nextlib.api'.
public final class NextTrapsPlugin extends JavaPlugin {
    private DynamicDatabase database;
    private GuiManager guiManager;

    @Override
    public void onEnable() {
        database = DatabaseManager.createDynamicDatabase(this, "jdbc:mysql://localhost:3306/nexttraps", config -> {
            config.setUsername("root");
            config.setPassword("password");
            config.setMaximumPoolSize(10);
        });

        database.register(PlayerEntity.class);

        guiManager = new GuiManager(this);
        guiManager.loadFromFolder(new File(getDataFolder(), "menus"));
    }
}

Main modules

Command API

  • Structure commands through subcommands and permissions.
  • Support for auto-completion and aliases.
  • Is connected in one line in `OnEnable()'.
getCommand("nextlib").setExecutor(new RootCommand());

Item API

  • Fluent builders for 'ItemStack' with customizing the name, description, flags and `PersistentDataContainer'.
  • Support for head owner installation and massive meta changes.
ItemStack reward = new ItemBuilder(Material.DIAMOND)
.setName("&B Reward of the day")
.setLore(List.of("&7 Press to get"))
        .addPersistentTag("reward", PersistentDataType.STRING, "daily")
        .glow()
        .build();

Color API

  • A single formatting method that translates & and HEX (&#RRGGBB) into color messages.
player.SendMessage(color.format("Welcome to &#3498dbNextLib"));

Config Manager

  • The BaseConfig base class automatically creates and updates YAML files.
  • Data is loaded into Java fields or DTOs.

Dynamic database

  • Define the entity using a familiar Java class.
  • The @PrimaryKey annotation marks the primary key field.
  • DynamicTable provides the methods findFirst, findMany', create, updateanddelete'.
@AllArgsConstructor
@Getter
public class PlayerEntity {
    @PrimaryKey
    private final UUID playerId;
    private final String nickname;
    private final String trapSkinId;
}

DynamicTable<PlayerEntity> players = database.table(PlayerEntity.class);

String trapSkinId = players.findFirst()
        .where("playerId", playerId)
        .execute()
        .map(PlayerEntity::getTrapSkinId)
        .orElse("fallback");

For more information, see the separate manual docs/dynamic—database.md.


GUI API and terms

  • The menus are described by YAML files in plugins/<Your login >/menus.
  • The slot field takes a single value, and slots is a list of arbitrary slots or ranges `A-B'.
  • You can register your own conditions (Conditions#register) and use them to highlight objects or restrict interaction.
  • Builtin actions: close, command', console', message', opengui, update', playsound'.
id: traps
title: "&8 Trap Selection"
size: 54
items:
  back:
    material: ARROW
    slot: 53
    name: "&7node"
onLeftClick:
      - "opengui main"
  trap:
    material: TRIPWIRE_HOOK
    slots:
      - 0-8
      - 18
    name: "&b%trap_name%"
    lore:
      - "&7 Cost: &e%price%"
enchanted_when:
      - "selected"
    onLeftClick:
      - "update"
      - "playsound ENTITY_ENDER_DRAGON_AMBIENT 0.7 1.2"

For a detailed guide and examples, see docs/gui—conditions.md.


Working with configs

  • Inherit from BaseConfig to get automatic file creation and updating.
  • Use 'loadValues()` to read data and associate it with objects in your domain.
public class TrapSkinsConfig extends BaseConfig {
    @Override
    protected void loadValues() {
        ConfigurationSection skins = config.getConfigurationSection("skins");
        // Convert YAML to your TrapSkin objects
    }
}

Useful links

  • NextLib v1.0.5 Release Notes
  • Dynamic Database Guide
  • GUI Conditions and Actions Guide

Roadmap

  • Command API
  • Item API
  • Color API
  • Config Manager
  • GUI API with conditions and slot ranges
  • Dynamic database with HikariCP
  • Expandable GUI action registry
  • Redis/Message Queue integration
  • Utilities for working with events

License

MIT License © 2025 NextGenTech


👥 Team & Contributors

chi2l3s
chi2l3sOwner

⚙️ Compatibility

Environment
🖥️ Server-side
Loaders
bukkitpaperpurpurspigot
Minecraft Versions
1.16.51.171.17.11.181.18.11.18.21.191.19.1+21 more

🔗 Links

Modrinth Page