CobbleLib
ModApache-2.0

CobbleLib

CobbleSuite Library By WhosLucid

21
Downloads
1
Followers
2 months ago
Updated
📦
1
Versions

📖About CobbleLib

CobbleLib

A core utility library for Cobblemon NeoForge mods providing virtual economy (Cobbletokens), permissions, UI framework, and Pokemon helpers.

Requirements

  • Minecraft 1.21.1
  • NeoForge 21.1.90+
  • Cobblemon 1.7.2+
  • Java 21+

Features

Economy(Cobbletokens)

A simple virtual currency system with balances stored in economy.json:

  • Virtual balances tracked per player
  • Easy /cobbletokens command for players to manage their tokens
  • Admin commands for server operators
  • Transfer tokens between players

Permission System

Integrates with FTB Ranks for permission checks with automatic fallback to vanilla op levels.

PermissionApi.hasPermission(player, "permission.node", opLevel);

UI Components

GooeyLibs-based GUI utilities:

  • ConfirmMenu - Confirmation dialogs
  • PartyPcMenu - Party/PC Pokemon selection interface

Utilities

  • AdventureTranslator - Convert legacy color codes (&a, &l) and hex (&#RRGGBB) to Components
  • PlayerUtils - Chat, actionbar, and broadcast messaging
  • PokemonUtils - Placeholder replacement and stat helpers
  • ItemModel - ItemStack builder with display name, lore, NBT support

Commands

Token Commands (/cobbletokens)

Command Permission Description
/cobbletokens cobblelib.tokens Check your balance
/cobbletokens balance [player] cobblelib.tokens / cobblelib.tokens.admin Check balance (admin for others)
/cobbletokens send <player> <amount> cobblelib.tokens Send tokens to another player
/cobbletokens pay <player> <amount> cobblelib.tokens Alias for send
/cobbletokens give <player> <amount> cobblelib.tokens.admin Give tokens to a player
/cobbletokens take <player> <amount> cobblelib.tokens.admin Take tokens from a player
/cobbletokens set <player> <amount> cobblelib.tokens.admin Set a player's balance

Admin Commands (/cobblelib)

Command Permission Description
/cobblelib reload cobblelib.reload Reload all configs
/cobblelib info cobblelib.base Display mod info

Configuration

Config files are located at config/cobblelib/

config.json

{
  "debug": false,
  "useDefault": true,
  "economySymbol": "Cobbletokens"
}

Language Files

Located at config/cobblelib/lang/en.json

API Usage

Economy API

import com.whoslucid.cobblelib.api.EconomyApi;

// Check balance
BigDecimal balance = EconomyApi.getBalance(playerUUID, null);

// Add money
EconomyApi.addMoney(playerUUID, BigDecimal.valueOf(100), null);

// Remove money
EconomyApi.removeMoney(playerUUID, BigDecimal.valueOf(50), null);

// Transfer between players
EconomyApi.transfer(fromUUID, toUUID, 100);

// Check and deduct
boolean success = EconomyApi.hasEnoughMoney(playerUUID, BigDecimal.valueOf(100), null, true);

// Get currency symbol
String symbol = EconomyApi.getSymbol(null);

Permission API

import com.whoslucid.cobblelib.api.PermissionApi;

// Check permission with op fallback
boolean allowed = PermissionApi.hasPermission(player, "your.permission", 2);

Color Codes

import com.whoslucid.cobblelib.util.AdventureTranslator;

Component text = AdventureTranslator.toComponent("&aGreen &lBold &#FF5555Custom Hex");

Building

./gradlew build

Output: build/libs/cobblelib-1.0.0.jar

License

All rights reserved.