package me.desht.chesscraft.controlpanel; import me.desht.chesscraft.ChessCraft; import me.desht.chesscraft.chess.ChessGame; import me.desht.chesscraft.enums.GameState; import me.desht.chesscraft.util.EconomyUtil; import org.bukkit.event.block.Action; import org.bukkit.event.player.PlayerInteractEvent; public class StakeButton extends AbstractSignButton { public StakeButton(ControlPanel panel) { super(panel, "stakeBtn", "stake", 7, 1); } @Override public void execute(PlayerInteractEvent event) { double stakeIncr; if (event.getPlayer().isSneaking()) { stakeIncr = ChessCraft.getInstance().getConfig().getDouble("stake.smallIncrement"); //$NON-NLS-1$ } else { stakeIncr = ChessCraft.getInstance().getConfig().getDouble("stake.largeIncrement"); //$NON-NLS-1$ } if (event.getAction() == Action.RIGHT_CLICK_BLOCK) { stakeIncr = -stakeIncr; } getGame().adjustStake(event.getPlayer(), stakeIncr); repaint(); } @Override public boolean isEnabled() { return getGame() != null && EconomyUtil.enabled(); } @Override public boolean isReactive() { ChessGame game = getGame(); return game != null && !getView().getLockStake() && game.getState() == GameState.SETTING_UP && !game.isFull(); } @Override protected String[] getCustomSignText() { String[] res = getSignText(); ChessGame game = getGame(); double stake = game == null ? getView().getDefaultStake() : game.getStake(); String[] s = EconomyUtil.formatStakeStr(stake).split(" ", 2); res[2] = getIndicatorColour() + s[0]; res[3] = s.length > 1 ? getIndicatorColour() + s[1] : ""; return res; } }