 
                Christmas Songs | YAML | SQLite | MySQL | MultiArena | PlaceholderAPI | Leaderboard | BungeeCord
Evidence that I can upload

Why Premium?
Because I want to add more features and continue maintaining this plugin. 
Grinch Simulator is a brand new game inspired by parkour and collection. You play as a Grinch – an evil Christmas creature whose only desire is to ruin the holiday for everyone.
Your mission is to steal presents from houses. The Grinch who steals the most presents by the end of the game wins!
On your hotbar you'll find snowballs which slow other players down, and can punch people to knock them back.
» Lightweight and easy to use!
» No dependency
» 100% customizable
» No-flicker scoreboard
» BungeeMode support
» Yaml , SQLite , MySQL stats
» ActionBar and Title
» Leaderboard
» Discord Webhook





Player: - None
  /gs join <name>
  /gs quickjoin
  /gs leave
Admin: - gs.admin
  /gs setspawn
  /gs joinmenu
  /gs list
  /gs create <name> <min> <max>
  /gs delete <name>
  /gs forcestart <name>
  /gs start <name>
  /gs stop <name>
  /gs enable <name>
  /gs disable <name>
  /gs top <type>
  /gs updateleaderboard
  /gs npccreate <id>
  /gs npcremove <id>
  /gs npclist
  /gs reload
1. Create a SETUP using: /gs create <name> <min> <max>
2. Follow the setup in-game
3.
a(MultiArena). Create a sign
    [Grinch]
      <Name>
b. (SingleArena) Enable BungeeCord mode in config.yml
4. And that's it, congratulations!
   import ro.fr33styler.grinchsimulator.api.events.GameEndEvent;
   import ro.fr33styler.grinchsimulator.api.events.GameJoinEvent;
   import ro.fr33styler.grinchsimulator.api.events.GameLeaveEvent;
   import ro.fr33styler.grinchsimulator.api.events.GameStartEvent;
   import ro.fr33styler.grinchsimulator.api.events.GameEndEvent;
   import ro.fr33styler.grinchsimulator.api.events.GameStateChangeEvent;
@EventHandler
    public void onJoin(GameJoinEvent e) {
        Player p = e.getPlayer();
    }
@EventHandler
    public void onEnd(GameEndEvent e) {
        List<Player> players = e.getPlayers();
        List<Player> top = e.getTop();
    }
@EventHandler
    public void onLeave(GameLeaveEvent e) {
        Player p = e.getPlayer();
@EventHandler
    public void onStart(GameStartEvent e) {
        List<Player> p = e.getPlayers();
    }
@EventHandler
    public void onEnd(GameEndEvent e) {
        List<Player> top = e.getTop();
        List<Player> p = e.getPlayers();
    }
@EventHandler
    public void onStateChange(GameStateChangeEvent e) {
       Game game = e.getGame();
       GameState oldState = e.getOldState();
       GameState newState = e.getNewState();
    }
%grinchsimulator_wins%
%grinchsimulator_gameplayed%
%grinchsimulator_giftsstolen%
%grinchsimulator_players%
%grinchsimulator_status_<arena>%
%grinchsimulator_arena_players_<arena>%
%grinchsimulator_arena_max_players_<arena>%
%grinchsimulator_arena_min_players_<arena>%
%grinchsimulator_arena_total_players_<arena>%
%grinchsimulator_leaderboard_wins_<number>%
%grinchsimulator_leaderboard_gameplayed_<number>%
%grinchsimulator_leaderboard_giftsstolen_<number>%
AFKKick:
  Enabled: true
  TimeSeconds: 60
  Sound: BLOCK_NOTE_BLOCK_HAT
Scoreboard:
  MaxNameLenght: 16
  HideNumbers: false
Game:
  WaitTime: 20
  GameTime: 240
  WorldTime: 1000
  Snowballs: 16
  Whitelist:
  - /mute
  - /list
  SignGlass: false
  PrivateChat: true
  AutoJoinOnEnd: true
  Weather: false
  LobbyMaxDistance: 8
  CommandsWin:
  - money give %first% 0
  - money give %second% 0
  - money give %third% 0
  - money give %other% 0
  CommandsStart:
  - kit give %player%
  Uninteractable-Blocks:
    - CRAFTING_TABLE
    - FURNACE
    - ANVIL
    - HOPPER
    - BEACON
BungeeMode:
  Enabled: false
  ServerOnGameEnd: Hub
Storage:
  # What storage method should be used? (YAML, MYSQL, SQLITE)
  Storage-Type: SQLITE
  Async-Save: true
  Sql:
    Host: "localhost"
    Port: 3306
    Database: "grinchsimulator"
    Username: "root"
    Password: "grinchsimulator"
Leaderboard:
  Enabled: true
  Update-Delay: 5
  Data-Limit: 10
  Refresh-Rate: 25
Messages:
  PREFIX: '&8▎ &3Grinch Simulator&8 ▏'
  LINE_SPLITTER: '&a▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬'
  COMMAND_ONLY_PLAYER: '&cYou can''t use commands from console!'
  INVALID_ARGUMENTS: '&7Invalid arguments! Use &a/gs %command%%arguments%'
  UNKNOWN_COMMAND: '&7Unknown command! Type &c/gs help&7 for help.'
  START_TEXT: "&b⮞ A &e&lGrinch Simulator &bgame in arena &e&l%arena% \n  &bis waiting\
    \ for more players to start! &6&lCLICK HERE &bto join!"
  START_TEXT_TIP: '&a&lLEFT CLICK TO JOIN!'
  GAME_IS_FULL: '&cGame is full!'
  GAME_NULL: '&cGame dosen''t exist!'
  GAME_IS_DISABLED: '&cGame is disabled!'
  GAME_HAS_STARTED: '&aGame already started!'
  GAME_JOIN_ANOTHER_GAME: '&cYou can''t play in more than 1 game!'
  GAME_START: '&eThe game starts in %timer%&e seconds!'
  GAME_JOIN: '&7%name% &ehas joined (&b%size%&e/&b%maxsize%&e)!'
  GAME_LEAVE: '&7%name% &ehas left!'
  GAME_LEFT: '&cYou left the game'
  GAME_NOGAME_LEAVE: '&cYou have to be in game to use this command!'
  GAME_NO_PLAYERS: '&c&lNot enough player for game to continue!'
  GAME_MENU: '&8Game Menu'
  CHAT_PLAYING_FORMAT: '&a[GAME] &7%player%&f: %message%'
  GAME_YOU_STOLE: '&aYou found a gift! &7(%total% total)'
  GAME_SCORE_REACH: '&7%player% &ehas reached &c%score% &egift!'
  GAME_OVER: '&cGame Over!'
  GAME_WON: '&aYOU WIN!'
  GAME_NAME: '&f&l   Grinch Simulator'
  LEAVE_STARTED: '&a&lTeleporting you to the lobby in 3 seconds... Right-click again
    to cancel the teleport!'
  LEAVE_CANCEL: '&c&lTeleport cancelled!'
  SIGN_FIRST: '%prefix%'
  SIGN_SECOND: Right click
  SIGN_THIRD: '&5• &f&l%state% &5•'
  SIGN_FOURTH: '&c»&8&l%min%/%max%&c«'
  STATE_WAITING: WAITING
  STATE_IN_GAME: IN GAME
  STATE_ENDING: ENDING
  STATE_DISABLED: DISABLED
  TITLE_FIRST: '&aYou got FIRST PLACE!'
  TITLE_SECOND: '&eYou got SECOND PLACE!'
  TITLE_THIRD: '&eYou got THIRD PLACE!'
  TITLE_OVER: '&eYou got %rank%th place!'
  TITLE_REMAINING: '&eseconds remaining'
  NOT_ENOUGH_PLAYERS: '&c&lNot enough players!'
  ITEM_RIGHT_CLICK: Right Click
  ITEM_LEFTGAME_NAME: '&c&lReturn to Lobby'
  ITEM_LEFTGAME_LORE: '&7Right-click to leave to the lobby!'
  ITEM_PLAYAGAIN_NAME: '&b&lPlay Again'
  ITEM_PLAYAGAIN_LORE: '&7Right-click to play another game!'
  ITEM_ARENA_NAME: '&a%name%'
  ITEM_ARENA_LORE: '#&5• &f&l%state% &5•##&b%min%&e/&b%max%##&eClick to join!'
  BAR_PLAYERS: '&cThere should be at least &b%min%&c for game to begin!'
  RESTRICTED_COMMAND: '&cYou can''t use commands in-game!'
  SCOREBOARD_TITLE: '&e&lGRINCH SIMULATOR'
  SCOREBOARD_LOBBY_ID: 'Map: &a'
  SCOREBOARD_LOBBY_PLAYERS: 'Players:'
  SCOREBOARD_LOBBY_GAME_START: 'Starting in '
  SCOREBOARD_LOBBY_WAITING: Waiting...
  SCOREBOARD_LOBBY_SERVER: '&ewww.spigotmc.org'
  SCOREBOARD_GAME_RANKING: 'Ranking: &a'
  SCOREBOARD_GAME_GIFTS_STOLEN: 'Gifts Stolen: &a'
  SCOREBOARD_GAME_GIFTS_LEFT: 'Gifts Left: &a'
  SCOREBOARD_GAME_TIME_LEFT: 'Time Left: &a'
  SCOREBOARD_TOP: '&f%place%. &7%player% &7(&e%gifts%&7)'
  GAME_TOP: '&e&l%place% Place &7- %player%: &e%gifts%'
  GAME_START_MESSAGE: '&e&lGoal: Steal more presents than any#&e&lother player before
    the time runs out!'
  NO_GAME_FOUND: '&cNo game found!'
  LOADING_DATA: '&7Loading...'
  LEADERBOARD_TOP: '&a%position%&7) &c%player%&7: %value%'
  LEADERBOARD_NO_DATA: '&7Waiting...'
  LEADERBOARD_UNKNOWN: '&cUnknown Leaderboard Type'
  LEADERBOARD_WINS: '&e%position%. &b%player% &7- &e%wins% &7wins'
  LEADERBOARD_GAME_PLAYED: '&e%position%. &b%player% &7- &e%gameplayed% &7gameplayed'
  LEADERBOARD_GIFTS_STOLEN: '&e%position%. &b%player% &7- &e%giftsstolen% &7giftsstolen'
  AFK_KICK: '&cYou were kicked because of inactivity'
Discord:
  Enable-Web-Hook: false
  Web-Hook-Url: ''
  Announcements:
    Game-Win:
      Title: New Win!
      Description: '%player% found %gift% at %map% and won the game!'
      Color: '#00ffD00'For support, please use only resource discussion 
Terms of Service 
By using this plugin, you agree to the following terms, which may be updated by the author at any time.