LibCats
🟡 Updated this yearPreview

🔍 Analysis
- 🏆 #18 of 25 library mods in this game by downloads
📋 About This Mod
# LibCats !(https://hackatime-badge.hackclub.com/U0922GMGGTU/LibCats?label=Time+I+spent+on+this) ### Short description You can make GUIs, Commands (+ subcommands), and YAML files other than config.yml easier with this plugin.\ Also you can get these Paper Registry things easier\ You can also listen to the next message the player is sending in case you wanna get an input from them ### Build this yourself ```shell git clone https://github.com/JGJ52/LibCats.git cd LibCats ./gradlew build ``` ### Include this in your project ```xml <repositories> <repository> <id>jgj52-repo</id> <url>https://maven.jgj52.hu/repository/maven-releases/</url> </repository> </repositories> <dependencies> <dependency> <groupId>hu.jgj52</groupId> <artifactId>LibCats</artifactId> <version>1.3.7</version> <scope>provided</scope> </dependency> </dependencies> ``` ### GUIs ```java import hu.jgj52.libCats.Types.GUI; import net.kyori.adventure.text.Component; import org.bukkit.entity.Player; import org.bukkit.event.inventory.InventoryClickEvent; import org.bukkit.event.inventory.InventoryCloseEvent; import org.bukkit.event.inventory.InventoryDragEvent; import org.bukkit.event.player.PlayerDropItemEvent; import org.bukkit.event.player.PlayerInteractEvent; import org.bukkit.event.player.PlayerMoveEvent; import org.bukkit.inventory.Inventory; import org.bukkit.inventory.ItemStack; import org.bukkit.plugin.java.JavaPlugin; import org.jetbrains.annotations.NotNull; import java.util.List; class YourGUI extends GUI { @Override public void init(Player player) { // when gui opens, this runs. set your items here // you can set them by gui.setItem(0, new ItemStack(Material.APPLE)); } @Override public void onClick(InventoryClickEvent event) { // this gets called when player clicks on inventory } @Override public int getSize() { return 27; // size of the gui } @Override public JavaPlugin getPlugin() { return YourPlugin.getInstance(); } // above this there were methods you NEED to override, or it won't work // these are optional @Override public @NotNull Inventory getInventory() { return super.getInventory(); // this is the bukkit inventory implementation override thing. // i don't know how to call it. // if you don't know what this is, or what this is for, you can ignore this and not override it. } @Override public String getMessage(String msg) { return super.getMessage(msg); // basically does getPlugin().getConfig().getString("guis." + getClass().getSimpleName() /* in this case YourGUI */ + "." + msg); // if you don't want to retrieve messages from there you can override this // if you are hardcoding every message you can ignore this } @Override public Component getComponent(String msg) { return super.getComponent(msg); // basically getMessage(msg) but this deserializes it with MiniMessage and makes it a component // if you changed where getMessage gets messages from this changes too } @Override public Component getComponent(String msg, boolean notItalic) { return super.getComponent(msg, notItalic); // this calls getComponent(msg) but if notItalic is true, puts on a decoration that says: its not italic // useful for getting names from items } @Override public List<String> getMessageList(String msg) { return super.getMessageList(msg); // same as getMessage but this gets a string list from config and not just a string. changing getMessage won't change where this gets messages from } @Override public List<Component> getComponentList(String msg) { return super.getComponentList(msg); // same as getComponent but with getMessageList } @Override public List<Component> getComponentList(String msg, boolean notItalic) { return super.getComponentList(msg, notItalic); // same again but list } @Override public String getMsg(String msg) { return super.getMsg(msg); // this gets it from getPlugin().getConfig().get("messages." + msg); // but same getMessage } @Override public Component getComp(String msg) { return super.getComp(msg); // same as getComponent but uses getMsg } @Override public Component getComp(String msg, boolean notItalic) { return super.getComp(msg, notItalic); // same again } @Override public List<String> getMsgList(String msg) { return super.getMsgList(msg); // same } @Override public List<Component> getCompList(String msg) { return super.getCompList(msg); // same } @Override public List<Component> getCompList(String msg, boolean notItalic) { return super.getCompList(msg, notItalic); // same } @Override public boo
# LibCats !(https://hackatime-badge.hackclub.com/U0922GMGGTU/LibCats?label=Time+I+spent+on+this)
### Short description You can make GUIs, Commands (+ subcommands), and YAML files other than config.yml easier with this plugin.\ Also you can get these Paper Registry things easier\ You can also listen to the next message the player is sending in case you wanna get an input from them
### Build this yourself ```shell git clone https://github.com/JGJ52/LibCats.git cd LibCats ./gradlew build ```
### Include this in your project
```xml
### GUIs ```java import hu.jgj52.libCats. Types. GUI; import net.kyori.adventure.text. Component; import org.bukkit.entity. Player; import org.bukkit.event.inventory. InventoryClickEvent; import org.bukkit.event.inventory. InventoryCloseEvent; import org.bukkit.event.inventory. InventoryDragEvent; import org.bukkit.event.player. PlayerDropItemEvent; import org.bukkit.event.player. PlayerInteractEvent; import org.bukkit.event.player. PlayerMoveEvent; import org.bukkit.inventory. Inventory; import org.bukkit.inventory. ItemStack; import org.bukkit.plugin.java. JavaPlugin; import org.jetbrains.annotations. NotNull;
import java.util. List;
class YourGUI extends GUI { @Override public void init(Player player) { // when gui opens, this runs. set your items here // you can set them by gui.setItem(0, new ItemStack(Material. APPLE)); }
@Override public void onClick(InventoryClickEvent event) { // this gets called when player clicks on inventory }
@Override public int getSize() { return 27; // size of the gui }
@Override public JavaPlugin getPlugin() { return YourPlugin.getInstance(); }
// above this there were methods you NEED to override, or it won't work // these are optional
@Override public @NotNull Inventory getInventory() { return super.getInventory(); // this is the bukkit inventory implementation override thing. // i don't know how to call it. // if you don't know what this is, or what this is for, you can ignore this and not override it. }
@Override public String getMessage(String msg) { return super.getMessage(msg); // basically does getPlugin().getConfig().getString("guis." + getClass().getSimpleName() / in this case YourGUI / + "." + msg); // if you don't want to retrieve messages from there you can override this // if you are hardcoding every message you can ignore this }
@Override public Component getComponent(String msg) { return super.getComponent(msg); // basically getMessage(msg) but this deserializes it with MiniMessage and makes it a component // if you changed where getMessage gets messages from this changes too }
@Override public Component getComponent(String msg, boolean notItalic) { return super.getComponent(msg, notItalic); // this calls getComponent(msg) but if notItalic is true, puts on a decoration that says: its not italic // useful for getting names from items }
@Override
public List
@Override
public List
@Override
public List
@Override public String getMsg(String msg) { return super.getMsg(msg); // this gets it from getPlugin().getConfig().get("messages." + msg); // but same getMessage }
@Override public Component getComp(String msg) { return super.getComp(msg); // same as getComponent but uses getMsg }
@Override public Component getComp(String msg, boolean notItalic) { return super.getComp(msg, notItalic); // same again }
@Override
public List
@Override
public List
@Override
public List
@Override public boo
📊 Mod Details
- Game
- Minecraft Plugins
- Author
- JGJ52
- Version
- 1.3.8
- Downloads
- 91
- Endorsements
- 0
- Category
- library
- Created
- 3/30/2026
- Updated
- 4/1/2026
- Game Versions
- 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4
- Tags
- library
🔧 How to Install Minecraft Plugins Mods
Download from Modrinth. Use Prism Launcher or drop into your mods folder.
📖 Full step-by-step install guide for Minecraft Plugins →
Visit the official mod page for specific installation instructions for this mod.
🎮 Need cheat codes or console commands? Check ur gaming wiki for Minecraft Plugins commands, item IDs, and more.
❓ Frequently Asked Questions
Which Minecraft Plugins versions does LibCats support?
The author lists 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5. Other versions may work but are untested by the author.
What is the latest version of LibCats?
Version 1.3.8, published 2026-04-01 with 91 downloads recorded at the source.
Keep browsing — more Minecraft Plugins mods await