♻️ TrashCanPro | GUI Trash Bin  |  Achievements |  Leaderboards |  Multi Language Support icon

♻️ TrashCanPro | GUI Trash Bin | Achievements | Leaderboards | Multi Language Support -----

Next-gen recycling for Minecraft — restore items, earn rewards, compete for top leaderboards & more!



COMPLETE CONFIG FILE:
Code (YAML):
# =====================================================
#  TrashCan Plugin - Main Configuration
#  Version: 1.0.0
#  Author: TheMeanOneDevelopments
#  Discord Link: https://discord.gg/pNqEPUzNmz
#  All Rights Reserved, TheMeanOneDevelopments - Registered Business
#  Do not Copy any source code without permission.
#  Commissions can be offered, message the discord for more information.
# =====================================================
# This config controls EVERYTHING for TrashCan:
#   - Messages & Language
#   - GUI customization
#   - Storage & Expiration system
#   - Restore cooldowns
#   - Achievements & rewards
#   - Integration with PlaceholderAPI & DecentHolograms
#
# NOTES:
#   - Supports both Legacy Colors (&a, &c, etc.)
#   - Supports MiniMessage Formatting (<red>, <bold>, <gradient:#hex1:#hex2>)
#   - Use a reload or restart after editing (some options require restart).
# =====================================================


# -------------------------
# LANGUAGE SYSTEM
# -------------------------
# Controls which language file is loaded from /plugins/TrashCan/lang/
# Default: "en"
# Available out of the box: en, de, es, fr, pt, ru, ja, zh
# (Admins can add their own translations too!)
language
: en


# -------------------------
# GUI TITLES
# -------------------------
# These control the titles displayed at the top of GUIs.
# Fully supports MiniMessage gradients, bold, italic, etc.
#
# Example gradient (green → orange → red):
#   "<gradient:#00FF00:#FFA500:#FF0000>♻ Trash Bin ♻</gradient>"
#
title
: "<gradient:#00FF00:#FFA500:#FF0000>♻ Trash Bin ♻</gradient>"
restore-title
: "<gold>♻ Restore Trash ♻"
leaderboard-title
: "<dark_green>♻ Trash Leaderboard ♻"


# =====================================================
# STORAGE & EXPIRATION
# =====================================================

# How long trashed items last before permanent deletion.
# Time is in MINUTES.
# Example: 15 = trashed items expire after 15 minutes.
# NOTE: This requires a SERVER RESTART to take effect.
trash-expire-minutes
: 15

# How many trash sessions to store per player.
# Example: 5 = players can restore their last 5 trash sessions.
# Older sessions will be automatically deleted.
max-saves-per-player
: 5

# How often expired sessions are cleaned up.
# Time is in SECONDS.
# Example: 60 = runs cleanup every minute.
cleanup-interval-seconds
: 60


# =====================================================
# RESTORE GUI SETTINGS
# =====================================================

# The icon representing a trash session inside the Restore GUI.
# Must be a valid Bukkit Material (CHEST, BARREL, ENDER_CHEST, etc).
restore-gui-icon
: CHEST

# How many items should be previewed in each trash session’s lore.
# If there are more than this, “... and more” will be shown.
restore-preview-limit
: 5


# =====================================================
# RESTORE COOLDOWN
# =====================================================

# Time (in SECONDS) between uses of /trash restore.
# Prevents spam restores.
# Players with "trashcan.restore.bypass" permission ignore this.
restore-cooldown-seconds
: 60


# =====================================================
# ACHIEVEMENTS
# =====================================================
# Define recycling milestones and rewards here.
# Keys are the total number of items trashed.
#
# Each achievement can include:
#   - message: Player message (shown in chat).
#   - command: Any console commands. Supports multiple commands.
#
# Placeholders:
#   %player% → player’s name
#   %amount% → milestone number
#
# Example:
#   5000:
#     message: "&a Achievement Unlocked!"
#     command:
#       - "eco give %player% 500"
#       - "tellraw %player% &aYou earned $500!"
#
# Preloaded with 15 but you can add or take away or edit how you'd like!
achievements
:
  1000
:
    message
: "&a Achievement Unlocked: &eRecycler I &7(1,000 items recycled)"
    command
:
     - "eco give %player% 100"
      - "give %player% minecraft:emerald 1"
      - "tellraw %player% {\"text\ ":\" Psst ... I slipped you 1x Emerald!\ ",\"color\ ":\"aqua\ "}"

  6000
:
    message
: "&a Achievement Unlocked: &eRecycler II &7(5,000 items recycled)"
    command
:
     - "eco give %player% 500"
      - "give %player% minecraft:diamond 1"
      - "tellraw %player% {\"text\ ":\" Don’t tell anyone ... you just got 1x Diamond!\ ",\"color\ ":\"aqua\ "}"

  10000
:
    message
: "&a Achievement Unlocked: &eRecycler III &7(10,000 items recycled)"
    command
:
     - "eco give %player% 1000"
      - "give %player% minecraft:emerald 3"
      - "tellraw %player% {\"text\ ":\" Nice work! Here’s 3x Emeralds for your effort!\ ",\"color\ ":\"aqua\ "}"

  50000
:
    message
: "&a Achievement Unlocked: &eRecycler IV &7(50,000 items recycled)"
    command
:
     - "eco give %player% 2500"
      - "give %player% minecraft:diamond 3"
      - "tellraw %player% {\"text\ ":\" Big recycler vibes! You got 3x Diamonds!\ ",\"color\ ":\"aqua\ "}"

  100000
:
    message
: "&a Achievement Unlocked: &eRecycler V &7(100,000 items recycled)"
    command
:
     - "eco give %player% 5000"
      - "give %player% minecraft:netherite_scrap 1"
      - "tellraw %player% {\"text\ ":\" Legendary recycler! I slipped you 1x Netherite Scrap!\ ",\"color\ ":\"dark_purple\ "}"

  250000
:
    message
: "&a Achievement Unlocked: &eRecycler VI &7(250,000 items recycled)"
    command
:
     - "eco give %player% 10000"
      - "give %player% minecraft:emerald 10"
      - "tellraw %player% {\"text\ ":\" You’re on a roll! Take these 10x Emeralds!\ ",\"color\ ":\"aqua\ "}"

  500000
:
    message
: "&a Achievement Unlocked: &eRecycler VII &7(500,000 items recycled)"
    command
:
     - "eco give %player% 15000"
      - "give %player% minecraft:diamond 5"
      - "tellraw %player% {\"text\ ":\" Shiny reward incoming ... enjoy 5x Diamonds!\ ",\"color\ ":\"aqua\ "}"

  1000000
:
    message
: "&a Achievement Unlocked: &eRecycler VIII &7(1,000,000 items recycled)"
    command
:
     - "eco give %player% 20000"
      - "give %player% minecraft:nether_star 1"
      - "tellraw %player% {\"text\ ":\"⭐ You’re glowing! I slipped you 1x Nether Star!\ ",\"color\ ":\"gold\ "}"

  2500000
:
    message
: "&a Achievement Unlocked: &eRecycler IX &7(2,500,000 items recycled)"
    command
:
     - "eco give %player% 30000"
      - "give %player% minecraft:emerald_block 5"
      - "tellraw %player% {\"text\ ":\" That’s crazy recycling! Take 5x Emerald Blocks!\ ",\"color\ ":\"aqua\ "}"

  5000000
:
    message
: "&a Achievement Unlocked: &eRecycler X &7(5,000,000 items recycled)"
    command
:
     - "eco give %player% 50000"
      - "give %player% minecraft:diamond_block 5"
      - "tellraw %player% {\"text\ ":\" You earned it! 5x Diamond Blocks slipped your way!\ ",\"color\ ":\"aqua\ "}"

  10000000
:
    message
: "&a Achievement Unlocked: &eRecycler XI &7(10,000,000 items recycled)"
    command
:
     - "eco give %player% 100000"
      - "give %player% minecraft:netherite_ingot 1"
      - "tellraw %player% {\"text\ ":\" Rare find! You got 1x Netherite Ingot!\ ",\"color\ ":\"dark_purple\ "}"

  25000000
:
    message
: "&a Achievement Unlocked: &eRecycler XII &7(25,000,000 items recycled)"
    command
:
     - "eco give %player% 150000"
      - "give %player% minecraft:netherite_ingot 2"
      - "tellraw %player% {\"text\ ":\" Even hotter! I handed you 2x Netherite Ingots!\ ",\"color\ ":\"dark_purple\ "}"

  50000000
:
    message
: "&a Achievement Unlocked: &eRecycler XIII &7(50,000,000 items recycled)"
    command
:
     - "eco give %player% 250000"
      - "give %player% minecraft:netherite_block 1"
      - "tellraw %player% {\"text\ ":\" Pure power! You received 1x Netherite Block!\ ",\"color\ ":\"dark_purple\ "}"

  75000000
:
    message
: "&a Achievement Unlocked: &eRecycler XIV &7(75,000,000 items recycled)"
    command
:
     - "eco give %player% 400000"
      - "give %player% minecraft:diamond_block 10"
      - "tellraw %player% {\"text\ ":\" Stacked! You got 10x Diamond Blocks slipped into your pocket!\ ",\"color\ ":\"aqua\ "}"

  100000000
:
    message
: "&a Achievement Unlocked: &eRecycler XV &7(100,000,000 items recycled)"
    command
:
     - "eco give %player% 1000000"
      - "give %player% minecraft:netherite_block 3"
      - "give %player% minecraft:beacon 1"
      - "tellraw %player% {\"text\ ":\" You’re the ULTIMATE Recycler! I handed you 3x Netherite Blocks + 1x Beacon!\ ",\"color\ ":\"gold\ "}"



# =====================================================
# STORAGE METHOD
# =====================================================
# Where stats are saved.
# Options:
#   flatfile → saves to stats.yml (small servers)
#   sqlite   → saves to trashcan.db (better for large servers / networks)
storage-method
: flatfile


# =====================================================
# EXPIRATION NOTIFICATIONS
# =====================================================
# If true, players will be notified when their oldest trash entry expires.
notify-on-expire
: true


# =====================================================
# TRACK ACHIEVEMENTS
# =====================================================
# If true, unlocked achievements are saved permanently (achievements.yml or DB).
# If false, achievements reset when the server restarts.
track-achievements
: true


# =====================================================
# DEFAULT MESSAGES
# =====================================================
# These are the fallback messages players will see.
# They can also be overridden per-language in /lang/.
messages
:
  open-message
: "<yellow>♻ Opened your trash bin!"
  destroyed-message
: "<red>❌ Items trashed and recorded."
  restored
: "<green>✅ Items restored successfully!"
  no-trash
: "<gray>No trash found to restore."
  expired
: "<dark_red>⚠ Your trashed items have expired."
  cooldown-message
: "<red>⌛ You must wait %seconds%s before using restore again."


# =====================================================
# PLACEHOLDERAPI INTEGRATION
# =====================================================
# Requires: PlaceholderAPI
# Download: https://www.spigotmc.org/resources/placeholderapi.6245/
#
# Available placeholders:
#   %trash_total%        → Player’s total recycled items
#   %trash_achievements% → Number of unlocked achievements
#   %trash_rank%         → Player’s rank on the leaderboard
#   %trash_lb_1% … %trash_lb_10% → Leaderboard entries (name - total)
#
# (Optional) Install Player expansion for %player_name%:
#   /papi ecloud download Player
#   /papi reload
# =====================================================


# =====================================================
# DECENTHOLOGRAMS EXAMPLES
# =====================================================
# Requires: DecentHolograms
# Download: https://www.spigotmc.org/resources/decentholograms-1-8-1-21-8-papi-support-no-dependencies.96927/
#
# Example 1: Personal Recycling Stats
#   /dh create trash_stats
#   /dh create trash_stats2 "&7&m-----------------------"
#   /dh create trash_stats3 "&a&l♻ Recycling Stats ♻"
#   /dh createtrash_stats4 "&7&m-----------------------"
#   /dh create trash_stats5 "&ePlayer: &f%player_name%"
#   /dh create trash_stats6 "&eTotal Trashed: &f%trash_total%"
#   /dh create trash_stats7 "&eAchievements: &f%trash_achievements%"
#   /dh create trash_stats8 "&eRank: &f%trash_rank%"
#
# Example 2: Top Recycler Leaderboard
#   /dh create trash_leaderboard
#   /dh create trash_leaderboard2 "&6&lTop Recyclers"
#   /dh create trash_leaderboard3 "&71. %trash_lb_1%"
#   /dh create trash_leaderboard4 "&72. %trash_lb_2%"
#   /dh create trash_leaderboard5 "&73. %trash_lb_3%"
#   /dh create trash_leaderboard6 "&74. %trash_lb_4%"
#   /dh create trash_leaderboard7 "&75. %trash_lb_5%"
# =====================================================
 
LANGUAGE FILES:

Code (YAML):
# English Language File for TrashCan
# ==================================
# NOTE:
#   GUI Titles (Trash GUI, Restore GUI, Leaderboard) are now configured in config.yml
#   using MiniMessage formatting (supports gradients, bold, etc.)
#
# Example in config.yml:
#   title: "<gradient:#00FF00:#00E5FF:#FF69B4>♻ Trash Bin ♻</gradient>"
#   restore-title: "<gold>Restore Trash"
#   leaderboard-title: "<dark_green>♻ Recycling Leaderboard ♻"
messages
:
    open-message
: "&7Opened your personal trash can."
    destroyed-message
: "&cItems destroyed forever!"
    no-trash
: "&cYou have no trashed items to restore."
    restored
: "&aRestored items from trash session."
    cooldown-message
: "&cYou must wait %seconds%s before using restore again."
    expires-in
: "⏳ Expires in: %hours%h %minutes%m %seconds%s"
    expired
: "⛔ Trash Expired - will be deleted within %minutes%m"
    achievement-unlocked
: "&a Achievement Unlocked: %message%"
    leaderboard-entry
: "&7%rank%. &a%player% &7- &b%total% items"
    leaderboard-empty
: "&cNo recycling data yet."
    notify-expire
: "&cYour oldest trash entry has expired and was cleared."
 
Code (YAML):
# Deutsche Sprachdatei für TrashCan
# =================================
# HINWEIS:
#   GUI-Titel (Mülleimer, Wiederherstellen, Bestenliste) befinden sich in config.yml
#   und verwenden MiniMessage-Formatierung.
messages
:
    open-message
: "&7Deinen persönlichen Mülleimer geöffnet."
    destroyed-message
: "&cGegenstände für immer zerstört!"
    no-trash
: "&cDu hast keine gelöschten Gegenstände zum Wiederherstellen."
    restored
: "&aGegenstände aus Mülleimer-Sitzung wiederhergestellt."
    cooldown-message
: "&cDu musst %seconds%s warten, bevor du erneut wiederherstellen kannst."
    expires-in
: "⏳ Läuft ab in: %hours%h %minutes%m %seconds%s"
    expired
: "⛔ Papierkorb abgelaufen - wird in %minutes%m gelöscht"
    achievement-unlocked
: "&a Erfolg freigeschaltet: %message%"
    leaderboard-entry
: "&7%rank%. &a%player% &7- &b%total% Gegenstände"
    leaderboard-empty
: "&cNoch keine Recycling-Daten."
    notify-expire
: "&cDein ältester Mülleimer-Eintrag ist abgelaufen und wurde gelöscht."
 

Code (YAML):
# Archivo de idioma en Español para TrashCan
# ==========================================
# NOTA:
#   Los títulos de las GUIs (Basura, Restaurar, Clasificación) están en config.yml
#   y usan formato MiniMessage (gradientes, negrita, etc.)
messages
:
    open-message
: "&7Abriste tu papelera personal."
    destroyed-message
: "&c¡Objetos destruidos para siempre!"
    no-trash
: "&cNo tienes objetos en la papelera para restaurar."
    restored
: "&aObjetos restaurados de la sesión de basura ."
    cooldown-message
: "&cDebes esperar %seconds%s antes de usar restaurar de nuevo."
    expires-in
: "⏳ Expira en: %hours%h %minutes%m %seconds%s"
    expired
: "⛔ Papelera expirada - se eliminará en %minutes%m"
    achievement-unlocked
: "&a Logro desbloqueado: %message%"
    leaderboard-entry
: "&7%rank%. &a%player% &7- &b%total% objetos"
    leaderboard-empty
: "&cAún no hay datos de reciclaje."
    notify-expire
: "&cTu entrada de basura más antigua ha expirado y fue eliminada."
 

Code (YAML):
# Fichier de langue Français - TrashCan
# =====================================
# NOTE :
#   Les titres des GUIs sont dans config.yml
#   en utilisant le format MiniMessage.
messages
:
    open-message
: "&7Vous avez ouvert votre poubelle personnelle."
    destroyed-message
: "&cObjets détruits pour toujours !"
    no-trash
: "&cVous n’avez aucun objet à restaurer."
    restored
: "&aObjets restaurés depuis la session de poubelle."
    cooldown-message
: "&cVous devez attendre %seconds%s avant de restaurer à nouveau."
    expires-in
: "⏳ Expire dans : %hours%h %minutes%m %seconds%s"
    expired
: "⛔ Corbeille expirée - sera supprimée dans %minutes%m"
    achievement-unlocked
: "&a Succès débloqué : %message%"
    leaderboard-entry
: "&7%rank%. &a%player% &7- &b%total% objets"
    leaderboard-empty
: "&cAucune donnée de recyclage pour l’instant."
    notify-expire
: "&cVotre plus ancienne entrée de poubelle a expiré et a été supprimée."
 

Code (YAML):
# 日本語言語ファイル - TrashCan
# ==============================
# 注意:
#   GUIタイトルは config.yml で設定
#   MiniMessage フォーマット対応 (グラデーション, 太字など)
messages
:
    open-message
: "&7ゴミ箱を開きました。"
    destroyed-message
: "&cアイテムが完全に破棄されました!"
    no-trash
: "&c復元できるゴミはありません。"
    restored
: "&aゴミ箱セッション からアイテムを復元しました。"
    cooldown-message
: "&c復元を再利用するには %seconds% 秒待つ必要があります。"
    expires-in
: "⏳ 有効期限: %hours%時間 %minutes%分 %seconds%秒"
    expired
: "⛔ ゴミ箱の期限切れ - %minutes%m以内に削除されます"
    achievement-unlocked
: "&a 実績解除: %message%"
    leaderboard-entry
: "&7%rank%. &a%player% &7- &b%total% 個"
    leaderboard-empty
: "&cリサイクルデータがまだありません。"
    notify-expire
: "&c最も古いゴミの記録が期限切れになり削除されました。"
 

Code (YAML):
# Arquivo de idioma Português - TrashCan
# ======================================
# NOTA:
#   Os títulos das GUIs estão no config.yml
#   usando formatação MiniMessage.
messages
:
    open-message
: "&7Você abriu sua lixeira pessoal."
    destroyed-message
: "&cItens destruídos para sempre!"
    no-trash
: "&cVocê não tem itens na lixeira para restaurar."
    restored
: "&aItens restaurados da sessão de lixeira."
    cooldown-message
: "&cVocê deve esperar %seconds%s antes de usar restaurar novamente."
    expires-in
: "⏳ Expira em: %hours%h %minutes%m %seconds%s"
    expired
: "⛔ Lixeira expirada - será excluída em %minutes%m"
    achievement-unlocked
: "&a Conquista desbloqueada: %message%"
    leaderboard-entry
: "&7%rank%. &a%player% &7- &b%total% itens"
    leaderboard-empty
: "&cAinda não há dados de reciclagem."
    notify-expire
: "&cSua entrada de lixeira mais antiga expirou e foi removida."
 

Code (YAML):
# Русский языковой файл для TrashCan
# ==================================
# ВНИМАНИЕ:
#   Заголовки GUI (Корзина, Восстановить, Таблица лидеров) находятся в config.yml
#   и используют MiniMessage.
messages
:
    open-message
: "&7Вы открыли свою корзину."
    destroyed-message
: "&cПредметы уничтожены навсегда!"
    no-trash
: "&cУ вас нет предметов в корзине для восстановления."
    restored
: "&aПредметы восстановлены из сеанса корзины."
    cooldown-message
: "&cНужно подождать %seconds% сек. перед повторным восстановлением."
    expires-in
: "⏳ Истекает через: %hours%ч %minutes%м %seconds%с"
    expired
: "⛔ Корзина устарела - будет удалена через %minutes%m"
    achievement-unlocked
: "&a Достижение получено: %message%"
    leaderboard-entry
: "&7%rank%. &a%player% &7- &b%total% предметов"
    leaderboard-empty
: "&cНет данных о переработке."
    notify-expire
: "&cСамая старая запись корзины истекла и была удалена."
 

Code (YAML):
# 中文语言文件 (简体) - TrashCan
# ===============================
# 注意:
#   界面标题在 config.yml 中配置
#   使用 MiniMessage 格式 (渐变, 粗体 等)
messages
:
    open-message
: "&7打开了你的垃圾桶。"
    destroyed-message
: "&c物品已永久销毁!"
    no-trash
: "&c没有可恢复的垃圾物品。"
    restored
: "&a已从垃圾会话 恢复物品。"
    cooldown-message
: "&c需要等待 %seconds% 秒后才能再次使用恢复功能。"
    expires-in
: "⏳ 剩余时间: %hours%小时 %minutes%分 %seconds%秒"
    expired
: "⛔ 垃圾桶已过期 - 将在 %minutes%m 内删除"
    achievement-unlocked
: "&a 成就解锁: %message%"
    leaderboard-entry
: "&7%rank%. &a%player% &7- &b%total% 个物品"
    leaderboard-empty
: "&c暂无回收数据。"
    notify-expire
: "&c你最早的垃圾记录已过期并被清除。"
 
Resource Information
Author:
----------
Total Downloads: 10
First Release: Sep 24, 2025
Last Update: Sep 25, 2025
Category: ---------------
All-Time Rating:
0 ratings
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings