[Collections] - Collect set item 1.1
Can you collect them all?
Welcome to Collections, a versatile Minecraft plugin that turns item gathering into an exciting adventure! Whether you’re a server owner looking to engage players with unique challenges or a player hunting for treasures, Collections offers a robust, customizable system to track and display collectibles in-game. Built with flexibility and user experience in mind, this plugin is perfect for survival or RPG servers
✨ Key Features
Dynamic Collection Tracking
- Instant Updates: Collect items like emeralds, tools, or custom items, and see them logged in real-time as you pick them up—no delays!
- Unique Item IDs: Uses composite keys (e.g., gems.emerald) to ensure every collectible is distinct across categories, avoiding conflicts.
️ Customizable GUIs
- Flexible Sizes: Adjust the main and category GUI sizes (9, 18, 27, 36, 45, 54 slots) to fit your server’s style, with the last row always reserved for pagination.
- Personalized Titles: Configure GUI titles with placeholders like {player} and {category} (e.g., "Steve’s Treasures" or "Gems for Steve") using MiniMessage formatting for vibrant text.
- Intuitive Navigation: Pagination buttons ("Previous" and "Next") stay consistent in the last row, dynamically adjusting to your chosen GUI size.
Dual Database Support
- SQLite by Default: No setup needed—data saves locally to collections.db for easy deployment.
- Optional MySQL: Toggle to MySQL with a simple use-mysql: true in the config, perfect for multi-server setups or larger networks.
PlaceholderAPI Integration
- Dynamic Placeholders: Use %collections_<category>_amount% to show items collected (e.g., "2" for 2/3 gems) and %collections_<category>_completed% for true/false completion status in chat, scoreboards, or GUIs.
⚙️ User-Friendly Configuration
- Detailed Config: Comes with a well-commented config.yml explaining every option, complete with example categories ("Gems" and "Tools") to get you started.
- Slot Management: Easily place categories and items in specific slots, with validation to keep content above the pagination row.
Completion Rewards
- Custom Commands: Run commands when a category is completed.
- Celebratory Messages: Send personalized messages to collection completion
Screenshots
(Add your own screenshots here! Suggested shots: Main GUI with categories, a category GUI with items, a completion message in chat.)
Screenshots
(Textured items not included)
Config
# Collections Plugin Configuration
# This file controls the database, GUI placeholders, pagination, and collectible categories.
# All sections are optional unless specified otherwise.
# GUI Titles
# Customize the titles of the GUIs. Supports MiniMessage formatting (https://docs.adventure.kyori.net/minimessage).
# Placeholders: {player} = player's name, {category} = category display name (category GUI only).
gui-titles:
main: "Collections" # Title for the main GUI showing all categories.
category: "{player}'s {category}" # Title for individual category GUIs.
# Database Configuration
# Controls how player collection data is stored.
database:
# Set to true to use MySQL, false to use SQLite (default).
# If true, fill in the details below. If false, data saves to 'collections.db' in the plugin folder.
use-mysql: false
# MySQL connection details (only used if use-mysql is true).
host: "localhost" # MySQL server address (e.g., "localhost" or "192.168.1.100").
port: 3306 # MySQL server port (default is 3306).
database: "minecraft" # Name of the MySQL database.
username: "root" # MySQL username.
password: "" # MySQL password (leave empty if none).
# Placeholder Settings
# Defines the appearance of uncollected items in the GUI.
placeholder:
material: GRAY_DYE # Material for uncollected item slots (e.g., GRAY_DYE, STONE).
display-name: "<gray>Not Collected" # Name shown in the GUI (supports MiniMessage formatting).
lore: # Description lines for uncollected items.
- "<gray>Find this item!"
custom-model-data: 0 # Custom model data for resource packs (0 = default).
# Pagination Settings
# Controls the Previous/Next buttons in the GUI.
pagination:
previous:
material: ARROW # Material for the Previous Page button.
display-name: "<green>Previous Page" # Button name.
lore: # Button description.
- "<gray>Go to the previous page"
custom-model-data: 0 # Custom model data.
slot: 27 # Slot in the GUI (0-35, as inventory size is 36).
next:
material: ARROW # Material for the Next Page button.
display-name: "<green>Next Page" # Button name.
lore: # Button description.
- "<gray>Go to the next page"
custom-model-data: 0 # Custom model data.
slot: 35 # Slot in the GUI (0-35).
# Categories
# Define collections of items for players to gather.
# Each category appears in the main GUI and can have multiple items across pages.
categories:
# Example Category: Gems
gems:
display-name: "<blue>Gems" # Name shown in the main GUI.
icon: EMERALD # Material for the category icon in the main GUI.
custom-model-data: 0 # Custom model data for the icon.
size: 18 # Inventory size for this category’s GUI (9, 18, 27, 36, 45, 54).
title: "{player}'s Gems" # Title of the category GUI ({player} is replaced with the player’s name).
slot: 12 # Slot in the main GUI (0-26, pages calculated as slot / 27).
items:
emerald:
material: EMERALD # Material of the collectible item.
display-name: "<green>Emerald" # Name shown when collected.
lore: # Description when collected.
- "<gray>Collected: <white>{amount}"
custom-model-data: 0 # Custom model data.
slot: 4 # Slot in the category GUI (0-26).
page: 0 # Page in the category GUI (0-based).
diamond:
material: DIAMOND
display-name: "<aqua>Diamond"
lore:
- "<gray>A shiny treasure!"
custom-model-data: 0
slot: 5
page: 0
complete-command: "give {player} emerald 10" # Command to run when all items are collected ({player} is the player’s name).
complete-message: "<green>Congratulations, {player}! You've completed the Gems collection!" # Message sent on completion.
# Example Category: Tools
tools:
display-name: "<gold>Tools"
icon: IRON_PICKAXE
custom-model-data: 0
size: 9
title: "{player}'s Tools"
slot: 14
items:
pickaxe:
material: IRON_PICKAXE
display-name: "<yellow>Iron Pickaxe"
lore:
- "<gray>A sturdy tool."
custom-model-data: 0
slot: 3
page: 0
complete-command: "xp give {player} 50"
complete-message: "<green>Well done, {player}! You've collected all Tools!"
Commands & Permissions
Commands | Permissions |
/collections [player|reload|add] <name> <category> <slot> [page] |
collections.use (Default)
|
Installation
- Download the latest JAR
- Drop it into your plugins/ folder.
- Restart your server—SQLite works out of the box, or configure MySQL in config.yml.
- Type /collections to start collecting!