Description
Note: The latest version of this plugin works with every UUID-compatible CraftBukkit or Spigot version!
CSN (ChestShop Notifier) is a plugin that records ChestShop transactions to a SQLite or MySQL database. When a shop owner logs onto the server, they will be presented with an option to view sales from when they were offline.
Installation Instructions
Commands
- /csn help → Shows available commands
- /csn history [<page>] → Shows unread sale history from database
- /csn history [<username> [<page>]] → Shows sale history of another player
- /csn clear [<usernamse>] → Marks all sale history as read for your user
- /csn cleandatabase → Remove database entries. Parameters:
--older-than, -o days→ Removes entries older than days--user, -user username/uuid→ Removes entries from a single user only--read-only, -r→ Removes only read entries, default behaviour--all, -a→ Removes all entries - /csn upload → Forces the plugin to upload all data to the database (in v1.1 and higher this should be only used after database connection problems!)
- /csn reload → Reloads configuration and connects to database using new config
- /csn convert → Converts the database table csn to UUIDs. (table csn gets converted in csnUUID and the username table renamed to csnOLD)
Permissions
- csn.user → Allows user to receive notifications when they log in, and access to /csn history.
- csn.admin → Super permission node. Access to all commands. (especially upload, reload and convert)
For all permissions take a look at the plugin.yml
Config
# Chest Shop Notifier<br />
logging:
admin-shop: true
notifications:
notify-on-user-join: true
delay-seconds: 5
history:
max-rows: 10
query-limit: 10000
debugging:
verbose: true
database:
# Possible types: SQLite and MySQL
type: sqlite
dbname: 'database'
# MySQL specific settings
host: 'localhost'
port: 3306
username: 'dbadmin'
password: '123456'
ssl: false
clean-on-startup:
enabled: false
parameters: "--older-than 30 --all"
messages:
sales: "&c ** You made &f{sales} sales&c since you last checked."
history-cmd: "&c ** To see them, type &f/csn history&c."
history-caption: "&dChestShop Notifier // &7Latest Commissions"
history-empty: "&cNothing to show."
history-bought: "&a+ &9{player} &7bought &a{count}x&9{item} &f{timeago}&7 ago &a(+{money})"
history-bought-read: "&a+ &7{player} &8bought &a{count}x&7{item} &7{timeago}&8 ago &a(+{money})"
history-sold: "&c- &9{player} &7sold you &c{count}x&9{item} &f{timeago}&7 ago &c(-{money})"
history-sold-read: "&c- &7{player} &8sold you &c{count}x&7{item} &7{timeago}&8 ago &c(-{money})"
history-footer-page: "&c- Page &f{current}&c/&f{pages}&6 - &7/csn history <page>"
history-footer-clear: "&f- &cTo remove all old entries, type /csn clear"
history-clear: "&cHistory cleared! New sales will continue to be recorded."
history-marked-read: "&cUnread entries marked read!"
history-others-not-allowed: "&cYou are not allowed to check the history of {username}"
# new translations
reload-cmd: "&dChestShop Notifier // &7Reloading, please wait..."
reload-success: "&aReloaded!"
reload-database-success: "&aDatabase connected!"
reload-database-fail: "&cDatabase failed to connect!"
user-not-found: "&cThe user '{player}' was not found."
page-not-found: "&e{page} &cis not a valid page number input for /csn history <page>!"
page-not-found-other: "&e{page} &cis not a valid page number input for /csn history <user> <page>!"
database-error: "&cInvalid database connection. Please edit config and /csn reload."
database-error-oncommand: "&cDatabase error while executing this command!"
database-cleaned: "&cCleaned database from {amount} entries!"
database-uploaded: "&cBatch executed!"
database-convert: "&cAttempting to convert database..."
database-convert-fail: "&cError while trying to convert! Maybe you don't have a 'csn' table?"
database-converted: "&cDatabase converted!"
unrecognized-command: "&cCommand not recognized. Type /csn help for help."
missing-arguments: "&cMissing parameter arguments: {usage}"
invalid-number: "&c{typo} is not a valid number input for {usage}!"
invalid-username: "&c{typo} is not a valid username/uuid input for {usage}!"
missing-permission: "&cYou don't have the permission {permission}!"
help:
header: "&dChestShop Notifier // &7Commands"
help: "&7 /csn &dhelp &f- Plugin usage & commands"
history: "&7 /csn &dhistory [<page>]&f- View sales"
clear: "&7 /csn &dclear &f- Remove read sales"
history-others: "&7 /csn &dhistory <username> [<page>]&f- View sales of another account"
clear-others: "&7 /csn &dclear <username>&f- Remove read sales of another account"
cleandatabase: "&7 /csn &ccleandatabase &f- Remove database entries. Parameters:"
cleandatabase-older-than: "&c --older-than, -o <days> &f- Removes entries older than <days>"
cleandatabase-user: "&c --user, -user <username/uuid> &f- Removes entries from a single user only"
cleandatabase-read-only: "&c --read-only, -r &f- Removes only read entries, default behaviour"
cleandatabase-all: "&c --all, -a &f- Removes all entries"
upload: "&7 /csn &cupload &f- Force update databases"
convert: "&7 /csn &cconvert &f- Convert database to UUIDs"
reload: "&7 /csn &creload &f- Reload configuration"
Requirements
- ChestShop installed and running.
- Optionally: MySQL server if you want to store the information in a real database/share it between servers.
Planned Features
UUID supportdone in v1.1.2Look up the sales of offline playersdone in v1.1.2Ignore ChestShop's Admin Shopdone in v1.1.2History paginationdone in v1.2SQLite supportdone in v1.3.3- Auto updater & version checker
- Translation system (partially done in v1.1.2, you can set your own messages in the config)
For more features and suggestion use the GitHub issues page!
Source Code & Dev Builds
- You can view the source code online at:
https://github.com/ChestShop-authors/ChestShopNotifier - Development builds are available on the Minebench.de Jenkins build server:
http://ci.minebench.de/job/ChestShopNotifier/
Donations
Feel free to comment with your ideas, bugs, or requests, ideally by opening an issue on the github repo.
If you really want to monetarily then click here.
Demonstration




