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"
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
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 {

View File

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

View File

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