promotional bannermobile promotional banner

Arcadia Games

A server-side minigames mod featuring

File Details

arcadia_games-1.2.0

  • R
  • Apr 30, 2026
  • 220.44 KB
  • 86
  • 1.21.1
  • NeoForge

File Name

arcadia_games-1.2.0.jar

Supported Versions

  • 1.21.1

Curse Maven Snippet

NeoForge

implementation "curse.maven:arcadia-games-1507012:8014545"
Curse Maven does not yet support mods that have disabled 3rd party sharing

Learn more about Curse Maven

## [1.2.0] - 2026-04-30 (latest)

### Added

- **Configurable reward system** — New `RewardManager` reads `config/arcadia/arcadiagames/rewards.json` to grant per-rank loot to top 3 winners. Supports four reward types: `item` (any registered Minecraft item with count), `command` (any console command with `{player}` placeholder), `xp` (experience levels), `points` (bonus Arcadia points). Each rank (1st/2nd/3rd) has its own list. Default config gives diamonds/gold/iron + XP. Reload via `/arcadia_games admin reload`.
- **10 new minigames (#23 to #32)** — Number Guess (find 1-100 via higher/lower hints), Anagram (unscramble English words), Color Match (hold matching wool color in main hand), Drop Item (drop the requested item near you), Distance Runner (most blocks traveled horizontally), Snowball Fight (hit other participants with snowballs), Sneak Stalker (most seconds crouched), Jump Master (most jumps), Swim Marathon (most seconds in water), Echo Chamber (be the first 3 to repeat a phrase exactly).
- **Localized minigame display names** — `Minigame.getDisplayName()` resolves names through `LangManager` keys `minigame.<id>.name`. All 32 minigame names render in the configured locale instead of hardcoded French.

### Fixed

- **Non-participants could play chat-based games** — Quiz, Math, Word Guess, Speed Typing, Bingo and Auction did not gate `onPlayerChat` by `isParticipating()`. Any online player could answer/bid even without joining the countdown. Now strictly limited to registered participants.
- **Non-participants could attack the Zombie Pinata** — `ServerEvents.onPlayerAttack` did not filter by participation, so spectators landed counted hits. Same gap fixed in MobKill (LivingDeath) and PvP Arena (LivingDamage). All three now require active participation on both attacker and victim sides.
- **Zombie Pinata never restored teleporters' positions** — `/arcadia_games tp_pinata` teleported the player to the pinata but never saved their initial position, so `restoreAll()` at game end had nothing to restore. Position is now saved before TP and restored on `onStop` (gated by `restore_position_after_tp_games`).
- **Zombie Pinata virtual HP was hardcoded** — `MAX_VIRTUAL_HP` was `2000.0f` constant ignoring the existing `zombie_pinata_virtual_hp` config key. Now reads from config at game start.
- **Hardcoded `v1.0.0` in `/arcadia_games info`** — Version string was static even after 1.1.x releases. Now sourced from `ArcadiaGames.VERSION` constant.
- **Missing config toggles for PvP Arena and Treasure Hunt** — `enable_pvp_arena` and `enable_treasure_hunt` were referenced in `MinigameManager` but never declared in defaults, so the toggle silently fell back to `true` without surfacing in `config.json`.

### Changed

- **All internal minigame names switched from French to English** — Internal `super("...")` keys are now stable English identifiers (e.g. `"Block Placing"` instead of `"Poseur de Blocs"`). Display strings remain fully translated through LangManager.
- **Admin start range bumped to 1-32** — `/arcadia_games admin start <id>` now accepts the full range covering the 32 registered minigames.
- **Ajouts** sections aligned with full bilingual mirror below.

### Ajouts

- **Systeme de recompenses configurable** — Nouveau `RewardManager` lit `config/arcadia/arcadiagames/rewards.json` pour donner des recompenses au top 3. Quatre types : `item` (item Minecraft + quantite), `command` (commande console avec placeholder `{player}`), `xp` (niveaux d'experience), `points` (points Arcadia bonus). Chaque rang (1er/2e/3e) a sa propre liste. Config par defaut : diamants/or/fer + XP. Rechargement via `/arcadia_games admin reload`.
- **10 nouveaux mini-jeux (#23 a #32)** — Devinez le Nombre (trouver 1-100 via plus haut/plus bas), Anagramme (remettre les lettres dans l'ordre), Couleur Cible (tenir la laine de la couleur demandee), Lacher l'Item (lacher l'item demande pres de soi), Marathon (max de blocs parcourus a l'horizontale), Bataille de Boules de Neige (toucher les autres participants), Maitre Discret (max de secondes accroupi), Maitre du Saut (max de sauts), Marathon Aquatique (max de secondes dans l'eau), Chambre d'Echo (etre dans les 3 premiers a repeter exactement la phrase).
- **Noms de mini-jeux localises** — `Minigame.getDisplayName()` resout les noms via `LangManager` (cles `minigame.<id>.name`). Les 32 noms s'affichent dans la locale configuree au lieu de francais en dur.

### Correctifs

- **Les non-participants pouvaient jouer aux mini-jeux de chat** — Quiz, Calcul, Mot, Frappe, Bingo et Encheres ne filtraient pas `onPlayerChat` via `isParticipating()`. N'importe quel joueur connecte pouvait repondre / miser sans avoir rejoint le countdown. Limite maintenant strictement aux participants.
- **Les non-participants pouvaient frapper le Zombie Pinata** — `ServerEvents.onPlayerAttack` ne filtrait pas par participation, donc les spectateurs comptaient leurs coups. Meme faille corrigee sur MobKill (LivingDeath) et Arene PvP (LivingDamage). Tous trois exigent maintenant une participation active des deux cotes.
- **Le Zombie Pinata ne reteleportait jamais les joueurs** — `/arcadia_games tp_pinata` teleportait au pinata sans sauvegarder la position initiale, donc `restoreAll()` n'avait rien a restaurer. La position est maintenant sauvegardee avant TP et restauree dans `onStop` (gere par `restore_position_after_tp_games`).
- **PV virtuel du Zombie Pinata code en dur** — `MAX_VIRTUAL_HP` etait une constante `2000.0f` ignorant la cle config `zombie_pinata_virtual_hp` existante. Lue depuis la config au demarrage maintenant.
- **`v1.0.0` code en dur dans `/arcadia_games info`** — Le numero de version etait statique meme apres les 1.1.x. Source maintenant depuis la constante `ArcadiaGames.VERSION`.
- **Toggles config manquants pour Arene PvP et Chasse au Tresor** — `enable_pvp_arena` et `enable_treasure_hunt` etaient references dans `MinigameManager` mais jamais declares dans les defauts, donc le toggle retombait silencieusement sur `true` sans apparaitre dans `config.json`.

### Modifications

- **Tous les noms internes des mini-jeux passent du francais a l'anglais** — Les cles `super("...")` sont des identifiants anglais stables (ex. `"Block Placing"` au lieu de `"Poseur de Blocs"`). L'affichage reste entierement traduit via LangManager.
- **Plage admin start etendue a 1-32** — `/arcadia_games admin start <id>` accepte maintenant la plage complete couvrant les 32 mini-jeux.