promotional bannermobile promotional banner

Arcadia Pets

Collect pets, level their skills, fuse them up, and duel other players. Summon them to walk beside you or ride on your shoulder !
Back to Files

Arcadia Pets 2.0.6 (Forge 1.20.1)

File namearcadia-pets-forge-1.20.1-2.0.6.jar
Uploader
vyrrioxvyrriox
Uploaded
Nov 7, 2026
Downloads
54
Size
2.7 MB
Mod Loaders
Forge
File ID
9485851
Type
R
Release
Supported game versions
  • 1.20.1

Curse Maven Snippet

Forge

implementation fg.deobf("curse.maven:arcadia-pets-1493098:9485851")

Learn more about Curse Maven

What's new

Arcadia Pets 2.0.6

Fixed

  • Riding a vex no longer takes you through the ground and under the map - A vex passes through blocks by nature, and it went on doing so with a rider on its back: the slow sink of a flying mount, or plain gravity on foot, carried both straight down to the void (over 200 blocks in five seconds in the test that reproduces it). A ridden vex now collides like any other mount, and it still goes through walls when nobody rides it. A pet found inside the ground when you climb on is lifted out of it first, and a resting flyer called back from far away no longer arrives half a block into the floor. Every species of the game is now ridden in a test, on all three targets: standing, diving, going forward, on foot and out of flight.

  • Ghasts, phantoms and allays come down when they run out of flight - These mounts ignore gravity: out of flight they hung in the air with their rider for as long as the ride lasted, and since only the ground refills the flight pool, they could never fly again. They now come down and refill like every other flying mount.

  • The jump key works on a walking mount - It did nothing at all: the jump went through a control that only the AI step ticks, and a ridden pet skips that step. A walking mount now jumps, and swims up when the key is held in water.

  • A pet can no longer vanish from a collection when several changes land at once (database mode) - On a server using MySQL, two writes of one collection could start in either order, and an older one landing last could remove the row of a pet just added, for instance with several pets from one bag. Writes of one player now run one at a time and in order.

  • The Staff Privileges achievement can be completed - It asked for all 23 staff pets, and 5 of them are retired and never drop again. It now asks for the 18 that can still be had, and the pet guide, which said 21, says so too.

  • No more warning screen at every launch (NeoForge 26.1.2) - The game opened on "Warning while loading mods" about the @OnlyIn annotation, and asked for a click before the main menu.

  • The mod's keys have a proper heading in the Controls screen (NeoForge 26.1.2) - It showed a raw translation key.

  • Wide pets stay inside their inventory slot (Forge 1.20.1) - Seven species with long wings or tails spilled over the slots next to them. The other targets already trimmed them.

  • A pet that follows you shows its skin from the moment it appears (Forge 1.20.1) - A chroma showed as the original look, and a vanilla pet did not dance to a jukebox, until the pet was next tracked again: the first clients to see it were told before the pet was known as one.

Added

  • The mod shows its icon in the mod list - It had none.

Performance

  • Pets in your hotbar and inventory cost far less to draw - Measured in the real client with nine heavy pets in the hotbar, the frame rate went from 166 to 393 and the memory thrown away per frame from 1.7 MB to 0.23 MB; with an inventory full of pets, from 86 to 139 and from 3.3 MB to 0.58 MB. A pet icon no longer draws its glow in a second pass, asks for a name tag it does not have, or works out its bones at 160 steps a second.

  • Arcane pets in the world cost a third less to draw - Twelve heavy pets on screen went from 132 to 179 frames a second, and from 2 MB to 0.67 MB of memory thrown away per frame, which also means fewer pauses of the garbage collector on a modest PC. Their glow was a second pass over the whole model, sorted by distance on every frame, for a mask that rarely covers more than a few percent of a texture: it now draws only the faces that show a glowing pixel, and nothing changes on screen. GeckoLib also allocates about a kilobyte per cube drawn, and the Arcane pets now go through a path that allocates nothing.

  • The animations take 17 MB less memory, and the mod is lighter to download - Keyframes that lie on the line between their neighbours add nothing the eye can see, so they are gone: 619,000 down to 352,000, each of which the game keeps in memory for as long as it runs. The authoring tool does this, and the release gate still checks the files against what the code builds.

  • Autosaves no longer stall on large collections (without a database) - Each autosave encoded every pet of every player the server had ever seen, on the server thread: 600 ms for 60,000 pets. Only the players whose pets changed are encoded now, which brings that to under 2 ms.

  • The database sees far less traffic (database mode) - One point of hunger or bond rewrote up to 108 rows. These small changes now wait for a batch every 30 seconds, at logout and at the server stop, and write only the rows of the pets that changed. A pet added writes one row, and the collections of players who left no longer stay in memory until the next restart.

  • Opening the duel panel no longer freezes the server (database mode) - It read the rating of each online player from the database on the server thread. A rating not known yet now shows without a number while it is read in the background.

  • Every mob on the server costs a little less - The checks asked of every mob on every tick no longer box their id or take a lock, the despawn check only looks for pets on Peaceful, item drops look at the sniffers rather than at every pet, and no check creates an empty data tag on a mob that has none, which was then saved along with that mob for good.

  • Other players' shoulder pets behind you are no longer drawn - Nor are the ones too far away on Forge 1.20.1, which also stops walking the player list for each of them on every frame.

  • Leaving a world frees its memory - A summon animation kept the last world in memory after you left it.

Documentation

  • The README, the store pages and the rules state the real requirements - Arcadia Lib 2.0.0, GeckoLib per target, eight Arcane pets with nineteen clips each. The published CurseForge page has drifted from images/tools/page.toml (credits and footer), so it was patched by hand.
  • Game tests - MountGroundGameTests and CollectionWritesGameTests on all targets, four 26.1.2 tests that had no instance and never ran, and the Chroma, dragon and species table tests on NeoForge 1.21.1. CollectionWritesGameTests runs against a real server through ARCADIA_TEST_DB. tools/validate_release.py now fails on a test function without an instance, a missing key category and a staff count in the guide that differs from the Mythic pool.

Correctifs

  • Monter un vex ne te fait plus traverser le sol jusque sous la map - Un vex passe à travers les blocs par nature, et il continuait avec un cavalier sur le dos : la lente descente d'une monture volante, ou la simple gravité à pied, les emmenait tous les deux droit vers le vide (plus de 200 blocs en cinq secondes dans le test qui reproduit le problème). Un vex monté entre maintenant en collision comme toute autre monture, et traverse toujours les murs quand personne ne le monte. Un familier trouvé dans le sol au moment de monter en est d'abord sorti, et un volant au repos rappelé de loin n'arrive plus à moitié dans le sol. Chaque espèce du jeu est maintenant montée dans un test, sur les trois cibles : à l'arrêt, en piqué, en avançant, à pied et à court de vol.

  • Les ghasts, phantoms et allays redescendent quand ils sont à court de vol - Ces montures ignorent la gravité : à court de vol, elles restaient en l'air avec leur cavalier aussi longtemps que durait la balade, et comme seul le sol recharge le vol, elles ne pouvaient plus jamais voler. Elles redescendent maintenant et se rechargent comme toutes les montures volantes.

  • La touche de saut fonctionne sur une monture à pied - Elle ne faisait rien du tout : le saut passait par un contrôle que seule l'étape d'IA fait tourner, et un familier monté saute cette étape. Une monture à pied saute maintenant, et remonte à la surface si la touche reste enfoncée dans l'eau.

  • Un familier ne peut plus disparaître d'une collection quand plusieurs changements arrivent ensemble (mode base de données) - Sur un serveur en MySQL, deux écritures d'une même collection pouvaient démarrer dans n'importe quel ordre, et une ancienne arrivant en dernier pouvait effacer la ligne d'un familier tout juste ajouté, par exemple avec plusieurs familiers d'un même sac. Les écritures d'un joueur passent maintenant une par une et dans l'ordre.

  • Le succès Privilèges du Staff peut être terminé - Il demandait les 23 familiers du staff, dont 5 sont retirés et ne tombent plus jamais. Il demande maintenant les 18 encore obtenables, et le guide des familiers, qui disait 21, le dit aussi.

  • Plus d'écran d'avertissement à chaque lancement (NeoForge 26.1.2) - Le jeu s'ouvrait sur « Warning while loading mods » à propos de l'annotation @OnlyIn, et demandait un clic avant le menu principal.

  • Les touches du mod ont un vrai titre dans l'écran des contrôles (NeoForge 26.1.2) - Il affichait une clé de traduction brute.

  • Les familiers larges restent dans leur case d'inventaire (Forge 1.20.1) - Sept espèces aux ailes ou aux queues longues débordaient sur les cases voisines. Les autres cibles les réduisaient déjà.

  • Un familier qui te suit montre son skin dès qu'il apparaît (Forge 1.20.1) - Une chroma s'affichait avec le look d'origine, et un familier vanilla ne dansait pas près d'un jukebox, tant que le familier n'était pas de nouveau suivi par le client : les premiers clients à le voir étaient prévenus avant qu'il soit connu comme familier.

Ajouts

  • Le mod affiche son icône dans la liste des mods - Il n'en avait pas.

Performance

  • Les familiers de la barre et de l'inventaire coûtent bien moins cher à afficher - Mesuré dans le vrai client avec neuf familiers lourds dans la barre, les images par seconde passent de 166 à 393 et la mémoire jetée par image de 1,7 Mo à 0,23 Mo ; avec un inventaire plein de familiers, de 86 à 139 et de 3,3 Mo à 0,58 Mo. Une icône ne dessine plus sa lueur dans une seconde passe, ne demande plus une étiquette de nom qu'elle n'a pas, et ne recalcule plus ses os 160 fois par seconde.

  • Les familiers Arcane dans le monde coûtent un tiers de moins à afficher - Douze familiers lourds à l'écran passent de 132 à 179 images par seconde, et de 2 Mo à 0,67 Mo de mémoire jetée par image, soit aussi moins de pauses du ramasse-miettes sur un PC modeste. Leur lueur était une seconde passe sur tout le modèle, triée par distance à chaque image, pour un masque qui couvre rarement plus de quelques pour cent d'une texture : elle ne dessine plus que les faces qui montrent un pixel lumineux, et rien ne change à l'écran. GeckoLib alloue aussi environ un kilo-octet par cube dessiné, et les familiers Arcane passent maintenant par un chemin qui n'alloue rien.

  • Les animations prennent 17 Mo de mémoire en moins, et le mod est plus léger à télécharger - Les images clés posées sur la ligne entre leurs voisines n'apportent rien à l'œil, elles sont donc retirées : de 619 000 à 352 000, chacune gardée en mémoire tant que le jeu tourne. L'outil de création s'en charge, et le contrôle de version vérifie toujours les fichiers par rapport au code.

  • Les sauvegardes automatiques ne bloquent plus sur les grosses collections (sans base de données) - Chaque sauvegarde encodait tous les familiers de tous les joueurs jamais vus par le serveur, sur le thread du serveur : 600 ms pour 60 000 familiers. Seuls les joueurs dont les familiers ont changé sont encodés maintenant, ce qui ramène cela à moins de 2 ms.

  • La base de données reçoit bien moins de trafic (mode base de données) - Un point de faim ou de lien réécrivait jusqu'à 108 lignes. Ces petits changements attendent maintenant un lot toutes les 30 secondes, à la déconnexion et à l'arrêt du serveur, et n'écrivent que les lignes des familiers concernés. Un familier ajouté écrit une seule ligne, et les collections des joueurs partis ne restent plus en mémoire jusqu'au prochain redémarrage.

  • Ouvrir le panneau de duel ne fige plus le serveur (mode base de données) - Il lisait le classement de chaque joueur en ligne dans la base, sur le thread du serveur. Un classement pas encore connu s'affiche maintenant sans chiffre pendant sa lecture en arrière-plan.

  • Chaque mob du serveur coûte un peu moins cher - Les vérifications demandées à chaque mob à chaque tick n'emballent plus son identifiant et ne prennent plus de verrou, la vérification de disparition ne cherche les familiers qu'en Paisible, les objets qui tombent regardent les renifleurs plutôt que tous les familiers, et aucune vérification ne crée plus un tag de données vide sur un mob qui n'en a pas, tag qui était ensuite sauvegardé avec lui pour de bon.

  • Les familiers d'épaule des autres joueurs derrière toi ne sont plus dessinés - Ni ceux trop loin sur Forge 1.20.1, qui ne parcourt plus non plus la liste des joueurs pour chacun à chaque image.

  • Quitter un monde libère sa mémoire - Une animation d'invocation gardait le dernier monde en mémoire après l'avoir quitté.

Documentation

  • Le README, les pages des plateformes et les règles donnent les vraies exigences - Arcadia Lib 2.0.0, GeckoLib par cible, huit familiers Arcane avec dix-neuf animations chacun. La page CurseForge publiée s'est éloignée de images/tools/page.toml (crédits et pied de page), elle a donc été corrigée à la main.
  • Game tests - MountGroundGameTests et CollectionWritesGameTests sur toutes les cibles, quatre tests 26.1.2 qui n'avaient pas d'instance et ne tournaient jamais, et les tests Chroma, dragon et table des espèces sur NeoForge 1.21.1. CollectionWritesGameTests tourne contre un vrai serveur via ARCADIA_TEST_DB. tools/validate_release.py échoue maintenant sur une fonction de test sans instance, une catégorie de touches manquante et un nombre de membres du staff dans le guide différent de la réserve Mythique.

This mod has no additional files