▶️ ЗАБЕРИ СВОИ 8 ПОДАРКОВ 🎁 ПРИ СОЗДАНИИ СВОЕГО МАЙНКРАФТ СЕРВЕРА
Моды/CRZ:CobblemonFieldMoves
CRZ:CobblemonFieldMoves

CRZ:CobblemonFieldMoves

Server-side Fabric mod for Minecraft 1.21.1 + Cobblemon. Use your Pokemon's moves in the overworld while riding them.

643
5

CRZ:CobblemonFieldMoves 2.2.0

release8 марта 2026 г.

CobblemonFieldMoves v2.2.0 — What's New

Animation Timing Fix
Move animations now sync properly with Cobblemon's native animations. We analyzed the actual animation data from Cobblemon's source — every battle animation (physical, special, status) lasts exactly 3 seconds. Effects and projectiles are now timed to match the real contact frame of each animation, so your Pokemon fully winds up before the move fires.

Projectile Origin Fix Ranged moves like Flamethrower now start from your Pokemon's actual mouth position, calculated using each species' real eye height and body width data. No more fire randomly shooting from the middle of the body.

Smart Targeting Your Pokemon now automatically finds and aims at the nearest target instead of relying on where the player is looking. This fixes the issue where sent-out (non-ridden) Pokemon would fire moves in the wrong direction.

Pokemon Approaches the Target Before executing a move, your Pokemon will now walk toward the target using Minecraft's pathfinding system. Physical moves get up close (2.5 blocks), ranged moves stop at firing distance (8 blocks). No more attacking from across the field without moving.

Persistent Facing Pokemon now properly lock onto their target throughout the entire move animation. Previously, the AI would override the rotation and the Pokemon would look away mid-attack. Now it stays locked on using Minecraft's look control system.

CRZ:CobblemonFieldMoves 2.0.0

release5 марта 2026 г.

Bug Fixes

  1. Memory leak - When players disconnected, some tracking data (particle rate limits, special effect timers) was never cleaned up. Over time on busy servers, this would slowly eat memory. Now everything gets properly cleaned when a player leaves.
  2. Disabled players could bypass restrictions - If a server admin disabled field moves for a player (e.g. for griefing), the player could just reconnect to get them back. Now the disabled status persists until the server restarts or an admin re-enables it.
  3. Status effects were always guaranteed - Every fire move would always burn, every ice move would always freeze. In real Pokemon games, these have a chance (not 100%). Now fire has 30% burn chance, ice 20% freeze, electric 25% paralysis, etc.
  4. Wrong controls shown in help - The /fieldmoves help command said "Left Click = Use move" but the actual controls are Right Click to use and Shift+Right Click to cycle. Fixed the help text to match reality.
  5. Voice commands could misfire on short words - If speech recognition picked up a short sound like "a", it could accidentally match a move. Now voice input must be at least 3 characters to do a fuzzy match.
  6. Voice system broke on server restart - In singleplayer, stopping and restarting a world would crash the voice command system because the background worker couldn't be restarted. Now it properly recreates itself.
  7. Unsafe code that could crash - One spot used a !! (force unwrap) that could theoretically crash the server. Replaced with a proper null safety check.

Performance Improvements

  1. Particle data is now cached - Every time a Pokemon used a move, the mod was building lists of 40-80 particle names from scratch. Now it builds them once and reuses them. Huge reduction in garbage collection pressure.
  2. Type chart was rebuilt on every hit - The full Pokemon type effectiveness table (18 types x all matchups) was being recreated as a new object every single time damage was calculated. Now it's created once at startup.
  3. Move category lookups are now instant - Over 20 sets of move names (mouth moves, hand moves, kick moves, etc.) were being recreated every time a move was used. Now they're pre-built constants.
  4. Move name normalization is cached - Converting move names like "Ice_Beam" to "icebeam" was happening 8-10 times per single move use. Now it's done once and remembered.
  5. Config saves are smarter - Changing multiple settings at once (e.g. from a plugin) used to write the config file to disk for each change. Now there's a batch mode that writes once at the end.
  6. Removed duplicated code - The type-to-color mapping function (Normal=white, Fire=red, Water=blue...) was copy-pasted in two files. Now there's one shared version.

CRZ:CobblemonFieldMoves 2.0.0

release23 февраля 2026 г.
  1. Cobblemon 1.7.3 Compatibility
  • Analyzed the entire mod codebase and all Cobblemon API usage (PokemonEntity, Move, DamageCategories, ActionEffects, Snowstorm particles, etc.)
  • Researched Cobblemon 1.7.1 → 1.7.3 changelogs - confirmed no breaking API changes
  • Updated mod/build.gradle.kts to compile against Cobblemon 1.7.3+1.21.1 (was 1.7.1)
  1. Single Player Fix (Root Cause)
  • Found that fabric.mod.json had "environment": "server" which tells Fabric to only load the mod on dedicated servers
  • In single player, the game runs as a client with an integrated server - so the mod was completely ignored
  • Changed to "environment": "*" so the mod loads on both client and dedicated server
  • The code was already safe for single player (all events are server-side, UseEntityCallback already checks world.isClientSide)

CRZ:CobblemonFieldMoves 2.0.0

release22 февраля 2026 г.

CobblemonFieldMoves v2.0.0 - Combo System Update

What's New

Players can now combo with their Pokemon against both mobs and other players! Attack with your sword using left-click while your Pokemon uses its moves with right-click — at the same time.

Controls

  • Left-click — Normal player attack (sword, axe, fist, etc.)
  • Right-click on target — Pokemon uses its selected field move
  • Shift + Right-click — Cycle to the next move

How it works

Send out your Pokemon or ride it, then engage any mob or player. You swing your weapon with left-click while commanding your Pokemon to attack with right-click. Both hits land independently, enabling true combo gameplay between trainer and Pokemon.

Bug Fixes

  • Fixed beam particles going everywhere — Moves like Flamethrower, Ice Beam, and Thunderbolt now display clean particle effects instead of spawning fire/ice/lightning all over the place
  • Fixed move targeting when not riding — When the Pokemon is sent out (not mounted), moves now correctly aim at the entity you click on instead of missing the target

CRZ:CobblemonFieldMoves 1.2.0

release22 февраля 2026 г.

Fix 1: Particles going everywhere (beam moves)

Problem: Beam moves like Flamethrower, Ice Beam, Thunderbolt etc. spawned fire/ice/lightning particles all over the place instead of in a straight line.

Root cause: The code was spawning _actor Snowstorm particles (complex animated effects designed to play ON a Pokemon entity) as world particles at multiple positions along the beam (distances 2, 5, 8 blocks). Each one played its full animation independently, creating 6 separate fire/ice sources.

Fix:

  • Removed all _actor world particles from beam paths in spawnSpecialMoveEffects()
  • The entity particles on the Pokemon (already spawned in execute() at tick 6) handle the visual attack from the Pokemon
  • spawnSpecialMoveEffects() now only spawns _target particles at the impact point
  • Applied to all 26+ beam moves (Flamethrower, Ice Beam, Thunderbolt, Psychic, Hydro Pump, Shadow Ball, etc.)
  • Added getBeamStartPosition() helper that uses the player's look direction for the beam origin offset (not the Pokemon's facing direction)
  • Fixed fallback trail guard to skip trails for moves that already have native Cobblemon entity particles
  • Reduced special effects cooldown from 1500ms to 800ms since effects are much lighter now

Fix 2: Moves not targeting clicked entities

Problem: When the player was NOT riding the Pokemon (Pokemon sent out nearby), clicking on a mob would fire the move but it would miss the target completely.

Root cause: executeRangedMoveInternal() calculated the beam direction using player.lookAngle starting from the Pokemon's position. Since the Pokemon was far from the player, the ray pointed in a completely different direction than the clicked mob.

Fix:

  • Passed the clickedTarget (the entity the player left-clicked) through the entire call chain: CobblemonFieldMod → FieldMoveHandler → MoveExecutor.execute() → executeRangedMoveDelayed() → executeRangedMoveInternal()
  • Same for melee: → executeMeleeMoveDelayed() → executeMeleeMoveInternal()
  • When clickedTarget exists, lookAngle is now calculated as the direction from the Pokemon to the target instead of using the player's look direction
  • For melee moves, the hitbox is centered on the clicked target for reliable hit detection

Совместимость

Minecraft: Java Edition

1.21.x

Платформы

Поддерживаемые окружения

Сервер

Детали

Лицензия:MIT
Опубликован:1 месяц назад
Обновлён:2 недели назад
Главная