Creators
Details
Licensed MIT
Published 8 months ago
Updated 8 months ago
All versions
1.1.1
Release
CRZ:CobblemonFieldMoves 1.1.18 months ago 45
Compatibility
Minecraft: Java Edition
1.21.1
Platform
Fabric
Supported environments
Server-side
Singleplayer
Changes
CobblemonFieldMoves - Server-Side Only Refactor
- Removed Client-Side Dependencies
- Deleted CobblemonFieldClient.kt - Removed the client entrypoint that intercepted mouse clicks (left-click to attack, right-click to cycle moves)
- Deleted FieldMovePayloads.kt - Removed the custom C2S network packet (UseMoveC2SPayload) that the client sent to the server
- Deleted DiscParticleEmitterShapeMixin.java - Removed a client-only mixin that patched Cobblemon's particle crash
- Updated fabric.mod.json - Changed environment from "*" to "server", removed "client" entrypoint, removed "mixins" section
- Updated cobblemonfield.mixins.json - Removed the "client" array (no more mixins)
- Updated CobblemonFieldMod.kt - Removed C2S packet registration (PayloadTypeRegistry, ServerPlayNetworking)
- Added Server-Side Attack Interception
- AttackEntityCallback.EVENT in CobblemonFieldMod.kt - When a player left-clicks an entity while having an active Pokemon (riding or sent-out), the selected field move is executed instead of a normal attack. Shift + left-click cycles to the next move.
- Added Auto-Show Moves on Pokemon Activation
- ServerTickEvents.END_SERVER_TICK in CobblemonFieldMod.kt - Detects when a player mounts a Pokemon or sends one out. Automatically displays a clickable move menu in chat and resets the selected move to slot 1.
- Added Server-Side Move Selection Tracking
- FieldMoveHandler.kt - Added selectedMoves map, plus getSelectedMove(), setSelectedMove(), cycleMove(), and clearSelectedMove() methods to track which move each player has selected.
- Support for Sent-Out (Non-Mounted) Pokemon
- FieldMoveHandler.findPlayerPokemon() - New helper that finds a player's active Pokemon by: a. Checking if the player is riding a PokemonEntity b. If not, searching for a nearby PokemonEntity (within 32 blocks) owned by the player
- Updated FieldMoveHandler.handleMoveRequest() - Uses findPlayerPokemon() instead of only checking player.vehicle
- Updated FieldMoveCommand.kt - /fm and /fm use <1-4> now work with sent-out Pokemon too
- Updated CobblemonFieldAPI.kt - getPlayerMount() uses the new helper
Player Experience (No Client Mod Required)
- Send out or mount a Pokemon → move menu appears in chat (clickable)
- Left-click an entity → uses the selected move
- Shift + left-click → cycles to the next move (shown in action bar)
- /fm → shows move menu | /fm use <1-4> → uses a specific move
- Cobblemon particles and animations still work (players already have Cobblemon installed)
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:mMymctME:Q10VddcT"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:mMymctME:Q10VddcT"
}

