Pocket Games [1.8 - 1.21] | 34 Premium Minigames | Multiplayer & Single Player | icon

Pocket Games [1.8 - 1.21] | 34 Premium Minigames | Multiplayer & Single Player | -----

Flappy Bird, Super 2048, Snake & 30 more | Custom Games, Rewards, Messages, MySQL, and more!




[​IMG]

  • 1.21.4 | Pocket Games should now function properly on all 1.21 versions. Player heads have also been fixed.

  • Version Fix | Incremented plugin version
----------, Dec 17, 2024

[​IMG]

  • 1.21.4 | Pocket Games should now function properly on all 1.21 versions. Player heads have also been fixed.
----------, Dec 17, 2024

[​IMG]

  • 1.20 & 1.21 | Pocket Games should now function properly on 1.20.x and 1.21 servers.

  • ViaVersion | ViaVersion made some major changes to their API. Pocket Games will now look for the new API version with a fallback mechanism added to use the old ViaVersion API.
----------, Jul 10, 2024

[​IMG]

  • Particle Fix | The particle utility functions are now more resilient to potential null pointers.

  • Refactoring | Removed some unnecessary code in the particle utilities.
----------, Jan 15, 2023

[​IMG]

  • Refactoring | Added some null checks in the item generator.

  • Version | Tested the latest Spigot version.
----------, Dec 30, 2022

[​IMG]

  • 1.19 | Based on initial testing the plugin should work fine on 1.19. If you come across any issues please let me know as soon as possible!
----------, Jun 15, 2022

[​IMG]

  • Fix | Multiplayer game permissions were based on the game header rather than the game-id. This has been fixed.

  • Fix | Client checks for multiplayer games had the same issue as above and would skip if the game header for specific games had been changed. This has been fixed.
----------, May 10, 2022

[​IMG]

  • Change | The Messages.duelInviteReceived message in messages.yml now generates with pocketgames duel accept/deny rather than /pg duel accept/deny.
----------, May 6, 2022

[​IMG]

  • Fix | Some 1.18.x versions and server distributions have changes to Skulls/Playerheads which made them unclickable. This has been resolved.
----------, Mar 9, 2022

[​IMG]

  • 1.18 | The plugin has been tested on 1.18 servers. Please report any bug if found.
----------, Dec 19, 2021

[​IMG]

  • Improvement | /pocketgamesadmin is now hidden from tab-completion if the player does not have pocketgames.admin
----------, Sep 5, 2021

[​IMG]

  • Legacy Code | Removed a chunk of no longer needed legacy code.

  • 1.17 | The plugin works fine on 1.17.
----------, Jul 7, 2021

[​IMG]

  • Fix | The EndGame button in CookieClicker no longer resets progress but still updates the highscore.

    Reported by @GhostRyder; thanks!
----------, Apr 19, 2021

[​IMG]

  • Fix | If your DBMS provider had case sensitivity enabled on database names you would not be able to connect to your database if the name had uppercase letters. This has been fixed and is no longer an issue.
[​IMG] [​IMG]
[​IMG] [​IMG]
[​IMG]
----------, Apr 17, 2021

[​IMG]

  • Tab Completion | Added highscores to the /pocketgames command tab list.

  • HEX | Hex is now properly supported in messages including sections with hover and/or click events.
[​IMG] [​IMG]
[​IMG] [​IMG]
[​IMG]
----------, Feb 15, 2021

[​IMG]

  • Fix | Executing /pg menu in the console no longer throws an exception.

  • Fix | You could not change the Spectator menu item to a "head" instead of an "item" as the subsection for specifying the spectator head entries where "head". This has been resolved by effectively renaming the section to "spectator_head". Your settings.yml file will automatically update upon updating. Please make sure to backup your settings.yml file before updating.

  • Improvement | /pg play tab completion will now filter games that are disabled in 1.14 and up if you are running 1.14+.

  • Improvement | /pg duel tab completion will now suggest players as well.
[​IMG] [​IMG]
[​IMG] [​IMG]
[​IMG]
----------, Feb 14, 2021

[​IMG]

  • List Command | You can now completely customize the /pg list command. The following section is automatically generated in your messages.yml file:
    Code (YAML):
    Messages:
      ListCommand
    :
        header
    :
       - '&9&m&l ---------------------------------'
        - ' &7&oBelow is a list of all available Pocket Games:'
        Entry
    :
          prepend
    : ' &7&l● '
          game
    : ' [ "&e%game%", "/pocketgames play %game%", "&7&oClick to play." ]'
          separator
    : '&7, '
          separatorEndOfLine
    : false
          append
    : ''
          length
    : 35
        footer
    :
       - ' &7&oClick on any Game Title to play that game!'
        - '&9&m&l ---------------------------------'

  • Fix | HEX color codes now work properly with messages including hover and click events.
[​IMG] [​IMG]
[​IMG] [​IMG]
[​IMG]
----------, Feb 12, 2021

[​IMG]

  • Hex Colors | 1.16+ only. You can now use hex colors in any place you can use normal colors i.e. messages and GUIs. The format is "&#XXXXXXYour message" where the X's represent a HEX color code. You can of course put the hex color codes anywhere in the message you want and as many as you need.
[​IMG] [​IMG]
[​IMG] [​IMG]
[​IMG]
----------, Feb 10, 2021

[​IMG]

  • Help Messages | The help messages are now customizable. They are automatically added to the messages.yml file where you can customize them.
[​IMG] [​IMG]
[​IMG] [​IMG]
[​IMG]
----------, Feb 1, 2021

[​IMG]

  • AFK | PocketGames now support Essentials' and CMI's AFK systems such that players' do not get kicked when playing games for an extended period of time.

    If you wish to enable this please add the following to your config.yml file:
    Code (YAML):
    # Don't kick players for AFK'ing if they have the PocketGames inventory open.
    # You can manage PocketGames player inactivity in the settings.yml file under InactivityTimer.
    # Supports:
    # - Essentials
    # - CMI
    OverrideAFKPlugins
    : true
    The default value is false. You do not have to add this to your config.yml file if you do not wish to make use of it.

    Suggested and tested by @Galexrt - thank you! :)
[​IMG] [​IMG]
[​IMG] [​IMG]
[​IMG]
----------, Dec 29, 2020

[​IMG]

  • Fix | Added HikariCP and logger dependencies to the jar.

    Reported by @Nyquest; thanks!
[​IMG] [​IMG]
[​IMG] [​IMG]
[​IMG]
----------, Nov 20, 2020

[​IMG]

  • Fix | Save game data wasn't handled correctly due to a number of reasons resulting in duplicated data and allowing players to continue from a save after they lost giving them an unfair advantage.

    This turned out to be a cumbersome issue with duplicated data being persisted in the database. To remove any manual cleanup work for you I've implemented a piece of logic that will remove every duplicate save data entry keeping only the newest one. This means that any given player can have a maximum of one save file for each saveable game.

    This fix also reduces the strain on the database side as far less data is going to be persisted.

    Reported by @Nyquest; thanks!
[​IMG] [​IMG]
[​IMG] [​IMG]
[​IMG]
----------, Nov 18, 2020

[​IMG]

  • 1.16 Support | Pocket Games now support 1.16 servers!
[​IMG] [​IMG]
[​IMG] [​IMG]
[​IMG]
----------, Jul 25, 2020

[​IMG]

  • Max One Entry | You can now specify whether players are limited to a single entry on the high score. If enabled a player won't be able to take the whole top 5 but only a single spot making room for other players. A new setting is automatically generated in the settings.yml file:
    Code (YAML):
    Highscore:
      maxOneEntry
    : false
    If you wish to make use of the above feature set this value to true.

    If you're using flatfile highscore storage please backup your files.

    The whole score logic has been revised with this update. Please let me know if any issues occur.
[​IMG] [​IMG]
[​IMG] [​IMG]
[​IMG]
----------, Jul 23, 2020

[​IMG]

  • Fix | Corrected the ViaVersion integration to only disable 1.13+ clients from accessing disabled multiplayer games and not all.

    Reported by @grammi1120; thanks!
[​IMG] [​IMG]
[​IMG] [​IMG]
[​IMG]
----------, May 30, 2020

[​IMG]

  • Challengeable | Players can now opt-out of duel invites. This is done with the command /pg duel toggle.

    Suggested by @Ezzerland; thanks!


  • Messages | The following messages have been added to the messages.yml file:
    Code (YAML):
    Messages:
      challengeableToggled
    : ' %prefix% &aChallengeable set to: &e%challengeable%'
      cantChallengePlayer
    : ' %prefix% &cCan''t challenge player!'

  • Database | Optimized some database related logic to ensure no longer used statements are correctly closed.
[​IMG] [​IMG]
[​IMG] [​IMG]
[​IMG]
----------, May 29, 2020

[​IMG]

  • CustomModelData | You can now use CustomModelData for any item in the GUI! Simply add customModelData to an item section e.g:
    Code (YAML):
    someItem:
      item
    : IRON_INGOT
      name
    : '&f&l*'
      slot
    : 0
      customModelData
    : 1234567
    Suggested by @Mjhurtado; thanks!


  • Improvement | Due to caching changes on Spigot the latest version of a plugin returned from the websites API can take multiple hours before updating to the correct version. E.g. your version is 1.0.1 but Spigot still incorrectly returns 1.0.0 as the latest version.

    Due to the large number of "The plugin says there is a new version available, but I already downloaded the latest version" messages I've been receiving I've gone ahead and implemented a parser that'll only notify you of updates if the version on your server is less than the one on Spigot. If you're on 1.0.1 and Spigot returns 1.0.0 you'll no longer get an incorrect notification.
[​IMG] [​IMG]
[​IMG] [​IMG]
[​IMG]
----------, May 4, 2020

[​IMG]

  • Disabled Games | If you're running a server below 1.13 which allows newer clients to join they'll still see all games in the menu but won't be able to start them. The disabledGame message is sent instead. This goes for both singleplayer and multiplayer. This will allow players to realize that the game exists and can change their client if they wish to play it.

    Suggested by @Govindas; thanks!


  • Held Slot | Pocket Games sets the held item slot to the first empty slot to avoid the item jumping in the player's hand. Pocket Games will now remember the slot the player had selected prior to opening the menu and then reselect it once they close Pocket Games again.

    Suggested by @Govindas; thanks!
[​IMG] [​IMG]
[​IMG] [​IMG]
[​IMG]
----------, May 1, 2020

[​IMG]

  • Fix | Trying to cache cracked accounts resulted in an exception. They are now ignored as there is no data available on Mojang's servers for cracked accounts.
[​IMG] [​IMG]
[​IMG] [​IMG]
[​IMG]
----------, Apr 25, 2020

[​IMG]

  • Fix | It turns out due to the data return changes the issue was that it was only reading a single line of the response. Furthermore, the HeadCache now has better synchronization and invalid return handling to avoid duplicate requests.

    Sorry for the rapid consecutive updates!
[​IMG] [​IMG]
[​IMG] [​IMG]
[​IMG]
----------, Apr 23, 2020

[​IMG]

  • Fix | An additional check has been added to the retry functionality of the HeadCache as a valid response that correctly caches the texture can cause an exception at a later point causing the cache to retry a few minutes later even though the request was successful. This is due to some changes in the response from Mojang's session server and could cause a large number of looping outgoing retry-requests.

    Reported by @Govindas; thanks!
[​IMG] [​IMG]
[​IMG] [​IMG]
[​IMG]
----------, Apr 23, 2020

[​IMG]

  • World Whitelisting | You can now whitelist worlds that players can play in. This is done by inverting the blacklist. The following feature has been added to the config.yml file:
    Code (YAML):
    invertBlacklist : false
    The default is false. If you wish to make use of this please add the above manually and set the value to true. You do not have to add it.

    Suggested by @Govindas; thanks!
[​IMG] [​IMG]
[​IMG] [​IMG]
[​IMG]
----------, Apr 19, 2020

[​IMG]

  • Vanish Support | When players are in vanish-mode they will no longer appear in the multiplayer challenge menu.

    The vanish check has been implemented in a way such that the majority of vanish plugins will work with it. Below are a few that are guaranteed to work:
    - Essentials, SuperVanish, PremiumVanish, and VanishNoPacket
    If the vanish plugin of your choice doesn't work with the current implementation feel free to send me a message.

    Suggested by @Jed0328; thanks!


  • File Disabling | Although discouraged you can now disable the CrashSafetyFile and UserDataFile. This can be done in the settings.yml file. The following is automatically added to the settings.yml file:
    Code (YAML):
    CrashSafetyFile:
      enabled
    : true
    UserDataFile
    :
      enabled
    : true
    The files are still created but they aren't used.

    Suggested by @Ezzerland; thanks!


  • HeadCache Fix | In some cases, Mojang's session server can return blank data resulting in an exception. This has been fixed and the request is retried after 5 minutes.
[​IMG] [​IMG]
[​IMG] [​IMG]
[​IMG]
----------, Apr 18, 2020

[​IMG]

  • 1.13 Games | Due to a small mistake games that are disabled in 1.14 and 1.15 were disabled in 1.13 as well. This has been fixed and the following games are now enabled in 1.13:
    • Tetris
    • Sudoku
    • Flow
    • Gomoku (Multiplayer)
    • Snake (Multiplayer)


      Reported by @Ergenta; thanks!
[​IMG] [​IMG]
[​IMG] [​IMG]
[​IMG]
----------, Apr 8, 2020

[​IMG]

  • Fix | Currently, there is a bug in Spigot where the InventoryClickEvent isn't being correctly handled when the player is sleeping. This could in some cases allow players' to dupe items if opening a PG menu when sleeping. This version ensures that all commands that can open menus won't trigger if the player the menu is opened for is sleeping.

    Reported by @Metalshark and @Verum; thanks!
[​IMG] [​IMG]
[​IMG] [​IMG]
[​IMG]
----------, Apr 4, 2020

[​IMG]

  • Fix | The custom inventory check introduced in 3.18.5 made use of a method that did not exist in earlier versions. This has been fixed and now makes use of a method that is supported from 1.8 and up.

    Reported by @eickmung; thanks!
[​IMG] [​IMG]
[​IMG] [​IMG]
[​IMG]
----------, Feb 13, 2020

[​IMG]

  • Prefix | All MySQL tables are now prefixed with 'pg__'. This happens automatically. If you already have tables created they are renamed. If you have no tables all newly created tables are prefixed.

  • Improvement | The database logic has been revised to accommodate the above change.
[​IMG] [​IMG]
[​IMG] [​IMG]
[​IMG]
----------, Feb 12, 2020

[​IMG]

  • Fix | The issues described in the version 3.18.1 update note applied to the checking of whether an inventory contained an item (a skull/player-head). This version applies the fix to those checks as well.

    Reported by @MrAmpersand; thanks!
[​IMG] [​IMG]
[​IMG] [​IMG]
[​IMG]
----------, Feb 8, 2020

[​IMG]

  • Fix | Due to some inadvertent inverted logic, exceptions could occur on older versions related to displaying player-skulls in inventories. This has been fixed in this version.

    Reported by @Nyquest, thanks!
[​IMG] [​IMG]
[​IMG]
[​IMG]
----------, Jan 19, 2020

[​IMG]

  • Fix | The latest 1.15.1 version contains a flaw regarding equals, isSimilar, toString, and more for ItemStacks relating to this report. This is caused by the actual server code and not PocketGames. I've found a way around the issue which seems to have resolved the issue.

    Please let me know if this still causes any issues.
[​IMG] [​IMG]
[​IMG]
[​IMG]
----------, Jan 12, 2020

[​IMG]

  • 1.15 Support | Pocket Games now support 1.15 servers. Quite a few changes went into this so please let me know if anything is causing issues although it shouldn't. All compatible games have been tested on 1.15 and they all work.
[​IMG] [​IMG]
[​IMG]
[​IMG]
----------, Dec 13, 2019

[​IMG]

  • Asynchronous Improvement | This update introduces a new async task system. This makes handling asynchronous actions easier and more convenient. Furthermore, it heavily reduces repetition of the functionality that enables asynchronous tasks to run.

    Pocket Games makes heavy use of asynchronous computation for a bunch of different stuff and will certainly benefit from this update.
[​IMG] [​IMG]
[​IMG]
[​IMG]
----------, Oct 9, 2019

[​IMG]

  • Refactoring | Some of the games in PocketGames are quite old by now. I've gone ahead and refactored a lot of code quality issues with some of the games. This refactoring ensures a more consistent style throughout the plugin. Almost 1000 changes have been made:
    [​IMG]
[​IMG] [​IMG]
[​IMG]
[​IMG]
----------, Sep 26, 2019

[​IMG]

  • AGCC | After spending a lot of time Pocket Games will now finally automatically create its default game configuration files regardless of the version you're running! No manual installation steps where you have to drag and drop certain files based on the version you're running - this has all been automated!

    The download is now a jar again instead of a zip-file as the plugin will automatically determine your version and create the appropriate files with the appropriate materials. No need for a readme or version-specific configuration folders.
[​IMG] [​IMG]
[​IMG]
[​IMG]
----------, Sep 22, 2019

[​IMG]

  • Actionbar | The actionbar utility class has been completely rewritten. Prior to this update NMS classes, constructors, methods, and fields were all accessed directly via reflection every time a message was sent to a player; that is quite resource-intensive if used frequently.

    This update ensures that all of those code related entities are cached and reused. This means that they are only accessed during startup and then reused as needed when messages are requested. This will have a significant positive impact on performance.

    Please note that this only concerns 1.8, and 1.9 servers. 1.10 and up use the built-in method in the Spigot API for sending these kinds of messages.
[​IMG] [​IMG]
[​IMG]
[​IMG]
----------, Sep 16, 2019

[​IMG]

  • Cracked Accounts | If you allow cracked clients on your server the new texture requesting functionality would fail for those accounts as it is communicating with Mojang's server. A cracked accounts UUID doesn't exist on Mojang's server. Pocket Games will now simply ignore those faulty requests.

    Reported by @andris155; thanks! ;)
[​IMG] [​IMG]
[​IMG]
[​IMG]
----------, Sep 11, 2019

[​IMG]

  • Texture Caching | Setting player head textures in 1.14 and potentially other server versions cause major performance issues as texture caching in 1.14 seems to be flawed. This meant that any time a player loaded a high score or anything involving offline players textures the server thread would block for a few 100 milliseconds.

    This update introduces manual texture caching. Required textures are pulled from Mojang's servers on server startup. Further textures are pulled and cached as needed.

    The rate limit is 1 request per min per profile. I.e. we can request e.g. 20 unique textures at the same time but not the same texture twice within 1 minute. If multiple plugins are utilizing this method they can clash. If another plugin retrieves my skin and PG tries right after it won't be able to. PG combats this by recursively retrying the textures it couldn't retrieve once a minute. If you experience that textures aren't loading in the high score or some names are "?" please be patient - PG will retrieve it as soon as it can!

    Thank you to @Verum for reporting this as well as in-game testing to localize the issue! ;)


  • Fix | If you were kicked with an open pg inventory before the invulnerability animation had started the invulnerability animation would not pick up on that and still spawn the sphere unless you logged in again, opened a pg inv, and closed it again. This has been fixed and the timer is stopped even if kicked.


  • OpenInv Compatibility | If you had the plugin OpenInv installed on a 1.13 server alongside PG you would not receive your inventory again if kicked. That resulted in having the contents of the PG menu in your inventory instead. This has been fixed.

    Reported by @andris155; thanks!
[​IMG] [​IMG]
[​IMG]
[​IMG]
----------, Sep 8, 2019

[​IMG]

  • Improvement | In 1.13/1.14 a new method was introduced to retrieve skull textures for players. PocketGames has been updated to utilize this method to reduce lag as the now deprecated method was causing lag particularly on 1.14. This means that PG will now retrieve GameProfiles from the internal cache reducing lag from consecutive calls.
[​IMG] [​IMG]
[​IMG]
[​IMG]
----------, Aug 11, 2019

[​IMG]

  • Fix | Due to a slight mistake most permission defaults were set to false. They have been changed back and the default is now op as it was previously.
[​IMG] [​IMG]
[​IMG]
----------, Jul 30, 2019

[​IMG]

  • Tab Fix | When suggesting games already inputted text wasn't accounted for. E.g. if you had already written s then it should only suggest games starting with an s instead it suggested all games overwriting your current input. This has been fixed and it will now correctly suggest games for the duel and play commands.

  • Plugin.yml | All static permissions have been added to the plugin.yml file.
[​IMG] [​IMG]
[​IMG]
----------, Jul 28, 2019

[​IMG]

  • 1.14 Clients | The disabled games are no longer available to players joining with newer clients. E.g. running a 1.12.2 server with ViaVersion allowing players to join with 1.14. Opening e.g. Tetris with client support would just open another type of inventory and render the game unplayable anyways.

    The above relies on ViaVersion. If you're running another plugin that allows newer clients to join your server please let me know.

  • Fix | The disabled games in 1.14 were only removed from the menu. You could still open the games via command resulting in an error. This has been fixed.

  • Fix | Re-added the "1.14 Configuration Files".
[​IMG] [​IMG]
[​IMG]
----------, Jul 26, 2019

[​IMG]

  • Custom Close | The close button can now be assigned a custom close command. E.g. if you open the game menu from another menu you can have it return to that menu by executing the command for opening said menu with the custom close feature. The following has been automatically added to the settings.yml file:
    Code (YAML):
    Hotbar:
      Close
    :
        customClose
    : false
        command
    : /Open custom menu %player%
    Suggested by @Lambsauce; thanks! :)
[​IMG] [​IMG]
[​IMG]
----------, Jul 25, 2019

[​IMG]

  • Feature | The following has been added to the settings.yml file:
    Code (YAML):
    Menu:
      noPermission
    :
        hideGame
    : false
    If you set the above to true games that a player does not have the permission for are hidden instead of showing the noPermission item when clicked.

    Suggested by @Zombiemold :)
[​IMG] [​IMG]
[​IMG]
[​IMG]
----------, Jul 13, 2019

[​IMG]

  • 1.14 Files | Some material enums were changed in 1.14. Some files have been corrected and some have been migrated to a 1.14 only folder. The file "minesweeper.yml" has been added to the "1.13+..." folder and the file "nameit.yml" has been moved to a "1.14" folder.

    For 1.13:
    Add the minesweeper.yml file to your game configurations folder to update it.

    For 1.14:
    Do the step above as well as replace nameit.yml with the one found in the 1.14 folder in the zip.
[​IMG] [​IMG]
[​IMG]
[​IMG]
----------, Jul 2, 2019

[​IMG]
This update took quite some time; over 1500 line additions/deletions.

  • Tab Completion | All main commands will now suggest their subcommands or those that start with the current input.

    All subcommands with additional parameters will suggest those. E.g. /pocketgames play command will suggest all games that the player has permission for.


  • Lombok | PocketGames now make use of Project Lombok to achieve a cleaner codebase.


  • Refactoring | The variable loading has been refactored.
[​IMG] [​IMG]
[​IMG]
----------, Jun 17, 2019

[​IMG]

  • ActionBar | By prepending any message in the messages.yml file with <ActionBar> you can send the message as an ActionBar message instead of a chat message.

    Example:
    Code (YAML):
    Messages:
      configReload
    : '<ActionBar> %prefix% &aConfiguration files successfully reloaded!'
[​IMG] [​IMG]
[​IMG]
----------, Jun 14, 2019

[​IMG]

  • Countdown | The countdown seen in singleplayer games has been added to multiplayer games. This is to allow players a few seconds to prepare themselves for the game when someone accepts their request.
[​IMG] [​IMG]
[​IMG]
----------, Jun 7, 2019

[​IMG]

  • File Headers | The games that have been disabled in 1.14 and onwards have gotten the following added to their game configuration file headers:

    This game is disabled in 1.14 and onwards!

    Since I've had a few questions regarding "missing games" I thought it was best to clarify this in each of the affected games to avoid confusion.
[​IMG] [​IMG]
[​IMG]
----------, Apr 30, 2019

[​IMG]

  • Inventory Fix | When opening/closing/clicking inventories with a missing title an exception was thrown. An example of this is opening a llamas inventory; that would cause an exception. This has been fixed.

    Reported and resolved in collaboration with @Robert_beckley and @ShakeforProtein; thanks! :)

  • CookieClicker Fix | Due to an incorrect import trying to play CookieClicker in 1.14 wouldn't work. This has been fixed and CookieClicker works great again.

  • Disabled Games | This is a bummer. In 1.14 it is no longer possible to create inventories larger than 54 slots. This affects the following singleplayer games:
    - Tetris, Sudoku, Flow
    And the following multiplayer games:
    - Gomoku, Snake
    These have sadly been disabled in 1.14.

  • API | The API version has been updated to the latest 1.14 jar.
[​IMG] [​IMG]
[​IMG]
----------, Apr 29, 2019

[​IMG]

  • 1.14 | Pocket Games now support 1.14! ;)
[​IMG] [​IMG]
[​IMG]
----------, Apr 28, 2019

[​IMG]

  • Command | This version features the /pga info command. This command is useful for easily checking if you're up to date, checking versions, and quick links for new versions and support.
[​IMG] [​IMG]
[​IMG]
----------, Apr 21, 2019

[​IMG]

  • Fix | You were able to click on all blocks in SpeedClicker to gain clicks; not just the button. This has been fixed.

    Reported by @Tech_Bot_7; thanks! ;)
[​IMG] [​IMG]
[​IMG]
----------, Apr 11, 2019

[​IMG]

  • New Multiplayer Game | Minesweeper!
    [​IMG]

    Game Configuration:
    Code (YAML):

    # Edit MineSweeper in this file.
    #
    # All items are customizable. Play around with the GameSettings and find the sweet spot for your server!
    #
    # Warning: Always ctrl+a and ctrl+c before testing your new settings. One small mistake can result in a file reset!


    Enabled
    : true
    GameHeader
    : '&f&lMinesweeper'
    MenuItem
    :
      page
    : 3
      slot
    : 20
      item
    : TNT
      name
    : '    &6&l&m-- [-&f  &f&lMinesweeper  &6&l&m- ]--'
      lore
    :
     - ' &f&m ----------------------------&7 '
      - ' &e Minesweeper is a single-player'
      - ' &e puzzle game. The objective of'
      - ' &e the game is to clear a rectan-'
      - ' &e gular board containing mines'
      - ' &e without detonating any of them,'
      - ' &e with help from clues about the'
      - ' &e number of neighboring mines'
      - ' &e in each field. Good luck!'
      - ' &7&m ----------------------------&7 '
      - '  &f&oLeft Click -> Play Game'
      - '  &f&oRight Click -> Highscore'
      - ' &7&m ----------------------------&7 '
    GameItems
    :
      covered
    :
        item
    : STAINED_GLASS_PANE:7
        name
    : '&8&l█'
        lore
    :
       - '&7Left-click to uncover'
        - '&7Right-click to place flag'
      uncovered
    :
        item
    : STAINED_GLASS_PANE:8
        name
    : '&7&l█'
      flag
    :
        item
    : REDSTONE_TORCH_ON
        name
    : '&c&l█'
        lore
    :
       - '&7Left-click to uncover'
        - '&7Right-click to remove flag'
      mine
    :
        item
    : TNT
        name
    : '&4&l█'
    GameSettings
    :
      mines
    : 6
     

    For 1.13 servers:
    Replace the generated Minesweeper file in the game configurations folder with the file in the 1.13 Configuration Files folder.
[​IMG] [​IMG]
[​IMG]
[​IMG]
----------, Mar 25, 2019

[​IMG]

  • Fix | For some unknown reason the built-in API method for determining the inventory type used in the game checks could return the PLAYER inventory as a CHEST type. To address this I've gone ahead and implemented my own detection method which works consistently across versions, builds and whatnot.

    Reported by @CraftSteamG; thanks! ;)
[​IMG] [​IMG]
[​IMG]
[​IMG]
----------, Mar 22, 2019

[​IMG]

  • Console Fix | If you were to execute the /pocketgames command with either no arguments or followed by (an) unknown argument(s) then you'd receive the playerOnly message when in fact you should receive the help menu messages. This version fixes that.
[​IMG] [​IMG]
[​IMG]
[​IMG]
----------, Mar 21, 2019

[​IMG]

  • Fix | On some forks of Spigot and potentially clean Spigot builds a rather spammy exception could occur due to an uncaught exception. This version fixes that and prevents this from occurring again.

  • Fix | CookieClicker could in some edge cases cause an error to occur. This version should also fix that issue.

    Both reported by @andris155; thanks! ;)
[​IMG] [​IMG]
[​IMG]
[​IMG]
----------, Mar 20, 2019

[​IMG]

  • Fix | When using the /pg duel command the message meant for the person being challenged was sent to the player who executed the duel command thus not alerting the opponent. This has been fixed.

    Sorry for the inconvenience.
[​IMG] [​IMG]
[​IMG]
[​IMG]
----------, Mar 4, 2019

[​IMG]

  • Messages | The message system used in Pocket Games prior to this update was from when the plugin was first released. The way messages are handled, placeholders are replaced, messages are sent, and much more has been totally reworked. The new way messages are handled internally is a lot more intuitive and results in better readability and maintainability which should allow for faster updates and easier implementation of new messages when new features are added.

  • Refactoring | As messages are almost everywhere throughout the plugin I went ahead and refactored some of the code to hopefully improve performance and code clarity.
[​IMG] [​IMG]
[​IMG]
[​IMG]
----------, Mar 4, 2019

[​IMG]

  • Asynchronous Database | This update features internal changes to how the database if used, is accessed. Up until now actions such as retrieving scores and uploading scores was done synchronous which resulted in actually holding up the main thread which is a big no-no. (We're talking milliseconds so you wouldn't really notice it)

    In this update, all database access is asynchronous as you'd expect database access to be. This means that a lot of internal stuff has been restructured and refactored to accommodate these architectural changes.

    I strongly encourage updating as your entire server performance will benefit from this update.

    The changes made are pretty comprehensive. If any issues occur please let me know and I'll take a look at it.
[​IMG] [​IMG]
[​IMG]
[​IMG]
----------, Feb 28, 2019

[​IMG]

  • Update Checker | You can now disable the update checker if you do not wish to receive notifications of new updates. The following has been added to the config.yml file:
    Code (YAML):
    # Enable or disable the update checker.
    updateCheckerEnabled
    : true
    The default is true. If you wish to disable the update checker you'll have to manually add the option above and set it to false.

[​IMG] [​IMG]
[​IMG]
[​IMG]
----------, Feb 20, 2019

[​IMG]

  • Help Fix | The /pocketgamesadmin help command showed all commands as the normal command. E.g. the admin reload command would be shown as:
    /pocketgames reload instead of /pga reload.

    This was a general problem with the whole help message and has been fixed in order to avoid confusion.
[​IMG] [​IMG]
[​IMG]
[​IMG]
----------, Feb 14, 2019

[​IMG]

  • JSON | Converted the JSON message sender to a less verbose and more appropriate implementation. This concerns all messages that are sent via the commands with various hover and click events.
[​IMG] [​IMG]
[​IMG]
[​IMG]
----------, Feb 4, 2019

[​IMG]

  • Control Fix | There were a few flaws in the control system which resulted in some game controls "cascading into each other" resulting in the ability to click places where you shouldn't be able to click in some games. The bug was discovered in Rock Paper Scissors where you could click everywhere in the inventory instead of just the three dedicated slots though the issue could occur in other games too.

    Reported by @Arasple; thanks! ;)
[​IMG] [​IMG]
[​IMG]
[​IMG]
----------, Feb 1, 2019

[​IMG]

  • Admin Command | This update introduces a new admin command.
    The following is what is possible with it:
    [​IMG]
    Note that these are commands that where a part of the normal /pocketgames command though they have been moved to this.

    All of the /pocketgamesadmin commands requires the pocketgames.admin permission as well as the pocketgames.commands permission.


  • Removed | The two old permissions for the above commands have been removed. Those are:
    Code (Text):
    pocketgames.commands.reset
    pocketgames.commands.reload
[​IMG] [​IMG]
[​IMG]
[​IMG]
----------, Jan 26, 2019

[​IMG]
  • Update | 1.13 has had a few new versions since the release. As Pocket Games is using the 1.13 API this has been updated to a newer version for maximum stability.
[​IMG] [​IMG]
[​IMG] [​IMG]
[​IMG]
----------, Jan 23, 2019

[​IMG]
  • Fix | When selecting a multiplayer game in the menu a list of all challengeable players was listed. If a player was located in the slot the multiplayer game was the click would be registered for that as well and you'd challenge that player. Below is an example of this issue:
    [​IMG]
    Since a player was located at the clicked position the player was challenged without an actual click. (GIF by @ConradHD)

    Reported by @ConradHD; thank you very much! :)

[​IMG]
----------, Jan 18, 2019

[​IMG]
  • Skin Loading | I've been informed that loading many playerhead skins in the multiplayer challenge selector can cause some server lag. It is now possible to disable playerheads from loading the skin of the player thus resulting in a regular Steve head. The following setting is added automatically to the settings.yml file:
    Code (YAML):
    Multiplayer:
      opponent
    :
        loadSkin
    : true
    The default is true. If you wish to disable the loading of skins simply set this to false and use the /pg reload command.

    Suggested by @LsDomo :)

[​IMG]
----------, Jan 14, 2019

[​IMG]
  • Permission Fix | If a player were to use the /pocketgames command with no arguments the PocketGames menu would open regardless of the player's permissions. This has been fixed.

[​IMG]
----------, Jan 13, 2019

[​IMG]
  • Invite Expiry | Duel invites now have an expiry time. Once expired the duel will no longer be valid thus the player you dueled won't be able to suddenly accept after a long period of time. The following is automatically added to the settings.yml file:
    Code (YAML):
    Multiplayer:
      duelInviteExpiry
    : 300
    The value is in whole seconds.

  • Message | A new message has been added regarding the above. The message is automatically added to the messages.yml file:
    Code (YAML):
    Messages:
      duelInviteExpired
    : ' %prefix% &cYour duel invite has expired!'

[​IMG]
----------, Jan 8, 2019

[​IMG]
  • Update Checker | The update checker task will cancel itself if it is unable to check for an update. On some systems or newer Java versions, this could result in a stacktrace every 10 minutes due to a failed check. This will no longer happen.

    Requested by @mibby :)

[​IMG]
----------, Jan 5, 2019

[​IMG]
  • Update Checker | The update checker will now check for an update once every 10 minutes instead of just on server reload/restart. The check is performed async and won't impact performance.

[​IMG]
----------, Dec 29, 2018

[​IMG]
  • Improvement | Improved the /pg list command. The check for enabled games contained a lot of redundant conditions which have been addressed and implemented in a neater way. The overall structure of the command has also been changed.

[​IMG]
----------, Dec 28, 2018

[​IMG]
  • Fix | The multiplayer version of FlappyBird has been buggy due to some illogical checks. This resulted in the game ending in some cases when the birds (players) "collided" with each other which was not intended. The game code has been revised and overhauled and it should work flawlessly now.

[​IMG]
----------, Dec 18, 2018

Changelog:
  • Suggest Tag | A new tag has been added which you can use in your custom message events.
    - ["Message","/Command","Hover","Suggest"]
    Adding "Suggest" will make the click event suggest the command instead of run it. Leaving it out will default to run.

    The new message file header:
    Code (YAML):
    # This is a Message file for all Pocket Games.
    # All messages are fully customizable and support color codes, formatting and ASCII symbols.
    # Set the prefix and use %prefix% to add the plugins prefix to a message.
    # Leave a message blank ('') to disable it.
    #
    # You can also create messages with Hover and Click events. Syntax options: (Space between comma and quote is NOT allowed)
    #  - ["Message","/Command"]
    #  - ["Message","Hover"]
    #  - ["Message","/Command","Hover"]
    #  - ["Message","/Command","Suggest"]
    #  - ["Message","/Command","Hover","Suggest"]
    # You can add as many events to a message as you want. Example:
    # '%prefix% Click to ["&a&nAccept","/pg duel accept","&aClick to accept!"] &aor ["&c&nDeny","/pg duel deny","&cClick to deny!"]&a!'
    # The "Suggest" tag is used if the click event should suggest the command. Default is Run.

[​IMG]
----------, Dec 9, 2018

Changelog:
  • Feature | A new setting has been added to the settings.yml:
    Code (YAML):
    Multiplayer:
      duelPlayersWithoutGamePermission
    : false
    Setting this to true will allow players with access to a certain game the ability to challenge players that do not have access to the game themselves.

    Example:
    Player1 has access to TicTacToe.
    Player2 does not have access to TicTacToe.
    Player1 can challenge Player2 in the game and Player2 can accept the challenge even though they do not have permission to start such a challenge themselves.

    The setting is added automatically to the settings.yml file and is by default false.

    Suggested by @Golicraft :)

  • Fix | Prior to this update you were able to challenge yourself in a multiplayer game causing an error. This has been fixed.

[​IMG]
----------, Dec 2, 2018

Changelog:
  • Change | Executing /pocketgames without any arguments now open the Pocket Games menu instead of displaying the help message. To view the help message you'll have to use /pocketgames help.

[​IMG]
----------, Nov 27, 2018

Changelog:
  • Improvement | Changed up the way messages are accessed and used across the functionality in Pocket Games.

  • Message | During the above optimization I stumbled upon a redundant message. Due to a change a while back the usage of the "unknownCommand" message had been removed and replaced with an automatic help message as the response instead. The message has been removed for future files; the message is not removed from current files. You do not have to remove it.

[​IMG]
----------, Nov 23, 2018

Changelog:
  • Improved | The logic that parses the custom message events that you can define in the messages.yml file has been improved. This includes a few optimizations and addresses some reliability issues that could occur with poorly formatted messages which should now be handled correctly consistently. (as long as the message is structured syntactically correct)
[​IMG]
----------, Nov 22, 2018

Changelog:
  • Refactoring | Heavily refactored and restructured a lot of functionality and code style consistency matters. This should improve overall performance and result in a more internally sound plugin. This should not cause any issues whatsoever, but if any issue is discovered please contact me asap.

[​IMG]
----------, Nov 16, 2018

Changelog:
  • Update checker | Prior to this update all OPs were notified of a new update once available. With this update, you'll be able to control exactly who receives the update message instead of sending to all OPs. Add the below to your config.yml file:
    Code (YAML):
    # Update Checker.
    # false: All OPs are notified of a new update when they join.
    # true: OPs are only notified if they have the pocketgames.update permission as well.
    # N.B. any user with the pocketgames.update permission is notified; OP or not.
    updateCheckerPermissionOnly
    : false
    If you wish to send the update message to all OPs you do not have to add the above to the config.yml. False is the default.


  • Permission | Regarding the above a new permission has been added:
    >> pocketgames.update
    Any player with this permission OP or not will be notified of a new available update.

    Suggested by @AntonioRush :)

[​IMG]
----------, Nov 9, 2018

Changelog:
  • New Multiplayer Game | Gomoku!

    Gomoku is essentially Tic Tac Toe on a larger grid and you have to connect five to win.
    [​IMG]

    Game Configuration:
    Code (YAML):
    # Edit Gomoku in this file.
    #
    # All items are customizable. The starting player is chosen randomly when the game starts.!
    #
    # Warning: Always ctrl+a and ctrl+c before testing your new settings. One small mistake can result in a file reset!


    Enabled
    : true
    GameHeader
    : '&4&lGomoku'
    MenuItem
    :
      page
    : 1
      slot
    : 24
      item
    : COAL
      name
    : '      &6&l&m-- [-&f  &4&lGomoku &6&l&m- ]--'
      lore
    :
     - ' &f&m -------------------------&7 '
      - ' &e Tired of playing regular Tic'
      - ' &e Tac Toe? Challenge a player'
      - ' &e in a game of Gomoku and see'
      - ' &e who can connect five first!'
      - ' &7&m -------------------------&7 '
      - '  &f&oClick to challenge players'
      - ' &7&m -------------------------&7 '
    GameItems
    :
      board
    :
        item
    : STAINED_GLASS_PANE:7
        name
    : '&f&l█'
      O
    :
        item
    : COAL
        name
    : '&4&l⬤'
      X
    :
        item
    : SNOW_BALL
        name
    : '&9&l╳'
    Inactivity
    :
      enabled
    : true
      duration
    : 30

    For 1.13 servers:
    Option 1. Replace the generated Gomoku file in the multiplayer folder with the file in the 1.13 Configuration Files folder.

    Option 2. Change STAINED_GLASS_PANE:7 to GRAY_STAINED_GLASS_PANE and SNOW_BALL to SNOWBALL in the generated file.


  • Fix | There was an error in the Tic Tac Toe multiplayer file. Newly generated files will be fixed.

[​IMG]
----------, Nov 4, 2018

Changelog:
  • SkinLoader | The SkinLoader feature has been disabled indefinitely due to the many irregular issues it can cause and has caused. The SkinLoader merely pre-loads player head skins to avoid having a blank head the first time it is loaded; and only the first time. The plugin will work just fine without this.

[​IMG]
----------, Oct 24, 2018

Changelog:
  • Fix | The world blacklisting option was broken in a prior update. This has been fixed and should now work correctly again.

    Thanks to @LsDomo for reporting this issue :)

[​IMG]
----------, Oct 22, 2018

Changelog:
  • 1.13 | Phew! This has taken a very long time! Pocket Games should now be 100% compatible with 1.13 servers!

    There are a few complications for existing users when migrating. You'll have to use the new 1.13 configuration files. The "only" thing that has been changed is material names in all of the files. How you choose to migrate is up to you.

    Pocket Games is now downloaded as a ZIP file containing the plugin and the 1.13 configuration files as well as a ReadMe explaining a few steps needed when setting Pocket Games up on 1.13.

    Thanks to @mibby for spending a great deal of time "translating" the material names to the 1.13 equivalent! :)

[​IMG]
----------, Oct 18, 2018

Changelog:
  • Major Fix | In the previous versions it was possible to duplicate your whole inventory with the help of another player. I've decided that I won't be sharing the process for doing so in order to not give this information to someone who might choose to use it maliciously. I can, however, say that there are many steps involved and I am very surprised that anyone actually found out about this due to the complexity of the bug.

    That being said I highly recommend updating to this version as the bug has been taken care of.

    Shoutout to @mibby for reporting this as well as providing a detailed walkthrough on how to replicate it. Thanks! :)


  • API switch | Pocket Games now run the latest API version: 1.13.1.
    This does not mean that Pocket Games is compatible with 1.13 servers just yet. I still have to do quite some work, but I am getting there! I've tested almost all functionality on previous versions and haven't stumbled upon any issues myself. If you do come across issues please report them as soon as possible; thank you!

[​IMG]
----------, Oct 15, 2018

Changelog:
  • Heads | When changing/adding heads to your configurations previously you would have to go to a head database, copy the eyJ0Z... part, decode it on Base64decode, copy the URL part, and finally paste it in your config. Not anymore!

    You can now simply input the eyJ0Z... part in the config. The old way will still work.
    Code (YAML):
    //The old way.
    head
    : http://textures.minecraft.net/texture/f8a82c8b75dd1c2ce8133c0ba939b8c52e47d3ec374950f47dddbbe345e20
    //The new way.
    head
    : eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZjhhODJjOGI3NWRkMWMyY2U4MTMzYzBiYTkzOWI4YzUyZTQ3ZDNlYzM3NDk1MGY0N2RkZGJiZTM0NWUyMCJ9fX0
    Both of these examples both result in the head used in FlappyBird:
    https://minecraft-heads.com/custom/animals/8608-parrot-yellow

    This works by decoding the provided String for you instead of you having to do it.

[​IMG]
----------, Sep 15, 2018

Changelog:
  • Connect4 | This update adds the possibility to configure the appearance of the top row i.e the clickable row. I've on multiple occasions played the game on my test server with new players without them knowing where to click. By default, this update makes the top row have an enchant glow but you can, of course, customize this yourself. The following is automatically added to the games configuration file under the section GameItems:
    Code (YAML):
     clickableRow:
        item
    : STAINED_GLASS_PANE:3
        name
    : '&b&l█'
        glow
    : true

[​IMG]
----------, Aug 29, 2018

Changelog:
  • SkinLoader | The SkinLoader is causing some startup issues on some servers due to a bad connection, bad hardware, or something else. With this update you can disable the SkinLoader to avoid this issue. Add the following to your config.yml:
    Code (YAML):
    # Enable or disable the SkinLoader.
    # If this is enabled heads will render more consistently in inventories.
    # Your server will take a few more seconds to start up in order to retrieve the skins.
    # It won't impact performance after startup. Disable this if your server has startup issues.
    SkinLoaderEnabled
    : true
    If you do not wish to disable the SkinLoader you do not have to add this to your config.yml.

[​IMG]
----------, Aug 20, 2018

Changelog:
  • Fix | The Action messages worked on 1.12 servers, however, due to some internal Spigot API related changes it didn't on older versions. This has been fixed and action messages should now work on all Pocket Games supported versions i.e 1.8 - 1.12.2.

    Reported by @CrackGomme, @AntonioRush & @Arkobat; thanks all! :)

[​IMG]
----------, Aug 16, 2018

Changelog:
  • Action Messages | This has been requested quite a few times and has now finally been implemented with this update. It has been made completely custom and you can also have messages execute commands not associated with Pocket Games!

    Below is the syntax options for an action message:
    - ["Message","/Command"]
    - ["Message","Hover"]
    - ["Message","Command","Hover"]
    Do not add spaces between the commas and quotes. This will break the custom action event parser.

    Example message:
    Code (YAML):
    Messages:
      duelInviteReceived
    : ' %prefix% &a%player% has invited you to play %game%! Click to ["&a&nAccept","/pg duel accept","&aClick to accept!"] &aor ["&c&nDeny","/pg duel deny","&cClick to deny!"]&a!'
    The above message is the new standard message for new files. Feel free to replace the old one yourself with this one.

    As mentioned this can be completely customized with any hover event or command you want. It does not only have to link to Pocket Games commands or functions. All messages are compatible with hover and click event messages.

    Suggested by @CrackGomme

[​IMG]
----------, Aug 14, 2018

Changelog:
  • Inactivity timer | A new feature has been added. Pocket Games will now kick players if they haven't interacted with the menu or a game in a configurable amount of seconds. The following settings are added to the settings.yml file automatically:
    Code (YAML):
    InactivityTimer:
      enabled
    : true
      maxInactivitySeconds
    : 900
    By default, this is enabled and players are kicked after 15 minutes/900 seconds of inactivity.


  • Message | A new message regarding the new inactivity feature has also been added:
    Code (YAML):
    Messages:
      maxInactivity
    : ' %prefix% &cYou have been inactive for too long!'
    As with any other message this is located in the messages.yml and is automatically added.

As I am currently on vacation updates have been slow; sorry. However, I am going to implement the features you guys have requested on the Discord server as soon as possible! Thanks for your understanding!
[​IMG]
----------, Aug 9, 2018

Changelog:
  • Fix: Sudoku would end once at least 1 second had passed and you then clicked the inventory. This was caused by a simple statement I had forgotten to remove during some GameOver testing. Sudoku should now work again.

    Discovered by @Scorpion; thanks!

[​IMG]
----------, Jul 26, 2018

Changelog:
  • SkinLoader: This update introduces a SkinLoader. What this essentially does is load every player head that can potentially appear in the inventory i.e. top fives. This works just fine without this update with the exception of the first time a players head is loaded and displayed. The first time it will show up without a skin until you click the inventory to update it.

    Click here for an example.

    The SkinLoader should prevent that pretty consistently.

    This has been implemented for both flat file and MySQL, however, a player head is only loaded if they have been on that particular server at least once before.

    This has only been tested in online mode. Please let me know if this causes any issues on offline mode servers.
[​IMG]
----------, Jul 25, 2018

Changelog:
  • Improvements: Reviewed and improved some parts of the code I have had planned to improve for quite a while. This update will not be "visual" to you but it may improve performance slightly allowing not only Pocket Games to perform better but also your server as a whole as this update should free up some system resources.

[​IMG]
----------, Jul 19, 2018

Changelog:
  • Improvement: The noPerm item will now show when a multiplayer game which the players does not have permission for is clicked. Prior to this update, the available players were listed and you would get the noPermission message sent in chat instead of the block popping up.

    Suggested by @kirrasio.


  • Sounds: Three of the major sounds in Pocket Games have been made configurable in the settings.yml. The following sounds are configurable as of this update:
    Code (YAML):
    Sounds:
      lose
    : ANVIL_LAND
      win
    : LEVEL_UP
      noPermission
    : ANVIL_LAND
    The options are automatically added to the settings.yml file when you update.

    Suggested by @kirrasio

[​IMG]
----------, Jul 15, 2018

Changelog:
  • NPE fix: The latest update changed quite a few things. I'd overlooked a simple player online check. This occurred if a player had played a Pocket Games game and left the server. The following player checking would then throw an error. This has now been fixed; sorry for the inconvenience!
    Code (Text):
    org.bukkit.command.CommandException: Unhandled exception executing command 'pg' in plugin PocketGames v3.3.0
            at org.bukkit.command.PluginCommand.execute(PluginCommand.java:46) ~[spigot-1.12.2.jar:git-Spigot-7754231-94b0980]
            at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:141) ~[spigot-1.12.2.jar:git-Spigot-7754231-94b0980]
            at org.bukkit.craftbukkit.v1_12_R1.CraftServer.dispatchCommand(CraftServer.java:651) ~[spigot-1.12.2.jar:git-Spigot-7754231-94b0980]
            at net.minecraft.server.v1_12_R1.PlayerConnection.handleCommand(PlayerConnection.java:1392) [spigot-1.12.2.jar:git-Spigot-7754231-94b0980]
            at net.minecraft.server.v1_12_R1.PlayerConnection.a(PlayerConnection.java:1227) [spigot-1.12.2.jar:git-Spigot-7754231-94b0980]
            at net.minecraft.server.v1_12_R1.PacketPlayInChat.a(PacketPlayInChat.java:45) [spigot-1.12.2.jar:git-Spigot-7754231-94b0980]
            at net.minecraft.server.v1_12_R1.PacketPlayInChat.a(PacketPlayInChat.java:1) [spigot-1.12.2.jar:git-Spigot-7754231-94b0980]
            at net.minecraft.server.v1_12_R1.PlayerConnectionUtils$1.run(SourceFile:13) [spigot-1.12.2.jar:git-Spigot-7754231-94b0980]
            at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [?:1.8.0_171]
            at java.util.concurrent.FutureTask.run(Unknown Source) [?:1.8.0_171]
            at net.minecraft.server.v1_12_R1.SystemUtils.a(SourceFile:46) [spigot-1.12.2.jar:git-Spigot-7754231-94b0980]
            at net.minecraft.server.v1_12_R1.MinecraftServer.D(MinecraftServer.java:748) [spigot-1.12.2.jar:git-Spigot-7754231-94b0980]
            at net.minecraft.server.v1_12_R1.DedicatedServer.D(DedicatedServer.java:406) [spigot-1.12.2.jar:git-Spigot-7754231-94b0980]
            at net.minecraft.server.v1_12_R1.MinecraftServer.C(MinecraftServer.java:679) [spigot-1.12.2.jar:git-Spigot-7754231-94b0980]
            at net.minecraft.server.v1_12_R1.MinecraftServer.run(MinecraftServer.java:577) [spigot-1.12.2.jar:git-Spigot-7754231-94b0980]
            at java.lang.Thread.run(Unknown Source) [?:1.8.0_171]
    Caused by: java.lang.NullPointerException
            at com.live.bemmamin.pocketgames.games.Game.playerIsPlaying(Game.java:487) ~[?:?]
            at com.live.bemmamin.pocketgames.MainGUI.menu(MainGUI.java:51) ~[?:?]
            at com.live.bemmamin.pocketgames.commands.pocketgamescmd.PlayAndHighscoreSub.onCommand(PlayAndHighscoreSub.java:44) ~[?:?]
            at com.live.bemmamin.pocketgames.commands.AbstractCommand.onCommand(AbstractCommand.java:47) ~[?:?]
            at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44) ~[spigot-1.12.2.jar:git-Spigot-7754231-94b0980]
            ... 15 more

    Reported by @Pangxie; Thanks!

[​IMG]
----------, Jul 11, 2018

Changelog:
  • Performance & Memory: This update improves the major Player wrapper class. To keep it short and simple the wrapper class is now referenced by UUID with the players UUID as the Map key and no longer the Player object itself. Using the Player object could cause memory leaks over long periods of time with a reasonable amount of game activity. This is no longer the case.

    As this update potentially frees up memory on your server I'd strongly advise that you update to this version to benefit from the improvements. This can benefit more than just Pocket Games as it will free up more system resources for other plugins to allow them to also perform better.

[​IMG]
----------, Jul 11, 2018

Changelog:
  • GameHeaders: If you were to change the game header for a multiplayer game you weren't able to challenge a player by clicking their head in the challenge list. This was caused by the game checking for the game id and not the game header. This has been changed so that now both commands and the player heads work with the game header.

    Discovered by @Pangxie; thanks!

  • Message: The invite message sent to the challenged player will now replace the %game% placeholder with the header and not the id.

[​IMG]
----------, Jul 8, 2018

Changelog:
  • New Multiplayer Game: Drop Tower!

    Drop Tower is known as a Pocket Games singleplayer game, however, the multiplayer version has turned out to be a lot more fun. This multiplayer game is very intense and fast paced and makes for some awesome close battles!

    [​IMG]

    Game Configuration:
    Code (YAML):
    # Edit DropTower in this file.
    #
    # All items are customizable. Play around with the GameSettings and find the sweet spot for your server!
    #
    # Warning: Always ctrl+a and ctrl+c before testing your new settings. One small mistake can result in a file reset!


    Enabled
    : true
    GameHeader
    : '&7&lDrop Tower'
    MenuItem
    :
      page
    : 1
      slot
    : 20
      item
    : DROPPER
      name
    : '        &6&l&m-- [-&f  &7&lDrop Tower&f  &6&l&m- ]--'
      lore
    :
     - ' &f&m --------------------------------&7 '
      - '  &eDrop as quick as you can and avoid'
      - '  &ereaching the top! The player who'
      - '  &ecan''t keep up loses. Good luck!'
      - ' &7&m --------------------------------&7 '
      - '  &f&oClick to challenge a player!'
      - ' &7&m --------------------------------&7 '
    GameItems
    :
      background
    :
        item
    : STAINED_GLASS_PANE:3
        name
    : '&b&l*'
      platforms
    :
        item
    : QUARTZ_BLOCK
        name
    : '&f&l*'
    GameSettings
    :
      gameSpeed
    : 10
      maxGameSpeed
    : 4
    Controls
    :
      left
    :
        slot
    : 21
        head
    : http://textures.minecraft.net/texture/5f133e91919db0acefdc272d67fd87b4be88dc44a958958824474e21e06d53e6
        name
    : '&aLeft'
      right
    :
        slot
    : 23
        head
    : http://textures.minecraft.net/texture/e3fc52264d8ad9e654f415bef01a23947edbccccf649373289bea4d149541f70
        name
    : '&aRight'

  • Alias: An obvious alias "mp" for "multiplayer" was not available. This has been added.

    Suggested by @Arkobat

[​IMG]
----------, Jul 5, 2018

Changelog:
  • Change: The crashSafety file is now created on server startup if it doesn't exist. Previously it was generated when it was first written to.

  • GroupManager Fix: As GroupManager doesn't interpret the '*' node very well the pocketgames.game and pocketgames.multiplayergame permissions were created to be able to easily give permission to all games, however, the multiplayer permission did not work correctly. This has been fixed and pocketgames.multiplayergame now works as intended.

    Reported by @xLengoBug5 , thanks!

  • Invite delay: Previously you could potentially spam other players by clicking the player's head very fast in the challenge menu. An invite delay has been introduced in this update which will set an invite delay.

    Added to settings.yml: (The delay is in seconds)
    Code (YAML):
    Multiplayer:
      duelInviteDelay
    : 2
    Added to messages.yml:
    Code (YAML):
    duelInviteDelay : ' %prefix% &cPlease wait before sending another invite!'

Sorry for the lack of new games; I've been very busy. I'll do my best to get a new game out asap! ;)

[​IMG]
----------, Jul 1, 2018

Changelog:
  • Update Checker: An update checker has been implemented. This will notify you in the console on startup/reloads when a new update is available on Spigot as well as OPs when they join.

    Please note that you won't get notified about this update. Once you've updated to this version you'll get notifications of following new updates and onwards.

    Join message:
    [​IMG]

    Console message:
    [​IMG]

  • Change: The starting direction in Snake multiplayer has been changed so that both snakes start in the down direction. This has been done as you only had a few seconds to quickly switch direction going left and right which caught players off guard; especially new players.

[​IMG]
----------, Jun 27, 2018

Changes:
  • Multiplayer: Multiplayer games are now ended if a player disconnects, times out, gets kicked etc. Previously it would not register correctly if the player didn't manually close the inventory which would simply leave the game open with the remaining player waiting.

  • Particles: If a player timed out or lost connection to the server and the invulnerability particle sphere was active it could get left behind for a few minutes. The player's connection is now checked when the sphere updates which will make it disappear immediately if the player is no longer online.

[​IMG]
----------, Jun 21, 2018

Changes:
  • Timer Fix: The timers were not affected by the click validation logic performed in some games. This caused the plugin to correctly ignore invalid clicks yet incorrectly stop the Inactivity timer on an invalid click.

    Example:
    I've placed my move in TicTacToe. My opponent then clicks on the piece I placed which is an invalid move since he/she can't place a piece on top of mine. The click is correctly canceled but the timer is stopped. Then he/she could wait for me to get annoyed and leave and then he/she would be picked as the winner.

    This has been fixed in this update and the timer is now only stopped on valid clicks. This was an issue in DustFlip, TicTacToe, and Connect4.

    Discovered by a Pocket Games user.

[​IMG]
----------, Jun 18, 2018

Changes:
  • Crash Safety: This update introduces a whole new inventory safety system. If the server crashed, because of another plugin or system issues, player inventories are now completely safe.

    Prior to this update if the server crashed or you stopped the server incorrectly by e.g. pressing the X close button on your console, inventories could be lost if a player had the Pocket Games inventory open and instead, players ended up with the Pocket Games inventory. This is now an issue of the past.

    When a player opens the Pocket Games menu their inventory is saved internally and in a file. Once they close the inventory again their inventory is returned and deleted from the file. If the server crashes during play; the players' inventory is still stored in the file. When they rejoin it is returned correctly and then removed from the file.

    File:
    Code (YAML):
    # This is a crash safety storage file for player inventories.
    #
    # Once a player starts playing a Pocket Game their inventory is stored internally and in this file.
    # The player is removed again once they are no longer playing.
    # The player's inventory will remain in this file and is not lost should the server unexpectedly crash during play for whatever reason.
    # This file is checked when a player joins. If the player is in the file the inventory is returned to the player.
    #
    # Do NOT edit this file manually unless you know exactly what you are doing.


    PlayerInventories
    :
      #Example Player
      a0513513-a813-47fd-b825-7c727aa20dc0
    : rO0ABXBzcgAab3JnLmJ1a2tpdC51dGlsLmlvLldyYXBwZXLyUEfs8RJvBQIAAUwAA21hcHQAD0xqYXZhL3V0aWwvTWFwO3hwc3IANWNvbS5nb29nbGUuY29tbW9uLmNvbGxlY3QuSW1tdXRhYmxlTWFwJFNlcmlhbGl6ZWRGb3JtAAAAAAAAAAACAAJbAARrZXlzdAATW0xqYXZhL2xhbmcvT2JqZWN0O1sABnZhbHVlc3EAfgAEeHB1cgATW0xqYXZhLmxhbmcuT2JqZWN0O5DOWJ8QcylsAgAAeHAAAAAEdAACPT10AAR0eXBldAAGYW1vdW50dAAEbWV0YXVxAH4ABgAAAAR0AB5vcmcuYnVra2l0LmludmVudG9yeS5JdGVtU3RhY2t0AAtNT05TVEVSX0VHR3NyABFqYXZhLmxhbmcuSW50ZWdlchLioKT3gYc4AgABSQAFdmFsdWV4cgAQamF2YS5sYW5nLk51bWJlcoaslR0LlOCLAgAAeHAAAABAc3EAfgAAc3EAfgADdXEAfgAGAAAAA3EAfgAIdAAJbWV0YS10eXBldAACaWR1cQB+AAYAAAADdAAISXRlbU1ldGF0AAlTUEFXTl9FR0d0AAh2aWxsYWdlcnBzcQB+AABzcQB+AAN1cQB+AAYAAAAEcQB+AAhxAH4ACXQABmRhbWFnZXEAfgAKdXEAfgAGAAAABHEAfgANdAAEV09PRHNyAA9qYXZhLmxhbmcuU2hvcnRoTTcTNGDaUgIAAVMABXZhbHVleHEAfgAQAANxAH4AEXBwcHBwc3EAfgAAc3EAfgADdXEAfgAGAAAAA3EAfgAIcQB+AAlxAH4AC3VxAH4ABgAAAANxAH4ADXEAfgAOc3EAfgAAc3EAfgADdXEAfgAGAAAAA3EAfgAIcQB+ABVxAH4AFnVxAH4ABgAAAANxAH4AGHEAfgAZcQB+ABpzcQB+AABzcQB+AAN1cQB+AAYAAAAEcQB+AAhxAH4ACXEAfgAecQB+AAp1cQB+AAYAAAAEcQB+AA1xAH4AIHEAfgAicQB+ABFwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBw

[​IMG]
----------, Jun 15, 2018

New Game: Sudoku!
[​IMG]

Game Configuration:
Code (YAML):
# Edit Sudoku in this file.
#
# Here is a link to all available banner colors: https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/DyeColor.html!
# You can add and remove any board you want in the list of boards. Follow the default format.
#
# Warning: Always ctrl+a and ctrl+c before testing your new settings. One small mistake can result in a file reset!


Enabled
: true
GameHeader
: '&f&lSudoku'
MenuItem
:
  page
: 3
  slot
: 32
  item
: DAYLIGHT_DETECTOR
  name
: '      &6&l&m-- [-&f  &f&lSudoku&f  &6&l&m- ]--'
  lore
:
 - ' &f&m -------------------------&7 '
  - ' &e Sudoku is a popular puzzle'
  - ' &e game. Fill the 9x9 grid with'
  - ' &e numbers so that each row,'
  - ' &e column, and 3x3 section'
  - ' &e contain all digits between'
  - ' &e 1 and 9. Do it as fast as'
  - ' &e you can for the best score.'
  - ' &7&m -------------------------&7 '
  - '  &f&oLeft Click -> Play Game'
  - '  &f&oRight Click -> Highscore'
  - ' &7&m -------------------------&7 '
GameItems
:
  background
:
    item
: STAINED_GLASS_PANE:15
    name
: '&f&l█'
  Banner
:
    Generated
:
      baseColor
: WHITE
      numberColor
: RED
    Player
:
      baseColor
: WHITE
      numberColor
: BLACK
      numberColorSelected
: BLUE
Boards
:
  '1'
:
  - 0,0,3,0,2,0,6,0,0
  - 9,0,0,3,0,5,0,0,1
  - 0,0,1,8,0,6,4,0,0
  - 0,0,8,1,0,2,9,0,0
  - 7,0,0,0,0,0,0,0,8
  - 0,0,6,7,0,8,2,0,0
  - 0,0,2,6,0,9,5,0,0
  - 8,0,0,2,0,3,0,0,9
  - 0,0,5,0,1,0,3,0,0
  '2'
:
  - 2,0,0,0,8,0,3,0,0
  - 0,6,0,0,7,0,0,8,4
  - 0,3,0,5,0,0,2,0,9
  - 0,0,0,1,0,5,4,0,8
  - 0,0,0,0,0,0,0,0,0
  - 4,0,2,7,0,6,0,0,0
  - 3,0,1,0,0,7,0,4,0
  - 7,2,0,0,4,0,0,6,0
  - 0,0,4,0,1,0,0,0,3
  '3'
:
  - 0,0,0,0,0,0,9,0,7
  - 0,0,0,4,2,0,1,8,0
  - 0,0,0,7,0,5,0,2,6
  - 1,0,0,9,0,4,0,0,0
  - 0,5,0,0,0,0,0,4,0
  - 0,0,0,5,0,7,0,0,9
  - 9,2,0,1,0,8,0,0,0
  - 0,3,4,0,5,9,0,0,0
  - 5,0,7,0,0,0,0,0,0
...
  '50'
:
  - 3,0,0,2,0,0,0,0,0
  - 0,0,0,1,0,7,0,0,0
  - 7,0,6,0,3,0,5,0,0
  - 0,7,0,0,0,9,0,8,0
  - 9,0,0,0,2,0,0,0,4
  - 0,1,0,8,0,0,0,5,0
  - 0,0,9,0,4,0,3,0,1
  - 0,0,0,7,0,2,0,0,0
  - 0,0,0,0,0,8,0,0,6
----------, Jun 13, 2018

Changes:
  • MySQL warning: The SSL warning has been taken care of. This was harmless but could occur depending on your MySQL server version.

  • MySQL saves: The game saving system did not work properly for bungee server teleportation. If you used a bungee portal or command your saves would get uploaded as you left the server, but before the data reached the MySQL server the old data was retrieved as you joined the other server, effectively resulting in overwriting your previous saves if you had played a saveable game.

    This has been taken care of and saves are now uploaded when you close the Pocket Games inventory and the retrieval has been delayed a second when you join. This will ensure that there is plenty of time in between bungee server switches to both upload and retrieve the correct data. This is still done asynchronously as to not impact performance!

    Spotted by @coolroi.

  • Command fix: The aliases for the /pg play/highscore command were messed up. Instead of being ("highscore", "p", and "h") they were written as ("highscore, p, h"). This has been fixed.

    Discovered by @mibby.

  • Multiplayer fix: If the timing was just right and a player left the game at a certain moment the plugin could throw an NPE. This was harmless but has been fixed.

    Reported by @mibby.
[​IMG]
----------, Jun 6, 2018

Changes:
  • New command: You can now open the multiplayer game menu via the following command:
    /pocketgames multiplayer [player]

    The permission to use this command is:
    pocketgames.commands.multiplayer

    Suggested by @ICEconchy.

  • Player selector revision: Some permission plugins doesn't interpret the * node very well for some reason. Therefore you can now give the following permission to players who have access to all multiplayer games:
    pocketgames.multiplayergame

    This permission is a substitute for pocketgames.multiplayergame.*. You can use this if you are having trouble with players not showing up in the duel menu. PEX will handle the * node just fine.
----------, Jun 3, 2018

This is by far the largest update since the release of Pocket Games and it has taken a lot of time. If you do find any issues please let me know as soon as possible. If you wish to support me further you can do so by clicking here.

The update is a drag&drop update. Everything will be added after a reload/restart.

Changes:
  • Multiplayer: Pocket Games finally features multiplayer games. Challenge anyone on the server in one of the brand new Multiplayer minigames. The multiplayer GUI challenge system works almost the same as the spectator menu. Click the new multiplayer button in the Main Menu, chose a game, and pick a player in the list of permissible players to challenge. The GUI challenge list is dynamic just as the spectator selector.

  • Six Multiplayer Games: That's right! Six multiplayer games have been added with this update. All games are customizable.
    [​IMG]
    [​IMG]
    [​IMG]
    [​IMG]
    [​IMG]

  • New Command: /pocketgames duel <accept/deny/player> [game].
    With this command, you can accept or deny a challenge from another player as well as invite a player to a game.

  • 7 New Messages:
    Code (YAML):
     targetPlayerNoPerm : ' %prefix% &cThe targeted player does not have permission to
        do this!'
      duelInviteSent
    : ' %prefix% &aYour duel invite has been sent!'
      duelInviteReceived
    : ' %prefix% &a%player% has invited you to play %game%! Use /pg
        duel accept/deny!'
      duelInviteDeclined
    : ' %prefix% &c%player% has declined your duel invite!'
      duelInviteAccepted
    : ' %prefix% &a%player% has accepted your duel invite!'
      noInvite
    : ' %prefix% &cYou have not been invited to a game!'
      isPlaying
    : ' %prefix% &cPlayer is already playing!'
  • New Settings: A few settings regarding the Multiplayer feature has been added to the settings.yml file:
    Code (YAML):
    Multiplayer:
      enabled
    : true
      head
    : http://textures.minecraft.net/texture/c56c4d0ac3277547a093d0b79e39d846593c674f3f5f81a8cb9b1826a073
      name
    : '&f&eMultiplayer Games!'
      lore
    :
     - ''
      - '&7&oClick here to play Multiplayer Games!'
      slot
    : 23
      opponent
    :
        name
    : '&a %player%'
        lore
    :
       - ''
        - '&7Click here to challenge.'
      endScreen
    :
        background
    :
          item
    : STAINED_GLASS_PANE:3
          name
    : '&b&l█'
        winnerBanner
    : true
      Inactivity
    :
        item
    : WATCH
        name
    : '&a %seconds% &eseconds to make your move!'

  • New Permissions:
    pocketgames.multiplayer: Needed to open the multiplayer GUI menu.
    pocketgames.commands.duel: Needed to use the duel command.
    pocketgames.multiplayergame.<game lowercase>/*: Needed to play multiplayer games.

  • Improved command framework: All commands now have aliases.
    E.g /pocketgames duel accept can be written as /pg d a.

[​IMG]
----------, Jun 1, 2018

Changes:
  • Game Saves: Prior to this update game saves for 2048, Super 2048, and Cookie Clicker was only supported locally in flat-file format. This has been changed and saves are now stored in your database if you have it enabled. The data is fetched when a player joins and cached internally and then uploaded again when they disconnect. The remaining cached data, if any, is uploaded on server shutdown. This is all done asynchronously so you won't notice any performance impacts at all.

    A new table is created on reload/restart named "saves". This table stores all saves from every game and every user.

  • Change: Cookie Clicker now autosaves every 30 seconds instead of 60 seconds.

[​IMG]
----------, May 20, 2018

Changes:
  • Spectator auto-refresh: The spectator menu will now automatically refresh the active players when they enter and leave a game. Previously, you would have to click on the spectator menu head again to update it.

  • Spectator escape: If you press the escape key (try to close the inventory) while spectating another player you will be redirected to the spectator menu again. The same is achievable by clicking on the close or main menu button.

  • Spectator end-game: Prior to this update you would be redirected to the main menu once a player had ended his/her game. You will now be redirected to the spectator menu again.

  • Messages: I was notified that the check command messages weren't editable. This has been changed and the messages are now editable in the messages.yml file. They are automatically added:
    Code (YAML):
      checkCommandPlaying : ' %prefix% &a%player% &eis playing &a%game%!'
      checkCommandNotPlaying
    : ' %prefix% &a%player% &eis not playing!'
      checkCommandMenu
    : ' %prefix% &a%player% &eis currently viewing the Pocket Games Menu!'
Suggested features by @__Melowelei__ :)

[​IMG]
----------, May 14, 2018

Changes:
  • New Game: Tic Tac Toe:
    [​IMG]

    Game Configuration:
    Code (YAML):
    # Edit TicTacToe in this file.
    #
    # This game implements an unbeatable AI. The difficulty can be set by changing the 'AI_ChanceOfRandomMove'.
    # If this is set to 0 you can only tie or lose, never win. Setting it higher increases the chance of choosing a
    # random move instead of the correct move. (The random move can still be the correct move)
    #
    # Warning: Always ctrl+a and ctrl+c before testing your new settings. One small mistake can result in a file reset!


    Enabled
    : true
    GameHeader
    : '&3&lTic Tac Toe'
    MenuItem
    :
      page
    : 3
      slot
    : 30
      item
    : SLIME_BALL
      name
    : '   &6&l&m-- [-&f  &3&lTic Tac Toe &6&l&m- ]--'
      lore
    :
     - ' &f&m -------------------------&7 '
      - '  &ePlay TicTacToe against the'
      - '  &ecomputer. Win as many times'
      - '  &eas you can in sixty seconds!'
      - ' &7&m -------------------------&7 '
      - '  &f&oLeft Click -> Play Game'
      - '  &f&oRight Click -> Highscore'
      - ' &7&m -------------------------&7 '
    GameItems
    :
      border
    :
        item
    : STAINED_GLASS_PANE:15
        name
    : '&f&l█'
      board
    :
        item
    : STAINED_GLASS_PANE:7
        name
    : '&f&l█'
      playerItem
    :
        item
    : SLIME_BALL
        name
    : '&4&l⬤'
      AI_Item
    :
        item
    : NETHER_STAR
        name
    : '&9&l╳'
    GameSettings
    :
      AI_ChanceOfRandomMove
    : 20
      gameDuration
    : 60
    Suggested by @Funtime and @Wolfables :)
----------, May 12, 2018

Changes:
  • Spectate Command: Prior to this update, players were only able to access the spectator menu through the main menu. As of this update players can now access the spectator menu via this command:

    /pocketgames spectate [player]

    The permission to use this command is the permission: pocketgames.spectate. The player parameter will open up the spectator menu for another player and requires the pocketgames.sudo permission.

    Opening the spectator menu will not allow players to access the main menu if they do not have the permission for it.
Suggested by @ICEconchy :)
----------, May 1, 2018

Changes:
  • Invisibility: You can now choose to turn players invisible instead of invulnerable when they are playing pocket games. The following has been added to your settings.yml file.
    Code (YAML):
    Invulnerability:
      setInvisibleInstead
    : false
    As you can see it is located under the Invulnerability section.

    Setting this to true will completely hide the player meaning the player is undamageable and the particle sphere won't spawn.

    Suggested by @Wolfables :)
----------, Apr 28, 2018

Changes:
  • New Game: Flow!
    [​IMG]
    Game Configuration for Flow:
    Code (YAML):
    # Edit Flow in this file.
    #
    # The select: specifies the amount of unique random levels of that difficulty to complete in a run.
    # Add as many colors and levels as you want. Tip: Keeping the color at a length of 4 makes the config a lot more foreseeable.
    # You cannot add or change the difficulties! Please also make sure to always have exactly 2 of each color you choose in a level.
    # All the pre-configured levels are completable though it is possible to add impossible levels. Refrain from doing that.
    #
    # Warning: Always ctrl+a and ctrl+c before testing your new settings. One small mistake can result in a file reset!


    Enabled
    : true
    GameHeader
    : '&c&lF&2&lL&1&lO&e&lW'
    MenuItem
    :
      page
    : 3
      slot
    : 31
      item
    : DOUBLE_PLANT
      name
    : '        &6&l&m-- [-&f  &c&lF&2&lL&1&lO&e&lW  &6&l&m- ]--'
      lore
    :
     - ' &f&m --------------------------&7 '
      - '  &ePlay a replica of the popular'
      - '  &egame Flow Free. Connect the'
      - '  &ecolors by clicking on a color'
      - '  &eand then clicking your way'
      - '  &eover to the matching one.'
      - '  &eConnect all colors to go to'
      - '  &ethe next level. Beat 9 random'
      - '  &elevels ranging in difficulty'
      - '  &eas fast as you possibly can!'
      - ' &7&m --------------------------&7 '
      - '  &f&oLeft Click -> Play Game'
      - '  &f&oRight Click -> Highscore'
      - ' &7&m --------------------------&7 '
    GameItems
    :
      background
    :
        item
    : STAINED_GLASS_PANE:15
        name
    : '&0&l█'
      fill
    :
        item
    : STAINED_GLASS_PANE:0
        name
    : '&f&l█'
      Colors
    :
        red_
    :
          item
    : CONCRETE:14
          name
    : '&4&l█'
        lblu
    :
          item
    : CONCRETE:3
          name
    : '&b&l█'
        oran
    :
          item
    : CONCRETE:1
          name
    : '&6&l█'
        yell
    :
          item
    : CONCRETE:4
          name
    : '&e&l█'
        blue
    :
          item
    : CONCRETE:11
          name
    : '&1&l█'
        gree
    :
          item
    : CONCRETE:13
          name
    : '&2&l█'
        pink
    :
          item
    : CONCRETE:2
          name
    : '&d&l█'
    Levels
    :
      easy5x5
    :
        select
    : 3
        '1'
    :
       - red_,fill,gree,fill,yell
        - fill,fill,blue,fill,oran
        - fill,fill,fill,fill,fill
        - fill,gree,fill,yell,fill
        - fill,red_,blue,oran,fill
        '2'
    :
       - yell,fill,fill,fill,fill
        - fill,fill,fill,fill,fill
        - fill,fill,gree,fill,fill
        - blue,gree,red_,fill,yell
        - red_,fill,fill,fill,blue
        '3'
    :
       - fill,yell,blue,gree,fill
        - fill,fill,fill,red_,fill
        - fill,fill,red_,fill,fill
        - yell,fill,fill,oran,fill
        - blue,fill,oran,gree,fill
        '4'
    :
       - fill,fill,fill,red_,gree
        - red_,fill,fill,fill,fill
        - fill,fill,yell,fill,fill
        - fill,fill,fill,blue,fill
        - gree,blue,yell,fill,fill
        '5'
    :
       - fill,fill,fill,red_,gree
        - fill,yell,blue,gree,fill
        - fill,fill,fill,fill,fill
        - fill,fill,fill,fill,blue
        - fill,fill,red_,fill,yell
      medium6x6
    :
        select
    : 3
        '1'
    :
       - gree,yell,lblu,fill,red_,blue
        - fill,fill,fill,fill,oran,fill
        - fill,fill,lblu,fill,fill,fill
        - fill,fill,red_,fill,fill,fill
        - gree,fill,oran,fill,fill,fill
        - yell,fill,blue,fill,fill,fill
        '2'
    :
       - fill,oran,blue,fill,fill,gree
        - fill,fill,fill,fill,fill,fill
        - fill,fill,yell,red_,fill,gree
        - fill,fill,fill,lblu,fill,blue
        - fill,red_,yell,fill,lblu,oran
        - fill,fill,fill,fill,fill,fill
        '3'
    :
       - fill,fill,fill,fill,fill,fill
        - fill,yell,fill,fill,gree,fill
        - fill,fill,fill,red_,fill,fill
        - fill,fill,fill,fill,fill,fill
        - fill,fill,yell,blue,gree,fill
        - fill,fill,blue,red_,fill,fill
        '4'
    :
       - yell,fill,fill,fill,fill,fill
        - fill,fill,fill,fill,fill,fill
        - fill,fill,fill,fill,fill,fill
        - red_,gree,blue,gree,fill,fill
        - yell,blue,fill,red_,fill,fill
        - fill,fill,fill,fill,fill,fill
        '5'
    :
       - gree,fill,fill,fill,fill,fill
        - fill,fill,fill,fill,fill,fill
        - yell,fill,fill,red_,yell,fill
        - fill,fill,fill,fill,blue,fill
        - fill,blue,fill,fill,red_,fill
        - fill,fill,fill,fill,gree,fill
      hard7x7
    :
        select
    : 3
        '1'
    :
       - fill,fill,fill,fill,fill,fill,blue
        - fill,fill,fill,fill,fill,oran,red_
        - fill,oran,fill,fill,fill,fill,fill
        - fill,fill,fill,gree,lblu,fill,fill
        - fill,fill,gree,fill,yell,fill,fill
        - fill,fill,fill,fill,red_,yell,fill
        - fill,fill,fill,fill,fill,blue,lblu
        '2'
    :
       - fill,pink,red_,fill,fill,fill,fill
        - fill,fill,oran,blue,fill,blue,fill
        - fill,fill,gree,fill,fill,fill,fill
        - fill,fill,lblu,yell,fill,gree,fill
        - fill,fill,fill,fill,yell,lblu,fill
        - fill,fill,oran,fill,fill,fill,fill
        - fill,fill,pink,red_,fill,fill,fill
        '3'
    :
       - fill,fill,fill,fill,fill,fill,fill
        - gree,fill,fill,fill,fill,fill,fill
        - fill,fill,yell,fill,fill,fill,fill
        - fill,fill,fill,fill,yell,fill,fill
        - fill,fill,oran,fill,blue,fill,fill
        - red_,blue,fill,fill,oran,red_,fill
        - gree,fill,fill,fill,fill,fill,fill
        '4'
    :
       - lblu,blue,yell,fill,fill,fill,fill
        - fill,fill,fill,fill,fill,gree,fill
        - fill,red_,fill,yell,fill,fill,fill
        - fill,oran,fill,fill,blue,fill,fill
        - fill,fill,red_,fill,gree,fill,fill
        - fill,fill,fill,fill,fill,fill,fill
        - fill,lblu,fill,fill,fill,fill,oran
        '5'
    :
       - fill,fill,fill,fill,fill,fill,fill
        - lblu,red_,fill,red_,fill,gree,fill
        - fill,fill,pink,lblu,gree,fill,fill
        - fill,fill,yell,fill,fill,fill,blue
        - fill,fill,oran,fill,fill,fill,fill
        - fill,fill,fill,fill,yell,fill,blue
        - fill,fill,fill,fill,pink,fill,oran
    As seen in the default config file the colors item is CONCRETE. If you are not running a 1.12 server the colors item will by default be STAINED_CLAY instead. This is automatically handled upon file creation.

    As you may also have noticed in the configuration file, Flow comes with a custom level generator. You can create your own levels and you can create as many as you want. Just make sure each level is valid.
----------, Apr 27, 2018

Changes:
  • New Game: Tetris!
    [​IMG]
    Game Configuration for Tetris:
    Code (YAML):
    # Edit Tetris in this file.
    #
    # All items are customizable. Play around with the GameSettings and find the sweet spot for your server!
    #
    # Warning: Always ctrl+a and ctrl+c before testing your new settings. One small mistake can result in a file reset!


    Enabled
    : true
    GameHeader
    : '&c&lT&6&lE&e&lT&a&lR&b&lI&5&lS'
    MenuItem
    :
      page
    : 3
      slot
    : 21
      head
    : http://textures.minecraft.net/texture/bb8a0aca0ee10308d53f55b21eb7d88a685b2f892ff8d423f7e063761dc5
      name
    : '         &6&l&m-- [-&f  &c&lT&6&lE&e&lT&a&lR&b&lI&5&lS  &6&l&m- ]--'
      lore
    :
     - ' &f&m -----------------------------&7 '
      - '  &ePlay the good ol'' classic game'
      - '  &eTetris! Rotate tetrominoes and'
      - '  &earrange them correctly in order'
      - '  &eto score points. 1 line equals 1'
      - '  &epoint. Some features have been'
      - '  &ealtered in order to accommodate'
      - '  &ethe smaller sized inventory.'
      - ' &7&m -----------------------------&7 '
      - '  &f&oLeft Click -> Play Game'
      - '  &f&oRight Click -> Highscore'
      - ' &7&m -----------------------------&7 '
    GameItems
    :
      background
    :
        item
    : STAINED_GLASS_PANE:7
        name
    : '&c&l*'
      Tetrominoes
    :
        I
    :
          item
    : CONCRETE:3
          name
    : '&b&l█'
        J
    :
          item
    : CONCRETE:11
          name
    : '&1&l█'
        L
    :
          item
    : CONCRETE:1
          name
    : '&6&l█'
        O
    :
          item
    : CONCRETE:4
          name
    : '&e&l█'
        S
    :
          item
    : CONCRETE:5
          name
    : '&a&l█'
        T
    :
          item
    : CONCRETE:10
          name
    : '&5&l█'
        Z
    :
          item
    : CONCRETE:14
          name
    : '&4&l█'
    GameSettings
    :
      gameDuration
    : 120
      tetrominoeSpeed
    : 20
    Controls
    :
      up
    :
        slot
    : 13
        head
    : http://textures.minecraft.net/texture/a99aaf2456a6122de8f6b62683f2bc2eed9abb81fd5bea1b4c23a58156b669
        name
    : '&aRotate'
      down
    :
        slot
    : 22
        head
    : http://textures.minecraft.net/texture/3912d45b1c78cc22452723ee66ba2d15777cc288568d6c1b62a545b29c7187
        name
    : '&aDown'
      left
    :
        slot
    : 21
        head
    : http://textures.minecraft.net/texture/5f133e91919db0acefdc272d67fd87b4be88dc44a958958824474e21e06d53e6
        name
    : '&aLeft'
      right
    :
        slot
    : 23
        head
    : http://textures.minecraft.net/texture/e3fc52264d8ad9e654f415bef01a23947edbccccf649373289bea4d149541f70
        name
    : '&aRight'
      drop
    :
        slot
    : 14
        head
    : http://textures.minecraft.net/texture/25e9152efd892f60d7e0d7e53369e04779ed3111e2fb2752b6f4c26df540aedc
        name
    : '&cDrop'
    As seen in the default config file the tetrominoes item is CONCRETE. If you are not running a 1.12 server the tetrominoe item will by default be STAINED_CLAY instead. This is automatically handled upon file creation.

  • Optimized: Changed up some internal inventory handling to support larger inventories.
----------, Apr 16, 2018

Changes:
  • Improved: The spectator mode's update logic has been improved a lot. This allows it to be 100% consistent regarding items with e.g. enchantment glow. Prior to this update, items switching between being enchanted and not enchanted (e.g. selection in Block Crush and flashing in Simon Says) would update inconsistently. Sometimes the glow would never change, sometimes it would take a few seconds to change etc. This update fixes this and glowing items and other attributes are now updated seamlessly and immediately.

  • Improved: The spectator mode inventory will now change its size depending on the size of the game. E.g. games which are only 5 rows big would leave an empty row at the bottom of the spectator inventory. The inventory will now reduce its size to get rid of the empty row. This has been implemented to also support inventories larger than 6 rows which an upcoming game is going to need ;)

  • Fix - The lore would not get added to the spectator item in the settings.yml if the file wasn't new as well as it being a String and not a String list. This has been fixed. (You will have to manually change this if you already updated)
----------, Apr 14, 2018

Changes:
  • Spectator mode: After a lot of testing I am finally ready to release the Pocket Games Spectator mode. Essentially, this feature allows players to take a peek at other players playing by mirroring their inventory. This includes the player inventory so you can follow the game, score, launch mechanics in some games, and other features.
    [​IMG]

    The Spectator mode is available through a new button added to the main menu. Clicking this button opens a paginated GUI showing all current players. If there are more than 45 concurrent players the next page arrow is added to the inventory.

    The following options are automatically added to the settings.yml file:
    Code (YAML):
    Spectator:
      enabled
    : true
      item
    : SKULL_ITEM:3
      name
    : '&eSpectate Players'
      lore
    :
      - '&aClick here.'
      slot
    : 9
      head
    :
        name
    : '&a %player% &eis playing &b%game_noColor%!'
        lore
    :
       - ''
        - '&7Click here to spectate.'
    The following three placeholders are supported in both the name and lore:
    %player%, %game%, and %game_noColor%.

    The permission to spectate players is:
    pocketgames.spectate
----------, Apr 7, 2018

Changes:
  • New Game: Dont Tap!
    [​IMG]
    Game Configuration for Dont Tap:
    Code (YAML):
    # Edit DontTap in this file.
    #
    # All items are customizable. Play around with the GameSettings and find the sweet spot for your server!
    #
    # Warning: Always ctrl+a and ctrl+c before testing your new settings. One small mistake can result in a file reset!


    Enabled
    : true
    GameHeader
    : '&c&lDont Tap'
    MenuItem
    :
      page
    : 3
      slot
    : 23
      item
    : LAVA_BUCKET
      name
    : '        &6&l&m-- [-&f  &c&lDont Tap&f  &6&l&m- ]--'
      lore
    :
     - ' &f&m -------------------------------&7 '
      - '  &eYou have 10 seconds to click 30'
      - '  &ewater buckets. Every 30 buckets'
      - '  &eyou click, you get another 10 secs.'
      - '  &eBeware! Do not tap the burning hot'
      - '  &elava buckets! They will kill you!'
      - ' &7&m -------------------------------&7 '
      - '  &f&oLeft Click -> Play Game'
      - '  &f&oRight Click -> Highscore'
      - ' &7&m -------------------------------&7 '
    GameItems
    :
      background
    :
        item
    : STAINED_GLASS_PANE:3
        name
    : '&7&l*'
      tap
    :
        item
    : WATER_BUCKET
        name
    : '&b&lCold'
      dontTap
    :
        item
    : LAVA_BUCKET
        name
    : '&c&lHot'
      timer
    :
        item
    : WATCH
        name
    : '&7Timer'
    GameSettings
    :
      time
    : 10
      clicks
    : 30
     
    This game is excluded from the Global Rewards by default. This is due to the fact that it is easily beaten with a script for someone who knows how to write one. You can enable global rewards manually in the rewards.yml file.
----------, Apr 1, 2018

Changes:
  • New Game: Block Crush!
    [​IMG]
    Game Configuration for Block Crush:
    Code (YAML):
    # Edit BlockCrush in this file.
    #
    # Add/remove as many blocks as you want.
    # Do not add the glow: attribute to the blocks as it is used to show selected and connected items.
    #
    # Warning: Always ctrl+a and ctrl+c before testing your new settings. One small mistake can result in a file reset!


    Enabled
    : true
    GameHeader
    : '&e&lBlock Crush'
    MenuItem
    :
      page
    : 3
      slot
    : 22
      item
    : IRON_BLOCK
      name
    : '      &6&l&m-- [-&f  &e&lBlock Crush&f  &6&l&m- ]--'
      lore
    :
     - ' &f&m ------------------------------&7 '
      - '  &eBlock Crush is as you might have'
      - '  &eguessed a Pocket Games version'
      - '  &eof the popular game Candy Crush.'
      - '  &eSwap blocks and connect them in'
      - '  &elength of at least three blocks.'
      - ' &7&m ------------------------------&7 '
      - '  &f&oLeft Click -> Play Game'
      - '  &f&oRight Click -> Highscore'
      - ' &7&m ------------------------------&7 '
    GameItems
    :
      background
    :
        item
    : STAINED_GLASS_PANE:7
        name
    : '&7&l*'
      movesCounter
    :
        item
    : WATCH
        name
    : '&e %moves% &9moves left!'
        slot
    : 22
      Blocks
    :
        dirt
    :
          item
    : DIRT
          name
    : '&fDirt'
        stone
    :
          item
    : STONE
          name
    : '&7Stone'
        log
    :
          item
    : LOG
          name
    : '&6Log'
        sand
    :
          item
    : SAND
          name
    : '&eSand'
        ice
    :
          item
    : ICE
          name
    : '&bIce'
        brick
    :
          item
    : BRICK
          name
    : '&cBricks'
        netherrack
    :
          item
    : NETHERRACK
          name
    : '&4Netherrack'
    GameSettings
    :
      moves
    : 15
      gravitySpeed
    : 3

  • Internal change: Changed up some internal packaging regarding each game to be able to create games in a cleaner manner.
----------, Mar 26, 2018

Changes:
  • Fix - Restructured some code regarding the invulnerability feature to make sure the particle sphere is removed every time. It could in extremely rare cases get left behind due to low TPS + a player disconnection.

  • Game update - The timer in the Speed Clicker game will start after the first click instead of immediately. This has been requested so you can align your cursor correctly before the game starts.
----------, Mar 18, 2018

Changes:
  • Fix - Global rewards would only execute if the game also had unique rewards for that position as well. This has been fixed meaning global rewards now execute for any game even if no unique rewards have been specified for that particular game.

  • Feature - It has become apparent to me that some games are easy to continuously reach a new top position in e.g CookieClicker. Therefore, a new global exclusion option has been added to all games in the rewards.yml file. If you are using the global rewards you can now exclude certain games from being a part of those rewards. All games except for the CookieClicker game are not excluded by default.
    The exclusion options are all added automatically. Drag and drop the new jar and /reload.

    New default file example:
    Code (YAML):
    # This is a rewards file for all Pocket Games.
    #
    # Commands are executed as Console and corresponds to the highscore position a player reaches.
    # Default is executed if a player did not make the highscore, but cleared 'minimum_points'/'maximum_time'.
    # It is also possible to have rewards based on score. Refer to the example below.
    # Valid placeholders: %player%, %score%, %time%, %game% & %game_noColor%
    # Example reward: (Do not use '/')
    #
    # DiamondCollect:
    #   '1':
    #     rewards:
    #     - false, broadcast &d&l%player% &ereached first position in &b&lDiamondCollect &ewith a score of %score% points!
    #     - true, give %player% diamond 1
    #     - false, msg %player% &aYou just won 100$!
    #     - false, eco give %player% 100
    #   '2':
    #     rewards: []
    #   '3':
    #     rewards: []
    #   '4':
    #     rewards: []
    #   '5':
    #     rewards: []
    #   default:
    #     rewards: []
    #   scoreRewards:
    #     '5':         #<- Score is 5 to 9.
    #       rewards:
    #       - false, broadcast &a%player% scored between 5 and 9!
    #     '10':        #<- Score is 10 to 14.
    #       rewards:
    #       - false, broadcast &a%player% scored between 10 and 14!
    #     '15':        #<- Score is 15 or higher.
    #       rewards:
    #       - false, broadcast &a%player% scored more than 15!
    #
    # GlobalRewards are executed for all games. If '1' in GlobalRewards is set it would be executed as well as the above.
    #
    # The boolean (true/false) value is used to queue commands until the game inventory is closed again.
    # This is used to avoid giving a player items in the Pocket Games inventory and effectively deleting them again on close.
    # true = queue, false = execute instantly. Queue ALL commands that reward items. Messages and eco are ok to execute instantly.
    # Use this link to watch an in-depth guide on how to configure the rewards correctly: https://www.youtube.com/watch?v=YbxBuPPvffA&t=406s


    GlobalRewards
    :
      '1'
    :
        rewards
    : [ ]
      '2'
    :
        rewards
    : [ ]
      '3'
    :
        rewards
    : [ ]
      '4'
    :
        rewards
    : [ ]
      '5'
    :
        rewards
    : [ ]
      default
    :
        rewards
    : [ ]
    DiamondCollect
    :
      excludeFromGlobal
    : false
      '1'
    :
        rewards
    : [ ]
      '2'
    :
        rewards
    : [ ]
      '3'
    :
        rewards
    : [ ]
      '4'
    :
        rewards
    : [ ]
      '5'
    :
        rewards
    : [ ]
      default
    :
        rewards
    : [ ]
      scoreRewards
    :
        '0'
    :
          rewards
    : [ ]
    AppleCatch
    :
      excludeFromGlobal
    : false
      '1'
    :
        rewards
    : [ ]
      '2'
    :
        rewards
    : [ ]
      '3'
    :
        rewards
    : [ ]
      '4'
    :
        rewards
    : [ ]
      '5'
    :
        rewards
    : [ ]
      default
    :
        rewards
    : [ ]
      scoreRewards
    :
        '0'
    :
          rewards
    : [ ]
    FlappyBird
    :
      excludeFromGlobal
    : false
      '1'
    :
        rewards
    : [ ]
      '2'
    :
        rewards
    : [ ]
      '3'
    :
        rewards
    : [ ]
      '4'
    :
        rewards
    : [ ]
      '5'
    :
        rewards
    : [ ]
      default
    :
        rewards
    : [ ]
      scoreRewards
    :
        '0'
    :
          rewards
    : [ ]
    MatchIt
    :
      excludeFromGlobal
    : false
      '1'
    :
        rewards
    : [ ]
      '2'
    :
        rewards
    : [ ]
      '3'
    :
        rewards
    : [ ]
      '4'
    :
        rewards
    : [ ]
      '5'
    :
        rewards
    : [ ]
      default
    :
        rewards
    : [ ]
      scoreRewards
    :
        '0'
    :
          rewards
    : [ ]
    DinoRun
    :
      excludeFromGlobal
    : false
      '1'
    :
        rewards
    : [ ]
      '2'
    :
        rewards
    : [ ]
      '3'
    :
        rewards
    : [ ]
      '4'
    :
        rewards
    : [ ]
      '5'
    :
        rewards
    : [ ]
      default
    :
        rewards
    : [ ]
      scoreRewards
    :
        '0'
    :
          rewards
    : [ ]
    '2048'
    :
      excludeFromGlobal
    : false
      '1'
    :
        rewards
    : [ ]
      '2'
    :
        rewards
    : [ ]
      '3'
    :
        rewards
    : [ ]
      '4'
    :
        rewards
    : [ ]
      '5'
    :
        rewards
    : [ ]
      default
    :
        rewards
    : [ ]
      scoreRewards
    :
        '0'
    :
          rewards
    : [ ]
    Super2048
    :
      excludeFromGlobal
    : false
      '1'
    :
        rewards
    : [ ]
      '2'
    :
        rewards
    : [ ]
      '3'
    :
        rewards
    : [ ]
      '4'
    :
        rewards
    : [ ]
      '5'
    :
        rewards
    : [ ]
      default
    :
        rewards
    : [ ]
      scoreRewards
    :
        '0'
    :
          rewards
    : [ ]
    SimonSays
    :
      excludeFromGlobal
    : false
      '1'
    :
        rewards
    : [ ]
      '2'
    :
        rewards
    : [ ]
      '3'
    :
        rewards
    : [ ]
      '4'
    :
        rewards
    : [ ]
      '5'
    :
        rewards
    : [ ]
      default
    :
        rewards
    : [ ]
      scoreRewards
    :
        '0'
    :
          rewards
    : [ ]
    GapJump
    :
      excludeFromGlobal
    : false
      '1'
    :
        rewards
    : [ ]
      '2'
    :
        rewards
    : [ ]
      '3'
    :
        rewards
    : [ ]
      '4'
    :
        rewards
    : [ ]
      '5'
    :
        rewards
    : [ ]
      default
    :
        rewards
    : [ ]
      scoreRewards
    :
        '0'
    :
          rewards
    : [ ]
    WhacAMole
    :
      excludeFromGlobal
    : false
      '1'
    :
        rewards
    : [ ]
      '2'
    :
        rewards
    : [ ]
      '3'
    :
        rewards
    : [ ]
      '4'
    :
        rewards
    : [ ]
      '5'
    :
        rewards
    : [ ]
      default
    :
        rewards
    : [ ]
      scoreRewards
    :
        '0'
    :
          rewards
    : [ ]
    DropTower
    :
      excludeFromGlobal
    : false
      '1'
    :
        rewards
    : [ ]
      '2'
    :
        rewards
    : [ ]
      '3'
    :
        rewards
    : [ ]
      '4'
    :
        rewards
    : [ ]
      '5'
    :
        rewards
    : [ ]
      default
    :
        rewards
    : [ ]
      scoreRewards
    :
        '0'
    :
          rewards
    : [ ]
    NameIt
    :
      excludeFromGlobal
    : false
      '1'
    :
        rewards
    : [ ]
      '2'
    :
        rewards
    : [ ]
      '3'
    :
        rewards
    : [ ]
      '4'
    :
        rewards
    : [ ]
      '5'
    :
        rewards
    : [ ]
      default
    :
        rewards
    : [ ]
      scoreRewards
    :
        '0'
    :
          rewards
    : [ ]
    TheQuiz
    :
      excludeFromGlobal
    : false
      '1'
    :
        rewards
    : [ ]
      '2'
    :
        rewards
    : [ ]
      '3'
    :
        rewards
    : [ ]
      '4'
    :
        rewards
    : [ ]
      '5'
    :
        rewards
    : [ ]
      default
    :
        rewards
    : [ ]
      scoreRewards
    :
        '0'
    :
          rewards
    : [ ]
    Basket
    :
      excludeFromGlobal
    : false
      '1'
    :
        rewards
    : [ ]
      '2'
    :
        rewards
    : [ ]
      '3'
    :
        rewards
    : [ ]
      '4'
    :
        rewards
    : [ ]
      '5'
    :
        rewards
    : [ ]
      default
    :
        rewards
    : [ ]
      scoreRewards
    :
        '0'
    :
          rewards
    : [ ]
    OverUnder
    :
      excludeFromGlobal
    : false
      '1'
    :
        rewards
    : [ ]
      '2'
    :
        rewards
    : [ ]
      '3'
    :
        rewards
    : [ ]
      '4'
    :
        rewards
    : [ ]
      '5'
    :
        rewards
    : [ ]
      default
    :
        rewards
    : [ ]
      scoreRewards
    :
        '0'
    :
          rewards
    : [ ]
    FallingBlocks
    :
      excludeFromGlobal
    : false
      '1'
    :
        rewards
    : [ ]
      '2'
    :
        rewards
    : [ ]
      '3'
    :
        rewards
    : [ ]
      '4'
    :
        rewards
    : [ ]
      '5'
    :
        rewards
    : [ ]
      default
    :
        rewards
    : [ ]
      scoreRewards
    :
        '0'
    :
          rewards
    : [ ]
    CaveIn
    :
      excludeFromGlobal
    : false
      '1'
    :
        rewards
    : [ ]
      '2'
    :
        rewards
    : [ ]
      '3'
    :
        rewards
    : [ ]
      '4'
    :
        rewards
    : [ ]
      '5'
    :
        rewards
    : [ ]
      default
    :
        rewards
    : [ ]
      scoreRewards
    :
        '0'
    :
          rewards
    : [ ]
    CookieClicker
    :
      excludeFromGlobal
    : true
      '1'
    :
        rewards
    : [ ]
      '2'
    :
        rewards
    : [ ]
      '3'
    :
        rewards
    : [ ]
      '4'
    :
        rewards
    : [ ]
      '5'
    :
        rewards
    : [ ]
      default
    :
        rewards
    : [ ]
      scoreRewards
    :
        '0'
    :
          rewards
    : [ ]
    Snake
    :
      excludeFromGlobal
    : false
      '1'
    :
        rewards
    : [ ]
      '2'
    :
        rewards
    : [ ]
      '3'
    :
        rewards
    : [ ]
      '4'
    :
        rewards
    : [ ]
      '5'
    :
        rewards
    : [ ]
      default
    :
        rewards
    : [ ]
      scoreRewards
    :
        '0'
    :
          rewards
    : [ ]
    SpeedClicker
    :
      excludeFromGlobal
    : false
      '1'
    :
        rewards
    : [ ]
      '2'
    :
        rewards
    : [ ]
      '3'
    :
        rewards
    : [ ]
      '4'
    :
        rewards
    : [ ]
      '5'
    :
        rewards
    : [ ]
      default
    :
        rewards
    : [ ]
      scoreRewards
    :
        '0'
    :
          rewards
    : [ ]
----------, Mar 7, 2018

Changes:
  • Reload fix - Prior to this update the /pg reload command could render the controls for some games unusable if you changed the game header or items in the game configurations. This resulted in you having to /reload your server for PocketGames to recognize your changes. This has been fixed and you can now use the /pg reload without having to also /reload your server.

  • New Game - Speed Clicker!
    Requested by __Melowelei__

    [​IMG]
    Game Configuration for Speed Clicker:
    Code (YAML):
    # Edit SpeedClicker in this file.
    #
    # All items are customizable. Play around with the GameSettings and find the sweet spot for your server!
    # The maximum supported game duration is 99 seconds.
    #
    # Warning: Always ctrl+a and ctrl+c before testing your new settings. One small mistake can result in a file reset!


    Enabled
    : true
    GameHeader
    : '&c&lSpeed Clicker'
    MenuItem
    :
      page
    : 2
      slot
    : 24
      head
    : http://textures.minecraft.net/texture/aacacb836c5e428b49b5d224cab22828efe2f6c704f759364d71c656e301420
      name
    : '   &6&l&m-- [-&f  &c&lSpeed Clicker&f  &6&l&m- ]--'
      lore
    :
     - ' &f&m ----------------------------&7 '
      - '  &eHow fast can you click? Test'
      - '  &eyourself in this fun clicking'
      - '  &egame. Click the button as many'
      - '  &etimes as you can within the'
      - '  &egiven game duration! Good luck!'
      - ' &7&m ----------------------------&7 '
      - '  &f&oLeft Click -> Play Game'
      - '  &f&oRight Click -> Highscore'
      - ' &7&m ----------------------------&7 '
    GameItems
    :
      border
    :
        item
    : STAINED_CLAY:9
        name
    : '&9&l*'
      background
    :
        item
    : STAINED_GLASS_PANE:14
        name
    : '&c&l*'
      button
    :
        item
    : STONE_BUTTON
        name
    : '&a&lClick here!'
    GameSettings
    :
      gameDuration
    : 20

  • Major rework - The item recognition-, control-, and creation systems have all been completely reworked. This results in better response and distinguishability between very similar items. This is a pretty major rework as it concerns every game and every menu and has been tested very thoroughly. If any issues should occur with the new system please send me a private message asap.

As of this update, the price of Pocket Games has been increased to 7.45€. This is due to the fact that PocketGames has doubled in the number of games, it is a lot more configurable, it has more than tripled in features etc. since release :)
----------, Mar 6, 2018

Changes:
  • New Game - Snake!
    [​IMG]
    Game Configuration for Snake:
    Code (YAML):
    # Edit Snake in this file.
    #
    # All items are customizable. Play around with the GameSettings and find the sweet spot for your server!
    #
    # Warning: Always ctrl+a and ctrl+c before testing your new settings. One small mistake can result in a file reset!


    Enabled
    : true
    GameHeader
    : '&e&lSnake'
    MenuItem
    :
      page
    : 2
      slot
    : 23
      head
    : http://textures.minecraft.net/texture/b0b9d167309773d1fb87be28934a7acf0e6c7fb16342b89ac2fb3abccb4dbf
      name
    : '     &6&l&m-- [-&f  &e&lSnakes&f  &6&l&m- ]--'
      lore
    :
     - ' &f&m ------------------------&7 '
      - '  &ePlay the good old classic'
      - '  &eSnake game. Eat as many'
      - '  &eApples as you can without'
      - '  &ecolliding with yourself or'
      - '  &ethe walls surrounding you!'
      - ' &7&m ------------------------&7 '
      - '  &f&oLeft Click -> Play Game'
      - '  &f&oRight Click -> Highscore'
      - ' &7&m ------------------------&7 '
    GameItems
    :
      background
    :
        item
    : STAINED_GLASS_PANE:3
        name
    : '&7&l*'
      food
    :
        item
    : APPLE
        name
    : '&cApple!'
      snake
    :
        head
    :
          item
    : PUMPKIN
          name
    : '&aHead'
        body
    :
          item
    : LEAVES
          name
    : '&aBody'
        tail
    :
          item
    : FEATHER
          name
    : '&aTail'
    GameSettings
    :
      gameSpeed
    :
        startSpeed
    : 15
        difficultyIncrementRate
    : 0.85
        maxGameSpeed
    : 6
    Controls
    :
      up
    :
        slot
    : 13
        head
    : http://textures.minecraft.net/texture/a99aaf2456a6122de8f6b62683f2bc2eed9abb81fd5bea1b4c23a58156b669
        name
    : '&aUp'
      down
    :
        slot
    : 22
        head
    : http://textures.minecraft.net/texture/3912d45b1c78cc22452723ee66ba2d15777cc288568d6c1b62a545b29c7187
        name
    : '&aDown'
      left
    :
        slot
    : 21
        head
    : http://textures.minecraft.net/texture/5f133e91919db0acefdc272d67fd87b4be88dc44a958958824474e21e06d53e6
        name
    : '&aLeft'
      right
    :
        slot
    : 23
        head
    : http://textures.minecraft.net/texture/e3fc52264d8ad9e654f415bef01a23947edbccccf649373289bea4d149541f70
        name
    : '&aRight'
----------, Feb 28, 2018

Changes:
  • Feature - You can now execute rewards based on the score, scored by the player instead of just top 5 entry.
    The section scoreRewards: has been added to all games in the rewards.yml file.
    Below is an example on how it works.
    Code (YAML):
    DiamondCollect:
      '1'
    :
        rewards
    : [ ]
      '2'
    :
        rewards
    : [ ]
      '3'
    :
        rewards
    : [ ]
      '4'
    :
        rewards
    : [ ]
      '5'
    :
        rewards
    : [ ]
      default
    :
        rewards
    : [ ]
      scoreRewards
    :
         '5'
    :         #<- Score is 5 to 9.
           rewards
    :
          - false, broadcast &a %player% scored between 5 and 9!
         '10'
    :       #<- Score is 10 to 14.
           rewards
    :
          - false, broadcast &a %player% scored between 10 and 14!
         '15'
    :       #<- Score is 15 or higher.
           rewards
    :
          - false, broadcast &a %player% scored more than 15!
    The configuration header has also been edited to briefly explain how it works.
----------, Feb 14, 2018

Changes:
  • New Game - Cookie Clicker:
    [​IMG]

    Game Configuration for Cookie Clicker:
    Code (YAML):
    # Edit Cookie Clicker in this file.
    #
    # You can change slot, price, basePrice, cpc, and cps as you go without messing up old saves.
    # All values are recalculated when the game is opened which is why you are able to do this.
    # If you do change these values please use /reload or /restart. NOT /pg reload.
    #
    # Warning: Always ctrl+a and ctrl+c before testing your new settings. One small mistake can result in a file reset!


    Enabled
    : true
    GameHeader
    : '&d&lCookie Clicker'
    MenuItem
    :
      page
    : 2
      slot
    : 21
      item
    : COOKIE
      name
    : '    &6&l&m-- [-&f  &d&lCookie Clicker&f  &6&l&m- ]--'
      lore
    :
     - ' &f&m -----------------------------&7 '
      - '  &eA Pocket Games mini version of'
      - '  &ethe popular game Cookie Clicker.'
      - '  &eBuy buildings and upgrades to'
      - '  &eacquire insane quantities of'
      - '  &etasteful chocolate chip cookies.'
      - ' &7&m -----------------------------&7 '
      - '  &f&oLeft Click -> Play Game'
      - '  &f&oRight Click -> Highscore'
      - ' &7&m -----------------------------&7 '
    GameItems
    :
      background
    :
        item
    : STAINED_GLASS_PANE:11
        name
    : '&9&l*'
      edge
    :
        item
    : LOG
        name
    : '&8&l*'
      mainCookie
    :
        item
    : COOKIE
        name
    : '&7&lClick Me'
        glow
    : true
      fallingCookie
    :
        item
    : COOKIE
        name
    : '&7&l*'
      info
    :
        slot
    : 13
        item
    : PAPER
        name
    : '&9&l&oStats:'
        lore
    :
        - '&eCurrent
    : &a%cookiesCurrent% cookies'
        - '&eTotal
    : &a%cookiesTotal% cookies'
        - '&eCpc
    : &a%cpc% cookies per click'
        - '&eCps
    : &a%cps% cookies per second'
        - '&ePlayed
    : &a%played%'
        glow
    : true
      save
    :
        slot
    : 22
        item
    : BOOK_AND_QUILL
        name
    : '&e&lClick to Save'
        lore
    :
       - '&7Remember to save before'
        - '&7closing the inventory.'
        - '&7End Game to update the highscore.'
        - '&7Does not reset progress.'
        - ''
        - '&7&oAutosaves every 60 seconds'
      reset
    :
        slot
    : 31
        item
    : TNT
        name
    : '&c&oReset Progress'
        lore
    :
       - '&7&oThis is irreversible!'
        - '&7&oClick this item 3 times'
        - '&7&oin a row to reset!'
      Milk
    :
        normal
    :
          item
    : STAINED_GLASS_PANE:0
          name
    : '&f&l*'
        chocolate
    :
          item
    : STAINED_GLASS_PANE:12
          name
    : '&f&l*'
      Buildings
    :
        building1
    :
          slot
    : 9
          cps
    : 0.1
          basePrice
    : 15
          head
    : http://textures.minecraft.net/texture/532a5838fd9cd4c977f15071d6997ff5c7f956074a2da571a19ccefb03c57
          name
    : '&fAuto Clicker &7 (Owned : %amount%)'
          lore
    :
         - '&aAuto clicks once every'
          - '&a10 seconds.'
          - ''
          - '&fCps
    : &a0,10'
          - '&fPrice
    : &a%price%'
        building2
    :
          slot
    : 10
          cps
    : 1
          basePrice
    : 100
          head
    : http://textures.minecraft.net/texture/dbc2b22444eb38bd29cbeecafa33b936f92ad1e8637bb11f84f868bf3d68a4
          name
    : '&fGrandma &7 (Owned : %amount%)'
          lore
    :
         - '&aA nice grandma to'
          - '&abake more cookies.'
          - ''
          - '&fCps
    : &a1,00'
          - '&fPrice
    : &a%price%'
        building3
    :
          slot
    : 11
          cps
    : 8
          basePrice
    : 1100
          item
    : WOOD_HOE
          name
    : '&fFarm &7 (Owned : %amount%)'
          lore
    :
         - '&aGrow cookies plants'
          - '&afrom cookie seeds.'
          - ''
          - '&fCps
    : &a8,00'
          - '&fPrice
    : &a%price%'
          itemFlags
    :
         - HIDE_ATTRIBUTES
        building4
    :
          slot
    : 18
          cps
    : 47
          basePrice
    : 12000
          item
    : STONE_PICKAXE
          name
    : '&fMine &7 (Owned : %amount%)'
          lore
    :
         - '&aMines out cookie dough'
          - '&aand chocolate chips.'
          - ''
          - '&fCps
    : &a47,00'
          - '&fPrice
    : &a%price%'
          itemFlags
    :
         - HIDE_ATTRIBUTES
        building5
    :
          slot
    : 19
          cps
    : 260
          basePrice
    : 130000
          item
    : FURNACE
          name
    : '&fFactory &7 (Owned : %amount%)'
          lore
    :
         - '&aProduces large'
          - '&aquantities of cookies.'
          - ''
          - '&fCps
    : &a260,00'
          - '&fPrice
    : &a%price%'
        building6
    :
          slot
    : 20
          cps
    : 1400
          basePrice
    : 1400000
          item
    : GOLD_NUGGET
          name
    : '&fBank &7 (Owned : %amount%)'
          lore
    :
         - '&aGenerates cookies'
          - '&afrom interest.'
          - ''
          - '&fCps
    : &a1.400,00'
          - '&fPrice
    : &a%price%'
        building7
    :
          slot
    : 27
          cps
    : 7800
          basePrice
    : 20000000
          head
    : http://textures.minecraft.net/texture/9452abb9528bc3ad48ff2bb5256bf8c0fd144fabfe4c8e28ebf2ef29ee15f937
          name
    : '&fTemple &7 (Owned : %amount%)'
          lore
    :
         - '&aFull of precious,'
          - '&aancient chocolate.'
          - ''
          - '&fCps
    : &a7.800,00'
          - '&fPrice
    : &a%price%'
        building8
    :
          slot
    : 28
          cps
    : 44000
          basePrice
    : 330000000
          item
    : EXP_BOTTLE
          name
    : '&fWizard Tower &7 (Owned : %amount%)'
          lore
    :
         - '&aSummons cookies with'
          - '&amagic spells.'
          - ''
          - '&fCps
    : &a44.000,00'
          - '&fPrice
    : &a%price%'
        building9
    :
          slot
    : 29
          cps
    : 260000
          basePrice
    : 5.1E9
          item
    : FIREWORK
          name
    : '&fShipment &7 (Owned : %amount%)'
          lore
    :
         - '&aBrings in fresh cookies'
          - '&afrom the cookie planet..'
          - ''
          - '&fCps
    : &a260.000,00'
          - '&fPrice
    : &a%price%'
      CpcUpgrades
    :
        bought
    :
          item
    : WOOL:14
          name
    : '&c&oYou already have this upgrade'
        upgrade1
    :
          slot
    : 15
          effect
    : 0.02
          price
    : 100
          head
    : http://textures.minecraft.net/texture/8cca259d3ec8a9e26279a09c981fc57d46a74b27a27f2d8a1c4877867bb7899
          name
    : '&fReinforced index finger'
          lore
    :
         - '&aThe mouse gain +0,02 cookies for each object owned.'
          - '&a&o "prod prod"'
          - ''
          - '&fPrice
    : &a%price%'
          cpc
    : 0.02
        upgrade2
    :
          slot
    : 16
          effect
    : 0.04
          price
    : 500
          head
    : http://textures.minecraft.net/texture/90e0a4d48cd829a6d5868909d643fa4affd39e8ae6caaf6ec79609cf7649b1c
          name
    : '&fCarpal tunnel prevention cream'
          lore
    :
         - '&aThe mouse gain +0,04 cookies for each object owned.'
          - '&a&o "it... it hurts to click..."'
          - ''
          - '&fPrice
    : &a%price%'
          cpc
    : 0.04
        upgrade3
    :
          slot
    : 17
          effect
    : 0.06
          price
    : 10000
          head
    : http://textures.minecraft.net/texture/e138452bca86cb9abcae325e889917bdc7bec95b4da8f1e706c3c4d4ef727bd
          name
    : '&fAmbidextrous'
          lore
    :
         - '&aThe mouse gain +0,06 cookies for each object owned.'
          - '&a&o "Look ma, both hands!"'
          - ''
          - '&fPrice
    : &a%price%'
          cpc
    : 0.06
        upgrade4
    :
          slot
    : 24
          effect
    : 0.1
          price
    : 100000
          head
    : http://textures.minecraft.net/texture/370a90a159d79854cdeca5cd4b1b633984a0bc1c9f187d8397f584f614a
          name
    : '&fThousand fingers'
          lore
    :
         - '&aThe mouse gain +0,10 cookies for each object owned.'
          - '&a&o "clickity"'
          - ''
          - '&fPrice
    : &a%price%'
          cpc
    : 0.1
        upgrade5
    :
          slot
    : 25
          effect
    : 0.5
          price
    : 10000000
          head
    : http://textures.minecraft.net/texture/67d196f5fbc31afee3372da4f9669dc9536ee3eb60c9161b11632a268bfdf467
          name
    : '&fMillion fingers'
          lore
    :
         - '&aThe mouse gain +0,50 cookies for each object owned.'
          - '&a&o "clickity"'
          - ''
          - '&fPrice
    : &a%price%'
          cpc
    : 0.5
        upgrade6
    :
          slot
    : 26
          effect
    : 5
          price
    : 100000000
          head
    : http://textures.minecraft.net/texture/577ec44fb7503de6afe3bdd7e583c7b93979f59f6d634b6b6a5af7f3a1c58515
          name
    : '&fBillion fingers'
          lore
    :
         - '&aThe mouse gain +5,00 cookies for each object owned.'
          - '&a&o "clickityclickity"'
          - ''
          - '&fPrice
    : &a%price%'
          cpc
    : 5
        upgrade7
    :
          slot
    : 33
          effect
    : 50
          price
    : 1000000000
          head
    : http://textures.minecraft.net/texture/16227036b8afed6935d53143d16488d39cf4fb73a671f2b2955e80fc9dfe458
          name
    : '&fTrillion fingers'
          lore
    :
         - '&aThe mouse gain +50,00 cookies for each object owned.'
          - '&a&o "clickityclickityclickity"'
          - ''
          - '&fPrice
    : &a%price%'
          cpc
    : 50
        upgrade8
    :
          slot
    : 34
          effect
    : 500
          price
    : 1.0E10
          head
    : http://textures.minecraft.net/texture/aacacb836c5e428b49b5d224cab22828efe2f6c704f759364d71c656e301420
          name
    : '&fQuadrillion fingers'
          lore
    :
         - '&aThe mouse gain +500,00 cookies for each object owned.'
          - '&a&o "clickityclickityclickityclickityclick"'
          - ''
          - '&fPrice
    : &a%price%'
          cpc
    : 500
        upgrade9
    :
          slot
    : 35
          effect
    : 5000
          price
    : 1.0E13
          head
    : http://textures.minecraft.net/texture/ac9f813ae82cd688574a849ab9ab441346763adb9ce7cf1b1c727de795df9b
          name
    : '&fQuintillion fingers'
          lore
    :
         - '&aThe mouse gain +5.000,00 cookies for each object owned.'
          - '&a&o "man, just go click click click click click, it’s real easy, man."'
          - ''
          - '&fPrice
    : &a%price%'
          cpc
    : 5000
    GameSettings
    :
      changeToChocolateAt
    : 100000
      fallingCookieAnimationSpeed
    : 8
      maxFallingCookiesOnScreen
    : 6
      milkAnimationSpeed
    : 20
    Values are supported up to around 9.000.000.000.000.000. (Around 9 quadrillions)


  • Game Update - A new feature is available for the CaveIn game.
    [​IMG]
    The feature allows the connection algorithm/calculation to include blocks that are both adjacent and oblique to the checked block. If obliqueBlocks is set to true. The yellow, blue, and red selected blocks are all removed and counted towards your points. The config option is automatically added to GameSettings in the CaveIn file.
    Remember, this will affect the amount of points you score by a lot.


  • Game Fix - CaveIn contained:
    Code (YAML):
    ball :
     name:
    This has been removed.


  • New Feature - Max Players.
    This feature will allow you to limit the amount of players playing Pocket Games at the same time. This is useful if your server has limited resources and you wish to limit the amount spent on Pocket Games.

    You will have to manually add this to config.yml or use /pg reset file config. (Remember this resets any changes you might have made)
    Code (YAML):
    # MaxPlayers allows you to limit the amount of PocketGames players playing at the same time.
    # - Set this to any natural number to set a limit.
    # - Set this to 0 to disable the limit.
    MaxPlayers
    : 0
    You can optionally leave this out if you do not wish to use it. Leaving it out sets no limit.


  • New Message - A new message has been added regarding the max players feature:
    Code (YAML):
    maxPlayers : ' %prefix% &cToo many players playing. Try again later!'
    This message is sent whenever a player tries to open the menu or play a game when the limit is reached.


  • Improved - The high score value system has been redone to support larger values. (Up to around 9 quadrillions)
    This applies to both yml high score and database high score.
----------, Feb 6, 2018

Changes:
  • New Game - CaveIn:
    [​IMG]

    Game Configuration for CaveIn:
    Code (YAML):
    # Edit CaveIn in this file.
    #
    # Add as many resources as you want.
    # Value equals score pr. block.
    # Probability is calculated through a weight system. Larger probability values equals greater frequency of that item.
    #
    # Warning: Always ctrl+a and ctrl+c before testing your new settings. One small mistake can result in a file reset!


    Enabled
    : true
    GameHeader
    : '&8&lCave In'
    MenuItem
    :
      page
    : 2
      slot
    : 20
      item
    : stone_pickaxe
      name
    : '          &6&l&m-- [-&f  &8&lCave In&f  &6&l&m- ]--'
      lore
    :
     - ' &f&m ------------------------------&7 '
      - '  &eCaveIn is an awesome mining game!'
      - '  &eYou have to collect large veins'
      - '  &eof different resources. Larger'
      - '  &eveins yield more points, so does'
      - '  &erarer resources. Each connected'
      - '  &eblock yields its worth in points.'
      - ' &7&m ------------------------------&7 '
      - '  &f&oLeft Click -> Play Game'
      - '  &f&oRight Click -> Highscore'
      - ' &7&m ------------------------------&7 '
      itemFlags
    :
     - HIDE_ATTRIBUTES
    GameItems
    :
      background
    :
        item
    : STAINED_GLASS_PANE:7
      ball
    :
        name
    : '&7&l*'
      border
    :
        item
    : QUARTZ_BLOCK
        name
    : '&f&l*'
      movesCounter
    :
        item
    : WATCH
        name
    : '&e %moves% &9moves left!'
        slot
    : 22
      Resources
    :
        dirt
    :
          item
    : DIRT
          value
    : 1
          probability
    : 5
          name
    : '&fDirt'
          lore
    :
         - '&a&o %value% &7&opoint for each'
          - '&7&oconnected dirt block.'
        stone
    :
          item
    : STONE
          value
    : 2
          probability
    : 4
          name
    : '&7Stone'
          lore
    :
         - '&a&o %value% &7&opoints for each'
          - '&7&oconnected stone block.'
        iron
    :
          item
    : IRON_INGOT
          value
    : 4
          probability
    : 3.5
          name
    : '&aIron'
          lore
    :
         - '&a&o %value% &7&opoints for each'
          - '&7&oconnected iron ingot.'
        gold
    :
          item
    : GOLD_INGOT
          value
    : 7
          probability
    : 3
          name
    : '&eGold'
          lore
    :
         - '&a&o %value% &7&opoints for each'
          - '&7&oconnected gold ingot.'
        diamond
    :
          item
    : DIAMOND
          value
    : 10
          probability
    : 1
          name
    : '&bDiamond'
          lore
    :
         - '&a&o %value% &7&opoints for each'
          - '&7&oconnected diamond.'
    GameSettings
    :
      moves
    : 30
      gravitySpeed
    : 3

  • Optimization - General optimization regarding how configurations are handled.
----------, Jan 27, 2018

Changes:
  • New game - Falling Blocks:
    [​IMG]

    Game Configuration for Falling Blocks:
    Code (YAML):
    # Edit FallingBlocks in this file.
    #
    # You can add more lives by simply adding more paths. (Increment each path by 1: '1', '2', '3', '4', '5', '6' etc.)
    # At least one life is needed. Remember to add a slot: for each life.
    #
    # Warning: Always ctrl+a and ctrl+c before testing your new settings. One small mistake can result in a file reset!


    Enabled
    : true
    GameHeader
    : '&d&lFalling Blocks'
    MenuItem
    :
      page
    : 2
      slot
    : 22
      item
    : SAND
      name
    : '    &6&l&m-- [-&f  &d&lFalling Blocks&f  &6&l&m- ]--'
      lore
    :
     - ' &f&m -----------------------------&7 '
      - '  &eClick the falling blocks before'
      - '  &ethey hit the ground. Some blocks'
      - '  &emay take more clicks, but yields'
      - '  &eone point for each click needed.'
      - ' &7&m -----------------------------&7 '
      - '  &f&oLeft Click -> Play Game'
      - '  &f&oRight Click -> Highscore'
      - ' &7&m -----------------------------&7 '
    GameItems
    :
      fallingBlock
    :
        item
    : SAND
        name
    : '&7Click Me!'
      ground
    :
        item
    : GRASS
      basket
    :
        name
    : '&f&l*'
      trunk
    :
        item
    : STAINED_GLASS_PANE:12
        name
    : '&8&l*'
      leaves
    :
        item
    : STAINED_GLASS_PANE:5
        name
    : '&a&l*'
      sun
    :
        item
    : STAINED_GLASS_PANE:4
        name
    : '&eSun'
      background
    :
        item
    : STAINED_GLASS_PANE:3
        name
    : '&b&l*'
      lives
    :
        '1'
    :
          slot
    : 9
          head
    : http://textures.minecraft.net/texture/76fdd4b13d54f6c91dd5fa765ec93dd9458b19f8aa34eeb5c80f455b119f278
          name
    : '&4❤'
        '2'
    :
          slot
    : 10
          head
    : http://textures.minecraft.net/texture/76fdd4b13d54f6c91dd5fa765ec93dd9458b19f8aa34eeb5c80f455b119f278
          name
    : '&4❤'
        '3'
    :
          slot
    : 11
          head
    : http://textures.minecraft.net/texture/76fdd4b13d54f6c91dd5fa765ec93dd9458b19f8aa34eeb5c80f455b119f278
          name
    : '&4❤'
    GameSettings
    :
      gameSpeedMIN
    : 20
      gameSpeedMAX
    : 9
----------, Jan 13, 2018

Changes:
  • Particles - An invulnerable player will now have a sphere "forcefield" around them to indicate that the player can't take damage. This is only available for 1.10 and up. 1.8 and 1.9 servers do not have this option.

    Gifs:
    https://imgur.com/sMROs7I
    https://i.imgur.com/Zt41s4d
    https://i.imgur.com/vydhwIl

    As seen in the showcase links above you are of course able to customize the sphere. Below are the options that you can change:
    Code (YAML):
    Invulnerability:
      enabled
    : true
      after
    : 15
      Animation
    :
        enabled
    : true
        particle
    : REDSTONE
        color
    : '&c' //Colors only work for REDSTONE, SPELL_MOB & SPELL_MOB_AMBIENT
        radius
    : 1.2
        ringDistance
    : 8
        ringDensity
    : 4
        speed
    : 3
    This is all located at the bottom of the settings.yml file. As you can see the invulnerability options from the config.yml file has also been moved here. If you did change anything in there you will have to apply those changes here and optionally remove the invulnerability settings from the config.yml file. (They can be there but have no effect)

  • Fix - Page button names were not added if you did not generate a new file which would mess up the switching system. Names are now added automatically and are required from now on. If you already have a name: for your buttons this fix will not affect you.

  • Fix - GroupManager does not interpret the * permission modifier very well e.g. 'pocketgames.game.*' does not work with GroupManager. A new permission has been added that explicitly grants access to all games: 'pocketgames.game'. If you have not encountered any issues with 'pocketgames.game.*' you can ignore this fix. (PEX works fine with pocketgames.game.*)
----------, Jan 7, 2018

Changes:
  • Added/Fixed - The standard Java Object equality checks were inconsistent and resulted in unusable games only for some 1.8.x servers. This was caused by a few variations in serialization and deserialization of ItemStacks between Minecraft versions and Skull rendering. This has been fixed by a custom comparison method and all clickable items and functions should work properly for all versions. (Please contact me asap if you are still having any issues regarding
    this
    )

  • Improved - As a part of the newly added comparison method the click Events class has been cleaned up and improved for better performance as well as the class in charge of handling all of the individual game controls and click behavior.

  • Fix - The game MatchIt did not check which inventory was clicked which resulted in players being able to click on empty slots in their own inventory and flip items in the game inventory. This did not give an advantage or any sort of issues other than undesired behavior.
----------, Jan 3, 2018

Changes:
  • Added - Pages! A page: setting has been added to all game configurations. The implementation of pages allows for as many pages as you might want. On startup, /reload, /pg reload, Pocket Games will determine the greatest page number and add the number of pages accordingly. E.g. set any game to page: 8. There will now be 8 pages, though some might be empty if no games have been assigned to the pages in between.
    [​IMG]

    The previous/next page buttons can be configured in settings.yml under the Menu: section: (The configuration options are automatically added once you update)
    Code (YAML):
    PageButtons:
        nextPage
    :
          slot
    : 53
          head
    : http://textures.minecraft.net/texture/e3fc52264d8ad9e654f415bef01a23947edbccccf649373289bea4d149541f70
          name
    : '&eNext Page'
        prevPage
    :
          slot
    : 45
          head
    : http://textures.minecraft.net/texture/5f133e91919db0acefdc272d67fd87b4be88dc44a958958824474e21e06d53e6
          name
    : '&ePrevious Page'

    Some games have been assigned to page 2 by default. (Take a look at OverUnder configuration below) This can result in your setup appearing different when updating. You can simply change the page back to the one you desire in each game configuration.


  • New Game - OverUnder:
    [​IMG]

    Configuration for OverUnder:
    Code (YAML):
    # Edit OverUnder in this file.
    #
    # All items are customizable. Add from one to nine lives (increment paths by one for each live)
    #
    # Warning: Always ctrl+a and ctrl+c before testing your new settings. One small mistake can result in a file reset!


    Enabled
    : true
    GameHeader
    : '&b&lOverUnder'
    MenuItem
    :
      page
    : 2
      slot
    : 31
      item
    : REDSTONE_LAMP_OFF
      name
    : '       &6&l&m-- [-&f  &b&lOverUnder&f  &6&l&m- ]--'
      lore
    :
     - ' &f&m -----------------------------&7 '
      - '  &eTest your luck in OverUnder, a'
      - '  &etactical luck based game. Guess'
      - '  &eif the next number will be Over'
      - '  &eor Under the current one. Each'
      - '  &ecorrect guess equals one point!'
      - ' &7&m -----------------------------&7 '
      - '  &f&oLeft Click -> Play Game'
      - '  &f&oRight Click -> Highscore'
      - ' &7&m -----------------------------&7 '
    GameItems
    :
      border
    :
        item
    : STAINED_GLASS_PANE:3
        name
    : '&b&l*'
      lives
    :
        '1'
    :
          head
    : http://textures.minecraft.net/texture/76fdd4b13d54f6c91dd5fa765ec93dd9458b19f8aa34eeb5c80f455b119f278
          name
    : '&4❤'
        '2'
    :
          head
    : http://textures.minecraft.net/texture/76fdd4b13d54f6c91dd5fa765ec93dd9458b19f8aa34eeb5c80f455b119f278
          name
    : '&4❤'
        '3'
    :
          head
    : http://textures.minecraft.net/texture/76fdd4b13d54f6c91dd5fa765ec93dd9458b19f8aa34eeb5c80f455b119f278
          name
    : '&4❤'
    Controls
    :
      up
    :
        slot
    : 13
        head
    : http://textures.minecraft.net/texture/a99aaf2456a6122de8f6b62683f2bc2eed9abb81fd5bea1b4c23a58156b669
        name
    : '&aOver!'
      down
    :
        slot
    : 22
        head
    : http://textures.minecraft.net/texture/3912d45b1c78cc22452723ee66ba2d15777cc288568d6c1b62a545b29c7187
        name
    : '&aUnder!'


  • Fix - The Quiz had material IDs in the default file. They have been replaced by material names. This has no effect on you but might whenever Minecraft 1.13 is released.
----------, Jan 2, 2018

Changes:
  • New Messages - Two new messages regarding the new invulnerability feature has been added:
    Code (YAML):
    invulnerabilityON : ' %prefix% &aYou are now invulnerable!'
    invulnerabilityOFF
    : ' %prefix% &aYou are no longer invulnerable!'
    The first message is sent to the player when he/she becomes invulnerable; after 15 seconds as the default.
    The second message is sent when an invulnerable player closes their inventory again.
    Remember messages can be turned off individually by setting the message to ''.

This update is only necessary if you want your players to know when they become invulnerable and vulnerable. If you do not need this you can ignore this update :) (This was a requested feature hence the reason for the close updates)
----------, Dec 25, 2017

Changes:
  • New Game - Basket:
    [​IMG]
    Basket is fun and challenging. You have to set the power and height just right to score. These are set the same way as the power in GapJump is; with a ChargeBar. Each ball missed costs a life. You have three lives as default though you can configure up to 9 lives.

    Configuration for Basket:
    Code (YAML):
    # Edit Basket in this file.
    #
    # All items are customizable. The GameSettings are in ticks. The button is in one slot
    # but can have different appearances for power, height, and launch.
    #
    # Warning: Always ctrl+a and ctrl+c before testing your new settings. One small mistake can result in a file reset!


    Enabled
    : true
    GameHeader
    : '&6&lBasket'
    MenuItem
    :
      slot
    : 25
      head
    : http://textures.minecraft.net/texture/edf84715a64dc45586f7a6079f8e49a9477c0fe96589b4cfd71cba32254ac8
      name
    : '        &6&l&m-- [-&f  &6&lBasket&f  &6&l&m- ]--'
      lore
    :
     - ' &f&m ---------------------------&7 '
      - '  &eTest you basket skills in this'
      - '  &efun small basket game. Charge'
      - '  &ePower and Height just right to'
      - '  &escore! The ball and pole will'
      - '  &echange position and height for'
      - '  &eeach shot you take. Game On!'
      - ' &7&m ---------------------------&7 '
      - '  &f&oLeft Click -> Play Game'
      - '  &f&oRight Click -> Highscore'
      - ' &7&m ---------------------------&7 '
    GameItems
    :
      ball
    :
        head
    : http://textures.minecraft.net/texture/edf84715a64dc45586f7a6079f8e49a9477c0fe96589b4cfd71cba32254ac8
        name
    : '&6Basket Ball'
      pole
    :
        item
    : ARMOR_STAND
        name
    : '&7&l*'
      net
    :
        item
    : WEB
        name
    : '&fNet'
      ground
    :
        item
    : STAINED_GLASS_PANE:15
        name
    : '&0&l*'
      background
    :
        item
    : STAINED_GLASS_PANE:3
        name
    : '&b&l*'
      ChargeBars
    :
        edgeLeft
    :
          item
    : REDSTONE_TORCH_ON
          name
    : '&c&l■'
        edgeRight
    :
          item
    : REDSTONE_TORCH_ON
          name
    : '&c&l■'
        default
    :
          item
    : WOOL
          name
    : '&f&l■'
        '1'
    :
          item
    : WOOL:5
          name
    : '&a&l■'
        '2'
    :
          item
    : WOOL:5
          name
    : '&a&l■'
        '3'
    :
          item
    : WOOL:4
          name
    : '&e&l■'
        '4'
    :
          item
    : WOOL:4
          name
    : '&e&l■'
        '5'
    :
          item
    : WOOL:1
          name
    : '&6&l■'
        '6'
    :
          item
    : WOOL:1
          name
    : '&6&l■'
        '7'
    :
          item
    : WOOL:14
          name
    : '&4&l■'
      lives
    :
        '1'
    :
          head
    : http://textures.minecraft.net/texture/76fdd4b13d54f6c91dd5fa765ec93dd9458b19f8aa34eeb5c80f455b119f278
          name
    : '&4❤'
        '2'
    :
          head
    : http://textures.minecraft.net/texture/76fdd4b13d54f6c91dd5fa765ec93dd9458b19f8aa34eeb5c80f455b119f278
          name
    : '&4❤'
        '3'
    :
          head
    : http://textures.minecraft.net/texture/76fdd4b13d54f6c91dd5fa765ec93dd9458b19f8aa34eeb5c80f455b119f278
          name
    : '&4❤'
    GameSettings
    :
      ballSpeed
    : 3
      chargeBarSpeed
    :
        power
    : 4
        height
    : 4
    Controls
    :
      ButtonSlot
    : 22
      Buttons
    :
        power
    :
          head
    : http://textures.minecraft.net/texture/a99aaf2456a6122de8f6b62683f2bc2eed9abb81fd5bea1b4c23a58156b669
          name
    : '&aClick to set Power'
        height
    :
          head
    : http://textures.minecraft.net/texture/a99aaf2456a6122de8f6b62683f2bc2eed9abb81fd5bea1b4c23a58156b669
          name
    : '&aClick to set Height'
        launch
    :
          head
    : http://textures.minecraft.net/texture/a99aaf2456a6122de8f6b62683f2bc2eed9abb81fd5bea1b4c23a58156b669
          name
    : '&eClick to throw!'
    Default slot is slot 25.


  • Added - You can now set players as invulnerable when they have had any Pocket Games inventory open for x seconds. This means that the player can no longer be damaged when playing.
    Add this to you config.yml or regenerate it with /pg reset file config:
    Code (YAML):
    # Player invulnerability settings:
    # - Enable/Disable invulnerability. If enabled (true) the following will happen:
    # - The player will no longer take damage after x seconds. Default is 15 seconds.
    Invulnerability
    :
      enabled
    : false
      after
    : 15
     

  • Optimization - The GameOver handler has been optimized to increase performance by a bit. This has little impact, though results in a much cleaner code flow.
----------, Dec 24, 2017

Changes:
  • New Game - The Quiz:
    [​IMG]
    This game is made for you to customize. It comes with 16 default questions mainly about Minecraft, though you can add as many as you want. Each question can have up to nine different answers and multiple answers can be set as the correct one.

    Configuration for The Quiz:
    Code (YAML):
    # Edit The Quiz in this file.
    #
    # You can add as many questions as you want for each difficulty. Each question
    # can have up to 9 answers. Both questions and answers path have to increment by 1. (1,2,3...)
    # The 'correct: true' is only required for answers that are correct. Multiple answers can be correct.
    # Only required item setting is item: or head:. You can optionally add name, glow, lore, itemFlags, and amount to any item.
    # 'startWhenScoreEquals:' switches to the next difficulty when that score is reached. Do not set it higher than the number of questions for that difficulty.
    # The game will end with another sound than the game over sound if all questions have been answered correctly.
    #
    # Warning: Always ctrl+a and ctrl+c before testing your new settings. One small mistake can result in a file reset!


    Enabled
    : true
    GameHeader
    : '&9&lThe Quiz'
    MenuItem
    :
      slot
    : 19
      head
    : http://textures.minecraft.net/texture/bc8ea1f51f253ff5142ca11ae45193a4ad8c3ab5e9c6eec8ba7a4fcb7bac40
      name
    : '       &6&l&m-- [-&f  &9&lThe Quiz&f  &6&l&m- ]--'
      lore
    :
     - ' &f&m ----------------------------&7 '
      - ' &e How clever are you? Test your'
      - ' &e skills in The Quiz! The Quiz'
      - ' &e contains questions about both'
      - ' &e Minecraft related stuff but'
      - ' &e also some other fun subjects.'
      - ' &7&m ----------------------------&7 '
      - ' &f&o Left Click -> Play Game'
      - ' &f&o Right Click -> Highscore'
      - ' &7&m ----------------------------&7 '
    GameItems
    :
      border
    :
        item
    : STAINED_GLASS_PANE:14
        name
    : '&c&l*'
    Questions
    :
      easy
    :
        answerTime
    : 25
        '1'
    :
          question
    :
            head
    : http://textures.minecraft.net/texture/bc8ea1f51f253ff5142ca11ae45193a4ad8c3ab5e9c6eec8ba7a4fcb7bac40
            name
    : '&eWhat is 9 + 10?'
          answers
    :
            '1'
    :
              item
    : '35:5'
              name
    : '&a19'
              correct
    : true
            '2'
    :
              item
    : '35:4'
              name
    : '&ax'
            '3'
    :
              item
    : '35:1'
              name
    : '&a21'
        '2'
    :
          question
    :
            head
    : http://textures.minecraft.net/texture/bc8ea1f51f253ff5142ca11ae45193a4ad8c3ab5e9c6eec8ba7a4fcb7bac40
            name
    : '&eWhat is the name of the default skin?'
          answers
    :
            '1'
    :
              item
    : '35:6'
              name
    : '&aNotch'
            '2'
    :
              item
    : '35:12'
              name
    : '&aSteve'
              correct
    : true
            '3'
    :
              item
    : '35:7'
              name
    : '&aBeth'
        '3'
    :
          question
    :
            head
    : http://textures.minecraft.net/texture/bc8ea1f51f253ff5142ca11ae45193a4ad8c3ab5e9c6eec8ba7a4fcb7bac40
            name
    : '&eWhat is blue and shiny?'
          answers
    :
            '1'
    :
              item
    : '35:6'
              name
    : '&aDiamonds'
              correct
    : true
            '2'
    :
              item
    : '35:1'
              name
    : '&aDirt'
            '3'
    :
              item
    : '35:4'
              name
    : '&aThe sun'
        '4'
    :
          question
    :
            head
    : http://textures.minecraft.net/texture/bc8ea1f51f253ff5142ca11ae45193a4ad8c3ab5e9c6eec8ba7a4fcb7bac40
            name
    : '&eWhat three mobs can you have as a pet?'
          answers
    :
            '1'
    :
              item
    : '35:6'
              name
    : '&aCats, Birds, and Iron Golems'
            '2'
    :
              item
    : '35:9'
              name
    : '&aWolfs, Ocelots, and, Horses'
              correct
    : true
            '3'
    :
              item
    : '35:4'
              name
    : '&aNone?'
        '5'
    :
          question
    :
            item
    : '35:14'
            name
    : '&eWhat color is this item?'
          answers
    :
            '1'
    :
              item
    : '35:6'
              name
    : '&aRed'
              correct
    : true
            '2'
    :
              item
    : '35:14'
              name
    : '&aBlue'
            '3'
    :
              item
    : '35:8'
              name
    : '&aGreen'
      medium
    :
        answerTime
    : 20
        startWhenScoreEquals
    : 5
        '1'
    :
          question
    :
            head
    : http://textures.minecraft.net/texture/bc8ea1f51f253ff5142ca11ae45193a4ad8c3ab5e9c6eec8ba7a4fcb7bac40
            name
    : '&eWhat are the main Hostile mobs in Minecraft?'
          answers
    :
            '1'
    :
              item
    : '35:5'
              name
    : '&aCats, Wolfs, Moms, and Bats'
            '2'
    :
              item
    : '35:2'
              name
    : '&aZombies, Creepers, Skeletons, Spiders, and Endermen'
              correct
    : true
            '3'
    :
              item
    : '35:13'
              name
    : '&aGhasts, Zombie Pigmen, Silverfish, and Blaze'
            '4'
    :
              item
    : '35:3'
              name
    : '&aThe Ender Dragon, The Wither, and Herobrine'
            '5'
    :
              item
    : '35:4'
              name
    : '&aEndermites, Silverfish, Jockeys, and Giants'
        '2'
    :
          question
    :
            head
    : http://textures.minecraft.net/texture/bc8ea1f51f253ff5142ca11ae45193a4ad8c3ab5e9c6eec8ba7a4fcb7bac40
            name
    : '&eWho is the original creator of Minecraft?'
          answers
    :
            '1'
    :
              item
    : '35:5'
              name
    : '&aNotch'
              correct
    : true
            '2'
    :
              item
    : '35:1'
              name
    : '&aJeb'
            '3'
    :
              item
    : '35:0'
              name
    : '&aNotch and Jeb'
            '4'
    :
              item
    : '35:8'
              name
    : '&aMarkus Persson'
              correct
    : true
            '5'
    :
              item
    : '35:2'
              name
    : '&aMark Zuckerberg'
        '3'
    :
          question
    :
            head
    : http://textures.minecraft.net/texture/bc8ea1f51f253ff5142ca11ae45193a4ad8c3ab5e9c6eec8ba7a4fcb7bac40
            name
    : '&eWhich of these is a scary hidden character?'
          answers
    :
            '1'
    :
              item
    : '35:3'
              name
    : '&aNotch'
            '2'
    :
              item
    : '35:9'
              name
    : '&aHerobrine'
              correct
    : true
            '3'
    :
              item
    : '35:7'
              name
    : '&aThe Ender Dragon'
            '4'
    :
              item
    : '35:8'
              name
    : '&aShrek'
            '5'
    :
              item
    : '35:10'
              name
    : '&aThe Iron Giant'
        '4'
    :
          question
    :
            head
    : http://textures.minecraft.net/texture/bc8ea1f51f253ff5142ca11ae45193a4ad8c3ab5e9c6eec8ba7a4fcb7bac40
            name
    : '&eWhat is the standard spell in Minecraft?'
          answers
    :
            '1'
    :
              item
    : '35:7'
              name
    : '&aFire blast'
            '2'
    :
              item
    : '35:2'
              name
    : '&aWater blast'
            '3'
    :
              item
    : '35:0'
              name
    : '&aThere are no spells?'
              correct
    : true
            '4'
    :
              item
    : '35:9'
              name
    : '&aLightning blast?'
            '5'
    :
              item
    : '35:11'
              name
    : '&aWind blast?'
        '5'
    :
          question
    :
            head
    : http://textures.minecraft.net/texture/bc8ea1f51f253ff5142ca11ae45193a4ad8c3ab5e9c6eec8ba7a4fcb7bac40
            name
    : '&eHow tall is Steve?'
          answers
    :
            '1'
    :
              item
    : '35:7'
              name
    : '&a2.0 Blocks'
            '2'
    :
              item
    : '35:5'
              name
    : '&a2.1 Blocks'
            '3'
    :
              item
    : '35:12'
              name
    : '&a1.8 Blocks'
              correct
    : true
            '4'
    :
              item
    : '35:13'
              name
    : '&a1.95 Blocks'
            '5'
    :
              item
    : '35:14'
              name
    : '&a2.2 Blocks'
      hard
    :
        answerTime
    : 15
        startWhenScoreEquals
    : 10
        '1'
    :
          question
    :
            head
    : http://textures.minecraft.net/texture/bc8ea1f51f253ff5142ca11ae45193a4ad8c3ab5e9c6eec8ba7a4fcb7bac40
            name
    : '&eWho is the creator of Pocket Games?'
          answers
    :
            '1'
    :
              item
    : '35:2'
              name
    : '&aThe server owner'
            '2'
    :
              item
    : '35:10'
              name
    : '&aBenz24'
            '3'
    :
              item
    : '35:11'
              name
    : '&aBenz56'
              correct
    : true
            '4'
    :
              item
    : '35:9'
              name
    : '&aMarkus Persson'
            '5'
    :
              item
    : '35:3'
              name
    : '&aSpigot'
        '2'
    :
          question
    :
            head
    : http://textures.minecraft.net/texture/bc8ea1f51f253ff5142ca11ae45193a4ad8c3ab5e9c6eec8ba7a4fcb7bac40
            name
    : '&eWhich material can you not progress without?'
          answers
    :
            '1'
    :
              item
    : '35:7'
              name
    : '&aWood'
              correct
    : true
            '2'
    :
              item
    : '35:3'
              name
    : '&aWater'
            '3'
    :
              item
    : '35:2'
              name
    : '&aStone'
            '4'
    :
              item
    : '35:5'
              name
    : '&aQuartz'
            '5'
    :
              item
    : '35:8'
              name
    : '&aGrass'
            '6'
    :
              item
    : '35:10'
              name
    : '&aDirt'
            '7'
    :
              item
    : '35:15'
              name
    : '&aSand'
        '3'
    :
          question
    :
            head
    : http://textures.minecraft.net/texture/bc8ea1f51f253ff5142ca11ae45193a4ad8c3ab5e9c6eec8ba7a4fcb7bac40
            name
    : '&eHow many distinct Biomes are there?'
          answers
    :
            '1'
    :
              item
    : '35:7'
              name
    : '&a8'
            '2'
    :
              item
    : '35:9'
              name
    : '&a18'
            '3'
    :
              item
    : '35:10'
              name
    : '&a62'
              correct
    : true
            '4'
    :
              item
    : '35:13'
              name
    : '&a22'
            '5'
    :
              item
    : '35:4'
              name
    : '&a34'
            '6'
    :
              item
    : '35:1'
              name
    : '&a12'
            '7'
    :
              item
    : '35:0'
              name
    : '&a59'
        '4'
    :
          question
    :
            head
    : http://textures.minecraft.net/texture/bc8ea1f51f253ff5142ca11ae45193a4ad8c3ab5e9c6eec8ba7a4fcb7bac40
            name
    : '&eWhen was Minecraft released?'
          answers
    :
            '1'
    :
              item
    : '35:2'
              name
    : '&a2007'
            '2'
    :
              item
    : '35:13'
              name
    : '&a2011'
              correct
    : true
            '3'
    :
              item
    : '35:5'
              name
    : '&a2008'
            '4'
    :
              item
    : '35:10'
              name
    : '&a2006'
            '5'
    :
              item
    : '35:12'
              name
    : '&a2010'
            '6'
    :
              item
    : '35:3'
              name
    : '&a2004'
            '7'
    :
              item
    : '35:2'
              name
    : '&a2013'
        '5'
    :
          question
    :
            head
    : http://textures.minecraft.net/texture/bc8ea1f51f253ff5142ca11ae45193a4ad8c3ab5e9c6eec8ba7a4fcb7bac40
            name
    : '&eWhat ocean mobs are coming soon?'
          answers
    :
            '1'
    :
              item
    : '35:6'
              name
    : '&aSharks and Dolphins'
            '2'
    :
              item
    : '35:3'
              name
    : '&aFish and Whales'
            '3'
    :
              item
    : '35:1'
              name
    : '&aDolphins and Fish'
              correct
    : true
            '4'
    :
              item
    : '35:9'
              name
    : '&aJellyfish, and Sharks'
            '5'
    :
              item
    : '35:2'
              name
    : '&aDolphins, Fish, and Jellyfish'
        '6'
    :
          question
    :
            head
    : http://textures.minecraft.net/texture/bc8ea1f51f253ff5142ca11ae45193a4ad8c3ab5e9c6eec8ba7a4fcb7bac40
            name
    : '&eWho is not a designer of Minecraft?'
          answers
    :
            '1'
    :
              item
    : '35:6'
              name
    : '&aJens Bergensten'
            '2'
    :
              item
    : '35:3'
              name
    : '&aMarc Persius'
              correct
    : true
            '3'
    :
              item
    : '35:0'
              name
    : '&aStephen McManus'
            '4'
    :
              item
    : '35:15'
              name
    : '&aMarkus Persson'
  • New Video - A new showcase video created by Barbercraft has been added to the Main page.
----------, Dec 14, 2017

Resource Information
Author:
----------
Total Downloads: 754
First Release: Oct 29, 2017
Last Update: Dec 17, 2024
Category: ---------------
All-Time Rating:
63 ratings
Find more info at github.com...
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings