From bb2cd65cc1c11ca9876f9c481fd00eb7653330cf Mon Sep 17 00:00:00 2001 From: Michael Gilardi <11632652+mgilardi@users.noreply.github.com> Date: Mon, 9 Nov 2026 03:19:52 -0700 Subject: [PATCH 1/3] Point the bot suite at the renamed BlueMinimap folder The local BlueMapHUD checkout is now ~/Code/BlueMinimap after the repo rename on 2026-11-09. Test-only change; the suite wasn't rerun for it. Co-Authored-By: Claude Opus 5.5 --- test/suite.mjs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/suite.mjs b/test/suite.mjs index 0ccb9d9..b4139f4 100644 --- a/test/suite.mjs +++ b/test/suite.mjs @@ -12,7 +12,7 @@ if (VERSION === '26.3') process.env.PACKMULE_TEST_STILL = '1' // see Bot: 26.3 k const LONG = process.env.PACKMULE_TEST_LONG !== '0' const jar = n => path.join(JARS, n) const plugins = [jar('multiverse-core-5.8.2.jar'), jar('multiverse-inventories-5.3.6.jar'), jar('bluemap-5.29-paper.jar'), - (() => { const d = path.join(process.env.HOME, 'Code/BlueMapHUD/build/libs'); const f = readdirSync(d).filter(n => /^BlueMinimap-[\d.]+\.jar$/.test(n)); if (f.length !== 1) throw new Error('expected one BlueMinimap jar in ' + d); return path.join(d, f[0]) })()] + (() => { const d = path.join(process.env.HOME, 'Code/BlueMinimap/build/libs'); const f = readdirSync(d).filter(n => /^BlueMinimap-[\d.]+\.jar$/.test(n)); if (f.length !== 1) throw new Error('expected one BlueMinimap jar in ' + d); return path.join(d, f[0]) })()] plugins.push(jar('ViaVersion-5.12.3-SNAPSHOT.jar'), jar('ViaBackwards-5.12.3-SNAPSHOT.jar')) const HUD_ID = (() => { // BlueMinimap's fixed pack ID (unchanged from its BlueMapHUD days): UUID.nameUUIDFromBytes("bluemaphud:pack") @@ -59,7 +59,7 @@ const TEST_TIMEOUT = 'answer-timeout-seconds: 6\n' // ---------- server ---------- const dir = freshServer(`suite-${VERSION}`, { paper: jar(`paper-${VERSION}.jar`), plugins, packmuleConfig: goodConfig(TEST_TIMEOUT) }) // BlueMinimap hosts its pack on port 8164 by default, which other sessions' test servers may hold. Give it one of ours. -{ const hud = readFileSync(path.join(process.env.HOME, 'Code/BlueMapHUD/src/main/resources/config.yml'), 'utf8') +{ const hud = readFileSync(path.join(process.env.HOME, 'Code/BlueMinimap/src/main/resources/config.yml'), 'utf8') if (!/^ port: 8164$/m.test(hud)) throw new Error("BlueMinimap's default config no longer has port: 8164") const { mkdirSync } = await import('node:fs'); mkdirSync(path.join(dir, 'plugins/BlueMinimap'), { recursive: true }) writeFileSync(path.join(dir, 'plugins/BlueMinimap/config.yml'), hud.replace(/^ port: 8164$/m, ' port: 25615')) } From 60a997a374d11c30ec3ed45849750d79568ba29f Mon Sep 17 00:00:00 2001 From: Michael Gilardi <11632652+mgilardi@users.noreply.github.com> Date: Mon, 9 Nov 2026 03:51:29 -0700 Subject: [PATCH 2/3] Call BlueMapHUD by its new name in the README and config Co-Authored-By: Claude Opus 5.5 --- README.md | 4 ++-- src/main/resources/config.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index c9ecf14..7bfd493 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@ A Paper plugin that sends each world its own required resource packs, and warns - Each world has an ordered list of packs. They're sent together with the multi-pack API, and later packs sit on top of earlier ones. A world with an empty list gets no packs from Packmule. - Moving between worlds with the same packs sends nothing. Moving to a world with different packs swaps only Packmule's packs. -- Packmule never removes or replaces a pack it didn't send. Another plugin's pack, such as BlueMapHUD's, stays put. +- Packmule never removes or replaces a pack it didn't send. Another plugin's pack, such as BlueMinimap's, stays put. - Every pack is required. A player who declines is kicked. A client that doesn't answer the prompt in 60 seconds is kicked. - A failed download is sent again twice. If it still fails, the player stays in without that pack and admins are told which world and pack. Nobody is kicked over a hosting problem. - At startup, Packmule downloads every pack and checks its SHA-1. A 404, a timeout, a wrong hash or a malformed address is reported with the worlds it affects. That pack is skipped until it's fixed, and the rest keep working. Startup doesn't wait for the check. @@ -123,7 +123,7 @@ Only a real client can tell: - Whether a player who clicks Disconnect on the prompt sees Packmule's kick message, or the game's own screen. The client may leave before the kick arrives. - How the prompt and kick text read on screen, line breaks included. - Whether switching feels acceptable when worlds use large packs. -- Whether packs stack in the right order next to BlueMapHUD's, and whether its font still draws. +- Whether packs stack in the right order next to BlueMinimap's, and whether its font still draws. - What happens across a server transfer. - How older clients connected through ViaVersion treat the pack format. diff --git a/src/main/resources/config.yml b/src/main/resources/config.yml index e44d680..f81adec 100644 --- a/src/main/resources/config.yml +++ b/src/main/resources/config.yml @@ -22,7 +22,7 @@ # sit on top of earlier ones. An empty list [] means Packmule sends that world nothing. # A world that isn't listed also gets nothing, and Packmule warns about it at startup. # -# Packmule only ever removes packs it sent. Other plugins' packs (BlueMapHUD's, say) are left alone. +# Packmule only ever removes packs it sent. Other plugins' packs (BlueMinimap's, say) are left alone. # Leave resource-pack= empty in server.properties: a pack there fights Packmule's. packs: {} From e81cce878eeeaa3428a7c54c4722bc57cd87e193 Mon Sep 17 00:00:00 2001 From: Michael Gilardi <11632652+mgilardi@users.noreply.github.com> Date: Mon, 9 Nov 2026 03:51:39 -0700 Subject: [PATCH 3/3] Name BlueMinimap in the test setup notes Co-Authored-By: Claude Opus 5.5 --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 7bfd493..35c6767 100644 --- a/README.md +++ b/README.md @@ -113,7 +113,7 @@ cd test && npm install PACKMULE_TEST_WORK=/tmp/rpb PACKMULE_TEST_JARS=/path/to/jars PACKMULE_TEST_JAVA=/path/to/java25 node suite.mjs 26.3 ``` -`PACKMULE_TEST_JARS` holds `paper-.jar` for each version, Multiverse-Core 5.8.2, Multiverse-Inventories 5.3.6, `bluemap-5.29-paper.jar`, and ViaVersion and ViaBackwards 5.12.3. BlueMapHUD and Waystation come from their own builds in `~/Code`. +`PACKMULE_TEST_JARS` holds `paper-.jar` for each version, Multiverse-Core 5.8.2, Multiverse-Inventories 5.3.6, `bluemap-5.29-paper.jar`, and ViaVersion and ViaBackwards 5.12.3. BlueMinimap and Waystation come from their own builds in `~/Code`. ## What hasn't been tested