• 因近日遭受攻击,百科现已限制新用户的编辑权限,一段时间后成为自动确认用户方可编辑。

MineChess

From Minecraft插件百科
Jump to: navigation, search


Bukkit/Spigot插件资料
插件名称 MineChess
最新版本 1.7.1
前置插件 HolographicDisplays(可选)

PlaceholderAPI(可选)

兼容服务端 Spigot 1.8+
作者 Ajneb97
源地址 https://www.spigotmc.org/resources/minechess-minigame-1-8-1-15.74178/

介绍

MineChess是一款国际象棋小游戏插件,支持将死和积分两种胜负方式

特点

  • 内含所有下棋动画/动作,从最普通的棋子移动到兵的升变应有尽有
  • 可自定义配置的提示信息、游戏时长、游戏内音效、积分制度和获胜奖励
  • 有辅助下棋的粒子效果
  • 自动检索将军/将死
  • 只能进行规则允许范围之内的移动,同时不允许将国王移动至对方可直接攻击的位置
  • 支持全息显示(需要安装HolographicDisplays插件)
  • 支持围观对局
  • 对局时双方均为可飞行的生存系统
  • 有完善的计分板系统(若要获取完整功能需要安装PlaceholderAPI插件)
  • 保存玩家统计数据(也就是记录战绩啦~)
  • 可设定每回合的时间限制
  • 支持创建多个游戏房间
  • 支持房间内聊天
  • 支持1.8以上的所有版本
  • 支持API

权限&指令

权限

  • chess.admin - 所有命令权限
  • chess.stats - /chess stats命令权限
  • chess.stats.others - /chess stats <玩家名>命令权限

指令

  • /chess - 调出该插件所有指令帮助
  • /chess create <房间名> - 创建一个新房间
  • /chess delete <房间名> - 删除对应房间(会删除对应棋盘)
  • /chess join <房间名> - 加入对应房间
  • /chess leave - 离开房间
  • /chess spectate <房间名> - 观战某房间对局
  • /chess setmainlobby - 创建游戏大厅
  • /chess enable <房间名> - 启用对应房间
  • /chess disable <房间名> - 关闭对应房间
  • /chess build <房间名> - 创建对应房间的棋盘
  • /chess setspawn <房间名> - 设置对应房间的出生点
  • /chess stats <玩家名> - 查看对应玩家的统计数据
  • /chess reload - 重新加载插件配置

创房教程

在创建房间前,首先需要用/chess setmainlobby来创建游戏大厅

创建房间需要以下五步:

  1. 首先使用/chess create <房间名>来创建房间
  2. 使用/chess build <房间名>来放置棋盘。注意,这将会清除范围内的所有其他方块,请仔细、慎重的选址再放置棋盘!
  3. 使用/chess setspawn <房间名>来创建房间出生点,开局时玩家将会被传送至此处,你也可以把出生点设置在空中
  4. 使用/chess enable <房间名>来启用房间
  5. 最后,在大厅中创建一个告示牌来作为加入房间的入口,格式:

第一行:[Chess]

第二行:房间名

第三行:留空

第四行:留空

  • 棋盘大小为24X24,请仔细规划后再放置棋盘

配置

#设置游戏内提示文本
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!"
   pieceSelected: "&a%piece% &eselected."
   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>"
   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
  time_in_each_turn:
  #开启倒计时结束自动下棋功能
  enabled: true
  #设置倒计时时长(秒)
  time: 60
  #选择"move"或"pass"选项
  #"move":倒计时结束时若棋手未操作,则随机移动一枚棋子并换手
  #"pass":倒计时结束时若棋手未操作,则不进行操作并换手
  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
  #设置游戏音效
  #需要使用正确的音效名,参考如下:
  #1.13+:https://hub.spigotmc.org/javadocs/spigot/org/bukkit/Sound.html
  #1.8-1.12:https://github.com/Attano/Spigot-1.8/blob/master/org/bukkit/Sound.java
  #格式:音效;音量;音高
  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"
  #设置每个棋子的积分
  #国际象棋中各棋子名称如下:
  #Pawn:士兵
  #Rook:城堡(车)
  #Knight:骑士(马)
  #Bishop:主教(相)
  #Queen:皇后
  #King:国王
  pointsPawn: 1
  pointsRook: 3
  pointsKnight: 3
  pointsBishop: 3
  pointsQueen: 10
  pointsKing: 20
  #设置获胜者的奖励(以指令形式,默认使用ess指令)
  winners_command_rewards:
  - "msg %player% &aHere, take a reward!"
  - "eco give %player% 100"
  #设置获奖时间
  #如果该选项为true,获胜玩家将在游戏结束后传送回大厅时获得奖励,此模式允许给予物品奖励,但是若该玩家在游戏结束时立即退出房间则不会有任何奖励
  #如果该选项为false,获胜玩家将在游戏结束时立刻在竞技场内获得奖励,不支持物品奖励
  rewards_executed_after_teleport: true

相关链接

Spigot原帖

mcbbs搬运帖

作者投喂地址

国际象棋规则-萌娘百科