alpha
Login
or
Join now
aaronworld.uk
/
pets-and-pals
Star
0
Fork
0
Atom
Configure Feed
Issues
Pull Requests
Commits
Tags
Feed URL
Select the types of activity you want to include in your feed.
[READ-ONLY] Mirror of https://github.com/aaronateataco/pets-and-pals. Pets & Pals — client-side companion pets with real presence. Fork/redesign of downloadableduck's Pets Mod.
Star
0
Fork
0
Atom
Configure Feed
Issues
Pull Requests
Commits
Tags
Feed URL
Select the types of activity you want to include in your feed.
Overview
Issues
Pulls
Pipelines
pets-and-pals
/
src
/
client
/
java
/
io
/
github
/
aaronateataco
/
petsandpals
/
cloud
/
dto
/
at
26.1
8 files
aaronateataco
0.38.1: testing-only account reset button in the Shop
3mo ago
eef0a31b
AccountResetResponse.java
0.38.1: testing-only account reset button in the Shop Adds a "Reset Progress" button (gated behind .pnp_testing, two-click confirm) that wipes a test account's cloud adoptions/currency/bond-claim clock via a new POST /v1/account/reset endpoint, so the adoption/cooldown/currency flow can be tested from scratch without needing a fresh UUID. Deployed and verified live against production with two synthetic accounts side by side to confirm a reset only ever touches the account it was called for. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
3 months ago
AdoptAdditionalResponse.java
0.37.0: additional-pet adoption with cooldown+currency, original UI theme, bee/connection fixes - Original dark square-cornered theme (Theme/ThemedButton/ScrollRow) applied to the Menagerie and a rebuilt starter-pet adoption screen (translucent glass carousel) - Additional-pet adoption: species beyond your starter pet now wait 3 real days since your last adoption, or can be skipped by spending Paw Coins (cloud-tracked currency, bought via Stripe, no cash-out value). Species already owned stay free to switch to. Backed by a new D1 migration (event-sourced currency ledger with a no-overdraft trigger, verified live in production) and new worker.js endpoints, authenticated via the player secret that was previously issued but never actually checked by anything - Fixed the bee preview pose bug for real this time: the first fix only worked for a ticked, real pet - menu previews use never-ticked instances, which needed their own check - Fixed adoption's intermittent "no connection" report: pinned the HTTP client to HTTP/1.1 and added logging for any future failure - Added a Baby/Adult toggle to the adoption screen - Fixed the fork's Maven/Modrinth publish metadata still pointing at the original Pets Mod project's identity Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
3 months ago
AdoptResponse.java
0.35.0: Phase 1 of cloud starter-pet adoption Requires a connection to complete a real adoption (backed by a Cloudflare Worker + D1, deployed and live), but works fully offline after that - only the initial adoption needs connectivity. Offline at first launch just means playing with a fox now and adopting properly on the next join, retried automatically until it succeeds. Fox-only this phase, matching the mod's existing default. New `cloud` package (PetsCloudClient wraps java.net.http.HttpClient on a virtual-thread executor since the mod had no prior background-thread pattern to reuse; PlayerKeystore persists the per-player secret outside the human-editable petsconfig.json). New AdoptionScreen gated in Central.createJoinHandler(). Boot-tested end to end against the live backend (screenshot-verified adoption success and the offline-fallback path with the network genuinely unreachable - confirmed no freeze, the biggest risk here). Deliberately not yet shipped: bond-time tracking/signing, server sync, and a real species picker - see the design doc for the full phased plan. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
3 months ago
BondClaimResponse.java
0.38.0: Shop layout, bond-time free currency, nametag drag on adoption screen - Reworked the Menagerie into a Shop layout: category tabs moved to a left-edge icon rail, right panel explicitly labeled "Equip" - Added bond-time Paw Coins: free, first-party currency earned just by opening the Shop (server-clock based, so it can't be spoofed by a modified client). Chosen over a "watch ads" mechanic after checking both the compliance angle (Mojang's guidelines restrict mods from showing unrelated third-party ad content without approval - real ads would've been a clearer problem than the currency system already shipped) and the technical one (no ad SDK has an embedding path into a Java desktop game) - Ported the drag-a-nametag-onto-your-pet interaction into the starter adoption carousel - New migration 0003: players.last_bond_claim_at, widens the currency ledger's reason CHECK to include bond_time - applied and verified live against production (rebuilt the ledger table in place since SQLite can't ALTER a CHECK constraint; confirmed zero data loss and the no-overdraft trigger still intact afterward) - Deployed to the live worker and verified end-to-end against production: created a synthetic test player, confirmed a claim with no elapsed time credits 0 and doesn't touch the clock, confirmed 2 simulated hours credits exactly 20 coins, confirmed an immediate re-claim afterward credits 0 without moving the balance Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
3 months ago
CheckoutResponse.java
0.37.0: additional-pet adoption with cooldown+currency, original UI theme, bee/connection fixes - Original dark square-cornered theme (Theme/ThemedButton/ScrollRow) applied to the Menagerie and a rebuilt starter-pet adoption screen (translucent glass carousel) - Additional-pet adoption: species beyond your starter pet now wait 3 real days since your last adoption, or can be skipped by spending Paw Coins (cloud-tracked currency, bought via Stripe, no cash-out value). Species already owned stay free to switch to. Backed by a new D1 migration (event-sourced currency ledger with a no-overdraft trigger, verified live in production) and new worker.js endpoints, authenticated via the player secret that was previously issued but never actually checked by anything - Fixed the bee preview pose bug for real this time: the first fix only worked for a ticked, real pet - menu previews use never-ticked instances, which needed their own check - Fixed adoption's intermittent "no connection" report: pinned the HTTP client to HTTP/1.1 and added logging for any future failure - Added a Baby/Adult toggle to the adoption screen - Fixed the fork's Maven/Modrinth publish metadata still pointing at the original Pets Mod project's identity Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
3 months ago
CurrencyBalanceResponse.java
0.37.0: additional-pet adoption with cooldown+currency, original UI theme, bee/connection fixes - Original dark square-cornered theme (Theme/ThemedButton/ScrollRow) applied to the Menagerie and a rebuilt starter-pet adoption screen (translucent glass carousel) - Additional-pet adoption: species beyond your starter pet now wait 3 real days since your last adoption, or can be skipped by spending Paw Coins (cloud-tracked currency, bought via Stripe, no cash-out value). Species already owned stay free to switch to. Backed by a new D1 migration (event-sourced currency ledger with a no-overdraft trigger, verified live in production) and new worker.js endpoints, authenticated via the player secret that was previously issued but never actually checked by anything - Fixed the bee preview pose bug for real this time: the first fix only worked for a ticked, real pet - menu previews use never-ticked instances, which needed their own check - Fixed adoption's intermittent "no connection" report: pinned the HTTP client to HTTP/1.1 and added logging for any future failure - Added a Baby/Adult toggle to the adoption screen - Fixed the fork's Maven/Modrinth publish metadata still pointing at the original Pets Mod project's identity Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
3 months ago
OwnedPetsResponse.java
0.37.0: additional-pet adoption with cooldown+currency, original UI theme, bee/connection fixes - Original dark square-cornered theme (Theme/ThemedButton/ScrollRow) applied to the Menagerie and a rebuilt starter-pet adoption screen (translucent glass carousel) - Additional-pet adoption: species beyond your starter pet now wait 3 real days since your last adoption, or can be skipped by spending Paw Coins (cloud-tracked currency, bought via Stripe, no cash-out value). Species already owned stay free to switch to. Backed by a new D1 migration (event-sourced currency ledger with a no-overdraft trigger, verified live in production) and new worker.js endpoints, authenticated via the player secret that was previously issued but never actually checked by anything - Fixed the bee preview pose bug for real this time: the first fix only worked for a ticked, real pet - menu previews use never-ticked instances, which needed their own check - Fixed adoption's intermittent "no connection" report: pinned the HTTP client to HTTP/1.1 and added logging for any future failure - Added a Baby/Adult toggle to the adoption screen - Fixed the fork's Maven/Modrinth publish metadata still pointing at the original Pets Mod project's identity Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
3 months ago
PetStateResponse.java
0.35.0: Phase 1 of cloud starter-pet adoption Requires a connection to complete a real adoption (backed by a Cloudflare Worker + D1, deployed and live), but works fully offline after that - only the initial adoption needs connectivity. Offline at first launch just means playing with a fox now and adopting properly on the next join, retried automatically until it succeeds. Fox-only this phase, matching the mod's existing default. New `cloud` package (PetsCloudClient wraps java.net.http.HttpClient on a virtual-thread executor since the mod had no prior background-thread pattern to reuse; PlayerKeystore persists the per-player secret outside the human-editable petsconfig.json). New AdoptionScreen gated in Central.createJoinHandler(). Boot-tested end to end against the live backend (screenshot-verified adoption success and the offline-fallback path with the network genuinely unreachable - confirmed no freeze, the biggest risk here). Deliberately not yet shipped: bond-time tracking/signing, server sync, and a real species picker - see the design doc for the full phased plan. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
3 months ago