GameBox | Inventory games collection icon

GameBox | Inventory games collection -----

Several inventory games in one GUI -*- 13 games! -*-




Resolves an issue with the MySQL setup ( #87)
----------, May 9, 2021

This small update removes a previously hardcoded section of the lores of shop items. The removed portions were added to the example lores instead.

the user now has full control of the item lores ;)
----------, Feb 11, 2021

This version enables CookieClicker version 3.1.0, which adds rewards :)
----------, Feb 9, 2021

Now 1.16.4 compatible :cool:
----------, Nov 18, 2020

This update adds support for MC 1.16.1 - 1.16.3
----------, Sep 11, 2020

3.1.0

  • Add
    Code (Text):
    /gba removesaves
    commands
  • Improve
    Code (Text):
    /gba resetstats
    commands
  • fix the Spanish language file
  • add new messages to the Spanish language file (#84)
  • Print info messages when custom language files fail to load
  • Improve error handling when loading modules from jar files
----------, Jun 2, 2020

Circumvent a bug in Bukkit 1.14 (for more info see: TabooLib/TabooLib#41)
----------, Apr 19, 2020

GameBox v3

  • GameBox 3 supports (only) MC 1.14+
  • games can now be installed from inside GameBox.
    • They are not separate plugins anymore but can be automatically downloaded and installed.
    • Use commands or the admin module GUI to install/update/remove modules (modules are now what previously game-plugins were)
  • players only see games in the menu that they have the 'gamebox.play' permission for
  • games now always have the same order in the menu
  • renamed language files to standard locales (new default file is en_GB)
  • Loading database async (#67)

Updating from version 2 (keep in mind that you will also need to update to MC 1.14 or 1.15):
  1. Stop your server
  2. Replace GameBox.jar with the new version
  3. Delete all game jars
  4. Give yourself the permission 'gamebox.admin.modules'
  5. Start your server
  6. Open Minecraft, run '/gb' and click on the chest icon in the middle of the bottom row (if you can't see it you didn't follow point 4 ;))
  7. Rightclick the modules in the inventory to install them

Alternatively, you can install the modules from your server terminal. Just run 'gba modules list' and follow the instructions.


All config/data files are backwards compatible! Meaning you will not lose your player records or custom messages!
----------, Apr 19, 2020

The last update introduced a bug in CookieClicker which is now fixed.

Enjoy :)
----------, Jun 30, 2019

  • cookieclicker -> v 2.2.2
    • implement lucky cookies
    • boost system using scheduled events with CalendarEvents
    • idle time in config. If the player does no action during x seconds, the game is paused.
  • log loading of flatfile db (#67)
  • only save players in the flatfile db if their settings were changed (#65)
  • prevent exception on disable due to ACF (#71)
  • remove old placeholder hook and adapt to new expansion system
  • some cleanup of log messages
----------, Jun 30, 2019

  • An error was fixed that prohibited token manipulation for offline players
  • All commands with options now have custom command completion
  • Link to new GitHub wiki in the token shop file
    • I tried to give a cleaner and better explanation for customizing the token shop
    • New explained examples on the Wiki
----------, Nov 17, 2018


  • GameBox is now compatible with the current version of 1.13.1
  • [1.13] Fixed glow effects not beeing removed from items
  • Fixed items beeing picked up when in a game, although a different plugin canceled the event
----------, Aug 27, 2018

  • CookieClicker -> version 2.2.1
    • Add command to manipulate the number of cookies that player have
      • /gba game cc give <player> [game type] <count (int)>
      • Where game type is the name of the save that you want to change (only default game: "weekly")
      • The command completion will help you
  • cancel game invitations when the other player is in a disabled world
  • make skull display names in top lists configurable
  • fix ItemStackUtility throwing error on invalid materials, when a data value is given
  • hide leftover debug messages
  • fix high number names loaded from langauge file
----------, Aug 5, 2018

Minecraft 1.13 update
  • GameBox is now compatible with the 1.13 aquatic update (y)
  • Improved some default colors and messages with help from @TheIntelloBox
  • Added the high number names (atm only used in cookieclicker) to the langauge files
  • Cleaned up a bit internally

Updating to 1.13​

  • Get the newest versions of the games and GameBox
  • For all games except MP-GameBundle and GemCrush you have to get the new configuration files (best done by deleting their folders in the games folder but carefull: make copies before and make sure you keep old savefiles e.g. saves.yml for cookieclicker!), or update the used materials in the configs yourself. You can use this site to replace all the material IDs with their minecraft names.
----------, Jul 28, 2018

  • MatchIt
    • fixed uncovered tiles getting covered again after being matched
    • fix players being able to take ghost items from the inventory when closing it at the right moment
  • CookieClicker
    • remove leftover debug messages from the last update
    • fix players being able to take ghost items from the inventory when closing it at the right moment
----------, Jul 15, 2018

Minor improvement and fix for Sudoku and ThreeInARow.
  • Supply a utility function to solve problems with puzzle loading in Sudoku and ThreeInARow games (see issue). Please also update the plugin logicpuzzles to the newest version .
  • Using green record as icon for "sound on" (thanks @TheIntelloBox )
----------, Jul 13, 2018

Now it really works on Java 9+ ;)
----------, Jun 9, 2018

This update removes previous problems with running GameBox in a Java 9+ environment ( issue on GitHub).
----------, Jun 9, 2018

  • Fix upgrades not being displayed
  • Fix upgrade ordering
  • Fix cutof of upgrades when more then 9 are unlocked
  • Fix top list updates for CookieClicker
----------, May 10, 2018

The last update introduced an error to CookieClicker when using a file database. This is fixed now.
----------, May 5, 2018

BungeeCord rocks :cool:

GameBox now syncs top lists and CookieClicker saves between servers in a BungeeCord-Network. Prerequisites are that all of these servers have MySQL enabled, are connected to the same database and have the setting mysql.bungeeMode set to 'true'. GameBox is not required to run on the BungeeCord instance itself!

This update includes many changes in top list behaviour. For example, unknown players are displayed in top lists now, since some servers in a network might not know a player, that made a score on another server. CookieClicker now includes MySQL support, which is configured automatically like the GameBox MySQL connection.
----------, May 2, 2018

GameBox v2
(short upgrade tutorial at the bottom)
Bunch of server-side changes:
  • All game folders are inside the GameBox folder. No more cluttering of your plugin folder.
  • MySQL support!
  • Improved language system. There is no more spam when messages are missing, only a short note on startup, that refers to commands to see the missing message keys (/gba language)
  • More than one game can be in one jar
  • Three games are included in the GameBox jar by default: CookieClicker, Connect 4 and MatchIt (new game)
  • Improved permission system
    • There is more than one admin permission now. You can give all admin permissions with gamebox.admin.*
  • Improved Error handling
  • The commands can be configured in the configuration file. The defaults are still gamebox (or games, gb) and gameboxadmin (or
    gamesadmin, gba)
Ingame changes:
  • New games ;)
    • "Match It" and "Three In A Row"
  • New Top list design and improved loading times
  • New admin commands (for example /gba settings)
  • Improved default game modes for all games
  • Enable/Disable games while the server is running! Can be done in 'games.yml' or via /gba settings
  • Configurable slots for the game buttons in 'games.yml' (later also via /gba settings)
  • Configurable subcommands for the games in 'games.yml' (later also via /gba settings)
General project changes:
  • Code improvements
  • Cleaner repository
  • GPL - 3.0 :cool:
  • Builds are available on repo.nikl.me via artifactory
  • Reduced boilerplate for new games. This makes game development much faster.

Upgrading from GameBox v1:
  1. Stop your server
  2. Delete all your old game jars!
  3. Download GameBox and any of the updated games :)
  4. Put them all into your plugin folder and start your server
  5. Configure whatever you want and run /gba reload afterwards
If you want to keep your old configurations, move your old config.yml files to the corresponding game folders in 'gamebox/games/' and reload GameBox. This can also be done with the old cookieclicker saves (move 'saves.yml' file)

You can convert your data.yml file to MySQL
  1. Activate MySQL and reload the plugin.
  2. Run /gba filetomysql (permission: gamebox.admin.database)
  3. Check the output in the console. The whole process runns async and can take some time.
The game ID for 2048 has been changed! 2048 -> twoofoureight
----------, Mar 31, 2018

  • Fixed "Unknown translation key" issue
  • Fixed too long titles in 1.8 throwing netty DecoderExceptions (@FireFlies )
  • Shortened the high number names (atm only used by CookieClicker)
    • e.g. million -> M
    • the longer names are still there and with GB v2 you will be able to chose which ones to use
----------, Dec 2, 2017

  • Fixed wrong language on sound toggle until clicking it (@TheIntelloBox )
  • Updated and improved the comments in the configuration file
    • Also removed the MySQL section for this release, since it caused confusion with some users
  • Fixed NPE when opening top lists after player data was deleted (@FireFlies )
  • Removed some unnecessary warnings about invalid configurations (@TheIntelloBox )

For any comments or suggestions for GameBox version 2 please refer to the discussion
----------, Nov 12, 2017

Since some servers can handle long inventory titles even though they are 1.8 I improved the way I set the flag whether to check inventory title lengths or not. Together with the newest game updates, this should only check (and shorten) inventory title lengths if it is really nessesary.

All problems with 1.8 coming from inventory titles should be resolved now.
----------, Sep 21, 2017

  • Updated chinese language file (thanks @AndyYu)
  • Items for the hotbar buttons (exit, back to menu..) are now configurable in the config file.
  • Added a check for players still beeing in a GUI or game on PlayerQuitEvent (issue 12)
----------, Sep 5, 2017

  • There is a new option in the config, to keep your armor on when in a GUI or a game (closes #5, @Zefferis).
    • Works with shields, too.
    • Path: settings.keepArmor
    • Default: false
  • Fixed last possible cause of the 1.8 error 'Title cannot be longer than 32 characters' in GameBox.
    • The games can also cause this error. There will be updates for the games fixing this.
    • Too long titles are replaced by "Title is too long!". The server owner then has to use a language file to shorten the inventory titles. This fix is just to prevent the error.
----------, Aug 24, 2017

  • The biggest changes have been made in the repository. GameBox is now a maven project, thus making contributing way easier ;)
  • Fixed cutoff of numbers during formatting at 9.223 quintillion (max value of long)
    • For cookieclicker to use only the fixed method, please use v 1.0.0+
  • Removed '.' from number formatting if three trailing zeros where removed
  • Updated bStats to 1.2
----------, Aug 19, 2017

  • There is a new supported Top list type, which renders the score as "xxx.xxx billion/million...". This is way better to compare for very high numbers (Cookie Clicker)
  • Fixed the cut-off of scores at the highest integer.
  • For 1.8 the plugin will now detect too long inventory titles for most of the GUIs. The title will say "The title is too long" to inform the players/owner that the titles have to be shortened.
  • Moved a Utility class from CookieClicker to GameBox (the newest version of Cookie Clicker will depend on this new GameBox version)
----------, Jul 21, 2017

  • precautionary added gameIDs and names to come
    • Cookie Clicker is in making ;)
    • Planing on putting a few very small games into one plugin (rock-paper-scissors, tick-tack-toe, heads or tails...)
  • updated spanish lang file (thanks @altrisi)
  • Sounds for GUI configurable in config (@TheIntelloBox )
    • guiSettings.standardSounds.successfulClick and
    • guiSettings.standardSounds.unsuccessfulClick
    • All possible sounds can be looked up in the Sounds class on GitHub.
    • The defaults are CLICK and VILLAGER_NO
  • some internal restructuring
----------, Jul 8, 2017

  • There was Bukkit-API code left in the async chat event. Thanks to @RoboMWM for reporting the issue in the discussion.
  • I cleaned up all my imports
  • More documentation in the default configuration file for the left/entering GameBox listeners
----------, Jun 19, 2017

This update includes important fixes concerning the token shop!
  • Fixed wrong drops on playerdeath when the player was in the token shop when dying
    • Also fixes, that a player was not in GameBox while he was in the shop.
  • Fixed that players could pick up items while they where in the shop. The items would disappear when leaving GameBox!
  • Added plugin Metrics with bStats. You can take a look at the GameBox Metrics here.
    • Metrics can be opt out in the config although I'd like to ask you not to do so. I would like to know how many people are using which GameBox games. This makes it easier to decide on what to work in my limited free time.
  • Added option to not close GameBox when the player takes damage (@TheIntelloBox ). This closes ConnectFour issue #1.
  • Added events that get called before players enter GameBox and after they left it.
    • You can either listen for these events in your own plugin and run code, or:
    • ... use the configuration file which supports a list of commands for each listener. Plugin intern Listeners will run these commands. You can find them in the new configuration section 'listeners'. (@iChronicleHD )
Lately I've been working a lot on the documentation of GameBox. I'll be soon adding more info about how to write your own games and how to customize the shop and the permissions.
----------, Jun 11, 2017

Compatible with 1.12 now :)
There shouldn't be any changes in functionality​

  • Added NMS for minecraft 1.12
  • Made rest of the code compatible with Bukkit 1.12
----------, Jun 8, 2017

Note: All games need updates for some of the following features to work. Old game versions will still run and work like they are supposed to, but the new GameBox features may not work for them. I will do my best to update all games asap. GameBox warns in the console on load about outdated games.
  • Added a reload command to the admin commands (@AndyYu )
    • /gba reload
    • normal admin permission "gamebox.admin"
    • Reloads all registered games that are compatible AND GameBox itself. I will update the games shortly.
    • This command will not reload the whole jar, hence it can not be used to update the plugin without stopping the server. It only reloads all language files, configuration files and game settings.
  • Improved handling of players changing between two worlds
    • Fixed NPE when a player comes back from a disabled world and then updates his token count (@TheIntelloBox )
  • Added help message for admin commands
  • Cleanup
    • cleaned up shop system
    • cleaned up GUI system
    • cleaned up Settings system and main class
    • removed a click action and simplified action processing
----------, Jun 6, 2017

  • The tokenshop got many new features and possibilities. You should generate the new default tokenShop.yml to take a look at some example shop items.
    • Run commands when player buys something
    • Restrictions on shop items
      • require the player to have a certain list of permissions
      • require the player to NOT have a certain list of permissions
    • A shop item does not necessarily have to sell an item. You can create a shop item that only runs a command and does nothing else.
    • Separation between the item sold and the item displayed
    • Full customization of the item sold
      • lore, display name and glow
    • Option for commands that manipulate the inventory. Set this to true if the command does anything with the player inventory (example: /give). There is an example in the new default tokenShop.yml
  • There is an option in the new configuration file where you can define slots in the hot bar in which the items of the player inventory will be kept when entering GUIs and games. This should only be used to ensure compatibility with plugins that require a player to have certain items in their inventory (@thief_a )
    • guiSettings.keepItemsSlots
    • it's an integer list (possible values from 0 to 8 not used for navigation buttons)
  • Improved internal GUI system
  • Added hook into PlaceholderAPI
    • %gamebox_game_name%
      • name of the game the player is currently playing. There is an example usage on the plugins page.
    • For more placeholders please write in the discussion
----------, May 26, 2017

I know that the complicated invitation system is one of the biggest flaws of GameBox. Here comes the first feature to improve it:
  • Made the invitation system easier by adding a clickable message that gets send to the invited player. The message will open the GUI which contains the invite.
    • To make that (JSON) message fully configurable was quite some work. There are more then a dozen new messages in the language files!
    • I am not using the classes for ClickEvent/HoverEvent or anything else from the net.md_5.bungee package, thus the plugin is still compatible with Craftbukkit
    • The clickable message can be opt out in the configuration file (default is true). Path: "settings.invitations.clickMessage.enabled"
  • Up until this version it was possible for players to pick up items while they were in game and the item would show up in the game/GUI. The main problem was, that the item would be deleted as soon as the player closed the game/GUI and his old inventory was restored.
    • I did not want to disable picking up of items completely while players are in a GUI or game. With my fix, picking up is still possible, but the item will not show up in the GUI. It will be added to the old inventory and will be restored. If there is no space left in the players inventory, picking up is disabled.
    • Fun fact: noone ever told me about this problem and I never experienced it. The idea to test it came to me while I was sleeping (honestly... GameBox is stealing my dreams now).
  • Improvements in the default config
    • I doubled the time an invitation is valid for
    • Added two short comments describing the timing options
  • Corrected german language file. It's my mother tongue... but my spelling is not perfect ;)

Spoiler: New game coming soon!
----------, May 18, 2017

  • A few seconds after startup the plugin will check for registered games and give a feedback in the console.
  • gamebox.admin now only gives access to the admin commands. To get all permissions use gamebox.*
  • Stripping color from invitation messages because of problems with chatcolor plugins (fixes @ericbarbwire problem)
  • The permissions gamebox.gamegui.(*/gameID) now work with shortcut commands
  • Added API
    • give/set/take token through API
    • get number of token for a player
  • Fixed wrong calculation of the admin command /gb taketoken for offline players
  • Changed internal code structure and deprecated methods/fields that were moved. Those methods will be removed in a few versions. In the next few days all games will be updated and will stop using deprecated methods.
    • I am centralizing code to GameBox in order to make updates more easy. This will also make the games smaller.
  • Fixed an annoying bug where the game though a player is in the main menu, while he is in a game menu. This happened to player A when player B started a multiplayer game with A while A was in the main menu. When A pressed 'Back to Game menu' no buttons would work because the plugin thought he is back in the main menu.
  • The permission gamebox.use now controlls /gamebox and all aliases AND the use of the hub item.
  • Play permissions were fixed for multiplayer games :)
  • New option to allow player to accept game invitations without having the actuall permission to play said game. The permission is still needed to send the invite!
    • This option was requested from @BumbleBeesBuster. It can be set to give permissions to multiplayer games as donor perks or rewards. If both players need the permission it would make these rewards worthless on small servers.
    • Path in config: settings.exceptInvitesWithoutPlayPermission
  • Improved lang_de.yml
  • Updated lang_zh-cn.yml (Thanks @AndyYu )

Have fun playing (A new game is on the way ;))
----------, May 12, 2017

The Command-Update
  • Admin commands with /gameboxadmin (/gba)
    • Permission: "gamebox.admin"
      • Also gives ALL other gamebox permissions
      • Default: OP
    • /gba [givetoken:taketoken:settoken] [player name] [count (integer)]
      • give/take/set token with the specified amount. Works with online and offline players as long as the player logged in on the server before.
    • /gba token [player name]
      • Returns the token count of the player. Works with online and offline players as long as the player logged in on the server before.
    • All token commands send the amount of token with a configurable message back to the sender (see lang files)
  • Command /gb info
    • Output now lists all installed games and lists the shortcut commands to the games
    • You can customize the output with new messages in the language files
    • Permission: "gamebox.info"
      • Default: true
  • For easier manual management the data file now stores the players names together with the UUIDs. So if you have to you can now manipulate stats and token based on player names.
  • Fixed problems with permissions "gamebox.gamegui.(*/gameID)"
  • Fixed some missing messages in the german language file.
----------, May 5, 2017

A minor fix concerning problems on Player death.

  • The game or the GUI you are in will now instantly close when you take damage. You should be at a safe place to play games ;)
    • Before there has been a problem with the server option 'keepInventory'. This is fixed now.
  • Thanks to @altrisi I added a spanish language file to the plugin
----------, Apr 30, 2017

Small update before leaving for the weekend :cool:
  • Added lost of stuff to the language file, so you can change it to rude messages ;)
    • The message players recieve when invited by someone
    • The display name and lore of the skulls representing an invite
    • The display name and lore of the 'invite someone' button
    • The display name and lore of the 'toggle sound' button in two versions: 'off' and 'on'
  • I restructured my NMS code so that I can use it from all my games. This leads to the great advantage of me (and you) just having to update ONE plugin when a new NMS version comes (not 5+). See all the game-updates for more info.
----------, Apr 21, 2017

Rather big update with new features and many improvements
  • Added fully customizable shop
    • Per default players cannot buy anything to make sure that you customize the shop first. To enable them to buy stuff you need to enable tokens AND set 'open' in the tokenShop.yml to true
    • Sort your items in categories
    • Every category can have an (almost) infinite number of items (until you run out of memory on your server :p)
    • Convenient Page system with back and forward buttons
    • Needed permission to open the shop: "gamebox.shop" (default is true)
  • Fixed and improved the hub mode
    • If you enable 'hubMode' and 'giveItemOnWorldJoin' the plugin will now check for an existing hub item, then check for an empty slot (it prefers the configured 'hubItemSlot')
  • Fixed Loopholes in the permission system
    • "gamebox.use", "gamebox.play.*" and all the "gamebox.play.%gameID%" should work properly now
  • Added the option to disable some or all of the navigation buttons (@jonisen22 ). Just set the slot of the button you want to disable to a negativ number and you're good to go.
  • Fixed that the slot of the exit-button in the Main menu was not changable before.
  • To exit the invitation input you now need to type anything with %. So from now on just typing '%' is sufficient.
  • Added several messages to the language file. Most are related to the shop.
  • Many small fixes and improvements which I forgot after doing them :rolleyes:
----------, Apr 14, 2017

Minor update
  • Removed all problems related to Craftbukkit
  • Prefix and name can now be configured in the language files
    • Key for prefix: prefix
    • Key for name: name
  • Fixed problem where hotbar clicks were not recognised when ingame

Started working on the token shop ;)
----------, Apr 13, 2017

I added a mandarin file to the included language files since @AndyYu is putting my plugins on MCBBS for me. Thanks for that :)
----------, Apr 12, 2017

To give you an alternative to rewarding your players with money, I am going to implement a token shop directly in the GameBox gui, where you will be able to sell permissions and Items.

I added a Token-button in the GUI to display the players number of Tokens and added the needed methods and messages for the games.
  • You can change the Token buttons display name in the language file
  • You can change the message the player will get when winning tokens in the language file
  • If you do not want to use this feature, opt out with "economy.tokens.enabled: false". This will prevent any winning of tokens and will also hide the token button in the gui.
Update your Games to 2.1.0 to start giving out tokens.


unimportant changes:
  • Cleaned up the Main class
  • Removed unused Classes
  • Continued working on MySQL support (Sorry, still disabled)
----------, Apr 11, 2017

Finally I feel comfortable enough to take this plugin out of Beta. That includes uploading all the GameBox-dependent versions of my inventorygames as the new versions.

  • Fixed a major bug, where the inventory would be completely cleared when a 2-player game fails to start.
  • Fixed logging of not restored inventory contents (already fixed in earlier Beta-version). The game will write to a log file if there are any unrestored inventory contents found when disabling. If a player is complaining, that he/she lost items: check the logs
  • Removing the drops on death when a player dies while in a gui or a game (otherwise he would drop the navigation items)
  • Added security checks for title messages. Sending default messages now, if the player is not inside a gui
  • Added security checks on Worldchange to a disabled world
  • Cleaned english language file
  • Translated the german language file from scratch
  • Standard message on receiving invitations (to be improved!)

Please report all bugs to me. I will work on fixing them asap.

Have fun playing :)
----------, Mar 12, 2017

  • I added support for top lists to Gemcrush
    • You can add top lists to your customized game type in the configuration file
  • Worked on the default descriptions and language files
  • Cleaned Battleship code
  • Started working on GameCrush reward system
----------, Mar 6, 2017

  • Ivitation GUIs have a configurable title now
  • In the lang files of the games you can set a list that will be used for displayname and lore of a help button in the games GUI
  • The hub Item can no longer be placed outside of the hub world
  • When using the hub item outside of the hub world a message will be send to the player
  • Default files are not saved anymore. To get it delete your current 'lang_en.yml' and reload
----------, Mar 5, 2017

GameBox should now work for all versions 1.8 to 1.11

I fixed problems accuring in the games when economy was enabled in the configuration file, but no economy was found.

Have fun playing :)
----------, Mar 4, 2017

Resource Information
Author:
----------
Total Downloads: 24,629
First Release: Mar 3, 2017
Last Update: May 9, 2021
Category: ---------------
All-Time Rating:
59 ratings
Find more info at gamebox.nikl.me...
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings