GemCrush is a game about crushing Gems and getting points for it. To destroy gems you have to combine them in rows of three or more. You can switch two gems by clicking them. For the gems to change places they have to be next to each other and they have to complete at least a row of 3 after switching.

The title of the inventory will constantly tell you how many moves you have left and how many points you got so far.

Try to make as many points with each move, as possible. The best is to create special gems.

To create a bomb form a 'T-shape' out of one gem type.

Bombs will explode automatically and destroy all surrounding gems. Giving you max 100 points with default values (20p bomb, 10p per gem; can be changed in the configuration file).

The game aims at providing full configuration in combination with GameBox. The configuration file of GemCrush allows for the creation and customization of different game modes.

​

For each game mode you can configure:

The button (item, name and lore)

The number of different gems in the game

Whether bombs are enabled or disabled

Cost

Rewards depending on the score a player achieved!

Money rewards if economy is enabled (Vault + economy plugin needed)

Token rewards which can be exchanged in the Token shop included in GameBox (this basically means you can reward with items and permissions and so on)

Additionally there is a lot of possible configuration about the game in general.

Define the language file. You can either use one of the default files, write your own file or use the always up-to-date english messages. The language file has to be specified in the configuration file.

# name of the language file (in the folder 'language')# the default.yml file is overwritten on every server restart! This means you will have to use the other files# to customize the messages, but since i am adding messages regulary in updates# You should use the default file if you just want to have the up to date english default messages
langFile: 'default.yml'

game:# time in ticks (20 ticks = 1 second) between two gem movements# this is time each gem needs to fall down one row
ticksBetweenMovement: 3# time in ticks (20 ticks = 1 second) between switching two gems and destroying the matched ones
ticksBetweenSwitchAndDestroy: 7# customise bombs here# they are spawned if you combine gems to the following kind of forms## x x x x x x x# x x x x x# x x x#
bombs:# ticks until the bomb explodes (starts counting AFTER all gems fell down and nothing else can break)
ticksTillExplosion: 15
pointsOnBreak: 20
displayName: '&cBomb'
lore: - '&r'
- '&4Caution: &6explosive!'
playSounds: true# if you want you can change the sound volume here
soundVolume: 0.4

# requires vault and an economy plugin# to pay out the rewards from section 'onGameEnd' economy.enabled AND onGameEnd.pay have to be true# if economy.enabled is true players will pay the cost when starting a game
economy:
enabled: false

onGameEnd:
pay: true
restrictions:# players with bypass permission do not have to pay. Here you can set whether they also do not get any rewards.
playersWithBypassDontGetRewards: true
scoreIntervals:# all keys have to be integers otherwise they will be ignored and a warning will be printed in the console

# money is only paid if economy is enabled

# You can add as many intervals as you want to. The order of the intervals doesn't matter# the given reward/messages/commands/broadcasts will always be used if the game is finished with a score between the key and the# next higher key. For the highest key the interval goes to infinity# You can add a money-reward with money: x

# use 'Material:data' or 'ID:data'# Some materials can not be displayed in an inventory, just test everything after changing# You are advised to use different materials.# The display names have to be different for the game to work!# Add as many gems as you want the game will choose random ones for every round
normalGems:
gem1:
material: 'Diamond'# use & for colors
displayName: "&dDiamond"# optional custom number of points per destroyed gem of this type# the default is 10 and is used if this option is not set
pointsOnBreak: 10# optional probability for this gem to be used# default is 1 and is used if this option is not set# This is NOT the probability for the gem to be used to fill an empty slot in the game# this probability is used when the game decides which normal gems to use for the game
probability: 2
gem2:
material: 'EMERALD'
displayName: '&2Emerald'
pointsOnBreak: 10
probability: 1
gem3:
material: 'BLAZE_POWDER'
displayName: '&eSparks'
pointsOnBreak: 10
probability: 1
gem4:
material: 'clay_ball'
displayName: '&7Pearl'
gem5:
material: 'gold_block'
displayName: '&6Gold'
gem6:
material: 'iron_block'
displayName: '&fIron'
gem7:
material: 'bone'
displayName: '&5Fossil'
gem8:
material: 'apple'
displayName: '&cApple'
gem9:
material: 'anvil'
displayName: '&8Anvil'
gem10:
material: 'structure_void'
displayName: '&2Wheel'
gem11:
material: 'double_plant'
displayName: '&6Amber'

If you do not want to use GameBox you can play with the old independent 1.x.x versions (and miss some great features).

If you like my inventory games you can also take a look at Minesweeper and Battleship or express your happiness with a small donation ​

To Do
- more special gems (fish and so on)
- Campaign with prebuild levels and tasks
- Game with infinite moves but timelimit (new gamemode with GameBox)​

Please be friendly in your reviews Contact me if you want any features added to the plugin​

Wonderful plugin with no bug! Players all have fun playing it! 5 stars!!!!!
btw can I advertise this to a Chinese Minecraft forum MCBBS? I'll translate the config into Chinese and let more people know it! Of course the download link stays on this page.

Very nice minigame vor Lobbys :) love it.
Only thing is, the toplist wont chance after a new highscore is set, for example: old score was 100, new ist 210, /gctop still shows 100 even after a reload of the plugin. Im using spigot 1.11.2, no errors in the logfile