fix: 修复记分板切换异常问题

Signed-off-by: MiaoWoo <admin@yumc.pw>
merge/11/HEAD
MiaoWoo 2021-05-31 16:15:41 +08:00
parent e1ee7daa56
commit 3f193bbf46
2 changed files with 17 additions and 17 deletions

View File

@ -3,7 +3,7 @@
<modelVersion>4.0.0</modelVersion>
<artifactId>MiaoBoard</artifactId>
<version>2.5.0</version>
<version>2.5.1</version>
<description>喵式记分板</description>
<parent>
@ -13,13 +13,15 @@
</parent>
<properties>
<update.description>§a正式版本 2.5.0</update.description>
<update.description>§a正式版本 2.5.1</update.description>
<update.changes>
§621-05-31 §cfix: 修复记分板切换异常问题;
§619-12-30 §cfix: 修复字符截取错误导致的报错;
§619-10-24 §cfix: 调整默认配置的 time.end 为2099年;
§618-03-05 §cfix: 修复1.12不兼容的问题
§619-06-22 §afeat: 新增换行符的支持(欠费夏独家赞助更新)
</update.changes>
<update.changelog>
§618-03-05 §cfix: 修复1.12不兼容的问题;
§617-10-15 §cfix: 修复颜色字符分割错误;
§617-08-15 §cfix: 修复事件未标记为异步的问题;
§617-06-28 §cfix: 修复T端不兼容的问题;

View File

@ -1,24 +1,26 @@
package pw.yumc.MiaoBoard.scoreboard.core;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import org.apache.commons.lang.Validate;
import org.bukkit.ChatColor;
import org.bukkit.OfflinePlayer;
import org.bukkit.scoreboard.DisplaySlot;
import org.bukkit.scoreboard.Objective;
import org.bukkit.scoreboard.Team;
import pw.yumc.MiaoBoard.misc.FakePlayer;
import pw.yumc.YumCore.kit.StrKit;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
/**
* @author
* @since 201674 4:40:21
*/
public class SidebarBoardPage extends BoardPage {
private static final List<ChatColor> COLORS = Arrays.asList(ChatColor.values());
private static final int BOARD_LINE_MAX_CHARS = 16;
private static final int BOARD_LINE_MAX_CHARS_SUB1 = BOARD_LINE_MAX_CHARS - 1;
private static boolean newVer = true;
static {
@ -29,12 +31,9 @@ public class SidebarBoardPage extends BoardPage {
}
}
private static final List<ChatColor> COLORS = Arrays.asList(ChatColor.values());
private static final int BOARD_LINE_MAX_CHARS = 16;
private static final int BOARD_LINE_MAX_CHARS_SUB1 = BOARD_LINE_MAX_CHARS - 1;
private final Objective objective;
private final List<BoardLine> boardLines = new ArrayList<>();
private int maxLine;
private int currentSize;
public SidebarBoardPage() {
super();
@ -76,17 +75,16 @@ public class SidebarBoardPage extends BoardPage {
}
boardLine.getTeam().setPrefix(prefix);
boardLine.getTeam().setSuffix(suffix);
maxLine = line + 1;
}
//all 5 [0 1 2 3 4] maxLine = 5 all 3 [0 1 2] maxLine=4
public void clear(int size) {
if (maxLine > size) {
for (int i = size; i < maxLine; i++) {
removeLine(i);
if (size < currentSize) {
for (int i = size; i < currentSize; i++) {
removeLine(i + 1);
}
maxLine = size;
}
currentSize = size;
}
public void removeLine(int line) {