Compatibility
Minecraft: Java Edition
Platforms
Supported environments
90% of ad revenue goes to creators
Support creators and Modrinth ad-free with Modrinth+Creators
Details
✨ PokeMarks for Cobblemon ✨
🔍 What is this mod?
Ever feel that it's not enough to have shinies alone to represent rarity, status, how special that one pokemon is?
Now you can take it to the next level! PokeMarks introduces marks from Sword and Shield
/ Scarlet and Violet
into your game - adding more flair, character, and a touch of mystery to your Pokémon. Spend even more time hunting for Pokémon and flaunting your collection!
Each mark comes with:
- 📝 Title: A personalized title that appears on your Pokémon
- 🎨 Color: A specific color for the title
- 🎲 Chance: A percentage (0–100%) that indicates whether the mark is used
- ✨ Particles: Customizable particle effects that provide a visual spark
Marks are applied according to in-game conditions like weather, time of day, biome, and more. Almost all of the Sword and Shield / Scarlet and Violet marks are included with their proper chances and conditions from original games, with some little tweaking to fit better in minecraft. With only those lacking a direct Minecraft/Cobblemon counterpart omitted (to be added in future updates).
✨ Mark Showcase
There are some amazing combinations of Pokémon with different marks! Here's a glimpse of what's possible:
![]() |
![]() |
---|---|
![]() |
![]() |
Vaporeon with the Rainy Mark | Shiny Vaporeon with the Thorny Mark |
What marks will you discover? With dozens of possible combinations across hundreds of Pokémon, each mark adds a unique personality and visual flair to your collection.
Will you find a Sandshrew with the Sandstorm Mark? Or perhaps a Charizard with the Alpha Mark? The possibilities are endless!
🌟 Features
Completely Personalizable Marks
- Add, remove, or alter marks in a simple JSON setup
- Configure properties such as title, title color, probability, and particle effects to your liking
Dynamic Condition Checks
- Marks are given based on in-game events and situations (e.g.,
isRaining
,isDayTime
,isPokemonIVSum(>=145)
) - Accommodates a broad range of conditions for precise control over when and where marks occur
Effortless Cobblemon Integration
- Made to fit flawlessly into Cobblemon without impacting gameplay
Developer-Friendly Setup
- Open and versatile configuration for easy experimentation and customization
🚀 Planned Features
Enhanced UI Integration
- Mark icons in PC and party overlays
- Visual indicators for marked Pokémon in various interfaces
Expanded Mark Collection
- More marks from the Pokémon games
- Custom marks unique to Minecraft environments
Configurable Sound System
- Special sound effects when a Pokémon with a mark is sent out
- Ambient sounds that match the mark's theme
Mod Integrations
- Compatibility with Alpha Pokémon mods (ensuring only Alpha Pokémon can have Alpha marks)
- Weather mod integration for sandstorm, mist, and blizzard conditions
- Support for biome and dimension mods for more environment-based marks
In-Game Commands
- Easy addition/deletion/management of marks on Pokémon
- Admin commands for server management
- Player commands for checking mark information
Statistics Tracking
- Track how many of each mark you've collected
- Achievements for collecting specific mark combinations
📋 Available Mark Conditions
Marks utilize condition statements to decide whether they should be applied. Here's the complete set of available conditions:
🌍 Environment Conditions
- isThundering: Checks if the world is thundering
- isSnowing: Checks if it is raining and the biome precipitation is snow
- isRaining: Simply checks if it's raining in the world
- isNight: Checks whether the world is in a state of night
- isDay: Checks whether it is daytime in the world
⏰ Time Conditions
- isMoonPhase: Compares the present moon phase with a specified condition (e.g.,
isMoonPhase(<2)
) - isGameTime: Checks if game time in ticks equals a specified value or range (e.g.,
isGameTime(>2005000)
) - isDayTime: Checks if the daytime in ticks falls in a certain range (e.g.,
isDayTime(6000..7000)
). Minecraft's day-night cycle lasts from 0 to 24000 ticks
📍 Location Conditions
- isPosition: Checks if the spawn position (x, y, z) is as specified (e.g.,
isPosition(*, >=20,!=0)
) - isBiome: Checks whether the current biome matches given biome IDs (e.g.,
isBiome(minecraft:ocean, minecraft:desert)
) - isDesert: Checks if the current biome is desert, badlands, or eroded badlands
🐠 Pokémon Conditions
- isPokemonIVSum: Checks whether the total IV values satisfy a condition (e.g.,
isPokemonIVSum(>=145)
) - isFished: Checks if the Pokémon was spawned through fishing
🧩 Condition Expression Syntax
Conditions can be simple or complex with these powerful options:
Numerical Operators
- Support for
>
,<
,>=
,<=
,!=
and range operators like..
and..<
Wildcards
- Use
*
as a wildcard to match any value
Logical Operators
!
for negation||
for OR&&
for AND- Use
()
to group conditions together
Example of a complex condition:
- !isDay || !(isBiome(minecraft:ocean, minecraft:desert) && !isPosition(*, >=20, !=0))
⚙️ Configuration
The mod auto-generates a JSON config file in your minecraft/config
directory.
If new mod version includes config changes, just remove last version of config and mod will create new one!
Personalize your marks without touching any code!
Global Config
- config_hot_reload_each_tick: Enables instant configuration changes without restarting (set to
false
in production for better performance)
Mark Configuration Properties
- title: The custom title that appears on your Pokémon (e.g., "Former Alpha")
- chance: The percentage chance (0-100) that the mark is applied (e.g.,
2.5
for 2.5%) - color: The hex color code for the title (e.g.,
"#FF1616"
) - condition: Expression that defines when the mark is applied (e.g.,
"isPokemonIVSum(>=145)"
)
Particle Configuration
- particle_type: The kind of particle effect (any Minecraft or mod particle as
mod_id:particle_name
) - spawn_rate: Controls how often particles spawn (
1
= every tick,20
= once per second) - spawn_count: Number of particles to spawn each time
- velocity_affected_by_rotation: When
true
, particles align with Pokémon's rotation, and not with global axis - velocity: Movement speed on x, y, and z axes (static or random range)
- offset: Spawn position offset from the Pokémon (static or random range)
📝 Example Configuration
{
"data": {
"config_hot_reload_each_tick": true,
"marks": {
"Alpha Mark": {
"title": "Former Alpha",
"chance": 2.5,
"color": "#FF1616",
"particles": {
"particle_type": "minecraft:small_flame",
"spawn_rate": 1,
"spawn_count": 2,
"velocity_affected_by_rotation": false,
"velocity": {
"x": 0.0,
"y": 0.0,
"z": 0.0
},
"offset": {
"x": {
"min": 0.0,
"max": 1.5
},
"y": {
"min": 0.0,
"max": 1.0
}
}
},
"condition": "isPokemonIVSum(>=145)"
}
}
}
}