builds in docker

This commit is contained in:
2026-03-16 16:50:49 -06:00
parent 790ca442b2
commit 9209455f02
3 changed files with 21 additions and 24 deletions

View File

@@ -20,10 +20,13 @@ dependencies {
mappings "net.fabricmc:yarn:1.21.1+build.3:v2" mappings "net.fabricmc:yarn:1.21.1+build.3:v2"
modImplementation "net.fabricmc:fabric-loader:0.16.5" modImplementation "net.fabricmc:fabric-loader:0.16.5"
modImplementation "net.fabricmc.fabric-api:fabric-api:0.106.1+1.21.1" modImplementation "net.fabricmc.fabric-api:fabric-api:0.110.0+1.21.1"
// Cobblemon // Cobblemon
modImplementation "com.cobblemon:fabric:1.7.3+1.21.1" modImplementation "com.cobblemon:fabric:1.7.3+1.21.1"
// Kotlin stdlib needed at compile time to resolve Cobblemon's Kotlin class markers
compileOnly "org.jetbrains.kotlin:kotlin-stdlib:1.9.25"
} }
java { java {

View File

@@ -2,13 +2,13 @@
set -euo pipefail set -euo pipefail
cd "$(dirname "$0")" cd "$(dirname "$0")"
IMAGE="gradle:8.7-jdk21" IMAGE="gradle:8.10-jdk21"
echo "=== Building with Docker ($IMAGE) ===" echo "=== Building with Docker ($IMAGE) ==="
echo "Project dir: $(pwd)" echo "Project dir: $(pwd)"
echo "" echo ""
docker run --rm \ docker run -it --rm \
-v "$PWD":/project \ -v "$PWD":/project \
-v "$PWD/.gradle_cache:/home/gradle/.gradle" \ -v "$PWD/.gradle_cache:/home/gradle/.gradle" \
-w /project \ -w /project \

View File

@@ -128,8 +128,8 @@ public class CobbleBattleApiMod implements ModInitializer {
return switch (subRoute) { return switch (subRoute) {
case "battle" -> buildBattleState(uuid, player); case "battle" -> buildBattleState(uuid, player);
case "party" -> buildParty(uuid); case "party" -> buildParty(uuid, player);
case "pc" -> buildPc(uuid); case "pc" -> buildPc(uuid, player);
default -> buildBasicStatus(uuid, player); default -> buildBasicStatus(uuid, player);
}; };
} }
@@ -223,17 +223,13 @@ public class CobbleBattleApiMod implements ModInitializer {
/** /**
* GET /player/<uuid>/party → party pokémon list * GET /player/<uuid>/party → party pokémon list
*/ */
private String buildParty(UUID uuid) { private String buildParty(UUID uuid, ServerPlayerEntity player) {
PlayerPartyStore party; PlayerPartyStore party = Cobblemon.INSTANCE.getStorage().getParty(player);
try {
party = Cobblemon.INSTANCE.getStorage().getParty(uuid);
} catch (Exception e) {
return json("error", "could not load party");
}
StringBuilder sb = new StringBuilder(); StringBuilder sb = new StringBuilder();
sb.append("{\"uuid\":\"").append(uuid).append("\",\"party\":["); sb.append("{\"uuid\":\"").append(uuid).append("\",\"party\":[");
boolean first = true; boolean first = true;
for (Pokemon p : party) { for (Pokemon p : party.toGappyList()) {
if (p == null) continue;
if (!first) sb.append(','); if (!first) sb.append(',');
first = false; first = false;
appendPokemonJson(sb, p); appendPokemonJson(sb, p);
@@ -245,20 +241,18 @@ public class CobbleBattleApiMod implements ModInitializer {
/** /**
* GET /player/<uuid>/pc → PC pokémon list * GET /player/<uuid>/pc → PC pokémon list
*/ */
private String buildPc(UUID uuid) { private String buildPc(UUID uuid, ServerPlayerEntity player) {
PCStore pc; PCStore pc = Cobblemon.INSTANCE.getStorage().getPC(player);
try {
pc = Cobblemon.INSTANCE.getStorage().getPC(uuid);
} catch (Exception e) {
return json("error", "could not load pc");
}
StringBuilder sb = new StringBuilder(); StringBuilder sb = new StringBuilder();
sb.append("{\"uuid\":\"").append(uuid).append("\",\"pc\":["); sb.append("{\"uuid\":\"").append(uuid).append("\",\"pc\":[");
boolean first = true; boolean first = true;
for (Pokemon p : pc) { for (com.cobblemon.mod.common.api.storage.pc.PCBox box : pc.getBoxes()) {
if (!first) sb.append(','); for (Pokemon p : box.getNonEmptySlots().values()) {
first = false; if (p == null) continue;
appendPokemonJson(sb, p); if (!first) sb.append(',');
first = false;
appendPokemonJson(sb, p);
}
} }
sb.append("]}"); sb.append("]}");
return sb.toString(); return sb.toString();