builds in docker
This commit is contained in:
@@ -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 {
|
||||||
|
|||||||
4
build.sh
4
build.sh
@@ -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 \
|
||||||
|
|||||||
@@ -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,21 +241,19 @@ 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()) {
|
||||||
|
for (Pokemon p : box.getNonEmptySlots().values()) {
|
||||||
|
if (p == null) continue;
|
||||||
if (!first) sb.append(',');
|
if (!first) sb.append(',');
|
||||||
first = false;
|
first = false;
|
||||||
appendPokemonJson(sb, p);
|
appendPokemonJson(sb, p);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
sb.append("]}");
|
sb.append("]}");
|
||||||
return sb.toString();
|
return sb.toString();
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user