Skip to content

Commit 2934fc8

Browse files
authored
Merge pull request #7 from JavaJava19/develop
最高連続キル数、最高レート追加
2 parents ca4a939 + 65bf1de commit 2934fc8

File tree

5 files changed

+57
-9
lines changed

5 files changed

+57
-9
lines changed

src/main/java/com/github/elic0de/thejpspit/database/SqLiteDatabase.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -141,7 +141,7 @@ public Optional<PitPlayer> getPitPlayer(Player player) {
141141
public Optional<PitPlayer> getPitPlayer(UUID uuid) {
142142
try (PreparedStatement statement = getConnection().prepareStatement(
143143
formatStatementTables("""
144-
SELECT `kills`, `streaks`, `deaths`, `rating`, `xp`
144+
SELECT `kills`, `streaks`, `bestStreaks`, `deaths`, `rating`, `bestRating`, `xp`
145145
FROM `%players_table%`
146146
WHERE `uuid`=?"""))) {
147147

@@ -152,8 +152,10 @@ public Optional<PitPlayer> getPitPlayer(UUID uuid) {
152152
return Optional.of(new PitPlayer(Bukkit.getPlayer(uuid),
153153
resultSet.getLong("kills"),
154154
resultSet.getLong("streaks"),
155+
resultSet.getLong("bestStreaks"),
155156
resultSet.getLong("deaths"),
156157
resultSet.getDouble("rating"),
158+
resultSet.getDouble("bestRating"),
157159
resultSet.getDouble("xp")
158160
));
159161
}
@@ -168,7 +170,7 @@ public Optional<PitPlayer> getPitPlayer(UUID uuid) {
168170
public Optional<OfflinePitPlayer> getOfflinePitPlayer(UUID uuid) {
169171
try (PreparedStatement statement = getConnection().prepareStatement(
170172
formatStatementTables("""
171-
SELECT `kills`, `streaks`, `deaths`, `rating`, `xp`
173+
SELECT `kills`, `streaks`, `bestStreaks`, `deaths`, `rating`, `bestRating`, `xp`
172174
FROM `%players_table%`
173175
WHERE `uuid`=?"""))) {
174176

@@ -179,8 +181,10 @@ public Optional<OfflinePitPlayer> getOfflinePitPlayer(UUID uuid) {
179181
return Optional.of(new OfflinePitPlayer(uuid,
180182
resultSet.getLong("kills"),
181183
resultSet.getLong("streaks"),
184+
resultSet.getLong("bestStreaks"),
182185
resultSet.getLong("deaths"),
183186
resultSet.getDouble("rating"),
187+
resultSet.getDouble("bestRating"),
184188
resultSet.getDouble("xp")
185189
));
186190
}

src/main/java/com/github/elic0de/thejpspit/player/OfflinePitPlayer.java

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,16 +11,20 @@ public class OfflinePitPlayer {
1111
private long kills;
1212

1313
private long streaks;
14+
private long bestStreaks;
1415
private long deaths;
1516
private double rating;
16-
private double xp;
17+
private double bestRating;
18+
private final double xp;
1719

18-
public OfflinePitPlayer(UUID uuid,long kills, long streaks, long deaths, double rating, double xp) {
20+
public OfflinePitPlayer(UUID uuid,long kills, long streaks, long bestStreaks, long deaths, double rating, double bestRating, double xp) {
1921
this.uuid = uuid;
2022
this.kills = kills;
2123
this.streaks = streaks;
24+
this.bestStreaks = bestStreaks;
2225
this.deaths = deaths;
2326
this.rating = rating;
27+
this.bestRating = bestRating;
2428
this.xp = xp;
2529
}
2630

@@ -36,6 +40,10 @@ public long getStreaks() {
3640
return streaks;
3741
}
3842

43+
public long getBestStreaks() {
44+
return bestStreaks;
45+
}
46+
3947
public long getDeaths() {
4048
return deaths;
4149
}
@@ -48,8 +56,15 @@ public double getRating() {
4856
return rating;
4957
}
5058

59+
public double getBestRating() {
60+
return bestRating;
61+
}
62+
5163
public void setRating(double rating) {
5264
this.rating = rating;
65+
if (bestRating > rating) {
66+
this.bestRating = rating;
67+
}
5368
}
5469

5570
public void increaseKills() {
@@ -58,6 +73,9 @@ public void increaseKills() {
5873

5974
public void increaseStreaks() {
6075
this.streaks ++;
76+
if (bestStreaks > streaks) {
77+
this.bestStreaks = streaks;
78+
}
6179
}
6280
public void increaseDeaths() {
6381
this.deaths++;

src/main/java/com/github/elic0de/thejpspit/player/PitPlayer.java

Lines changed: 25 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -36,32 +36,38 @@ public class PitPlayer {
3636
private long kills;
3737

3838
private long streaks;
39+
private long bestStreaks;
3940
private long deaths;
4041
private double rating;
42+
private double bestRating;
4143
private double xp;
42-
private FastBoard board;
44+
private final FastBoard board;
4345

4446
public PitPlayer(Player player) {
4547
this.player = player;
4648
this.name = player.getName();
4749
this.uuid = player.getUniqueId();
48-
this.kills = 8;
49-
this.streaks= 0;
50-
this.deaths = 7;
50+
this.kills = 0;
51+
this.streaks = 0;
52+
this.bestStreaks = 0;
53+
this.deaths = 0;
5154
this.rating = 0;
55+
this.bestRating = 0;
5256
this.xp = 0;
5357
this.board = new FastBoard(player);
5458
this.board.updateTitle(ChatColor.translateAlternateColorCodes('&', "&eTHE JPS PIT"));
5559
}
5660

57-
public PitPlayer(Player player, long kills, long streaks, long deaths, double rating, double xp) {
61+
public PitPlayer(Player player, long kills, long streaks, long bestStreaks, long deaths, double rating, double bestRating, double xp) {
5862
this.player = player;
5963
this.name = player.getName();
6064
this.uuid = player.getUniqueId();
6165
this.kills = kills;
6266
this.streaks = streaks;
67+
this.bestStreaks = bestStreaks;
6368
this.deaths = deaths;
6469
this.rating = rating;
70+
this.bestRating = bestRating;
6571
this.xp = xp;
6672
this.board = new FastBoard(player);
6773
this.board.updateTitle(ChatColor.translateAlternateColorCodes('&', "&eTHE JPS PIT"));
@@ -163,6 +169,10 @@ public long getStreaks() {
163169
return streaks;
164170
}
165171

172+
public long getBestStreaks() {
173+
return bestStreaks;
174+
}
175+
166176
public long getDeaths() {
167177
return deaths;
168178
}
@@ -171,8 +181,15 @@ public double getRating() {
171181
return rating;
172182
}
173183

184+
public double getBestRating() {
185+
return bestRating;
186+
}
187+
174188
public void setRating(double rating) {
175189
this.rating = rating;
190+
if (bestRating > rating) {
191+
this.bestRating = rating;
192+
}
176193
}
177194

178195
public double getXp() {
@@ -189,6 +206,9 @@ public void increaseKills() {
189206

190207
public void increaseStreaks() {
191208
this.streaks ++;
209+
if (bestStreaks > streaks) {
210+
this.bestStreaks = streaks;
211+
}
192212
}
193213
public void increaseDeaths() {
194214
this.deaths++;

src/main/java/com/github/elic0de/thejpspit/scoreboard/GameScoreboard.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,18 +25,22 @@ public List<String> boardLines(PitPlayer player) {
2525
return Stream.of(
2626
"",
2727
"レベル:[%level%]",
28+
"最高レート: &b%bestRating%",
2829
"",
2930
"K/Dレート: &c%rating%",
3031
"次のレベルまで:&a%neededXp%",
3132
"",
3233
"連続キル数: &a%streaks%",
34+
"最高連続キル数: &a%bestStreaks%",
3335
"",
3436
"&ejapanpvpserver.net"
3537
).map(s ->
3638
s.replaceAll("%level%", Levels.getPlayerLevel(player) + "")
3739
.replaceAll("%neededXp%", Levels.getPlayerNeededXP(player) + "")
3840
.replaceAll("%rating%", player.getRating() + "%")
41+
.replaceAll("%bestRating%", player.getBestRating() + "%")
3942
.replaceAll("%streaks%", player.getStreaks() + "")
43+
.replaceAll("%bestStreaks%", player.getBestStreaks() + "")
4044
).collect(Collectors.toList());
4145
}
4246

src/main/resources/database/sqlite_schema.sql

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,10 @@ CREATE TABLE IF NOT EXISTS `%players_table%`
44
`username` varchar(16) NOT NULL,
55
`kills` integer NOT NULL DEFAULT 0,
66
`streaks` integer NOT NULL DEFAULT 0,
7+
`bestStreaks` integer NOT NULL DEFAULT 0,
78
`deaths` integer NOT NULL DEFAULT 0,
89
`rating` integer NOT NULL DEFAULT 0,
10+
`bestRating` integer NOT NULL DEFAULT 0,
911
`xp` integer NOT NULL DEFAULT 0,
1012

1113
PRIMARY KEY (`uuid`)

0 commit comments

Comments
 (0)