mNo edit summary
No edit summary
 
(40 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{InfoboxVersion
{{InfoboxVersion
| title = 1.7.0
| title = 1.7.0
| image =  
| image = 1.7.0 Set Course Logo.png
| updatename = Currently Unannounced
| updatename = Set Course!
| release = TBD
| release = 22 November, 2025
| fabric = TBA
| fabric = [https://modrinth.com/mod/cobblemon/version/Ygf8KJFC Modrinth]<br>[https://www.curseforge.com/minecraft/mc-mods/cobblemon/files/7247586 Curseforge]
| neoforge = [https://modrinth.com/mod/cobblemon/version/1.7.0 Modrinth]<br>[https://www.curseforge.com/minecraft/mc-mods/cobblemon/files/7247564 Curseforge]
| previous = [[1.6.1]]
| previous = [[1.6.1]]
| next = TBD
| next = [[1.7.1]]
}}
}}
{{FutureContent}}
 
'''1.7.0''' is an upcoming major update to Cobblemon. It is currently set to add mounts and cooking mechanics. It is currently unknown when the update will be released, as well as what other additions may be added.
'''1.7.0''', named the '''Set Course! Update''' is a major update to Cobblemon released on November 22nd. 2025. It adds a variety of new features, with the main highlights being mounts and cooking mechanics.


==Additions==
==Additions==
* Added /spectateBattle <player> command to spectate battles without having to manually walk up to the target.
===Riding===
* Added an in-game configuration screen, allowing all settings from main.json to be edited directly in-game.
* Added the ability to ride [[Pokémon]] by shift-right clicking and selecting the ride option. We are now a riding mod :D
* Added /cobblemonconfig reload command to reload main.json configuration. Note: Some settings require a server restart to take effect; use this command cautiously.
** If you get motion sickness, go to the configuration and “Disable Roll”!
* Added blacklisted_items_to_hold and whitelisted_items_to_hold tags to allow for controlling which items players can give to their Pokémon. If the whitelist is empty, it will consider all item as allowed (unless they are in the blacklist).
* Your preferred camera mode per riding style is saved and restored when you mount/dismount.
* Pokémon now follow the mouse cursor on the Summary screen, with an option to disable this in the settings.
* While many Pokémon can be ridden right now, many more will be added in future updates.
* Added Datapackable Item interactions with Pokemon.
 
* Pokémon's held items can now be rendered, with a visibility toggle in the Summary screen.
===Cooking===
* Added cosmetic item functionality for Pokémon. Certain cosmetic items can be given to applicable Pokémon via the interact menu.
* Added the [[Campfire Pot]] as well as loads of new food items ([[Ponigiri]], [[Sinister Tea]], etc).
** Pots are made from [[apricorn]]s and placed onto campfires.
** The pot can be used to make bait for fishing, Poké Cakes, Poké Snacks, local specialties, and potions (less efficiently than a brewing stand), [[Exp. Candy|Exp. Candies]], and more!
** There is a different pot for each apricorn colour. These devs may have an addiction to apricorn colour varieties.
* Added [[Aprijuice]], made from the Campfire Pot using apricorns with seasoning to give flavours.
** Aprijuice can be fed to ride-able Pokémon to improve their riding characteristics, depending on the flavour and the Pokémon’s nature.
* Added [[Poké Snack]]s, made from the Campfire Pot using honey and berries.
** Poké Snacks can be used to spawn Pokémon in the wild.
** Hidden Abilities can be obtained by using specific berries.
** [[Poké Cake]]s can be made using the same recipe, but with sugar replacing the honey ingredient slots. These are decorative variants that do not spawn Pokémon and can be consumed by the player.
* Added [[Hearty Grains]], a crop that grows in plains and swamps and can be used in cooking.
* Added [[Tasty Tail]], which you can get from Slowpoke… if you have a pair of shears. They don’t mind, we asked.
* Redstone can close and open the lid of a campfire pot.
* Hoppers can be used to insert items into a campfire pot.
** Top=Seasoning row
** Sides=Crafting grid
** Bottom=Extracts the result
* Observers will recognize when a campfire pot is closed or opened.
* Comparator calculates a signal strength depending on the items inside the campfire pot.
 
===Visible Items and Cosmetics===
{{Main|Cosmetics}}
* Pokémon’s held items can now be seen being held by the Pokémon, which can be toggled by clicking the held item slot in the Summary screen. This might be the cutest thing we’ve ever done.
* Pokémon now follow the mouse cursor on the Summary screen. There is an option to disable this in the settings. Why would you disable this?
* Added cosmetic item functionality for Pokémon. Certain cosmetic items can be given to their respective Pokémon via the interact menu. This is in addition to the held item.
** Added the various log blocks as cosmetic items for Timburr and Komala.
** Added the various log blocks as cosmetic items for Timburr and Komala.
* Added visibility/hidden, visibility/hat and visibility/face tags to control where and how certain items are rendered.
** Added cosmetics for Spoink, Gurdurr, Conkeldurr, Squirtle Line, Sneasler, Sandile line, Treecko line, Braixen, Delphox, and Dragonite. I wonder what items each of these Pokémon can be given?
* Added Pokémon markings, toggleable within the summary.
** Added [[Gilded Chest]] cosmetics for Chest Gimmighoul and Gholdengo.
* Added /boxcount command to change PC boxes amount.
 
* Added cosmetics for Gurdurr, Conkeldurr, Squirtle Line, Sneasler, Sandile line, Treecko line, Braixen, Delphox, and Dragonite.
===AI and Behaviours===
* Added /transformmodelpart (position|rotation|scale) <modelPart> <transform: x y z> command that can add transformations to a pokemon's model part.
* Pokémon can now spawn and move in herds.
** The player executing the command must be facing the target pokemon entity. Transformations are not persistent and will revert when resources are reloaded.
* Rebuilt Pokémon AI to use Minecraft’s Brain system, allowing for more complex behaviours and interactions.
* Added lang keys for all moves and abilities up to Generation 9.
** Pastured Pokémon will now sleep when appropriate, and may come up to you when they see you.
* Added translucent_cull boolean option into resolver's layer to allow for translucent textures with culling.
** Dog Pokémon (Growlithe, Arcanine, etc.) intimidate Skeletons.
* Added LambDynamicLights support for items held by Pokémon, [[Evolution Stone Block|evolution stone blocks]], [[Evolution Stone|evolution stone items]], [[Pokédex]], [[Luminous Moss]], [[Flame Orb]], and [[Magmarizer]].
** Cat Pokémon (Meowth, Persian, etc.) intimidate Creepers and Phantoms.
* Added the [[Clear Amulet]], [[Grip Claw]], [[Lagging Tail]], [[Luminous Moss]], [[Metal Alloy]], [[Scroll of Darkness]] and [[Scroll of Waters]].
** Sleep-related Pokémon (Munsharna, Komala, etc.) intimidate Phantoms.
* Added Recipes for [[Masterpiece Cup]] and [[Eject Pack]].
** Some Pokémon naturally hunt each other.
* Added modification to Minecraft Creative Inventory search to account for item names that contain "poké" when input contains "poke".
** Some Pokémon herd together.
* Added [[Campfire Pot]] as well as loads of new food items ([[Poke Puffs]], [[Ponigiri]], [[Sinister Tea]], etc).
** Some of your Pokémon will defend you.
** Combees are now capable of gathering nectar from flowers and delivering it to either Saccharine leaves or beehives (beehive interactions are restricted to wild Combees).
** Probably also added a lot of bugs.
** Pastured Pokémon can be set to attack hostile mobs they see using the [[Pasture Block]] GUI.
* Some Pokémon now pitch their bodies in the direction they’re moving, so fish swimming looks really cool.
* Added a Behaviour Editor screen to the NPC editing GUI.
* Added <code>/behaviouredit</code> for opening the Behaviour Editor on Pokémon and NPCs.
** Editing variables for Pokémon is not yet supported.
* Lightning is now affected by a Pokémon’s ability/typing.
** Pokémon with the ability Lightning Rod draw in lightning similar to a lightning rod block.
*** This has a lower priority and range than lightning rod blocks.
*** Struck Pokémon gain an immunity to lightning damage, and receive a temporary damage buff.
** Pokémon with the ability Motor Drive are immune to lightning damage and receive a temporary speed buff when struck by lightning.
** Pokémon with the ability Volt Absorb are immune to lightning damage and receive Instant Health for a short duration.
** Ground type Pokémon are immune to lightning damage.
 
===PC Improvements===
{{Main|PC}}
* Added the ability to rename PC Boxes by clicking on the name of a box.
* Added box options buttons for PC boxes, toggleable by clicking the right icon button in the bottom bar.
** The option buttons on the left side allow for sorting the box by name, level, Pokédex number, gender, and type. Shift clicking allows for sorting in reverse order.
** The button on the right allows for changing the box wallpaper.
** 10 additional color-based wallpapers have been added.
*** 5 unlockable biome-based wallpapers have been added, which can be unlocked by visiting:
**** Forest biomes
**** Ocean biomes
**** Cave Biomes
**** The End
**** The Nether
** You can very easily add your own wallpapers, including with custom unlock conditions, using resource and datapacks!
* Added filter functionality in PC UI, which supports <code>PokemonProperties</code> (e.g. <code>shiny=yes</code> shows all shiny Pokémon).
** Names can be filtered by exact or partial matches, e.g. entering “cha” will show Charmander, Charmeleon, etc.
* Added <code>/changewallpaper &lt;player&gt; &lt;boxNumber&gt; &lt;wallpaper&gt;</code> command to change a box wallpaper through commands.
* Added <code>/renamebox &lt;player&gt; &lt;boxNumber&gt; &lt;name&gt;</code> command to rename a PC box through commands.
* Added <code>/pcsearch &lt;player&gt; &lt;pokemonProperties&gt;</code> command that searches for a specific Pokémon within a player’s PC.
* Added <code>/pctake &lt;player&gt; &lt;box&gt; &lt;slot&gt;</code> command that takes a specific Pokémon from a player’s PC. The Pokémon is deleted if the target is self or is run from the server.
* Added IVs and EVs stat displays in PC.
** The displays can be cycled through by scrolling when the display is hovered over.
* Added ability to cycle through boxes by scrolling the mouse wheel when the box is hovered over.
* The PC will now open to the last box viewed within a session.
 
===Marks===
{{Main|Marks}}
* Added data for all marks and ribbons from the mainline Pokémon games.
* Implemented fishing, personality, weather, and time related marks, which can (rarely) be granted to a wild-spawned Pokémon.
* Added <code>/givemark &lt;player&gt; &lt;slot&gt; &lt;mark&gt;</code> command to give a mark to a party Pokémon.
* Added <code>/takemark &lt;player&gt; &lt;slot&gt; &lt;mark&gt;</code> command to remove a mark from a party Pokémon.
* Added <code>/giveallmarks &lt;player&gt; &lt;slot&gt;</code> command to give all available marks to a Pokémon.
 
<span id="other-additions"></span>
===Other Additions===
 
* Added Pokémon [https://bulbapedia.bulbagarden.net/wiki/Marking markings], toggleable within the summary menu.
* Added an in-game configuration screen, allowing all settings from <code>main.json</code> to be edited directly in-game.
* Added level-up animations to the party overlay to replace the archaic and out of style chat messages.
* Added [https://modrinth.com/mod/lambdynamiclights LambDynamicLights] support for items held by Pokémon, [[Evolution Stone Block|evolution stone block]]s, [[Evolution Stone|evolution stone]] items, [[Pokédex]], [[Luminous Moss]], [[Flame Orb]], and [[Magmarizer]].
* Added the [[Clear Amulet]], [[Grip Claw]], [[Lagging Tail]], [[Luminous Moss]], [[Metal Alloy]], [[Scroll of Darkness]], [[Scroll of Waters]].
* Added [[Hearty Grains]], a new crop used in the new cooking mechanic.
* Added [[Hearty Grains]], a new crop used in the new cooking mechanic.
* Added [[Tatami Block Set|Tatami blocks]] and [[Tatami Block Set|Tatami Mat blocks]], made from Hearty Grain, for decorating builds.
* Added [[Tatami Block Set|Tatami block]]s and Tatami Mat blocks, made from Hearty Grain, for decorating builds.
* Added /pcsearch <player> <pokemonProperties> command that searches for a specific Pokémon within a player's PC.
* Added the [[Saccharine Tree]], which can be found in the wild and is used to obtain Honey Bottles.
* Added /pctake <player> <box> <slot> command that takes a specific Pokémon from a player's PC. Removes the pokemon if target is self or ran from the server.
** The leaves of the tree can be harvested to obtain honey, which can be used in the Campfire Pot to make Poké Snacks.
* Added [[Hyper Training|Hyper Training items]] (IV Modification) as well as some additional candy items to do so (Health Candy, Sickly Candy).
** The log of the tree can be interacted with using a honey bottle to create a [[Saccharine Wood Set#Honey-Slathered Saccharine Log|Honey-Slathered Saccharine Log]], which increase the chances of spawning a Pokémon with a Hidden Ability.
* Added [[Galarica Nut Bush|Galarica Nut Bushes]].
** Pokémon spawned from this that have a Hidden Ability can be identified because they’re dripping honey onto the ground. Messy eaters.
* Many Pokémon (mostly cats) are now feared by phantoms.
* Added Hyper Training items (IV Modification) as well as some additional candy items to do so ([[Health Candy]], [[Sickly Candy]]). You can cook ’em.
* Added functionality to [[Everstone]] when held by a Pokémon; suppresses evolution notification and hides evolve button in summary interface.
* Added [[Galarica Nut Bush]]es which generate on beaches.
===Pokémon===
* Added a new 69th berry, Eggant. We’re moving on.
'''Generation 2'''
* [[Berry|Berries]] can now be smelted into dyes.
* Smeargle spawns with differing tail colour depending on its [https://bulbapedia.bulbagarden.net/wiki/Characteristic Characteristic] stat.
* Added functionality to the [[Everstone]] when held by a Pokémon; suppresses evolution notification and hides evolve button in summary interface.
* Added crafting recipes for [[Masterpiece Teacup]], [[Eject Pack]].
* Added modification to Minecraft Creative Inventory search to account for item names that contain <code>poké</code> when input contains <code>poke</code>. It’s a small change, but man.
* Mooshtanks will switch between their red and brown variant when struck by lightning.
* Added Statistics for battles won, fled, and total, Pokémon captured (shiny and total), Pokémon released, dex entries added, trades completed, Pokémon levels gained, Pokémon evolved, fossils revived, PokéRod casts and reel-ins and Pokémon times ridden.
* Added new advancements: Didn’t Stop To Think, We Need To Cook, Pokémon Jockey!, Souped-Up Stats, Culinary World Tour, Mochi Mochi!, A Luring Aroma, That’s Bait, Star Pokéathlete, Home on the Range, and Just a Smackerel.
* Added bubble quirk to Kingler; like Krabby, Kingler will blows bubbles during dusk.
* Added a new gamerule, <code>healerHealsPC</code>. When set to true, a successful use of a healer will also heal all the Pokémon in that player’s PC.
* Added <code>min_perfect_ivs</code> property to <code>PokemonProperties</code> to specify the minimum number of perfect IVs of the Pokémon.
* Added <code>scale_modifier</code> property to <code>PokemonProperties</code> to modify the scale of the Pokémon.
* Added <code>defaultKeyItems</code> config option to specify which key items players always have.
* Added <code>blacklisted_items_to_hold</code> and <code>whitelisted_items_to_hold</code> tags to allow for controlling which items players can give to their Pokémon. If the whitelist is empty, it will consider all item as allowed (unless they are in the blacklist).
* Added <code>/transformmodelpart (position|rotation|scale) &lt;modelPart&gt; &lt;transform: x y z&gt;</code> that can add transformations to a Pokémon’s model part which can be used for good or for comedy.
** The player executing the command must be facing the target Pokémon entity. Transformations are not persistent and will revert when resources are reloaded.
* Added <code>/runmolang &lt;molang&gt; [&lt;npc&gt;|&lt;player&gt;|&lt;pokemon&gt;]</code> that executes a Molang expression with the provided options as environment variables, as well as the entity (as <code>q.entity</code>) that executed the command.
* Added <code>/changejointscale</code> to change the scale of a joint in a model. Unbelievably funny to play around with but exists for testing purposes.
* Added <code>/calculateseatpositions</code> command for approximating hitbox locations for riding configurations. Good for when you’re adding riding to your custom Pokémon!
* Added <code>/npcdelete</code> UUID parameter support and made it usable from console.
* Added <code>/spectatebattle &lt;player&gt;</code> to spectate battles without having to manually walk up to the target.
* Added <code>/cobblemonconfig reload</code> to reload the <code>main.json</code> configuration. '''Note:''' Some settings require a server restart to take effect; use this command cautiously.
* Added <code>/boxcount</code> to change the number of PC boxes a player has.
 
==Pokémon Added==
===Gen 2===
* Marill
* Azumarill
* Hoppip
* Skiploom
* Jumpluff
* Dunsparce
* Dunsparce
'''Generation 3'''
* Togepi
* Togetic
* Unown
* Houndour
* Houndoom
* Ho-Oh
* Lugia
* Alola Bias Pichu (built-in resourcepack)
 
===Gen 3===
* Azurill
* Meditite
* Medicham
* Electrike
* Manectric
* Spoink
* Spoink
* Grumpig
* Grumpig
* Swablu
* Altaria
* Snorunt
* Snorunt
* Glalie
* Glalie
* Shuppet
* Banette
* Latias
* Latios
* Latios
* Latias
 
'''Generation 4'''
===Gen 4===
* Bronzor
* Bronzor
* Bronzong
* Bronzong
* Croagunk
* Croagunk
* Toxicroak
* Toxicroak
* Frosslass
* Froslass
* Glameow
* Glameow
* Purugly
* Purugly
'''Generation 5'''
* Skorupi
* Drapion
* Togekiss
 
===Gen 5===
* Pansage
* Pansage
* Simisage
* Simisage
Line 81: Line 215:
* Duosion
* Duosion
* Reuniclus
* Reuniclus
* Tynamo
* Eelektrik
* Eelektross
* Axew
* Fraxure
* Haxorus
* Mienfoo
* Mienfoo
* Mienshao
* Mienshao
'''Generation 6'''
* Sewaddle
* Swadloon
* Leavanny
* Druddigon
* Minccino
* Cinccino
* Vanillite
* Vanillish
* Vanilluxe
 
===Gen 6===
* Skiddo
* Gogoat
* Espurr
* Meowstic
* Inkay
* Inkay
* Malamar
* Malamar
Line 90: Line 244:
* Noibat
* Noibat
* Noivern
* Noivern
'''Generation 7'''
* Furfrou
** You can change Furfrou’s form by using shears on it while it holds a certain dye in its cosmetic slot.
 
===Gen 7===
* Yungoos
* Gumshoos
* Drampa
* Drampa
'''Generation 8'''
* Alolan Grimer
* Alolan Muk
* Togedemaru
 
===Gen 8===
* Skwovet
* Greedent
* Chewtle
* Drednaw
* Toxel
* Toxtricity
* Morpeko
* Silicobra
* Silicobra
* Sandaconda
* Sandaconda
* Sinistea
* Sinistea
* Polteageist
* Polteageist
'''Generation 9'''
* Galarian Corsola
* Cursola
* Mr. Rime
* Galarian Mr. Mime
* Clobbopus
* Grapploct
* Galarian Weezing
 
===Gen 9===
* Smoliv
* Smoliv
* Dolliv
* Dolliv
Line 108: Line 286:
* Poltchageist
* Poltchageist
* Sinistcha
* Sinistcha
===Animation Updates===
* Capsakid
* Scovillain
* Tadbulb
* Bellibolt
* Toedscool
* Toedscruel
* Rellor
* Rabsca
* Bramblin
* Brambleghast
 
===Animation updates for the following Pokémon===
* Garchomp
* Garchomp
* Tropius
* Tropius
* Nosepass
* Nosepass
* Probopass
* Probopass
* Sneasel
* Weavile
* Sneasler
* Sneasler
* Braixen
* Braixen
Line 127: Line 318:
* Dragonair
* Dragonair
* Dragonite
* Dragonite
===Model Updates===
* G. Corsola
* Cursola
* Dunsparce
* Dudunsparce (both forms)
* Porygon
* Porygon2
* Porygon-Z
* Wattrel
* Kilowattrel
* Golurk
* Spinarak
* Ariados
* Wyrdeer
* Tyrantrum
* Pidove
* Tranquill
* Unfezant
* Beldum
* Metang
* Metagross
* Plusle
* Minun
* Murkrow
* Honchkrow
* Larvesta
* Volcarona
* Dwebble
* Crustle
* Mr. Mime
* Flygon
* Pichu
* Pikachu
* Raichu
* Alolan Raichu
* Espathra
* Abra
* Kadabra
* Alakazam
* Deino
* Zweilous
* Hydreigon
* Slaking
* Klink
* Klang
* Klinklang
* Baltoy
* Claydol
* Mamoswine
* Rufflet
* Braviary
* Girafarig
* Farigiraf
* Rookidee
* Corvisquire
* Corviknight
* Venipede
* Whirlipede
* Scolipede
* Venusaur
* Parasect
* Bastiodon
* Amaura
* Varoom
* Revavroom
* Bouffalant
* Lickilicky
* Blaziken
* Rhyhorn
* Rhydon
* Rhyperior
* Tauros
* Tauros - Paldea Aqua
* Tauros - Paldea Blaze
* Tauros - Paldea Combat
* Dewgong
* Corphish (updated placeholders for crustaceous tripod gait legs)
* Crawdaunt (updated placeholders for crustaceous bipedal legs)
* Dragapult
* Camerupt
* Relicanth
* Heracross
* Salamence
* Staraptor
* Dusknoir
* Arcanine
* Carvanha
* Sharpedo
* Mimikyu
* Dewgong
* Mime Jr.
* Gyarados
* Lapras
 
===Model updates for the following Pokémon===
* Cleffa
* Clefairy
* Clefable
* Gyarados
* Gyarados
* Dragonite
* Dragonite
Line 150: Line 437:
* Probopass
* Probopass
* Kangaskhan
* Kangaskhan
* Scorbunny
* Raboot
* Cinderace
* Cinderace
* Magnemite
* Magnemite
Line 178: Line 467:
* Doublade
* Doublade
* Aegislash
* Aegislash
==Changes==
* Drowzee
* Hypno
* Mudkip
* Marshtomp
* Swampert
* Shelmet
* Escavalier
* Klink
* Klank
* Klinklang
* Spinarak
* Ariados
* Pidove
* Tranquill
* Unfezant
* Sobble
* Drizzile
* Inteleon
* Plusle
* Minun
* Murkrow
* Zorua
* Zoroark
* Mime Jr.
* Mr. Mime
* Pichu
* Pikachu
* Raichu
* Alolan Raichu
* Dusknoir
* Deino
* Zweilous
* Hydreigon
* Dreepy
* Drakloak
* Dragapult
* Mamoswine
* Rookidee
* Corvisquire
* Corviknight
* Venipede
* Whirlipede
* Scolipede
* Farigiraf
* Staryu
* Starmie
* Gimmighoul
* Gholdengo
* Starly
* Staravia
* Staraptor
* Varoom
* Revavroom
* Nickit
* Thievul
* Litwick
* Lampent
* Chandelure
* Rayquaza
* Aerodactyl
* Basculin
* Basculegion
* Shroodle
* Grafaiai
* Steelix
* Dratini
* Dragonair
* Dragonite
* Cutiefly
* Ribombee
 
===Changes===
* Made Blocks of Gold count as Big Nuggets when held by a Pokémon (for Fling functionality).
* Players can now eat [[Sweet Apple|Sweet]] and [[Tart Apple]]s, [[Whipped Dream]]s, and the Alcremie [[Sweet]]s.
* Updated Sweet and Tart Apple sprites.
* Removed Shulker shell Forretress in favour of it being an addon.
* Updated the following recipes: [[Air Balloon]], [[Assault Vest]], [[Binding Band]], [[Black Belt]], [[Blunder Policy]], [[Choice Band]], [[Choice Scarf]], [[Cleanse Tag]], [[Covert Cloak]], [[Destiny Knot]], [[Eject Button]], [[Expert Belt]], [[Focus Band]], [[Focus Sash]], [[Magnet]], [[Metronome]], [[Muscle Band]], [[Power Anklet]], [[Power Band]], [[Power Belt]], [[Power Bracer]], [[Power Lens]], [[Power Weight]], [[Protective Pads]], [[Protein]], [[Punching Glove]], [[Reaper Cloth]], [[Rocky Helmet]], [[Room Service]], [[Sachet]], [[Safety Goggles]], [[Silk Scarf]], [[Spell Tag]], [[Utility Umbrella]], [[Weakness Policy]], [[Zinc]], [[Chipped Pot]], [[Cracked Pot]], [[Unremarkable Teacup]], [[Loaded Dice]], [[Charcoal Stick]], [[Dragon Fang]], [[Miracle Seed]], [[Mystic Water]], [[Never-Melt Ice]], [[Twisted Spoon]], [[Black Glasses]], [[Fairy Feather]], [[Hard Stone]], [[Silver Powder]], and [[Soft Sand]].
* Added alternate ingredient options to the following recipes: [[Cell Battery]], [[Damp Rock]], [[Heat Rock]], [[Icy Rock]], and [[Smooth Rock]].
* Substantially optimized spawning, allowing far higher spawning frequency for the same cost.
* Changed Pokémon caught and seen count to update based on the current Pokédex being looked at.
* Changed Pokémon caught and seen count to update based on the current Pokédex being looked at.
* Renamed chargeGainedPerTick config to secondsToChargeHealingMachine.
* A critical capture with a single shake will always play for successful captures when you’ve already registered the Pokémon as caught in your Pokédex.
* Made Blocks of Gold count as Big Nuggets when held by a Pokémon (for Fling functionality).
* Grouped together some recipes within the Recipe Book. Groups include: the seven basic [[Poké Ball]]s, the seven basic Ancient Poké Balls, Gilded Chests, Pokedexes, and the Weather Rocks.
* Players can now eat [[Sweet Apple|Sweet Apples]], [[Tart Apple|Tart Apples]], [[Whipped Dream|Whipped Dreams]], and the [[Sweets|Alcremie Sweets]].
* Updated Sweet Apple and Tart Apple sprites
* Updated the following recipes: [[Air Balloon]], [[Assault Vest]], [[Binding Band]], [[Black Belt]], [[Blunder Policy]], [[Choice Band]], [[Choice Scarf]], [[Cleanse Tag]], [[Covert Cloak]], [[Destiny Knot]], [[Eject Button]], [[Expert Belt]], [[Focus Band]], [[Focus Sash]], [[Magnet]], [[Metronome]], [[Muscle Band]], [[Power Anklet]], [[Power Band]], [[Power Belt]], [[Power Bracer]], [[Power Lens]], [[Power Weight]], [[Protective Pads]], [[Protein]], [[Punching Glove]], [[Reaper Cloth]], [[Rocky Helmet]], [[Room Service]], [[Sachet]], [[Safety Goggles]], [[Silk Scarf]], [[Spell Tag]], [[Utility Umbrella]], [[Weakness Policy]], [[Zinc]], [[Chipped Pot]], [[Cracked Pot]], [[Unremarkable Teacup]], [[Loaded Dice]], [[Charcoal Stick]], [[Dragon Fang]], [[Miracle Seed]], [[Mystic Water]], [[Never-Melt Ice]], [[Twisted Spoon]], [[Black Glasses]], [[Fairy Feather]], [[Hard Stone]], [[Silver Powder]] and [[Soft Sand]].
* Added alternate ingredient options to the following recipes: [[Cell Battery]], [[Damp Rock]], [[Heat Rock]], [[Icy Rock]] and [[Smooth Rock]].
* Grouped together some recipes within the Recipe Book. Groups include: the seven basic [[Poké Ball|Poké Balls]], the seven basic [[Ancient Poké Ball|Ancient Poké Balls]], [[Gilded Chest|Gilded Chests]], [[Pokédex|Pokedexes]], and the Weather Rocks ([[Damp Rock]], [[Heat Rock]], [[Icy Rock]] and [[Smooth Rock]]).
* Updated some item tags to better integrate behaviours between Cobblemon, Vanilla Minecraft, and other mods.
** Removed Cooked Meat, Raw Meat, Protein Ingredients, and Zinc Ingredients, the first two are now using '''c''' namespace tags, the latter have better integrated use of tags within their recipes which removes need for custom tags.
** Added our seeds tag into '''#c:seeds''', which is now made use of for the [[Miracle Seed]] recipe.
* Added herbs and snowballs to the consumable in PvE and Wild battle tags
* Tweaked the Natural Materials Vanilla file to fit with the changes to tags
* Substantially optimised spawning checks mainly by front-loading biome filtering.
* When using the cobblemon or generation_9 capture calculators a critical capture with a single shake will always play for successful captures when you've already registered the Pokémon as caught in your Pokédex.
* Improved the performance of saving Pokédex and player data.
* Improved the performance of saving Pokédex and player data.
* Pokémon hitbox now scales with entity attribute generic.scale.
* Updated <code>doPokemonSpawning</code> gamerule to support per-dimension configurations.
* Removed Shulker aspect and replaced it with cosmetic_item-shulker_shell.
* The Pokédex now displays a form name of a “normal” Pokémon for when the base form is still a named form.
* [[Pokémon/Unique Forms|Shulker Forretress]] is now a cosmetic rather than a special evo and thus all Shulker Forretress will revert back to normal until a [[minecraftwiki:Shulker Shell|shulker shell]] is put in their cosmetic slot.
* Made lecterns that hold a Pokédex emit light when open.
* Updated doPokemonSpawning gamerule to support per-dimension configurations.
* Added a subtle rotation effect to the Pokédex scanner’s wheel when zooming.
* The Pokédex now displays a form name of a "normal" Pokémon for when the base form is still a named form.
* Improved the zoom functionality of the Pokédex scanner by giving the levels logarithmic scaling. Sounds complicated. Something about logs.
* Improved the zoom functionality of the Pokédex Scanner by giving the levels logarithmic scaling.
* Updated some item tags to better integrate behaviours between Cobblemon, vanilla Minecraft, and other mods:
* Added a subtle rotation effect to the Pokédex Scanner's wheel when zooming.
** Removed Cooked Meat, Raw Meat, Protein Ingredients, and Zinc Ingredient. The first two are now using <code>c</code> namespace tags and the latter have better integrated use of tags within their recipes which removes need for custom tags.
* Improved parity with vanilla mobs' drop behavior; loot and XP drop on death instead of after the entire death sequence finishes.
** Added our seeds tag into <code>#c:seeds</code>, which is now made use of for the Miracle Seed recipe.
* Quirk animations no longer play in the battle GUI since they were pretty distracting.
** Updated the <code>#cobblemon:berries</code> tag to use subtags located in <code>data/cobblemon/tags/item/berries</code>, such as <code>#cobblemon:berries/hp_recovery</code>, for sorting purposes.
* A number of Pokemon that float above the ground visually (Gastly, Klingklang, etc.) are no longer considered to be touching the ground.
** Moved the tag <code>#cobblemon:mutated_berries</code> to <code>#cobblemon:berries/mutation_result</code>
* Added herbs and snowballs to the consumable in PvE and Wild battle tags.
* Tweaked the Natural Materials vanilla file to fit with the changes to tags.
* Pokémon hitbox now scales with entity attribute <code>generic.scale</code>.
* Improved parity with vanilla mobs’ drop behavior; loot and XP drop on death instead of after the entire death sequence finishes.
* Quirk animations no longer play in the battle GUI, since they were pretty distracting.
* A number of Pokémon that float above the ground visually (Gastly, Klingklang, etc.) are no longer considered to be touching the ground and therefore aren’t hurt by ground hazards.
* Changed the recipes for Level, Lure, and Moon Balls to be cleaner.
* Changed the recipes for Level, Lure, and Moon Balls to be cleaner.
* Renamed pokemonId and type to species in relevant Advancement triggers for conformity.
* Renamed <code>pokemonId</code> and <code>type</code> to <code>species</code>, and <code>evolved</code> to <code>has_evolved</code>, in relevant Advancement triggers.
* Added a separate species argument to the pick_starter, pasture_use and resurrect_pokemon Advancement triggers.
* Added a separate <code>species</code> argument to the <code>pick_starter</code>, <code>pasture_use</code> and <code>resurrect_pokemon</code> Advancement triggers.
* Made CobblemonAgingDespawner thresholds configurable via the config file.
* Made despawning behaviour configurable via the config.
* Tweaked Berry flavor data to balance cooking pot mechanics.
* Tweaked Berry flavor data to balance cooking pot mechanics. It’s not using canon values any more!? That’s it, I’m going back to [redacted]!
* Made Red, Yellow, Green, Blue, Pink, Black, and White [[Apricorn Tree|Apricorn Sprout]] and [[Saccharine Sapling]] able to be placed into [[minecraftwiki:Flower Pot|flower pots]].
* Made apricorn sprouts and saccharine saplings able to be placed into flower pots so you can make your cottage cuter.
* Added all Potted Apricorn Sprouts, Potted Saccharine Saplings, and Potted [[Pep-Up Flower|Pep-Up Flowers]] to the #minecraft:flower_pots block tag.
* Added all Potted Apricorn Sprouts, Potted Saccharine Saplings, and Potted [[Pep-Up Flower]]s to the <code>#minecraft:flower_pots</code> block tag.
* Corrected the healing values of the [[Remedy|remedies]] and [[Energy Root|energy root]], and reintroduced the friendship lowering mechanics for them, [[Revival Herb]], and [[Heal Powder]].
* Corrected the healing values of the remedies and energy root, and reintroduced the friendship lowering mechanics for those as well as the [[Revival Herb]] and [[Heal Powder]].
* Updated battle language keys for side effects to use position-specific formats, improving grammatical consistency.
* Improved grammatical consistency in battles by making side effects use position-specific formats for language keys.
* [[Saccharine Leaves]] are now Collectable.
* Saccharine Leaves Age 1 or higher will now show Yellow particles when broken.
* Destroying a [[Saccharine Wood Set#Saccharine Honey Log|Saccharine Honey Log]] will now drop a [[Saccharine Wood Set#Saccharine Log|Saccharine Log]] instead of nothing.
* Reworked some compost chances.
* Reworked some compost chances.
* Updated interaction interface to include 4 more option spaces.
* Removed [[Braised Vivichoke]]. Gone. Reduced to atoms.
* Made [[minecraftwiki:Lectern|lecterns]] that hold a Pokédex emit light.
* [[Vivichoke]]s now always drop one seed when harvested. Converting a fully grown Vivichoke to seeds via crafting now only results in 1 seed to compensate.
* Updated light levels for an active [[PC]], [[Pasture Block]], [[Healing Machine]], and [[Data Monitor]].
* Updated interaction interface to include 4 more option spaces because we’re going to keep adding more interactions.
* [[Vivichoke|Vivichokes]] now always drop one seed when harvested, and converting a fully grown Vivichoke to seeds via crafting results in 1 seed.
* Updated light levels for an active PC, Pasture, [[Healing Machine]], and [[Data Monitor]].
* Healing Machine recipe rebalanced.
* Healing Machine recipe rebalanced to not require a Ghast Tear after extensive lobbying from the Nether Gastly union. The Revive has been replaced with a [[Max Revive]].
* Reorganised the block texture folder to be more organised, in line with the item texture folder.
* Not specifying a dex in <code>/pokedex printcalculations {player} {dex}</code> will now print the National Pokédex statistics instead of showing all Pokédex. <code>/pokedex printcalculations {player} all</code> is how to view all dex statistics in one command.
* Updated Pokémon state icons shown in the party overlay. Those are the icons for whether they’re sent out or on your shoulder. You know the ones.
* Refactored dynamic lights compat to be more future proof. The dynamic light support is only tested with ''LambDynamicLights'', on NeoForged use that mod in combination with ''Sinytra Connector''.
* Renamed Masterful Dedication advancement to This will affect the Whiscash Population.
* Changed icon for the following advancements: New Angles for Angling, Researcher Recruit, Doing my Part, Reapriforestation.
* Disabled advancement Mother Nature’s Bounty from appearing in chat when obtained, now only appears as a toast and in the advancements menu.
* Removed Oki-Doki Vivichokey advancement.
* Shulker Boxes and Traveler’s Backpacks AND Packed Up backpacks can no longer be held by Pokémon. Thanks Monocle ;) You can re-enable this with the Cobblemon Held Containers datapack but don’t do that on a public server.
* [[Moomoo Milk]] now clears Pokémon stat changes when used in battle.
* Updated Evolution Stone Block light levels.
* Added light levels to [[Evolution Stone Ore]]s. These levels are reduced versions of the full blocks light levels.
* Added a steps counter to the summary screen for Pokémon that require walking a certain number of steps to evolve.
* Reordered berries in the creative tab.
* Slots in pastures will now have darker backgrounds and italicized Pokémon names if the Pokémon is not owned by the player.
* The pasture slot will show the name of the Pokémon’s owner when hovered if the Pokémon is not owned by the player.
* Increased the default PC box count from 30 to 40 to accommodate the fact that we have way more Pokémon now. If you’ve changed this config option then you’ll need to edit it again after starting up with 1.7!


==Fixes==
===Fixes===
* Fixed game crashing when removing national pokedex using datapacks.
* Fixed a crash when removing national Pokédex using datapacks.
* Fixed Particles sometimes facing the wrong direction.
* Fixed particles sometimes facing the wrong direction (looking at you, Swords Dance).
* Fixed PCs always opening at box 2 instead of box 1.
* Fixed not being able to do complex item requirements aside from NBT with evolution conditions, requirements, and fossil items.
* Fixed not being able to do complex item requirements aside from just NBT with evolution conditions, requirements and [[Fossil|fossil items]].
* Fixed the usage <code>hiddenability</code> in <code>pokegive</code> and other spawn commands resulting in a forced hidden ability.
* Fixed the usage hiddenability in pokegive or other spawn commands resulting in a forced hidden ability.
* Fixed instantly breaking and replacing a fossil analyzer with any block entity crashing the game in a complete multi-structure.
* Fixed the consumption of friendship berries (or EV berries) not making any noise.
* Fixed players getting disconnected when sidemods update a Pokémon’s Tera Type.
* Fixed instantly breaking and replacing a [[Fossil Analyzer]] with any block entity crashing the game in a complete multi-structure.
* Fixed Fling not using item names for Minecraft held items that substitute Pokémon items.
* Fixed players getting disconnected when sidemods update a Pokémon's teratype.
* Fixed fling not using Item Names for minecraft held items that substitute Pokémon items.
* Fixed evolutions sometimes preventing players from logging in to servers.
* Fixed evolutions sometimes preventing players from logging in to servers.
* Fixed rendering of shoulder-mounted Pokémon desyncing between clients.
* Fixed Roseli berry trees not generating in their preferred biomes.
* Fixed [[Apricorn Wood Set#Apricorn Boat with Chest|Apricorn Boat with Chest]] forgetting their inventories when being unloaded.
* Fixed rendering of shoulder-mounted Pokémon desyncing between different players.
* Fixed moves not updating correctly between form changes resulting in illegal movesets.
* Fixed apricorn chest boats forgetting their inventories when being unloaded.
* Fixed crash sometimes occurring with the "Oritech" mod.
* Fixed moves not updating correctly between form changes resulting in illegal movesets with minimum 2 year jail sentences.
* Fixed occasional crash with the ''Oritech'' mod.
* Fixed crashes due to an incorrect Java version handing out an obscure crash.
* Fixed crashes due to an incorrect Java version handing out an obscure crash.
* Fixed some berries being able to rarely get too many berries and cause a crash.
* Fixed some berry trees being able to get too many berries and cause a crash.
* Fixed status curing berries not playing the berry eating sound, same for healing berries used mid-battle.
* Fixed the consumption of friendship berries (or EV berries) not making any noise.
* Fixed owned Pokémon sometimes being un-interactable after the player relogs fast.
* Fixed status curing berries not playing the berry eating sound, same for healing berries, when used mid-battle.
* Fixed owned Pokémon sometimes being un-interactable after the player relogs quickly.
* Fixed field name in evolution requirements for Spewpa Poké Ball.
* Fixed field name in evolution requirements for Spewpa Poké Ball.
* Fixed LevelUpCriterion logic to correctly check that the Pokémon is a preEvo.
* Fixed <code>LevelUpCriterion</code> logic to correctly check that the Pokémon is a pre-evolution.
* Fixed hide_additional_tooltip vanilla flag not properly hiding tooltips on [[Poké Rod]] and bait items.
* Fixed <code>hide_additional_tooltip</code> vanilla flag not properly hiding tooltips on Poké Rod and bait items
* Removed a number of scenarios in which a Pokémon battle may send out a Pokémon into collision geometry.
* Removed a number of scenarios in which a Pokémon battle may send out a Pokémon into walls.
* Fixed NPCs using Pokémon outside of their pool when a Pokémon name had a typo.
* Fixed NPCs using Pokémon outside their pool when a Pokémon name had a typo.
* Fixed an issue with datapacked species features not being applied properly when relogging.
* Fixed an issue with datapacked species features not being applied properly when relogging.
* Fixed Pokémon marked as silent still playing shiny sounds and effects.
* Fixed Pokémon marked as silent still playing shiny sounds and effects.
* Fixed an issue with newer versions of Fabric API where underground Pokémon were spawning in The End.
* Fixed an issue with newer versions of Fabric API where underground Pokémon were spawning in The End. “Hey wait a minute, where’s the ceiling?”
* Fixed spawning not working well when you're at high points surrounded by lower altitude spawning areas, such as flying.
* Fixed spawning not working well when you’re at high points surrounded by lower altitude spawning areas, such as when you’re flying.
* Fixed some Pokémon having erroneous tutor moves if another move included a valid tutor move as a substring. Whatever that means.
* Fixed certain Pokémon with forms not having appropriate stock Pokédex entries.
* Fixed certain Pokémon with forms not having appropriate stock Pokédex entries.
* Fixed issue with Pokédex Scanner that caused the open/close overlay to have the wrong opacity values.
* Fixed issue with Pokédex scanner that caused the open/close overlay to have the wrong opacity values.
* Fixed [[minecraftwiki:Dragon's Breath|Dragon's Breath]] not being usable on the restoration tank when it should be.
* Fixed dragon’s breath not being usable on the restoration tank when it should be.
* Fixed [[Evolution Stone#Moon Stone|Moon Stones]] not interacting properly with [[minecraftwiki:Dripstone|dripstone blocks]].
* Fixed Moon Stones not interacting properly with dripstone blocks.
* Fixed some effects like particles from fishing rods appearing for players in the same coordinates in another world.
* Fixed some effects like particles from fishing rods appearing for players in the same coordinates in another dimension. Lowkey hilarious.
* Fixed an issue with Sketch where the Pokémon using Sketch would not properly learn moves with special characters in their name (e.g. King's Shield, Baby-Doll Eyes, etc.).
* Fixed an issue with Sketch where the Pokémon using Sketch would not properly learn moves with special characters in their name (e.g. King’s Shield, Baby-Doll Eyes, etc.).
* Fixed wild Pokémon sometimes spawning with incorrect friendship values.
* Fixed wild Pokémon sometimes spawning with incorrect friendship values.
* Fixed typo while saving/loading NPCEntity causes data loss
* Fixed typo while saving/loading NPCEntity causing data loss.
* Fixed an issue where catching a Pokémon while it was leashed to a fence would not update the fence.
* Fixed an issue where catching a Pokémon while it was leashed to a fence would not update the fence.
* Fixed the dimensions spawning condition using the incorrect ResourceLocation, causing it to not function properly.
* Fixed the <code>dimensions</code> spawning condition using the incorrect <code>ResourceLocation</code>, causing it not to function properly.
* Fixed an issue where locator X axis was not aligned with Blockbench.
* Fixed issue where locator X axis was not aligned with Blockbench.
* Fixed an issue where particle effects that play on frame 1 on sendout would never play (Gastly).
* Fixed issue where particle effects that play on frame 1 on sendout would never play (so, Gastly).
* The Wiglett line will now sink in water again.
* Fixed Wiglett line not sinking in water.
* Fixed the Sprigatito line's portraits being zoomed in too far.
* Fixed the Sprigatito line’s portraits being zoomed in too far.
* Fixed Floragato's battle cry animation from breaking.
* Fixed Floragato’s battle cry animation breaking.
* Fixed the block texture name for the Pep-Up Flower being inaccurate.
* Fixed issue where the restoration tank would not accept valid items from a hopper.
* Fixed issue where the Restoration Tank would not accept valid items from a hopper.
* Fixed energy root not being shearable.
* Fixed [[Energy Root]] not being shearable.
* Fixed Pokédex scanner not respecting the “Invert Mouse” option.
* Fixed Energy Root always spreading into more Energy Roots instead of by chance (same as [[Big Root]]).
* Fixed energy root always spreading into more energy roots instead of by chance (same as big root).
* Fixed issue where Pokémon spawned by the "spawnallpokemon" command potentially receiving a raft.
* Fixed issue where Pokémon spawned by the <code>/spawnallpokemon</code> command potentially received a raft.
* Fixed logspam on NeoForge when adorn is not installed.
* Fixed logging spam on NeoForge when Adorn is not installed.
* Fixed Cobblemon crashing if it tries to load a Bedrock model not meant for Cobblemon (example: Qlipoth Awakening).
* Fixed crashing from trying to load a Bedrock format model that was not meant for Cobblemon, such as from ''Qlipoth Awakening''.
* Fixed Berries (and thus [[Mulch|Mulches]]) not being plantable on Farmer's Delight rich soil farmland.
* Fixed berries (and thus mulches) not being plantable on Farmer’s Delight rich soil farmland.
* Fixed wild Pokémon vanishing when third party mods try to tame them the "vanilla" way.
* Fixed wild Pokémon vanishing when third party mods try to tame them the “vanilla” way.
* Fixed Pokémon not being able to path over [[minecraftwiki:Skulk Vein|skulk veins]], [[minecraftwiki:Pressure Plate|pressure plates]], [[minecraftwiki:Fence Gate|fence gates]], [[minecraftwiki:Sign|signs]], [[minecraftwiki:Lantern|lanterns]], [[minecraftwiki:Chain|chains]], and many other short blocks.
* Fixed Pokémon not being able to path over skulk veins, pressure plates, fence gates, signs, lanterns, chains, and many other short blocks.
* Fixed some cases in which Pokémon could not path over fence posts situations.
* Fixed some cases in which Pokémon could not path over fence posts.
* Fixed flyers not being able to do vertical takeoff if surrounded by blocks.
* Fixed flyers not being able to do a vertical take-off if surrounded by blocks.
* Fixed swimming Pokémon attempting to swim up through solid blocks.
* Fixed swimming Pokémon attempting to swim up through solid blocks.
* Fixed Pokémon surface swimming diving downward a block for the duration of the swim.
* Fixed surface swimming Pokémon diving downward a block for the duration of the swim.
* Improved flyers avoiding getting stuck on fence posts.
* Improved flyers getting stuck on fence posts.
* Fixed [[Air Balloon]] battle text not correctly displaying the Pokémon or item name.
* Fixed Air Balloon battle text not correctly displaying the Pokémon or item name.
* Fixed an issue where items retrieved from a [[Display Case]] would disappear if a player's inventory is full.
* Fixed global species features… not working. Broken ever since they were created. Oops.
* Fixed Pokédex Scanner not respecting the "Invert Mouse" option.
* Fixed an issue where items retrieved from a Display Case would disappear if a player’s inventory was full.
* Fixed a crash due to a ConcurrentModificationException that could occur during world generation.
* Fixed recoil eyes on Shellder and Cloyster.
* Fixed Moon Ball moon phase logic to actually work correctly.
* Fixed Shroomish spinning at lightning speed when fainting. No longer allowed to let it rip, it’s just not fair.
* Fixed Quaxly’s animations showing hidden wing sets
* Fixed Pokédex scanner not respecting the “Invert Mouse” option.
* Fixed a crash due to a <code>ConcurrentModificationException</code> that could occur during world generation.
* Fixed Moon Ball moon phase logic not actually working.
* Fixed <code>/pokedex printcalculations</code> to now show the correct percentage completed of the Pokédex.
* Fixed mod incompatibility with the <code>Raised</code> mod.
* Fixed a vulnerability that could cause party and PC rollbacks under specific circumstances.
* Fixed a rare edge case where sorting your PC could be rolled back later.
* Fixed ''BotanyPots'' built-in integration.
* Fixed shading of berries on berry trees.
* Fixed static text cursor for nickname input in summary.
* Fixed Cobblemon brewing recipes placing result into all slots, and not just slots with correct ingredients inside the brewing stand.
* Fixed an issue where hoppers and brewing stands were not recognizing Cobblemon brewing recipes.
* Fixed Pokémon with alternate forms being created with an incorrect ‘forced’ tag on their ability.
* Fixed busted abilities and moves in Pokémon data due to removed datapacks etc. causing storage corruption. It now just rerolls their ability / uses Tackle.
* Fixed singular Pokémon corruption causing entire storage corruption. Storages will now skip corrupted Pokémon and print an error to the console.
* Fixed species additions not being able to properly mark a species as implemented.
* Fixed Pokémon item models not showing a glint when enchanted.
* Fixed the missing Terracotta Sun Stone Ore smelting and blasting recipes.
* Improved experience gain from smelting evolution stone ores to better match other ore types.
* Fixed some specific bag items not being consumed when used in battle.
* The Corphish line will now sink in water.
* Fixed the “use all berry bait” achievement not being progressed.
* Fixed bobber hook and berry sprouts texture sizes causing mipmap issues.
* Fixed Ally Switch not updating party positions.
* Fixed head locator not taking scale into account for positioning.
* Fixed Pokémon step counts not being saved when recalling them to a Pokéball or reentering the world.
* Fixed NPC pokémon not being linked to their NPC, which previously caused NPC pokémon to be catchable.
* Fixed an uncommon error caused by scanning a Pokémon on a player’s shoulder.
* Fixed Alcremie and Eevee clipping into the player head when shoulder mounted.
* Fixed a case where spawning could fail and log warnings when nothing wrong was happening.
* Fixed Pokémon with a moving walk target frequently spinning in place as they re-calculate their path.
* Fixed Whiscash Nero and Wooper Heart being fishable with all rods.
* Fixed the “enabled” property in spawn files not actually being respected. Where do they even find these devs?
* Fixed Terralith’s shrubland not counting as plains for spawning purposes the way it was intended to.
 
===Developer===
<ul>
<li><p>A finished battle now has winners and losers set inside of <code>PokemonBattle</code> instead of them always being empty.</p></li>
<li><p>Dialogues are correctly removed from memory when they are stopped.</p></li>
<li><p>Dialogues with variably-set initial pages now properly start timeout tracking.</p></li>
<li><p>Deprecated <code>EVs#add(Stat, Int)</code> in favour of <code>EVs#add(Stat, Int, EvSource)</code>. You most likely want to use <code>SidemodEvSource</code> but please check other implementations or make your own.</p></li>
<li><p>Removed the <code>NbtItemPredicate</code> class, all the mod usages now use the vanilla item predicate solution. This causes breaking changes on <code>Fossil</code>, <code>HeldItemRequirement</code> and <code>ItemInteractionEvolution</code>.</p></li>
<li><p>Renamed Cobblemon’s creative tabs to start with “Cobblemon:” to distinguish Cobblemon’s tabs from tabs for other mods.</p></li>
<li><p>Various items now have a rarity value.</p></li>
<li><p>Removed all VaryingModelRepository subclasses and collapsed them into the parent class.</p></li>
<li><p>Refactored the following events to <code>.Pre</code> and <code>.Post</code> for consistency:</p>
<ul>
<li><code>PokemonSentEvent</code></li>
<li><code>ExperienceGainedEvent</code></li>
<li><code>BattleStartedEvent</code></li></ul>
</li>
<li><p>Updated <code>PokemonSentEvent</code> parameters to include the position and world of the Pokémon being sent out.</p></li>
<li><p>Updated <code>EvolutionCompleteEvent</code> parameters to include the source Pokémon that evolved.</p></li>
<li><p>Updated <code>HatchEggEvent.Post</code> to include the Pokémon that hatched.</p></li>
<li><p>Reworked observable handling in <code>Pokemon.kt</code> to cut down on RAM usage and clarify the file.</p>
<ul>
<li>Note: This will break mods that used our observable functionality there or in <code>MoveSet</code>, <code>IVs</code>, <code>EVs</code>, or <code>BenchedMoves</code>.</li>
<li>Using <code>Pokemon#onChange()</code> is now the way to mark a Pokémon as needing a save.</li></ul>
</li>
<li><p>Updated <code>NPCEntity</code> beam positioning to properly account for the <code>baseScale</code> property.</p></li>
<li><p>Updated <code>NPCEntity</code> pokeball throw positioning to properly account for the <code>baseScale</code> property.</p></li>
<li><p>Fixed <code>[Pokemon].copyFrom</code> error causing forms, IVs, and EVs to not be applied properly when using <code>[Pokemon].loadFromJSON</code> or <code>[Pokemon].loadFromNBT</code>.</p></li>
<li><p>Added new item class, <code>WearableItem</code>. Instances of this class should have a corresponding 3D model. These models render when the items display context is <code>HEAD</code>.</p></li>
<li><p>Added new <code>LearnsetQuery</code> types:</p>
<ul>
<li><code>LEGAL</code> for moves that are innately compatible and learnable by the Pokémon.</li>
<li><code>LEGACY</code> for moves that were once officially learnable by the Pokémon but aren’t due to GameFreak’s re-balancing.</li>
<li><code>SPECIAL</code> for moves that are not learnable by the Pokémon but may have appeared in a special event or distribution.</li></ul>
</li>
<li><p>Pokémon species and forms can be configured to be immune to fire, lava, and magma blocks.</p></li>
<li><p>The IVs class has now been extended to include Hyper Trained values.</p></li>
<li><p>Added <code>Pokemon#hyperTrainIV()</code> and <code>IVs#setHyperTrainedIV(Stat, Int)</code>.</p></li>
<li><p>Added <code>HyperTrainedIvEvent.Pre</code> and <code>HyperTrainedIvEvent.Post</code>.</p></li>
<li><p>Added <code>Pokemon#validateMoveSet()</code> to validate an existing Pokémon’s moveset, clearing illegal moves.</p></li>
<li><p>Added a <code>hoverText</code> option to <code>PartySelectCallback</code>, to display a tooltip on hovering over a Pokémon in the selection screen.</p></li>
<li><p><code>PokemonEntity</code> instances spawned into the world now appropriately finalize the spawn for mod compatibility.</p></li>
<li><p>Added <code>PokedexManager.obtain</code> as a replacement for <code>.catch</code> which is not a friendly function name in Java.</p></li>
<li><p>Added <code>Pokemon#hyperTrainIV()</code> and <code>IVs#setHyperTrainedIV(Stat, Int)</code>.</p></li>
<li><p><code>ElementalType</code> now implements <code>ShowdownIdentifiable</code> to ensure the communcation with showdown stays consistent (also in regards to TeraTypes).</p></li>
<li><p>Pokémon no longer have a change observable.</p></li>
<li><p>Pokémon can now have a behaviour changing the value of a species feature on lightning hit:</p>
<syntaxhighlight lang="json">{
  "behaviour": {
    "lightningHit": {
      "rotateFeatures": [
        {
          "key": "mooshtank",
          "chain": ["red", "brown"]
        }
      ]
    }
  }
}</syntaxhighlight></li>
<li><p>Removed Npc interface from <code>NPCEntity</code>. The interface is unused and in vanilla is only implemented by <code>VillagerEntity</code> as a means to disable villagers with the <code>spawn-npcs</code> server property.</p></li>
<li><p>Added new <code>Observable#subscribe</code> methods that take Java Consumers to make usage in Java a little cleaner.</p></li>
<li><p>Annotated a bunch of Kotlin methods and fields for cleaner Java names.</p></li>
<li><p>Fixed <code>Species#create</code> using the species name instead of identifier, which had led to certain mismatches generating random pokémon.</p></li>
<li><p>baseScale in NPCs has been removed from classes and presets, and in the entity it is replaced with hitboxScale and renderScale.</p></li>
<li><p>Added <code>EntityCallbacks</code> to <code>NPCEntity</code> and <code>PokemonEntity</code>. You can trigger custom callback types by using <code>[Entity].callbacks.process(...)</code></p></li>
<li><p>Added <code>RenamePCBoxEvent.Pre</code> and <code>RenamePCBoxEvent.Post</code> events to prevent players from renaming a box or changing their input.</p></li>
<li><p>Added <code>ChangePCBoxWallpaperEvent.Pre</code> and <code>ChangePCBoxWallpaperEvent.Post</code> to prevent players from changing wallpapers or changing their selection.</p></li>
<li><p>Added <code>WallpaperCollectionEvent</code> which gets called when clients connect to a server, allowing the server to handle which of the client-found wallpapers it’s allowed to move (collected wallpapers can be removed for example to make it “vanish” client-side).</p></li>
<li><p>Added <code>WallpaperUnlockedEvent</code>.</p></li>
<li><p>Renamed <code>SetPCBoxPokemonPacket</code> and the respective handler to <code>SetPCBoxPacket</code>.</p></li>
<li><p>Spawning Influences now have the context of what the other buckets are when adjusting bucket weights. This will break existing influences that do bucket weight adjustment.</p></li>
<li><p>Renamed heaps of things in the spawning system to make more sense.</p>
<ul>
<li><code>SpawningContext</code> is now <code>SpawnablePosition</code></li>
<li><code>WorldSlice</code> is <code>SpawningZone</code></li>
<li><code>SpawningProspector</code> is now <code>SpawningZoneGenerator</code></li></ul>
</li>
<li><p>Majorly refactored the hierarchy of <code>Spawner</code></p></li>
<li><p>The base Spawner interface provides more functions to allow single-point and area spawning given appropriate inputs.</p></li>
<li><p><code>TickingSpawner</code> is removed in favour of outside code handling ticking logic.</p></li>
<li><p><code>AreaSpawner</code> is removed.</p></li>
<li><p><code>BasicSpawner</code> is the first implementation of <code>Spawner</code> which can be used for any purpose.</p></li>
<li><p><code>PlayerSpawner</code>s are now mixin’d into <code>ServerPlayer</code> and ticked from <code>ServerPlayer#tick</code>.</p></li>
<li><p>A hierarchy diagram can be found at <code>./docs/spawner-hierarchy.png</code> in the mod repository.</p></li>
<li><p>The <code>SpawnerManager</code> class has been removed as its functionality is all now handled elsewhere.</p></li>
<li><p>Renamed things in Spawn Rules to go with the other renames:</p>
<ul>
<li><code>contextSelector</code> is now <code>spawnablePositionSelector</code></li>
<li><code>context</code> is now <code>spawnable_position</code></li></ul>
</li>
<li><p>Added <code>.Pre</code> and <code>.Post</code> to the following events:</p>
<ul>
<li><code>PokemonRecallEvent</code></li>
<li><code>TradeEvent</code></li>
<li><code>EvGainedEvent</code></li></ul>
</li></ul>
 
===Molang &amp; Datapacks===
* Added Datapackable Item interactions with Pokémon.
* Added <code>visibility/hidden</code>, <code>visibility/hat</code> and <code>visibility/face</code> tags to control where and how certain items are held on a Pokémon.
* The following usages for item predicates can now use item conditions like advancements do, you can learn about them in the [https://minecraft.wiki/w/Advancement_definition#minecraft:filled_bucket Minecraft wiki].
** The <code>requiredContext</code> for an item interaction evolution
** The <code>itemCondition</code> for a held item evolution requirement
** The <code>fossils</code> for a fossil entry
* Added <code>interpolate</code> boolean property to animated textures to allow gradual colour changes between frames.
* Added support for action effects that are triggered by <code>|-activate|</code> Showdown instructions. <code>activate_{effect_id}</code> is the syntax.
* Fixed location spawn filter components causing crashes.
* Fixed a crash that would occur during battles if the opponent wild Pokémon species comes from a namespace other than cobblemon.
* Fixed species additions not being capable of changing implemented status.
* Added <code>transformedParts</code> to the root of poser JSONs so it now exists in both poses and the model overall.
* Added advancement trigger to check riding stat boosts.
* Fixed <code>heldItem</code> property inside spawn files not working and causing crashes.
* Fixed <code>spawn_bedrock_particles</code> Molang function causing crashes when used in a server environment.
* Added <code>translucent_cull</code> boolean option into resolver’s layer to allow for translucent textures with culling.
* The following move sources are now valid for the <code>moves</code> array in species data:
** <code>legacy:{move}</code>
** <code>special:{move}</code>
* The Pokédex form lang key definition now follows <code>cobblemon.ui.pokedex.info.form.{species}-{formname}</code> instead of <code>cobblemon.ui.pokedex.info.form.{formname}</code>.
* Added an optional parameter for <code>run_molang</code> to schedule the function.
* Added datapack-defined starter categories via <code>data/&lt;namespace&gt;/starters/*.json</code>, with built-in fallback and <code>useConfigStarters</code> merge option.
* The format of the <code>remedies.json</code> file has changed to allow for individual <code>friendshipDrop</code> amounts per remedy.
* Added <code>prepare_{effect}</code> and <code>damage_{effect}</code> action effect hooks in battles for more battle particle effects.
* Fixed <code>q.entity.find_nearby_block</code> causing crashes when attempting to use a block tag.
* Spawn Filters can now access <code>v.spawn.class</code> to get the identifier of an NPC class for when trying to influence NPC spawns.
* Callbacks now have <code>q.</code> for any context properties in addition to the <code>c.</code> properties, making it a bit more convenient when calling other scripts from Callbacks.
* Added entity (as <code>q.entity</code>) that executed the command to the <code>/executemolangscript</code> command.
* Molang triggered battles may now set the battle format, whether to clone the player’s party, set level, or heal prior.
* Fixed <code>clientActions</code> inside Dialogue pages being executed twice.
* Fixed <code>background</code> field and added <code>textColor</code> field for dialogues.
* Added support to reload some data registries using <code>/reload</code>:
** Molang scripts
** Callbacks
** Spawn Detail Presets
** Spawn Pools
** Spawn Rules
** Cosmetic Items
** Dialogues
** Fossils
** Natural Materials
** Action Effects
** Mechanics
** Unlockable Wallpapers
** Starter Data
* Fixed <code>cobblemon:reel_in_pokemon</code> criteria not working when used together with a <code>baitId</code>.
** Also changed the default from <code>cobblemon:empty_bait</code> to <code>any</code>.
** The previous default is still available by using the above as <code>baitId</code>.
* Added support for species-specific move action effects, using the format <code>{move_id}_{species}.json</code>.
* Added <code>look_at_entity_types</code> variable for look_at_entities to specify what entity type or entity tag to look at.
* Added various functions to <code>q.file</code> for JSON file handling in Molang, strictly for <code>./config</code> and <code>./data</code> folders that have <code>/molang/</code> in the path:
** <code>q.file.save(&lt;path&gt;, &lt;struct&gt;)</code> Saves to the given file path with the given variable struct.
** <code>q.file.load(&lt;path&gt;)</code> Loads a variable struct from the given path, or gets it from the cache if it’s already been loaded.
** <code>q.file.exists(&lt;path&gt;)</code> Returns 1 if the given file path exists.
** <code>q.file.clear(&lt;path&gt;)</code> Clears the given file from the cache.
* Using <code>q.run_script</code> will now allow additional arguments which will be put into <code>c.arg_1</code>, <code>c.arg_2</code>, etc.
* Added a <code>behaviours</code> datapack folder which motivates the Behaviour Editor screen on NPCs and Pokémon.
* Added very many behaviours to choose from.
* Removed many NPC presets that now exist as behaviours. This is a breaking change if you are using NPCs with these presets.
** NPCs with these presets should be modified to instead list under <code>&quot;behaviours&quot;</code> all the equivalent behaviours.
* Added “callback” support on <code>PokemonEntity</code> and <code>NPCEntity</code> that allows Molang scripts to be executed in response to certain scenarios.
* Renamed the fishing_baits datapack folder to spawn_bait_effects.
* Added <code>seasonings</code> datapack folder for controlling usable items in the campfire pot and what colour and flavour they apply.
* Added campfire pot recipe type.
* Added <code>marks</code> datapack folder.
* Added <code>unlockable_pc_box_wallpapers</code> datapack folder for wallpapers that need to be unlocked before they’re usable.
* Wallpapers are loaded from <code>assets/&lt;namespace&gt;/textures/gui/pc/wallpaper/</code> and all wallpapers in this folder are available to the client to choose by default.
* Added support for NPCs to use Pokémon models and vice versa. This will require changes in addons that add fossil types due to naming conflicts between fossils and the Pokémon species.
* Added optional <code>filePath</code> parameter to <code>data</code> and <code>save_data</code> Molang functions to allow for global stores (ex. <code>../global/</code>). Path must end in a forward slash.
* Added many new Molang functions to <code>pokemon</code>, <code>entity</code>, and <code>player</code> structs.
* Added Molang function <code>q.delete_variable(&lt;struct&gt;, &lt;variable_name&gt;)</code> to delete a value from a variable structure in Molang data.
* Added Molang function <code>q.delete_variables(&lt;struct&gt;)</code> to delete all values from a variable structure in Molang data.
* Renamed Molang Flows to Molang Callbacks because that’s less esoteric.
* Adds Molang Callbacks for the following events:
** <code>poke_ball_capture_calculated</code>
** <code>evolution_tested</code>
** <code>evolution_accepted</code>
** <code>evolution_completed</code>
** <code>pokemon_healed</code>
** <code>pokemon_scanned</code>
** <code>berry_harvest</code>
** <code>loot_dropped</code>
** <code>pokemon_seen</code>
** <code>collect_egg</code>
** <code>hatch_egg</code>
** <code>experience_gained_pre</code>
** <code>experience_gained_post</code>
** <code>pokemon_catch_rate</code>
** <code>bait_set</code>
** <code>bait_set_pre</code>
** <code>bait_consumed</code>
** <code>pokerod_cast_pre</code>
** <code>pokerod_cast_post</code>
** <code>pokerod_reel</code>
** <code>bobber_spawn_pokemon_pre</code>
** <code>pokemon_aspects_changed</code>
** <code>friendship_updated</code>
** <code>change_pc_box_wallpaper_event_pre</code>
** <code>change_pc_box_wallpaper_event_post</code>
** <code>fullness_updated</code>
** <code>server_stopping</code>
** <code>starter_chosen</code>
** <code>ev_gained</code>
** <code>pokemon_released</code>
** <code>pokemon_nicknamed</code>
** <code>held_item_pre</code>
** <code>held_item_post</code>
** <code>shoulder_mounted</code>
** <code>trade_completed</code>
** <code>bobber_spawn_pokemon_post</code>
** <code>pokemon_entity_spawn</code>
** <code>fossil_revived</code>
** <code>player_tick_pre</code>
** <code>player_tick_post</code>
** <code>advancement_earned</code>
** <code>right_clicked_entity</code>
** <code>right_clicked_block</code>
** <code>player_died</code>
** <code>wallpaper_unlocked</code>
* Added <code>q.has_argument(&lt;argument_name&gt;, [argument_value])</code> Molang function to several battle-related action effect contexts.
* Added <code>q.has_argument_at(&lt;index&gt;, [argument_value])</code> Molang function to several battle-related action effect contexts.
* Added <code>q.hit_count</code> Molang function to move action effect contexts.
* Added <code>is_included</code>, <code>to_lower</code>, <code>to_upper</code>, and <code>string_length</code> as available Molang functions.
* Added <code>q.split_string(&lt;text&gt;, &lt;delimiter/comma&gt;)</code> Outputs an array with the divided text.
 
===Particles===
Added new/updated particles for the following moves: - Absorb - Acid - Acid Spray - Aerial Ace - Amnesia - Aurora Beam - Bite - Body Slam - Bubble - Bubble Beam - Bulldoze - Bullet Punch - Close Combat - Confusion - Crunch - Cotton Guard - Double Team - Dragon Claw - Egg Bomb - Ember - Eruption - Explosion - Fire Blast - Fire Punch - Fire Spin - Flame Burst - Flame Charge - Flamethrower - Flame Wheel - Frost Breath - Frustration - Giga Drain - Growl - Haze - Hidden Power - Horn Attack - Hyper Fang - Hypnosis - Ice Beam - Ice Punch - Ice Shard - Icy Wind - Infestation - Kinesis - Lava Plume - Leech Life - Leech Seed - Leer - Lick - Magical Leaf - Mega Drain - Minimize - Mist - Mud Bomb - MudSport - Mystical Fire - Nasty Plot - Poison Fang - Poison Gas - Poison Powder - Population Bomb - Pound - Powder - Powder Snow - Present - Protect - Psybeam - Psychic - Pursuit - Quick Attack - Rage Powder - Razor Leaf - Return - Rock Throw - Sand Attack - Scary Face - Scratch - Seed Bomb - Seismic Toss - Self Destruct - Shadow Ball - Shadow Claw - Sing - Sleep Powder - Sludge Bomb - Smokescreen - Spike - Spore - Stomp - String Shot - Stun Spore - Super Fang - Swords Dance - Tackle - Tail Whip - Thunder - Thunder Punch - Thunderbolt - Thunder Shock - Thunder Wave - Toxic - Water Gun - Water Pulse - Water Sport - Will-O-Wisp - Withdraw
 
===Localization===
* Updated translations for:
** German, Spanish, Mexican Spanish, French, Canadian French, Japanese, Korean, Portuguese, Brazilian Portuguese, Ukrainian, Russian, Thai, Vietnamese, Simplified Chinese, Traditional Chinese
* We’ve had many new translators join to help us out, so a heartfelt thank you to both our existing translators and all the new translators that have worked so hard to bring the mod to more of the world! &lt;3
 
==References==
==References==
{{reflist}}
{{reflist}}

Latest revision as of 23:22, 29 November 2025

1.7.0
1.7.0 Set Course Logo.png
"Set Course!"
Release date 22 November, 2025
Fabric Modrinth
Curseforge
NeoForge Modrinth
Curseforge
Previous
1.6.1
Next
1.7.1


1.7.0, named the Set Course! Update is a major update to Cobblemon released on November 22nd. 2025. It adds a variety of new features, with the main highlights being mounts and cooking mechanics.

Additions

Riding

  • Added the ability to ride Pokémon by shift-right clicking and selecting the ride option. We are now a riding mod :D
    • If you get motion sickness, go to the configuration and “Disable Roll”!
  • Your preferred camera mode per riding style is saved and restored when you mount/dismount.
  • While many Pokémon can be ridden right now, many more will be added in future updates.

Cooking

  • Added the Campfire Pot as well as loads of new food items (Ponigiri, Sinister Tea, etc).
    • Pots are made from apricorns and placed onto campfires.
    • The pot can be used to make bait for fishing, Poké Cakes, Poké Snacks, local specialties, and potions (less efficiently than a brewing stand), Exp. Candies, and more!
    • There is a different pot for each apricorn colour. These devs may have an addiction to apricorn colour varieties.
  • Added Aprijuice, made from the Campfire Pot using apricorns with seasoning to give flavours.
    • Aprijuice can be fed to ride-able Pokémon to improve their riding characteristics, depending on the flavour and the Pokémon’s nature.
  • Added Poké Snacks, made from the Campfire Pot using honey and berries.
    • Poké Snacks can be used to spawn Pokémon in the wild.
    • Hidden Abilities can be obtained by using specific berries.
    • Poké Cakes can be made using the same recipe, but with sugar replacing the honey ingredient slots. These are decorative variants that do not spawn Pokémon and can be consumed by the player.
  • Added Hearty Grains, a crop that grows in plains and swamps and can be used in cooking.
  • Added Tasty Tail, which you can get from Slowpoke… if you have a pair of shears. They don’t mind, we asked.
  • Redstone can close and open the lid of a campfire pot.
  • Hoppers can be used to insert items into a campfire pot.
    • Top=Seasoning row
    • Sides=Crafting grid
    • Bottom=Extracts the result
  • Observers will recognize when a campfire pot is closed or opened.
  • Comparator calculates a signal strength depending on the items inside the campfire pot.

Visible Items and Cosmetics

Main page: Cosmetics
  • Pokémon’s held items can now be seen being held by the Pokémon, which can be toggled by clicking the held item slot in the Summary screen. This might be the cutest thing we’ve ever done.
  • Pokémon now follow the mouse cursor on the Summary screen. There is an option to disable this in the settings. Why would you disable this?
  • Added cosmetic item functionality for Pokémon. Certain cosmetic items can be given to their respective Pokémon via the interact menu. This is in addition to the held item.
    • Added the various log blocks as cosmetic items for Timburr and Komala.
    • Added cosmetics for Spoink, Gurdurr, Conkeldurr, Squirtle Line, Sneasler, Sandile line, Treecko line, Braixen, Delphox, and Dragonite. I wonder what items each of these Pokémon can be given?
    • Added Gilded Chest cosmetics for Chest Gimmighoul and Gholdengo.

AI and Behaviours

  • Pokémon can now spawn and move in herds.
  • Rebuilt Pokémon AI to use Minecraft’s Brain system, allowing for more complex behaviours and interactions.
    • Pastured Pokémon will now sleep when appropriate, and may come up to you when they see you.
    • Dog Pokémon (Growlithe, Arcanine, etc.) intimidate Skeletons.
    • Cat Pokémon (Meowth, Persian, etc.) intimidate Creepers and Phantoms.
    • Sleep-related Pokémon (Munsharna, Komala, etc.) intimidate Phantoms.
    • Some Pokémon naturally hunt each other.
    • Some Pokémon herd together.
    • Some of your Pokémon will defend you.
    • Combees are now capable of gathering nectar from flowers and delivering it to either Saccharine leaves or beehives (beehive interactions are restricted to wild Combees).
    • Probably also added a lot of bugs.
    • Pastured Pokémon can be set to attack hostile mobs they see using the Pasture Block GUI.
  • Some Pokémon now pitch their bodies in the direction they’re moving, so fish swimming looks really cool.
  • Added a Behaviour Editor screen to the NPC editing GUI.
  • Added /behaviouredit for opening the Behaviour Editor on Pokémon and NPCs.
    • Editing variables for Pokémon is not yet supported.
  • Lightning is now affected by a Pokémon’s ability/typing.
    • Pokémon with the ability Lightning Rod draw in lightning similar to a lightning rod block.
      • This has a lower priority and range than lightning rod blocks.
      • Struck Pokémon gain an immunity to lightning damage, and receive a temporary damage buff.
    • Pokémon with the ability Motor Drive are immune to lightning damage and receive a temporary speed buff when struck by lightning.
    • Pokémon with the ability Volt Absorb are immune to lightning damage and receive Instant Health for a short duration.
    • Ground type Pokémon are immune to lightning damage.

PC Improvements

Main page: PC
  • Added the ability to rename PC Boxes by clicking on the name of a box.
  • Added box options buttons for PC boxes, toggleable by clicking the right icon button in the bottom bar.
    • The option buttons on the left side allow for sorting the box by name, level, Pokédex number, gender, and type. Shift clicking allows for sorting in reverse order.
    • The button on the right allows for changing the box wallpaper.
    • 10 additional color-based wallpapers have been added.
      • 5 unlockable biome-based wallpapers have been added, which can be unlocked by visiting:
        • Forest biomes
        • Ocean biomes
        • Cave Biomes
        • The End
        • The Nether
    • You can very easily add your own wallpapers, including with custom unlock conditions, using resource and datapacks!
  • Added filter functionality in PC UI, which supports PokemonProperties (e.g. shiny=yes shows all shiny Pokémon).
    • Names can be filtered by exact or partial matches, e.g. entering “cha” will show Charmander, Charmeleon, etc.
  • Added /changewallpaper <player> <boxNumber> <wallpaper> command to change a box wallpaper through commands.
  • Added /renamebox <player> <boxNumber> <name> command to rename a PC box through commands.
  • Added /pcsearch <player> <pokemonProperties> command that searches for a specific Pokémon within a player’s PC.
  • Added /pctake <player> <box> <slot> command that takes a specific Pokémon from a player’s PC. The Pokémon is deleted if the target is self or is run from the server.
  • Added IVs and EVs stat displays in PC.
    • The displays can be cycled through by scrolling when the display is hovered over.
  • Added ability to cycle through boxes by scrolling the mouse wheel when the box is hovered over.
  • The PC will now open to the last box viewed within a session.

Marks

Main page: Marks
  • Added data for all marks and ribbons from the mainline Pokémon games.
  • Implemented fishing, personality, weather, and time related marks, which can (rarely) be granted to a wild-spawned Pokémon.
  • Added /givemark <player> <slot> <mark> command to give a mark to a party Pokémon.
  • Added /takemark <player> <slot> <mark> command to remove a mark from a party Pokémon.
  • Added /giveallmarks <player> <slot> command to give all available marks to a Pokémon.

Other Additions

  • Added Pokémon markings, toggleable within the summary menu.
  • Added an in-game configuration screen, allowing all settings from main.json to be edited directly in-game.
  • Added level-up animations to the party overlay to replace the archaic and out of style chat messages.
  • Added LambDynamicLights support for items held by Pokémon, evolution stone blocks, evolution stone items, Pokédex, Luminous Moss, Flame Orb, and Magmarizer.
  • Added the Clear Amulet, Grip Claw, Lagging Tail, Luminous Moss, Metal Alloy, Scroll of Darkness, Scroll of Waters.
  • Added Hearty Grains, a new crop used in the new cooking mechanic.
  • Added Tatami blocks and Tatami Mat blocks, made from Hearty Grain, for decorating builds.
  • Added the Saccharine Tree, which can be found in the wild and is used to obtain Honey Bottles.
    • The leaves of the tree can be harvested to obtain honey, which can be used in the Campfire Pot to make Poké Snacks.
    • The log of the tree can be interacted with using a honey bottle to create a Honey-Slathered Saccharine Log, which increase the chances of spawning a Pokémon with a Hidden Ability.
    • Pokémon spawned from this that have a Hidden Ability can be identified because they’re dripping honey onto the ground. Messy eaters.
  • Added Hyper Training items (IV Modification) as well as some additional candy items to do so (Health Candy, Sickly Candy). You can cook ’em.
  • Added Galarica Nut Bushes which generate on beaches.
  • Added a new 69th berry, Eggant. We’re moving on.
  • Berries can now be smelted into dyes.
  • Smeargle spawns with differing tail colour depending on its Characteristic stat.
  • Added functionality to the Everstone when held by a Pokémon; suppresses evolution notification and hides evolve button in summary interface.
  • Added crafting recipes for Masterpiece Teacup, Eject Pack.
  • Added modification to Minecraft Creative Inventory search to account for item names that contain poké when input contains poke. It’s a small change, but man.
  • Mooshtanks will switch between their red and brown variant when struck by lightning.
  • Added Statistics for battles won, fled, and total, Pokémon captured (shiny and total), Pokémon released, dex entries added, trades completed, Pokémon levels gained, Pokémon evolved, fossils revived, PokéRod casts and reel-ins and Pokémon times ridden.
  • Added new advancements: Didn’t Stop To Think, We Need To Cook, Pokémon Jockey!, Souped-Up Stats, Culinary World Tour, Mochi Mochi!, A Luring Aroma, That’s Bait, Star Pokéathlete, Home on the Range, and Just a Smackerel.
  • Added bubble quirk to Kingler; like Krabby, Kingler will blows bubbles during dusk.
  • Added a new gamerule, healerHealsPC. When set to true, a successful use of a healer will also heal all the Pokémon in that player’s PC.
  • Added min_perfect_ivs property to PokemonProperties to specify the minimum number of perfect IVs of the Pokémon.
  • Added scale_modifier property to PokemonProperties to modify the scale of the Pokémon.
  • Added defaultKeyItems config option to specify which key items players always have.
  • Added blacklisted_items_to_hold and whitelisted_items_to_hold tags to allow for controlling which items players can give to their Pokémon. If the whitelist is empty, it will consider all item as allowed (unless they are in the blacklist).
  • Added /transformmodelpart (position|rotation|scale) <modelPart> <transform: x y z> that can add transformations to a Pokémon’s model part which can be used for good or for comedy.
    • The player executing the command must be facing the target Pokémon entity. Transformations are not persistent and will revert when resources are reloaded.
  • Added /runmolang <molang> [<npc>|<player>|<pokemon>] that executes a Molang expression with the provided options as environment variables, as well as the entity (as q.entity) that executed the command.
  • Added /changejointscale to change the scale of a joint in a model. Unbelievably funny to play around with but exists for testing purposes.
  • Added /calculateseatpositions command for approximating hitbox locations for riding configurations. Good for when you’re adding riding to your custom Pokémon!
  • Added /npcdelete UUID parameter support and made it usable from console.
  • Added /spectatebattle <player> to spectate battles without having to manually walk up to the target.
  • Added /cobblemonconfig reload to reload the main.json configuration. Note: Some settings require a server restart to take effect; use this command cautiously.
  • Added /boxcount to change the number of PC boxes a player has.

Pokémon Added

Gen 2

  • Marill
  • Azumarill
  • Hoppip
  • Skiploom
  • Jumpluff
  • Dunsparce
  • Togepi
  • Togetic
  • Unown
  • Houndour
  • Houndoom
  • Ho-Oh
  • Lugia
  • Alola Bias Pichu (built-in resourcepack)

Gen 3

  • Azurill
  • Meditite
  • Medicham
  • Electrike
  • Manectric
  • Spoink
  • Grumpig
  • Swablu
  • Altaria
  • Snorunt
  • Glalie
  • Shuppet
  • Banette
  • Latias
  • Latios

Gen 4

  • Bronzor
  • Bronzong
  • Croagunk
  • Toxicroak
  • Froslass
  • Glameow
  • Purugly
  • Skorupi
  • Drapion
  • Togekiss

Gen 5

  • Pansage
  • Simisage
  • Pansear
  • Simisear
  • Panpour
  • Simipour
  • Munna
  • Musharna
  • Blitzle
  • Zebstrika
  • Drilbur
  • Excadrill
  • Trubbish
  • Garbodor
  • Gothita
  • Gothorita
  • Gothitelle
  • Solosis
  • Duosion
  • Reuniclus
  • Tynamo
  • Eelektrik
  • Eelektross
  • Axew
  • Fraxure
  • Haxorus
  • Mienfoo
  • Mienshao
  • Sewaddle
  • Swadloon
  • Leavanny
  • Druddigon
  • Minccino
  • Cinccino
  • Vanillite
  • Vanillish
  • Vanilluxe

Gen 6

  • Skiddo
  • Gogoat
  • Espurr
  • Meowstic
  • Inkay
  • Malamar
  • Hawlucha
  • Dedenne
  • Noibat
  • Noivern
  • Furfrou
    • You can change Furfrou’s form by using shears on it while it holds a certain dye in its cosmetic slot.

Gen 7

  • Yungoos
  • Gumshoos
  • Drampa
  • Alolan Grimer
  • Alolan Muk
  • Togedemaru

Gen 8

  • Skwovet
  • Greedent
  • Chewtle
  • Drednaw
  • Toxel
  • Toxtricity
  • Morpeko
  • Silicobra
  • Sandaconda
  • Sinistea
  • Polteageist
  • Galarian Corsola
  • Cursola
  • Mr. Rime
  • Galarian Mr. Mime
  • Clobbopus
  • Grapploct
  • Galarian Weezing

Gen 9

  • Smoliv
  • Dolliv
  • Arboliva
  • Tarountula
  • Spidops
  • Orthworm
  • Dudunsparce
  • Cyclizar
  • Poltchageist
  • Sinistcha
  • Capsakid
  • Scovillain
  • Tadbulb
  • Bellibolt
  • Toedscool
  • Toedscruel
  • Rellor
  • Rabsca
  • Bramblin
  • Brambleghast

Animation updates for the following Pokémon

  • Garchomp
  • Tropius
  • Nosepass
  • Probopass
  • Sneasel
  • Weavile
  • Sneasler
  • Braixen
  • Delphox
  • Cinderace
  • Kangaskhan
  • Gossifleur
  • Eldegoss
  • Stonjourner
  • Wailmer
  • Lechonk
  • Oinkologne
  • Dratini
  • Dragonair
  • Dragonite
  • G. Corsola
  • Cursola
  • Dunsparce
  • Dudunsparce (both forms)
  • Porygon
  • Porygon2
  • Porygon-Z
  • Wattrel
  • Kilowattrel
  • Golurk
  • Spinarak
  • Ariados
  • Wyrdeer
  • Tyrantrum
  • Pidove
  • Tranquill
  • Unfezant
  • Beldum
  • Metang
  • Metagross
  • Plusle
  • Minun
  • Murkrow
  • Honchkrow
  • Larvesta
  • Volcarona
  • Dwebble
  • Crustle
  • Mr. Mime
  • Flygon
  • Pichu
  • Pikachu
  • Raichu
  • Alolan Raichu
  • Espathra
  • Abra
  • Kadabra
  • Alakazam
  • Deino
  • Zweilous
  • Hydreigon
  • Slaking
  • Klink
  • Klang
  • Klinklang
  • Baltoy
  • Claydol
  • Mamoswine
  • Rufflet
  • Braviary
  • Girafarig
  • Farigiraf
  • Rookidee
  • Corvisquire
  • Corviknight
  • Venipede
  • Whirlipede
  • Scolipede
  • Venusaur
  • Parasect
  • Bastiodon
  • Amaura
  • Varoom
  • Revavroom
  • Bouffalant
  • Lickilicky
  • Blaziken
  • Rhyhorn
  • Rhydon
  • Rhyperior
  • Tauros
  • Tauros - Paldea Aqua
  • Tauros - Paldea Blaze
  • Tauros - Paldea Combat
  • Dewgong
  • Corphish (updated placeholders for crustaceous tripod gait legs)
  • Crawdaunt (updated placeholders for crustaceous bipedal legs)
  • Dragapult
  • Camerupt
  • Relicanth
  • Heracross
  • Salamence
  • Staraptor
  • Dusknoir
  • Arcanine
  • Carvanha
  • Sharpedo
  • Mimikyu
  • Dewgong
  • Mime Jr.
  • Gyarados
  • Lapras

Model updates for the following Pokémon

  • Cleffa
  • Clefairy
  • Clefable
  • Gyarados
  • Dragonite
  • Eevee
  • Vaporeon
  • Jolteon
  • Flareon
  • Espeon
  • Umbreon
  • Leafeon
  • Glaceon
  • Sylveon
  • Treecko
  • Grovyle
  • Sceptile
  • Honchkrow
  • Gible
  • Gabite
  • Garchomp
  • Pidgeot
  • Nosepass
  • Probopass
  • Kangaskhan
  • Scorbunny
  • Raboot
  • Cinderace
  • Magnemite
  • Magneton
  • Magnezone
  • Beldum
  • Metang
  • Metagross
  • Hoothoot
  • Noctowl
  • Teddiursa
  • Ursaring
  • Ursaluna
  • Heatmor
  • Bouffalant
  • Sigilyph
  • Sharpedo
  • Maractus
  • Clodsire
  • Scyther
  • Scizor
  • Cacturne
  • Taillow
  • Swellow
  • Seel
  • Dewgong
  • Honedge
  • Doublade
  • Aegislash
  • Drowzee
  • Hypno
  • Mudkip
  • Marshtomp
  • Swampert
  • Shelmet
  • Escavalier
  • Klink
  • Klank
  • Klinklang
  • Spinarak
  • Ariados
  • Pidove
  • Tranquill
  • Unfezant
  • Sobble
  • Drizzile
  • Inteleon
  • Plusle
  • Minun
  • Murkrow
  • Zorua
  • Zoroark
  • Mime Jr.
  • Mr. Mime
  • Pichu
  • Pikachu
  • Raichu
  • Alolan Raichu
  • Dusknoir
  • Deino
  • Zweilous
  • Hydreigon
  • Dreepy
  • Drakloak
  • Dragapult
  • Mamoswine
  • Rookidee
  • Corvisquire
  • Corviknight
  • Venipede
  • Whirlipede
  • Scolipede
  • Farigiraf
  • Staryu
  • Starmie
  • Gimmighoul
  • Gholdengo
  • Starly
  • Staravia
  • Staraptor
  • Varoom
  • Revavroom
  • Nickit
  • Thievul
  • Litwick
  • Lampent
  • Chandelure
  • Rayquaza
  • Aerodactyl
  • Basculin
  • Basculegion
  • Shroodle
  • Grafaiai
  • Steelix
  • Dratini
  • Dragonair
  • Dragonite
  • Cutiefly
  • Ribombee

Changes

  • Made Blocks of Gold count as Big Nuggets when held by a Pokémon (for Fling functionality).
  • Players can now eat Sweet and Tart Apples, Whipped Dreams, and the Alcremie Sweets.
  • Updated Sweet and Tart Apple sprites.
  • Removed Shulker shell Forretress in favour of it being an addon.
  • Updated the following recipes: Air Balloon, Assault Vest, Binding Band, Black Belt, Blunder Policy, Choice Band, Choice Scarf, Cleanse Tag, Covert Cloak, Destiny Knot, Eject Button, Expert Belt, Focus Band, Focus Sash, Magnet, Metronome, Muscle Band, Power Anklet, Power Band, Power Belt, Power Bracer, Power Lens, Power Weight, Protective Pads, Protein, Punching Glove, Reaper Cloth, Rocky Helmet, Room Service, Sachet, Safety Goggles, Silk Scarf, Spell Tag, Utility Umbrella, Weakness Policy, Zinc, Chipped Pot, Cracked Pot, Unremarkable Teacup, Loaded Dice, Charcoal Stick, Dragon Fang, Miracle Seed, Mystic Water, Never-Melt Ice, Twisted Spoon, Black Glasses, Fairy Feather, Hard Stone, Silver Powder, and Soft Sand.
  • Added alternate ingredient options to the following recipes: Cell Battery, Damp Rock, Heat Rock, Icy Rock, and Smooth Rock.
  • Substantially optimized spawning, allowing far higher spawning frequency for the same cost.
  • Changed Pokémon caught and seen count to update based on the current Pokédex being looked at.
  • A critical capture with a single shake will always play for successful captures when you’ve already registered the Pokémon as caught in your Pokédex.
  • Grouped together some recipes within the Recipe Book. Groups include: the seven basic Poké Balls, the seven basic Ancient Poké Balls, Gilded Chests, Pokedexes, and the Weather Rocks.
  • Improved the performance of saving Pokédex and player data.
  • Updated doPokemonSpawning gamerule to support per-dimension configurations.
  • The Pokédex now displays a form name of a “normal” Pokémon for when the base form is still a named form.
  • Made lecterns that hold a Pokédex emit light when open.
  • Added a subtle rotation effect to the Pokédex scanner’s wheel when zooming.
  • Improved the zoom functionality of the Pokédex scanner by giving the levels logarithmic scaling. Sounds complicated. Something about logs.
  • Updated some item tags to better integrate behaviours between Cobblemon, vanilla Minecraft, and other mods:
    • Removed Cooked Meat, Raw Meat, Protein Ingredients, and Zinc Ingredient. The first two are now using c namespace tags and the latter have better integrated use of tags within their recipes which removes need for custom tags.
    • Added our seeds tag into #c:seeds, which is now made use of for the Miracle Seed recipe.
    • Updated the #cobblemon:berries tag to use subtags located in data/cobblemon/tags/item/berries, such as #cobblemon:berries/hp_recovery, for sorting purposes.
    • Moved the tag #cobblemon:mutated_berries to #cobblemon:berries/mutation_result
  • Added herbs and snowballs to the consumable in PvE and Wild battle tags.
  • Tweaked the Natural Materials vanilla file to fit with the changes to tags.
  • Pokémon hitbox now scales with entity attribute generic.scale.
  • Improved parity with vanilla mobs’ drop behavior; loot and XP drop on death instead of after the entire death sequence finishes.
  • Quirk animations no longer play in the battle GUI, since they were pretty distracting.
  • A number of Pokémon that float above the ground visually (Gastly, Klingklang, etc.) are no longer considered to be touching the ground and therefore aren’t hurt by ground hazards.
  • Changed the recipes for Level, Lure, and Moon Balls to be cleaner.
  • Renamed pokemonId and type to species, and evolved to has_evolved, in relevant Advancement triggers.
  • Added a separate species argument to the pick_starter, pasture_use and resurrect_pokemon Advancement triggers.
  • Made despawning behaviour configurable via the config.
  • Tweaked Berry flavor data to balance cooking pot mechanics. It’s not using canon values any more!? That’s it, I’m going back to [redacted]!
  • Made apricorn sprouts and saccharine saplings able to be placed into flower pots so you can make your cottage cuter.
  • Added all Potted Apricorn Sprouts, Potted Saccharine Saplings, and Potted Pep-Up Flowers to the #minecraft:flower_pots block tag.
  • Corrected the healing values of the remedies and energy root, and reintroduced the friendship lowering mechanics for those as well as the Revival Herb and Heal Powder.
  • Improved grammatical consistency in battles by making side effects use position-specific formats for language keys.
  • Reworked some compost chances.
  • Removed Braised Vivichoke. Gone. Reduced to atoms.
  • Vivichokes now always drop one seed when harvested. Converting a fully grown Vivichoke to seeds via crafting now only results in 1 seed to compensate.
  • Updated interaction interface to include 4 more option spaces because we’re going to keep adding more interactions.
  • Updated light levels for an active PC, Pasture, Healing Machine, and Data Monitor.
  • Healing Machine recipe rebalanced to not require a Ghast Tear after extensive lobbying from the Nether Gastly union. The Revive has been replaced with a Max Revive.
  • Not specifying a dex in /pokedex printcalculations {player} {dex} will now print the National Pokédex statistics instead of showing all Pokédex. /pokedex printcalculations {player} all is how to view all dex statistics in one command.
  • Updated Pokémon state icons shown in the party overlay. Those are the icons for whether they’re sent out or on your shoulder. You know the ones.
  • Refactored dynamic lights compat to be more future proof. The dynamic light support is only tested with LambDynamicLights, on NeoForged use that mod in combination with Sinytra Connector.
  • Renamed Masterful Dedication advancement to This will affect the Whiscash Population.
  • Changed icon for the following advancements: New Angles for Angling, Researcher Recruit, Doing my Part, Reapriforestation.
  • Disabled advancement Mother Nature’s Bounty from appearing in chat when obtained, now only appears as a toast and in the advancements menu.
  • Removed Oki-Doki Vivichokey advancement.
  • Shulker Boxes and Traveler’s Backpacks AND Packed Up backpacks can no longer be held by Pokémon. Thanks Monocle ;) You can re-enable this with the Cobblemon Held Containers datapack but don’t do that on a public server.
  • Moomoo Milk now clears Pokémon stat changes when used in battle.
  • Updated Evolution Stone Block light levels.
  • Added light levels to Evolution Stone Ores. These levels are reduced versions of the full blocks light levels.
  • Added a steps counter to the summary screen for Pokémon that require walking a certain number of steps to evolve.
  • Reordered berries in the creative tab.
  • Slots in pastures will now have darker backgrounds and italicized Pokémon names if the Pokémon is not owned by the player.
  • The pasture slot will show the name of the Pokémon’s owner when hovered if the Pokémon is not owned by the player.
  • Increased the default PC box count from 30 to 40 to accommodate the fact that we have way more Pokémon now. If you’ve changed this config option then you’ll need to edit it again after starting up with 1.7!

Fixes

  • Fixed a crash when removing national Pokédex using datapacks.
  • Fixed particles sometimes facing the wrong direction (looking at you, Swords Dance).
  • Fixed not being able to do complex item requirements aside from NBT with evolution conditions, requirements, and fossil items.
  • Fixed the usage hiddenability in pokegive and other spawn commands resulting in a forced hidden ability.
  • Fixed instantly breaking and replacing a fossil analyzer with any block entity crashing the game in a complete multi-structure.
  • Fixed players getting disconnected when sidemods update a Pokémon’s Tera Type.
  • Fixed Fling not using item names for Minecraft held items that substitute Pokémon items.
  • Fixed evolutions sometimes preventing players from logging in to servers.
  • Fixed Roseli berry trees not generating in their preferred biomes.
  • Fixed rendering of shoulder-mounted Pokémon desyncing between different players.
  • Fixed apricorn chest boats forgetting their inventories when being unloaded.
  • Fixed moves not updating correctly between form changes resulting in illegal movesets with minimum 2 year jail sentences.
  • Fixed occasional crash with the Oritech mod.
  • Fixed crashes due to an incorrect Java version handing out an obscure crash.
  • Fixed some berry trees being able to get too many berries and cause a crash.
  • Fixed the consumption of friendship berries (or EV berries) not making any noise.
  • Fixed status curing berries not playing the berry eating sound, same for healing berries, when used mid-battle.
  • Fixed owned Pokémon sometimes being un-interactable after the player relogs quickly.
  • Fixed field name in evolution requirements for Spewpa Poké Ball.
  • Fixed LevelUpCriterion logic to correctly check that the Pokémon is a pre-evolution.
  • Fixed hide_additional_tooltip vanilla flag not properly hiding tooltips on Poké Rod and bait items
  • Removed a number of scenarios in which a Pokémon battle may send out a Pokémon into walls.
  • Fixed NPCs using Pokémon outside their pool when a Pokémon name had a typo.
  • Fixed an issue with datapacked species features not being applied properly when relogging.
  • Fixed Pokémon marked as silent still playing shiny sounds and effects.
  • Fixed an issue with newer versions of Fabric API where underground Pokémon were spawning in The End. “Hey wait a minute, where’s the ceiling?”
  • Fixed spawning not working well when you’re at high points surrounded by lower altitude spawning areas, such as when you’re flying.
  • Fixed some Pokémon having erroneous tutor moves if another move included a valid tutor move as a substring. Whatever that means.
  • Fixed certain Pokémon with forms not having appropriate stock Pokédex entries.
  • Fixed issue with Pokédex scanner that caused the open/close overlay to have the wrong opacity values.
  • Fixed dragon’s breath not being usable on the restoration tank when it should be.
  • Fixed Moon Stones not interacting properly with dripstone blocks.
  • Fixed some effects like particles from fishing rods appearing for players in the same coordinates in another dimension. Lowkey hilarious.
  • Fixed an issue with Sketch where the Pokémon using Sketch would not properly learn moves with special characters in their name (e.g. King’s Shield, Baby-Doll Eyes, etc.).
  • Fixed wild Pokémon sometimes spawning with incorrect friendship values.
  • Fixed typo while saving/loading NPCEntity causing data loss.
  • Fixed an issue where catching a Pokémon while it was leashed to a fence would not update the fence.
  • Fixed the dimensions spawning condition using the incorrect ResourceLocation, causing it not to function properly.
  • Fixed issue where locator X axis was not aligned with Blockbench.
  • Fixed issue where particle effects that play on frame 1 on sendout would never play (so, Gastly).
  • Fixed Wiglett line not sinking in water.
  • Fixed the Sprigatito line’s portraits being zoomed in too far.
  • Fixed Floragato’s battle cry animation breaking.
  • Fixed issue where the restoration tank would not accept valid items from a hopper.
  • Fixed energy root not being shearable.
  • Fixed Pokédex scanner not respecting the “Invert Mouse” option.
  • Fixed energy root always spreading into more energy roots instead of by chance (same as big root).
  • Fixed issue where Pokémon spawned by the /spawnallpokemon command potentially received a raft.
  • Fixed logging spam on NeoForge when Adorn is not installed.
  • Fixed crashing from trying to load a Bedrock format model that was not meant for Cobblemon, such as from Qlipoth Awakening.
  • Fixed berries (and thus mulches) not being plantable on Farmer’s Delight rich soil farmland.
  • Fixed wild Pokémon vanishing when third party mods try to tame them the “vanilla” way.
  • Fixed Pokémon not being able to path over skulk veins, pressure plates, fence gates, signs, lanterns, chains, and many other short blocks.
  • Fixed some cases in which Pokémon could not path over fence posts.
  • Fixed flyers not being able to do a vertical take-off if surrounded by blocks.
  • Fixed swimming Pokémon attempting to swim up through solid blocks.
  • Fixed surface swimming Pokémon diving downward a block for the duration of the swim.
  • Improved flyers getting stuck on fence posts.
  • Fixed Air Balloon battle text not correctly displaying the Pokémon or item name.
  • Fixed global species features… not working. Broken ever since they were created. Oops.
  • Fixed an issue where items retrieved from a Display Case would disappear if a player’s inventory was full.
  • Fixed recoil eyes on Shellder and Cloyster.
  • Fixed Shroomish spinning at lightning speed when fainting. No longer allowed to let it rip, it’s just not fair.
  • Fixed Quaxly’s animations showing hidden wing sets
  • Fixed Pokédex scanner not respecting the “Invert Mouse” option.
  • Fixed a crash due to a ConcurrentModificationException that could occur during world generation.
  • Fixed Moon Ball moon phase logic not actually working.
  • Fixed /pokedex printcalculations to now show the correct percentage completed of the Pokédex.
  • Fixed mod incompatibility with the Raised mod.
  • Fixed a vulnerability that could cause party and PC rollbacks under specific circumstances.
  • Fixed a rare edge case where sorting your PC could be rolled back later.
  • Fixed BotanyPots built-in integration.
  • Fixed shading of berries on berry trees.
  • Fixed static text cursor for nickname input in summary.
  • Fixed Cobblemon brewing recipes placing result into all slots, and not just slots with correct ingredients inside the brewing stand.
  • Fixed an issue where hoppers and brewing stands were not recognizing Cobblemon brewing recipes.
  • Fixed Pokémon with alternate forms being created with an incorrect ‘forced’ tag on their ability.
  • Fixed busted abilities and moves in Pokémon data due to removed datapacks etc. causing storage corruption. It now just rerolls their ability / uses Tackle.
  • Fixed singular Pokémon corruption causing entire storage corruption. Storages will now skip corrupted Pokémon and print an error to the console.
  • Fixed species additions not being able to properly mark a species as implemented.
  • Fixed Pokémon item models not showing a glint when enchanted.
  • Fixed the missing Terracotta Sun Stone Ore smelting and blasting recipes.
  • Improved experience gain from smelting evolution stone ores to better match other ore types.
  • Fixed some specific bag items not being consumed when used in battle.
  • The Corphish line will now sink in water.
  • Fixed the “use all berry bait” achievement not being progressed.
  • Fixed bobber hook and berry sprouts texture sizes causing mipmap issues.
  • Fixed Ally Switch not updating party positions.
  • Fixed head locator not taking scale into account for positioning.
  • Fixed Pokémon step counts not being saved when recalling them to a Pokéball or reentering the world.
  • Fixed NPC pokémon not being linked to their NPC, which previously caused NPC pokémon to be catchable.
  • Fixed an uncommon error caused by scanning a Pokémon on a player’s shoulder.
  • Fixed Alcremie and Eevee clipping into the player head when shoulder mounted.
  • Fixed a case where spawning could fail and log warnings when nothing wrong was happening.
  • Fixed Pokémon with a moving walk target frequently spinning in place as they re-calculate their path.
  • Fixed Whiscash Nero and Wooper Heart being fishable with all rods.
  • Fixed the “enabled” property in spawn files not actually being respected. Where do they even find these devs?
  • Fixed Terralith’s shrubland not counting as plains for spawning purposes the way it was intended to.

Developer

  • A finished battle now has winners and losers set inside of PokemonBattle instead of them always being empty.

  • Dialogues are correctly removed from memory when they are stopped.

  • Dialogues with variably-set initial pages now properly start timeout tracking.

  • Deprecated EVs#add(Stat, Int) in favour of EVs#add(Stat, Int, EvSource). You most likely want to use SidemodEvSource but please check other implementations or make your own.

  • Removed the NbtItemPredicate class, all the mod usages now use the vanilla item predicate solution. This causes breaking changes on Fossil, HeldItemRequirement and ItemInteractionEvolution.

  • Renamed Cobblemon’s creative tabs to start with “Cobblemon:” to distinguish Cobblemon’s tabs from tabs for other mods.

  • Various items now have a rarity value.

  • Removed all VaryingModelRepository subclasses and collapsed them into the parent class.

  • Refactored the following events to .Pre and .Post for consistency:

    • PokemonSentEvent
    • ExperienceGainedEvent
    • BattleStartedEvent
  • Updated PokemonSentEvent parameters to include the position and world of the Pokémon being sent out.

  • Updated EvolutionCompleteEvent parameters to include the source Pokémon that evolved.

  • Updated HatchEggEvent.Post to include the Pokémon that hatched.

  • Reworked observable handling in Pokemon.kt to cut down on RAM usage and clarify the file.

    • Note: This will break mods that used our observable functionality there or in MoveSet, IVs, EVs, or BenchedMoves.
    • Using Pokemon#onChange() is now the way to mark a Pokémon as needing a save.
  • Updated NPCEntity beam positioning to properly account for the baseScale property.

  • Updated NPCEntity pokeball throw positioning to properly account for the baseScale property.

  • Fixed [Pokemon].copyFrom error causing forms, IVs, and EVs to not be applied properly when using [Pokemon].loadFromJSON or [Pokemon].loadFromNBT.

  • Added new item class, WearableItem. Instances of this class should have a corresponding 3D model. These models render when the items display context is HEAD.

  • Added new LearnsetQuery types:

    • LEGAL for moves that are innately compatible and learnable by the Pokémon.
    • LEGACY for moves that were once officially learnable by the Pokémon but aren’t due to GameFreak’s re-balancing.
    • SPECIAL for moves that are not learnable by the Pokémon but may have appeared in a special event or distribution.
  • Pokémon species and forms can be configured to be immune to fire, lava, and magma blocks.

  • The IVs class has now been extended to include Hyper Trained values.

  • Added Pokemon#hyperTrainIV() and IVs#setHyperTrainedIV(Stat, Int).

  • Added HyperTrainedIvEvent.Pre and HyperTrainedIvEvent.Post.

  • Added Pokemon#validateMoveSet() to validate an existing Pokémon’s moveset, clearing illegal moves.

  • Added a hoverText option to PartySelectCallback, to display a tooltip on hovering over a Pokémon in the selection screen.

  • PokemonEntity instances spawned into the world now appropriately finalize the spawn for mod compatibility.

  • Added PokedexManager.obtain as a replacement for .catch which is not a friendly function name in Java.

  • Added Pokemon#hyperTrainIV() and IVs#setHyperTrainedIV(Stat, Int).

  • ElementalType now implements ShowdownIdentifiable to ensure the communcation with showdown stays consistent (also in regards to TeraTypes).

  • Pokémon no longer have a change observable.

  • Pokémon can now have a behaviour changing the value of a species feature on lightning hit:

    { 
      "behaviour": {
        "lightningHit": {
          "rotateFeatures": [
            {
              "key": "mooshtank",
              "chain": ["red", "brown"]
            }
          ]
        }
      }
    }
    
  • Removed Npc interface from NPCEntity. The interface is unused and in vanilla is only implemented by VillagerEntity as a means to disable villagers with the spawn-npcs server property.

  • Added new Observable#subscribe methods that take Java Consumers to make usage in Java a little cleaner.

  • Annotated a bunch of Kotlin methods and fields for cleaner Java names.

  • Fixed Species#create using the species name instead of identifier, which had led to certain mismatches generating random pokémon.

  • baseScale in NPCs has been removed from classes and presets, and in the entity it is replaced with hitboxScale and renderScale.

  • Added EntityCallbacks to NPCEntity and PokemonEntity. You can trigger custom callback types by using [Entity].callbacks.process(...)

  • Added RenamePCBoxEvent.Pre and RenamePCBoxEvent.Post events to prevent players from renaming a box or changing their input.

  • Added ChangePCBoxWallpaperEvent.Pre and ChangePCBoxWallpaperEvent.Post to prevent players from changing wallpapers or changing their selection.

  • Added WallpaperCollectionEvent which gets called when clients connect to a server, allowing the server to handle which of the client-found wallpapers it’s allowed to move (collected wallpapers can be removed for example to make it “vanish” client-side).

  • Added WallpaperUnlockedEvent.

  • Renamed SetPCBoxPokemonPacket and the respective handler to SetPCBoxPacket.

  • Spawning Influences now have the context of what the other buckets are when adjusting bucket weights. This will break existing influences that do bucket weight adjustment.

  • Renamed heaps of things in the spawning system to make more sense.

    • SpawningContext is now SpawnablePosition
    • WorldSlice is SpawningZone
    • SpawningProspector is now SpawningZoneGenerator
  • Majorly refactored the hierarchy of Spawner

  • The base Spawner interface provides more functions to allow single-point and area spawning given appropriate inputs.

  • TickingSpawner is removed in favour of outside code handling ticking logic.

  • AreaSpawner is removed.

  • BasicSpawner is the first implementation of Spawner which can be used for any purpose.

  • PlayerSpawners are now mixin’d into ServerPlayer and ticked from ServerPlayer#tick.

  • A hierarchy diagram can be found at ./docs/spawner-hierarchy.png in the mod repository.

  • The SpawnerManager class has been removed as its functionality is all now handled elsewhere.

  • Renamed things in Spawn Rules to go with the other renames:

    • contextSelector is now spawnablePositionSelector
    • context is now spawnable_position
  • Added .Pre and .Post to the following events:

    • PokemonRecallEvent
    • TradeEvent
    • EvGainedEvent

Molang & Datapacks

  • Added Datapackable Item interactions with Pokémon.
  • Added visibility/hidden, visibility/hat and visibility/face tags to control where and how certain items are held on a Pokémon.
  • The following usages for item predicates can now use item conditions like advancements do, you can learn about them in the Minecraft wiki.
    • The requiredContext for an item interaction evolution
    • The itemCondition for a held item evolution requirement
    • The fossils for a fossil entry
  • Added interpolate boolean property to animated textures to allow gradual colour changes between frames.
  • Added support for action effects that are triggered by |-activate| Showdown instructions. activate_{effect_id} is the syntax.
  • Fixed location spawn filter components causing crashes.
  • Fixed a crash that would occur during battles if the opponent wild Pokémon species comes from a namespace other than cobblemon.
  • Fixed species additions not being capable of changing implemented status.
  • Added transformedParts to the root of poser JSONs so it now exists in both poses and the model overall.
  • Added advancement trigger to check riding stat boosts.
  • Fixed heldItem property inside spawn files not working and causing crashes.
  • Fixed spawn_bedrock_particles Molang function causing crashes when used in a server environment.
  • Added translucent_cull boolean option into resolver’s layer to allow for translucent textures with culling.
  • The following move sources are now valid for the moves array in species data:
    • legacy:{move}
    • special:{move}
  • The Pokédex form lang key definition now follows cobblemon.ui.pokedex.info.form.{species}-{formname} instead of cobblemon.ui.pokedex.info.form.{formname}.
  • Added an optional parameter for run_molang to schedule the function.
  • Added datapack-defined starter categories via data/<namespace>/starters/*.json, with built-in fallback and useConfigStarters merge option.
  • The format of the remedies.json file has changed to allow for individual friendshipDrop amounts per remedy.
  • Added prepare_{effect} and damage_{effect} action effect hooks in battles for more battle particle effects.
  • Fixed q.entity.find_nearby_block causing crashes when attempting to use a block tag.
  • Spawn Filters can now access v.spawn.class to get the identifier of an NPC class for when trying to influence NPC spawns.
  • Callbacks now have q. for any context properties in addition to the c. properties, making it a bit more convenient when calling other scripts from Callbacks.
  • Added entity (as q.entity) that executed the command to the /executemolangscript command.
  • Molang triggered battles may now set the battle format, whether to clone the player’s party, set level, or heal prior.
  • Fixed clientActions inside Dialogue pages being executed twice.
  • Fixed background field and added textColor field for dialogues.
  • Added support to reload some data registries using /reload:
    • Molang scripts
    • Callbacks
    • Spawn Detail Presets
    • Spawn Pools
    • Spawn Rules
    • Cosmetic Items
    • Dialogues
    • Fossils
    • Natural Materials
    • Action Effects
    • Mechanics
    • Unlockable Wallpapers
    • Starter Data
  • Fixed cobblemon:reel_in_pokemon criteria not working when used together with a baitId.
    • Also changed the default from cobblemon:empty_bait to any.
    • The previous default is still available by using the above as baitId.
  • Added support for species-specific move action effects, using the format {move_id}_{species}.json.
  • Added look_at_entity_types variable for look_at_entities to specify what entity type or entity tag to look at.
  • Added various functions to q.file for JSON file handling in Molang, strictly for ./config and ./data folders that have /molang/ in the path:
    • q.file.save(<path>, <struct>) Saves to the given file path with the given variable struct.
    • q.file.load(<path>) Loads a variable struct from the given path, or gets it from the cache if it’s already been loaded.
    • q.file.exists(<path>) Returns 1 if the given file path exists.
    • q.file.clear(<path>) Clears the given file from the cache.
  • Using q.run_script will now allow additional arguments which will be put into c.arg_1, c.arg_2, etc.
  • Added a behaviours datapack folder which motivates the Behaviour Editor screen on NPCs and Pokémon.
  • Added very many behaviours to choose from.
  • Removed many NPC presets that now exist as behaviours. This is a breaking change if you are using NPCs with these presets.
    • NPCs with these presets should be modified to instead list under "behaviours" all the equivalent behaviours.
  • Added “callback” support on PokemonEntity and NPCEntity that allows Molang scripts to be executed in response to certain scenarios.
  • Renamed the fishing_baits datapack folder to spawn_bait_effects.
  • Added seasonings datapack folder for controlling usable items in the campfire pot and what colour and flavour they apply.
  • Added campfire pot recipe type.
  • Added marks datapack folder.
  • Added unlockable_pc_box_wallpapers datapack folder for wallpapers that need to be unlocked before they’re usable.
  • Wallpapers are loaded from assets/<namespace>/textures/gui/pc/wallpaper/ and all wallpapers in this folder are available to the client to choose by default.
  • Added support for NPCs to use Pokémon models and vice versa. This will require changes in addons that add fossil types due to naming conflicts between fossils and the Pokémon species.
  • Added optional filePath parameter to data and save_data Molang functions to allow for global stores (ex. ../global/). Path must end in a forward slash.
  • Added many new Molang functions to pokemon, entity, and player structs.
  • Added Molang function q.delete_variable(<struct>, <variable_name>) to delete a value from a variable structure in Molang data.
  • Added Molang function q.delete_variables(<struct>) to delete all values from a variable structure in Molang data.
  • Renamed Molang Flows to Molang Callbacks because that’s less esoteric.
  • Adds Molang Callbacks for the following events:
    • poke_ball_capture_calculated
    • evolution_tested
    • evolution_accepted
    • evolution_completed
    • pokemon_healed
    • pokemon_scanned
    • berry_harvest
    • loot_dropped
    • pokemon_seen
    • collect_egg
    • hatch_egg
    • experience_gained_pre
    • experience_gained_post
    • pokemon_catch_rate
    • bait_set
    • bait_set_pre
    • bait_consumed
    • pokerod_cast_pre
    • pokerod_cast_post
    • pokerod_reel
    • bobber_spawn_pokemon_pre
    • pokemon_aspects_changed
    • friendship_updated
    • change_pc_box_wallpaper_event_pre
    • change_pc_box_wallpaper_event_post
    • fullness_updated
    • server_stopping
    • starter_chosen
    • ev_gained
    • pokemon_released
    • pokemon_nicknamed
    • held_item_pre
    • held_item_post
    • shoulder_mounted
    • trade_completed
    • bobber_spawn_pokemon_post
    • pokemon_entity_spawn
    • fossil_revived
    • player_tick_pre
    • player_tick_post
    • advancement_earned
    • right_clicked_entity
    • right_clicked_block
    • player_died
    • wallpaper_unlocked
  • Added q.has_argument(<argument_name>, [argument_value]) Molang function to several battle-related action effect contexts.
  • Added q.has_argument_at(<index>, [argument_value]) Molang function to several battle-related action effect contexts.
  • Added q.hit_count Molang function to move action effect contexts.
  • Added is_included, to_lower, to_upper, and string_length as available Molang functions.
  • Added q.split_string(<text>, <delimiter/comma>) Outputs an array with the divided text.

Particles

Added new/updated particles for the following moves: - Absorb - Acid - Acid Spray - Aerial Ace - Amnesia - Aurora Beam - Bite - Body Slam - Bubble - Bubble Beam - Bulldoze - Bullet Punch - Close Combat - Confusion - Crunch - Cotton Guard - Double Team - Dragon Claw - Egg Bomb - Ember - Eruption - Explosion - Fire Blast - Fire Punch - Fire Spin - Flame Burst - Flame Charge - Flamethrower - Flame Wheel - Frost Breath - Frustration - Giga Drain - Growl - Haze - Hidden Power - Horn Attack - Hyper Fang - Hypnosis - Ice Beam - Ice Punch - Ice Shard - Icy Wind - Infestation - Kinesis - Lava Plume - Leech Life - Leech Seed - Leer - Lick - Magical Leaf - Mega Drain - Minimize - Mist - Mud Bomb - MudSport - Mystical Fire - Nasty Plot - Poison Fang - Poison Gas - Poison Powder - Population Bomb - Pound - Powder - Powder Snow - Present - Protect - Psybeam - Psychic - Pursuit - Quick Attack - Rage Powder - Razor Leaf - Return - Rock Throw - Sand Attack - Scary Face - Scratch - Seed Bomb - Seismic Toss - Self Destruct - Shadow Ball - Shadow Claw - Sing - Sleep Powder - Sludge Bomb - Smokescreen - Spike - Spore - Stomp - String Shot - Stun Spore - Super Fang - Swords Dance - Tackle - Tail Whip - Thunder - Thunder Punch - Thunderbolt - Thunder Shock - Thunder Wave - Toxic - Water Gun - Water Pulse - Water Sport - Will-O-Wisp - Withdraw

Localization

  • Updated translations for:
    • German, Spanish, Mexican Spanish, French, Canadian French, Japanese, Korean, Portuguese, Brazilian Portuguese, Ukrainian, Russian, Thai, Vietnamese, Simplified Chinese, Traditional Chinese
  • We’ve had many new translators join to help us out, so a heartfelt thank you to both our existing translators and all the new translators that have worked so hard to bring the mod to more of the world! <3

References