promotional bannermobile promotional banner

[TACZ] Zombie Map Maker

TACZ Call Of Duty Zombies Map Maker Neo TACZ

File Details

zombiemod-1.0.2.jar

  • R
  • Nov 21, 2025
  • 3.53 MB
  • 197
  • 1.20.1
  • Forge

File Name

zombiemod-1.0.2.jar

Supported Versions

  • 1.20.1

Curse Maven Snippet

Forge

implementation fg.deobf("curse.maven:tacz-cod-zombie-map-maker-call-of-1387913:7244944")
Curse Maven does not yet support mods that have disabled 3rd party sharing

Learn more about Curse Maven

 ---
  📋 CHANGELOG - Zombie Mod Forge 1.20.1

  Backport depuis NeoForge 1.21.1

  ---
  🎮 SYSTÈME DE JEU PRINCIPAL

  GameManager (manager/GameManager.java)

  - Gestion des états de jeu : WAITING, STARTING, WAVE_ACTIVE, WAVE_COOLDOWN
  - Countdown de 60 secondes avant le début de partie
  - Gestion des joueurs actifs et en attente
  - Commandes /zombiestart, /zombiestop, /zombiejoin
  - Auto-stop automatique quand tous les joueurs se déconnectent
  - Suppression de tous les zombies lors de l'arrêt

  WaveManager (manager/WaveManager.java)

  - Système de vagues progressives
  - Spawn de zombies avec difficulté croissante
  - Cooldown de 10 secondes entre les vagues
  - Sons de début et fin de vague (round_start, round_end)
  - Support des mobs personnalisés via config

  PointsManager (manager/PointsManager.java)

  - Système de points par joueur
  - +10 points par hit sur zombie
  - +100 points par kill de zombie
  - Points persistants pendant la partie

  RespawnManager (manager/RespawnManager.java)

  - Gestion du respawn des joueurs morts
  - Système d'attente jusqu'à la fin de la vague
  - Respawn automatique au début de chaque nouvelle vague

  ---
  🗺️ SYSTÈME DE MAPS

  MapManager (map/MapManager.java)

  - Gestion multi-maps avec fichiers JSON
  - Sauvegarde/chargement des configurations
  - Commande /zombiemap pour gérer les maps

  MapConfig (map/MapConfig.java)

  - Configuration par map : spawn joueurs, spawn zombies
  - Points de spawn multiples configurables

  ZombieSpawnPoint (map/ZombieSpawnPoint.java)

  - Points de spawn zombies avec poids
  - Distribution aléatoire selon les poids

  DoorConfig (map/DoorConfig.java)

  - Configuration des portes par map
  - Stockage des zones de déblocage

  ---
  🚪 SYSTÈME DE PORTES

  DoorCommand (command/DoorCommand.java)

  - /zombiedoor <numéro> <prix> - Créer une porte
  - /zombiedoor remove - Supprimer une porte
  - /zombiedoor setzone <numéro> - Définir zone de déblocage
  - /zombiedoor clearzone <numéro> - Effacer zone

  DoorInteractionHandler (event/DoorInteractionHandler.java)

  - Clic droit sur panneau mural pour acheter
  - Vérification des points du joueur
  - Déblocage des blocs dans la zone définie
  - Synchronisation client des données

  ClientDoorData (client/ClientDoorData.java)

  - Cache client pour l'affichage HUD des portes
  - Affichage du prix et état (ouverte/fermée)

  ---
  📦 SYSTÈME DE WEAPON CRATES

  WeaponCrateCommand (command/WeaponCrateCommand.java)

  - /weaponcrate <prix> - Créer une caisse d'armes
  - /weaponcrate remove - Supprimer une caisse
  - /weaponcrate addammo <type> <quantité> <prix> - Ajouter munitions
  - Support des items avec NBT

  WeaponCrateManager (data/WeaponCrateManager.java)

  - Gestion des caisses d'armes
  - Stockage des items et munitions

  WeaponCrateSavedData (data/WeaponCrateSavedData.java)

  - Persistance des caisses dans le monde
  - Sauvegarde NBT automatique

  ChestInteractionHandler (event/ChestInteractionHandler.java)

  - Clic droit = Acheter arme (animation roulette si plusieurs items)
  - Clic gauche = Acheter munitions
  - Son mystery_box pour l'animation roulette
  - Vérification des points

  WeaponCrateAnimationManager (system/WeaponCrateAnimationManager.java)

  - Animation roulette style "Mystery Box"
  - Cycle rapide puis ralentissement
  - Affichage de l'item final
  - Fix: pas d'animation bloquante pour caisse à 1 item

  ClientWeaponCrateData (client/ClientWeaponCrateData.java)

  - Cache client pour affichage HUD
  - Données des caisses synchronisées

  ---
  🎵 SYSTÈME JUKEBOX ZOMBIE

  ZombieJukeboxCommand (command/ZombieJukeboxCommand.java)

  - /zombiejukebox <prix> - Créer un jukebox zombie
  - /zombiejukebox remove - Supprimer un jukebox

  JukeboxManager (system/JukeboxManager.java)

  - Gestion des jukeboxes zombie
  - Lecture de la musique "115"
  - Toggle play/stop

  JukeboxInteractionHandler (event/JukeboxInteractionHandler.java)

  - Clic droit pour activer/désactiver
  - Déduction des points
  - Messages de feedback

  ServerJukeboxTracker (system/ServerJukeboxTracker.java)

  - Tracking serveur des positions de jukebox
  - Synchronisation avec les clients

  ClientJukeboxData (client/ClientJukeboxData.java)

  - Cache client pour affichage HUD
  - Prix et état du jukebox

  ---
  🔊 SYSTÈME DE SONS

  ModSounds (ModSounds.java)

  - mystery_box - Son d'ouverture caisse roulette
  - round_start - Son début de vague
  - round_end - Son fin de vague
  - 115 - Musique du jukebox zombie
  - Registration via DeferredRegister

  sounds.json (resources)

  - Définition des fichiers audio
  - Chemins vers les fichiers .ogg

  ---
  📊 HUD CLIENT

  ZombieHUD (client/ZombieHUD.java)

  - Affichage permanent :
    - Vague actuelle
    - Zombies restants
    - Points du joueur
    - Scoreboard des joueurs (classement par points)
  - Countdowns :
    - 60s avant début de partie
    - 10s entre les vagues
  - Infos contextuelles (raycast 5 blocs) :
    - Weapon Crate : prix arme + munitions, actions
    - Porte : numéro, prix, état (ouverte/fermée)
    - Jukebox : prix, action activer/arrêter
  - Animations de points flottants (+10/+100)

  PointsAnimationManager (client/PointsAnimationManager.java)

  - Animation "+10" vert pour les hits
  - Animation "+100" or pour les kills
  - Vélocité aléatoire avec spread
  - Mouvement vers le haut
  - Fade out progressif
  - Effet de scale au démarrage

  ClientTickHandler (client/ClientTickHandler.java)

  - Tick client pour les animations
  - Mise à jour des FloatingPoints

  ClientGameData (client/ClientGameData.java)

  - Cache des données de jeu côté client
  - État de la partie, vague, joueurs, points

  ---
  🌐 RÉSEAU

  NetworkHandler (network/NetworkHandler.java)

  - GameStatePacket - Sync état de jeu
  - WavePacket - Sync vague et zombies restants
  - PointsPacket - Sync points joueur
  - PlayerListPacket - Sync liste joueurs
  - WeaponCrateSyncPacket - Sync données caisses
  - CrateAnimationPacket - Animation roulette
  - DoorSyncPacket - Sync données portes
  - JukeboxSyncPacket - Sync données jukeboxes
  - PlaySoundPacket - Jouer son global
  - PointsAnimationPacket - Animation +10/+100

  ---
  ⚙️ CONFIGURATION

  ZombieConfig (config/ZombieConfig.java)

  - zombie_damage - Dégâts des zombies (défaut: 6.0)
  - Fichier zombiemod.json

  ZombieDropsConfig (config/ZombieDropsConfig.java)

  - Configuration des drops de zombies
  - Items avec probabilités et quantités
  - Support NBT complet

  ZombieMobsConfig (config/ZombieMobsConfig.java)

  - Configuration des mobs par vague
  - Types de mobs avec poids de spawn

  ---
  📝 COMMANDES

  | Commande                 | Description                   |
  |--------------------------|-------------------------------|
  | /zombiestart             | Démarrer une partie           |
  | /zombiestop              | Arrêter la partie             |
  | /zombiejoin              | Rejoindre la partie           |
  | /zombiespawn add         | Ajouter point spawn zombie    |
  | /zombiespawn remove      | Supprimer point spawn         |
  | /zombierespawn set       | Définir point respawn joueurs |
  | /zombiemap create <nom>  | Créer une map                 |
  | /zombiemap select <nom>  | Sélectionner une map          |
  | /zombiemap list          | Lister les maps               |
  | /zombiedoor <num> <prix> | Créer une porte               |
  | /zombiedoor remove       | Supprimer une porte           |
  | /weaponcrate <prix>      | Créer une caisse              |
  | /weaponcrate remove      | Supprimer une caisse          |
  | /weaponcrate addammo     | Ajouter munitions             |
  | /zombiejukebox <prix>    | Créer un jukebox              |
  | /zombiejukebox remove    | Supprimer un jukebox          |
  | /zombiehelp              | Afficher l'aide               |

  ---
  🛡️ ÉVÉNEMENTS

  ZombieEventHandler (event/ZombieEventHandler.java)

  - Points sur hit (+10) et kill (+100)
  - Envoi des packets d'animation
  - Décrément compteur zombies

  PlayerDeathHandler (event/PlayerDeathHandler.java)

  - Gestion mort joueur actif
  - Mise en file d'attente pour respawn

  ZombieDropHandler (event/ZombieDropHandler.java)

  - Drops configurables sur kill zombie
  - Annulation des drops vanilla

  PlayerConnectionHandler (event/PlayerConnectionHandler.java)

  - Sync données à la connexion
  - Nettoyage à la déconnexion
  - Auto-stop si plus de joueurs

  ---
  🔧 ADAPTATIONS FORGE 1.20.1

  - NeoForge → MinecraftForge
  - DeferredRegister.create(Registries.SOUND_EVENT) → DeferredRegister.create(ForgeRegistries.SOUND_EVENTS)
  - PayloadRegistrar → SimpleChannel avec registerMessage()
  - @EventBusSubscriber remplacé par registration manuelle
  - FMLEnvironment.dist pour check client/serveur
  - GuiGraphics compatible 1.20.1
  - TickEvent.ServerTickEvent / TickEvent.ClientTickEvent
  - Gestion NBT avec CompoundTag et ListTag

  ---
  📁 STRUCTURE DES FICHIERS

  src/main/java/com/zombiemod/
  ├── ZombieMod.java (main)
  ├── ModSounds.java
  ├── client/
  │   ├── ClientGameData.java
  │   ├── ClientWeaponCrateData.java
  │   ├── ClientDoorData.java
  │   ├── ClientJukeboxData.java
  │   ├── ClientTickHandler.java
  │   ├── PointsAnimationManager.java
  │   └── ZombieHUD.java
  ├── command/
  │   ├── GameCommands.java
  │   ├── SpawnCommand.java
  │   ├── RespawnCommand.java
  │   ├── DoorCommand.java
  │   ├── WeaponCrateCommand.java
  │   └── ZombieJukeboxCommand.java
  ├── commands/
  │   ├── ZombieMapCommand.java
  │   └── ZombieHelpCommand.java
  ├── config/
  │   ├── ZombieConfig.java
  │   ├── ZombieDropsConfig.java
  │   └── ZombieMobsConfig.java
  ├── data/
  │   ├── WeaponCrateManager.java
  │   └── WeaponCrateSavedData.java
  ├── event/
  │   ├── ZombieEventHandler.java
  │   ├── PlayerDeathHandler.java
  │   ├── ZombieDropHandler.java
  │   ├── PlayerConnectionHandler.java
  │   ├── ChestInteractionHandler.java
  │   ├── DoorInteractionHandler.java
  │   └── JukeboxInteractionHandler.java
  ├── manager/
  │   ├── GameManager.java
  │   ├── WaveManager.java
  │   ├── PointsManager.java
  │   └── RespawnManager.java
  ├── map/
  │   ├── MapManager.java
  │   ├── MapConfig.java
  │   ├── ZombieSpawnPoint.java
  │   └── DoorConfig.java
  ├── network/
  │   └── NetworkHandler.java
  └── system/
      ├── WeaponCrateAnimationManager.java
      ├── JukeboxManager.java
      └── ServerJukeboxTracker.java

  ---
  ✅ BUGS CORRIGÉS PENDANT LE BACKPORT

  1. Animation bloquante caisse 1 item - Fix: hasActiveAnimation() vérifie isRoulette
  2. getChunks() protected - Fix: Création de ServerJukeboxTracker
  3. removePlayer() manquant - Fix: Ajout méthode dans GameManager
  4. Permissions crates - Fix: Vérification OP level 2
  5. Sync client déconnexion - Fix: Nettoyage propre des listes

  ---
  Version: 1.0.0-forge
  Minecraft: 1.20.1
  Forge: 47.x
  Backporté depuis: NeoForge 1.21.1