MineChess | Minigame [1.8-1.16] 1.10.2

Chess recreated in Minecraft, play with friends and test your logic!

  1. Ajneb97
    Tested Minecraft Versions:
    • 1.8
    • 1.9
    • 1.10
    • 1.11
    • 1.12
    • 1.13
    • 1.14
    • 1.15
    • 1.16
    [​IMG]

    What is MineChess?
    MineChess is nothing more than Chess game recreated in Minecraft, you can play with friends, create multiples arenas and test your logic.

    The first player to put the oponent's king in check is the winner of the game. If time runs out and both kings are alive, the player with the most points will win.

    [​IMG]

    If you don't know how to play check the wiki: https://en.wikipedia.org/wiki/Chess
    Requirements and Dependencies:
    - SPIGOT (not craftbukkit)
    - HolographicDisplays (optional): https://dev.bukkit.org/projects/holographic-displays
    - PlaceholderAPI (optional, for the scoreboard)
    https://www.spigotmc.org/resources/placeholderapi.6245/
    If you want to help me maintain this project alive, I would be grateful if you donate and support my work :)

    [​IMG]
    - All Chess Movements including Castling, Pawn Promotion and En Passant.
    - Configurable messages, arena times, sounds, points, winners rewards.
    - Particles for movement and selection.
    - Check and Checkmate
    - Only allowed movements will be possible to made. Players will not be able to put their king in check.
    - Holograms for pieces.
    - Spectator Mode.
    - PlaceholderAPI support for Scoreboard.
    - PlaceholderAPI variables.
    - Player Stats.
    - Time limit for each turn
    - API.
    - Multiple arenas.
    - Per Arena Chat.
    - Works in 1.8+.



    [​IMG]
    Before creating an arena it's important to set the Main Lobby using /chess setmainlobby

    To create a Chess Arena just follow these steps.
    1) Use the /chess create <arena> command.
    2) To build the chess board use the /chess build <arena> command. Be careful because this will place the board next to you, replacing all blocks sorrounding you. That's why you need to build the arena before decorating it.
    3) Set the arena spawn by using /chess setspawn <arena>. You can place the spawn in the air since the players will have access to fly during the game.
    4) Use the /chess enable <arena> command to allow players to join the arena.
    5) Finally, you can create a Sign to join the arena. Just use the following format:
    [Chess]
    arena_name
    [​IMG]

    [​IMG]
    The plugin has just 1 file where you can modify some properties including the translation of the messages.
    Code (YAML):
    Messages:
        prefix
    : "&7[&2&lChess&7] "
        configReloaded
    : "&aConfig Reloaded!"
        noPermissions
    : "&cYou don't have permissions."
        commandCreateErrorUse
    : "&cYou need to use &7/chess create <arena>"
        arenaAlreadyExists
    : "&cThat arena already exists."
        arenaCreated
    : "&aArena created! Use &7/chess build %arena% &ato automatically construct the arena in your position."
        arenaDoesNotExists
    : "&cThat arena doesn't exists."
        commandBuildErrorUse
    : "&cYou need to use &7/chess build <arena>"
        arenaBuilt
    : "&aThe arena was built correctly!"
        commandSetSpawnErrorUse
    : "&cYou need to use &7/chess setspawn <arena>"
        spawnSet
    : "&aSpawn set for arena &e%arena%&a."
        mainLobbyDefined
    : "&aMain Lobby defined correctly."
        commandJoinErrorUse
    : "&cYou need to use &7/chess join <arena>"
        playerJoin
    : "&7%player% &ehas joined the game (&b%current_players%&8/&b2&e)"
        playerLeave
    : "&7%player% &ehas left the game (&b%current_players%&8/&b2&e)"
        arenaStartingMessage
    : "&eThe game starts in &7%time% &eseconds!"
        gameStartingCancelled
    : "&7There are not enough players to start the game."
        gameStarted
    : "&aGame started!"
        blackPiecesInfo
    : "&eYou are the &0&lBLACK &epieces."
        whitePiecesInfo
    : "&eYou are the &f&lWHITE &epieces."
        gameFinished
    :
       - "&e&m                                               "
        - "&6%player% &ewon the game with &9%points% Points&e!"
        - "&e&m                                               "
        gameFinishedTie
    :
       - "&e&m                                               "
        - "&e                  There was a tie!"
        - "&e&m                                               "
        arenaDisabledError
    : "&cThe arena is disabled."
        alreadyInArena
    : "&cYou are already in an arena."
        arenaAlreadyStarted
    : "&cThe arena already started."
        arenaIsFull
    : "&cThe arena is full."
        notInAGame
    : "&cYou are not in a game."
        commandEnableErrorUse
    : "&cYou need to use: &7/chess enable <arena>"
        arenaAlreadyEnabled
    : "&cThe arena is already enabled."
        enableArenaBuildError
    : "&cYou need to build the arena first by using &7/chess build <arena>"
        enableArenaSpawnError
    : "&cYou need to set the arena spawn first by using &7/chess setspawn <arena>"
        arenaEnabled
    : "&aArena &e%arena% &aenabled."
        commandDisableErrorUse
    : "&cYou need to use: &7/chess disable <arena>"
        arenaAlreadyDisabled
    : "&cThe arena is already disabled."
        arenaDisabled
    : "&aArena &e%arena% &adisabled."
        noMainLobby
    : "&cBefore creating an arena you need to set the Main Lobby with: &7/chess setmainlobby"
        commandDeleteErrorUse
    : "&cYou need to use: &7/chess delete <arena>"
        arenaDeleted
    : "&aArena &e%arena% &adeleted."
        notYourTurn
    : "&cIs not your turn!"
        notYourPiece
    : "&cThat is not your piece!"
        pieceSelected
    : "&7&l%piece% &eselected."
        piecePawn
    : "&aPawn"
        pieceRook
    : "&aRook"
        pieceKnight
    : "&aKnight"
        pieceBishop
    : "&aBishop"
        pieceQueen
    : "&aQueen"
        pieceKing
    : "&aKing"
        changeTurn
    : "&6➤ &eIt's &a%player% &eTurn."
        pieceMove
    : "&6➤ &a%player% &emoved &a%piece% &eto &7[%coords%]&e."
        pieceCaptured
    : "&6➤ &a%player% &emoved &a%piece% &eto &7[%coords%] &eand captured &c%player2%'s %player2_piece%&e."
        castling
    : "&6➤ &a%player% &ecastled his King to &7[%coords%]&e."
        promotion
    : "&6➤ &a%player% &epromoted his Pawn to &a%piece%&e."
        check
    : "&6➤ &a%player%'s &cKing is in check!"
        checkmate
    : "&6➤ &a%player%'s &cKing is in checkmate!"
        actionbarPlayerTurn
    : "&9It's &e%player% &9Turn. &8(&6%time%&8)"
        actionbarYourTurn
    : "&9It's your Turn. &8(&6%time%&8)"
        gameScoreboardTitle
    : "&bMineChess"
        gameScoreboardBody
    :
       - "&1"
        - "&cStatus:"
        - "&e%status%"
        - "&2"
        - "&a&l%player_1% &cPoints: &a%player_1_points%"
        - "&a&l%player_2% &cPoints: &a%player_2_points%"
        - "&3"
        - "&cmc.server.com"
        statusWaiting
    : "&eWAITING"
        statusStarting
    : "&eSTARTING IN &a%time%"
        statusIngame
    : "&eENDS IN &a%time%"
        statusFinishing
    : "&eFINISHING IN &a%time%"
        gameScoreboardWaitingPlayer
    : "Player"
        pawnPromotionInventoryTitle
    : "&cPawn Promotion"
        promoteItemName
    : "&ePromote to: &a%piece%"
        signFormat
    :
       - "&8[&2Chess&8]"
        - "&9%arena%"
        - "%status%"
        - "&a%current_players%&8/&a%max_players%"
        signStatusWaiting
    : "&1WAITING"
        signStatusStarting
    : "&6STARTING"
        signStatusIngame
    : "&cINGAME"
        signStatusDisabled
    : "&8DISABLED"
        signStatusFinishing
    : "&4FINISHING"
        titleKingInCheck
    : "&a%player%'s &cKing is in check!"
        titleKingInCheckmate
    : "&a%player%'s &cKing is in checkmate!"
        commandSpectateErrorUse
    : "&cYou need to use &7/chess spectate <arena>"
        commandSpectateAllError
    : "&cThe arena doesn't exists or that player is not playing on it."
        arenaMustHaveStarted
    : "&cThe arena must have started to spectate it!"
        errorPlayerNotExists
    : "&7Player &e%player% &7doesn't have any stored stats."
        commandPlayerStats
    :
       - "&9&lStats of &e%player%"
        - "&7Wins
    : &e%wins%"
        - "&7Ties
    : &e%ties%"
        - "&7Loses
    : &e%loses%"
        - "&7Time Played
    : &d%time%"
    Config
    :
       arena_starting_cooldown
    : 10
       arena_ending_phase_cooldown
    : 10
       arena_time
    : 1200
       piece_holograms_enabled
    : true
       teleport_last_location
    : false
       time_in_each_turn
    :
          enabled
    : true
          time
    : 60
          action_when_time_runs_out
    : move
       leave_item_enabled
    : true
       leave_item
    :
          item
    : IRON_DOOR
          name
    : "&7[&c&lLeave&7]"
          lore
    :
         - "&7Right Click to leave the game."
       select_item
    :
          item
    : NAME_TAG
          name
    : "&7[&a&lSelect and Move&7]"
          lore
    :
         - "&eLeft Click &7to select a piece."
          - "&eRight Click &7to move a selected piece."
       commands_whitelist
    :
      - "/chess leave"
       - "/help"
       per_arena_chat
    : true
       soundCapturePiece
    : "BLOCK_NOTE_BLOCK_PLING;10;2"
       soundLosePiece
    : "BLOCK_NOTE_BLOCK_PLING;10;0.1"
       soundMovePiece
    : "BLOCK_STONE_STEP;10;1"
       soundCastling
    : "BLOCK_PISTON_EXTEND;10;1.5"
       soundSelectPiece
    : "UI_BUTTON_CLICK;10;1"
       soundPromotion
    : "ENTITY_PLAYER_LEVELUP;10;2"
       soundCheck
    : "ENTITY_BLAZE_DEATH;10;0.5"
       pointsPawn
    : 1
       pointsRook
    : 3
       pointsKnight
    : 3
       pointsBishop
    : 3
       pointsQueen
    : 10
       pointsKing
    : 20
       winners_command_rewards
    :
      - "msg %player% &aHere, take a reward!"
       - "eco give %player% %random_5*points-10*points%"
       losers_command_rewards
    :
      - "msg %player% &aYou've lost! Here, take this compensation reward."
       - "eco give %player% %random_2*points-3*points%"
       minimum_time_for_rewards
    : 240
       rewards_executed_after_teleport
    : true

    #Time of each phases of the game in seconds.​
    arena_starting_cooldown: 10
    arena_ending_phase_cooldown: 10
    arena_time: 1200

    #Option to show holograms above pieces. Requires Holographic Displays: https://dev.bukkit.org/projects/holographic-displays

    piece_holograms_enabled: true

    #If you enable this option, players will be teleported back to their previous locations when they leave an arena (instead of the main lobby).
    teleport_last_location: false

    #If you want players to have a defined amount of time to move a piece, you need to enable this option. If enabled, you will have to select 2 actions: "move" or "pass".
    "move": If the player doesn't move a piece, at the end of his turn a random piece will be moved.
    "pass": If the player doesn't move a piece, at the end of his turn he will pass automatically.
    time_in_each_turn:
    enabled: true
    time: 60
    action_when_time_runs_out: move


    #Items of the game. You need to use valid Material names.

    #Use this link for lastest versions of Minecraft (1.13+): https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/Material.html
    #Use this link for 1.8-1.12: https://www.minecraftinfo.com/idlist.htm
    leave_item_enabled: true
    leave_item:
    item: IRON_DOOR
    name: "&7[&c&lLeave&7]"
    lore:
    - "&7Right Click to leave the game."
    select_item:
    item: NAME_TAG
    name: "&7[&a&lSelect and Move&7]"
    lore:
    - "&eLeft Click &7to select a piece."
    - "&eRight Click &7to move a selected piece."

    #These commands will be enabled when playing.

    commands_whitelist:
    - "/chess leave"
    - "/help"

    #Different action sounds that you can modify. You need to you a valid sound name.
    #Use this link for 1.13+: https://hub.spigotmc.org/javadocs/spigot/org/bukkit/Sound.html
    #Use this link for 1.8: https://github.com/Attano/Spigot-1.8/blob/master/org/bukkit/Sound.java
    #Use the format "Sound;volume;pitch"​
    soundCapturePiece: "BLOCK_NOTE_BLOCK_PLING;10;2"
    soundLosePiece: "BLOCK_NOTE_BLOCK_PLING;10;0.1"
    soundMovePiece: "BLOCK_STONE_STEP;10;1"
    soundCastling: "BLOCK_PISTON_EXTEND;10;1.5"
    soundSelectPiece: "UI_BUTTON_CLICK;10;1"
    soundPromotion: "ENTITY_PLAYER_LEVELUP;10;2"

    #Capturing pieces will give you points, here you can define the amount of points each piece gives.

    pointsPawn: 1
    pointsRook: 3
    pointsKnight: 3
    pointsBishop: 3
    pointsQueen: 10
    pointsKing: 20

    #Commands to be executed to the winners/losers of a game.

    #You can use the %random% variable to generate a random number, using the final points of the player, just follow this format:
    %random_min-max%
    min and max values could be a formula. You can use the 'points' variable in this formula.

    winners_command_rewards:
    - "msg %player% &aHere, take a reward!"
    - "eco give %player% %random_5*points-10*points%"
    losers_command_rewards:
    - "msg %player% &aYou've lost! Here, take this compensation reward."
    - "eco give %player% %random_2*points-3*points%"

    #Rewards will only be given if the duration of the game is superior to this number.

    minimum_time_for_rewards: 240

    #If this option is set to true, players will receive the rewards when they are teleported back to the lobby. This allows you to give Item rewards, but if the user leaves the game when the arena is finishing, he won't receive any reward. If the option is set to false, players will receive the rewards inside the arena, just right after finishing the game.

    rewards_executed_after_teleport: true

    Translations
    Spanish by @NayZion [Click here]

    Videos

    English by Serverminer:


    Turkish by @IRFANDUMAN


    Spanish by @Maximiliano


    Spanish by me:


    PlaceholderAPI/MineChess Variables

    You can use these MineChess variables in any other plugin with PlaceholderAPI support.
    %minechess_wins%
    %minechess_loses%
    %minechess_ties%
    %minechess_played_time%
    %minechess_arenaplayers_count_<arena>%
    %minechess_arena_status_<arena>%



    API

    For this to work you need to add my plugin to your plugin external jars dependencies and to set softdepends: MineChess on your plugin.yml file.
    Code (Java):
    //Returns some player data
    int wins = ChessAPI.getWins(String player)
    int loses = ChessAPI.getLoses(String player)
    int ties = ChessAPI.getTies(String player)
    long playedTimeInMillis = ChessAPI.getPlayedTime(String player)
    String playedTime = ChessAPI.getPlayedTimeFormatted(String player)
    int players = ChessAPI.getPlayersArena(String arena)
    ChessArenaStatus status = ChessAPI.getStatusArena(String arena)
    ArrayList<ChessPlayer> players = ChessAPI.getPlayerData()
     
    [​IMG]
    -/chess create <arena> Creates a new arena.

    -/chess delete <arena> Deletes an arena.
    -/chess join <arena> Joins an arena.
    -/chess leave Leaves from the arena.
    -/chess spectate <arena>/<player> Spectates an arena or player.
    -/chess setmainlobby Defines the minigame main lobby.
    -/chess enable <arena> Enables an arena.
    -/chess disable <arena> Disables an arena.
    -/chess build <arena> Builds the arena in your current position.
    -/chess setspawn <arena> Sets the arena spawn.
    -/chess stats <player> Shows you player stats.
    -/chess reload Reloads the configuration files.

    [​IMG]
    - chess.admin (Access to all commands)

    - chess.stats (Access to /chess stats command)
    - chess.stats.others (Access to /chess stats <player> command)

    [​IMG]

    [​IMG]

    I hope you enjoy the plugin, I am not a professional in Chess, in fact I haven't play since many years, so it is possible you may find bugs or errors. If that is the case, contact me in the discussion of the plugin or via private message before giving a bad review!

    If you have any suggestion for the plugin, ask me in the discussion of the plugin :)

Recent Updates

  1. 1.10.2
  2. 1.10.1
  3. 1.9.2

Recent Reviews

  1. oldmandan777
    oldmandan777
    5/5,
    Version: 1.10.2
    Excellent plugin. A great addition to any server! Easy setup and very easy to apply!
    1. Ajneb97
      Author's Response
      Thanks for the review! :)
  2. Electrodiux
    Electrodiux
    5/5,
    Version: 1.10.1
    ajneb, soy sub tuyo te digo que es muy buen plugin MUY configurable y muy divertido y util, pero te pido dos cosas algun placeholder de tops, creo que ya te lo han pedido y lo mas importante, hay un pequeño BUG y que mi scoreboard del plugin Animated Scoreboard, cuando salgo de la arena, se elimina la scoreboar para el usuario, si se reloguea se arregla pero MUUUYY BUEN PLUGIN CRACK
    1. Ajneb97
      Author's Response
      En el AnimatedScoreboard saca esa scoreboard del mundo donde estan las arenas de minechess y se deberia arreglar. Y con respecto a lo del top, puedes hacer tops de cualquier tipo con LeaderHeads, mi plugin ya provee variables de PlaceholderAPI para hacer eso ;)
  3. NayZion
    NayZion
    5/5,
    Version: 1.10.1
    1. Ajneb97
      Author's Response
      Gracias! Ya la puse en la descripción del plugin :)
  4. kamikazifrosty
    kamikazifrosty
    5/5,
    Version: 1.10.1
    Amazing Plugin OMG, very well done! Perfect operation right out of the box.
    This is easily the best chess set out there!
    1. Ajneb97
      Author's Response
      Thanks for the review :)
  5. Eridamus_LoL
    Eridamus_LoL
    5/5,
    Version: 1.9.2
    EXCELENTE PLUGIN!! SUPER FACIL DE CONFIGURAR, Y SUPER DIVERTIDO.
    En cuanto a rendimiento de servidor, 20 TPS Constante, así que no le hace mal al servidor.
    Me hubiera encantado un placeholder para hacer un
    HOLO TOP 5 de victorias.
    algo así como
    %chess_<arena>_<posicion>_<w/l>%
    =>
    %chess_tablero1_1_wins%
    %chess_tablero1_2_wins%
    %chess_tablero1_3_wins%

    Pero en definitva, 5 ESTRRRRELLASS
    1. Ajneb97
      Author's Response
      Gracias por la review, puedes hacer esos mismos hologramas con el plugin LeaderHeads!
  6. Konsider
    Konsider
    5/5,
    Version: 1.9.2
    This a great plugin :D Easy to use, easy to set up and work perfectly! It is also updated to the latest Minecraft version. What more could you need? Great work! :D
    1. Ajneb97
      Author's Response
      Thanks for the review! :)
  7. AndishooterLp
    AndishooterLp
    5/5,
    Version: 1.9.2
    Great plugin!But after restarting the server, all arenas disappear. What could be the problem? (1.16.1)
    1. Ajneb97
      Author's Response
      You can't execute the /reload command, always stop your server using /stop
  8. oskar13245567O
    oskar13245567O
    5/5,
    Version: 1.9.2
    Epic Plugin! Pls Pls Pls Pls Pls pls pls pls pls update to 1.16.1 pls pls pls pls
    1. Ajneb97
      Author's Response
      Currently the plugin has support for 1.16, thanks for the review!
  9. sammay75
    sammay75
    5/5,
    Version: 1.8.1
    Great Plugin! It a plug and play plugin whats not to love!! But update to 1.16.1!! My players love this plugin!
    1. Ajneb97
      Author's Response
      Yes I am working on an update for 1.16 ;) Thanks for the review!
  10. Sortexx_19
    Sortexx_19
    5/5,
    Version: 1.8.1
    Voy a probar el plugin pero se ve muy bueno, haré una modalidad para probar distintos plugins creados por ti como el pinguins va rabbits etc. Muchas gracias por estos pedazo plugins. Y tus vídeos nos ayudan mucho. Gracias
    1. Ajneb97
      Author's Response
      De nada, gracias por la review ;)