Compare commits

..
24 Commits
Author SHA1 Message Date
Nico MerenqandWeblate 1fa113f5ac Translated using Weblate (Russian)
Currently translated at 84.8% (8137 of 9587 strings)

Translation: Cobblemon/Mod
Translate-URL: https://lang.cobblemon.com/projects/cobblemon/mod/ru/
2026-10-18 11:56:30 +00:00
Watuneni iteiteandWeblate 8443b88c16 Translated using Weblate (Japanese)
Currently translated at 99.0% (9500 of 9587 strings)

Translation: Cobblemon/Mod
Translate-URL: https://lang.cobblemon.com/projects/cobblemon/mod/ja/
2026-10-16 17:12:33 +00:00
Gustavo PuerariandWeblate b71208299f Translated using Weblate (Portuguese (Brazil))
Currently translated at 96.7% (9276 of 9587 strings)

Translation: Cobblemon/Mod
Translate-URL: https://lang.cobblemon.com/projects/cobblemon/mod/pt_BR/
2026-10-15 18:07:01 +00:00
Watuneni iteiteandWeblate 136b5824b0 Translated using Weblate (Japanese)
Currently translated at 98.7% (9464 of 9587 strings)

Translation: Cobblemon/Mod
Translate-URL: https://lang.cobblemon.com/projects/cobblemon/mod/ja/
2026-10-15 18:06:58 +00:00
Watuneni iteiteandWeblate f9189b265f Translated using Weblate (Japanese)
Currently translated at 98.7% (9464 of 9587 strings)

Translation: Cobblemon/Mod
Translate-URL: https://lang.cobblemon.com/projects/cobblemon/mod/ja/
2026-10-14 15:27:44 +00:00
Watuneni iteiteandWeblate 21c4d0233d Translated using Weblate (Japanese)
Currently translated at 98.7% (9464 of 9587 strings)

Translation: Cobblemon/Mod
Translate-URL: https://lang.cobblemon.com/projects/cobblemon/mod/ja/
2026-10-13 12:09:59 +00:00
Hiroku 2f87d53af6 Merge remote-tracking branch 'origin/lang-updates' 2026-10-13 17:34:12 +10:00
Polymeta 542839ba69 bump neoforge version
Signed-off-by: Polymeta <4726322-polymeta@users.noreply.gitlab.com>
2026-10-12 14:36:24 +01:00
Landon efab1bba08 Merge branch 'fix/custom-choice-feature-tab-completion' into 'main'
fix: choice properties must always tab complete

See merge request cable-mc/cobblemon!2483
2026-10-12 08:42:42 +00:00
Landon 8f986bc326 Merge branch 'fix/molang-fn-changes' into 'main'
fix: behavior of `q.pokemon.nature` and `q.entity.is_looking_at`

Closes #2113

See merge request cable-mc/cobblemon!2482
2026-10-12 08:41:14 +00:00
Polymeta e155d32aaf small pokeball fix
Closes #1601

Signed-off-by: Polymeta <4726322-polymeta@users.noreply.gitlab.com>
2026-10-12 08:54:52 +01:00
Polymeta 743e0b7d66 changelog [skip-ci]
Signed-off-by: Polymeta <4726322-polymeta@users.noreply.gitlab.com>
2026-10-12 07:49:14 +01:00
Polymeta 1518d703f9 Merge branch 'restore-the-menu' into 'main'
Fixed Mixins for Recipe Book causing conflict issues with other mods.

See merge request cable-mc/cobblemon!2484
2026-10-12 06:44:16 +00:00
Gertimoshka af9d851d67 Fixed Mixins being aggresive, causing massive issues with mod compatibility 2026-10-12 00:17:09 +02:00
Polymeta 20ca91f1c9 fix friendship booster item tag location
Closes #2125

Signed-off-by: Polymeta <4726322-polymeta@users.noreply.gitlab.com>
2026-10-11 21:15:53 +01:00
Polymeta 6fb3c0e49a more evo dex fixes and crashes
Signed-off-by: Polymeta <4726322-polymeta@users.noreply.gitlab.com>
2026-10-11 21:12:22 +01:00
Watuneni iteiteandWeblate 5cb4ff5f5f Translated using Weblate (Japanese)
Currently translated at 100.0% (9464 of 9464 strings)

Translation: Cobblemon/Mod
Translate-URL: https://lang.cobblemon.com/projects/cobblemon/mod/ja/
2026-10-11 15:26:12 +00:00
Gitoido d035c08a5c chore: tidy up imports 2026-10-11 13:43:38 +03:00
Gitoido fda7b13f50 fix: choice properties must always tab complete 2026-10-11 13:41:21 +03:00
Gitoido f595724971 fix: q.entity.is_looking_at now returns proper results based on target passed 2026-10-11 10:55:46 +03:00
Gitoido 0511ba147b fix: use serialized name in q.pokemon.nature molang fn 2026-10-11 10:49:23 +03:00
Polymeta 760f48d850 Merge branch 'evo-tree-fumble' into 'main'
Evo tree now throws a warning instead of crashing when failing to build a mon's evo tree

See merge request cable-mc/cobblemon!2481
2026-10-11 06:41:08 +00:00
lionandPolymeta bf296b4921 Evo tree now throws a warning instead of crashing when failing to build a mon's evo tree 2026-10-11 06:41:08 +00:00
Hiroku 49886389cf Fine the snapshot can be true again 2026-10-11 12:57:43 +10:00
20 changed files with 518 additions and 327 deletions
+15 -184
View File
@@ -1,215 +1,46 @@
# Changelog
## [1.8.2 (October 11th, 2026)](#1-8-2)
## [1.8.3 (MONTH xth, 2026)](#1-8-3)
### Additions
- The following items can now be placed on the ground as blocks:
- King's Rock, Galarica Cuff, Unremarkable Teacup, Masterpiece Teacup, Chipped Pot, Cracked Pot, Sachet, Metal Powder, Quick Powder, Bright Powder, Soft Sand, Electirizer, Magmarizer, Icy Rock, Heat Rock, Smooth Rock, Damp Rock, Destiny Knot, Luminous Moss, Never-Melt Ice, Wide Lens, Scope Lens, and Zoom Lens.
- I wasn't finished. Iron Ball, Metal Coat, Throat Spray, Terrain Extender, Medicinal Brew, Moomoo Milk, HP Up, Protein, Iron, Carbos, Calcium, Zinc, PP Up, PP Max, Upgrade, Dubious Disc, and Loaded Dice.
- The following items can now be placed on various surfaces:
- Galarica Wreath, Magnet, Flame Orb, Life Orb, Toxic Orb, Light Ball, and Smoke Ball.
- The following items can now be placed as blocks and have additional functionality:
- Ring Target, Metronome, and Eject Button.
- The following items can now be worn by Players and Pokémon:
- Galarica Wreath, Cleanse Tag, Spell Tag, Sharp Beak, Covert Cloak, Shell Helmet, and Never-Melt Ice.
- Wearable items can now be equipped by a player by holding it and right-clicking (or whatever you've rebound use/interact to).
- Wearable items that can be placed down are exempt from this behaviour.
- Mint Leaves can now be placed on the ground as Leaf Litter, or in Flower Pots.
- The recall animation now renders the ball in hand with the player's arm raised.
- Added Oricorio Flowers.
- Added Terrain Plants, four plants grown from Electric, Grassy, Misty, and Psychic Seeds, which glow under specific environmental conditions and can be farmed for more of their seeds.
- Berries can now be placed in Flower Pots.
- The evolution tree for a Pokémon can now be viewed in the Pokédex, showing the Pokémon's full family line and what's needed to evolve into each stage.
- Added custom sounds to a bunch of items that can be placed as blocks: liquid bottles, pill bottles, powders, and dice.
- Added paper as a new cosmetic item for Pikachu.
- Burmy changes its cloak after a battle it took part in, based on the biome.
- Trash Cloak in the Deep Dark, Nether and End.
- Plant Cloak in lush biomes such as forests, jungles, plains and swamps.
- Sandy Cloak in sandy biomes, beaches and caves.
### Pokémon Added
#### Generation 4
- Snover
- Abomasnow
- Burmy
- Wormadam
- Mothim
#### Generation 5
- Tympole
- Palpitoad
- Seismitoad
#### Generation 6
- Helioptile
- Heliolisk
#### Generation 7
- Grubbin
- Charjabug
- Vikavolt
- Minior
#### Generation 8
- Eternatus
#### Generation 9
- Greavard
- Houndstone
### Model updates for the following Pokémon
- Sudowoodo
- Spheal
- Cacnea
- Cacturne
- Binacle
- Barbaracle
- Glimmet
- Glimmora
- Deerling
- Sawsbuck (All forms)
- Absol
- Poliwag
- Politoed
- Ekans
- Oddish
- Gloom
- Vileplume
- Bellossom
- Shroomish
- Chespin
- Quilladin
- Chesnaught
- Fennekin
- Braixen
- Delphox
- Froakie
- Frogadier
- Greninja
- Shinx
- Luxio
- Luxray
- Slakoth
- Riolu
- Lucario
- Corsola
- Mime Jr.
### Animation updates for the following Pokémon
- Treecko (New Shoulder Mount!)
- Bonsly (New Shoulder Mount!)
- Sudowoodo
- Cacnea
- Cacturne
- Ekans
- Arbok
- Oddish
- Gloom
- Vileplume
- Bellossom
- Pichu
- Pikachu
- Raichu (+ Alolan)
- Greninja
- Slakoth
### Changes
- Slowed the speed of Type Gem growth, and revamped their generation to grow in a more crystal-like shape.
- Terrain Seeds can now be planted.
- Terrain Seeds are now consumed during PvP and NPC battles.
- Glow Item Frames can be crafted using Bright Powder as an alternative to Glow Ink Sacs.
- Bright Powder can be used on Signs and Hanging Signs to make text glow, as an alternative to Glow Ink Sacs.
- Updated various recipes to display in Recipe Groups within the Recipe Book.
- Updated most recipes to display more logically and consistently within the Recipe Book's categories.
- Updated the following recipes
- Never-Melt Ice, Focus Sash, Blunder Policy, Weakness Policy, Blank TM.
- Made ride rotations less jittery in multiplayer.
- Changes Disc Shelf TMs to use textures instead of tinting and overlays to line up with item display.
- Blank TM can now be inserted into the Disc Shelf.
- Added a TM creative tab.
- Made regional and Vivillon split-evo locations mutually exclusive.
- Vivillon's patterns are now viewable as forms with form names and unique Pokédex entries displayed.
- Item evolutions now unlock **all** locked evolutions whose requirements are met instead of stopping after the first.
- Exceptions being "forced" evolutions which stop after the first one.
- Removed Mega Drain as a TM.
- PokeSnacks (and other area spawns) will now start the vertical offset checking from the center rather than base coordinate
- This will help PokeSnacks to work inside caves or tighter spaces better.
### Fixes
- Type Gem blocks now properly generate clusters off of the block.
- Correctly grant "They're Minerals!" advancement when planting a Type Gem.
- Shoulder mounted Pokémon now follow player body animations, improving their positioning with custom player animations and default actions.
- Shoulder mounted Pokémon now sit slightly higher with chest armor equipped for better alignment, with a configurable blacklist.
- Type Gem Blocks now have advancements to give you the recipe in the recipe book (the data for the advancements were inside the recipes somehow??).
- Some other recipes without advancements have also been corrected.
- Corrected the TM Recipes for Charge Beam and Payday.
- Starter Screen Categories will no longer stop rendering if they are bigger than the viewport and you are not viewing the top or bottom edges.
- The Random Starter option no longer runs off into other categories or becomes unaccessible due to scroll limits if it causes a new row.
- Mochi and Feathers no longer drop glass bottles on use.
- Fixed a rare set of concurrency bugs related to reloading packs on NeoForge; fixes a ModernFix compatibility issue.
- Removed unnecessary conditions for Mimikyu's standing pose. Hopefully fixes the rare instance of it using its shoulder animations during battle in multiplayer scenarios.
- Fixed Rockruff line not blinking.
- Fixed Flygon sometimes using its running animation instead of walking.
- Fixed Bramblin always sleeping outside of battle.
- Fixed Dragonair using its battle idle as a normal idle.
- Fixed Lycanroc's head movement.
- Added head movement to Archaludon.
- Fixed Duraludon line not having any sleep animations.
- Fixed Diglett line not having their faint animations.
- Fixed Kingambit moving its legs while walking.
- Fixed Alolan Diglett's cry not playing.
- Fixed shiny alpha Snorlax using the non-shiny texture.
- Fixed Crabominable's head breaking when looking around.
- Fixed Shiny Dipplin and Hydrapple's textures.
- Various structure fixes.
- Fixed shiny Pokémon under certain circumstances forgetting taught TMs.
- Fixed certain Pokémon sounds sometimes being doubled when played at specific times in their animations.
- Fixed ball capture beam origin coming from behind the ball.
- Fixed Safari Ball catch rate outside of battle.
- Fixed alpha eye (and other) particles not respecting the client particle density setting in video options.
- Fixed the TM Machine UI not closing when player is moving away from it.
- Moved the config category for alpha/shiny chance config fields for fossil machine and honey log slathering to Spawning.
- Fixed crashes for addon species with non-Cobblemon namespaces in evolution, fishing bait, and Pokédex lookups.
- Bees will now grow Apricorns and the Galarica Nut Bush, which were in the bee growables tag but never handled, and correctly spend their nectar when they do.
- Saccharine Leaves can now be bone mealed.
- Fixed equipping a stack of wearable items instead of one item of a stack.
- Fixed TM stack consumption in TM Machine screen when a player teaches a move to a Pokémon.
- Fixed every Miltank giving mushroom stew, not only mushroom variants.
- Medicinal Leeks can now be eaten when they aren't being planted, matching their food properties.
- Sweeping attacks no longer set owned Pokémon on fire (e.g. with Fire Aspect) or knock them back. Friendly Fire is now off.
- Fixed Pokémon not losing their previous form's signature moves when changing forms (e.g. Rotom keeping Overheat after leaving its Heat form).
- Form-specific moves gained from a form change are now only granted if the Pokémon is high enough level to learn them, and no longer create duplicates in benched moves.
- Spinda now learns Teeter Dance at level 32 instead of via TM.
- Fixed Oricorio Pa'u form description in the Pokédex.
- Fixed PC playing sound on close when opened via command.
- Fixed datapacks with item interaction evolutions that don't specify an item crashing the world on load.
- Fixed the Pokédex evolution tree crashing when a datapack's dex entry is missing an evolution's form.
- Fixed the Pokédex evolution tree crashing with a stack overflow on evolutions that loop back on themselves.
- Fixed the Pokédex evolution tree crashing when looking at a dex that is not part of the "National Dex" aggregate.
- Fixed evolution trees not building properly when a pokemon has several pokedex entries for different regions.
- Fixed form-changing evolutions sometimes resolving to the source form in the Pokédex evolution tree.
- Broken datapack evolutions are now logged and skipped in the Pokédex evolution tree instead of crashing.
- Fixed friendship booster items not being recognised as such
- Fixed conflicts with other mods that would make use of recipe books in certain ways (Farmer's Delight Cooking Pot)
- Fixed Pokémon battles stalling when a sidemod cancels the `THROWN_POKEBALL_HIT` hit event
- Fixed choice feature tab completion in `spawnpokemon/pokegive/pokeedit` commands
### Developer
- Evolution requirements can now set `pokedexIcon` and `pokedexTooltip` directly in their JSON to control how they're shown on the Pokédex's evolution tree, for example:
```json
{
"variant": "attack_defence_ratio",
"pokedexIcon": "minecraft:diamond_sword",
"pokedexTooltip": "cobblemon.ui.pokedex.requirement.attack_defence_ratio.tooltip"
}
```
- Fixed the wrong order of operations in the code flow prior to the `FOSSIL_REVIVED` event causing Pokémon to appear without the entity link.
- Fixed TestPartySlot command not correctly comparing the provided spec with the target Pokémon.
- Bumped NeoForge to `21.1.195` to get access to MixinExtras `0.5` and the expressions annotation
### Molang & Datapacks
- A new `negate` variant for evolution requirements has been added, which will negate (invert) the provided inner condition.
- Added Molang functions for individual Pokédex ids, wherein a subdex is passed in as a string to `dex_caught_count` etc.
- Added a `battle_ended` callback, backed by the new `BATTLE_ENDED` event, which fires whenever a battle ends for any reason, alongside a multitude of flags not previously covered by `BATTLE_VICTORY`.
- Added `battle_pokemon` to battle actor structs and `has_faced_opponents` to battle Pokémon structs.
- Added the `cobblemon:form_change/bagworm_cloak/plant_cloak`, `sandy_cloak` and `trash_cloak` biome tags, which control Burmy's cloak after battle.
### Particles
#### New Move Animations
- Fixed `q.pokemon.nature` returning class instance instead of proper string value (`cobblemon:adamant`)
- Fixed `q.entity.is_looking_at` result being always `1` for whatever entity passed as target
### Localization
- Updated translations for:
- Brazilian Portuguese
- Canadian French
- Japanese
- Korean
- Russian
- Ukrainian
+4 -1
View File
@@ -36,6 +36,7 @@
- Added `cobblemon:catch_alpha_pokemon` advancement trigger and `totalAlphaCaptureCount` stat for captured Alpha Pokémon.
### New rideable Pokémon
- Pidgeot
- Crobat
- Skarmory
- Milotic
@@ -106,7 +107,9 @@
- Avalugg (Hisuian Form)
### Model updates for the following Pokémon
- Pidgey
- Pidgeotto
- Pidgeot
- Sandshrew
- Sandslash
- Nidoking
+211
View File
@@ -0,0 +1,211 @@
# Changelog
## [1.8.2 (October 11th, 2026)](#1-8-2)
### Additions
- The following items can now be placed on the ground as blocks:
- King's Rock, Galarica Cuff, Unremarkable Teacup, Masterpiece Teacup, Chipped Pot, Cracked Pot, Sachet, Metal Powder, Quick Powder, Bright Powder, Soft Sand, Electirizer, Magmarizer, Icy Rock, Heat Rock, Smooth Rock, Damp Rock, Destiny Knot, Luminous Moss, Never-Melt Ice, Wide Lens, Scope Lens, and Zoom Lens.
- I wasn't finished. Iron Ball, Metal Coat, Throat Spray, Terrain Extender, Medicinal Brew, Moomoo Milk, HP Up, Protein, Iron, Carbos, Calcium, Zinc, PP Up, PP Max, Upgrade, Dubious Disc, and Loaded Dice.
- The following items can now be placed on various surfaces:
- Galarica Wreath, Magnet, Flame Orb, Life Orb, Toxic Orb, Light Ball, and Smoke Ball.
- The following items can now be placed as blocks and have additional functionality:
- Ring Target, Metronome, and Eject Button.
- The following items can now be worn by Players and Pokémon:
- Galarica Wreath, Cleanse Tag, Spell Tag, Sharp Beak, Covert Cloak, Shell Helmet, and Never-Melt Ice.
- Wearable items can now be equipped by a player by holding it and right-clicking (or whatever you've rebound use/interact to).
- Wearable items that can be placed down are exempt from this behaviour.
- Mint Leaves can now be placed on the ground as Leaf Litter, or in Flower Pots.
- The recall animation now renders the ball in hand with the player's arm raised.
- Added Oricorio Flowers.
- Added Terrain Plants, four plants grown from Electric, Grassy, Misty, and Psychic Seeds, which glow under specific environmental conditions and can be farmed for more of their seeds.
- Berries can now be placed in Flower Pots.
- The evolution tree for a Pokémon can now be viewed in the Pokédex, showing the Pokémon's full family line and what's needed to evolve into each stage.
- Added custom sounds to a bunch of items that can be placed as blocks: liquid bottles, pill bottles, powders, and dice.
- Added paper as a new cosmetic item for Pikachu.
- Burmy changes its cloak after a battle it took part in, based on the biome.
- Trash Cloak in the Deep Dark, Nether and End.
- Plant Cloak in lush biomes such as forests, jungles, plains and swamps.
- Sandy Cloak in sandy biomes, beaches and caves.
### Pokémon Added
#### Generation 4
- Snover
- Abomasnow
- Burmy
- Wormadam
- Mothim
#### Generation 5
- Tympole
- Palpitoad
- Seismitoad
#### Generation 6
- Helioptile
- Heliolisk
#### Generation 7
- Grubbin
- Charjabug
- Vikavolt
- Minior
#### Generation 8
- Eternatus
#### Generation 9
- Greavard
- Houndstone
### Model updates for the following Pokémon
- Sudowoodo
- Spheal
- Cacnea
- Cacturne
- Binacle
- Barbaracle
- Glimmet
- Glimmora
- Deerling
- Sawsbuck (All forms)
- Absol
- Poliwag
- Politoed
- Ekans
- Oddish
- Gloom
- Vileplume
- Bellossom
- Shroomish
- Chespin
- Quilladin
- Chesnaught
- Fennekin
- Braixen
- Delphox
- Froakie
- Frogadier
- Greninja
- Shinx
- Luxio
- Luxray
- Slakoth
- Riolu
- Lucario
- Corsola
- Mime Jr.
### Animation updates for the following Pokémon
- Treecko (New Shoulder Mount!)
- Bonsly (New Shoulder Mount!)
- Sudowoodo
- Cacnea
- Cacturne
- Ekans
- Arbok
- Oddish
- Gloom
- Vileplume
- Bellossom
- Pichu
- Pikachu
- Raichu (+ Alolan)
- Greninja
- Slakoth
### Changes
- Slowed the speed of Type Gem growth, and revamped their generation to grow in a more crystal-like shape.
- Terrain Seeds can now be planted.
- Terrain Seeds are now consumed during PvP and NPC battles.
- Glow Item Frames can be crafted using Bright Powder as an alternative to Glow Ink Sacs.
- Bright Powder can be used on Signs and Hanging Signs to make text glow, as an alternative to Glow Ink Sacs.
- Updated various recipes to display in Recipe Groups within the Recipe Book.
- Updated most recipes to display more logically and consistently within the Recipe Book's categories.
- Updated the following recipes
- Never-Melt Ice, Focus Sash, Blunder Policy, Weakness Policy, Blank TM.
- Made ride rotations less jittery in multiplayer.
- Changes Disc Shelf TMs to use textures instead of tinting and overlays to line up with item display.
- Blank TM can now be inserted into the Disc Shelf.
- Added a TM creative tab.
- Made regional and Vivillon split-evo locations mutually exclusive.
- Vivillon's patterns are now viewable as forms with form names and unique Pokédex entries displayed.
- Item evolutions now unlock **all** locked evolutions whose requirements are met instead of stopping after the first.
- Exceptions being "forced" evolutions which stop after the first one.
- Removed Mega Drain as a TM.
- PokeSnacks (and other area spawns) will now start the vertical offset checking from the center rather than base coordinate
- This will help PokeSnacks to work inside caves or tighter spaces better.
### Fixes
- Type Gem blocks now properly generate clusters off of the block.
- Correctly grant "They're Minerals!" advancement when planting a Type Gem.
- Shoulder mounted Pokémon now follow player body animations, improving their positioning with custom player animations and default actions.
- Shoulder mounted Pokémon now sit slightly higher with chest armor equipped for better alignment, with a configurable blacklist.
- Type Gem Blocks now have advancements to give you the recipe in the recipe book (the data for the advancements were inside the recipes somehow??).
- Some other recipes without advancements have also been corrected.
- Corrected the TM Recipes for Charge Beam and Payday.
- Starter Screen Categories will no longer stop rendering if they are bigger than the viewport and you are not viewing the top or bottom edges.
- The Random Starter option no longer runs off into other categories or becomes unaccessible due to scroll limits if it causes a new row.
- Mochi and Feathers no longer drop glass bottles on use.
- Fixed a rare set of concurrency bugs related to reloading packs on NeoForge; fixes a ModernFix compatibility issue.
- Removed unnecessary conditions for Mimikyu's standing pose. Hopefully fixes the rare instance of it using its shoulder animations during battle in multiplayer scenarios.
- Fixed Rockruff line not blinking.
- Fixed Flygon sometimes using its running animation instead of walking.
- Fixed Bramblin always sleeping outside of battle.
- Fixed Dragonair using its battle idle as a normal idle.
- Fixed Lycanroc's head movement.
- Added head movement to Archaludon.
- Fixed Duraludon line not having any sleep animations.
- Fixed Diglett line not having their faint animations.
- Fixed Kingambit moving its legs while walking.
- Fixed Alolan Diglett's cry not playing.
- Fixed shiny alpha Snorlax using the non-shiny texture.
- Fixed Crabominable's head breaking when looking around.
- Fixed Shiny Dipplin and Hydrapple's textures.
- Various structure fixes.
- Fixed shiny Pokémon under certain circumstances forgetting taught TMs.
- Fixed certain Pokémon sounds sometimes being doubled when played at specific times in their animations.
- Fixed ball capture beam origin coming from behind the ball.
- Fixed Safari Ball catch rate outside of battle.
- Fixed alpha eye (and other) particles not respecting the client particle density setting in video options.
- Fixed the TM Machine UI not closing when player is moving away from it.
- Moved the config category for alpha/shiny chance config fields for fossil machine and honey log slathering to Spawning.
- Fixed crashes for addon species with non-Cobblemon namespaces in evolution, fishing bait, and Pokédex lookups.
- Bees will now grow Apricorns and the Galarica Nut Bush, which were in the bee growables tag but never handled, and correctly spend their nectar when they do.
- Saccharine Leaves can now be bone mealed.
- Fixed equipping a stack of wearable items instead of one item of a stack.
- Fixed TM stack consumption in TM Machine screen when a player teaches a move to a Pokémon.
- Fixed every Miltank giving mushroom stew, not only mushroom variants.
- Medicinal Leeks can now be eaten when they aren't being planted, matching their food properties.
- Sweeping attacks no longer set owned Pokémon on fire (e.g. with Fire Aspect) or knock them back. Friendly Fire is now off.
- Fixed Pokémon not losing their previous form's signature moves when changing forms (e.g. Rotom keeping Overheat after leaving its Heat form).
- Form-specific moves gained from a form change are now only granted if the Pokémon is high enough level to learn them, and no longer create duplicates in benched moves.
- Spinda now learns Teeter Dance at level 32 instead of via TM.
- Fixed Oricorio Pa'u form description in the Pokédex.
- Fixed PC playing sound on close when opened via command.
### Developer
- Evolution requirements can now set `pokedexIcon` and `pokedexTooltip` directly in their JSON to control how they're shown on the Pokédex's evolution tree, for example:
```json
{
"variant": "attack_defence_ratio",
"pokedexIcon": "minecraft:diamond_sword",
"pokedexTooltip": "cobblemon.ui.pokedex.requirement.attack_defence_ratio.tooltip"
}
```
- Fixed the wrong order of operations in the code flow prior to the `FOSSIL_REVIVED` event causing Pokémon to appear without the entity link.
- Fixed TestPartySlot command not correctly comparing the provided spec with the target Pokémon.
### Molang & Datapacks
- A new `negate` variant for evolution requirements has been added, which will negate (invert) the provided inner condition.
- Added Molang functions for individual Pokédex ids, wherein a subdex is passed in as a string to `dex_caught_count` etc.
- Added a `battle_ended` callback, backed by the new `BATTLE_ENDED` event, which fires whenever a battle ends for any reason, alongside a multitude of flags not previously covered by `BATTLE_VICTORY`.
- Added `battle_pokemon` to battle actor structs and `has_faced_opponents` to battle Pokémon structs.
- Added the `cobblemon:form_change/bagworm_cloak/plant_cloak`, `sandy_cloak` and `trash_cloak` biome tags, which control Burmy's cloak after battle.
### Localization
- Updated translations for:
- Brazilian Portuguese
- Canadian French
- Japanese
- Korean
- Russian
- Ukrainian
@@ -16,6 +16,7 @@ import com.cobblemon.mod.common.item.crafting.CookingPotShapelessRecipe;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableMap;
import com.google.common.collect.Maps;
import com.llamalad7.mixinextras.sugar.Local;
import net.minecraft.client.ClientRecipeBook;
import net.minecraft.client.RecipeBookCategories;
import net.minecraft.client.gui.screens.recipebook.RecipeCollection;
@@ -63,23 +64,12 @@ public abstract class ClientRecipeBookMixin {
}
}
@Inject(method = "setupCollections", at = @At("RETURN"))
private void addCustomAggregateCategories(Iterable<RecipeHolder<?>> recipes, RegistryAccess registryAccess, CallbackInfo ci) {
Map<RecipeBookCategories, List<List<RecipeHolder<?>>>> map = categorizeAndGroupRecipes(recipes);
Map<RecipeBookCategories, List<RecipeCollection>> map2 = Maps.newHashMap();
ImmutableList.Builder<RecipeCollection> builder = ImmutableList.builder();
map.forEach((recipeBookCategories, list) -> {
List<RecipeCollection> collections = list.stream()
.map(listx -> new RecipeCollection(registryAccess, listx))
.peek(builder::add)
.collect(ImmutableList.toImmutableList());
map2.put(recipeBookCategories, collections);
});
RecipeBookCategories.AGGREGATE_CATEGORIES.forEach((recipeBookCategories, list) -> map2.put(recipeBookCategories, (List) list.stream().flatMap((recipeBookCategoriesx) -> ((List) map2.getOrDefault(recipeBookCategoriesx, ImmutableList.of())).stream()).collect(ImmutableList.toImmutableList())));
@Inject(method = "setupCollections",
at = @At(
value = "INVOKE",
target = "Lcom/google/common/collect/ImmutableMap;copyOf(Ljava/util/Map;)Lcom/google/common/collect/ImmutableMap;"
))
private void addCustomAggregateCategories(Iterable<RecipeHolder<?>> recipes, RegistryAccess registryAccess, CallbackInfo ci, @Local(name = "map2") Map<RecipeBookCategories, List<RecipeCollection>> map2) {
CobblemonRecipeCategories.Companion.getCustomAggregateCategories().forEach((recipeBookCategories, list) -> map2.put(recipeBookCategories, (List) list.stream().flatMap((recipeBookCategoriesx) -> ((List) map2.getOrDefault(recipeBookCategoriesx, ImmutableList.of())).stream()).collect(ImmutableList.toImmutableList())));
this.collectionsByTab = ImmutableMap.copyOf(map2);
this.allCollections = builder.build();
}
}
@@ -9,55 +9,25 @@
package com.cobblemon.mod.common.mixin.client;
import com.cobblemon.mod.common.CobblemonRecipeCategories;
import net.minecraft.client.ClientRecipeBook;
import net.minecraft.client.Minecraft;
import com.llamalad7.mixinextras.expression.Definition;
import com.llamalad7.mixinextras.expression.Expression;
import com.llamalad7.mixinextras.injector.ModifyExpressionValue;
import com.llamalad7.mixinextras.sugar.Local;
import net.minecraft.client.RecipeBookCategories;
import net.minecraft.client.gui.screens.recipebook.RecipeBookComponent;
import net.minecraft.client.gui.screens.recipebook.RecipeBookPage;
import net.minecraft.client.gui.screens.recipebook.RecipeBookTabButton;
import org.spongepowered.asm.mixin.Final;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Shadow;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
@Mixin(RecipeBookComponent.class)
public class RecipeBookComponentMixin {
@Shadow private ClientRecipeBook book;
@Shadow protected Minecraft minecraft;
@Shadow private int width;
@Shadow private int xOffset;
@Shadow private int height;
@Shadow @Final private RecipeBookPage recipeBookPage;
@Inject(method = "updateTabs", at = @At("HEAD"), cancellable = true)
private void customUpdateTabs(CallbackInfo ci) {
RecipeBookComponent instance = (RecipeBookComponent) (Object) this;
int i = (width - 147) / 2 - xOffset - 30;
int j = (height - 166) / 2 + 3;
int k = 27;
int l = 0;
for (RecipeBookTabButton recipeBookTabButton : instance.tabButtons) {
RecipeBookCategories recipeBookCategories = recipeBookTabButton.getCategory();
if (recipeBookCategories != RecipeBookCategories.CRAFTING_SEARCH && recipeBookCategories != RecipeBookCategories.FURNACE_SEARCH && recipeBookCategories != CobblemonRecipeCategories.COOKING_POT_SEARCH.toVanillaCategory()) {
if (recipeBookTabButton.updateVisibility(book)) {
recipeBookTabButton.setPosition(i, j + 27 * l++);
recipeBookTabButton.startAnimation(minecraft);
}
} else {
recipeBookTabButton.visible = true;
recipeBookTabButton.setPosition(i, j + k * l++);
}
}
ci.cancel();
@Definition(id = "recipeBookCategories", local = @Local(name = "recipeBookCategories"))
@Definition(id = "FURNACE_SEARCH", field = "Lnet/minecraft/client/RecipeBookCategories;FURNACE_SEARCH:Lnet/minecraft/client/RecipeBookCategories;")
@Expression("recipeBookCategories != FURNACE_SEARCH")
@ModifyExpressionValue(
method = "updateTabs",
at = @At(value = "MIXINEXTRAS:EXPRESSION")
)
private boolean notCookingPotSearch(boolean original, @Local(name = "recipeBookCategories") RecipeBookCategories recipeBookCategories) {
return original && recipeBookCategories != CobblemonRecipeCategories.COOKING_POT_SEARCH.toVanillaCategory();
}
}
@@ -98,14 +98,14 @@ object LivingEntityMoLangFunctions : AbstractMoLangFunctionHolder<LivingEntity>(
val targetEntity = params.get<MoValue>(0)
val maxDistance = params.getDoubleOrNull(1)?.toFloat() ?: 2.0F
val entity =
val target =
if (targetEntity is ObjectValue<*> && targetEntity.obj is Entity) {
targetEntity.obj as Entity
} else {
return@isLookingAt DoubleValue.ZERO
}
DoubleValue(entity.isLookingAt(entity, maxDistance))
DoubleValue(entity.isLookingAt(target, maxDistance))
}
functions["is_living_entity"] = { DoubleValue.ONE }
functions["is_flying"] = { DoubleValue(entity.isFallFlying) }
@@ -212,7 +212,7 @@ object PokemonMoLangFunctions : AbstractMoLangFunctionHolder<Pokemon>() {
// Lol. Lmao, even.
// TO-DO: Subscribe to [PokemonSpecies.observable].
functions["pre_evolution"] = { pokemon.species.preEvolution ?: DoubleValue.ZERO }
functions["nature"] = { StringValue(pokemon.nature.toString()) }
functions["nature"] = { StringValue(pokemon.nature.name.toString()) }
functions["is_wild"] = { DoubleValue(pokemon.entity?.let { it.ownerUUID == null } == true) }
functions["is_shiny"] = { DoubleValue(pokemon.shiny) }
functions["is_in_party"] = { DoubleValue(pokemon.storeCoordinates.get()?.store is PartyStore) }
@@ -10,9 +10,6 @@ package com.cobblemon.mod.common.api.pokedex
import com.cobblemon.mod.common.api.data.JsonDataRegistry
import com.cobblemon.mod.common.api.pokedex.def.PokedexDef
import com.cobblemon.mod.common.api.pokedex.entry.PokedexEntry
import com.cobblemon.mod.common.api.pokedex.entry.PokedexForm
import com.cobblemon.mod.common.api.pokemon.PokemonSpecies
import com.cobblemon.mod.common.api.reactive.SimpleObservable
import com.cobblemon.mod.common.net.messages.client.data.PokedexDexSyncPacket
import com.cobblemon.mod.common.util.adapters.CodecBackedAdapter
@@ -64,14 +61,6 @@ object Dexes : JsonDataRegistry<PokedexDef> {
PokedexDexSyncPacket(dexEntryMap.values).sendToPlayer(player)
}
fun findDexEntryBySpeciesId(regionId: ResourceLocation, speciesId: ResourceLocation): PokedexEntry? {
return dexEntryMap[regionId]?.getEntries()?.firstOrNull { it -> it.speciesId == speciesId }
}
fun findDexEntryBySpeciesId(speciesId: ResourceLocation): PokedexEntry? {
return findDexEntryBySpeciesId(cobblemonResource("national"), speciesId)
}
fun getFormEquivalents(formName: String): List<String> {
val key = equivalentFormsLookup[formName.lowercase()]
return equivalentForms[key] ?: listOf(formName.lowercase())
@@ -8,6 +8,7 @@
package com.cobblemon.mod.common.api.pokedex.entry
import com.cobblemon.mod.common.Cobblemon
import com.cobblemon.mod.common.CobblemonItems
import com.cobblemon.mod.common.api.data.JsonDataRegistry
import com.cobblemon.mod.common.api.molang.ExpressionLike
@@ -72,8 +73,11 @@ object DexEntries : JsonDataRegistry<PokedexEntry> {
fun computeEvolutionDisplays() {
evolutionDisplays.clear()
PokemonSpecies.species.forEach {
evolutionDisplays.addAll(buildDisplays(it.standardForm))
evolutionDisplays.addAll(it.forms.flatMap { form -> buildDisplays(form) })
try {
evolutionDisplays.addAll(buildDisplays(it.standardForm) + it.forms.flatMap { form -> buildDisplays(form) })
} catch (e: Exception) {
Cobblemon.LOGGER.error("Failed to build dex evolution displays for ${it.resourceIdentifier}", e)
}
}
}
@@ -93,8 +97,10 @@ object DexEntries : JsonDataRegistry<PokedexEntry> {
?.let { PokemonSpecies.getByIdentifier(it.asIdentifierDefaultingNamespace()) }
?: return@resultLoop
// Carry the source form's aspects over like a real evolution does (Alola-Bias Pichu -> Alola-Bias Pikachu)
val resultForm = resultSpecies.getForm(form.aspects.toSet() + resultProperties.aspects)
// The result's own aspects win, otherwise carry the source form's aspects over
// like a real evolution does (Alola-Bias Pichu -> Alola-Bias Pikachu)
val resultForm = resultSpecies.getForm(resultProperties.aspects).takeIf { it != resultSpecies.standardForm }
?: resultSpecies.getForm(form.aspects.toSet() + resultProperties.aspects)
val toAspects = resultProperties.aspects + resultForm.aspects
val resultRequirements = if (resultProperties === evolution.shedder) {
requirements + CobblemonDexEvolutionRequirementDisplay(CobblemonItems.POKE_BALL, lang("ui.pokedex.evolution.shedder.tooltip"))
@@ -115,4 +121,4 @@ object DexEntries : JsonDataRegistry<PokedexEntry> {
}
return result
}
}
}
@@ -77,8 +77,8 @@ fun getToolTipHeaderIcon(evolution: Evolution): DexEvolutionRequirementDisplay?
}
fun getToolTipHeaderIcon(itemInteractionEvolution: ItemInteractionEvolution): CobblemonDexEvolutionRequirementDisplay {
val item = itemInteractionEvolution.requiredContext.items.get().first().value()
fun getToolTipHeaderIcon(itemInteractionEvolution: ItemInteractionEvolution): CobblemonDexEvolutionRequirementDisplay? {
val item = itemInteractionEvolution.requiredContext.items.orElse(null)?.firstOrNull()?.value() ?: return null
return CobblemonDexEvolutionRequirementDisplay(item, lang("ui.pokedex.evolution.item_interact.tooltip", item.description.plainCopy().green()))
}
@@ -87,7 +87,9 @@ fun getToolTipHeaderIcon(tradeEvolution: TradeEvolution): CobblemonDexEvolutionR
val tooltip = if (species == null) {
lang("ui.pokedex.evolution.trade.tooltip.with_any_species")
} else {
lang("ui.pokedex.evolution.trade.tooltip.with_species", PokemonSpecies.getByIdentifier(species.asIdentifierDefaultingNamespace())!!.translatedName.green())
PokemonSpecies.getByIdentifier(species.asIdentifierDefaultingNamespace())
?.let { lang("ui.pokedex.evolution.trade.tooltip.with_species", it.translatedName.green()) }
?: lang("ui.pokedex.evolution.trade.tooltip.with_any_species")
}
return CobblemonDexEvolutionRequirementDisplay(CobblemonItems.LINK_CABLE, tooltip)
}
@@ -322,8 +324,8 @@ fun buildMoveTypeRequirement(moveTypeRequirement: MoveTypeRequirement): DexEvolu
return CobblemonDexEvolutionRequirementDisplay(icon, tooltip)
}
fun buildOwnerHoldsItemRequirement(ownerHoldsItemRequirement: OwnerHoldsItemRequirement): DexEvolutionRequirementDisplay {
val item = ownerHoldsItemRequirement.itemCondition.items.get().first().value()
fun buildOwnerHoldsItemRequirement(ownerHoldsItemRequirement: OwnerHoldsItemRequirement): DexEvolutionRequirementDisplay? {
val item = ownerHoldsItemRequirement.itemCondition.items.orElse(null)?.firstOrNull()?.value() ?: return null
val tooltip = lang("ui.pokedex.requirement.owner_held_item.tooltip", item.description.plainCopy().green())
return CobblemonDexEvolutionRequirementDisplay(item, tooltip)
@@ -120,7 +120,7 @@ object CobblemonItemTags {
@JvmField val DESTINY_KNOT = create("held/destiny_knot")
@JvmField val EVERSTONE = create("held/everstone")
@JvmField val EXPERIENCE_SHARE = create("held/experience_share")
@JvmField val IS_FRIENDSHIP_BOOSTER = create("is_friendship_booster")
@JvmField val IS_FRIENDSHIP_BOOSTER = create("held/is_friendship_booster")
@JvmField val ANY_HELD_ITEM = create("held/is_held_item")
@JvmField val BLACKLISTED_ITEMS_TO_HOLD = create("held/blacklisted_items_to_hold")
@JvmField val WHITELISTED_ITEMS_TO_HOLD = create("held/whitelisted_items_to_hold")
@@ -9,19 +9,11 @@
package com.cobblemon.mod.common.client.gui.pokedex.widgets
import com.cobblemon.mod.common.Cobblemon
import com.cobblemon.mod.common.CobblemonItems
import com.cobblemon.mod.common.api.gui.*
import com.cobblemon.mod.common.api.pokedex.Dexes
import com.cobblemon.mod.common.api.pokedex.PokedexEntryProgress
import com.cobblemon.mod.common.api.pokedex.entry.CobblemonBiomeDexEvolutionRequirementDisplay
import com.cobblemon.mod.common.api.pokedex.entry.DexEntries
import com.cobblemon.mod.common.api.pokedex.entry.DexEvolutionDisplay
import com.cobblemon.mod.common.api.pokedex.entry.DexEvolutionRequirementDisplay
import com.cobblemon.mod.common.api.pokedex.entry.PokedexEntry
import com.cobblemon.mod.common.api.pokedex.entry.PokedexForm
import com.cobblemon.mod.common.api.pokemon.PokemonProperties
import com.cobblemon.mod.common.api.pokedex.entry.*
import com.cobblemon.mod.common.api.pokemon.PokemonSpecies
import com.cobblemon.mod.common.api.pokemon.evolution.Evolution
import com.cobblemon.mod.common.api.text.add
import com.cobblemon.mod.common.api.text.bold
import com.cobblemon.mod.common.api.text.green
@@ -41,7 +33,6 @@ import com.cobblemon.mod.common.client.render.renderScaledGuiItemIcon
import com.cobblemon.mod.common.pokemon.FormData
import com.cobblemon.mod.common.pokemon.Gender
import com.cobblemon.mod.common.pokemon.RenderablePokemon
import com.cobblemon.mod.common.util.asIdentifierDefaultingNamespace
import com.cobblemon.mod.common.util.cobblemonResource
import com.cobblemon.mod.common.util.lang
import net.minecraft.client.Minecraft
@@ -50,6 +41,7 @@ import net.minecraft.core.registries.Registries
import net.minecraft.locale.Language
import net.minecraft.network.chat.Component
import net.minecraft.network.chat.MutableComponent
import net.minecraft.resources.ResourceLocation
import net.minecraft.tags.TagKey
class EvolutionTreeWidget(
@@ -164,25 +156,28 @@ class EvolutionTreeWidget(
var rootSpecies = pokedexEntry
var rootForm = pokedexForm
var preEvolution = findPreEvolution(rootSpecies, rootForm)
// Stop at whatever the dex can't resolve, and at cycles (datapacks)
val visited = mutableSetOf(rootSpecies.speciesId to rootForm.displayForm)
while (preEvolution != null) {
rootSpecies = Dexes.findDexEntryBySpeciesId(preEvolution.fromSpecies)!!
rootForm = rootSpecies.forms.first { it.displayForm.equals(preEvolution.fromForm, ignoreCase = true) }
val preEvolutionSpecies = DexEntries.entries.values.firstOrNull { it.speciesId == preEvolution.fromSpecies &&
it.forms.any {form -> form.displayForm.equals(preEvolution.fromForm, ignoreCase = true)}} ?: break
val preEvolutionForm = preEvolutionSpecies.forms.firstOrNull { it.displayForm.equals(preEvolution.fromForm, ignoreCase = true) } ?: break
if (!visited.add(preEvolutionSpecies.speciesId to preEvolutionForm.displayForm)) break
rootSpecies = preEvolutionSpecies
rootForm = preEvolutionForm
preEvolution = findPreEvolution(rootSpecies, rootForm)
}
val entry = Dexes.findDexEntryBySpeciesId(rootSpecies.speciesId)
?: throw RuntimeException("Root dex entry not found")
val viewedFormEquivalents = Dexes.getFormEquivalents(pokedexForm.displayForm)
viewedForm = PokemonSpecies.getByIdentifier(pokedexEntry.speciesId)
?.forms?.firstOrNull { viewedFormEquivalents.contains(it.name.lowercase()) }
val formEquivalents = Dexes.getFormEquivalents(rootForm.displayForm)
val form =
entry.forms.firstOrNull { formEquivalents.contains(it.displayForm.lowercase()) } ?:
entry.forms.first { it.displayForm.equals("Normal", ignoreCase = true) }
rootSpecies.forms.firstOrNull { formEquivalents.contains(it.displayForm.lowercase()) } ?:
rootSpecies.forms.first { it.displayForm.equals("Normal", ignoreCase = true) }
val rootEvolutionNode = buildEvolutionTree(entry, form)
val rootEvolutionNode = buildEvolutionTree(rootSpecies, form)
// val isSameEntry = previousRootPokedexEntry != null && pokedexEntry?.id == previousRootPokedexEntry?.id
// val isSameForm =
@@ -208,7 +203,7 @@ class EvolutionTreeWidget(
/** The evolution leading to [form]; the standard form falls back to any form of the species (no evolution leads to regular Vivillon). */
private fun findPreEvolution(entry: PokedexEntry, form: PokedexForm): DexEvolutionDisplay? {
return DexEntries.evolutionDisplays.firstOrNull { it.toSpecies == entry.speciesId && it.toForm == form.displayForm }
return DexEntries.evolutionDisplays.firstOrNull { it.toSpecies == entry.speciesId && form.displayForm.equals(it.toForm, ignoreCase = true) }
?: DexEntries.evolutionDisplays.takeIf { form.displayForm.equals("Normal", ignoreCase = true) }
?.firstOrNull { it.toSpecies == entry.speciesId }
}
@@ -230,21 +225,33 @@ class EvolutionTreeWidget(
pokedexEntry: PokedexEntry,
pokedexForm: PokedexForm,
aspects: Set<String> = emptySet(),
ancestors: Set<Pair<ResourceLocation, String>> = emptySet(),
): EvolutionNode {
// Datapack evolutions can loop back (A -> B -> A), so stop at anything already on this branch
val path = ancestors + (pokedexEntry.speciesId to pokedexForm.displayForm.lowercase())
val discoveryLevel = CobblemonClient.clientPokedexData.getHighestKnowledgeFor(pokedexEntry, pokedexForm, aspects.toMutableSet())
val formEquivalents = Dexes.getFormEquivalents(pokedexForm.displayForm)
val evolutions = DexEntries.evolutionDisplays.filter { it.fromSpecies == pokedexEntry.speciesId && formEquivalents.contains(it.fromForm.lowercase()) }
val children = evolutions.mapNotNull {
val childPokedexEntry = Dexes.findDexEntryBySpeciesId(it.toSpecies)
val childPokedexEntry = DexEntries.entries.values.firstOrNull { entry -> entry.speciesId == it.toSpecies &&
entry.forms.any {form -> form.displayForm.equals(it.toForm, ignoreCase = true)}}
if (childPokedexEntry == null) {
Cobblemon.LOGGER.warn("Dex entry not found for species: ${it.toSpecies}")
return@mapNotNull null
}
val formEquivalents = Dexes.getFormEquivalents(it.toForm.lowercase())
val childPokedexForm = childPokedexEntry.forms.first { formEquivalents.contains(it.displayForm.lowercase()) }
buildEvolutionTree(childPokedexEntry, childPokedexForm, it.toAspects)
val childPokedexForm = childPokedexEntry.forms.firstOrNull { formEquivalents.contains(it.displayForm.lowercase()) }
if (childPokedexForm == null) {
Cobblemon.LOGGER.warn("Dex form ${it.toForm} not found for species: ${it.toSpecies}")
return@mapNotNull null
}
if ((childPokedexEntry.speciesId to childPokedexForm.displayForm.lowercase()) in path) {
Cobblemon.LOGGER.warn("Evolution loop found at species: ${it.toSpecies} form: ${it.toForm}")
return@mapNotNull null
}
buildEvolutionTree(childPokedexEntry, childPokedexForm, it.toAspects, path)
}
return EvolutionNode(
@@ -269,6 +269,7 @@ class EmptyPokeBallEntity : ThrowableItemProjectile, PosableEntity, WaterDragMod
attemptCatch(pokemonEntity)
},
ifCanceled = {
captureFuture.complete(false)
drop()
return
}
@@ -13,6 +13,7 @@ import com.cobblemon.mod.common.api.abilities.Abilities
import com.cobblemon.mod.common.api.data.DataRegistry
import com.cobblemon.mod.common.api.pokeball.PokeBalls
import com.cobblemon.mod.common.api.pokemon.Natures
import com.cobblemon.mod.common.api.pokemon.feature.AbstractChoiceSpeciesFeatureProvider
import com.cobblemon.mod.common.api.pokemon.stats.Stats
import com.cobblemon.mod.common.api.pokemon.status.Statuses
import com.cobblemon.mod.common.api.properties.CustomPokemonProperty
@@ -134,7 +135,7 @@ internal object PropertiesCompletionProvider : DataRegistry {
private fun addDefaults() {
this.inject(setOf("level", "lvl", "l"), setOf("1", "${Cobblemon.config.maxPokemonLevel}") )
this.inject(setOf("shiny", "s"), setOf("yes", "no"))
this.inject(setOf("gender"), Gender.values().map { it.name.lowercase() })
this.inject(setOf("gender"), Gender.entries.map { it.name.lowercase() })
this.inject(setOf("friendship"), setOf("0", Cobblemon.config.maxPokemonFriendship.toString()))
this.inject(setOf("fullness"), setOf("0", "255"))
this.inject(setOf("pokeball"), PokeBalls.all().map { it.name.simplify() })
@@ -164,7 +165,11 @@ internal object PropertiesCompletionProvider : DataRegistry {
private fun addCustom() {
CustomPokemonProperty.properties.forEach { property ->
// We won't tab complete properties that have no key attached to them as it would be fairly hard to determine which one to suggest
if (property.needsKey) {
if (property.needsKey && property !is AbstractChoiceSpeciesFeatureProvider<*>) {
this.inject(property.keys, property.examples())
}
// Except choice features that fill examples with all available choices - Gito
if (property is AbstractChoiceSpeciesFeatureProvider<*>) {
this.inject(property.keys, property.examples())
}
}
@@ -175,4 +180,4 @@ internal object PropertiesCompletionProvider : DataRegistry {
val suggestions: Collection<String>
)
}
}
@@ -855,7 +855,7 @@
"advancements.cobblemon.obtain_berry.description": "地表に育ち多くの用途を持つ、きのみを手に入れる",
"advancements.cobblemon.obtain_mutated_berry": "想定外の結果",
"advancements.cobblemon.obtain_mutated_berry.description": "違う種類のきのみの木を隣り合わせに植えて突然変異を目撃する",
"advancements.cobblemon.obtain_all_berries": "もぎもぎフルーツ",
"advancements.cobblemon.obtain_all_berries": "もぎってナッツ",
"advancements.cobblemon.obtain_all_berries.description": "Cobblemonに登場する全てのきのみを集める",
"advancements.cobblemon.use_pasture": "みんなのポケモン牧場",
"advancements.cobblemon.use_pasture.description": "ぼくじょうブロックを作りポケモンを放し飼いにする",
@@ -5224,29 +5224,29 @@
"cobblemon.species.kingambit.name": "ドドゲザン",
"cobblemon.species.kingambit.desc": "ドドゲザンに 進化できるのは 大軍勢の 頂点に 立った 1匹の キリキザンだけなのだ。",
"cobblemon.species.greattusk.name": "イダイナキバ",
"cobblemon.species.greattusk.desc": "近年 目撃例が ある。 イダイナキバという 名は ある本に 記された 生物から 取られた。 ”§oパルデア未確認ファイル§r §oNo.09 太古から 生き続ける 恐竜!? 謎の生物 イダイナキバ§r §oパルデア某所にある 乾燥地帯において 謎の生物の 目撃が§r §o報告されている。 一見 ドンファンに 似た その生物は§r §o巨大な牙と 強固な鱗を 備えており 好戦的な性質を§r §o示したという。 現代に 生き残る 恐竜というのが 有力な説だが§r §oその正体は 不明。 イダイナキバ という名は かの奇書§r §oスカーレットブックに 記された 謎の生物から 命名されたと いわれる。§r” -謎のオカルト雑誌より引用",
"cobblemon.species.greattusk.desc": "近年 目撃例が ある。 イダイナキバという 名は ある本に 記された 生物から 取られた。 ”パルデア未確認ファイル No.09 太古から 生き続ける 恐竜!? 謎の生物 イダイナキバ パルデア某所にある 乾燥地帯において 謎の生物の 目撃が 報告されている。 一見 ドンファンに 似た その生物は 巨大な牙と 強固な鱗を 備えており 好戦的な性質を 示したという。 現代に 生き残る 恐竜というのが 有力な説だが§r §oその正体は 不明。 イダイナキバ という名は かの奇書 スカーレットブックに 記された 謎の生物から 命名されたと いわれる。” §o-謎のオカルト雑誌より引用§r",
"cobblemon.species.screamtail.name": "サケブシッポ",
"cobblemon.species.screamtail.desc": "10億年前の プリンと オカルト雑誌が 紹介した 謎の ポケモンに 似ている。 ”§oパルデア未確認ファイル No.10§r §o10億年前の プリン 発見!? 謎の生物 サケブシッポ§r §oパルデア某所の 森で 目撃された 謎の生物が サケブシッポ§r §oである。 プリンに 酷似した 愛くるしさを 持っているが§r §o攻撃的な性質で 近づくものに 襲いかかるという。§r §o原始的な姿と 凶暴性から 一説には 10億年前の プリンと§r §o噂されている。 奇書 スカーレットブックに 記された§r §o叫ぶ尻尾と 呼ばれる 謎の生物が 名前の由来 である。§r” -謎のオカルト雑誌より引用",
"cobblemon.species.screamtail.desc": "10億年前の プリンと オカルト雑誌が 紹介した 謎の ポケモンに 似ている。 ”パルデア未確認ファイル No.10 10億年前の プリン 発見!? 謎の生物 サケブシッポ パルデア某所の 森で 目撃された 謎の生物が サケブシッポ である。 プリンに 酷似した 愛くるしさを 持っているが 攻撃的な性質で 近づくものに 襲いかかるという。 原始的な姿と 凶暴性から 一説には 10億年前の プリンと 噂されている。 奇書 スカーレットブックに 記された 叫ぶ尻尾と 呼ばれる 謎の生物が 名前の由来 である。” §o-謎のオカルト雑誌より引用§r",
"cobblemon.species.brutebonnet.name": "アラブルタケ",
"cobblemon.species.brutebonnet.desc": "怪しい 雑誌が 恐竜と キノコの 合成と 紹介した ポケモンに 少し 似ているのだ。 ”§oパルデア未確認ファイル No.06§r §o恐竜?モロバレル? 謎の生物 アラブルタケ§r §o恐竜の特徴とモロバレルの特徴を あわせ持つと 噂される§r §o奇妙な生物。 奇書と 名高い スカーレットブックで 紹介された§r §o荒ぶる茸と 呼ばれる 謎の生物と おおむね 特徴が 一致。§r §oそこから この未確認生物は アラブルタケと 呼ばれるように§r §oなった。 通常の モロバレルより はるかに 身体は 巨大だが§r §o知性は低いようで 凶暴な ハードパンチャーらしい。§r” -謎のオカルト雑誌より引用",
"cobblemon.species.brutebonnet.desc": "怪しい 雑誌が 恐竜と キノコの 合成と 紹介した ポケモンに 少し 似ているのだ。 ”パルデア未確認ファイル No.06 恐竜? モロバレル? 謎の生物 アラブルタケ 恐竜の特徴とモロバレルの特徴を あわせ持つと 噂される 奇妙な生物。 奇書と 名高い スカーレットブックで 紹介された 荒ぶる茸と 呼ばれる 謎の生物と おおむね 特徴が 一致。 そこから この未確認生物は アラブルタケと 呼ばれるように なった。 通常の モロバレルより はるかに 身体は 巨大だが 知性は低いようで 凶暴な ハードパンチャーらしい。” §o-謎のオカルト雑誌より引用§r",
"cobblemon.species.fluttermane.name": "ハバタクカミ",
"cobblemon.species.fluttermane.desc": "オカルト雑誌で 取り上げられた 翼竜の 幽霊と 特徴だけは 似ているのだ。 ”§oパルデア未確認ファイル No.05§r §o翼竜のゴースト!? 謎の生物 ハバタクカミ§r §oその名はスカーレットブックと 呼ばれる 奇書の中に 登場する§r §o謎の生物から 名づけられた。 長い体毛を くねらせ 夜空を§r §oゆらゆらと 飛びまわると いわれる。 目撃者からの§r §o証言によると 一見 巨大なムウマの ようだが 気性が§r §oとても荒く 好戦的とのこと。 古代に 生息した 翼竜の魂から§r §o生まれた ゴーストという 説もある。§r” -謎のオカルト雑誌より引用",
"cobblemon.species.fluttermane.desc": "オカルト雑誌で 取り上げられた 翼竜の 幽霊と 特徴だけは 似ているのだ。 ”パルデア未確認ファイル No.05 翼竜のゴースト!? 謎の生物 ハバタクカミその名は スカーレットブックと 呼ばれる 奇書の中に 登場する 謎の生物から 名づけられた。 長い体毛を くねらせ 夜空を ゆらゆらと 飛びまわると いわれる。 目撃者からの 証言によると 一見 巨大なムウマの ようだが 気性が とても荒く 好戦的とのこと。 古代に 生息した 翼竜の魂から 生まれた ゴーストという 説もある。” §o-謎のオカルト雑誌より引用§r",
"cobblemon.species.slitherwing.name": "チヲハウハネ",
"cobblemon.species.slitherwing.desc": "古い 本で チヲハウハネと 紹介されている 生物に 似た点が ある 謎のポケモン。 ”§oパルデア未確認ファイル No.08§r §o蘇った太古の ウルガモス!? 謎の生物 チヲハウハネ§r §o目撃情報が少なく 極めて 謎の多い 未確認生物が チヲハウハネ§r §oである。 その名は 奇書として 知られる スカーレットブックに§r §o記された 謎の生物に ちなんで 名づけられた。 かつて 本誌が§r §oとりあげた 原始時代の ウルガモスと 共通する特徴が あり§r §o化石から 復元したとも 考えられる。 だが 過去に§r §oウルガモスの化石が 発見された記録は 存在していない。§r” -謎のオカルト雑誌より引用",
"cobblemon.species.slitherwing.desc": "古い 本で チヲハウハネと 紹介されている 生物に 似た点が ある 謎のポケモン。 ”パルデア未確認ファイル No.08 蘇った太古の ウルガモス!? 謎の生物 チヲハウハネ 目撃情報が少なく 極めて 謎の多い 未確認生物が チヲハウハネ である。 その名は 奇書として 知られる スカーレットブックに 記された 謎の生物に ちなんで 名づけられた。 かつて 本誌が§r §oとりあげた 原始時代の ウルガモスと 共通する特徴が あり 化石から 復元したとも 考えられる。 だが 過去に ウルガモスの化石が 発見された記録は 存在していない。§r” §o-謎のオカルト雑誌より引用§r",
"cobblemon.species.sandyshocks.name": "スナノケガワ",
"cobblemon.species.sandyshocks.desc": "オカルト雑誌の 記事にあった 1万年 生きた レアコイルの 姿に やや 似ている。 ”§oパルデア未確認ファイル No.07§r §o寿命1万年の レアコイル!? 謎の生物 スナノケガワ§r §o1万年生きた レアコイルの姿だと 主張する 科学者もいる§r §o謎の生物。 パルデアの 乾燥地帯を 中心に 数件の 目撃報告が§r §oあるものの いまだ 捕獲されたという 記録はない。§r §o攻撃的な性質で 目撃者が 襲われるケースも あるという。§r §o世紀の奇書 スカーレットブックで 紹介された 砂の毛皮と§r §o呼ばれる 謎の生物と 特徴が 一致している。§r” -謎のオカルト雑誌より引用",
"cobblemon.species.sandyshocks.desc": "オカルト雑誌の 記事にあった 1万年 生きた レアコイルの 姿に やや 似ている。 ”パルデア未確認ファイル No.07 寿命1万年の レアコイル!? 謎の生物 スナノケガワ 1万年生きた レアコイルの姿だと 主張する 科学者もいる 謎の生物。 パルデアの 乾燥地帯を 中心に 数件の 目撃報告が あるものの いまだ 捕獲されたという 記録はない。 攻撃的な性質で 目撃者が 襲われるケースも あるという。 世紀の奇書 スカーレットブックで 紹介された 砂の毛皮と 呼ばれる 謎の生物と 特徴が 一致している。” §o-謎のオカルト雑誌より引用§r",
"cobblemon.species.irontreads.name": "テツノワダチ",
"cobblemon.species.irontreads.desc": "オカルト雑誌が 紹介した 宇宙人が 送り込んできた 科学兵器に よく 似ている。 ”§oパルデア未確認ファイル No.09§r §o宇宙人の科学兵器か!? 謎の物体 テツノワダチ§r §oパルデア某所にある 乾燥地帯において 謎の生物の 目撃が§r §o報告されている。 一見 ドンファンに 似た その生物は 突如§r §o球体に 変化すると 高速で 回転し 襲いかかってきたという。§r §o宇宙人の 科学兵器では ないかという 噂もあるが 真相は§r §o不明。 テツノワダチ という名は かの奇書§r §oバイオレットブックに 記された 謎の物体から 命名されたと§r §oいわれる。§r” -謎のオカルト雑誌より引用",
"cobblemon.species.irontreads.desc": "オカルト雑誌が 紹介した 宇宙人が 送り込んできた 科学兵器に よく 似ている。 ”パルデア未確認ファイル No.09 宇宙人の科学兵器か!? 謎の物体 テツノワダチ パルデア某所にある 乾燥地帯において 謎の生物の 目撃が 報告されている。 一見 ドンファンに 似た その生物は 突如 球体に 変化すると 高速で 回転し 襲いかかってきたという。 宇宙人の 科学兵器では ないかという 噂もあるが 真相は 不明。 テツノワダチ という名は かの奇書 バイオレットブックに 記された 謎の物体から 命名されたと いわれる。” §o-謎のオカルト雑誌より引用§r",
"cobblemon.species.ironbundle.name": "テツノツツミ",
"cobblemon.species.ironbundle.desc": "オカルト雑誌の 記事になった 太古の 文明が 生み出した ロボットに 形が 似ている。 ”§oパルデア未確認ファイル No.10§r §o太古の文明が 生んだ ロボット!? 謎の物体 テツノツツミ§r §o奇書バイオレットブックに 書かれた 謎の物体が 名前の由来§r §oである。 デリバードに 似た 形状をしており 球体の装置から§r §o膨大な氷を 噴射し 雪原を 移動するという。 正体に 関しては§r §o多くの説が あるが 超古代文明の産物 という説が 有力。§r §o太古の文献に テツノツツミ らしき 機械を 設計し§r §o使役していたという 記録が 残っているのだ。§r” -謎のオカルト雑誌より引用",
"cobblemon.species.ironbundle.desc": "オカルト雑誌の 記事になった 太古の 文明が 生み出した ロボットに 形が 似ている。 ”パルデア未確認ファイル No.10 太古の文明が 生んだ ロボット!? 謎の物体 テツノツツミ 奇書 バイオレットブックに 書かれた 謎の物体が 名前の由来 である。 デリバードに 似た 形状をしており 球体の装置から 膨大な氷を 噴射し 雪原を 移動するという。 正体に 関しては 多くの説が あるが 超古代文明の産物 という説が 有力。 太古の文献に テツノツツミ らしき 機械を 設計し 使役していたという 記録が 残っているのだ。” §o-謎のオカルト雑誌より引用§r",
"cobblemon.species.ironhands.name": "テツノカイナ",
"cobblemon.species.ironhands.desc": "あるアスリートが 改造された 姿だと オカルト雑誌が スクープした サイボーグに 近い。 ”§oパルデア未確認ファイル§r §oNo.05 その正体は サイボーグ!? 謎の物体 テツノカイナ§r §o世紀の奇書 バイオレットブックに 記された 鉄の腕と 呼ばれる§r §o謎の物体から 命名された。 自在に動く 掌で 高速で§r §o走っていた 大型車両を 投げ飛ばしたという。 テツノカイナの§r §o正体として 有力なのは 瀕死の重傷を 負った アスリートが§r §oサイボーグ化した という説である。 ただ 何故 ハリテヤマを§r §o模した姿に なったのかは 謎に つつまれているのだ。§r” -謎のオカルト雑誌より引用",
"cobblemon.species.ironhands.desc": "あるアスリートが 改造された 姿だと オカルト雑誌が スクープした サイボーグに 近い。 ”パルデア未確認ファイル No.05 その正体は サイボーグ!? 謎の物体 テツノカイナ 世紀の奇書 バイオレットブックに 記された 鉄の腕と 呼ばれる 謎の物体から 命名された。 自在に動く 掌で 高速で 走っていた 大型車両を 投げ飛ばしたという。 テツノカイナの 正体として 有力なのは 瀕死の重傷を 負った アスリートが サイボーグ化した という説である。 ただ 何故 ハリテヤマを 模した姿に なったのかは 謎に つつまれているのだ。” §o-謎のオカルト雑誌より引用§r",
"cobblemon.species.ironjugulis.name": "テツノコウベ",
"cobblemon.species.ironjugulis.desc": "ロボットに 恋した サザンドラの 子どもと オカルト雑誌が 取り上げた ポケモンに 似ている。 ”§oパルデア未確認ファイル§r §oNo.07 機械!? ポケモン!? 謎の物体 テツノコウベ§r §oパルデア某所にて 目撃された サザンドラに 似た 危険な§r §o飛行物体。 高エネルギーを 放射し 建造物を 徹底的に§r §o破壊すると 次の標的を 求めるように§r §o飛び去っていったという。 サザンドラの凶暴性と§r §o機械の冷酷さを あわせ持つため 機械と サザンドラの§r §oハイブリッドなのではと 噂される。 奇書§r §oバイオレットブックに 書かれた 謎の物体が 名前の由来§r §oである。§r” -謎のオカルト雑誌より引用",
"cobblemon.species.ironjugulis.desc": "ロボットに 恋した サザンドラの 子どもと オカルト雑誌が 取り上げた ポケモンに 似ている。 ”パルデア未確認ファイル No.07 機械!? ポケモン!? 謎の物体 テツノコウベ パルデア某所にて 目撃された サザンドラに 似た 危険な 飛行物体。 高エネルギーを 放射し 建造物を 徹底的に 破壊すると 次の標的を 求めるように 飛び去っていったという。 サザンドラの凶暴性と 機械の冷酷さを あわせ持つため 機械と サザンドラの ハイブリッドなのではと 噂される。 奇書 バイオレットブックに 書かれた 謎の物体が 名前の由来 である。” §o-謎のオカルト雑誌より引用§r",
"cobblemon.species.ironmoth.name": "テツノドクガ",
"cobblemon.species.ironmoth.desc": "人類を 監視する UFOだと オカルト雑誌が 紹介した 未知の 物体に 似ている。 ”§oパルデア未確認ファイル No.08§r §o人類を監視する UFO!? 謎の物体 テツノドクガ§r §o世紀の奇書バイオレットブックに 登場する 謎の物体から§r §o命名された。 ウルガモスに 似た 飛行物体であり 上空から§r §o地上の人々を 追尾し 時に 襲いかかってくることが§r §oあるという。 攻撃的な性質を 持つ 理由として テツノドクガの§r §o正体は 宇宙人が あやつる UFOだという 説がある。§r §oテツノドクガを 使い 人類を 監視し 侵略の機会を§r §oうかがっているかもしれない。§r” -謎のオカルト雑誌より引用",
"cobblemon.species.ironmoth.desc": "人類を 監視する UFOだと オカルト雑誌が 紹介した 未知の 物体に 似ている。 ”パルデア未確認ファイル No.08 人類を監視する UFO!? 謎の物体 テツノドクガ 世紀の奇書 バイオレットブックに 登場する 謎の物体から 命名された。 ウルガモスに 似た 飛行物体であり 上空から 地上の人々を 追尾し 時に 襲いかかってくることが あるという。 攻撃的な性質を 持つ 理由として テツノドクガの 正体は 宇宙人が あやつる UFOだという 説がある。 テツノドクガを 使い 人類を 監視し 侵略の機会を うかがっているかもしれない。” §o-謎のオカルト雑誌より引用§r",
"cobblemon.species.ironthorns.name": "テツノイバラ",
"cobblemon.species.ironthorns.desc": "10億年後の バンギラスと 怪しい 雑誌が 取り上げていた ポケモンに 似た 部分が ある。 ”§oパルデア未確認ファイル§r §oNo.06 10億年後の バンギラス!? 謎の物体 テツノイバラ§r §oパルデア某所 とある洞くつで 目撃された 謎の物体が§r §oテツノイバラ である。 バンギラスに 酷似しているが 極めて§r §o冷徹な性質を 持つとともに 無駄な争いを 好まないという。§r §o金属質の装甲や 高い知性から 10億年後の バンギラスと§r §o噂されている。 奇書 バイオレットブックに 記された 鉄の茨と§r §o呼ばれる 謎の物体が 名前の由来に なっている。§r” -謎のオカルト雑誌より引用",
"cobblemon.species.ironthorns.desc": "10億年後の バンギラスと 怪しい 雑誌が 取り上げていた ポケモンに 似た 部分が ある。 ”パルデア未確認ファイル No.06 10億年後の バンギラス!? 謎の物体 テツノイバラ パルデア某所 とある洞くつで 目撃された 謎の物体が テツノイバラ である。 バンギラスに 酷似しているが 極めて 冷徹な性質を 持つとともに 無駄な争いを 好まないという。 金属質の装甲や 高い知性から 10億年後の バンギラスと 噂されている。 奇書 バイオレットブックに 記された 鉄の茨と 呼ばれる 謎の物体が 名前の由来に なっている。” §o-謎のオカルト雑誌より引用§r",
"cobblemon.species.frigibax.name": "セビエ",
"cobblemon.species.frigibax.desc": "背びれで 熱を 吸収して 氷エネルギーに 変換する。 高温ほど エネルギーが 溜まる。",
"cobblemon.species.arctibax.name": "セゴール",
@@ -5266,9 +5266,9 @@
"cobblemon.species.chiyu.name": "イーユイ",
"cobblemon.species.chiyu.desc": "多くの 争いの 火種となった 勾玉に 集まった 妬みが 炎を まとい ポケモンとなった。",
"cobblemon.species.roaringmoon.name": "トドロクツキ",
"cobblemon.species.roaringmoon.desc": "謎の 多い 探検記の中で トドロクツキという 名で 記された 生物の 可能性が ある。 ”§oパルデア未確認ファイル No.04§r §o原始の ボーマンダ!? §o謎の生物 トドロクツキ§r §o奇書スカーレットブックに 書かれた 謎の生物が 名前の由来に§r §oなっている。 その姿は ほかの地方で ボーマンダに 発生する§r §oとある現象の 結果に 酷似しているが 関連性は 不明。 羽毛を§r §oまき散らしながら 高速で 飛びまわり 獲物を 襲う。 その§r §o凶暴な性質は ボーマンダ以上と 考えられており§r §o遭遇することが あっても 絶対に 接触を 避けるべきである。§r” -謎のオカルト雑誌より引用",
"cobblemon.species.roaringmoon.desc": "謎の 多い 探検記の中で トドロクツキという 名で 記された 生物の 可能性が ある。 ”パルデア未確認ファイル No.04 原始の ボーマンダ!? 謎の生物 トドロクツキ 奇書 スカーレットブックに 書かれた 謎の生物が 名前の由来に なっている。 その姿は ほかの地方で ボーマンダに 発生する とある現象の 結果に 酷似しているが 関連性は 不明。 羽毛を まき散らしながら 高速で 飛びまわり 獲物を 襲う。 その 凶暴な性質は ボーマンダ以上と 考えられており 遭遇することが あっても 絶対に 接触を 避けるべきである。” §o-謎のオカルト雑誌より引用§r",
"cobblemon.species.ironvaliant.name": "テツノブジン",
"cobblemon.species.ironvaliant.desc": "オカルト雑誌の 記事に あった マッドサイエンティストの 発明と 近い 特徴が いくつかある。 ”§oパルデア未確認ファイル§r §oNo.04 博士の 異常な発明!? 謎の物体 テツノブジン§r §o奇書バイオレットブックに 書かれた 謎の物体が 名前の由来に§r §oなっている。 最強の エスパーポケモンを 求める§r §oマッドサイエンティストに よって 造られた ロボットという§r §o説がある。 数少ない 目撃者からの 証言によるとサーナイトと§r §oエルレイド どちらにも見えるような 奇妙な姿を§r §oしており対峙する者は 光りかがやく刃で 躊躇なく 切り捨てる§r §o残酷さを 持っているという。§r” -謎のオカルト雑誌より引用",
"cobblemon.species.ironvaliant.desc": "オカルト雑誌の 記事に あった マッドサイエンティストの 発明と 近い 特徴が いくつかある。 ”パルデア未確認ファイル No.04 博士の 異常な発明!? 謎の物体 テツノブジン 奇書 バイオレットブックに 書かれた 謎の物体が 名前の由来に なっている。 最強の エスパーポケモンを 求める マッドサイエンティストに よって 造られた ロボットという 説がある。 数少ない 目撃者からの 証言によるとサーナイトと エルレイド どちらにも見えるような 奇妙な姿を しており対峙する者は 光りかがやく刃で 躊躇なく 切り捨てる 残酷さを 持っているという。” §o-謎のオカルト雑誌より引用§r",
"cobblemon.species.koraidon.name": "コライドン",
"cobblemon.species.koraidon.desc": "拳で 大地を 引き裂いたと 古い 探検記に 記された §oツバサノオウ§rの 正体らしい。",
"cobblemon.species.miraidon.name": "ミライドン",
@@ -5957,7 +5957,7 @@
"item.cobblemon.galarica_nuts": "ガラナツのナッツ",
"cobblemon.pokerod.apply": "右クリックでエサを付ける",
"item.cobblemon.npc_editor": "NPCのトレーナーカード",
"item.cobblemon.link_cable.tooltip": "なにかしらのつながりを感じさせる 不思議なエネルギーを秘めているヒモ。 ポケモン交換で進化するポケモンを進化させる。",
"item.cobblemon.link_cable.tooltip": "ポケモン交換で進化するポケモンを進化させられるヒモ。",
"item.cobblemon.dragon_scale.tooltip": "硬くて 丈夫な ウロコ。 シードラに持たせてポケモン交換すると キングドラに進化する。",
"item.cobblemon.kings_rock.tooltip_1": "持たせると 攻撃して ダメージを 与えたときに 相手を ひるませることが ある。",
"item.cobblemon.metal_coat.tooltip_1": "特殊な金属の 膜。 持たせると はがねタイプの 技の威力が 上がる。",
@@ -5968,11 +5968,11 @@
"item.cobblemon.deep_sea_scale.tooltip_2": "パールルに持たせてポケモン交換すると サクラビスに進化する。",
"item.cobblemon.deep_sea_tooth.tooltip_1": "パールルに 持たせると 特攻が あがる キバ。",
"item.cobblemon.deep_sea_tooth.tooltip_2": "パールルに持たせてポケモン交換すると ハンテールに進化する。",
"item.cobblemon.electirizer.tooltip": "とてつもない 電気の エネルギーが 蓄えられている 箱。 エレブーに持たせてポケモン交換すると エレキブルに進化する。",
"item.cobblemon.magmarizer.tooltip": "とてつもない マグマの エネルギーが 蓄えられている 箱。 ブーバーに持たせてポケモン交換すると ブーバーンに進化する。",
"item.cobblemon.electirizer.tooltip": "電気が蓄えられた箱。 エレブーに持たせてポケモン交換すると エレキブルに進化する。",
"item.cobblemon.magmarizer.tooltip": "マグマが蓄えられた箱。 ブーバーに持たせてポケモン交換すると ブーバーンに進化する。",
"item.cobblemon.oval_stone.tooltip": "ある特定の ポケモンを 進化させる 不思議な石。 たまのように まるい。",
"item.cobblemon.reaper_cloth.tooltip": "おそろしく 強い霊力が こめられている 布。 サマヨールに持たせてポケモン交換すると ヨノワールに進化する。",
"item.cobblemon.sachet.tooltip": "ちょっと きつめの 香りをだす 香料を 詰めた 袋。 シュシュプに持たせてポケモン交換すると フレフワンに進化する。",
"item.cobblemon.sachet.tooltip": "きつめの 香料を 詰めた 袋。 シュシュプに持たせてポケモン交換すると フレフワンに進化する。",
"item.cobblemon.strawberry_sweet.tooltip": "いちごの形をした アメ細工。 マホミルに使うと いちごのアメざいくを身に付けた マホイップになる。",
"item.cobblemon.berry_sweet.tooltip": "ベリーの形をした アメ細工。 マホミルに使うと ベリーのアメざいくを身に付けた マホイップになる。",
"item.cobblemon.clover_sweet.tooltip": "よつばの形をした アメ細工。 マホミルに使うと よつばのアメざいくを身に付けた マホイップになる。",
@@ -6052,7 +6052,7 @@
"item.cobblemon.grass_gem.tooltip_2": "使うとなくなる。",
"item.cobblemon.dragon_gem.tooltip_2": "使うとなくなる。",
"item.cobblemon.ghost_gem.tooltip_2": "使うとなくなる。",
"item.cobblemon.whipped_dream.tooltip": "ふんわり ふわふわに 泡立てた ほんのり 甘い クリーム。 ペロッパフに持たせてポケモン交換すると ペロリームに進化する。",
"item.cobblemon.whipped_dream.tooltip": "ふわふわに 泡立てた クリーム。 ペロッパフに持たせてポケモン交換すると ペロリームに進化する。",
"item.cobblemon.sun_stone.tooltip": "ある特定の ポケモンを 進化させる 不思議な石。 太陽のように 赤い。",
"item.cobblemon.prism_scale.tooltip": "にじ色に 輝く 不思議なウロコ。 ヒンバスに持たせてポケモン交換すると ミロカロスに進化する。",
"item.cobblemon.love_sweet.tooltip": "ハートの形をした アメ細工。 マホミルに使うと ハートのアメざいくを身に付けた マホイップになる。",
@@ -6115,7 +6115,7 @@
"item.cobblemon.poison_barb.tooltip": "どくのある ちいさな ハリ。 持たせると どくタイプの 技の威力が あがる。",
"item.cobblemon.punching_glove.tooltip": "こぶしを 保護する グローブ。 持たせると パンチ技の 威力が あがり 相手に 接触しない パンチに なる。",
"item.cobblemon.quick_claw.tooltip": "軽くて 鋭い ツメ。 持たせると 相手より 先に 行動できることが ある。",
"item.cobblemon.razor_fang.tooltip_1": "鋭く とがった キバ。持たせると ダメージを 与えたとき ひるませることが ある。",
"item.cobblemon.razor_fang.tooltip_1": "鋭く とがった キバ。 持たせると ダメージを 与えたとき ひるませることが ある。",
"item.cobblemon.razor_fang.tooltip_2": "グライガーに 持たせると、 夜にグライオンに進化する。",
"item.cobblemon.red_card.tooltip_1": "不思議な ちからのある カード。 持たせると ダメージを 与えてきた 相手を 控えに 退場させることが できる。",
"item.cobblemon.rocky_helmet.tooltip": "ポケモンに 持たせると 自分に さわった相手に ダメージを 与える。",
@@ -6219,7 +6219,7 @@
"cobblemon.egg_group.water_2": "水中②",
"cobblemon.egg_group.ditto": "メタモン",
"cobblemon.egg_group.dragon": "ドラゴン",
"cobblemon.egg_group.undiscovered": "タマゴ未発見",
"cobblemon.egg_group.undiscovered": "未発見",
"cobblemon.trade.canceled.sender": "%1$s との交換リクエストをキャンセルしました。",
"cobblemon.trade.canceled.receiver": "%1$s が交換リクエストをキャンセルしました...",
"cobblemon.trade.sent": "%1$s との交換をリクエストしました。",
@@ -6254,7 +6254,7 @@
"cobblemon.trade.accept.receiver": "あなたは %1$s の交換リクエストを受け入れました!",
"item.cobblemon.safety_goggles.tooltip": "天候の ダメージだけでなく 粉を だす 技の 効果も 防げる ゴーグル。",
"item.cobblemon.shell_bell.tooltip": "持たせた ポケモンが 攻撃して 相手に ダメージを あたえたとき HPを 少し 回復できる。",
"item.cobblemon.shell_helmet.tooltip": "とあるポケモンが身に付けていた殻。 カブルモに使うと シュバルゴに進化する。",
"item.cobblemon.shell_helmet.tooltip": "とあるポケモンが 身に付けていた 殻。 カブルモに使うと シュバルゴに進化する。",
"cobblemon.trade.expired.sender": "%1$s との交換リクエストがタイムアウトしました。",
"item.cobblemon.ground_gem.tooltip_1": "じめんのタイプの ジュエル。 持たせると 1度だけ じめんの 技の威力が 強まる。",
"item.cobblemon.x_attack.tooltip": "戦闘中の ポケモンの 攻撃を 2段階 あげる 道具。 ひっこめると 元に 戻る。",
@@ -6981,7 +6981,7 @@
"cobblemon.mark.ribbon_contest_sinnoh_tough_3.desc": "スーパーコンテスト たくましさ部門 ウルトラランク 優勝!",
"cobblemon.mark.ribbon_contest_sinnoh_tough_4": "パワフルリボンマスター",
"cobblemon.mark.ribbon_contest_super_master_beauty": "うつくしさマスターリボン",
"cobblemon.mark.ribbon_contest_super_master_beauty.title": "とうじきれいだった %1$s",
"cobblemon.mark.ribbon_contest_super_master_beauty.title": "とうじからきれいな %1$s",
"cobblemon.mark.ribbon_contest_super_master_beauty.desc": "コンテストで うつくしさを 発揮した ポケモンに 贈られる 記念リボン",
"cobblemon.mark.ribbon_contest_super_master_cleverness": "かしこさマスターリボン",
"cobblemon.mark.ribbon_contest_super_master_cleverness.title": "てんさいとよばれた %1$s",
@@ -7002,7 +7002,7 @@
"cobblemon.mark.ribbon_contest_super_master_coolness": "かっこよさマスターリボン",
"cobblemon.mark.ribbon_contest_super_master_cuteness.desc": "コンテストで かわいさを 発揮した ポケモンに 贈られる 記念リボン",
"cobblemon.mark.ribbon_contest_super_master_toughness": "たくましさマスターリボン",
"cobblemon.mark.ribbon_contest_super_master_toughness.title": "ムキムキの %1$s",
"cobblemon.mark.ribbon_contest_super_master_toughness.title": "むかしからムキムキの %1$s",
"cobblemon.mark.ribbon_contest_super_master_toughness.desc": "コンテストで たくましさを 発揮した ポケモンに 贈られる 記念リボン",
"cobblemon.mark.ribbon_contest_super_star": "コンテストスターリボン",
"cobblemon.mark.ribbon_contest_super_star.title": "でんせつてきスターの %1$s",
@@ -9243,7 +9243,7 @@
"cobblemon.ui.moves.learnset.tm.discovered": "発見済み",
"cobblemon.ui.moves.level": "レベルアップ",
"cobblemon.ui.moves.egg": "タマゴ技",
"cobblemon.ui.moves.tm": "わざマシン",
"cobblemon.ui.moves.tm": "わざマシン",
"cobblemon.ui.tm_machine.can_learn": "覚えられる",
"cobblemon.ui.tm_machine.cannot_learn": "覚えられない",
"cobblemon.ui.tm_machine.learned": "覚えている",
@@ -9596,5 +9596,42 @@
"cobblemon.config.ui.world_spawning_blocklist": "ワールドごとのスポーンブロックリスト",
"cobblemon.config.ui.world_spawning_blocklist.tooltip": "ポケモンの出現ロジックを無効にするワールド。",
"advancements.cobblemon.obtain_tm": "Show Me Your Moves!",
"advancements.cobblemon.obtain_tm.description": "わざマシンを見つけるか、印刷する"
"advancements.cobblemon.obtain_tm.description": "わざマシンを見つけるか、印刷する",
"itemGroup.cobblemon.tm_item": "Cobblemon:わざマシン",
"block.cobblemon.wistensu": "フジブヨウ",
"block.cobblemon.lobaila": "ミゾグレン",
"block.cobblemon.pauvillea": "フラビリア",
"block.cobblemon.pomohana": "ポンノハナ",
"block.cobblemon.voltaconia": "ボルトコニア",
"block.cobblemon.verdroot": "ミノルート",
"block.cobblemon.lucibell": "サイヴェル",
"block.cobblemon.mistleaf": "ミストリーフ",
"cobblemon.ui.pokedex.info.evolution_tree": "進化の流れ",
"cobblemon.ui.pokedex.evolution.item_interact.tooltip": "%1$sが必要",
"cobblemon.ui.pokedex.evolution.trade.tooltip.with_species": "%1$sとのポケモン交換で進化",
"cobblemon.ui.pokedex.evolution.trade.tooltip.with_any_species": "ポケモン交換で進化",
"cobblemon.ui.pokedex.evolution.shedder.tooltip": "予備のモンスターボールと手持ちの空きが必要",
"cobblemon.ui.pokedex.evolution.or": "または",
"cobblemon.ui.pokedex.evolution.one_of": "以下のいずれか:",
"cobblemon.ui.pokedex.requirement.advancement.tooltip": "プレイヤーが進捗 %1$sを達成している必要あり",
"cobblemon.ui.pokedex.requirement.battle_critical_hits.tooltip": "バトルで%1$s回急所に当てる",
"cobblemon.ui.pokedex.requirement.biome.anticondition.tooltip": "%1$sバイオームでは進化出来ない",
"cobblemon.ui.pokedex.requirement.biome.both.tooltip": "%2$sを除いた%1$sバイオームでのみ進化",
"cobblemon.ui.pokedex.requirement.biome.tooltip": "%1$sバイオームでのみ進化",
"cobblemon.ui.pokedex.requirement.blocks_traveled.tooltip": "%1$sブロック分旅をする",
"cobblemon.ui.pokedex.requirement.damage_taken.tooltip": "バトルで倒れず%1$sダメージ受ける",
"cobblemon.ui.pokedex.requirement.defeat.tooltip": "進化するためにはバトルで%1$sを倒す",
"cobblemon.ui.pokedex.requirement.friendship.tooltip": "なかよし度%1$sが必要",
"cobblemon.ui.pokedex.requirement.has_move.tooltip": "%1$sを覚える必要がある",
"cobblemon.ui.pokedex.requirement.has_move_type.tooltip": "%1$sタイプの技を覚えておく必要がある",
"cobblemon.ui.pokedex.requirement.held_item.tooltip": "%1$sを持っている必要がある",
"cobblemon.ui.pokedex.requirement.level.tooltip.min": "レベル%1$sから進化",
"cobblemon.ui.pokedex.requirement.party_member.tooltip": "レベルが%1$sから%2$sの間で進化",
"cobblemon.ui.pokedex.requirement.pokemon_properties.tooltip": "%1$sでなければいけない",
"cobblemon.ui.pokedex.requirement.properties.and": "%1$s と %2$s",
"cobblemon.ui.pokedex.requirement.level.tooltip.between": "レベルが%1$sから%2$sの間で進化",
"cobblemon.ui.pokedex.requirement.moon_phase.tooltip": "月の満ち欠けが%1$sでなければいけない",
"cobblemon.ui.pokedex.requirement.nature.toxtricity_amped": "性格が§aがんばりや§r、 §aゆうかん§r、 §aいじっぱり§r、 §aやんちゃ§r、 §aすなお§r、 §aわんぱく§r、 §aのうてんき§r、 §aせっかち§r、 §aようき§r、 §aむじゃき§r、 §aうっかりや§r、 §aなまいき§r、 §aきまぐれ§rのどれか",
"cobblemon.ui.pokedex.requirement.nature.toxtricity_low_key": "性格が§aさみしがり§r、 §aずぶとい§r、 §aのんき§r、 §aおくびょう§r、 §aまじめ§r、 §aひかえめ§r、 §aおっとり§r、 §aれいせい§r、 §aてれや§r、 §aおだやか§r、 §a\tおとなしい§r、 §aしんちょう§rのどれか",
"cobblemon.ui.pokedex.requirement.nickname.malamar": "ニックネームを§aDinnerbone§rか§aGrumm§rにする"
}
@@ -9413,5 +9413,114 @@
"cobblemon.ui.pokedex.info.form.tatsugiri-stretchymega": "Mega Tatsugiri Forma Estendida",
"cobblemon.species.tatsugiri-stretchymega.desc": "Usando a energia da Mega Evolução, cria um prato onde repousar, permitindo com que se mova com mobilidade total até mesmo pelo ar.",
"cobblemon.ui.pokedex.info.form.baxcalibur-mega": "Mega Baxcalibur",
"cobblemon.species.baxcalibur-mega.desc": "A lâmina dorsal de Baxcalibur ficou ainda maior graças à Mega Evolução. Esse Pokémon dispara feixes do cabo localizado em seu peito."
"cobblemon.species.baxcalibur-mega.desc": "A lâmina dorsal de Baxcalibur ficou ainda maior graças à Mega Evolução. Esse Pokémon dispara feixes do cabo localizado em seu peito.",
"itemGroup.cobblemon.tm_item": "Cobblemon: Máquinas Técnicas",
"block.cobblemon.pomohana": "Pomohana",
"block.cobblemon.pauvillea": "Pa'uvillea",
"block.cobblemon.lobaila": "Lobaila",
"block.cobblemon.wistensu": "Wistensu",
"block.cobblemon.voltaconia": "Voltaconia",
"block.cobblemon.verdroot": "Verdroot",
"block.cobblemon.lucibell": "Lucibell",
"block.cobblemon.mistleaf": "Mistleaf",
"cobblemon.ui.pokedex.info.evolution_tree": "Árvore Evolutiva",
"cobblemon.ui.pokedex.evolution.item_interact.tooltip": "Precisa do item %1$s para evoluir",
"cobblemon.ui.pokedex.evolution.trade.tooltip.with_species": "Evolui quando trocado segurando %1$s",
"cobblemon.ui.pokedex.evolution.trade.tooltip.with_any_species": "Evolui quando trocado",
"cobblemon.ui.pokedex.evolution.shedder.tooltip": "Também requer uma Pokébola extra e um espaço vazio na equipe",
"cobblemon.ui.pokedex.evolution.or": "OU",
"cobblemon.ui.pokedex.evolution.one_of": "Um de:",
"cobblemon.ui.pokedex.requirement.advancement.tooltip": "Jogador precisa ter a conquista %1$s",
"cobblemon.ui.pokedex.requirement.battle_critical_hits.tooltip": "Precisa acertar %1$s acertos críticos em batalha",
"cobblemon.ui.pokedex.requirement.biome.anticondition.tooltip": "Não pode estar no bioma %1$s",
"cobblemon.ui.pokedex.requirement.biome.both.tooltip": "Precisa estar no bioma %1$s e não no bioma %2$s",
"cobblemon.ui.pokedex.requirement.biome.tooltip": "Precisa estar no bioma %1$s",
"cobblemon.ui.pokedex.requirement.blocks_traveled.tooltip": "Precisa viajar %1$s blocos",
"cobblemon.ui.pokedex.requirement.damage_taken.tooltip": "Precisa receber %1$s de dano em uma batalha sem desmaiar",
"cobblemon.ui.pokedex.requirement.defeat.tooltip": "Precisa derrotar %1$s em batalha para evoluir",
"cobblemon.ui.pokedex.requirement.friendship.tooltip": "Requer no mínimo %1$s de amizade",
"cobblemon.ui.pokedex.requirement.has_move.tooltip": "Precisa conhecer o movimento %1$s",
"cobblemon.ui.pokedex.requirement.has_move_type.tooltip": "Precisa conhecer um movimento do tipo %1$s",
"cobblemon.ui.pokedex.requirement.held_item.tooltip": "Precisa estar segurando %1$s",
"cobblemon.ui.pokedex.requirement.level.tooltip.min": "Evolui ao ultrapassar o nível %1$s",
"cobblemon.ui.pokedex.requirement.level.tooltip.between": "Evoluiu entre os níveis %1$s e %2$s",
"cobblemon.ui.pokedex.requirement.moon_phase.tooltip": "Precisa evoluir na fase %1$s da lua",
"cobblemon.ui.pokedex.requirement.nature.toxtricity_amped": "Precisa ter a natureza §aDestemida§r, §aValente§r, §aRígida§r, §aTeimosa§r, §aDócil§r, §aInquieta§r, §aRelaxada§r, §aApressada§r, §aAlegre§r, §aInguênua§r, §aImprudente§r, §aAtrevida§r, ou §aPeculiar§r",
"cobblemon.ui.pokedex.requirement.nature.toxtricity_low_key": "Precisa ter a natureza §aSolitária§r, §aCorajosa§r, §aDescontraída§r, §aTímida§r, §aSéria§r, §aModesta§r, §aMansa§r, §aQuieta§r, §aAtrapalhada§r, §aCalma§r, §aGentil§r, ou §aCuidadosa§r",
"cobblemon.ui.pokedex.requirement.negate.tooltip": "Não: %1$s",
"cobblemon.ui.pokedex.requirement.nickname.malamar": "Precisa se chamar §aDinnerbone§r ou §aGrumm§r",
"cobblemon.ui.pokedex.requirement.party_member.anticondition.tooltip": "Equipe não pode ter um Pokémon com %1$s",
"cobblemon.ui.pokedex.requirement.party_member.tooltip": "Equipe precisa ter um Pokémon com %1$s",
"cobblemon.ui.pokedex.requirement.pokemon_properties.tooltip": "Precisa estar %1$s",
"cobblemon.ui.pokedex.requirement.properties.and": "%1$s e %2$s",
"cobblemon.ui.pokedex.requirement.properties.custom.cocoon_species": "Casulo %1$s",
"cobblemon.ui.pokedex.requirement.properties.held_item": "Segurando %1$s",
"cobblemon.ui.pokedex.requirement.properties.int_feature": "%1$s %2$s",
"cobblemon.ui.pokedex.requirement.properties.nature": "Natureza %1$s",
"cobblemon.ui.pokedex.requirement.properties.nickname": "Nomeado %1$s",
"cobblemon.ui.pokedex.requirement.properties.type": "Tipo %1$s",
"cobblemon.ui.pokedex.requirement.property_range.tooltip": "Requer %1$s entre %2$s e %3$s",
"cobblemon.ui.pokedex.requirement.recoil.tooltip": "Precisa sofrer %1$s unidades de recuo em batalha",
"cobblemon.ui.pokedex.requirement.stat_compare.tooltip": "Precisa ter seu %1$s acima de %2$s",
"cobblemon.ui.pokedex.requirement.stat_equal.tooltip": "Precisa ter seu %1$s igual ao seu %2$s",
"cobblemon.ui.pokedex.requirement.structure.anticondition.tooltip": "Não pode estar na estrutura %1$s",
"cobblemon.ui.pokedex.requirement.structure.both.tooltip": "Precisa estar na estrutura %1$s e não na estrutura %2$s",
"cobblemon.ui.pokedex.requirement.structure.tooltip": "Precisa estar na estrutura %1$s",
"cobblemon.ui.pokedex.requirement.time_range.tooltip": "Precisa evoluir durante %1$s",
"cobblemon.ui.pokedex.requirement.use_move.tooltip": "Precisa usar o movimento %1$s em batalha",
"cobblemon.ui.pokedex.requirement.weather.tooltip.raining": "Precisa estar na chuva para evoluir",
"cobblemon.ui.pokedex.requirement.weather.tooltip.thundering": "Precisa estar em uma tempestade para evoluir",
"cobblemon.ui.moon_phase.full_moon": "Lua Cheia",
"cobblemon.ui.moon_phase.waning_gibbous": "Crescente Gibosa",
"cobblemon.ui.moon_phase.third_quarter": "Quarto Crescente",
"cobblemon.ui.moon_phase.waning_crescent": "Crescente",
"cobblemon.ui.moon_phase.new_moon": "Lua Nova",
"cobblemon.ui.moon_phase.waxing_crescent": "Minguante",
"cobblemon.ui.moon_phase.first_quarter": "Quarto Minguante",
"cobblemon.ui.moon_phase.waxing_gibbous": "Minguante Gibosa",
"cobblemon.ui.time_range.any": "Qualquer",
"cobblemon.ui.time_range.day": "Dia",
"cobblemon.ui.time_range.night": "Noite",
"cobblemon.ui.time_range.noon": "Meio-dia",
"cobblemon.ui.time_range.midnight": "Meia-noite",
"cobblemon.ui.time_range.dawn": "Alvorecer",
"cobblemon.ui.time_range.dusk": "Entardecer",
"cobblemon.ui.time_range.twilight": "Crepúsculo",
"cobblemon.ui.time_range.morning": "Manhã",
"cobblemon.ui.time_range.afternoon": "Tarde",
"cobblemon.ui.time_range.predawn": "Pré-amanhecer",
"cobblemon.ui.time_range.evening": "Tardinha",
"cobblemon.subtitle.item.bright_powder.use": "Pó Brilhante ilumina",
"cobblemon.config.ui.type_gem_max_connected": "Máximo de Blocos de Gema de Tipo Conectados",
"cobblemon.config.ui.type_gem_min_growth": "Mínimo de Crescimento de Gema de Tipo",
"cobblemon.config.ui.type_gem_growth_chance": "Chance de Crescimento de Gema de Tipo",
"cobblemon.config.ui.type_gem_initial_expansion_cycles": "Cíclos de Expansão Iniciais de Gemas de Tipo",
"cobblemon.battle.activate.ficklebeam": "%1$s vai com tudo neste próximo ataque!",
"tag.item.cobblemon.oricorio_flowers": "Flores de Néctar",
"tag.item.cobblemon.terrain_plants": "Plantas de Terreno",
"tag.item.cobblemon.tall_flowers": "Flores Altas",
"tag.worldgen.biome.cobblemon.evolution.regional.bergmite_hisuibiome": "Hisuiano",
"tag.worldgen.biome.cobblemon.evolution.regional.bergmite_kalosbiome": "Kalosiano",
"tag.worldgen.biome.cobblemon.evolution.regional.cubone_alolabiome": "Alolano",
"tag.worldgen.biome.cobblemon.evolution.regional.cubone_kantobiome": "Kantoniano",
"tag.worldgen.biome.cobblemon.evolution.regional.dartrix_alolabiome": "Alolano",
"tag.worldgen.biome.cobblemon.evolution.regional.dartrix_hisuibiome": "Hisuiano",
"tag.worldgen.biome.cobblemon.evolution.regional.dewott_hisuibiome": "Hisuiano",
"tag.worldgen.biome.cobblemon.evolution.regional.dewott_unovabiome": "Unovano",
"tag.worldgen.biome.cobblemon.evolution.regional.exeggcute_alolabiome": "Alolano",
"tag.worldgen.biome.cobblemon.evolution.regional.exeggcute_kantobiome": "Kantoniano",
"tag.worldgen.biome.cobblemon.evolution.regional.goomy_hisuibiome": "Hisuiano",
"tag.worldgen.biome.cobblemon.evolution.regional.goomy_kalosbiome": "Kalosiano",
"tag.worldgen.biome.cobblemon.evolution.regional.koffing_galarbiome": "Galariano",
"tag.worldgen.biome.cobblemon.evolution.regional.koffing_kantobiome": "Kantoniano",
"tag.worldgen.biome.cobblemon.evolution.regional.mimejr_galarbiome": "Galariano",
"tag.worldgen.biome.cobblemon.evolution.regional.mimejr_sinnohbiome": "Sinnohano",
"tag.worldgen.biome.cobblemon.evolution.regional.petilil_hisuibiome": "Hisuiano",
"tag.worldgen.biome.cobblemon.evolution.regional.petilil_unovabiome": "Unovano",
"tag.worldgen.biome.cobblemon.evolution.regional.pikachu_alolabiome": "Alolano",
"tag.worldgen.biome.cobblemon.evolution.regional.pikachu_kantobiome": "Kantoniano",
"tag.worldgen.biome.cobblemon.evolution.regional.quilava_hisuibiome": "Hisuiano",
"tag.worldgen.biome.cobblemon.evolution.regional.quilava_johtobiome": "Johtoniano",
"tag.worldgen.biome.cobblemon.evolution.regional.rufflet_hisuibiome": "Hisuiano",
"tag.worldgen.biome.cobblemon.evolution.regional.rufflet_unovabiome": "Unovano"
}
@@ -9021,5 +9021,34 @@
"cobblemon.config.ui.world_spawning_blocklist.tooltip": "Миры, в которых отключается принцип появления покемонов.",
"advancements.cobblemon.obtain_tm.description": "Найдите или напечатайте ТМ",
"cobblemon.species.victreebel-mega.desc": "В результате Мега эволюции объём кислоты у этого покемона увеличился, заполняя весь его рот. Если он не будет осторожен, кислота переполнится и выльется наружу.",
"cobblemon.ui.pokedex.info.form.victreebel-mega": "Мега Виктрибелл"
"cobblemon.ui.pokedex.info.form.victreebel-mega": "Мега Виктрибелл",
"itemGroup.cobblemon.tm_item": "Технические машины",
"block.cobblemon.pomohana": "Помохана",
"block.cobblemon.pauvillea": "Па'увилия",
"block.cobblemon.lobaila": "Лобалия",
"block.cobblemon.wistensu": "Вистенсу",
"block.cobblemon.voltaconia": "Вольтакония",
"block.cobblemon.verdroot": "Вердрут",
"block.cobblemon.lucibell": "Люсибель",
"block.cobblemon.mistleaf": "Мистлиф",
"cobblemon.ui.pokedex.info.evolution_tree": "Древо эволюции",
"cobblemon.ui.pokedex.evolution.item_interact.tooltip": "Требуется %1$s для эволюции",
"cobblemon.ui.pokedex.evolution.trade.tooltip.with_species": "Эволюционирует при обмене с %1$s",
"cobblemon.ui.pokedex.evolution.trade.tooltip.with_any_species": "Эволюционирует при обмене",
"cobblemon.ui.pokedex.evolution.shedder.tooltip": "Также требует запасной покебол и свободное место в команде",
"cobblemon.ui.pokedex.evolution.or": "ИЛИ",
"cobblemon.ui.pokedex.evolution.one_of": "Один из:",
"cobblemon.ui.pokedex.requirement.advancement.tooltip": "У игрока должно быть достижение %1$s",
"cobblemon.ui.pokedex.requirement.battle_critical_hits.tooltip": "Должен попасть %1$s критическими ударами в битве",
"cobblemon.ui.pokedex.requirement.biome.anticondition.tooltip": "Не должен быть в %1$s биоме",
"cobblemon.ui.pokedex.requirement.biome.both.tooltip": "Должен быть в %1$s биоме и не в %2$s биоме",
"cobblemon.ui.pokedex.requirement.biome.tooltip": "Должен быть в %1$s биоме",
"cobblemon.ui.pokedex.requirement.blocks_traveled.tooltip": "Должен пройти %1$s блоков",
"cobblemon.ui.pokedex.requirement.damage_taken.tooltip": "Должен получить %1$s урона в битве без поражения",
"cobblemon.ui.pokedex.requirement.defeat.tooltip": "Должен победить против %1$s в битве для эволюции",
"cobblemon.ui.pokedex.requirement.friendship.tooltip": "Требует как минимум %1$s дружбы",
"cobblemon.ui.pokedex.requirement.has_move.tooltip": "Должен знать приём %1$s",
"cobblemon.ui.pokedex.requirement.has_move_type.tooltip": "Должен знать приём %1$s типа",
"cobblemon.ui.pokedex.requirement.held_item.tooltip": "Должен удерживать %1$s",
"cobblemon.ui.pokedex.requirement.level.tooltip.min": "Эволюционирует начиная с %1$s уровня"
}
@@ -6,6 +6,7 @@
"injectors": {
"maxShiftBy": 2
},
"mixinextras": {"minVersion": "0.5.0"},
"client": [
"BuiltinModelItemRendererMixin",
"EntityRenderDispatcherMixin",
+2 -2
View File
@@ -14,7 +14,7 @@ parchment_version = 2024.07.28@zip
java_version = 21
mod_id=cobblemon
mod_version=1.8.2
snapshot=false
mod_version=1.8.3
snapshot=true
fabric.loom.multiProjectOptimisation=false
+1 -1
View File
@@ -34,7 +34,7 @@ mod-menu = "11.0.3"
c2me-fabric = "0.3.0+alpha.0.320+1.21.1"
# NeoForge
neoforge = "21.1.182"
neoforge = "21.1.195"
neo-kotlin-for-forge = "5.10.0"
debugutils-forge = "1.21.1-1.0.9-neoforge"
c2me-neoforge = "0.3.0+alpha.0.73+1.21.1"