|
11 | 11 | import java.util.UUID; |
12 | 12 |
|
13 | 13 | import me.makkuusen.timing.system.round.RoundType; |
| 14 | +import me.makkuusen.timing.system.track.medals.TrackMedals; |
14 | 15 | import org.bukkit.Bukkit; |
15 | 16 | import org.bukkit.Location; |
16 | 17 | import org.bukkit.OfflinePlayer; |
|
38 | 39 |
|
39 | 40 | /** |
40 | 41 | * TimingSystemRESTApi - Provides a basic JSON REST API for the TimingSystem plugin. |
41 | | - * Copyright (C) 2023 Justin "JustBru00" Brubaker |
| 42 | + * Copyright (C) 2025 Justin "JustBru00" Brubaker |
42 | 43 | * |
43 | 44 | * This program is free software: you can redistribute it and/or modify |
44 | 45 | * it under the terms of the GNU Affero General Public License as published |
@@ -179,6 +180,38 @@ public static void initSpark() { |
179 | 180 | tagsArray.add(trackTag.getValue()); |
180 | 181 | } |
181 | 182 | trackObj.add("tags", tagsArray); |
| 183 | + |
| 184 | + // Issue #24 - Add Medals |
| 185 | + JsonObject medalsObject = new JsonObject(); |
| 186 | + TrackMedals tm = track.getTrackMedals(); |
| 187 | + medalsObject.addProperty("active", tm.isActive()); |
| 188 | + |
| 189 | + JsonObject netheriteObject = new JsonObject(); |
| 190 | + netheriteObject.addProperty("time", tm.getNetherite().getTime()); |
| 191 | + medalsObject.add("netherite", netheriteObject); |
| 192 | + |
| 193 | + JsonObject emeraldObject = new JsonObject(); |
| 194 | + emeraldObject.addProperty("time", tm.getEmerald().getTime()); |
| 195 | + medalsObject.add("emerald", emeraldObject); |
| 196 | + |
| 197 | + JsonObject diamondObject = new JsonObject(); |
| 198 | + diamondObject.addProperty("time", tm.getDiamond().getTime()); |
| 199 | + medalsObject.add("diamond", diamondObject); |
| 200 | + |
| 201 | + JsonObject goldObject = new JsonObject(); |
| 202 | + goldObject.addProperty("time", tm.getGold().getTime()); |
| 203 | + medalsObject.add("gold", goldObject); |
| 204 | + |
| 205 | + JsonObject silverObject = new JsonObject(); |
| 206 | + silverObject.addProperty("time", tm.getSilver().getTime()); |
| 207 | + medalsObject.add("silver", silverObject); |
| 208 | + |
| 209 | + JsonObject copperObject = new JsonObject(); |
| 210 | + copperObject.addProperty("time", tm.getCopper().getTime()); |
| 211 | + medalsObject.add("copper", copperObject); |
| 212 | + |
| 213 | + trackObj.add("medals", medalsObject); |
| 214 | + // END - Issue #24 |
182 | 215 |
|
183 | 216 | tracksListObject.add(trackObj); |
184 | 217 | } |
@@ -234,6 +267,39 @@ public static void initSpark() { |
234 | 267 | tagsArray.add(trackTag.getValue()); |
235 | 268 | } |
236 | 269 | responseObject.add("tags", tagsArray); |
| 270 | + |
| 271 | + // Issue #24 - Add Medals |
| 272 | + JsonObject medalsObject = new JsonObject(); |
| 273 | + TrackMedals tm = track.getTrackMedals(); |
| 274 | + medalsObject.addProperty("active", tm.isActive()); |
| 275 | + |
| 276 | + JsonObject netheriteObject = new JsonObject(); |
| 277 | + netheriteObject.addProperty("time", tm.getNetherite().getTime()); |
| 278 | + medalsObject.add("netherite", netheriteObject); |
| 279 | + |
| 280 | + JsonObject emeraldObject = new JsonObject(); |
| 281 | + emeraldObject.addProperty("time", tm.getEmerald().getTime()); |
| 282 | + medalsObject.add("emerald", emeraldObject); |
| 283 | + |
| 284 | + JsonObject diamondObject = new JsonObject(); |
| 285 | + diamondObject.addProperty("time", tm.getDiamond().getTime()); |
| 286 | + medalsObject.add("diamond", diamondObject); |
| 287 | + |
| 288 | + JsonObject goldObject = new JsonObject(); |
| 289 | + goldObject.addProperty("time", tm.getGold().getTime()); |
| 290 | + medalsObject.add("gold", goldObject); |
| 291 | + |
| 292 | + JsonObject silverObject = new JsonObject(); |
| 293 | + silverObject.addProperty("time", tm.getSilver().getTime()); |
| 294 | + medalsObject.add("silver", silverObject); |
| 295 | + |
| 296 | + JsonObject copperObject = new JsonObject(); |
| 297 | + copperObject.addProperty("time", tm.getCopper().getTime()); |
| 298 | + medalsObject.add("copper", copperObject); |
| 299 | + |
| 300 | + responseObject.add("medals", medalsObject); |
| 301 | + // END - Issue #24 |
| 302 | + |
237 | 303 | JsonArray topListArray = new JsonArray(); |
238 | 304 | for (TimeTrialFinish finish : track.getTimeTrials().getTopList()) { |
239 | 305 | JsonObject timeTrialFinishObject = new JsonObject(); |
@@ -294,6 +360,39 @@ public static void initSpark() { |
294 | 360 | tagsArray.add(trackTag.getValue()); |
295 | 361 | } |
296 | 362 | responseObject.add("tags", tagsArray); |
| 363 | + |
| 364 | + // Issue #24 - Add Medals |
| 365 | + JsonObject medalsObject = new JsonObject(); |
| 366 | + TrackMedals tm = track.getTrackMedals(); |
| 367 | + medalsObject.addProperty("active", tm.isActive()); |
| 368 | + |
| 369 | + JsonObject netheriteObject = new JsonObject(); |
| 370 | + netheriteObject.addProperty("time", tm.getNetherite().getTime()); |
| 371 | + medalsObject.add("netherite", netheriteObject); |
| 372 | + |
| 373 | + JsonObject emeraldObject = new JsonObject(); |
| 374 | + emeraldObject.addProperty("time", tm.getEmerald().getTime()); |
| 375 | + medalsObject.add("emerald", emeraldObject); |
| 376 | + |
| 377 | + JsonObject diamondObject = new JsonObject(); |
| 378 | + diamondObject.addProperty("time", tm.getDiamond().getTime()); |
| 379 | + medalsObject.add("diamond", diamondObject); |
| 380 | + |
| 381 | + JsonObject goldObject = new JsonObject(); |
| 382 | + goldObject.addProperty("time", tm.getGold().getTime()); |
| 383 | + medalsObject.add("gold", goldObject); |
| 384 | + |
| 385 | + JsonObject silverObject = new JsonObject(); |
| 386 | + silverObject.addProperty("time", tm.getSilver().getTime()); |
| 387 | + medalsObject.add("silver", silverObject); |
| 388 | + |
| 389 | + JsonObject copperObject = new JsonObject(); |
| 390 | + copperObject.addProperty("time", tm.getCopper().getTime()); |
| 391 | + medalsObject.add("copper", copperObject); |
| 392 | + |
| 393 | + responseObject.add("medals", medalsObject); |
| 394 | + // END - Issue #24 |
| 395 | + |
297 | 396 | JsonArray topListArray = new JsonArray(); |
298 | 397 | for (TimeTrialFinish finish : track.getTimeTrials().getTopList()) { |
299 | 398 | JsonObject timeTrialFinishObject = new JsonObject(); |
@@ -421,7 +520,7 @@ public static void initSpark() { |
421 | 520 | return ""; |
422 | 521 | }); |
423 | 522 | } |
424 | | - |
| 523 | + |
425 | 524 | public static void stopSpark() { |
426 | 525 | stop(); |
427 | 526 | } |
|
0 commit comments