Compare commits

...
2695 Commits
Author SHA1 Message Date
apion 263bccca4b idk whats up here but I wanna swap off this branch so 2025-02-07 17:49:10 -05:00
apion 1d94adface Fabric now boots 2025-01-26 03:02:57 -05:00
apion c741ddbc2e Comments 2025-01-25 04:23:40 -05:00
apion 8cad44ffb1 NEOFORGE IS BOOTING INTO A WORLD!!! 2025-01-25 04:05:34 -05:00
apion dec0376d11 More MDG testing 2025-01-18 15:46:50 -05:00
apion 007b2a49f4 More ModDevGradle porting 2025-01-18 01:19:26 -05:00
apion 082683723d Initial moddevgradle port 2025-01-17 21:31:25 -05:00
Paul bbd2b3aeed Updated sprites for galarica nuts, cuff, wreath 2025-01-13 08:37:39 +10:00
Hiroku 33951c868b Merge branch 'main' into 'main'
Fix Potions from applying more health than intended

See merge request cable-mc/cobblemon!1461
2025-01-12 00:23:35 +00:00
Chase 02f0e62bf8 Edit CHANGELOG.md 2025-01-12 00:01:08 +00:00
Hiroku 977b39e65c Merge branch '1.6.1-molang-expansion' into 'main'
[1.6.1] Add flows and expand some structs, also add FormeChangeEvent

See merge request cable-mc/cobblemon!1444
2025-01-11 22:55:33 +00:00
Chase 25a02e0b27 Small tweak to logic 2025-01-11 15:55:12 +00:00
Chase 4950297daa Remove unused variable 2025-01-11 15:52:26 +00:00
Chase 1c09cf6f30 Fix potion items from calling heal function twice 2025-01-11 15:50:56 +00:00
Paul 00d72902af Added recipes for galarica cuff and wreath 2025-01-11 17:41:29 +10:00
Paul eb986087cf Pipeline fixo (as if by magic!!!) 2025-01-11 16:31:39 +10:00
Paul 294e439f5e Moved the repurposed structures stuff to an inbuilt pack 2025-01-11 15:56:55 +10:00
Paul 6e7e870a1f Added galarica nut item 2025-01-11 12:09:29 +10:00
Hiroku ab78185689 Merge branch 'main' into 'main'
Add Built-in 1.21.1+ Compat With Repurposed Structures

See merge request cable-mc/cobblemon!1457
2025-01-10 20:40:00 +00:00
amo 7403556fa2 fixes for threads 2025-01-10 13:22:50 +00:00
Paul 7f451f1989 Cleaned up duplicates in changelog 2025-01-10 20:36:26 +10:00
Hiroku 3b2bfd5548 Merge branch 'display-cases' into 'main'
Fixed display cases not dropping items if destroyed via explosions

See merge request cable-mc/cobblemon!1460
2025-01-10 09:27:10 +00:00
Hiroku 3d1ee5ee0f Merge branch 'lion-eats-bugs' into 'main'
Small Fixes

Closes #1329, #1324, #1318, and #1325

See merge request cable-mc/cobblemon!1455
2025-01-10 09:13:36 +00:00
Guilherme Pereira 0584276189 emit pokemon aspects changed event only when pokemon is owned 2025-01-10 06:01:59 -03:00
Hiroku a16b17582d Merge branch 'feat/dynamic-pokemon-name-render' into 'main'
Better Pokédex discovery system

See merge request cable-mc/cobblemon!1442
2025-01-10 04:20:53 +00:00
Hiroku 71c1ae5540 Merge branch 'palafin-hero' into 'main'
Add features to several mons

See merge request cable-mc/cobblemon!1439
2025-01-10 04:10:42 +00:00
Hiroku 0233d2b0be Merge branch 'feature/migration-post-mortem' into 'main'
fix moves having raised stages that are beyond what new codecs expect when migrating from 1.5.2

See merge request cable-mc/cobblemon!1453
2025-01-10 03:55:28 +00:00
PolymetaandHiroku b67d474386 fix moves having raised stages that are beyond what new codecs expect when migrating from 1.5.2 2025-01-10 03:55:28 +00:00
Test 3239362e1a fix incorrect texture size for interact interface 2025-01-08 23:41:52 -05:00
Conan 0d240f01b6 Fixed display cases not dropping items if destroyed via explosions. 2025-01-09 02:55:27 +01:00
Test 99a71dc2e1 restore pokedex close transition 2025-01-06 20:20:52 -05:00
Paul fd99573a46 Fixed NPC editing GUI not immediately applying aspect changes on save 2025-01-05 18:16:52 +10:00
Guilherme Pereira fbcae404c0 update CHANGELOG.md 2025-01-05 03:11:27 -03:00
Guilherme Pereira 68cfd16fed emit pokemon aspects changed event only when aspects really changed 2025-01-05 03:10:13 -03:00
Guilherme Pereira 818038c715 fix hay bales not going into restoration machines 2025-01-05 03:09:47 -03:00
TelepathicGrunt 7c4b31db25 Add Built-in Compat With Repurposed Structures 2025-01-04 19:22:10 -05:00
Guilherme Pereira da6a88292e fix berry shear sound 2025-01-04 16:54:17 -03:00
Guilherme Pereira dee9a268d7 update CHANGELOG.md 2025-01-04 14:38:32 -03:00
Guilherme Pereira 5fd37438fc add player to pokerod reel event 2025-01-04 14:35:00 -03:00
Guilherme Pereira 51b30ab468 close pokedex and dialogues on inventory keybind press 2025-01-04 14:27:08 -03:00
Guilherme Pereira 36a3549b3e fix petilil typo 2025-01-04 13:03:31 -03:00
Guilherme Pereira 9e0ea63db6 fix vivichoke dip and leek and potato stew not returning bowls 2025-01-04 12:56:18 -03:00
Guilherme Pereira 739459c061 fix wooloo dex registration 2025-01-04 12:51:13 -03:00
Polymeta a6e06c80fe flipping more signs for particles
Signed-off-by: Polymeta <40173118+Polymeta@users.noreply.github.com>
2025-01-03 13:18:45 +00:00
Polymeta fc1cc54107 Merge branch 'BanInBattleRocketry' into 'main'
Ban in battle rocketry

See merge request cable-mc/cobblemon!1451
2025-01-03 12:07:49 +00:00
JazzMcNade 210bf9f5fb Updated Changelog 2025-01-02 21:13:01 -06:00
JazzMcNade 9454f2046a Addition comments 2025-01-02 20:58:24 -06:00
JazzMcNade 5621e69d58 Merge branch 'main' into BanInBattleRocketry 2025-01-02 20:51:11 -06:00
Polymeta 0c0f022e34 Merge branch 'fix-pokedex-command' into 'main'
Pokédex command and GUI fixes

Closes #1320 and #1321

See merge request cable-mc/cobblemon!1450
2025-01-02 16:58:35 +00:00
lionandPolymeta 220b363864 Pokédex command and GUI fixes 2025-01-02 16:58:35 +00:00
Polymeta 26d97f2043 Merge branch 'add-base-scale-npc-property' into 'main'
Add 'baseScale' NPC property

Closes #1268

See merge request cable-mc/cobblemon!1448
2024-12-31 14:54:38 +00:00
lionandPolymeta c4f5416bb3 Add 'baseScale' NPC property 2024-12-31 14:54:38 +00:00
Polymeta 8066a92ab5 Merge branch 'lion-eats-bugs' into 'main'
Small Fixes

Closes #1311, #889, and #1197

See merge request cable-mc/cobblemon!1449
2024-12-31 14:42:00 +00:00
lionandPolymeta f149439da8 Small Fixes 2024-12-31 14:41:59 +00:00
JazzMcNade 978064d2d0 Update PokemonMoveControl.kt 2024-12-31 02:54:49 -06:00
Polymeta 95dd6cbfcb Merge branch 'test/adorn_compat' into 'main'
Fixing up Adorn compatibility

See merge request cable-mc/cobblemon!1441
2024-12-30 16:17:17 +00:00
aeroeng15andPolymeta 551b3ebe87 Fixing up Adorn compatibility 2024-12-30 16:17:17 +00:00
Polymeta 89914813a1 Merge branch 'fix-pokemon-forgetting-moves-when-evolving' into 'main'
Fix Pokémon forgetting moves when evolving on specific cases

Closes #1252

See merge request cable-mc/cobblemon!1437
2024-12-30 15:54:09 +00:00
lionandPolymeta 742ec131d5 Fix Pokémon forgetting moves when evolving on specific cases 2024-12-30 15:54:09 +00:00
Polymeta 4175c36388 Merge branch 'fix/no-next-level-at-cap' into 'main'
Align the "To next level" display with official games logic, it will now show 0 when at cap.

See merge request cable-mc/cobblemon!1445
2024-12-30 15:32:33 +00:00
Hiroku f6ed1b38f8 Merge branch 'make-berries-shearable' into 'main'
Made berry trees be shearable by dispenser blocks

Closes #1071

See merge request cable-mc/cobblemon!1419
2024-12-30 11:39:21 +00:00
Faintful c299967cce Updated changelog 2024-12-30 12:35:44 +01:00
Polymeta b79f569def Merge branch 'fix-pokemon-riding-two-boats' into 'main'
Fix Pokémon riding two boats

Closes #1281

See merge request cable-mc/cobblemon!1447
2024-12-30 10:54:31 +00:00
lionandPolymeta 944144a671 Fix Pokémon riding two boats 2024-12-30 10:54:31 +00:00
Polymeta 586b5a860f Merge branch 'fix-npc-player-lose-command' into 'main'
Fix npc player lose command

Closes #1306 and #1282

See merge request cable-mc/cobblemon!1443
2024-12-30 01:33:47 +00:00
lionandPolymeta 29d91fb191 Fix npc player lose command 2024-12-30 01:33:46 +00:00
Polymeta 183d85a3b6 Merge branch 'overlay-invisible-man-collab' into 'main'
fix: Party overlay not respecting hidden UI (F1)

See merge request cable-mc/cobblemon!1440
2024-12-30 00:48:56 +00:00
Polymeta 0795b06ca0 use 1.4.1 instead 1.4.0 for tags history [skip-ci]
Signed-off-by: Polymeta <40173118+Polymeta@users.noreply.github.com>
2024-12-30 00:15:21 +00:00
Polymeta 6fdd87f5cf update tags directory to keep history [skip-ci]
Signed-off-by: Polymeta <40173118+Polymeta@users.noreply.github.com>
2024-12-29 23:59:02 +00:00
Ina 3b364a4590 fix: Align the "To next level" display with official games logic, it will now show 0 when at cap. 2024-12-29 17:20:01 +00:00
Ina baca93c9b2 feat: Support for Illusion in the dex reveal process. 2024-12-29 16:54:17 +00:00
amo b6d13b8861 Merge branch 'refs/heads/main' into 1.6.1-molang-expansion
# Conflicts:
#	common/src/main/kotlin/com/cobblemon/mod/common/battles/pokemon/BattlePokemon.kt
2024-12-29 16:42:55 +00:00
amo b271223f6a lots o' stuff 2024-12-29 16:31:25 +00:00
Ina 004f2de623 chore: Changelog 2024-12-29 15:11:45 +00:00
Ina 570629bff2 feat: Improve Pokemon reveal logic 2024-12-29 15:08:16 +00:00
Ina 7e5b8260de refactor: Simplify base label resolving logic. 2024-12-29 13:45:23 +00:00
Ina 3e5e851dba fix: Don't instance new texts for static elements every tick. 2024-12-29 11:25:50 +00:00
Ina 9f866aa292 chore: Hiro bullies the work-challenged. 2024-12-29 11:18:54 +00:00
Ina 4e4417d4df Merge branch 'main' into overlay-invisible-man-collab 2024-12-29 11:17:39 +00:00
Hiroku 900ca0cd8d Merge branch 'feature/small-fixes' into 'main'
fixes and minor cleanup

Closes #1277, #1302, and #1310

See merge request cable-mc/cobblemon!1432
2024-12-29 01:04:53 +00:00
PolymetaandHiroku 5448031cae fixes and minor cleanup 2024-12-29 01:04:53 +00:00
Ina abd92c2325 fix: Party overlay not respecting hidden UI (F1) 2024-12-28 22:07:37 +00:00
Vaniron c4948a6611 Add three_segment feature to Dudunsparce 2024-12-28 18:24:52 +00:00
Vaniron cc459c99aa Add hero features to Palafin 2024-12-28 18:15:28 +00:00
Polymeta a3ac3c36e6 Merge branch 'fix-bait-consumption' into 'main'
Fixed bait being consumed when not reeling in any Pokémon.

Closes #1308 and #1307

See merge request cable-mc/cobblemon!1438
2024-12-28 12:22:19 +00:00
lionandPolymeta 36ce262755 Fixed bait being consumed when not reeling in any Pokémon. 2024-12-28 12:22:19 +00:00
Apion 9246523853 Merge branch 'particle-stuff' into 'main'
A bunch of particle changes

See merge request cable-mc/cobblemon!1295
2024-12-28 03:03:56 +00:00
Apion db2c2f0089 A bunch of particle changes 2024-12-28 03:03:56 +00:00
Polymeta 3a090ba01c Merge branch 'RestorePokemonSpawnYaw' into 'main'
Restore pokemon spawn yaw

See merge request cable-mc/cobblemon!1436
2024-12-28 02:11:17 +00:00
JazzMcNadeandPolymeta 3c4481c9cc Restore pokemon spawn yaw 2024-12-28 02:11:17 +00:00
Polymeta 4e73a19ade Merge branch 'configurable-dex-scanning-range' into 'main'
Add config to max Pokédex scanning range

Closes #1247

See merge request cable-mc/cobblemon!1387
2024-12-28 00:33:24 +00:00
lionandPolymeta c58ba08a65 Add config to max Pokédex scanning range 2024-12-28 00:33:24 +00:00
Polymeta 18940956a8 Merge branch 'fix-pasture-pokemon-list-padding' into 'main'
Fix pasture Pokémon list padding

Closes #1273

See merge request cable-mc/cobblemon!1421
2024-12-27 23:52:04 +00:00
lionandPolymeta 68520307b4 Fix pasture Pokémon list padding 2024-12-27 23:52:04 +00:00
Hiroku 84825dbd69 Add vietnamese 2024-12-27 22:45:16 +00:00
Polymeta b231a80b68 Merge branch 'moe-eats-bugs' into 'main'
Advancement fixes

Closes #1262

See merge request cable-mc/cobblemon!1417
2024-12-27 13:04:27 +00:00
MoeBoy76andPolymeta d2796b8755 Advancement fixes 2024-12-27 13:04:27 +00:00
Polymeta 1ab3ca8628 Merge branch 'fix-collidable-invisible-pokemon' into 'main'
Fix Pokémon being collidable when trying to capture them

Closes #401

See merge request cable-mc/cobblemon!1382
2024-12-27 12:55:22 +00:00
lionandPolymeta f4da1436a5 Fix Pokémon being collidable when trying to capture them 2024-12-27 12:55:22 +00:00
Faintful 9a0b779ca3 Merge remote-tracking branch 'upstream/main' into make-berries-shearable 2024-12-27 13:40:11 +01:00
Polymeta 2bcb42270a Merge branch 'hide-unimplemented-pokemon-from-the-dex' into 'main'
Add config to hide unimplemented Pokémon from the Pokédex

Closes #1274

See merge request cable-mc/cobblemon!1422
2024-12-27 12:37:32 +00:00
lionandPolymeta 51472d2369 Add config to hide unimplemented Pokémon from the Pokédex 2024-12-27 12:37:32 +00:00
Polymeta 2cb430d927 Merge branch 'is-standing-on-blocks-molang-function' into 'main'
Add 'is_standing_on_blocks' MoLang function

See merge request cable-mc/cobblemon!1393
2024-12-27 12:36:04 +00:00
lionandPolymeta 7bbfbf5852 Add 'is_standing_on_blocks' MoLang function 2024-12-27 12:36:04 +00:00
Polymeta 93a368a844 Merge branch 'fix_fishing_condition' into 'main'
Internal change, move condition variables related to fishing into...

See merge request cable-mc/cobblemon!1430
2024-12-27 01:46:23 +00:00
Polymeta 5c934a0b66 Merge branch 'FossilMachineReturnFossilFix' into 'main'
FossilMachineReturnFossilFix

See merge request cable-mc/cobblemon!1426
2024-12-27 01:36:24 +00:00
JazzMcNadeandPolymeta 1a4034ded4 FossilMachineReturnFossilFix 2024-12-27 01:36:23 +00:00
JPAK dbd73c53ea Internal change, move condition variables related to fishing into FishingSpawningCondition.kt instead of SpawningCondition.kt 2024-12-26 11:28:11 -06:00
Polymeta 25d17a271b Merge branch 'toms-fixed' into 'main'
Fix crash when placing a restoration tank next to Tom's Storage block.

See merge request cable-mc/cobblemon!1427
2024-12-26 11:39:22 +00:00
JordanandPolymeta e9b3940eb6 Fix crash when placing a restoration tank next to Tom's Storage block. 2024-12-26 11:39:22 +00:00
Hiroku e442ca2732 Merge branch 'yamask-patch' into 'main'
Add galarian yamask as feature

See merge request cable-mc/cobblemon!1428
2024-12-26 07:40:17 +00:00
Vaniron b34e1f30d1 Add galarian yamask as feature 2024-12-26 07:33:40 +00:00
Polymeta 8747d3cd6f changelog 1.6.1 prep [skip-ci]
Signed-off-by: Polymeta <40173118+Polymeta@users.noreply.github.com>
2024-12-26 00:06:13 +00:00
Hiroku ca7a4e12be Merge branch 'change-modmenu-links' into 'main'
Update mod menu links

See merge request cable-mc/cobblemon!1424
2024-12-25 09:08:44 +00:00
lionandHiroku 9c3b713c4a Update mod menu links 2024-12-25 09:08:44 +00:00
Hiroku 6c0c352001 Merge branch 'fix-dex-crash-when-switching-forms' into 'main'
Fix Pokédex crash when switching forms

See merge request cable-mc/cobblemon!1423
2024-12-25 06:29:12 +00:00
lionandHiroku 51c1706a9a Fix Pokédex crash when switching forms 2024-12-25 06:29:11 +00:00
Hiroku 5320704702 Edit gradle.properties 2024-12-25 06:27:07 +00:00
Paul 91e28616a9 Lil changelog amendment [skip-ci] 2024-12-25 11:39:29 +10:00
Paul 8df06a4836 The grinch stole the jar!! [skip-ci] 2024-12-25 09:25:42 +10:00
Hiroku f2c9886ae0 Merge branch 'feature/updated-tag-scripts' into 'main'
update and run tag scripts

See merge request cable-mc/cobblemon!1420
2024-12-24 23:25:12 +00:00
PolymetaandHiroku d74ca7b70d update and run tag scripts 2024-12-24 23:25:12 +00:00
Paul 2e3302bdec not snap 2024-12-25 08:40:38 +10:00
Paul f77af7c954 Merge remote-tracking branch 'origin/lang-updates' 2024-12-25 07:56:12 +10:00
Hiroku 63ed488b03 Merge branch 'quic-molang-additions' into 'main'
[1.6] Add entity type id molang function

See merge request cable-mc/cobblemon!1415
2024-12-24 21:50:53 +00:00
Hiroku fcce15e210 Edit MoLangFunctions.kt 2024-12-24 21:50:15 +00:00
Test d816710566 Changelog shenanigans 3 [skip-ci] 2024-12-24 21:48:16 +00:00
Hiroku c8a8e689cc Merge branch 'actually-on-hit' into 'main'
[1.6] make THROWN_POKEBALL_HIT actually do what it says on the tin

See merge request cable-mc/cobblemon!1418
2024-12-24 21:47:49 +00:00
Paul 222f6dd955 Changelog shenanigans 2 [skip-ci] 2024-12-25 07:46:03 +10:00
Faintful ba7a3ab3c2 Made berry trees be shearable by dispenser blocks 2024-12-24 17:27:33 +01:00
amo f61efb11b1 fix silly 2024-12-24 14:58:03 +00:00
Briar 19b4d841f4 im a FOOL 2024-12-24 14:31:31 +00:00
Briar 704320f1bc oops 2024-12-24 14:22:42 +00:00
Briar e5480bd05b make THROWN_POKEBALL_HIT actually do what it says on the tin 2024-12-24 14:17:57 +00:00
Briar 8d504d23e1 Update file MoLangFunctions.kt 2024-12-24 13:58:51 +00:00
Paul 2912ffdad9 Changelog shenanigans [skip-ci] 2024-12-24 23:38:25 +10:00
Paul 986f22c5a5 Added clamping for pokemon angles in the hopes of killing the watchdog killer 2024-12-24 18:58:10 +10:00
Hiroku 880f6de77a Merge branch 'fix-no-ai-property' into 'main'
Fix no_ai property not working when set to false

Closes #1270

See merge request cable-mc/cobblemon!1413
2024-12-24 08:01:50 +00:00
lionandHiroku 7f87b0f184 Fix no_ai property not working when set to false 2024-12-24 08:01:50 +00:00
Hiroku a811a823e6 Merge branch 'fix-shiny-magikarp-jump-variations' into 'main'
Fix shiny Magikarp jump variations

See merge request cable-mc/cobblemon!1416
2024-12-24 08:01:20 +00:00
lionandHiroku a45999894b Fix shiny Magikarp jump variations 2024-12-24 08:01:19 +00:00
Hiroku eeba80e7e7 Merge branch 'patch-1' into 'main'
Galarian Mr.Mime typo

See merge request cable-mc/cobblemon!1414
2024-12-24 08:00:17 +00:00
Briar 97b20158e9 Update file MoLangFunctions.kt 2024-12-24 02:28:33 +00:00
VanironCZ 586eaa9135 Fix typo, make form work 2024-12-24 00:58:06 +00:00
Polymeta dc7925ab3e Merge branch 'ci-fixes' into 'main'
Fix CI

See merge request cable-mc/cobblemon!1412
2024-12-23 22:46:40 +00:00
complacentdevandPolymeta 8986159a25 Fix CI 2024-12-23 22:46:39 +00:00
Test b864f715ea update item sprites 2024-12-23 17:24:19 -05:00
Nick 02b7d5eeae Merge branch 'fix/neoforge-payload-logging' into 'main'
No longer log all packets by state, just register

See merge request cable-mc/cobblemon!1411
2024-12-23 21:05:03 +00:00
Nick 614be610d4 No longer log all packets by state, just register 2024-12-23 13:02:40 -08:00
Polymeta 1084c7a289 Merge branch 'ci' into 'main'
Make Cobblemon 20% Smaller

See merge request cable-mc/cobblemon!1224
2024-12-23 17:55:16 +00:00
complacentdevandPolymeta 110d6dc828 Make Cobblemon 20% Smaller 2024-12-23 17:55:16 +00:00
Paul d98d68c7d4 Added cancellation and handler ordering support to flows, more cleanup for Pokedex event, changelog for flows, removed old junk 2024-12-23 21:50:44 +10:00
Hiroku 6369d876e3 Merge branch 'HorizontalTeamAlignmentForMoveTargeting' into 'main'
Horizontal team alignment for move targeting

See merge request cable-mc/cobblemon!1410
2024-12-23 10:31:06 +00:00
Hiroku 8388a53017 Merge branch 'date-and-timolang' into 'main'
[1.6] system time and date molang

See merge request cable-mc/cobblemon!1405
2024-12-23 10:17:04 +00:00
Hiroku 3a59d7d7c9 Edit MoLangFunctions.kt 2024-12-23 10:08:03 +00:00
Hiroku 3d9d3318b1 Merge branch 'cancelable-dex-knowledge' into 'main'
[1.6] Cancelable dex data event, split into pre & post

See merge request cable-mc/cobblemon!1403
2024-12-23 09:26:26 +00:00
Paul d032e0449b Tweaks for inbuilt region bias pack and changelog 2024-12-23 19:25:05 +10:00
Hiroku bcdbb19a75 Merge branch 'fix-pasture-shiny-effect' into 'main'
Fix shiny pasture Pokémon playing the shiny effect incorrectly

Closes #1257

See merge request cable-mc/cobblemon!1409
2024-12-23 09:24:36 +00:00
lionandHiroku 2181cdb4ef Fix shiny pasture Pokémon playing the shiny effect incorrectly 2024-12-23 09:24:36 +00:00
JazzMcNade 24257a4c6e Swapped team alignment from vertical to horizontal 2024-12-23 02:12:19 -06:00
Test 2a293def4f Merge branch 'inbuilt-packs' into 'main'
Setup inbuilt resource packs for various things

See merge request cable-mc/cobblemon!1408
2024-12-23 07:28:33 +00:00
Hiroku a3d77dd2a0 Merge branch 'CounterMovesUITargetingFix' into 'main'
Fix UI targeting for MetalBurst, Counter, MIrrorCoat, etc

See merge request cable-mc/cobblemon!1407
2024-12-23 06:51:43 +00:00
Paul 311f0e3192 Setup inbuilt resource packs for various things 2024-12-23 16:30:20 +10:00
JazzMcNade be2099130b Fix UI targeting for MetalBurst, Counter, MIrrorCoat, etc 2024-12-23 00:18:35 -06:00
Hiroku 6ebe0b9c7e Merge branch 'fix-spectators-obscuring-line-of-sight' into 'main'
Fix spectators obscuring line of sight when interacting with other players

Closes #1261

See merge request cable-mc/cobblemon!1406
2024-12-23 04:11:58 +00:00
lionandHiroku dde5c00789 Fix spectators obscuring line of sight when interacting with other players 2024-12-23 04:11:57 +00:00
amo d980faed64 resolve threads 2024-12-23 03:22:39 +00:00
Hiroku 7a80bc54ea Merge branch 'disable-entity-labels-when-crouching-only' into 'main'
Set 'displayEntityLabelsWhenCrouchingOnly' config default to false

See merge request cable-mc/cobblemon!1390
2024-12-23 02:53:53 +00:00
lionandHiroku f207206b13 Set 'displayEntityLabelsWhenCrouchingOnly' config default to false 2024-12-23 02:53:52 +00:00
amo edf510d8e8 split dex data changed event into pre and post, make pre cancelable 2024-12-23 02:30:38 +00:00
Hiroku 721384547f Merge branch 'feature/small-fixes' into 'main'
(1.6) Small fixes

Closes #1188 and #1264

See merge request cable-mc/cobblemon!1404
2024-12-23 01:36:36 +00:00
PolymetaandHiroku ce5189e83a (1.6) Small fixes 2024-12-23 01:36:36 +00:00
amo d7fc09b967 split dex data changed event into pre and post, make pre cancelable 2024-12-22 22:47:45 +00:00
Gustavo PuerariandWeblate 703eb7645c Translated using Weblate (Portuguese (Brazil))
Currently translated at 34.8% (2228 of 6391 strings)

Translation: Cobblemon/Mod
Translate-URL: http://lang.cobblemon.com/projects/cobblemon/mod/pt_BR/
2024-12-22 21:41:42 +00:00
Polymeta 604c184029 Merge branch 'This-time-I-wont-mess-up' into 'main'
Let's try this again

See merge request cable-mc/cobblemon!1402
2024-12-22 19:00:29 +00:00
Slippy 727ada3e00 Let's try this again 2024-12-22 12:51:58 -06:00
Hiroku d29e471ab4 Merge branch 'ok-fine-heres-a-journey-molang-mr' into 'main'
[1.6 pls] Journey Molang Migration

See merge request cable-mc/cobblemon!1385
2024-12-22 08:10:23 +00:00
Paul 6c1e6677b3 More molang cleanup 2024-12-22 18:03:31 +10:00
Paul aaa7fcee47 Cleaned up particle molang functions, moved reusable particle spawning logic from netcode to ParticleStorm 2024-12-22 18:01:05 +10:00
Hiroku 37b050f2e5 Merge branch 'ihatebugtypes' into 'main'
Ihatebugtypes

Closes #1167, #1201, and #1225

See merge request cable-mc/cobblemon!1369
2024-12-22 06:24:19 +00:00
Hiroku 16ccd6bcc3 Merge branch 'upstream/npcs' into 'main'
Allow for programmatic persistence of npcs

See merge request cable-mc/cobblemon!1388
2024-12-22 06:23:00 +00:00
Paul 8b0d228339 Merge remote-tracking branch 'origin/main' 2024-12-22 12:07:59 +10:00
Paul 5019026472 Further reworked brewing, JEI/EMI compat might exist on Neo now (fabric is impossibru (for now)) 2024-12-22 12:07:48 +10:00
amo ace38ad6be Merge branch 'main' into ok-fine-heres-a-journey-molang-mr 2024-12-21 17:03:47 +00:00
Polymeta 5c885112ef Merge branch '1.6-additional-additions' into 'main'
1.6 additional additions

See merge request cable-mc/cobblemon!1398
2024-12-21 14:23:06 +00:00
Plastered_CrabandPolymeta a37532579e 1.6 additional additions 2024-12-21 14:23:05 +00:00
Segfault Guy 0f751eb732 cleanup 2024-12-21 07:18:41 -05:00
Paul 9840a2758a Fixed everything being medicinal brew. Drink it!!! (fixes #1249) 2024-12-21 22:07:30 +10:00
Paul ad52d1ed5f Fixed busted flowers tag, fixed party check criterion 2024-12-21 21:48:09 +10:00
Paul 74464dc13a Fixed PC block waterlog property not being the right one, causing export issues, closes #1253 2024-12-21 21:33:24 +10:00
Hiroku f280ec8979 Merge branch 'half-slabs' into 'main'
Stonecutter Fixes

Closes #1260

See merge request cable-mc/cobblemon!1399
2024-12-21 05:57:42 +00:00
dhi_holo 25ca0fbd13 Recreate flowers.json
Moved the working flowers.json from being just in items to being a block tag too
2024-12-21 15:25:33 +10:00
dhi_holo 2c8d544088 Tag Fix
Cleans up a tag, removes a recursive tag error, and tweaks a spawn to be valid again.
2024-12-21 15:16:12 +10:00
Segfault Guy 7dbe31d084 Merge remote-tracking branch 'origin/main' into ihatebugtypes 2024-12-20 23:47:30 -05:00
Segfault Guy de05133b31 update licenses 2024-12-20 23:45:45 -05:00
Segfault Guy 3b70b8351a Block battles on evolution. 2024-12-20 23:44:36 -05:00
dhi_holo 784439475a Stonecutter Fixes
Moved the count value from outside the result to inside of it. No idea why it ended up outside, but hey, easy fix. Resolves #1260
2024-12-21 14:22:44 +10:00
Paul 2024ddb4f0 Wrap spawn direction angle within acceptable entity rotation values 2024-12-21 12:37:32 +10:00
Paul ad35be7ddb Added player level range influence to fishing 2024-12-21 10:51:27 +10:00
Paul dbf688fade Merge remote-tracking branch 'origin/lang-updates'
# Conflicts:
#	common/src/main/resources/assets/cobblemon/lang/de_de.json
#	common/src/main/resources/assets/cobblemon/lang/es_mx.json
#	common/src/main/resources/assets/cobblemon/lang/th_th.json
2024-12-21 09:30:37 +10:00
Polymeta 17d3d5f829 Merge branch 'implement_pokemon' into 'main'
This weeks pokemon implementation

Closes #1230 and #1137

See merge request cable-mc/cobblemon!1397
2024-12-20 13:30:37 +00:00
Frank The FarmerandPolymeta fba00c23b4 This weeks pokemon implementation 2024-12-20 13:30:35 +00:00
Hiroku cfe516e086 Merge branch 'RaftClientSyncFix' into 'main'
Fixed client sync issue with platforms. (Clients do not possess accurate behavior data.)

See merge request cable-mc/cobblemon!1394
2024-12-20 10:29:40 +00:00
Polymeta 63d921cb12 Merge branch 'fix-drop-message' into 'main'
Fix 'air dropped to the ground' message when Pokémon are killed in lava and drop no loot

See merge request cable-mc/cobblemon!1395
2024-12-20 09:23:07 +00:00
lionandPolymeta 6acde8c90f Fix 'air dropped to the ground' message when Pokémon are killed in lava and drop no loot 2024-12-20 09:23:07 +00:00
Hiroku 196ce2ab6d Merge branch 'fix-evolution-animation' into 'main'
Fix evolution animation not playing back to back

Closes #1229

See merge request cable-mc/cobblemon!1396
2024-12-20 09:09:12 +00:00
lionandHiroku 6fb6ea2927 Fix evolution animation not playing back to back 2024-12-20 09:09:12 +00:00
JazzMcNade 538027cb1b Fixed client sync issue with platforms. (Clients do not possess accurate behavior data.) 2024-12-19 17:47:17 -06:00
Paul 51fcc91d88 Fixed blinks not running 2024-12-19 21:24:00 +10:00
Gustavo Felippi PuerariandWeblate 63c603cc01 Translated using Weblate (Portuguese (Brazil))
Currently translated at 33.9% (2169 of 6391 strings)

Translation: Cobblemon/Mod
Translate-URL: http://lang.cobblemon.com/projects/cobblemon/mod/pt_BR/
2024-12-18 23:02:36 +00:00
TeggyandWeblate a7406dd321 Translated using Weblate (Spanish)
Currently translated at 98.0% (6267 of 6391 strings)

Translation: Cobblemon/Mod
Translate-URL: http://lang.cobblemon.com/projects/cobblemon/mod/es/
2024-12-18 23:02:36 +00:00
Paul 0e1611fd8e Merge remote-tracking branch 'origin/main' 2024-12-18 19:15:35 +10:00
Paul 51e575c6a6 Fixed action effects not playing animations, particles, or sounds in many circumstances. Tweaked spawn direction handling 2024-12-18 19:15:17 +10:00
Test 8789d16a53 replace hardcoded values with attribute for item interaction range 2024-12-17 22:09:12 -05:00
Gustavo Felippi PuerariandWeblate f7986d5ccf Translated using Weblate (Portuguese (Brazil))
Currently translated at 33.7% (2160 of 6391 strings)

Translation: Cobblemon/Mod
Translate-URL: http://lang.cobblemon.com/projects/cobblemon/mod/pt_BR/
2024-12-18 02:41:45 +00:00
Felipe Bermudes OrmeñoandWeblate c7423408a9 Translated using Weblate (Spanish (Mexico))
Currently translated at 30.6% (1960 of 6391 strings)

Translation: Cobblemon/Mod
Translate-URL: http://lang.cobblemon.com/projects/cobblemon/mod/es_MX/
2024-12-18 02:41:44 +00:00
TeggyandWeblate 52b0c63751 Translated using Weblate (Spanish)
Currently translated at 96.8% (6189 of 6391 strings)

Translation: Cobblemon/Mod
Translate-URL: http://lang.cobblemon.com/projects/cobblemon/mod/es/
2024-12-18 02:41:44 +00:00
Polymeta 7ae20ccd60 Merge branch 'scrappy-lang-fix' into 'main'
Updated Scrappy's ability description

See merge request cable-mc/cobblemon!1389
2024-12-17 23:53:29 +00:00
Conan 621b867d14 Updated Scrappy's ability description 2024-12-17 21:46:24 +01:00
chasem-dev b0ea22d220 Allow for programmatic persistence of npcs 2024-12-17 15:19:56 -05:00
amo dfb54b3bc3 brainfart 2024-12-17 01:17:01 +00:00
Polymeta 2928667500 Merge branch '1.6-spawns' into 'main'
Updated recipes for Scope Lens, Wide Lens, and Zoom Lens. Updated spawns....

See merge request cable-mc/cobblemon!1384
2024-12-16 23:50:04 +00:00
VeraxielandPolymeta 1c528a909c Updated recipes for Scope Lens, Wide Lens, and Zoom Lens. Updated spawns.... 2024-12-16 23:50:04 +00:00
amo 1083e770d0 add player-specific packet molang methods for snowstorm particles & animations 2024-12-16 12:43:15 +00:00
Paul 920f3f114b Merge remote-tracking branch 'origin/main' 2024-12-16 21:08:27 +10:00
Hiroku 9ca5d12f84 Merge branch 'FixInBattleFlightFidgeting' into 'main'
FixInBattleFlightFidgeting

See merge request cable-mc/cobblemon!1383
2024-12-16 09:41:22 +00:00
Hiroku cc9bb528a8 Merge branch 'npc-hitbox' into 'main'
Fixed npcs not being able to take custom hitbox properties

See merge request cable-mc/cobblemon!1381
2024-12-16 09:40:46 +00:00
Paul 1cbd00691f Merge remote-tracking branch 'origin/main' 2024-12-16 19:05:10 +10:00
JazzMcNade f4c847fdd5 Replaced isGrounded with the more reliable isAirborne. Prevented pokemon from currently flying from receiving a raft. 2024-12-16 01:04:46 -06:00
Conan ec6e1403e7 Fixed npcs not being able to take custom hitbox properties 2024-12-16 05:24:26 +01:00
Hiroku 10a4a03a8b Merge branch 'close-battle-gui-with-mouse' into 'main'
Fix battle GUI not closing with mouse keybind

Closes #1093

See merge request cable-mc/cobblemon!1380
2024-12-16 03:06:46 +00:00
lionandHiroku e0a86f8794 Fix battle GUI not closing with mouse keybind 2024-12-16 03:06:45 +00:00
Paul 767e024ec4 Debug logging of pokemon entity ticking 2024-12-16 09:55:45 +10:00
Polymeta c8b0f36049 Merge branch 'bugfixes-apion' into 'main'
Fixes #1182

Closes #1182

See merge request cable-mc/cobblemon!1373
2024-12-15 18:25:02 +00:00
ApionandPolymeta be2a0be806 Fixes #1182 2024-12-15 18:25:02 +00:00
Paul ba4d42ccf6 Try tweaking spawn direction handling 2024-12-15 23:04:08 +10:00
Paul 5545d3498f Include 2 more variables in clamping of rotations 2024-12-15 20:53:50 +10:00
Hiroku 641bd7ebaa Merge branch 'advancing' into 'main'
1.6 Advancement Reworks

See merge request cable-mc/cobblemon!1374
2024-12-15 09:16:28 +00:00
dhi_holoandHiroku 234c4fa0d4 1.6 Advancement Reworks 2024-12-15 09:16:28 +00:00
Hiroku 3dfda71ed5 Merge branch 'AbilityPatchCapsuleRefactor' into 'main'
AbilityPatchCapsuleRefactor

See merge request cable-mc/cobblemon!1377
2024-12-15 09:08:05 +00:00
Hiroku 65ee6de93f Merge branch 'chest-boat-interact' into 'main'
moved changes to chest boat (i'm dumb)

Closes #1214

See merge request cable-mc/cobblemon!1379
2024-12-15 09:07:48 +00:00
Paul be88b727bc Added useFixedRandom to pool party provider, added randomizePartyOrder to NPC classes and presets for randomly choosing lead battle pokemon 2024-12-15 18:04:04 +10:00
luke a69fc462ee moved changes to chest boat (i'm dumb) 2024-12-15 00:38:08 -07:00
Hiroku 7d5c30d27c Merge branch 'shift-click-interact' into 'main'
Changed distance to use player attribute

Closes #1232

See merge request cable-mc/cobblemon!1378
2024-12-15 07:32:39 +00:00
Hiroku f7c9c9d4f4 Update AbilityTypeChanger.kt 2024-12-15 07:30:12 +00:00
luke 41bc14168a Changed distance to use player attribute 2024-12-15 00:24:38 -07:00
Paul 9540c38a72 Updated readme example for NPC 2024-12-15 16:58:31 +10:00
JazzMcNade 7a96ed7cd1 Refactored queryPossible() as to not to require explicit Priority values 2024-12-15 00:45:51 -06:00
Hiroku 677adc8d2f Merge branch 'starter-selection-cry' into 'main'
Play cry when Pokémon is clicked on the starter selection screen

See merge request cable-mc/cobblemon!1362
2024-12-15 06:25:29 +00:00
lionandHiroku a99b1dfc6c Play cry when Pokémon is clicked on the starter selection screen 2024-12-15 06:25:29 +00:00
Hiroku 4a718ad0f6 Merge branch 'dex-update-event' into 'main'
Dex Data Updated Event

See merge request cable-mc/cobblemon!1353
2024-12-15 05:27:08 +00:00
Paul ddd417d458 Added player to PokedexDataChangedEvent's flow context 2024-12-15 15:19:43 +10:00
Paul 10a12a897e Merge remote-tracking branch 'origin/main' into dex-update-event 2024-12-15 15:15:48 +10:00
Paul 9fce99ed73 Improved dex event, added dex update flow, expanded dex molang and added q.player.pokedex 2024-12-15 15:15:13 +10:00
Hiroku c35f60dd5d Merge branch 'AbilitiesFixesRedux' into 'main'
AbilitiesFixesRedux

Closes #1245

See merge request cable-mc/cobblemon!1376
2024-12-15 03:11:07 +00:00
JazzMcNade 54e5a5e819 Fixed single abilities mons always evolving into the hidden ability. Fixed ability capsule / patch not being able to revert abilities. 2024-12-14 20:35:23 -06:00
Test 79ae35ea9e Merge branch 'n-p-c' into 'main'
fix npc scaling + eye height, update edit interface

See merge request cable-mc/cobblemon!1375
2024-12-15 02:17:45 +00:00
Test 58f85e6d0d fix npc scaling + eye height, update edit interface 2024-12-15 02:17:45 +00:00
Polymeta 71bfdf41f4 Merge branch 'the-else-strikes-back' into 'main'
Fix Feebas spawning

Closes #1187

See merge request cable-mc/cobblemon!1365
2024-12-15 01:13:26 +00:00
JordanandPolymeta 9976965673 Fix Feebas spawning 2024-12-15 01:13:26 +00:00
Hiroku 098df1a5a6 Merge branch 'dex-travelling-dimensions' into 'main'
Fix Pokédex screen getting stuck when changing dimensions or opening the battle GUI

See merge request cable-mc/cobblemon!1370
2024-12-15 01:09:47 +00:00
Guilherme PereiraandHiroku f49f34efa3 Fix Pokédex screen getting stuck when changing dimensions or opening the battle GUI 2024-12-15 01:09:47 +00:00
Hiroku eac19929c4 Merge branch 'fix-dex-animations-not-playing' into 'main'
Fix animations not playing on Pokédex

See merge request cable-mc/cobblemon!1355
2024-12-15 00:43:09 +00:00
Guilherme PereiraandHiroku 59cced5b2c Fix animations not playing on Pokédex 2024-12-15 00:43:08 +00:00
Apion f07707221f Merge branch 'implement_pokemon' into 'main'
Pokémon fixes and tweaks

Closes #1230 and #1137

See merge request cable-mc/cobblemon!1371
2024-12-14 23:57:34 +00:00
PolymetaandApion 89b89592ab Pokémon fixes and tweaks 2024-12-14 23:57:33 +00:00
Hiroku cdeb977769 Update DexInformationChangedEvent.kt 2024-12-14 23:55:43 +00:00
Gustavo Felippi PuerariandWeblate 78192c43a7 Translated using Weblate (Portuguese (Brazil))
Currently translated at 33.6% (2148 of 6391 strings)

Translation: Cobblemon/Mod
Translate-URL: http://lang.cobblemon.com/projects/cobblemon/mod/pt_BR/
2024-12-14 18:41:41 +00:00
Paul a3987b433c Merge remote-tracking branch 'origin/main' 2024-12-14 22:19:51 +10:00
Paul 99de91bd7e Added optional level property to pool party providers for using molang to force a level value, closes #1244 2024-12-14 22:19:39 +10:00
Paul 4b292b1241 Less zealous on the warning logging 2024-12-14 22:16:07 +10:00
Hiroku 1e6e4d8c5f Merge branch 'moe-eats-bugs' into 'main'
Added ignore checks to prevent passive healing/revival when config values are 0

Closes #875

See merge request cable-mc/cobblemon!1372
2024-12-14 11:41:35 +00:00
MoeBoy76 9a61c3471b Added ignore checks to prevent passive healing/revival when config values are 0 2024-12-14 22:12:08 +11:00
Paul 77f7439853 Fixed brewing on neoforged 2024-12-14 14:51:01 +10:00
Segfault Guy 439161c180 Merge remote-tracking branch 'origin/main' into ihatebugtypes 2024-12-13 23:39:22 -05:00
Paul e9718b7e8b Merge remote-tracking branch 'origin/main' 2024-12-14 14:29:28 +10:00
Hiroku 4cadd4e20f Merge branch 'fix/watchdog' into 'main'
Watchdog: Possible fix for watchdog crashing

See merge request cable-mc/cobblemon!1368
2024-12-14 04:26:24 +00:00
Hiroku 17a3d86324 Update PokemonEntity.kt 2024-12-14 04:25:19 +00:00
Hiroku 48653073f5 if ( 2024-12-14 04:21:49 +00:00
Nick 82c7c03e28 Initial tests for watchdog fix 2024-12-13 20:18:13 -08:00
Nick 2d7f3257d1 Merge branch 'hiro-fix' into 'main'
I fix bugs too

Closes #1212, #1222, and #1228

See merge request cable-mc/cobblemon!1367
2024-12-14 04:16:35 +00:00
HirokuandNick bc7b4f94c2 I fix bugs too 2024-12-14 04:16:35 +00:00
Paul 7a9e9d7ced Fixed battles being startable while pokemon are busy, closes #1212 2024-12-14 13:52:19 +10:00
Paul 0f85ece16f Fixed cry sound effects playing twice for specific cases, closes #1222 2024-12-14 13:36:53 +10:00
Paul c4656e1a4e Fixed cubone alola bias not being visible, closes #1228 2024-12-14 12:57:17 +10:00
Paul 0c48a318c5 Added /runmolangscript, updated molang version 2024-12-14 12:22:25 +10:00
Paul dab89a9f8c Merge remote-tracking branch 'origin/main' 2024-12-14 11:05:55 +10:00
Paul 53fd2dba2d Fixed flows double-registering then triple-registering then quadruple-registering then- 2024-12-14 11:05:48 +10:00
Polymeta a5b15c6127 Merge branch 'more-items-tooltips' into 'main'
Add tooltips to many items

See merge request cable-mc/cobblemon!1346
2024-12-14 00:48:11 +00:00
Guilherme PereiraandPolymeta 174fb59bbb Add tooltips to many items 2024-12-14 00:48:11 +00:00
Paul 2f8bd44938 Added q.set_query for assigning new query function values, closes #1240 2024-12-14 10:36:53 +10:00
Paul 9d58c7126e Fixed set_npc_variable not initializing NPC data properly 2024-12-14 10:12:50 +10:00
Hiroku 2afd722125 Incl default return for get_npc_variable when no data exists for the NPC yet 2024-12-14 00:03:25 +00:00
Polymeta c9cfe489d6 Merge branch 'EV-Berry-Lang-fixes' into 'main'
Fixed lang files for EV lowering berries to actually be correct

See merge request cable-mc/cobblemon!1364
2024-12-13 11:23:29 +00:00
Plastered_Crab 4ee029fa54 Fixed lang files for EV lowering berries to actually be correct 2024-12-12 09:41:17 -08:00
TeggyandWeblate e2ebb32708 Translated using Weblate (Spanish)
Currently translated at 87.6% (5601 of 6391 strings)

Translation: Cobblemon/Mod
Translate-URL: http://lang.cobblemon.com/projects/cobblemon/mod/es/
2024-12-11 15:53:06 +00:00
Polymeta 5b0a221ade Merge branch 'RaftFixes' into 'main'
Fixed reading speciesdata instead of formdata. Fixed rafts deploying on...

See merge request cable-mc/cobblemon!1359
2024-12-11 08:14:41 +00:00
JazzMcNadeandPolymeta af23b82ce5 Fixed reading speciesdata instead of formdata. Fixed rafts deploying on... 2024-12-11 08:14:41 +00:00
Segfault Guy b0466447cc Temp fix for missing form langs. 2024-12-10 21:59:39 -05:00
Zack the GhastandWeblate 727ff96ff8 Translated using Weblate (Portuguese (Portugal))
Currently translated at 28.9% (1851 of 6391 strings)

Translation: Cobblemon/Mod
Translate-URL: http://lang.cobblemon.com/projects/cobblemon/mod/pt_PT/
2024-12-10 12:41:43 +00:00
Gustavo Felippi PuerariandWeblate 9307f957b7 Translated using Weblate (Portuguese (Brazil))
Currently translated at 32.6% (2089 of 6391 strings)

Translation: Cobblemon/Mod
Translate-URL: http://lang.cobblemon.com/projects/cobblemon/mod/pt_BR/
2024-12-10 12:41:43 +00:00
TeggyandWeblate d48978f6a4 Translated using Weblate (Spanish)
Currently translated at 86.5% (5531 of 6391 strings)

Translation: Cobblemon/Mod
Translate-URL: http://lang.cobblemon.com/projects/cobblemon/mod/es/
2024-12-10 12:41:42 +00:00
amo d1a8171079 resolve threads 2024-12-09 23:57:38 +00:00
amo d4b673ea38 Merge branch 'main' into dex-update-event 2024-12-09 23:54:08 +00:00
Hiroku 36e78a5af2 Merge branch 'fix-dex-quiet-cries' into 'main'
Fix quiet cries in the Pokédex

See merge request cable-mc/cobblemon!1354
2024-12-07 22:38:12 +00:00
Guilherme PereiraandHiroku 55621b01b7 Fix quiet cries in the Pokédex 2024-12-07 22:38:12 +00:00
Paul b828fe2b3a Merge remote-tracking branch 'origin/main' 2024-12-07 20:59:45 +10:00
Paul b7b10151e1 Added get_npc_variable and set_npc_variable to player functions for convenience, updated molang for flexibility with query struct nested assignments 2024-12-07 20:59:33 +10:00
amo de21b7c402 forgot me loighter 2024-12-07 04:44:27 +00:00
amo 10fe3c4362 🍋‍🟩 Chore: Add Dex data update event 2024-12-07 04:40:50 +00:00
Gustavo Felippi PuerariandWeblate aca1433595 Translated using Weblate (Portuguese (Brazil))
Currently translated at 30.8% (1969 of 6391 strings)

Translation: Cobblemon/Mod
Translate-URL: http://lang.cobblemon.com/projects/cobblemon/mod/pt_BR/
2024-12-07 03:41:43 +00:00
TeggyandWeblate 082c382179 Translated using Weblate (Spanish)
Currently translated at 80.4% (5140 of 6391 strings)

Translation: Cobblemon/Mod
Translate-URL: http://lang.cobblemon.com/projects/cobblemon/mod/es/
2024-12-07 03:41:42 +00:00
Test cac6ed843a Merge branch 'sterr/bugfixes' into 'main'
Adjusted portrait space detection in the Pokedex to prevent overlap

Closes #1055

See merge request cable-mc/cobblemon!1348
2024-12-06 18:32:20 +00:00
SterrezoandTest 8f5f40c360 Adjusted portrait space detection in the Pokedex to prevent overlap 2024-12-06 18:32:19 +00:00
Hiroku 0e586b4f38 Merge branch 'fix/ivs' into 'main'
Rework copy on properties, just clone fields rather than serialize + deserialize JSON

See merge request cable-mc/cobblemon!1344
2024-12-06 12:38:01 +00:00
Paul 62dd487448 Removed platform independent JSON datapack loading because Fabric has fixed the bug, closes #1184 2024-12-06 20:06:50 +10:00
Nick 04ecd9189c It would seem a particular build step was forgotten 2024-12-05 21:37:34 -08:00
Nick 55be22e942 Revert previous change, update stats differently instead 2024-12-05 21:29:13 -08:00
Hiroku f2e1b3dab4 Merge branch 'pokeedit-hidden-ability-false' into 'main'
Revert Pokémon ability to normal when hiddenAbility is false

See merge request cable-mc/cobblemon!1351
2024-12-06 00:51:21 +00:00
Paul 66f98ebf12 Added v.npc for on_player_wins and on_player_loses script hooks, v.npc to on_defeat and on_victory hooks 2024-12-05 20:43:04 +10:00
Paul c1842e42b0 Fixed run_molang script hooks not running multi-expressions, closes #1224 2024-12-05 19:14:49 +10:00
Hiroku e6c2f241d4 Merge branch 'MoreDynamicRafts' into 'main'
MoreDynamicRafts

See merge request cable-mc/cobblemon!1347
2024-12-05 08:39:13 +00:00
Segfault Guy c2d85a0cdf Battle performance, bugs, and PokemonEntity fixes. 2024-12-05 00:22:20 -05:00
JazzMcNade 0f9c282e1f Merge branch 'main' into MoreDynamicRafts 2024-12-04 21:23:45 -06:00
JazzMcNade 7bd5d77b60 Fixed naming conventions, removed some unnecessary variables. 2024-12-04 21:22:35 -06:00
Guilherme Pereira f7b4d4e65a add changelog of when hiddenability=false on pokespawn and pokeedit commands 2024-12-04 22:23:28 -03:00
Guilherme Pereira e78f403198 set pokemon ability to normal when property is false 2024-12-04 21:43:07 -03:00
Test 4ca91cc8d8 Merge branch 'pokeedit-nickname-completion' into 'main'
Add nickname completion suggestion for pokeedit and pokespawn commands

See merge request cable-mc/cobblemon!1350
2024-12-05 00:20:08 +00:00
Test 1518181f6b Merge branch 'sound' into 'main'
Move sounds + Pokedex volume adjustments + missing sound fixes

See merge request cable-mc/cobblemon!1341
2024-12-05 00:14:06 +00:00
Hiroku b915237c8d Merge branch 'more-npc-dakka' into 'main'
Even more npc dakka

See merge request cable-mc/cobblemon!1330
2024-12-04 21:52:38 +00:00
Guilherme Pereira bb41a72067 add nickname completion suggestion for properties argument type 2024-12-04 16:29:36 -03:00
Paul fbb8492c75 Added ScriptPartyProvider 2024-12-04 22:36:17 +10:00
Paul c07aef04b1 Merge remote-tracking branch 'origin/main' into more-npc-dakka 2024-12-04 22:05:11 +10:00
Paul 6ff4befb04 Possible fix for tick watchdog hang 2024-12-04 22:00:56 +10:00
Paul a858d4f532 Use emptyList default rather than null for party provider player list, update doco, corrected LookInDirectionTask's extra start conditions 2024-12-04 21:13:38 +10:00
Hiroku 28fc273b26 Merge branch 'gimmi_tower_typo_fix' into 'main'
Fixing something i found in the processor lists

See merge request cable-mc/cobblemon!1345
2024-12-04 10:47:14 +00:00
JazzMcNade fc89757a09 Tab spacing 2024-12-04 01:16:00 -06:00
JazzMcNade 243c9abfd1 Rafts can now can (un)deploy upon touching water or a solid surface. 2024-12-04 01:11:02 -06:00
Weblate 7cea5ad69e Update translation files
Updated by "Remove blank strings" add-on in Weblate.

Translation: Cobblemon/Mod
Translate-URL: http://lang.cobblemon.com/projects/cobblemon/mod/
2024-12-04 00:41:50 +00:00
Zack the GhastandWeblate 0b9b5ac306 Translated using Weblate (Portuguese (Portugal))
Currently translated at 28.8% (1845 of 6391 strings)

Translation: Cobblemon/Mod
Translate-URL: http://lang.cobblemon.com/projects/cobblemon/mod/pt_PT/
2024-12-04 00:41:46 +00:00
Gustavo Felippi PuerariandWeblate 8941f3079b Translated using Weblate (Portuguese (Brazil))
Currently translated at 29.1% (1866 of 6391 strings)

Translation: Cobblemon/Mod
Translate-URL: http://lang.cobblemon.com/projects/cobblemon/mod/pt_BR/
2024-12-04 00:41:44 +00:00
Alexis SalgueiroandWeblate e9a0815ca6 Translated using Weblate (French)
Currently translated at 100.0% (6391 of 6391 strings)

Translation: Cobblemon/Mod
Translate-URL: http://lang.cobblemon.com/projects/cobblemon/mod/fr/
2024-12-04 00:41:41 +00:00
Slippy b871645e9e Fixing something i found in the processor lists 2024-12-03 11:23:40 -06:00
Hiroku cec0ee04e0 Merge branch 'ability-patch-fix' into 'main'
Ability Patch fix

See merge request cable-mc/cobblemon!1342
2024-12-03 11:41:07 +00:00
Conan 069bc91aa1 Added fix to changelog 2024-12-03 12:39:54 +01:00
Hiroku 692a1bd6ba Merge branch 'stat-sanity' into 'main'
Make Stats#getStat use actual sane checking logic

See merge request cable-mc/cobblemon!1343
2024-12-03 11:22:35 +00:00
Paul c79916d8a0 More handy NPC presets, add player context to dynamic party molang environments, separated applied aspects from variation aspects for API 2024-12-03 21:20:31 +10:00
Nick d503d4a1eb Rework copy on properties, just clone fields rather than serialize + deserialize JSON 2024-12-02 19:10:30 -08:00
amo 3d877496b3 🍋‍🟩 Chore: why was it ever any other way 2024-12-03 02:18:33 +00:00
Conan 1e4964d80c Fixed an issue where Pokémon with their hidden ability couldn't change back to their original abilities 2024-12-02 13:41:01 +01:00
Paul a0f75dd090 Added is_chunk_loaded_at molang to level, added deeper support to json -> component deserialization 2024-12-02 09:46:52 +10:00
Sterrezo 5eceaa849c Quick fix to Mud Sport particles 2024-12-01 16:12:53 +01:00
Sterrezo 0e0233993a Merge branch 'main' into sound 2024-12-01 15:34:51 +01:00
Sterrezo 56ed5a6412 Added a sound to Kinesis 2024-12-01 15:30:47 +01:00
Hiroku 92ecaa66fa Merge branch 'power-items-tooltips' into 'main'
Fixes power items tooltips

See merge request cable-mc/cobblemon!1340
2024-12-01 09:46:08 +00:00
Guilherme Pereira 4d3e6400ab fixes power items tooltips 2024-12-01 05:30:46 -03:00
Paul f2e5ecef66 Conflicts begone 2024-12-01 17:00:03 +10:00
Paul ad9e85923a Merge remote-tracking branch 'origin/main' into more-npc-dakka
# Conflicts:
#	common/src/main/kotlin/com/cobblemon/mod/common/CobblemonNetwork.kt
2024-12-01 16:57:06 +10:00
Paul 60d0c490dd Critical typo correction 2024-12-01 12:23:23 +10:00
Paul bf461297b2 Corrected multiple little inaccuracies around molang and flows 2024-12-01 12:09:11 +10:00
Hiroku 3ec89cd84e Merge branch 'beast-rod-line-fix' into 'main'
Fix fishing line color for beast rod

See merge request cable-mc/cobblemon!1339
2024-12-01 01:50:25 +00:00
Hiroku 6452521434 Merge branch 'held-items-tooltips' into 'main'
Held items, evolutions items and candies tooltips

See merge request cable-mc/cobblemon!1318
2024-12-01 01:39:30 +00:00
Guilherme PereiraandHiroku 5cbf961ac2 Held items, evolutions items and candies tooltips 2024-12-01 01:39:30 +00:00
Hiroku 6b473cffa3 Merge branch 'dex' into 'main'
refactor pokedex item model registration, update Pokedex rendering

See merge request cable-mc/cobblemon!1323
2024-12-01 01:38:41 +00:00
Nick f353548f9e Merge branch 'TheRaftShow' into 'main'
Battle Rafts

See merge request cable-mc/cobblemon!1338
2024-12-01 01:02:38 +00:00
JazzMcNadeandNick bba995f3d2 Battle Rafts 2024-12-01 01:02:38 +00:00
Sterrezo 5965d5a81b Psychiiiiiiic 2024-12-01 01:58:23 +01:00
Sterrezo 4e02ca310d Added sounds for Ember, fixed Ember missing an impact and corrected Psychic's timing again 2024-12-01 00:44:35 +01:00
Sterrezo 3260271d3c Adjusted Psychic 2024-11-30 23:58:20 +01:00
Sterrezo a77863adab Implemented sounds for new move particles 2024-11-30 18:07:30 +01:00
Sterrezo 455cfeb894 Missing sound fixes for particles 2024-11-30 17:29:42 +01:00
Plastered_Crab 46266c08ac Fix fishing line color for beast rod 2024-11-29 21:40:47 -08:00
Nick 19aa45e0af Merge branch 'bugfixes' into 'main'
Fishing bugfixes

See merge request cable-mc/cobblemon!1337
2024-11-30 03:26:06 +00:00
Nick 0fe8ebd008 Merge branch 'Offhand-bait-fixes' into 'main'
Fix offhand bait being applied

See merge request cable-mc/cobblemon!1336
2024-11-30 03:19:34 +00:00
Sterrezo 3e393546a2 Fishing Pokemon now uses up durability 2024-11-30 01:45:13 +01:00
Plastered_Crab e5995a5491 Fix offhand bait being applied
It was being applied still even when that bait was already on the bobber.
2024-11-29 16:31:25 -08:00
Sterrezo 7de083bf4f Fixed Fishermen selling 3 Pokerod smithing templates and capped max trades 2024-11-29 23:34:39 +01:00
Test 5f7451c284 rm unused files 2024-11-29 19:13:17 +00:00
Sterrezo fd3c614c2c Pokedex sound balancing
why did mojang hardcode this
2024-11-29 14:54:29 +01:00
Zack the GhastandWeblate fe48da6277 Translated using Weblate (Portuguese (Portugal))
Currently translated at 27.3% (1750 of 6391 strings)

Translation: Cobblemon/Mod
Translate-URL: http://lang.cobblemon.com/projects/cobblemon/mod/pt_PT/
2024-11-29 09:15:34 +00:00
MiaandWeblate 12c9c1c295 Translated using Weblate (German)
Currently translated at 88.8% (5679 of 6391 strings)

Translation: Cobblemon/Mod
Translate-URL: http://lang.cobblemon.com/projects/cobblemon/mod/de/
2024-11-29 09:15:33 +00:00
Test 454c2c60ab merge from main 2024-11-28 17:35:37 -05:00
Test c581673ef1 Merge branch 'main' of https://gitlab.com/cable-mc/cobblemon into dex
# Conflicts:
#	common/src/main/kotlin/com/cobblemon/mod/common/client/gui/pokedex/PokedexGUI.kt
2024-11-28 17:19:53 -05:00
Test 09e29137fc check for view counter block in packet handler 2024-11-28 17:04:48 -05:00
Test fd1e5ef421 split lectern block entity into reuseable class 2024-11-28 16:38:39 -05:00
Test 8de05006f4 update dex rendering for player and blockEntities 2024-11-28 11:15:15 -05:00
Hiroku 7188978a66 Merge branch 'sound' into 'main'
Sounds for candy items + missing sound fixes + cleanup

See merge request cable-mc/cobblemon!1334
2024-11-28 11:08:28 +00:00
Hiroku f60fd26cbf Merge branch 'Lure_ball_tooltip_fix' into 'main'
Add correct Lure Ball tooltip now that fishing works :D

See merge request cable-mc/cobblemon!1335
2024-11-28 04:39:32 +00:00
Hiroku 3ba59d2165 Merge branch 'pokerod-durability-buff' into 'main'
Increase durability of Pokerods to be 256 instead of 64

See merge request cable-mc/cobblemon!1333
2024-11-28 04:24:44 +00:00
Plastered_Crab cd80598857 Add correct Lure Ball tooltip now that fishing works :D 2024-11-27 17:55:04 -08:00
Sterrezo 0978febaba Update CHANGELOG.md 2024-11-28 00:25:25 +01:00
Sterrezo bb67629fa5 Fixed Quick Attack and Paralysis missing sounds 2024-11-28 00:16:24 +01:00
Sterrezo d21039953f Update quickattack.json 2024-11-27 23:25:13 +01:00
Sterrezo 682f931f0f sounds.json fixes and duplicate asset removal 2024-11-27 23:16:00 +01:00
Plastered_Crab 3796997a12 Increase durability of Pokerods to be 256 instead of 64 2024-11-27 12:55:01 -08:00
Sterrezo b4cf49e1a8 Added a sound for using candy items
Closes a closed issue that requested sounds for candy items
2024-11-27 19:05:42 +01:00
Hiroku 2820989586 Merge branch 'ihatebugtypes' into 'main'
Ihatebugtypes

Closes #1174, #1180, and #1183

See merge request cable-mc/cobblemon!1313
2024-11-27 11:44:53 +00:00
Hiroku d37f6bc5a4 Merge branch 'pumpkins-can-move' into 'main'
re-added Pumpkaboo's moves

Closes #1202

See merge request cable-mc/cobblemon!1332
2024-11-27 11:44:23 +00:00
Hiroku 90d7fc3c2f Merge branch 'sterr/subtitles' into 'main'
Generic subtitles + bugfix

Closes #1200

See merge request cable-mc/cobblemon!1331
2024-11-27 11:44:03 +00:00
MoeBoy76 e2779c55f2 re-added Pumpkaboo's moves 2024-11-27 11:46:32 +11:00
Segfault Guy 349b4c28cc Merge remote-tracking branch 'origin/main' into ihatebugtypes 2024-11-26 13:49:07 -05:00
Sterrezo 7f2540a48f Added generic subtitles to block sounds 2024-11-26 18:02:22 +01:00
Sterrezo 367db9a368 Corrected subtitles for successful capture
Closes #1200
2024-11-26 17:53:16 +01:00
Zack the GhastandWeblate 7471b336be Translated using Weblate (Portuguese (Portugal))
Currently translated at 26.9% (1720 of 6391 strings)

Translation: Cobblemon/Mod
Translate-URL: http://lang.cobblemon.com/projects/cobblemon/mod/pt_PT/
2024-11-26 12:15:28 +00:00
Paul 4f3eb7e4ba Event flows merged in and used for a few battle-related NPC presets, heaps more molang hooks 2024-11-26 21:57:55 +10:00
Hiroku c95f4cb9ad Merge branch 'implement_pokemon' into 'main'
Several fixes to some pokemon and redo of Magikarp jump forms to fit standards

Closes #1137

See merge request cable-mc/cobblemon!1329
2024-11-26 11:30:17 +00:00
Frank The FarmerandHiroku c0ccefd9b4 Several fixes to some pokemon and redo of Magikarp jump forms to fit standards 2024-11-26 11:30:17 +00:00
Nick f45a1681fa Merge branch 'pokerod-tooltip-changes' into 'main'
Add new tooltips for pokerods to show players how to add bait

See merge request cable-mc/cobblemon!1328
2024-11-25 21:09:40 +00:00
Plastered_Crab 12c820313a Add lang files for adding and removing bait tooltips 2024-11-25 13:01:28 -08:00
Nick e6b287434b Merge branch 'off-hand-fishing-bait-changes' into 'main'
Changes to how offhand bait is applied to rod

See merge request cable-mc/cobblemon!1327
2024-11-25 20:13:38 +00:00
Nick d39ee60158 Merge branch 'lucky-sea-rate-changes' into 'main'
Alter Luck of the Sea spawn bucket rates

See merge request cable-mc/cobblemon!1326
2024-11-25 20:12:05 +00:00
Plastered_Crab d405ede256 Changes to how offhand bait is applied to rod
- only 1 bait from off hand is applied
- if bait is already on the rod when applying from offhand, bait is dropped from rod before applying bait from offhand
2024-11-25 11:29:19 -08:00
Nick bbaf4332c6 Merge branch 'jumping-ancient-balls' into 'main'
Ancient Pokeball particles and animations.

See merge request cable-mc/cobblemon!1324
2024-11-25 19:20:20 +00:00
TyzillionandNick 954e690a20 Ancient Pokeball particles and animations. 2024-11-25 19:20:20 +00:00
Nick 0dda070c4c Merge branch 'sound' into 'main'
Poke Ball sound overhaul

See merge request cable-mc/cobblemon!1319
2024-11-25 19:17:41 +00:00
Plastered_Crab e855e0f1ae Alter Luck of the Sea bucket rates 2024-11-25 10:13:36 -08:00
Hiroku 0515b3204b Merge branch 'improve-dex-search' into 'main'
Add functionality to search by species, ability, or drops in dex

Closes #1129

See merge request cable-mc/cobblemon!1320
2024-11-25 12:00:28 +00:00
TestandHiroku 049c0c308a Add functionality to search by species, ability, or drops in dex 2024-11-25 12:00:27 +00:00
Hiroku e424bd76b5 Merge branch 'sterr/npc-sound' into 'main'
Click sound in NPC dialogue now plays at the correct pitch

See merge request cable-mc/cobblemon!1325
2024-11-25 03:54:50 +00:00
Sterrezo 0443aa5109 Click sound now plays at the correct pitch. That float is in fact not the volume. 2024-11-25 04:45:44 +01:00
Paul f9a3d2dc0e Merge remote-tracking branch 'origin/event-flows' into more-npc-dakka
# Conflicts:
#	common/src/main/kotlin/com/cobblemon/mod/common/Cobblemon.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/CobblemonNetwork.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/api/events/pokemon/PokemonCapturedEvent.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/api/molang/MoLangFunctions.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/data/CobblemonDataProvider.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/entity/pokemon/PokemonEntity.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/pokemon/Pokemon.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/util/MoLangExtensions.kt
2024-11-24 21:07:50 +10:00
Paul f817c18f4f Added NPC variable editing in NPC config menu 2024-11-24 21:02:38 +10:00
Test bd801b1517 refactor pokedex item model registration 2024-11-23 23:08:47 -05:00
Hiroku 0f17d30ece Merge branch 'Extreme-Tower-Makeover' into 'main'
Giving the Frozen Gimmi tower a new look & making it so Breezes sometimes...

See merge request cable-mc/cobblemon!1322
2024-11-23 10:39:20 +00:00
Hiroku f54aed0953 Merge branch 'particle-packet-expansion' into 'main'
[1.6] Expand SpawnSnowstormEntityPacket capabilties to support non-posable entities at a basic level

See merge request cable-mc/cobblemon!1309
2024-11-23 10:37:18 +00:00
Slippy 2b5a16d30f Giving the Frozen Gimmi tower a new look & making it so Breezes sometimes spawn on top instead of Evokers (Don't fall) 2024-11-23 02:11:03 -06:00
Slippy f1ed9b010e Merge branch 'main' of https://gitlab.com/cable-mc/cobblemon into 1.6-Bug-Testing 2024-11-23 01:58:17 -06:00
Paul e8dcd994be Fixed fish baits. Fished fix baits? Bished fix fates 2024-11-23 16:27:33 +10:00
Hiroku da371fd940 Merge branch 'fishingrod-crash-fix' into 'main'
Fix drowned crashing game when holding fishing rod

See merge request cable-mc/cobblemon!1321
2024-11-23 05:56:47 +00:00
mia 0cdeab0800 check livingEntity instanceof Player before casting 2024-11-22 20:14:29 -05:00
Sterrezo eca3c582aa Added sounds for Poke Balls landing on the ground during capture, updated sounds with new iterations 2024-11-22 14:32:54 +01:00
Sterrezo 8dd09a2e14 Merge branch 'main' into sound 2024-11-22 13:16:41 +01:00
Hiroku a96880b8ed Merge branch 'more-npc-dakka' into 'main'
Added panic AI for NPCs and much more molang hooking

See merge request cable-mc/cobblemon!1303
2024-11-22 10:15:33 +00:00
Hiroku 40de8b3ab9 Merge branch 'dex-fix' into 'main'
Fix dex search crash + add text cursor functionality

Closes #1185

See merge request cable-mc/cobblemon!1317
2024-11-22 08:59:37 +00:00
TestandHiroku 6eb814a7f0 Fix dex search crash + add text cursor functionality 2024-11-22 08:59:37 +00:00
Paul 2f2fd3b17e Fixed a couple of molang functions, added level support and fixes to NPC spawn files 2024-11-22 17:21:20 +10:00
Hiroku 4234f9be67 Merge branch 'fishing_particles' into 'main'
Fishing Particles

See merge request cable-mc/cobblemon!1316
2024-11-22 06:46:43 +00:00
Tyzillion f5766cdad4 Milliseconds? More like LITERAL TICKS. Lime disease... 2024-11-22 01:29:17 -05:00
Tyzillion 8c11ef9c00 System time? More like fishing time. Amiright? 2024-11-22 01:15:41 -05:00
Tyzillion 78ac8542f6 Added new particles to Poke fishing. 2024-11-22 00:51:55 -05:00
Segfault Guy 8c1d03359a Fix deserialization of IVs and EVs for PokemonProperties. 2024-11-21 22:19:01 -05:00
amo bb574e58d8 Merge branch 'main' into particle-packet-expansion 2024-11-22 00:51:23 +00:00
amo 5c3c7b4195 🍋‍🟩 Chore: Oops! v2 2024-11-22 00:50:37 +00:00
Hiroku ddec062e87 Merge branch 'experience-fix' into 'main'
Stops rewarding Pokemon EXP upon forfeiting NPC battles.

See merge request cable-mc/cobblemon!1278
2024-11-22 00:07:51 +00:00
Conan 3322f3ffb6 Changelog addition 2024-11-22 01:05:00 +01:00
Hiroku ab1ec11c26 Merge branch 'sterr/bugfixes' into 'main'
Sound and music bugfixes

Closes #1161 and #1172

See merge request cable-mc/cobblemon!1299
2024-11-21 23:49:19 +00:00
Hiroku 36aaa97029 Merge branch 'small-bugfixes' into 'main'
Small bugfixes

Closes #1099 and #1156

See merge request cable-mc/cobblemon!1284
2024-11-21 23:48:39 +00:00
Hiroku 6b3443fbd2 Merge branch 'berries-tooltips' into 'main'
Add tooltips for Pomeg, Tamato, Grepa, Kelpsy, Hondew and Qualot berries

See merge request cable-mc/cobblemon!1308
2024-11-21 23:46:56 +00:00
Hiroku 268a1ab311 Merge branch 'feed-display-case-from-underneath' into 'main'
Add support for feeding display case items from underneath

Closes #1177

See merge request cable-mc/cobblemon!1307
2024-11-21 23:42:45 +00:00
Paul 40957b6eac Added defaults to new PermissionValidator functions 2024-11-22 09:37:12 +10:00
Sterrezo d67be68b4b Changelog, updated break out animation (thanks Torch!), new break out sound for ancient Pokeballs 2024-11-22 00:29:52 +01:00
Hiroku f6f34a2b10 Merge branch 'npc-no-pain-no-gain' into 'main'
Added NPC properties: isInvulnerable, isLeashable, and allowProjectileHits. (no pain no gain)

Closes #1179

See merge request cable-mc/cobblemon!1306
2024-11-21 23:18:28 +00:00
Hiroku b2f71d305f Update SpawnSnowstormEntityParticleHandler.kt 2024-11-21 23:12:05 +00:00
Hiroku 51a8c31997 Merge branch 'npc-kill-command' into 'main'
Added a command to delete NPCs

See merge request cable-mc/cobblemon!1315
2024-11-21 23:10:40 +00:00
Conan 67ae5ff155 Added a command to delete NPCs 2024-11-22 00:06:07 +01:00
Hiroku 9e0cf03d8e Merge branch 'fix-mega-event-spelling-error' into 'main'
Fix spelling error in mega evolution event

See merge request cable-mc/cobblemon!1314
2024-11-21 22:13:25 +00:00
Conan 6a076d36f9 "isInvincible" != "isInvulnerable" 2024-11-21 20:28:54 +01:00
Sterrezo 4314a0b506 Major rework of Pokeball sound implementation and new sounds 2024-11-21 20:18:28 +01:00
amo 77490b5084 🍋‍🟩 Chore: Oops! 2024-11-21 14:15:44 +00:00
Segfault Guy 109eecd4fe Merge remote-tracking branch 'origin/main' into ihatebugtypes 2024-11-20 23:00:34 -05:00
Segfault Guy d6353aa2c7 Remedy for remedy. 2024-11-20 22:44:04 -05:00
Test fd0e741a25 update ui, fix renders in dex from clipping into background 2024-11-20 22:39:50 -05:00
Segfault Guy b0e0a06e9a Fix battle music race condition on forceBattle. 2024-11-20 21:00:16 -05:00
Conan 1c569ac5cf Added property descriptions 2024-11-20 17:01:14 +01:00
Guilherme Pereira 5ff5de8d14 re-add tooltip 'Cannot be eaten by holder' on another line for pomeg, tamato, grepa, kelpsy, hondew and qualot berries 2024-11-20 07:58:41 -03:00
Hiroku 881e1dc1a6 Merge branch 'hatenna-line-files-wrong-dex-numbers' into 'main'
Rename Hatenna line folders to match correct pokedex numbers

Closes #1173

See merge request cable-mc/cobblemon!1310
2024-11-20 09:20:37 +00:00
Hiroku 09b9fade87 Merge branch 'feature/fix-gui-mixin' into 'main'
fix gui mixin to prevent accidental 3rd person HUD disappearances

See merge request cable-mc/cobblemon!1312
2024-11-20 09:18:25 +00:00
Segfault Guy acd3b7cade Fix activation messages on ability suppressing moves. 2024-11-19 22:28:48 -05:00
Polymeta 482a0015bc fix gui mixin to prevent accidental 3rd person HUD disappearances
Signed-off-by: Polymeta <40173118+Polymeta@users.noreply.github.com>
2024-11-20 02:13:40 +00:00
Guilherme Pereira b881c96630 add changelog for feeding display case items from underneath fix 2024-11-19 20:09:25 -03:00
Hiroku 79cd1f5224 Merge branch 'init-events' into 'main'
emit(Unit), not just emit(), otherwise theres no data to post, duh

See merge request cable-mc/cobblemon!1311
2024-11-19 21:18:01 +00:00
Xander Forrest f369877c10 emit(Unit), not just emit(), otherwise theres no data to post, duh 2024-11-19 18:52:03 +00:00
Guilherme Pereira 1f1ff0e4fd rename hatenna, hattrem and hatterene folders to match correct pokedex numbers 2024-11-19 13:55:28 -03:00
amo 0a34e51e07 🍋‍🟩 Chore: Changelog 2024-11-19 15:51:45 +00:00
amo 741530eb43 🍋‍🟩 Feature: Expand SpawnSnowstormEntityParticleHandler to support non-bedrock entities at a very basic level 2024-11-19 15:44:02 +00:00
Guilherme Pereira 6c9c5a93f1 add tooltips for pomeg, tamato, grepa, kelpsy, hondew and qualot berries 2024-11-19 11:43:35 -03:00
Guilherme Pereira ddbf6d7345 add support for feeding display case items from underneath 2024-11-19 09:52:38 -03:00
Hiroku 0da09c767c Merge branch 'evolution_tweaks' into 'main'
Edited the obscuring evolution particles to better obscure pokemon based on hitbox volume and scale.

See merge request cable-mc/cobblemon!1305
2024-11-19 09:36:18 +00:00
Conan fb39ff8657 Added NPC properties: isInvulnerable, isLeashable, and allowProjectileHits. 2024-11-19 08:41:10 +01:00
Conan dd516c153e Added NPC properties: isInvulnerable, isLeashable, and allowProjectileHits. 2024-11-19 08:39:14 +01:00
Tyzillion 739d31a9ca I'M LOSING MY MIND... Anyways, more tweaks to the obscure particle. 2024-11-18 23:45:22 -05:00
Tyzillion a5675aedcb Tweaked the formula further to better account for middle stage evos. 2024-11-18 22:46:00 -05:00
Tyzillion 196bf42fb6 Tweaked obscuring molang formula to better obscure Pokemon based on hitbox volume and scale. 2024-11-18 22:02:34 -05:00
Test 1d01a2bf1f fix species name not being translated when scanned 2024-11-18 19:23:28 -05:00
Natchakot ChuchokjatupornandWeblate 948f299f8f Translated using Weblate (Thai)
Currently translated at 90.1% (5764 of 6391 strings)

Translation: Cobblemon/Mod
Translate-URL: http://lang.cobblemon.com/projects/cobblemon/mod/th/
2024-11-18 21:41:42 +00:00
Paul ce6087f368 Added panic AI for NPCs and much more molang hooking 2024-11-18 13:28:50 +10:00
mia f706dcda26 clarify ItemPropertiesMixin inject location 2024-11-17 20:45:59 -05:00
Segfault Guy 8e46a55cbd Merge remote-tracking branch 'origin/main' into ihatebugtypes 2024-11-17 19:12:41 -05:00
Hiroku d3ae4cd3e7 Merge branch '1.6-spawns' into 'main'
Updated spawn files. Edited ocean_monument preset. Edited is_lush, is_ocean,...

See merge request cable-mc/cobblemon!1293
2024-11-17 09:25:02 +00:00
Hiroku b41b496b80 Merge branch 'bugfix/dexo-fixo' into 'main'
Fixed dex errors caused by /giveallpokemon and other random catches & command permission

See merge request cable-mc/cobblemon!1301
2024-11-17 09:17:30 +00:00
Hiroku 9cd3ded705 Merge branch 'summary-updates' into 'main'
Summary updates

See merge request cable-mc/cobblemon!1300
2024-11-17 09:15:50 +00:00
TestandHiroku ca4b50d727 Summary updates 2024-11-17 09:15:50 +00:00
Paul f6bc3f662a PokedexCommand permission tweak 2024-11-17 13:23:07 +10:00
Paul 7ab621e5b9 Fixed dex errors caused by /giveallpokemon and other random catches 2024-11-17 13:22:55 +10:00
plastered_crab 4e63cb0bb3 Remove Tympole, Palpitoad, Seismitoad spawn pool world files 2024-11-16 18:15:07 -08:00
plastered_crab 671c7adb05 Tweak incorrect data for Magikarp and Spiritomb spawns 2024-11-16 18:13:14 -08:00
Sterrezo edbe539537 Merge branch 'main' into sterr/bugfixes 2024-11-17 03:05:56 +01:00
Sterrezo e20728faa0 Made owned shiny ambient sounds actually audible 2024-11-17 03:05:28 +01:00
Sterrezo 5a2f948acb Fixed music not playing when fishing or in npc battles
Doozy. Basically, using forceBattle from PokemonEntity.kt makes InitializeInstruction.kt send a packet with battle music before battleTheme is assigned in PlayerBattleActor.kt.
There's likely a more sophisticated way to fix this, but this works.
Closes #1172 and #1161
2024-11-17 03:04:00 +01:00
Hiroku 8a1faf3270 Merge branch 'apion-bugfix' into 'main'
Fix issue with evo progression not allowing 0.

See merge request cable-mc/cobblemon!1298
2024-11-16 22:55:55 +00:00
Hiroku d0b148a91a Merge branch 'cc-compat' into 'main'
Set cobblemon data version on genned chunks

See merge request cable-mc/cobblemon!1297
2024-11-16 22:52:51 +00:00
apion f6f88f5eef Revert "Added additional checks"
This reverts commit 3f36624ba7.
2024-11-16 16:19:48 -05:00
apion 3f36624ba7 Added additional checks 2024-11-16 15:22:08 -05:00
apion 7e256e8381 Fix issue with evo progression not allowing 0. 2024-11-16 12:24:59 -05:00
apion ad1aa9ad47 Licenses :( 2024-11-16 11:31:11 -05:00
apion b4e403a701 Removed unnecessary inject 2024-11-16 11:27:00 -05:00
apion 08557913d8 Set cobblemon data version on genned chunks 2024-11-16 11:22:42 -05:00
Hiroku 830c409a06 Merge branch 'non-pushable-npcs' into 'main'
Added a flag to prevent NPCs from being pushed.

See merge request cable-mc/cobblemon!1281
2024-11-16 12:59:34 +00:00
Hiroku 5e2ef6b5fb Merge branch 'main' into 'non-pushable-npcs'
# Conflicts:
#   common/src/main/kotlin/com/cobblemon/mod/common/util/DataKeys.kt
2024-11-16 12:59:16 +00:00
Conan a05f4edc82 Added a flag to prevent NPCs from being pushed (part 3). 2024-11-16 12:28:07 +01:00
Paul 97a3dc4d61 Treat NPC skill as a proper optional property on the entity instead of duplicating class data 2024-11-16 14:22:40 +10:00
Hiroku 768789d998 Merge branch 'feature/small-fixes' into 'main'
no more caffeine for shouldered pokemon

Closes #1146 and #1162

See merge request cable-mc/cobblemon!1277
2024-11-16 04:14:48 +00:00
PolymetaandHiroku bfa58e9fb9 no more caffeine for shouldered pokemon 2024-11-16 04:14:48 +00:00
Hiroku 9a514477c5 Merge branch 'trading-display-names' into 'main'
Display correct usernames in the TradeGUI

Closes #1168

See merge request cable-mc/cobblemon!1294
2024-11-16 04:12:16 +00:00
Paul 7623452f4a Fixed spectating not being an option in interact wheel (lol) 2024-11-16 13:47:15 +10:00
Test 72635d0f2f genericize example names 2024-11-15 22:39:11 -05:00
Paul 34e581a470 Merge remote-tracking branch 'origin/main' 2024-11-16 13:09:28 +10:00
Paul 5444d67c21 Added heaps of documentation on brain AI stuff for NPCs 2024-11-16 13:09:09 +10:00
Sterrezo 4c8c0fd063 Shiny Pokemon now play the shiny sendout sound when breaking out of a Pokeball instead of the notification 2024-11-16 03:01:07 +01:00
Sterrezo 73209ab6b5 Shiny notification and owned ambient particles no longer play in spectator 2024-11-16 02:35:09 +01:00
Hiroku 539331bdc7 Merge branch 'bait-tooltip-fixes' into 'main'
Changed fishing bait to use a codec instead of nbt stuff. Fixed issue where...

See merge request cable-mc/cobblemon!1296
2024-11-15 22:37:26 +00:00
apion 0d0598d68c Changed fishing bait to use a codec instead of nbt stuff. Fixed issue where bait tooltips don't work on servers 2024-11-15 06:06:03 -05:00
Conan 08d621ca5e Display correct usernames in the TradeGUI 2024-11-15 00:03:41 +01:00
Plastered_Crab a1dcede488 Fix bug with spawn files 2024-11-14 12:43:10 -08:00
Plastered_Crab aaec9ea397 Merge remote-tracking branch 'origin/1.6-spawns' into 1.6-Release-Testing 2024-11-14 09:31:33 -08:00
mia 6dfb1323b7 cleanup if statement logic 2024-11-14 08:49:01 -05:00
mia 973e730b48 license + remove unused imports 2024-11-14 08:42:36 -05:00
Veraxiel 5011607415 Updated submerged and fishing spawns to work under overhangs. 2024-11-14 06:29:10 -05:00
Veraxiel 580b0f2ccf Updated spawn files. Edited ocean_monument preset. Edited is_lush, is_ocean, and is_shrubland tags. Fixed revival_herbs feature tag. Updated spawn writer. 2024-11-14 05:15:14 -05:00
Hiroku fcd3951815 Merge branch 'More-structure-adjustments' into 'main'
Making more changes to structures

See merge request cable-mc/cobblemon!1291
2024-11-14 09:02:25 +00:00
Hiroku 5caa6d5950 Merge branch 'ihatebugtypes' into 'main'
faint (kill) all bug types

Closes #1153 and #1157

See merge request cable-mc/cobblemon!1276
2024-11-14 08:57:42 +00:00
Segfault GuyandHiroku 352ac4e15d faint (kill) all bug types 2024-11-14 08:57:42 +00:00
Hiroku e6d35e709e Merge branch 'Myslippy-main-patch-53217' into 'main'
Update CHANGELOG.md

See merge request cable-mc/cobblemon!1292
2024-11-14 08:56:04 +00:00
Myslippy 83cfcdce43 Update CHANGELOG.md 2024-11-14 05:25:44 +00:00
Slippy 96ae28ea91 Making more changes to structures 2024-11-13 23:14:12 -06:00
Landon 062fd2451a Merge branch 'Cynthia-Test-NPC-Change' into 'main'
Cynthia NPC team update

See merge request cable-mc/cobblemon!1289
2024-11-14 02:27:44 +00:00
Landon 235de329ee Merge branch 'main' into 'main'
Switch tooltip rendering to check Hide Additional instead

See merge request cable-mc/cobblemon!1279
2024-11-14 02:27:03 +00:00
Landon aede012933 Merge branch 'Fishing_Bait_Changes' into 'main'
New Bait Effects + Karp jump aspect name fixes

See merge request cable-mc/cobblemon!1287
2024-11-14 02:24:19 +00:00
Landon 1613cd281d Merge branch 'Swappable_Rod_Bobbers' into 'main'
Pokerods can Swap bobbers now

See merge request cable-mc/cobblemon!1288
2024-11-14 02:22:20 +00:00
Landon 706fcc8ca4 Merge branch 'init-events' into 'main'
Add Initialisation Events for Sidemod Devs

See merge request cable-mc/cobblemon!1290
2024-11-14 02:21:18 +00:00
Xander Forrest 5568bb6a95 add two new initialisation events for sidemod devs to hook into
- pokemon properties initialised event
so people can register their CustomPokemonProperty(s) at the right time so they can take effect in things like NPCs - previously not an issue because PokemonProperties were only really parsed post server start

- cobblemon initialised event
generic event because we got rid of the Cobblemon server started event. nice for sidemods to hook into so they know when they can init stuff that depends on cobblemon stuff being initialised (for instance: grab species/load mons from config files)
2024-11-14 00:17:48 +00:00
Plastered_Crab d5f22e7394 Test Cynthia NPC has lvl 100 mons now with updated Spiritomb 2024-11-13 15:37:57 -08:00
Test 0dc8456623 fix symbols 2024-11-13 23:30:39 +00:00
Plastered_Crab f5228db99f - Fix Tooltips for bait
- Add lang-able Egg Group tooltips
- Updated Egg Group bait logic
2024-11-13 15:19:33 -08:00
Natchakot ChuchokjatupornandWeblate 5c075d7d29 Translated using Weblate (Thai)
Currently translated at 88.7% (5671 of 6391 strings)

Translation: Cobblemon/Mod
Translate-URL: http://lang.cobblemon.com/projects/cobblemon/mod/th/
2024-11-13 22:41:55 +00:00
Plastered_Crab de8ebc9fcb - Fix Tooltips for bait
- Add lang-able Egg Group tooltips
- Updated Egg Group bait logic
2024-11-13 11:06:54 -08:00
Apion 093e0f2811 Merge branch 'more-dfu-sad' into 'main'
Fixes for JSON Pokemon store

See merge request cable-mc/cobblemon!1285
2024-11-13 16:07:10 +00:00
Apion 1a782e4185 Fixes for JSON Pokemon store 2024-11-13 16:07:10 +00:00
Apion 2e054dd5e1 Merge branch 'lang-updates' into 'main'
Weblate translations

See merge request cable-mc/cobblemon!1286
2024-11-13 16:07:02 +00:00
Apion 5e47102c10 Weblate translations 2024-11-13 16:07:02 +00:00
Apion e56a7d5325 Merge branch 'move-effects' into 'main'
Added particles for some moves.

See merge request cable-mc/cobblemon!1283
2024-11-13 16:00:39 +00:00
TyzillionandApion 9b8261d23b Added particles for some moves. 2024-11-13 16:00:39 +00:00
Apion e1705056f2 Merge branch 'shiny-shimmering-splendid' into 'main'
🍋‍🟩 API Feature: Shiny chance event and player context

See merge request cable-mc/cobblemon!1274
2024-11-13 15:48:16 +00:00
BriarandApion 76db87d9a5 🍋‍🟩 API Feature: Shiny chance event and player context 2024-11-13 15:48:15 +00:00
mia bbb06677b9 fix: uncast rods (both pokerods and vanilla) appearing as cast when dual-wielding 2024-11-13 09:19:20 -05:00
mia 8a5279741d fix bobber line being drawn incorrectly sometimes (fixes #1099) 2024-11-13 09:18:30 -05:00
plastered_crab 780d9ece59 - Add bait for luring ElementalType and Egg Group
- Fix names for Jump Karps
- Alter langs and tooltips for new bait
2024-11-13 01:14:14 -08:00
Segfault Guy fc8b6fb54b Fix illusion not copying caught ball. 2024-11-12 22:09:36 -05:00
Weblate 854f02d34f Update translation files
Updated by "Remove blank strings" add-on in Weblate.

Translation: Cobblemon/Mod
Translate-URL: http://lang.cobblemon.com/projects/cobblemon/mod/
2024-11-12 21:41:59 +00:00
Natchakot ChuchokjatupornandWeblate a3c3fa12e5 Translated using Weblate (Thai)
Currently translated at 87.1% (5567 of 6391 strings)

Translation: Cobblemon/Mod
Translate-URL: http://lang.cobblemon.com/projects/cobblemon/mod/th/
2024-11-12 21:41:53 +00:00
Alexis SalgueiroandWeblate 3527da02a6 Translated using Weblate (French)
Currently translated at 100.0% (6391 of 6391 strings)

Translation: Cobblemon/Mod
Translate-URL: http://lang.cobblemon.com/projects/cobblemon/mod/fr/
2024-11-12 21:41:48 +00:00
MiaandWeblate 96f537fa27 Translated using Weblate (German)
Currently translated at 87.5% (5596 of 6391 strings)

Translation: Cobblemon/Mod
Translate-URL: http://lang.cobblemon.com/projects/cobblemon/mod/de/
2024-11-12 21:41:45 +00:00
mia 9e22b662a4 remove duplicate sand_attack sounds and re-add to particles (fixes #1156) 2024-11-12 15:23:22 -05:00
Conan d731bde915 Added a flag to prevent NPCs from being pushed (part 2). 2024-11-12 12:48:34 +01:00
Conan 6ecdf25821 Added a flag to prevent NPCs from being pushed. 2024-11-12 03:09:28 +01:00
Stampede 4b55783785 Switch tooltip rendering to check Hide Additional instead 2024-11-11 12:15:16 -06:00
Conan 77c3f12634 Stops rewarding Pokemon EXP upon forfeiting NPC battles. 2024-11-11 18:52:35 +01:00
Segfault Guy d13d3fb137 licenses? who cares. 2024-11-10 21:43:51 -05:00
Segfault Guy f436b4a738 Merge remote-tracking branch 'origin/main' into ihatebugtypes 2024-11-10 21:43:00 -05:00
Segfault Guy 9e1a1c957b Tweak scheduler functions to work with new TickRateManager changes. 2024-11-10 21:20:59 -05:00
Segfault Guy e04155094b Fix trade parties being mirrored. 2024-11-10 21:03:24 -05:00
Segfault Guy 188115bf15 Boost effects will only play if stat stages change. 2024-11-10 20:55:35 -05:00
Paul e3fca67d52 Fixed NPCs and other stuff not rendering 2024-11-11 11:09:16 +10:00
Hiroku 932cdaaad3 Merge branch 'updated-tags' into 'main'
More Tag Changes, but this time with Edits!

See merge request cable-mc/cobblemon!1273
2024-11-10 23:41:15 +00:00
Paul e3f9937e78 Merge remote-tracking branch 'origin/main' 2024-11-11 09:40:49 +10:00
Paul 5b46d04c27 Reduce impact of repeatedly searching for a pokemon in a PC 2024-11-11 09:40:39 +10:00
dhi_holo c23aeaba78 Merge branch 'main' into updated-tags 2024-11-11 09:16:01 +10:00
Hiroku ecff621084 Merge branch 'DexScannerXrayVisionBegone' into 'main'
DexScannerXrayVisionBegone

See merge request cable-mc/cobblemon!1275
2024-11-10 22:08:53 +00:00
Segfault Guy 1d99037005 casting sounds are started by the client on bobber spawn. please dont start them on the server. 2024-11-10 15:47:07 -05:00
JazzMcNade 83ce63325d Dex scanner now checks for block collision. 2024-11-10 13:34:30 -06:00
dhi_holo 4f33612bbb Merge branch 'main' into updated-tags 2024-11-10 20:49:23 +10:00
dhi_holo 4624faf63e More Tag Changes, but this time with Edits!
Noticed a couple structures weren't in their tags yet, very fast fixing (don't you love it when you get a branch merged to immediately notice something else that could've been in the MR? I sure do)
2024-11-10 20:46:31 +10:00
Hiroku 187674afb6 Merge branch 'implement_pokemon' into 'main'
Latest implement fixes/changes/additions

Closes #1137

See merge request cable-mc/cobblemon!1271
2024-11-10 10:39:29 +00:00
CarmendarandHiroku fe5cf5a7d8 Latest implement fixes/changes/additions 2024-11-10 10:39:28 +00:00
Hiroku 3b3219ba69 Merge branch 'one-tag' into 'main'
Create fishing_boat.json

See merge request cable-mc/cobblemon!1272
2024-11-10 10:38:44 +00:00
dhi_holo 0e98b07b7b Create fishing_boat.json
I spent too damn long messing up the structure ids for this
2024-11-10 20:19:33 +10:00
Apion 57d380e18f Merge branch 'HiddenAbilityEvolutionFix' into 'main'
Hidden Ability Evolution Fix

Closes #1149

See merge request cable-mc/cobblemon!1270
2024-11-10 04:21:33 +00:00
JazzMcNadeandApion 086cdcdbd1 Hidden Ability Evolution Fix 2024-11-10 04:21:32 +00:00
Apion 2b796f7e4c Merge branch 'npc-fixo' into 'main'
Allow simple NPC parties to be static, added autoHealParty property to NPC...

See merge request cable-mc/cobblemon!1266
2024-11-10 03:58:09 +00:00
HirokuandApion b7d1f9bb2d Allow simple NPC parties to be static, added autoHealParty property to NPC... 2024-11-10 03:58:09 +00:00
Hiroku ba0f0657b2 Merge branch 'particle-hotfix' into 'main'
Fix default behavior of EntityParticlesActionEffectKeyframe to prioritize the...

See merge request cable-mc/cobblemon!1263
2024-11-10 02:48:22 +00:00
apion 8f59ec871f Fixed compile issue 2024-11-09 21:21:40 -05:00
apion b3d4306165 Remove backward compat with old locator field in EntityParticlesActionEffectKeyframe 2024-11-09 21:17:46 -05:00
Hiroku 20ddab8722 Merge branch 'feature/minor-fixes' into 'main'
fix evs not updating client side

Closes #1152

See merge request cable-mc/cobblemon!1267
2024-11-10 01:26:10 +00:00
PolymetaandHiroku 5327ff54b5 fix evs not updating client side 2024-11-10 01:26:10 +00:00
Hiroku b5f8181118 Merge branch 'sterr/bugfixes' into 'main'
Shiny particle fixes

See merge request cable-mc/cobblemon!1269
2024-11-10 01:26:05 +00:00
Paul 64b164bfca Updated locator prefix to dodge convention issues 2024-11-10 11:22:42 +10:00
Hiroku 93cb0f40f3 Merge branch 'get-vivil-on-with-it' into 'main'
Egg Advancement code functional and fixed Aspect tracking.

See merge request cable-mc/cobblemon!1268
2024-11-10 01:19:53 +00:00
MoeBoy76 20a56b1ff0 Egg Advancement code functional and fixed Aspect tracking. 2024-11-10 12:03:32 +11:00
Sterrezo 97dd08c35d Fixes for shiny particles
Changed how shiny particles are played, fixing Illusion and switching in not playing them
2024-11-10 02:03:22 +01:00
Hiroku 25c64841fe Merge branch 'fix-molang' into 'main'
proposed fix for client-side is_wild

See merge request cable-mc/cobblemon!1236
2024-11-10 00:34:43 +00:00
Hiroku dc5f616c90 Merge branch 'feature/dex-descirptions' into 'main'
fix up some missing dex entries and order

Closes #1107

See merge request cable-mc/cobblemon!1249
2024-11-10 00:27:03 +00:00
PolymetaandHiroku ff9033f6c4 fix up some missing dex entries and order 2024-11-10 00:27:03 +00:00
Hiroku 9f937f6b3b Merge branch 'bugfix/genders-and-dex' into 'main'
Fixed client showing incorrect gender for genderless mons, fixed dex not...

Closes #1142 and #1139

See merge request cable-mc/cobblemon!1258
2024-11-10 00:26:16 +00:00
Hiroku c5c6bc340a Handle case of null entity so non-sent-out-pokemon don't pass the wild check 2024-11-10 00:26:03 +00:00
Hiroku 90c7e5ab61 Merge branch 'DontCrossThePokeRods' into 'main'
Iris Compatibility for PokeRods

Closes #1004

See merge request cable-mc/cobblemon!1265
2024-11-09 23:36:34 +00:00
Sterrezo b3028dc45d Removed pitch variation from fishing rod sounds, adjusted volumes 2024-11-10 00:29:34 +01:00
JazzMcNade f64b9e2fe7 Fixed PokeRod fishing lines connecting between players when Iris is used. 2024-11-09 17:23:11 -06:00
Sterrezo 1e7ffedd36 Merge branch 'main' into sound 2024-11-10 00:03:47 +01:00
Natchakot ChuchokjatupornandWeblate e9f58df359 Translated using Weblate (Thai)
Currently translated at 84.1% (5381 of 6391 strings)

Translation: Cobblemon/Mod
Translate-URL: http://lang.cobblemon.com/projects/cobblemon/mod/th/
2024-11-09 21:29:17 +00:00
Adam IdriciandWeblate 6885569f9e Translated using Weblate (French)
Currently translated at 100.0% (6391 of 6391 strings)

Translation: Cobblemon/Mod
Translate-URL: http://lang.cobblemon.com/projects/cobblemon/mod/fr/
2024-11-09 21:29:15 +00:00
Alexis SalgueiroandWeblate 601927406c Translated using Weblate (French)
Currently translated at 100.0% (6391 of 6391 strings)

Translation: Cobblemon/Mod
Translate-URL: http://lang.cobblemon.com/projects/cobblemon/mod/fr/
2024-11-09 21:29:15 +00:00
Test e4fab76f0b rm println 2024-11-09 08:12:59 -05:00
Test 5a7b186478 Merge branch 'main' of https://gitlab.com/cable-mc/cobblemon 2024-11-09 08:12:27 -05:00
Hiroku 79d30f4fa5 Merge branch 'cleanup-interfaces' into 'main'
Cleanup interfaces

See merge request cable-mc/cobblemon!1262
2024-11-09 09:59:32 +00:00
TestandHiroku 56dab6c18b Cleanup interfaces 2024-11-09 09:59:32 +00:00
Test 6546a5ae05 hide shiny icon if none registered 2024-11-08 21:37:14 -05:00
Test 57c243bd34 clean up scrolling UIs 2024-11-08 20:01:22 -05:00
Hiroku f2cd3fc435 Merge branch 'sound' into 'main'
Status sound updates

See merge request cable-mc/cobblemon!1261
2024-11-08 22:41:32 +00:00
SterrezoandHiroku 9b75b1fb93 Status sound updates 2024-11-08 22:41:32 +00:00
Polymeta 81f4b6e680 slightly tweaked boost and unboost pauses
Signed-off-by: Polymeta <40173118+Polymeta@users.noreply.github.com>
2024-11-08 22:05:25 +00:00
Sterrezo de783b6948 Volume adjustments to all status sounds 2024-11-08 17:28:34 +01:00
Sterrezo 53c6f707e6 Merge branch 'main' into sound 2024-11-08 17:08:27 +01:00
Sterrezo 23142c6ece Implemented burn status sound, fixed broken status sounds 2024-11-08 17:07:54 +01:00
Sterrezo 1fa3170355 Updated stat increase/decrease particles to use the final sounds 2024-11-08 16:40:32 +01:00
Hiroku 9025b7b825 Merge branch 'CommanderPassFix' into 'main'
Fix Dondozo/Tatsugiri Commander Interaction for Doubles

See merge request cable-mc/cobblemon!1260
2024-11-08 04:17:18 +00:00
JazzMcNade 1487ae1036 Pokemon with the "commanding" state now auto pass their turn. 2024-11-07 22:07:12 -06:00
Hiroku dab1240d19 Merge branch 'implement_pokemon' into 'main'
Couple additions & some fixes

Closes #1137

See merge request cable-mc/cobblemon!1256
2024-11-08 02:51:55 +00:00
CarmendarandHiroku feb6622762 Couple additions & some fixes 2024-11-08 02:51:55 +00:00
Natchakot ChuchokjatupornandWeblate 347b0bfa37 Translated using Weblate (Thai)
Currently translated at 81.4% (5206 of 6391 strings)

Translation: Cobblemon/Mod
Translate-URL: http://lang.cobblemon.com/projects/cobblemon/mod/th/
2024-11-07 23:47:02 +00:00
Alexis SalgueiroandWeblate efa63b105f Translated using Weblate (French)
Currently translated at 100.0% (6391 of 6391 strings)

Translation: Cobblemon/Mod
Translate-URL: http://lang.cobblemon.com/projects/cobblemon/mod/fr/
2024-11-07 23:47:01 +00:00
Adam IdriciandWeblate 18d8c19df7 Translated using Weblate (French)
Currently translated at 100.0% (6391 of 6391 strings)

Translation: Cobblemon/Mod
Translate-URL: http://lang.cobblemon.com/projects/cobblemon/mod/fr/
2024-11-07 23:47:01 +00:00
Paul 3c4e1c59b1 Clarified some error logging now that abilities sync 2024-11-08 08:55:32 +10:00
Natchakot ChuchokjatupornandWeblate 8d7c92f30e Translated using Weblate (Thai)
Currently translated at 80.9% (5173 of 6391 strings)

Translation: Cobblemon/Mod
Translate-URL: http://lang.cobblemon.com/projects/cobblemon/mod/th/
2024-11-07 22:41:43 +00:00
Alexis SalgueiroandWeblate 4e7b7d8d59 Translated using Weblate (French)
Currently translated at 96.6% (6179 of 6391 strings)

Translation: Cobblemon/Mod
Translate-URL: http://lang.cobblemon.com/projects/cobblemon/mod/fr/
2024-11-07 22:41:41 +00:00
Felipe Bermudes OrmeñoandWeblate 1213fc9145 Translated using Weblate (Spanish (Mexico))
Currently translated at 30.5% (1954 of 6391 strings)

Translation: Cobblemon/Mod
Translate-URL: http://lang.cobblemon.com/projects/cobblemon/mod/es_MX/
2024-11-07 22:41:40 +00:00
Hiroku 3cd30681d7 Merge branch 'feature/fix-mixin-compat' into 'main'
exlude known fields and classes used by mixins into modelpart when deserializing models to prevent crashes

See merge request cable-mc/cobblemon!1259
2024-11-07 22:07:49 +00:00
Polymeta 308a4e9c06 introduce MixinCompatibilityExclusionStrategy to skip known fields and classes used by 3rd parties to prevent crashes when said 3rd parties are present with cobblemon
Signed-off-by: Polymeta <40173118+Polymeta@users.noreply.github.com>
2024-11-07 20:15:47 +00:00
Paul 34cc6da0a9 Oops I missed a thing 2024-11-07 22:13:18 +10:00
Paul 6f1b7edca4 Cleaned up Squirtle line, magikarp, Dragonair, Vaporeon pose handling for touching water, closes #1139 2024-11-07 22:04:25 +10:00
Paul fdc7a3d61a Fixed client showing incorrect gender for genderless mons, fixed dex not showing drops+abilities on servers, closes #1142 2024-11-07 19:19:01 +10:00
Paul 9798ba28ec Fixed deathloop that could occur with specific form configurations of gender ratios 2024-11-07 19:17:49 +10:00
Paul c8522488be Changelog deduplication 2024-11-07 19:11:25 +10:00
Hiroku f951e93875 Merge branch 'sound' into 'main'
Corrected the sound for owned shiny Pokemon particles

See merge request cable-mc/cobblemon!1257
2024-11-07 02:23:11 +00:00
Sterrezo d51c623168 Corrected the sound for owned shiny Pokemon particles
Reverted the volume to 1.0 because it's specified in the sounds.json
2024-11-07 01:57:55 +01:00
Paul fe57312d4f Merge remote-tracking branch 'origin/main' 2024-11-06 08:52:43 +10:00
Paul ee148954c0 Changelog squashing [skip-ci] 2024-11-06 08:52:37 +10:00
Hiroku 6ffc7d45c3 Merge branch 'evolution-message-fix' into 'main'
fix: post-evolution message uses correct names

See merge request cable-mc/cobblemon!1255
2024-11-05 22:51:55 +00:00
Hiroku a0301c85e8 Merge branch 'ihatebugtypes1.6part2' into 'main'
Ihatebugtypes1.6part2

Closes #1038, #1113, and #1114

See merge request cable-mc/cobblemon!1254
2024-11-05 22:51:22 +00:00
mia 6928b9a017 fix: post-evolution message uses correct names 2024-11-05 16:57:25 -05:00
Segfault Guy ce0d32a857 Fix status not updating for party pokemon during battle on infliciton. 2024-11-05 13:18:08 -05:00
Segfault Guy 717e861c1d Lingering aroma, aroma veil, stockpile lang fixes. 2024-11-05 13:13:07 -05:00
Segfault Guy 541dd1e284 Fix PVE interactions. 2024-11-05 12:51:09 -05:00
Paul f68384a505 Fixed duplication in changelog [skip-ci] 2024-11-05 18:58:40 +10:00
Hiroku f406e6da6b Merge branch 'validate-nickname-server-side' into 'main'
Implemented a simple server-side check for when changing Pokemon their...

Closes #1136

See merge request cable-mc/cobblemon!1238
2024-11-05 08:28:00 +00:00
Hiroku c75c5e4901 Merge branch 'implement_pokemon' into 'main'
added west sea forms & right claw forms for shellos line & clauncher line respectively

Closes #1137

See merge request cable-mc/cobblemon!1253
2024-11-05 08:26:59 +00:00
CarmendarandHiroku b4aedf9ec9 added west sea forms & right claw forms for shellos line & clauncher line respectively 2024-11-05 08:26:58 +00:00
Hiroku cba00fba13 Merge branch 'request_icons' into 'main'
Player Interaction Request Icons

Closes #1067, #1059, #1066, and #1065

See merge request cable-mc/cobblemon!1181
2024-11-05 07:52:28 +00:00
Hiroku 90403d111b Merge branch 'MultiBattleFlatLevelBattlingFix' into 'main'
MultiBattleFlatLevelBattlingFix

See merge request cable-mc/cobblemon!1252
2024-11-05 07:45:06 +00:00
Segfault Guy 47460ef884 Merge remote-tracking branch 'origin/main' into player_icons 2024-11-05 00:23:12 -05:00
Segfault Guy e48d44c6e6 Correcting overlooked code. 2024-11-05 00:22:31 -05:00
JazzMcNade 8e522e3dd2 Merge branch 'main' into MultiBattleFlatLevelBattlingFix 2024-11-04 22:49:13 -06:00
JazzMcNade d9e0429ff4 Fixed party cloning for multibattles when the flat level rule is active. 2024-11-04 22:43:46 -06:00
Hiroku bd35fc3c9a Merge branch 'implement_pokemon' into 'main'
a few tweaks and fixes

Closes #1137

See merge request cable-mc/cobblemon!1251
2024-11-05 03:12:00 +00:00
CarmendarandHiroku 80d882a437 a few tweaks and fixes 2024-11-05 03:12:00 +00:00
Hiroku 610f9dccc1 Merge branch 'npc-party-time' into 'main'
NPC party upgrades

See merge request cable-mc/cobblemon!1248
2024-11-05 00:07:23 +00:00
Paul bddb5b9f40 Removed excessive backcompat for NPC party 2024-11-05 09:59:19 +10:00
Hiroku 84fc94cf4b Merge branch 'Fishing-Boat-Fix' into 'main'
Fishing boat fix

See merge request cable-mc/cobblemon!1250
2024-11-04 22:45:40 +00:00
Conan e1186ebf2b Removed scope functions. 2024-11-04 22:56:47 +01:00
Slippy e56a778246 Adjusted structure json for fishing boats 2024-11-04 11:17:14 -06:00
Slippy a2d89f320f More new structure adjustments. Vug fixes to Cove generation 2024-11-04 11:16:32 -06:00
Adam IdriciandWeblate 071038dc09 Translated using Weblate (French)
Currently translated at 96.6% (6176 of 6391 strings)

Translation: Cobblemon/Mod
Translate-URL: http://lang.cobblemon.com/projects/cobblemon/mod/fr/
2024-11-04 12:28:48 +00:00
Test 7e11c4d47b Merge branch 'main' of https://gitlab.com/cable-mc/cobblemon 2024-11-03 22:52:03 -05:00
Test cc70fd18d5 change dex item order for creative menu 2024-11-03 22:51:31 -05:00
Segfault Guy 334b47a778 Merge branch 'main' into player_icons 2024-11-03 22:38:29 -05:00
Segfault Guy a0c6ec7918 changelog 2024-11-03 22:04:21 -05:00
Segfault Guy 665883474d Add licenses. 2024-11-03 22:01:26 -05:00
Segfault Guy e0fce5386e Merge branch 'main' into player_icons 2024-11-03 21:59:00 -05:00
Hiroku d00829e609 Merge branch 'ihatebugtypes1.6' into 'main'
Ihatebugtypes1.6

Closes #1108, #1074, and #1110

See merge request cable-mc/cobblemon!1220
2024-11-04 02:57:12 +00:00
Paul de5b1e33fe Expose a set of aspects with mock effects, fixes #1108 2024-11-04 12:49:36 +10:00
Segfault Guy f2e6ca1439 Multi battle & team interaction bug fixes. 2024-11-03 21:37:36 -05:00
Paul 974bf73516 Merge remote-tracking branch 'origin/main' into ihatebugtypes1.6
# Conflicts:
#	common/src/main/resources/assets/cobblemon/lang/en_us.json
2024-11-04 12:14:56 +10:00
Paul 3c8fe3bff7 Added level arg to spawnnpc and spawnnpcat 2024-11-04 11:20:38 +10:00
Paul 795a14a291 Fixed PartyStore loading actually being busted when the slot count isn't 6 (lol this has been in for ages) 2024-11-04 11:09:27 +10:00
Paul 0dca4a26e5 Merge remote-tracking branch 'origin/main' into npc-party-time 2024-11-04 10:19:41 +10:00
Weblate 2688e37f77 Update translation files
Updated by "Remove blank strings" add-on in Weblate.

Translation: Cobblemon/Mod
Translate-URL: http://lang.cobblemon.com/projects/cobblemon/mod/
2024-11-03 22:31:01 +00:00
阿鱼andWeblate e8a9ea1185 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (6391 of 6391 strings)

Translation: Cobblemon/Mod
Translate-URL: http://lang.cobblemon.com/projects/cobblemon/mod/zh_Hans/
2024-11-03 22:30:58 +00:00
Alexis SalgueiroandWeblate 4770c273f9 Translated using Weblate (French)
Currently translated at 96.3% (6159 of 6391 strings)

Translation: Cobblemon/Mod
Translate-URL: http://lang.cobblemon.com/projects/cobblemon/mod/fr/
2024-11-03 22:30:55 +00:00
Adam IdriciandWeblate 0e2e42b826 Translated using Weblate (French)
Currently translated at 96.3% (6159 of 6391 strings)

Translation: Cobblemon/Mod
Translate-URL: http://lang.cobblemon.com/projects/cobblemon/mod/fr/
2024-11-03 22:30:54 +00:00
GottvaterNougatKoenigandWeblate de819828ce Translated using Weblate (German)
Currently translated at 87.5% (5597 of 6391 strings)

Translation: Cobblemon/Mod
Translate-URL: http://lang.cobblemon.com/projects/cobblemon/mod/de/
2024-11-03 22:30:53 +00:00
MiaandWeblate fed34e9b98 Translated using Weblate (German)
Currently translated at 87.5% (5597 of 6391 strings)

Translation: Cobblemon/Mod
Translate-URL: http://lang.cobblemon.com/projects/cobblemon/mod/de/
2024-11-03 22:30:53 +00:00
Hiroku edb98ae078 Merge branch 'implement_pokemon' into 'main'
remove extra pose from gyarados

Closes #1137

See merge request cable-mc/cobblemon!1244
2024-11-03 22:25:14 +00:00
CarmendarandHiroku 02ba40facb remove extra pose from gyarados 2024-11-03 22:25:14 +00:00
Paul 6fc87fdafd Added proper multi-locator support for action effects 2024-11-03 22:21:34 +10:00
Conan d430498243 Fixed potential desync problem 2024-11-03 12:12:11 +01:00
Paul 2a17f76869 Fixed evolutions not being synced to the client unless calculated while in the party without going to PC 2024-11-03 19:39:54 +10:00
Paul d5adfb70ea Finished pool party provider and built example 2024-11-03 17:20:49 +10:00
Hiroku 23b422bed6 Merge branch 'Shipwreck-Cove-Changes' into 'main'
Shipwreck cove changes

See merge request cable-mc/cobblemon!1247
2024-11-03 07:19:07 +00:00
Slippy f346b8db0c Merge branch 'main' of https://gitlab.com/cable-mc/cobblemon into Shipwrecks-and-Stuff 2024-11-03 01:10:03 -06:00
Slippy a951bd8d25 Loot table changes for Shipwreck Coves and Fishing Boats. Made fishing boats more common. 2024-11-03 01:09:25 -06:00
Segfault Guy 0d7ff74bd2 Trade interaction cleanup. 2024-11-02 23:42:41 -04:00
apion a36b832826 Update translations (again!) 2024-11-02 21:48:08 -04:00
Hiroku 055583de1d Merge branch 'RevisedBattleSendouts' into 'main'
Revised pokemon sendouts to allow for smaller pokemon to be sendout closer to their opponents.

See merge request cable-mc/cobblemon!1246
2024-11-03 01:33:55 +00:00
JazzMcNade 63f2c49606 Merge branch 'main' into RevisedBattleSendouts 2024-11-02 20:20:49 -05:00
JazzMcNade ff879f488e Revised pokemon sendouts to allow for smaller pokemon to be sendout closer to their opponents.
This should reduce the number of instances in which a pokemon will be thrown behind the player
2024-11-02 20:14:37 -05:00
Apion 0942553bb7 Merge branch 'lang-updates' into 'main'
Update translations

See merge request cable-mc/cobblemon!1245
2024-11-03 00:55:23 +00:00
Apion ac7d2f6075 Update translations 2024-11-03 00:55:23 +00:00
Conan f1fcf60924 Fixed an oopsie, also moved MAX_NAME_LENGTH to SetNicknameHandler. 2024-11-03 00:30:54 +01:00
Hiroku 1d460555af Merge branch 'implement_pokemon' into 'main'
Fix underwater anim conditions

Closes #1137

See merge request cable-mc/cobblemon!1243
2024-11-02 23:24:37 +00:00
CarmendarandHiroku 904dcb61b0 Fix underwater anim conditions 2024-11-02 23:24:36 +00:00
Hiroku b038841242 Merge branch 'feature/small-fixes' into 'main'
fix pokedex crashing on custom mons and evos randomizing gender

Closes #1138 and #1135

See merge request cable-mc/cobblemon!1242
2024-11-02 23:10:24 +00:00
PolymetaandHiroku 7efa155b51 fix pokedex crashing on custom mons and evos randomizing gender 2024-11-02 23:10:24 +00:00
Hiroku 07cef9c683 Merge branch '1.6-mongodb' into 'main'
MongoDB implementation for dex, player data and store.

See merge request cable-mc/cobblemon!1239
2024-11-02 23:06:08 +00:00
Hiroku 85b836ee28 Merge branch 'implement_pokemon' into 'main'
Implement a bunch of pokemon

Closes #1137

See merge request cable-mc/cobblemon!1234
2024-11-02 22:57:58 +00:00
ApionandHiroku 74222fe727 Implement a bunch of pokemon 2024-11-02 22:57:58 +00:00
Apion a30dacb4be Merge branch 'move-effects' into 'main'
Added particles and sounds for moves.

See merge request cable-mc/cobblemon!1240
2024-11-02 21:14:20 +00:00
TyzillionandApion 66473d9b47 Added particles and sounds for moves. 2024-11-02 21:14:20 +00:00
navneetset 0764a932e1 Removed old mongo player data adapter. 2024-11-02 21:40:27 +01:00
Conan a227ef1001 Implemented a simple server-side check for when changing Pokemon their nickname before sending the packet. 2024-11-02 19:21:07 +01:00
navneetset d568644155 Added dex manager adapter to JSON and MongoDB codec 2024-11-02 10:05:24 +01:00
tmetcalfe89 2d13b85488 proposed fix for client-side is_wild 2024-11-01 22:29:59 -07:00
Paul a2edfcfdcb Merge remote-tracking branch 'origin/main' into npc-party-time 2024-11-02 15:17:23 +10:00
Paul 63ab04d3d8 Allow weight -1 in pool function and add has_aspect to NPC molang 2024-11-02 15:11:51 +10:00
Hiroku 34a8badd6f Merge branch 'molang-function-fix' into 'main'
Better molang function adding

See merge request cable-mc/cobblemon!1235
2024-11-02 04:38:12 +00:00
apion 0f41194d22 Better molang function adding 2024-11-01 21:29:15 -04:00
navneetset 54cb857224 MongoDB implementation for 1.6 2024-11-02 00:14:40 +01:00
apion 36b1e926a9 Made CodecBackedAdapter work for serializing too. 2024-11-01 18:29:53 -04:00
Hiroku b80b27e8f9 Merge branch 'en_us-fixes' into 'main'
en_us Fixes

See merge request cable-mc/cobblemon!1228
2024-11-01 11:21:40 +00:00
Hiroku 755ca9d261 Merge branch 'sound' into 'main'
Updates to evolution and trading sounds

See merge request cable-mc/cobblemon!1233
2024-11-01 11:21:32 +00:00
mia 24f64da512 fix(lang): hopefully every move now uses proper description 2024-11-01 06:42:31 -04:00
mia b11f553af0 fix(lang): abilities use official descriptions, some move description fixes 2024-11-01 06:42:31 -04:00
mia bce33acbc5 fix(lang): fix hydrosteam lang keys 2024-11-01 06:42:31 -04:00
mia a42b88f22f fix(lang): remove unneeded "'s" 2024-11-01 06:42:31 -04:00
mia fe7d3a51f9 fix(lang): make all moves use official descriptions 2024-11-01 06:42:31 -04:00
Sterrezo c260594865 Trade sound updates 2024-11-01 11:40:57 +01:00
Hiroku 89a25ab03e Merge branch 'Shipwrecks-and-Stuff' into 'main'
Shipwrecks and stuff

See merge request cable-mc/cobblemon!1232
2024-11-01 10:38:44 +00:00
Hiroku b97589c934 Merge branch 'PvP_Flat_Level_Battling' into 'main'
PvP flat level battling

See merge request cable-mc/cobblemon!1157
2024-11-01 10:22:17 +00:00
Sterrezo b3ffcdd039 Merge branch 'main' into sound 2024-11-01 11:14:01 +01:00
Hiroku 51e81d207e Update CHANGELOG.md 2024-11-01 10:13:53 +00:00
Slippy 50a3aa6a4f Adjusted more things for new 1.6 structure 2024-11-01 04:45:52 -05:00
Slippy f84cb41f28 Updates to new 1.6 structures 2024-11-01 04:32:50 -05:00
Slippy 6c95b3e50c Toppled Pillars log spam fix 2024-11-01 04:04:42 -05:00
Slippy 60667794a7 Village Pokecenter fixes 2024-11-01 03:59:19 -05:00
Slippy f39f2c3e4a What??? Last minute structures in 1.6??? 2024-11-01 03:17:59 -05:00
Slippy d104342df1 Merge branch 'main' of https://gitlab.com/cable-mc/cobblemon 2024-11-01 03:12:17 -05:00
Hiroku 1d9f540198 Merge branch 'bugfix/hiro-fixes-more-bugs' into 'main'
Bugfixes

Closes #1092 and #1032

See merge request cable-mc/cobblemon!1231
2024-11-01 07:38:07 +00:00
Paul ec34f51ead Fixed case where pokemon couldn't add relearn moves after forgetting a move, closes #1032 2024-11-01 15:55:29 +10:00
Paul fa284636ed Merge remote-tracking branch 'origin/main' into bugfix/hiro-fixes-more-bugs 2024-11-01 14:48:13 +10:00
Hiroku 306ac74cd8 Merge branch 'trade' into 'main'
Trading animation

See merge request cable-mc/cobblemon!1230
2024-11-01 04:40:13 +00:00
TestandHiroku ff65613ffd Trading animation 2024-11-01 04:40:13 +00:00
Paul 21b6c1dc29 Implemented pool-based party generation for NPCs 2024-11-01 14:21:59 +10:00
Segfault Guy 29a8522a86 Player interaction request redesign. 2024-11-01 00:15:27 -04:00
Apion 1b41cc04eb Merge branch 'feature/fixes-and-tweaks' into 'main'
fix a NF crash and introduce small mixing to enhance search in creative

Closes #1128

See merge request cable-mc/cobblemon!1227
2024-10-31 22:38:31 +00:00
PolymetaandApion 45e7d8fe81 fix a NF crash and introduce small mixing to enhance search in creative 2024-10-31 22:38:31 +00:00
apion 73af1863ec Fixes #1074 2024-10-31 18:02:47 -04:00
apion 9cd8f0e7c2 Fixes #1110 2024-10-31 16:07:17 -04:00
Sterrezo 2ff406453f Update evolution_full.ogg
yeah
2024-10-31 01:04:10 +01:00
mia 29a9d3caba fix(lang): rename "tree" variation to "wood" 2024-10-30 11:35:39 -04:00
tmetcalfe89andmia f6ae1b8a69 lang'd the rod tooltip parts 2024-10-30 11:35:39 -04:00
mia b2b4c934a2 fix(lang): add missing punctuation, focus sash --> focus band 2024-10-30 11:35:39 -04:00
mia b1815bc0cd fix(lang): 'Hydro Stream' --> 'Hydro Steam' 2024-10-30 11:35:39 -04:00
mia 8c431f2af5 fix(lang): consistent apostrophe use 2024-10-30 11:35:39 -04:00
mia 04bcb0d41e fix(lang): remove unneeded trailing whitespaces 2024-10-30 11:35:39 -04:00
mia d1e119ac9b fix(lang): hydrosnipe mixup, add drum solo 2024-10-30 11:35:39 -04:00
mia 7db059d4ba fix(lang): punctuation for two gmax moves 2024-10-30 11:34:46 -04:00
mia a930a71a3a fix(lang): more x_items --> battle_items 2024-10-30 11:34:46 -04:00
mia 87f0c6cf7a fix merge conflicts 2024-10-30 11:34:39 -04:00
mia 54037fc499 fix(lang): remove light_orb 2024-10-30 11:18:29 -04:00
mia e2f6c02ad9 fix(lang): grey --> gray 2024-10-30 11:18:29 -04:00
mia 1fc24a5ee3 fix(lang): smithing templates, pokerod smithing slot 2024-10-30 11:18:29 -04:00
阿鱼andWeblate bf0f553b5e Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (6388 of 6388 strings)

Translation: Cobblemon/Mod
Translate-URL: http://lang.cobblemon.com/projects/cobblemon/mod/zh_Hans/
2024-10-28 09:05:18 +00:00
Alexis SalgueiroandWeblate 6b525a2ffe Translated using Weblate (French)
Currently translated at 100.0% (6388 of 6388 strings)

Translation: Cobblemon/Mod
Translate-URL: http://lang.cobblemon.com/projects/cobblemon/mod/fr/
2024-10-28 09:05:17 +00:00
Felipe Bermudes OrmeñoandWeblate aa91c9e311 Translated using Weblate (Spanish (Mexico))
Currently translated at 27.7% (1771 of 6388 strings)

Translation: Cobblemon/Mod
Translate-URL: http://lang.cobblemon.com/projects/cobblemon/mod/es_MX/
2024-10-28 09:05:17 +00:00
阿鱼andWeblate 55349229d5 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (6386 of 6386 strings)

Translation: Cobblemon/Mod
Translate-URL: http://lang.cobblemon.com/projects/cobblemon/mod/zh_Hans/
2024-10-27 07:31:31 +00:00
MiaandWeblate 1408ff26a3 Translated using Weblate (German)
Currently translated at 92.3% (5900 of 6386 strings)

Translation: Cobblemon/Mod
Translate-URL: http://lang.cobblemon.com/projects/cobblemon/mod/de/
2024-10-27 07:31:30 +00:00
GottvaterNougatKoenigandWeblate 646234b90b Translated using Weblate (German)
Currently translated at 92.3% (5900 of 6386 strings)

Translation: Cobblemon/Mod
Translate-URL: http://lang.cobblemon.com/projects/cobblemon/mod/de/
2024-10-27 07:31:30 +00:00
Hiroku 7abedb0e60 Merge branch 'egg-on-yer-face' into 'main'
Added Egg events for devs

See merge request cable-mc/cobblemon!1194
2024-10-27 06:01:58 +00:00
Paul d2d9647295 Merge remote-tracking branch 'origin/main' into egg-on-yer-face
# Conflicts:
#	common/src/main/kotlin/com/cobblemon/mod/common/api/events/CobblemonEvents.kt
2024-10-27 15:54:39 +10:00
Hiroku 2edbfc2870 Merge branch 'whatsy/bugfixes' into 'main'
various bugfixes

Closes #1030, #1022, #1007, and #1021

See merge request cable-mc/cobblemon!1212
2024-10-27 05:53:52 +00:00
Paul 1a50ff829b Corrected messaging for evolve message so it also displays for entity-less-evos 2024-10-27 15:45:54 +10:00
Paul c617e98f33 Fixed really well grown berries causing crashes (lol), fixes #1124 2024-10-27 15:32:34 +10:00
MoeBoy76 54aef4d66b Removed cancellable from non-cancellable event 2024-10-27 14:09:22 +11:00
Paul 76d35914c0 Fixed some log spam that could occur when boxing pokemon 2024-10-27 10:37:26 +10:00
apion 664cdc0937 Revert "fix mint bounding blocks being randomly -0.9 in size"
This reverts commit 97c2711eb8.
2024-10-26 19:34:07 -04:00
Apion e3913d1231 Merge branch 'one-seex-events' into 'main'
Serverside events & Fishing event function registry

See merge request cable-mc/cobblemon!1193
2024-10-26 22:58:42 +00:00
amoandApion 24b00e0839 Serverside events & Fishing event function registry 2024-10-26 22:58:42 +00:00
Hiroku 92ce7fd395 Merge branch 'ys/lang-fixes' into 'main'
Clear smog lang

Closes #1120

See merge request cable-mc/cobblemon!1225
2024-10-26 21:19:36 +00:00
Yaseen 3e0b280456 Clear positive and negative boosts from battle context 2024-10-26 18:00:42 +01:00
Yaseen ee419596ce broadcast the message foe clear smog 2024-10-26 16:24:44 +01:00
Yaseen 732eb344af - clear smog 2024-10-26 16:01:19 +01:00
Hiroku 3c7c820622 Merge branch 'braaaaains' into 'main'
Added configurable NPC brains

See merge request cable-mc/cobblemon!1221
2024-10-25 21:47:01 +00:00
Paul 5d2f8edcb0 Merge remote-tracking branch 'origin/main' into braaaaains
# Conflicts:
#	common/src/main/kotlin/com/cobblemon/mod/common/api/npc/NPCClass.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/api/npc/NPCPreset.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/util/adapters/NPCClassAdapter.kt
2024-10-25 21:36:32 +10:00
Paul 5a5a9113e9 Fixed Oinkologne being unable to be female and reworked gender checking from properties, closes #1092 2024-10-25 17:20:58 +10:00
Paul 7149116a68 Merge remote-tracking branch 'origin/braaaaains' into braaaaains 2024-10-25 09:43:45 +10:00
Paul 7a40e71123 Documentation for brain stuff 2024-10-25 09:43:27 +10:00
Hiroku d1554f1ae5 Merge branch 'toobig' into 'main'
mint trees / berry bushes now respect whether they're on tilled or wild land

See merge request cable-mc/cobblemon!1195
2024-10-24 23:25:54 +00:00
Hiroku e15f4f8ad1 Merge branch 'sterr/bugfixes' into 'main'
Audio bugfixes

Closes #1045

See merge request cable-mc/cobblemon!1222
2024-10-24 23:24:13 +00:00
阿鱼andWeblate f9afd30577 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 95.2% (6083 of 6386 strings)

Translation: Cobblemon/Mod
Translate-URL: http://lang.cobblemon.com/projects/cobblemon/mod/zh_Hans/
2024-10-24 19:55:03 +00:00
Wi2terandWeblate 7f0d7d8e1a Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 95.2% (6083 of 6386 strings)

Translation: Cobblemon/Mod
Translate-URL: http://lang.cobblemon.com/projects/cobblemon/mod/zh_Hans/
2024-10-24 19:55:03 +00:00
Zack the GhastandWeblate b63d7d8f3f Translated using Weblate (Portuguese (Portugal))
Currently translated at 26.8% (1712 of 6386 strings)

Translation: Cobblemon/Mod
Translate-URL: http://lang.cobblemon.com/projects/cobblemon/mod/pt_PT/
2024-10-24 19:55:01 +00:00
Adam IdriciandWeblate a7ba8953ab Translated using Weblate (French)
Currently translated at 100.0% (6386 of 6386 strings)

Translation: Cobblemon/Mod
Translate-URL: http://lang.cobblemon.com/projects/cobblemon/mod/fr/
2024-10-24 19:55:01 +00:00
Alexis SalgueiroandWeblate 1ea87c6cc7 Translated using Weblate (French)
Currently translated at 100.0% (6386 of 6386 strings)

Translation: Cobblemon/Mod
Translate-URL: http://lang.cobblemon.com/projects/cobblemon/mod/fr/
2024-10-24 19:55:01 +00:00
Felipe Bermudes OrmeñoandWeblate f68966ce90 Translated using Weblate (Spanish (Mexico))
Currently translated at 27.2% (1743 of 6386 strings)

Translation: Cobblemon/Mod
Translate-URL: http://lang.cobblemon.com/projects/cobblemon/mod/es_MX/
2024-10-24 19:55:00 +00:00
GottvaterNougatKoenigandWeblate 744e6faa53 Translated using Weblate (German)
Currently translated at 92.3% (5898 of 6386 strings)

Translation: Cobblemon/Mod
Translate-URL: http://lang.cobblemon.com/projects/cobblemon/mod/de/
2024-10-24 19:54:59 +00:00
Natchakot ChuchokjatupornandWeblate 8e84ce7615 Translated using Weblate (Thai)
Currently translated at 78.8% (5038 of 6386 strings)

Translation: Cobblemon/Mod
Translate-URL: http://lang.cobblemon.com/projects/cobblemon/mod/th/
2024-10-22 00:09:52 +00:00
Adam IdriciandWeblate 1c5745c174 Translated using Weblate (French)
Currently translated at 100.0% (6386 of 6386 strings)

Translation: Cobblemon/Mod
Translate-URL: http://lang.cobblemon.com/projects/cobblemon/mod/fr/
2024-10-22 00:09:52 +00:00
Adam IdriciandWeblate d357aff7dc Translated using Weblate (French)
Currently translated at 99.7% (6372 of 6386 strings)

Translation: Cobblemon/Mod
Translate-URL: http://lang.cobblemon.com/projects/cobblemon/mod/fr/
2024-10-21 22:48:27 +00:00
Zack the GhastandWeblate e2ea9cd199 Translated using Weblate (Portuguese (Portugal))
Currently translated at 26.4% (1689 of 6386 strings)

Translation: Cobblemon/Mod
Translate-URL: http://lang.cobblemon.com/projects/cobblemon/mod/pt_PT/
2024-10-21 22:45:36 +00:00
Adam IdriciandWeblate 59d32e8254 Translated using Weblate (French)
Currently translated at 99.2% (6335 of 6386 strings)

Translation: Cobblemon/Mod
Translate-URL: http://lang.cobblemon.com/projects/cobblemon/mod/fr/
2024-10-21 22:45:36 +00:00
Alexis SalgueiroandWeblate 3091e5b198 Translated using Weblate (French)
Currently translated at 99.2% (6335 of 6386 strings)

Translation: Cobblemon/Mod
Translate-URL: http://lang.cobblemon.com/projects/cobblemon/mod/fr/
2024-10-21 22:45:36 +00:00
Felipe Bermudes OrmeñoandWeblate 9c71e3cfd5 Translated using Weblate (Spanish (Mexico))
Currently translated at 25.9% (1656 of 6386 strings)

Translation: Cobblemon/Mod
Translate-URL: http://lang.cobblemon.com/projects/cobblemon/mod/es_MX/
2024-10-21 22:45:35 +00:00
Xander Forrest 68427df817 remove sneaky debug 2024-10-21 21:28:00 +07:00
Sterrezo c08cc48449 Merge branch 'main' into sterr/bugfixes 2024-10-21 12:38:28 +02:00
Paul 628941aa0e Fixed NPCs not using the NPC battle theme hook, closes #1094 2024-10-21 17:45:05 +10:00
MoeBoy76 74bb66fd2b Merge branch 'main' of https://gitlab.com/cable-mc/cobblemon into egg-on-yer-face 2024-10-21 18:36:15 +11:00
Paul 6b3d60fccc Fixed NPC owned pokemon persisting and becoming wild 2024-10-21 17:35:28 +10:00
MoeBoy76 d733b1de68 Updated egg events for API requirements 2024-10-21 18:35:14 +11:00
Hiroku b4e402c83d Update NPCBrain.kt 2024-10-21 07:15:46 +00:00
Paul 4b2b2f24ee Fixed Frillish T-pose while sleeping, closes #1102 2024-10-21 17:09:34 +10:00
Paul f95389b01b Fixed R being able to open the battle menu while in battle and the GUI is hidden using F1, closes #1104 2024-10-21 17:06:59 +10:00
Paul 8a94a6126a Fixed crash from loading world in specific pasture scenario, closes #1105 2024-10-21 17:02:50 +10:00
Paul 4cbd5c1745 Fixed crashes from modelPart being null in JSON poser loading, closes #1112 2024-10-21 17:00:21 +10:00
Paul f003406ffe Lots more brain setup, now with presets for combat and chatting and action effects 2024-10-21 16:40:55 +10:00
Segfault Guy ec3458b717 Remove unnecessary delay from generic moves. 2024-10-21 00:47:26 -04:00
Segfault Guy 1117792bf7 Misc. battle lang fixes + additions. 2024-10-21 00:46:54 -04:00
Hiroku 164207ee10 Merge branch 'feature/posing-shenanigans' into 'main'
attempt in fixing particles in json posers being higher up than intended

Closes #1106

See merge request cable-mc/cobblemon!1219
2024-10-21 03:11:59 +00:00
Hiroku df1ff47e0e Merge branch 'feature/restore-mod-compat' into 'main'
restored modcompat with dynamic lights and adorn

Closes #775

See merge request cable-mc/cobblemon!1210
2024-10-21 01:18:56 +00:00
Polymeta a2add409c2 introduce ability to manually define rootBone on model, otherwise we assume it's Pokémon name (filename) by default for backwards compatibility
Signed-off-by: Polymeta <40173118+Polymeta@users.noreply.github.com>
2024-10-20 21:36:07 +01:00
Adam IdriciandWeblate 49aa5b4824 Translated using Weblate (French)
Currently translated at 97.1% (6203 of 6386 strings)

Translation: Cobblemon/Mod
Translate-URL: http://lang.cobblemon.com/projects/cobblemon/mod/fr/
2024-10-20 13:59:00 +00:00
Alexis SalgueiroandWeblate 8b8db92ace Translated using Weblate (French)
Currently translated at 97.1% (6203 of 6386 strings)

Translation: Cobblemon/Mod
Translate-URL: http://lang.cobblemon.com/projects/cobblemon/mod/fr/
2024-10-20 13:59:00 +00:00
Alexis SalgueiroandWeblate cd6c4fe732 Translated using Weblate (French)
Currently translated at 97.1% (6202 of 6386 strings)

Translation: Cobblemon/Mod
Translate-URL: http://lang.cobblemon.com/projects/cobblemon/mod/fr/
2024-10-20 13:58:35 +00:00
Adam IdriciandWeblate c0d889a4eb Translated using Weblate (French)
Currently translated at 97.1% (6202 of 6386 strings)

Translation: Cobblemon/Mod
Translate-URL: http://lang.cobblemon.com/projects/cobblemon/mod/fr/
2024-10-20 13:58:35 +00:00
Alexis SalgueiroandWeblate 851854d675 Translated using Weblate (French)
Currently translated at 97.1% (6201 of 6386 strings)

Translation: Cobblemon/Mod
Translate-URL: http://lang.cobblemon.com/projects/cobblemon/mod/fr/
2024-10-20 13:58:04 +00:00
Adam IdriciandWeblate 8f8864eb38 Translated using Weblate (French)
Currently translated at 97.1% (6201 of 6386 strings)

Translation: Cobblemon/Mod
Translate-URL: http://lang.cobblemon.com/projects/cobblemon/mod/fr/
2024-10-20 13:58:04 +00:00
Zack the GhastandWeblate 22e55d97d3 Translated using Weblate (Portuguese (Portugal))
Currently translated at 26.2% (1674 of 6386 strings)

Translation: Cobblemon/Mod
Translate-URL: http://lang.cobblemon.com/projects/cobblemon/mod/pt_PT/
2024-10-20 13:57:41 +00:00
Adam IdriciandWeblate 95dad9a5d1 Translated using Weblate (French)
Currently translated at 97.0% (6200 of 6386 strings)

Translation: Cobblemon/Mod
Translate-URL: http://lang.cobblemon.com/projects/cobblemon/mod/fr/
2024-10-20 13:57:40 +00:00
Alexis SalgueiroandWeblate dbab502150 Translated using Weblate (French)
Currently translated at 97.0% (6200 of 6386 strings)

Translation: Cobblemon/Mod
Translate-URL: http://lang.cobblemon.com/projects/cobblemon/mod/fr/
2024-10-20 13:57:40 +00:00
Alexis SalgueiroandWeblate 4a25894e68 Translated using Weblate (French)
Currently translated at 96.9% (6189 of 6386 strings)

Translation: Cobblemon/Mod
Translate-URL: http://lang.cobblemon.com/projects/cobblemon/mod/fr/
2024-10-20 13:44:25 +00:00
Adam IdriciandWeblate c88bdf6060 Translated using Weblate (French)
Currently translated at 96.9% (6189 of 6386 strings)

Translation: Cobblemon/Mod
Translate-URL: http://lang.cobblemon.com/projects/cobblemon/mod/fr/
2024-10-20 13:44:25 +00:00
Zack the GhastandWeblate 8f14bba7f4 Translated using Weblate (Portuguese (Portugal))
Currently translated at 26.0% (1661 of 6386 strings)

Translation: Cobblemon/Mod
Translate-URL: http://lang.cobblemon.com/projects/cobblemon/mod/pt_PT/
2024-10-20 13:42:34 +00:00
Adam IdriciandWeblate c46995fe88 Translated using Weblate (French)
Currently translated at 96.9% (6190 of 6386 strings)

Translation: Cobblemon/Mod
Translate-URL: http://lang.cobblemon.com/projects/cobblemon/mod/fr/
2024-10-20 13:42:33 +00:00
Alexis SalgueiroandWeblate 804f0fa807 Translated using Weblate (French)
Currently translated at 96.9% (6190 of 6386 strings)

Translation: Cobblemon/Mod
Translate-URL: http://lang.cobblemon.com/projects/cobblemon/mod/fr/
2024-10-20 13:42:33 +00:00
Sterrezo 869216c8c8 Fixed log spam and fixed Petilil Hisui bias missing a cry 2024-10-20 12:26:15 +02:00
Sterrezo 4a21d8f1ef Doesn't crash now! 2024-10-20 12:00:49 +02:00
Sterrezo 8e7a599d9d Merge branch 'main' into sterr/bugfixes 2024-10-20 11:28:40 +02:00
Sterrezo 6996f8d07d Merge branch 'main' into sterr/bugfixes 2024-10-20 11:25:04 +02:00
Hiroku a4d331dc77 Merge branch 'sound' into 'main'
Massive update to sound assets and sounds.json

See merge request cable-mc/cobblemon!1217
2024-10-20 04:04:45 +00:00
Hiroku e635d92cfc Merge branch 'more-things' into 'main'
updates and fixes

See merge request cable-mc/cobblemon!1218
2024-10-20 02:05:46 +00:00
TestandHiroku 3c38b954a8 updates and fixes 2024-10-20 02:05:46 +00:00
Sterrezo 3ebbabd22a Fixed missing item interaction sounds 2024-10-20 01:22:02 +02:00
Hiroku 4ff1379f06 Merge branch 'shoulder-scan-2' into 'main'
Shoulder Scan 2 - Electric Boogaloo

Closes #1078

See merge request cable-mc/cobblemon!1208
2024-10-19 23:04:00 +00:00
JordanandHiroku 5d8515a756 Shoulder Scan 2 - Electric Boogaloo 2024-10-19 23:04:00 +00:00
Wi2terandWeblate 5a1f2df5f1 Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 91.8% (5866 of 6386 strings)

Translation: Cobblemon/Mod
Translate-URL: http://lang.cobblemon.com/projects/cobblemon/mod/zh_Hans/
2024-10-19 21:41:51 +00:00
Natchakot ChuchokjatupornandWeblate e5a3bf7b4f Translated using Weblate (Thai)
Currently translated at 78.9% (5041 of 6386 strings)

Translation: Cobblemon/Mod
Translate-URL: http://lang.cobblemon.com/projects/cobblemon/mod/th/
2024-10-19 21:41:51 +00:00
Zack the GhastandWeblate 09f8932f90 Translated using Weblate (Portuguese (Portugal))
Currently translated at 25.9% (1655 of 6386 strings)

Translation: Cobblemon/Mod
Translate-URL: http://lang.cobblemon.com/projects/cobblemon/mod/pt_PT/
2024-10-19 21:41:50 +00:00
Felipe Bermudes OrmeñoandWeblate 91574143e9 Translated using Weblate (Spanish (Mexico))
Currently translated at 25.8% (1653 of 6386 strings)

Translation: Cobblemon/Mod
Translate-URL: http://lang.cobblemon.com/projects/cobblemon/mod/es_MX/
2024-10-19 21:41:50 +00:00
Landon 25084a6616 Merge branch 'pokedex-camera' into 'main'
Improve camera zooming controls

See merge request cable-mc/cobblemon!1207
2024-10-19 20:21:36 +00:00
Paul 34ead9472d Added animation reflex check for valid expressions 2024-10-19 19:45:18 +10:00
Paul dc54895a6d Lots and lots of work on brain JSON framework 2024-10-19 19:23:59 +10:00
Hiroku 8be3843359 Merge branch 'Structure-Fixes-1.6' into 'main'
Structure Generation Reworks

See merge request cable-mc/cobblemon!1198
2024-10-19 02:13:15 +00:00
Hiroku b83dbfce33 Merge branch 'implement_pokemon' into 'main'
He has a gun help

See merge request cable-mc/cobblemon!1215
2024-10-19 02:06:33 +00:00
Frank The FarmerandHiroku 2d7a0a09ea He has a gun help 2024-10-19 02:06:33 +00:00
Sterrezo 2391830f56 Merge branch 'main' into sound 2024-10-18 23:55:41 +02:00
Wi2terandWeblate 8537ebac3b Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 90.3% (5768 of 6383 strings)

Translation: Cobblemon/Mod
Translate-URL: http://lang.cobblemon.com/projects/cobblemon/mod/zh_Hans/
2024-10-18 20:41:49 +00:00
Natchakot ChuchokjatupornandWeblate e54597ba5d Translated using Weblate (Thai)
Currently translated at 78.4% (5006 of 6383 strings)

Translation: Cobblemon/Mod
Translate-URL: http://lang.cobblemon.com/projects/cobblemon/mod/th/
2024-10-18 20:41:49 +00:00
Zack the GhastandWeblate 716187c61b Translated using Weblate (Portuguese (Portugal))
Currently translated at 25.6% (1639 of 6383 strings)

Translation: Cobblemon/Mod
Translate-URL: http://lang.cobblemon.com/projects/cobblemon/mod/pt_PT/
2024-10-18 20:41:49 +00:00
Alexis SalgueiroandWeblate b5eea5ad2c Translated using Weblate (French)
Currently translated at 96.8% (6185 of 6383 strings)

Translation: Cobblemon/Mod
Translate-URL: http://lang.cobblemon.com/projects/cobblemon/mod/fr/
2024-10-18 20:41:49 +00:00
Felipe Bermudes OrmeñoandWeblate 1c76c237a3 Translated using Weblate (Spanish (Mexico))
Currently translated at 25.8% (1648 of 6383 strings)

Translation: Cobblemon/Mod
Translate-URL: http://lang.cobblemon.com/projects/cobblemon/mod/es_MX/
2024-10-18 20:41:49 +00:00
Sterrezo 144f4fd267 Merge branch 'main' into sound 2024-10-18 15:31:36 +02:00
Sterrezo 11e45e2def Small fix to berries + more changelog 2024-10-18 15:20:55 +02:00
Sterrezo 822a8c97fd Changelog, reordered fishing sounds in sounds.json 2024-10-18 15:02:46 +02:00
Sterrezo 68dc8282b3 Renamed sound events for all blocks and Gimmighoul interactions 2024-10-18 15:00:51 +02:00
Sterrezo 5ee195bac8 Reorganized berry harvesting and mulch sounds 2024-10-18 14:42:55 +02:00
Sterrezo 51929e6bcc Reorganized item interaction sounds and sound events 2024-10-18 13:43:45 +02:00
Hiroku 28418c767d Merge branch 'feature/smaller-fixes-additions' into 'main'
fix eye height and small dex additions

Closes #1100 and #1098

See merge request cable-mc/cobblemon!1211
2024-10-18 10:58:45 +00:00
Hiroku 56b7c619a2 Merge branch 'pokemon-properties-helditem-check' into 'main'
added a check on the helditem for pokemon properties

See merge request cable-mc/cobblemon!1214
2024-10-18 08:22:37 +00:00
Hiroku bde2e5ba60 Merge branch 'MasterBallFireImmunity' into 'main'
Master Ball Fire Immunity

See merge request cable-mc/cobblemon!1216
2024-10-18 05:33:39 +00:00
JazzMcNade 70893ddfe1 Restored Fire Immunity to the Master Ball 2024-10-18 00:25:02 -05:00
tmetcalfe89 3e746d5009 i hate scoped returns 2024-10-17 18:58:21 -07:00
tmetcalfe89 a4e4fb6bc7 partial match instead 2024-10-17 16:18:36 -07:00
Hiroku f26c939f8a Merge branch 'tim/gmax-move-desc-fixes' into 'main'
small fixes for g-max lang entries

See merge request cable-mc/cobblemon!1213
2024-10-17 22:52:36 +00:00
tmetcalfe89 36b8119972 fixed missing drum solo, grammar, hydro snipe user 2024-10-17 15:37:58 -07:00
Natchakot ChuchokjatupornandWeblate 6cb1ff0abe Translated using Weblate (Thai)
Currently translated at 77.4% (4941 of 6383 strings)

Translation: Cobblemon/Mod
Translate-URL: http://lang.cobblemon.com/projects/cobblemon/mod/th/
2024-10-17 19:50:48 +00:00
Adam IdriciandWeblate 9b18aabe94 Translated using Weblate (French)
Currently translated at 96.4% (6155 of 6383 strings)

Translation: Cobblemon/Mod
Translate-URL: http://lang.cobblemon.com/projects/cobblemon/mod/fr/
2024-10-17 19:50:48 +00:00
Alexis SalgueiroandWeblate 48328416bf Translated using Weblate (French)
Currently translated at 96.4% (6155 of 6383 strings)

Translation: Cobblemon/Mod
Translate-URL: http://lang.cobblemon.com/projects/cobblemon/mod/fr/
2024-10-17 19:50:47 +00:00
Felipe Bermudes OrmeñoandWeblate 745866093e Translated using Weblate (Spanish (Mexico))
Currently translated at 24.5% (1565 of 6383 strings)

Translation: Cobblemon/Mod
Translate-URL: http://lang.cobblemon.com/projects/cobblemon/mod/es_MX/
2024-10-17 19:50:47 +00:00
Sterrezo 7c17888a13 Renamed shiny sounds to match the assets 2024-10-17 19:05:25 +02:00
Sterrezo 2536a90ecc Added sound events for Rage Powder 2024-10-17 18:55:14 +02:00
Sterrezo 675e1eb39f Restructured all powder move sound events to make them unique
Also removed an underscore in "non_volatile"
2024-10-17 17:58:17 +02:00
Sterrezo 9e61b2fb6b Restructured status sound assets and sound events 2024-10-17 17:37:24 +02:00
Sterrezo 8d12897bc3 Removed unused files and sound events 2024-10-17 17:06:35 +02:00
Sterrezo c14fc285e1 Fixed Flamethrower missing sounds and renamed sound events for consistency 2024-10-17 17:02:35 +02:00
Sterrezo c06e5618ef Removed unused impact layers and moved them to the assets repository 2024-10-17 16:56:23 +02:00
tmetcalfe89 1d15dc37e4 added component *exact* matching 2024-10-16 18:07:23 -07:00
Natchakot ChuchokjatupornandWeblate 7033948b4e Translated using Weblate (Thai)
Currently translated at 75.8% (4839 of 6383 strings)

Translation: Cobblemon/Mod
Translate-URL: http://lang.cobblemon.com/projects/cobblemon/mod/th/
2024-10-16 22:41:40 +00:00
Spaidy NatorandWeblate 156ca6bd1b Translated using Weblate (Russian)
Currently translated at 94.4% (6031 of 6383 strings)

Translation: Cobblemon/Mod
Translate-URL: http://lang.cobblemon.com/projects/cobblemon/mod/ru/
2024-10-16 22:41:40 +00:00
Adam IdriciandWeblate 39c5d9b179 Translated using Weblate (French)
Currently translated at 96.1% (6137 of 6383 strings)

Translation: Cobblemon/Mod
Translate-URL: http://lang.cobblemon.com/projects/cobblemon/mod/fr/
2024-10-16 22:41:39 +00:00
Alexis SalgueiroandWeblate 362538b1c0 Translated using Weblate (French)
Currently translated at 96.1% (6137 of 6383 strings)

Translation: Cobblemon/Mod
Translate-URL: http://lang.cobblemon.com/projects/cobblemon/mod/fr/
2024-10-16 22:41:39 +00:00
Polymeta ad84a9a967 add arbok variation to dex
Signed-off-by: Polymeta <40173118+Polymeta@users.noreply.github.com>
2024-10-16 22:48:42 +01:00
Polymeta 487eeadccd dont show shiny default and start with main ability instead of ha in display
Signed-off-by: Polymeta <40173118+Polymeta@users.noreply.github.com>
2024-10-16 22:20:17 +01:00
tmetcalfe89 a626f62ae5 WIP - check if Pokemon held item matches
unsure how to check the NBT/components matching
2024-10-16 11:56:40 -07:00
Natchakot ChuchokjatupornandWeblate 249486e8bb Translated using Weblate (Thai)
Currently translated at 74.6% (4762 of 6383 strings)

Translation: Cobblemon/Mod
Translate-URL: http://lang.cobblemon.com/projects/cobblemon/mod/th/
2024-10-15 20:41:47 +00:00
Zack the GhastandWeblate 8ccbe3ee8e Translated using Weblate (Portuguese (Portugal))
Currently translated at 25.5% (1629 of 6383 strings)

Translation: Cobblemon/Mod
Translate-URL: http://lang.cobblemon.com/projects/cobblemon/mod/pt_PT/
2024-10-15 20:41:47 +00:00
YasitoandWeblate 20174aab11 Translated using Weblate (French)
Currently translated at 92.7% (5918 of 6383 strings)

Translation: Cobblemon/Mod
Translate-URL: http://lang.cobblemon.com/projects/cobblemon/mod/fr/
2024-10-15 20:41:47 +00:00
Alexis SalgueiroandWeblate b47da36c80 Translated using Weblate (French)
Currently translated at 92.7% (5918 of 6383 strings)

Translation: Cobblemon/Mod
Translate-URL: http://lang.cobblemon.com/projects/cobblemon/mod/fr/
2024-10-15 20:41:47 +00:00
Felipe Bermudes OrmeñoandWeblate 34519870b4 Translated using Weblate (Spanish (Mexico))
Currently translated at 24.2% (1550 of 6383 strings)

Translation: Cobblemon/Mod
Translate-URL: http://lang.cobblemon.com/projects/cobblemon/mod/es_MX/
2024-10-15 20:41:47 +00:00
Sterrezo 756396ceb6 Update CHANGELOG.md 2024-10-15 16:37:49 +02:00
Sterrezo dec88e34c5 Gave powder moves less generic names, Spore now has a separate sound event
"powder.stun.actor" has been renamed to "move.stunspore.actor," same with other moves with the same naming convention.
Spore now has a unique sound event, but uses the same audio file as before. This lets it be changed with resource packs.
2024-10-15 16:32:32 +02:00
Sterrezo 4e68d81bbd Renamed "attacks" to "move" in the sounds folder, powder moves and spore now have their own folder
Consistency with Minecraft and already existing sound events
2024-10-15 16:24:35 +02:00
Polymeta 02f1edd695 remove todo for it has been in fact done
Signed-off-by: Polymeta <40173118+Polymeta@users.noreply.github.com>
2024-10-15 09:54:34 +01:00
Sterrezo 0a586c31f4 Changelog (for later) 2024-10-15 02:06:23 +02:00
Test 536ae20d1f Merge branch 'sound' into 'main'
Audio bugfixes and volume adjustments

See merge request cable-mc/cobblemon!1209
2024-10-15 00:03:57 +00:00
SterrezoandTest 38b0551a2d Audio bugfixes and volume adjustments 2024-10-15 00:03:57 +00:00
Polymeta 98416e9cbc commit of shame
Signed-off-by: Polymeta <40173118+Polymeta@users.noreply.github.com>
2024-10-15 01:01:33 +01:00
Test afc1b9aaba clean 2024-10-14 19:50:44 -04:00
Polymeta 3aaef40d07 more dex calculators, debug command and small fix with using calculators server-side
Signed-off-by: Polymeta <40173118+Polymeta@users.noreply.github.com>
2024-10-15 00:45:04 +01:00
Test 9a509f8a80 clean 2024-10-14 19:39:07 -04:00
Sterrezo 7a9a12ac29 Removed unused variables and arguments from functions 2024-10-15 01:13:17 +02:00
Polymeta bc3d3702c9 fix eye height not scaling with hitbox size like it should
Signed-off-by: Polymeta <40173118+Polymeta@users.noreply.github.com>
2024-10-15 00:07:28 +01:00
Polymeta 6c1b9d31f7 adorn compat restored (doesnt work in-dev but in proper jars)
Signed-off-by: Polymeta <40173118+Polymeta@users.noreply.github.com>
2024-10-14 21:39:56 +01:00
Polymeta bed47c7f04 dynamic light compat restored
Signed-off-by: Polymeta <40173118+Polymeta@users.noreply.github.com>
2024-10-14 21:36:46 +01:00
PolymetaandWeblate f4746207d0 Translated using Weblate (German)
Currently translated at 92.3% (5895 of 6382 strings)

Translation: Cobblemon/Mod
Translate-URL: http://lang.cobblemon.com/projects/cobblemon/mod/de/
2024-10-14 17:41:47 +00:00
MiaandWeblate 9aa6831a20 Translated using Weblate (German)
Currently translated at 92.3% (5895 of 6382 strings)

Translation: Cobblemon/Mod
Translate-URL: http://lang.cobblemon.com/projects/cobblemon/mod/de/
2024-10-14 17:41:47 +00:00
Felipe Bermudes OrmeñoandWeblate 71f4345deb Translated using Weblate (Spanish (Mexico))
Currently translated at 24.0% (1537 of 6382 strings)

Translation: Cobblemon/Mod
Translate-URL: http://lang.cobblemon.com/projects/cobblemon/mod/es_MX/
2024-10-14 17:41:47 +00:00
Zack the GhastandWeblate b9cd951c36 Translated using Weblate (Portuguese (Portugal))
Currently translated at 25.2% (1612 of 6382 strings)

Translation: Cobblemon/Mod
Translate-URL: http://lang.cobblemon.com/projects/cobblemon/mod/pt_PT/
2024-10-14 17:41:47 +00:00
Alexis SalgueiroandWeblate 38d20dd69a Translated using Weblate (French)
Currently translated at 92.2% (5888 of 6382 strings)

Translation: Cobblemon/Mod
Translate-URL: http://lang.cobblemon.com/projects/cobblemon/mod/fr/
2024-10-14 17:41:47 +00:00
Natchakot ChuchokjatupornandWeblate caa46f13be Translated using Weblate (Thai)
Currently translated at 73.5% (4695 of 6382 strings)

Translation: Cobblemon/Mod
Translate-URL: http://lang.cobblemon.com/projects/cobblemon/mod/th/
2024-10-14 17:41:47 +00:00
Sterrezo 54c0f2438c Sendout sound no longer unintentionally plays when a wild Pokemon breaks out
+ a bunch of volume tweaks in sounds.json
2024-10-14 19:25:50 +02:00
Sterrezo e2ee2f60c6 Small corrections to the latest Pokedex sound source change 2024-10-14 18:48:14 +02:00
Sterrezo 517841c2fa Pokedex sounds now come from UI and not the player channel
+ a bunch of volume tweaks
2024-10-14 18:21:28 +02:00
Sterrezo 28e9d89ae3 Merge branch 'main' into sound 2024-10-14 16:28:51 +02:00
Paul 3edb7fbd3a More brain config for NPCs 2024-10-14 13:56:32 +10:00
Landon Wills 892a5a8fd3 Install new 48 MP camera lens into pro max model with better zooming capabilities 2024-10-13 20:32:21 -04:00
Landon Wills ba155b99a2 Upgrade camera drivers for pro max model 2024-10-13 20:06:04 -04:00
Paul 6df544c279 Merge remote-tracking branch 'origin/main' 2024-10-14 10:01:55 +10:00
Paul 44a1e5ae69 Added NPC AI outlining (WIP), added canDespawn property to NPC classes and presets 2024-10-14 10:01:42 +10:00
Hiroku cf70263a22 Merge branch 'JayceTRD-main-patch-32373' into 'main'
Added cobblemon.battle.end.neutralizinggas to en_us.json

See merge request cable-mc/cobblemon!1205
2024-10-13 23:29:33 +00:00
JayceTRD 536a241f90 Added cobblemon.battle.end.neutralizinggas to en_us.json 2024-10-13 23:27:27 +00:00
Hiroku a61eb1a847 Merge branch 'feature/fix-sign-crash' into 'main'
make sure hanging signs are allowed for hanging sign block entity

Closes #1086

See merge request cable-mc/cobblemon!1204
2024-10-13 21:12:38 +00:00
PolymetaandHiroku 672b72c091 make sure hanging signs are allowed for hanging sign block entity 2024-10-13 21:12:38 +00:00
Hiroku 6ec312ca5e Merge branch 'ys/fix-evo-animation-cancel' into 'main'
Dont clear active animations that should endure primary animations

Closes #1064

See merge request cable-mc/cobblemon!1201
2024-10-13 21:07:56 +00:00
Hiroku 265e4495ef Merge branch 'issue-983' into 'main'
Fix issue with pasture pokemon despawning

Closes #983

See merge request cable-mc/cobblemon!1203
2024-10-13 21:07:44 +00:00
Test 36c355d5cd Merge branch 'pokedex-spin-fix' into 'main'
Fix pokemon spinning unreasonably fast when dragged

See merge request cable-mc/cobblemon!1202
2024-10-13 20:52:33 +00:00
MiaandTest 9c6cb90b93 Fix pokemon spinning unreasonably fast when dragged 2024-10-13 20:52:33 +00:00
Landon Wills cf6a997cfd Fix issue with pasture pokemon despawning 2024-10-13 16:50:16 -04:00
Yaseen 5d437dcb2a less code 2024-10-13 16:03:02 +01:00
Yaseen 450517cba3 Merge branch 'main' into ys/fix-evo-animation-cancel 2024-10-13 15:56:38 +01:00
Yaseen 9a7428841f Dont clear active animations that should endure primary animations 2024-10-13 15:52:38 +01:00
Hiroku 654c4341ef Merge branch 'bugfix/hiro-fixes-packets' into 'main'
Delay deserialization of Pokemon S2C codec until it's in the handler for...

See merge request cable-mc/cobblemon!1196
2024-10-13 09:40:48 +00:00
Hiroku 2c3112d0d4 Merge branch 'FishingSendoutFix' into 'main'
Closes #1011 Fishing sendout fix

Closes #1011

See merge request cable-mc/cobblemon!1200
2024-10-13 07:06:42 +00:00
JazzMcNade bb4d0298a6 Merge branch 'main' into FishingSendoutFix 2024-10-13 01:46:44 -05:00
JazzMcNade b5f9dfd66d Fixed player pokemon being sent out at the player's feet when initiating a fishing battle. 2024-10-13 01:42:54 -05:00
Paul 0d8bc4351a Merge remote-tracking branch 'origin/main' 2024-10-13 16:08:15 +10:00
Paul f4276bbcc0 Removed temporary raft code, indirectly closes #1087 2024-10-13 16:08:00 +10:00
Paul a2c6d6fa30 Fixed shoulder renderer not applying a pokemon context, closes #1083 2024-10-13 16:03:40 +10:00
Patch Notes GuyandWeblate 2c3ac5da05 Translated using Weblate (Czech)
Currently translated at 24.0% (1533 of 6382 strings)

Translation: Cobblemon/Mod
Translate-URL: http://lang.cobblemon.com/projects/cobblemon/mod/cs/
2024-10-13 02:45:20 +00:00
Patch Notes GuyandWeblate ad9c86372d Translated using Weblate (Japanese)
Currently translated at 91.5% (5841 of 6382 strings)

Translation: Cobblemon/Mod
Translate-URL: http://lang.cobblemon.com/projects/cobblemon/mod/ja/
2024-10-13 02:45:20 +00:00
Patch Notes GuyandWeblate f531c1eb64 Translated using Weblate (Chinese (Traditional Han script, Hong Kong))
Currently translated at 67.6% (4318 of 6382 strings)

Translation: Cobblemon/Mod
Translate-URL: http://lang.cobblemon.com/projects/cobblemon/mod/zh_Hant_HK/
2024-10-13 02:45:20 +00:00
Patch Notes GuyandWeblate 0a8743158d Translated using Weblate (Portuguese (Portugal))
Currently translated at 24.0% (1533 of 6382 strings)

Translation: Cobblemon/Mod
Translate-URL: http://lang.cobblemon.com/projects/cobblemon/mod/pt_PT/
2024-10-13 02:45:19 +00:00
Patch Notes GuyandWeblate d344ad0bc6 Translated using Weblate (Italian)
Currently translated at 85.8% (5477 of 6382 strings)

Translation: Cobblemon/Mod
Translate-URL: http://lang.cobblemon.com/projects/cobblemon/mod/it/
2024-10-13 02:45:19 +00:00
Patch Notes GuyandWeblate 62c3ec8c72 Translated using Weblate (Thai)
Currently translated at 72.9% (4653 of 6382 strings)

Translation: Cobblemon/Mod
Translate-URL: http://lang.cobblemon.com/projects/cobblemon/mod/th/
2024-10-13 02:45:19 +00:00
Patch Notes GuyandWeblate b4919fea4d Translated using Weblate (English (United Kingdom))
Currently translated at 0.1% (9 of 6382 strings)

Translation: Cobblemon/Mod
Translate-URL: http://lang.cobblemon.com/projects/cobblemon/mod/en_GB/
2024-10-13 02:45:19 +00:00
Patch Notes GuyandWeblate 2ebb8e64c4 Translated using Weblate (English (en_PT))
Currently translated at 24.0% (1533 of 6382 strings)

Translation: Cobblemon/Mod
Translate-URL: http://lang.cobblemon.com/projects/cobblemon/mod/en_PT/
2024-10-13 02:45:19 +00:00
Patch Notes GuyandWeblate 379bddc338 Translated using Weblate (Korean)
Currently translated at 86.9% (5551 of 6382 strings)

Translation: Cobblemon/Mod
Translate-URL: http://lang.cobblemon.com/projects/cobblemon/mod/ko/
2024-10-13 02:45:19 +00:00
Patch Notes GuyandWeblate 0335eccfb5 Translated using Weblate (Russian)
Currently translated at 94.4% (6028 of 6382 strings)

Translation: Cobblemon/Mod
Translate-URL: http://lang.cobblemon.com/projects/cobblemon/mod/ru/
2024-10-13 02:45:19 +00:00
Patch Notes GuyandWeblate 0497489292 Translated using Weblate (Spanish (Mexico))
Currently translated at 24.0% (1533 of 6382 strings)

Translation: Cobblemon/Mod
Translate-URL: http://lang.cobblemon.com/projects/cobblemon/mod/es_MX/
2024-10-13 02:45:19 +00:00
Patch Notes GuyandWeblate 2c168bbce0 Translated using Weblate (Esperanto (eo_EO))
Currently translated at 17.2% (1099 of 6382 strings)

Translation: Cobblemon/Mod
Translate-URL: http://lang.cobblemon.com/projects/cobblemon/mod/eo_EO/
2024-10-13 02:45:19 +00:00
Patch Notes GuyandWeblate f6dcbc0d26 Translated using Weblate (Greek (el_CY))
Currently translated at 24.0% (1533 of 6382 strings)

Translation: Cobblemon/Mod
Translate-URL: http://lang.cobblemon.com/projects/cobblemon/mod/el_CY/
2024-10-13 02:45:19 +00:00
Patch Notes GuyandWeblate cc54eb8f3f Translated using Weblate (Hungarian)
Currently translated at 24.0% (1533 of 6382 strings)

Translation: Cobblemon/Mod
Translate-URL: http://lang.cobblemon.com/projects/cobblemon/mod/hu/
2024-10-13 02:45:19 +00:00
Patch Notes GuyandWeblate 65314f7d1d Translated using Weblate (Spanish)
Currently translated at 85.7% (5470 of 6382 strings)

Translation: Cobblemon/Mod
Translate-URL: http://lang.cobblemon.com/projects/cobblemon/mod/es/
2024-10-13 02:45:19 +00:00
Patch Notes GuyandWeblate bf7f84a94e Translated using Weblate (French)
Currently translated at 91.9% (5871 of 6382 strings)

Translation: Cobblemon/Mod
Translate-URL: http://lang.cobblemon.com/projects/cobblemon/mod/fr/
2024-10-13 02:45:19 +00:00
MiaandWeblate da64a9c186 Translated using Weblate (German)
Currently translated at 91.8% (5865 of 6382 strings)

Translation: Cobblemon/Mod
Translate-URL: http://lang.cobblemon.com/projects/cobblemon/mod/de/
2024-10-13 02:45:19 +00:00
Patch Notes GuyandWeblate a8147beae1 Translated using Weblate (Polish)
Currently translated at 24.0% (1533 of 6382 strings)

Translation: Cobblemon/Mod
Translate-URL: http://lang.cobblemon.com/projects/cobblemon/mod/pl/
2024-10-13 02:45:19 +00:00
Patch Notes GuyandWeblate 25da152ebf Translated using Weblate (Chinese (Traditional Han script))
Currently translated at 71.2% (4550 of 6382 strings)

Translation: Cobblemon/Mod
Translate-URL: http://lang.cobblemon.com/projects/cobblemon/mod/zh_Hant/
2024-10-13 02:45:19 +00:00
Patch Notes GuyandWeblate 1cc3d64c79 Translated using Weblate (Ukrainian)
Currently translated at 88.7% (5663 of 6382 strings)

Translation: Cobblemon/Mod
Translate-URL: http://lang.cobblemon.com/projects/cobblemon/mod/uk/
2024-10-13 02:45:18 +00:00
Patch Notes GuyandWeblate 30063e96b5 Translated using Weblate (Dutch)
Currently translated at 24.0% (1533 of 6382 strings)

Translation: Cobblemon/Mod
Translate-URL: http://lang.cobblemon.com/projects/cobblemon/mod/nl/
2024-10-13 02:45:18 +00:00
Patch Notes GuyandWeblate 3bd7d09b34 Translated using Weblate (Portuguese (Brazil))
Currently translated at 24.0% (1533 of 6382 strings)

Translation: Cobblemon/Mod
Translate-URL: http://lang.cobblemon.com/projects/cobblemon/mod/pt_BR/
2024-10-13 02:45:18 +00:00
Patch Notes GuyandWeblate c3d5773cc9 Translated using Weblate (Turkish)
Currently translated at 11.2% (718 of 6382 strings)

Translation: Cobblemon/Mod
Translate-URL: http://lang.cobblemon.com/projects/cobblemon/mod/tr/
2024-10-13 02:45:18 +00:00
Patch Notes GuyandWeblate c688fbabc4 Translated using Weblate (Swedish)
Currently translated at 17.2% (1099 of 6382 strings)

Translation: Cobblemon/Mod
Translate-URL: http://lang.cobblemon.com/projects/cobblemon/mod/sv/
2024-10-13 02:45:18 +00:00
Patch Notes GuyandWeblate 4b313ef54c Translated using Weblate (French (Canada))
Currently translated at 88.7% (5664 of 6382 strings)

Translation: Cobblemon/Mod
Translate-URL: http://lang.cobblemon.com/projects/cobblemon/mod/fr_CA/
2024-10-13 02:45:18 +00:00
Patch Notes GuyandWeblate 01c2c4efae Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 90.3% (5767 of 6382 strings)

Translation: Cobblemon/Mod
Translate-URL: http://lang.cobblemon.com/projects/cobblemon/mod/zh_Hans/
2024-10-13 02:45:18 +00:00
Hiroku aab6fcf891 Merge branch 'Fix1035RestorationExplosions' into 'main'
Closes #1035 restoration explosions

Closes #1035

See merge request cable-mc/cobblemon!1199
2024-10-13 01:53:03 +00:00
JazzMcNade 86ae831d74 Merge branch 'main' into Fix1035RestorationExplosions 2024-10-12 20:35:04 -05:00
JazzMcNade 9d12ce8a33 Fixed tank drops in survival/creative. Reduced code. 2024-10-12 20:34:38 -05:00
Paul 57ef15dea2 Remove reference to non-existent preset 2024-10-13 10:30:56 +10:00
Paul 5650cdc6ed Fixed NPC presets loading from NPCs folder (OOPS), fixed variations not applying to NPC classes, fixed variations not updating aspects after init 2024-10-13 10:30:27 +10:00
Paul 0048622693 Fixed WeightedAspect adapter not being registered for NPC presets 2024-10-13 09:08:44 +10:00
Paul 7940b60d77 Fixed Amaura fossil crash, closes #1085 2024-10-13 08:43:52 +10:00
Paul 886c0c7026 Fixed presets not able to deserialize variation providers 2024-10-13 07:40:25 +10:00
Hiroku 199ab9f4ee Merge branch 'RemoveUnnecessaryGenericHitEffects' into 'main'
Moves with Action Effects no longer display the generic hit effect.

See merge request cable-mc/cobblemon!1197
2024-10-12 21:33:29 +00:00
Paul 573b8cbcf9 Fix SpawnPokemonPacket decoding Species on net thread 2024-10-13 07:32:28 +10:00
JazzMcNade 6583168366 Moves with Action Effects no longer display the generic hit effect. Created generic effect for non-move damage sources. 2024-10-12 14:49:29 -05:00
Paul 8951816ddd Delay deserialization of Pokemon S2C codec until it's in the handler for SetPCPokemonPacket, SetPCBoxPokemonPacket, SetPartyPokemonPacket 2024-10-12 18:18:32 +10:00
Paul bc668d84c9 Fixed advancement display of pokemon renders, closes #976 2024-10-12 16:59:48 +10:00
MiaandWeblate b1290cbc38 Translated using Weblate (German)
Currently translated at 87.5% (5579 of 6375 strings)

Translation: Cobblemon/Mod
Translate-URL: http://lang.cobblemon.com/projects/cobblemon/mod/de/
2024-10-12 02:00:08 +00:00
Paul 2261cf1077 Conflicto fixo 2024-10-12 11:55:50 +10:00
Paul 0ae427fd14 Fixed NPC pokemon still dropping items on faint 2024-10-12 10:18:47 +10:00
Paul 37a25c6b5a Fixed applyplayertexture not working on NPCs that delegate to standard but are not standard 2024-10-12 09:12:24 +10:00
MiaandWeblate 597080aac2 Translated using Weblate (German)
Currently translated at 87.4% (5578 of 6375 strings)

Translation: Cobblemon/Mod
Translate-URL: http://lang.cobblemon.com/projects/cobblemon/mod/de/
2024-10-11 21:41:28 +00:00
Slippy ca71fe141a Significantly changed how fossils structures generate in order to avoid generating on top of each other and on top of vanilla structures. 2024-10-11 13:47:31 -05:00
Slippy d1028a79ed Drastic change to how ruins generate. They should avoid any vanilla structures that generate in their respective biomes. 2024-10-11 13:21:37 -05:00
Sterrezo 112a3b9963 Updated 4 cries
Quality updates to Chansey, Crobat, Hoothoot and Noctowl
2024-10-11 15:36:01 +02:00
Sterrezo 444f1e9f69 Merge branch 'main' into sound 2024-10-11 15:33:36 +02:00
Xander Forrest 97c2711eb8 fix mint bounding blocks being randomly -0.9 in size
make berries / mint trees have a lower bounding box if planted, if wild, normal, all looks nice
vanilla MC doesn't actually move the bounding box down on tilled soil, so maybe we shouldn't either
2024-10-11 17:31:16 +07:00
Paul 2ae2d9f53b Initialize NPCs at level 1 by default from /spawnnpc 2024-10-11 20:23:46 +10:00
Paul 38df6f4833 Fixed deserialization of custom_script NPC interactions 2024-10-11 19:51:11 +10:00
Paul bed2e3035b Added /spawnnpc and /spawnnpcat commands 2024-10-11 16:33:39 +10:00
Paul a784aa38cb Lang update 2024-10-11 16:09:46 +10:00
Slippy c25f3ce430 Updated Rooted Arch Ruins Structure 2024-10-11 01:02:20 -05:00
MoeBoy76 2ef13cf556 Fixed import 2024-10-11 13:43:35 +11:00
MoeBoy76 9bb594f07d Added Egg events for devs 2024-10-11 13:35:02 +11:00
Hiroku c18d853a55 Merge branch 'fuck-assets' into 'main'
move best spawner config & showdown data to resources/data

See merge request cable-mc/cobblemon!1191
2024-10-10 20:45:29 +00:00
Xander Forrest d6581e9931 try with resources block when copying from stream 2024-10-11 00:14:47 +07:00
Nick d7962e7d48 Merge branch 'feature/more-bugs-fixed' into 'main'
more smaller bugs fixed (neoforge users rejoice)

Closes #1068, #1072, and #1073

See merge request cable-mc/cobblemon!1192
2024-10-10 16:57:59 +00:00
PolymetaandNick f3f6a9744b more smaller bugs fixed (neoforge users rejoice) 2024-10-10 16:57:59 +00:00
Nick 715112f8d9 Merge branch 'feature/shinies' into 'main'
Shiny Pokémon Particles and Sound Effects! ✨✨✨💖

See merge request cable-mc/cobblemon!1183
2024-10-10 16:52:39 +00:00
TyzillionandNick 278d0d6f96 Shiny Pokémon Particles and Sound Effects! ✨✨✨💖 2024-10-10 16:52:39 +00:00
Slippy 559a30da29 Updated eroded pillar 2 nbt file 2024-10-10 11:10:41 -05:00
Slippy e896067428 Updated Plains Pokecenter & suspicious_mound3 NBT Files 2024-10-10 10:48:28 -05:00
Xander Forrest 95c26448bc move best-spawner-config & showdown zip/metadata to resources/data instead of assets, where they should not be
add FileUtils.copyInternalToExternal to move things from internal to, you guessed it, external paths.
2024-10-10 17:20:12 +07:00
Hiroku 8d99ebbcde Merge branch 'feature/bug-galore' into 'main'
various bug fixes

Closes #994, #1037, #1057, #1060, #1070, and #420

See merge request cable-mc/cobblemon!1188
2024-10-10 10:09:19 +00:00
PolymetaandHiroku 4c024ac947 various bug fixes 2024-10-10 10:09:19 +00:00
Hiroku b4946e13f2 Merge branch 'misc' into 'main'
add Upper Hand name/description

See merge request cable-mc/cobblemon!1190
2024-10-10 09:25:16 +00:00
Xander Forrest bc4af40a34 remove gb specific move name 2024-10-10 16:24:21 +07:00
Xander Forrest 64ecec1a9a add Upper Hand name/description 2024-10-10 16:10:05 +07:00
Hiroku 7f8ef38b64 Merge branch 'clone' into 'main'
regen tethering ID as well as UUID in Pokemon.clone()

See merge request cable-mc/cobblemon!1189
2024-10-10 08:52:19 +00:00
Hiroku e4360ca9b5 Play animation sound keyframes through the entity where possible, the way Arceus intended 2024-10-10 08:47:09 +00:00
Xander Forrest bc27ec7288 remove tethering id not randomly generate 2024-10-10 15:44:41 +07:00
Xander Forrest 875f2d99ab regen tethering ID as well as UUID in Pokemon.clone() 2024-10-10 14:24:05 +07:00
Slippy d1914dd434 Suspicious Mound Fix 2024-10-09 20:43:40 -05:00
Sterrezo 8756ef5034 Zoom sound now checks for a variable, instead of a hardcoded value 2024-10-07 08:50:35 +02:00
Hiroku a4d18eba89 Merge branch 'sound' into 'main'
Sound bugfix and small volume tweaks

Closes #1069

See merge request cable-mc/cobblemon!1187
2024-10-07 06:36:58 +00:00
Sterrezo edffc248f4 Small volume tweaks to Pokedex sounds 2024-10-07 08:29:51 +02:00
Sterrezo 600bbfc5f3 Prevented the zoom sound from playing when unable to increase or decrease zoom further 2024-10-07 08:28:40 +02:00
JazzMcNade 4cfaf27ac7 Fixes 1035 2024-10-06 19:58:38 -05:00
Hiroku 692f1de510 Merge branch 'Updating-Structures-to-1.21' into 'main'
1.21.1 structure fixes

See merge request cable-mc/cobblemon!1184
2024-10-06 20:55:42 +00:00
Polymeta e230dd740d Merge branch 'refs/heads/main' into Updating-Structures-to-1.21
# Conflicts:
#	common/src/main/resources/data/minecraft/worldgen/template_pool/village/desert/houses.json
#	common/src/main/resources/data/minecraft/worldgen/template_pool/village/plains/houses.json
#	common/src/main/resources/data/minecraft/worldgen/template_pool/village/savanna/houses.json
#	common/src/main/resources/data/minecraft/worldgen/template_pool/village/snowy/houses.json
#	common/src/main/resources/data/minecraft/worldgen/template_pool/village/taiga/houses.json
2024-10-06 20:46:40 +01:00
Hiroku e24008c89e Merge branch 'keybind-shmebind' into 'main'
Remove PokedexBinding.kt and references.

See merge request cable-mc/cobblemon!1185
2024-10-06 02:48:08 +00:00
Hiroku ed29801820 Merge branch 'feature/pokedex-sync-fixes' into 'main'
fix pokedex sync and other issues

Closes #1000, #1041, and #1051

See merge request cable-mc/cobblemon!1186
2024-10-06 02:47:53 +00:00
Polymeta a5fe51b8fa various pokedex fixes
Signed-off-by: Polymeta <40173118+Polymeta@users.noreply.github.com>
2024-10-06 03:37:46 +01:00
Hiroku 600cc48073 Merge branch 'slated' into 'main'
Added Missing Recipe

Closes #1033

See merge request cable-mc/cobblemon!1180
2024-10-06 00:08:09 +00:00
JPAKx4 a4aa8f3778 Remove PokedexBinding.kt and references. 2024-10-05 14:38:21 -05:00
Segfault Guy 1649b9790b Only render icons outside of battle. 2024-10-05 08:47:11 -04:00
Slippy 2f16490aa8 Hopefully this fixed village centers from not having loot and generating very uncommonly 2024-10-04 23:06:11 -05:00
Slippy 8728e3a69a Hopefully this fixed village centers 2024-10-04 23:03:47 -05:00
Hiroku ed82a72919 Merge branch 'unblank_descriptions' into 'main'
Fix scrolling issue in InfoTextScrollWidget.kt

Closes #1023

See merge request cable-mc/cobblemon!1182
2024-10-05 03:29:48 +00:00
JPAKx4 953163b12e Fix scrolling issue in InfoTextScrollWidget.kt 2024-10-04 22:20:26 -05:00
Test aa57cd7e3e prevent cry animation stacking on button click 2024-10-04 22:32:48 -04:00
Segfault Guy b23c9b2133 Improve billboarding of icon to align with player nametags. Fix shifting of icon with respect to camera pitch. 2024-10-03 21:09:15 -04:00
Test eaeb918b33 update assets 2024-10-01 23:49:58 -04:00
Test f05af3d427 licensing, icons 2024-10-01 20:42:52 -04:00
Lily 8f40ab45db Added missing Custap Berry message. Closes #1030 2024-09-30 19:27:12 -04:00
Lily 1a1cf3ab7b Pokemon given through /giveallpokemon now have an Original Trainer. Closes #1022 2024-09-30 19:23:00 -04:00
Lily 3231c92baa Evolution message now sends after the animation is complete. Closes #1007
Reject AcceptEvolutionPacket if the Pokemon is busy. Closes #1021
2024-09-30 19:20:35 -04:00
dhi_holo 863baa5ae6 Added Missing Recipe
Resolves #1033
2024-09-30 18:34:32 +10:00
Segfault Guy a73c5fac86 Normalize request notification messages. 2024-09-29 21:40:59 -04:00
Segfault Guy 79be2e64ae Remove CompoundIcon due to design issues. Test unique icon textures. 2024-09-29 08:24:30 -04:00
Hiroku 913ca3d467 Merge branch 'sound' into 'main'
Tweaked evolution sound logic

See merge request cable-mc/cobblemon!1179
2024-09-29 08:44:30 +00:00
Sterrezo 22b541af10 Tweaked evolution sound logic
Added a click sound to the evolve widget. Evolution ui sound now plays only when evolving from the ui, not with the Pokemon sent out.
2024-09-29 10:43:28 +02:00
Hiroku c1a706ca69 Merge branch 'scan-fixes' into 'main'
scan and dex fixes

See merge request cable-mc/cobblemon!1178
2024-09-29 02:42:23 +00:00
TestandHiroku 47f8647d48 scan and dex fixes 2024-09-29 02:42:22 +00:00
JazzMcNade 9ae31a3f5d Simplified adjust level rules 2024-09-28 01:31:56 -05:00
Hiroku a0e01b9652 Merge branch '#1013-immortal-pokemon' into 'main'
Fixes Pokemon being immortal after breaking free from capture

Closes #1013

See merge request cable-mc/cobblemon!1177
2024-09-28 04:23:40 +00:00
Deltric 9d88fb7ca2 Resets beam mode to 0 after a Pokemon is finished breaking free from capture. Prevents them from staying immortal. 2024-09-27 22:49:32 -05:00
Paul ca0170f1ed Several camera mode fixes, fixing several move effects. Closes #1010 2024-09-28 11:36:45 +10:00
Paul bc6c9f5df8 Dude don't format stuff like that 2024-09-27 20:38:57 +10:00
Paul 1231e1b0f6 Merge remote-tracking branch 'origin/main' into PvP_Flat_Level_Battling 2024-09-27 12:54:12 +10:00
Paul 050f7e6161 Added property on PokemonEntity to toggle pose type recalculation 2024-09-27 12:20:57 +10:00
Paul 658ec95e6b Fixed pressing E for a nickname closing the GUI, closes #1006 2024-09-27 11:28:57 +10:00
JazzMcNade b99822e7da Merge branch 'main' into PvP_Flat_Level_Battling 2024-09-26 20:09:02 -05:00
Segfault Guy e66951debc A player can only have one of each request. 2024-09-26 21:04:26 -04:00
Hiroku 883f8149da Merge branch 'BattleBugStomping' into 'main'
BattleBugStomping Bugaloo

See merge request cable-mc/cobblemon!1167
2024-09-27 00:06:53 +00:00
Hiroku e5e4871c96 Merge branch 'feature/bugfixes' into 'main'
small fixes

Closes #1001 and #999

See merge request cable-mc/cobblemon!1176
2024-09-27 00:05:34 +00:00
JazzMcNade e074411596 Cleaned up Revival Blessing logic 2024-09-26 01:53:51 -05:00
JazzMcNade adf0ba7c9f Merge branch 'main' into BattleBugStomping 2024-09-26 01:22:11 -05:00
JazzMcNade 3d8c22fd68 Fixed client sync issues with triple battle's auto shift to center. 2024-09-26 00:18:03 -05:00
Segfault Guy 1e8a8d0896 Fix request expiry. 2024-09-25 23:25:23 -04:00
Polymeta a966f0f9a6 dont reset state with empty state causing the loss of aspects
Signed-off-by: Polymeta <40173118+Polymeta@users.noreply.github.com>
2024-09-25 23:32:01 +01:00
Polymeta da74990909 only rotate collection when leading pokemon is passed in to preserve original party order
Signed-off-by: Polymeta <40173118+Polymeta@users.noreply.github.com>
2024-09-25 22:43:00 +01:00
JazzMcNade 0e3102f5e4 Fixed a bug in which not having enough pokemon to fill all fainted slots would cause a soft lock. Fixed Revival Blessing. 2024-09-25 00:45:41 -05:00
Nick 36e3816bf3 Merge branch 'feature/pokemon-debug-utils' into 'main'
debug galore for pokemon

See merge request cable-mc/cobblemon!1175
2024-09-24 23:05:41 +00:00
PolymetaandNick 99e47e4cb7 debug galore for pokemon 2024-09-24 23:05:41 +00:00
Nick aa875b06ab Merge branch 'feature/form-dfu' into 'main'
introduce feature DFU to prevent loss of forms and other features when migrating from 1.20

Closes #993 and #541

See merge request cable-mc/cobblemon!1174
2024-09-24 17:24:29 +00:00
PolymetaandNick dfb08c8db0 introduce feature DFU to prevent loss of forms and other features when migrating from 1.20 2024-09-24 17:24:29 +00:00
Nick eefff036b7 Merge branch 'more-npcs' into 'main'
Many NPC improvements for foundation

See merge request cable-mc/cobblemon!1171
2024-09-23 23:02:00 +00:00
HirokuandNick 43050b4276 Many NPC improvements for foundation 2024-09-23 23:02:00 +00:00
Nick b1b8c6e9db Merge branch 'bugfix/fix-for-slippy' into 'main'
Fixed Jigsaw structure maximums

See merge request cable-mc/cobblemon!1173
2024-09-23 22:06:16 +00:00
Paul 583a973e53 Fixed Jigsaw structure maximums 2024-09-23 15:51:58 +10:00
Hiroku c0b945e3da Merge branch 'parchment' into 'main'
Added parchment mappings for param names

See merge request cable-mc/cobblemon!1172
2024-09-23 02:10:44 +00:00
apion fa73fb8e46 Added parchment mappings for param names 2024-09-22 22:00:49 -04:00
Hiroku 1fd9128b33 Merge branch 'DoubledPokeballSendOutParticlesFix' into 'main'
DoubledPokeballSendOutParticlesFix

See merge request cable-mc/cobblemon!1169
2024-09-23 00:34:43 +00:00
Hiroku f9799ef55e Merge branch 'feature/small-tweaks' into 'main'
remove redundant tracker and hardcode battle ui navigation to leftclick

Closes #992

See merge request cable-mc/cobblemon!1170
2024-09-22 21:25:15 +00:00
PolymetaandHiroku ab69c4f095 remove redundant tracker and hardcode battle ui navigation to leftclick 2024-09-22 21:25:15 +00:00
JazzMcNade a9a0fff643 PokemonClientDelagate now checks if beammode 1 in currently in progress before applying its effects. 2024-09-22 12:27:11 -05:00
Segfault Guy f9def3acf5 Implement DeferredRenderer for rendering request icons after translucent layer in LevelRender. 2024-09-22 11:49:17 -04:00
Apion 9bdb8102c1 Merge branch 'bugfix/1-6-fixes' into 'main'
Dex variation definitions for many pokes, show all pose types in dex

See merge request cable-mc/cobblemon!1168
2024-09-21 23:01:33 +00:00
HirokuandApion febcb7092a Dex variation definitions for many pokes, show all pose types in dex 2024-09-21 23:01:33 +00:00
Apion 4ec8b01efb Merge branch 'feature/jarring-changes' into 'main'
JarInJar fabric kotlin instead of shadowing kotlin libs to avoid compatibility issues

Closes #933

See merge request cable-mc/cobblemon!1161
2024-09-21 22:44:42 +00:00
PolymetaandApion 95b15d50c3 JarInJar fabric kotlin instead of shadowing kotlin libs to avoid compatibility issues 2024-09-21 22:44:42 +00:00
JazzMcNade 88d7b38a90 Cleaned up math 2024-09-21 17:44:21 -05:00
Apion 471eef6c31 Merge branch 'SinglesSendoutAdjustments' into 'main'
SinglesSendoutAdjustments

See merge request cable-mc/cobblemon!1166
2024-09-21 22:40:15 +00:00
JazzMcNadeandApion 513910e448 SinglesSendoutAdjustments 2024-09-21 22:40:15 +00:00
JazzMcNade 528f1d68b9 Fixed bug in which a fainted pokemon could be sent out in multibattles. Fixed actor display test when the first slot is fainted. Fixed timings of gui items now that the BattleOverlay tick speed has been fixed. 2024-09-21 17:32:36 -05:00
apion 1613250f5d Add method for in PlatformRegistry for sidemod usage 2024-09-21 18:27:14 -04:00
Hiroku f8a2802a8e Merge branch 'feature/sneaky-label' into 'main'
Tweak pokemon label display and additional config setting

See merge request cable-mc/cobblemon!1164
2024-09-21 22:16:44 +00:00
PolymetaandHiroku fdcbca4410 Tweak pokemon label display and additional config setting 2024-09-21 22:16:44 +00:00
Hiroku 85b96268be Merge branch 'Uh-Oh-Slippy-is-Messing-with-Code-Again' into 'main'
Uh oh slippy is messing with code again

See merge request cable-mc/cobblemon!1162
2024-09-21 00:17:15 +00:00
Hiroku 0a94c00859 Merge branch 'bugfix/1-6-fixes' into 'main'
Fixes

Closes #973 and #989

See merge request cable-mc/cobblemon!1165
2024-09-21 00:16:55 +00:00
Paul b7a2091c3e Fixed battle overlay animations absolutely zooooming 2024-09-21 10:01:45 +10:00
Polymeta 2dcd9467ec fix compile errors
Signed-off-by: Polymeta <40173118+Polymeta@users.noreply.github.com>
2024-09-20 13:08:50 +01:00
Polymeta 4fc6d35aab Merge branch 'Myslippy-main-patch-44800' into 'Uh-Oh-Slippy-is-Messing-with-Code-Again'
Update CHANGELOG.md (I apologize for my sins hiro please forgive me)

See merge request cable-mc/cobblemon!1163
2024-09-20 11:41:48 +00:00
Paul 89d62606d3 Merge remote-tracking branch 'origin/main' into bugfix/1-6-fixes 2024-09-20 19:54:21 +10:00
Myslippy c424e3a8c5 Update CHANGELOG.md (I apologize for my sins hiro please forgive me) 2024-09-20 09:36:35 +00:00
Slippy 792a8795ed more adjustments 2024-09-20 04:20:48 -05:00
Slippy 05d3c6d928 updated village pokecenter structure nbt files 2024-09-20 04:01:33 -05:00
Slippy 3f56af4b86 updated village pokecenter structure nbt files 2024-09-20 03:50:25 -05:00
Apion fe0e32de76 Merge branch 'Whaet' into 'main'
Update treasure.json

See merge request cable-mc/cobblemon!1160
2024-09-20 06:43:35 +00:00
apion 7456afac58 Fix crash 2024-09-20 02:28:13 -04:00
dhi_holo ee07204bae Merge branch 'main' into Whaet 2024-09-20 15:18:50 +10:00
dhi_holo 252296bf71 Update treasure.json
Made it so you can't fish obscene numbers of Poké Rod Smithing Templates anymore, but you can still get more from higher enchanted rods
2024-09-20 15:18:09 +10:00
Apion 3c4da18040 Merge branch 'bugfix/1-6-fixes' into 'main'
1.6 fixes

Closes #991, #973, and #989

See merge request cable-mc/cobblemon!1159
2024-09-20 05:16:46 +00:00
HirokuandApion 88ff54b97b 1.6 fixes 2024-09-20 05:16:45 +00:00
Hiroku 1f1590a49f Merge branch 'sidemoddable-storage-types' into 'main'
Moved PlayerInstancedDataStoreType to not be an enum (so sidemods can add new ones)

See merge request cable-mc/cobblemon!1158
2024-09-20 05:14:36 +00:00
apion c9476efe6f Licenses (please have mercy) 2024-09-20 00:12:00 -04:00
apion ac77262c88 Moved PlayerInstancedDataStoreType to not be an enum (so sidemods can add new ones) 2024-09-20 00:05:21 -04:00
Paul ba649652da Fixed shiny property not syncing properly #991 2024-09-20 13:25:32 +10:00
Paul c63dff32a0 Fixed capture pokeballs in battle UI spinning forever, fixes #973 2024-09-20 12:51:56 +10:00
Paul c253683506 Made relic coin pouches waterloggable, fixes #989 2024-09-20 12:24:46 +10:00
Hiroku d7788e277f Merge branch 'dialogue' into 'main'
cleanup dialog

See merge request cable-mc/cobblemon!1152
2024-09-19 23:54:48 +00:00
TestandHiroku 44cd81eb24 cleanup dialog 2024-09-19 23:54:47 +00:00
Hiroku 0987afe645 Merge branch 'feature/post-port-trauma' into 'main'
1.21.1 port fixes and other things

Closes #941, #214, #959, #986, #978, #975, and #952

See merge request cable-mc/cobblemon!1155
2024-09-19 23:47:01 +00:00
Polymeta d407561978 add datafixer for pokemon model components
Signed-off-by: Polymeta <40173118+Polymeta@users.noreply.github.com>
2024-09-19 17:04:06 +01:00
Polymeta dfe6c19e01 also apply regenerator on force switches
Signed-off-by: Polymeta <40173118+Polymeta@users.noreply.github.com>
2024-09-19 16:43:55 +01:00
Polymeta 978e625ba2 fix regenrator ability HP desync
Signed-off-by: Polymeta <40173118+Polymeta@users.noreply.github.com>
2024-09-19 15:35:20 +01:00
JazzMcNade 167e22cb9c Small refactor and fixed some text 2024-09-19 01:40:45 -05:00
JazzMcNade 5fe2ae9af1 Flat level battling rough draft 2024-09-18 20:53:35 -05:00
Polymeta d401009dbb restore some "lost" default pokemon nbt so it can be targeted by selectors
Signed-off-by: Polymeta <40173118+Polymeta@users.noreply.github.com>
2024-09-18 23:53:55 +01:00
Polymeta 0d16619eb8 create BeastBallModel.kt and assign it so the beast ball gets correct throwing animation and small cleanup
Signed-off-by: Polymeta <40173118+Polymeta@users.noreply.github.com>
2024-09-18 23:10:16 +01:00
Polymeta fd8feca60b merge 2 item renderer mixin classes into one and refactor out equality method to use for both dex and pokeball
Signed-off-by: Polymeta <40173118+Polymeta@users.noreply.github.com>
2024-09-18 21:45:54 +01:00
Polymeta d13908a8e7 fix pasture pokemon dropping loot when owner is not "present"
Signed-off-by: Polymeta <40173118+Polymeta@users.noreply.github.com>
2024-09-18 21:45:14 +01:00
Polymeta 1aae6fcc57 PR feedback
Signed-off-by: Polymeta <40173118+Polymeta@users.noreply.github.com>
2024-09-18 21:45:14 +01:00
Polymeta 6331742f93 fix mixin doing instance based comparison into something a little more concrete (resource location) also fixed boat crash
Signed-off-by: Polymeta <40173118+Polymeta@users.noreply.github.com>
2024-09-18 21:45:13 +01:00
Polymeta a21d99c871 make the interaction wheel slightly bigger to prevent overlapping buttons
Signed-off-by: Polymeta <40173118+Polymeta@users.noreply.github.com>
2024-09-18 21:45:13 +01:00
Polymeta c8f230ee8f update multiblock to contain all 3 parts as valid blocks for block entity also fix shoulder mount showing pre-evo and make pokemon smarter on leash
Signed-off-by: Polymeta <40173118+Polymeta@users.noreply.github.com>
2024-09-18 21:45:08 +01:00
Nick 8cf6645cdd Merge branch 'dfu-fun' into 'main'
DataFixers for a bunch of stuff

See merge request cable-mc/cobblemon!1156
2024-09-18 17:36:37 +00:00
ApionandNick 2b4b8fe13a DataFixers for a bunch of stuff 2024-09-18 17:36:37 +00:00
Slippy 3fcfac1cf6 Bug Fixes for ruins and fossil structures 2024-09-16 23:01:40 -05:00
Hiroku c73bfe67bf Merge branch 'no_ai-and-freeze_frame' into 'main'
Added no_ai and freeze_frame props, respect noai=true, added /freezepokemon

See merge request cable-mc/cobblemon!1154
2024-09-16 00:08:10 +00:00
Paul 25bdef0510 Cleanup isNoAi references since it's not needed 2024-09-16 08:16:18 +10:00
Paul d0c9093f41 Added no_ai and freeze_frame props, respect noai=true, added /freezepokemon 2024-09-15 20:12:45 +10:00
Hiroku 98e38836c5 Merge branch 'implement_pokemon' into 'main'
Petilil animation fix

See merge request cable-mc/cobblemon!1140
2024-09-15 09:51:19 +00:00
Frank The FarmerandHiroku b3a3064e1b Petilil animation fix 2024-09-15 09:51:19 +00:00
Paul a8caaf4654 Added changelog for breaking changes, use 'maxHealth' instead of 'hp' with temporary backcompat 2024-09-15 16:31:28 +10:00
Apion 232e0f478a Merge branch 'fix/storage-registry-support' into 'main'
Fixed NBT on pokemon held items not serializing, updated to 1.21.1

See merge request cable-mc/cobblemon!1153
2024-09-15 06:17:18 +00:00
Hiroku c039bf7f20 Merge branch 'another-minor-tag-push' into 'main'
Tag updates

See merge request cable-mc/cobblemon!1151
2024-09-15 03:36:59 +00:00
Paul 88d6c17c90 Fixed NBT on pokemon held items not serializing, updated to 1.21.1 2024-09-15 13:26:33 +10:00
dhi_holo 4e76871046 Tag updates
Forgot to add some blocks to some tags, so now that's fixed :)
2024-09-15 12:30:29 +10:00
Hiroku 598d016172 Merge branch 'feature/turn-off-dex-with-hotbar' into 'main'
ensure that when using hotbar, the scanning gui disappears

Closes #981

See merge request cable-mc/cobblemon!1150
2024-09-15 02:09:41 +00:00
PolymetaandHiroku 0c5baec179 ensure that when using hotbar, the scanning gui disappears 2024-09-15 02:09:41 +00:00
Hiroku 4729d4204c Merge branch 'more-json-fixes' into 'main'
Flash Fire Lang Addition

See merge request cable-mc/cobblemon!1149
2024-09-14 23:44:38 +00:00
dhi_holo 1a07b21b8d Merge branch 'main' into more-json-fixes 2024-09-15 09:17:32 +10:00
Hiroku b10bee6a3e Merge branch 'feature/fix-pipeline' into 'main'
make sure to deploy maven artefacts from main

See merge request cable-mc/cobblemon!1148
2024-09-14 23:01:00 +00:00
PolymetaandHiroku 44889a6c7d make sure to deploy maven artefacts from main 2024-09-14 23:01:00 +00:00
Hiroku 705eeae700 Merge branch 'BattleTargetSelectionRevision' into 'main'
Battle target selection revision / player interaction options consistency

See merge request cable-mc/cobblemon!1144
2024-09-14 22:11:00 +00:00
Hiroku a2122c7b24 Merge branch 'feature/advanced-advancements!' into 'main'
fix interaction advancement json files and ensure resurrection advancement is triggered by machine

Closes #985 and #957

See merge request cable-mc/cobblemon!1147
2024-09-14 22:10:19 +00:00
PolymetaandHiroku 940ed1450d fix interaction advancement json files and ensure resurrection advancement is triggered by machine 2024-09-14 22:10:18 +00:00
Hiroku 265ecd3749 Merge branch 'sound_tracker' into 'main'
Client sound tracking for entities & casting sound preemption

See merge request cable-mc/cobblemon!1119
2024-09-14 22:09:08 +00:00
Polymeta 561ded8747 merge artefacts...
Signed-off-by: Polymeta <40173118+Polymeta@users.noreply.github.com>
2024-09-14 22:27:31 +01:00
Hiroku 4e695cf020 Merge branch 'Corrected-natural-tag' into 'main'
Paul is fired for breaking the spawns!

See merge request cable-mc/cobblemon!1146
2024-09-14 21:06:07 +00:00
Segfault GuyandPolymeta f9288efb31 i forgot to add licenses because i dont care 2024-09-14 22:00:52 +01:00
Segfault GuyandPolymeta f69ffe9d99 Preemptively discarding bobber entity stops cast sound. 2024-09-14 22:00:52 +01:00
Segfault GuyandPolymeta 6ec81e6af2 Implement SoundTracker for active client sounds + fix rod casting sounds. 2024-09-14 22:00:43 +01:00
FrankTheFarmer c6baf6eafb Paul is fired for breaking the spawns! 2024-09-14 21:23:23 +10:00
dhi_holo 31fc59236f Lang addition and failed advancement fix
Issue #985 is relevant to some of the changes
2024-09-14 20:41:28 +10:00
JazzMcNade c4fa18ef41 Merge branch 'main' into BattleTargetSelectionRevision 2024-09-14 01:35:02 -05:00
Hiroku 2d34b7446e Merge branch 'feature/poke-rod-crash' into 'main'
fix pokerods crashing servers when being cast

See merge request cable-mc/cobblemon!1145
2024-09-14 05:52:07 +00:00
Paul eee994831c Merge remote-tracking branch 'origin/main' 2024-09-14 15:09:21 +10:00
Paul 72768ed1ac Changelog cleanup 2024-09-14 15:09:10 +10:00
Hiroku 635279c076 Merge branch 'sculk_sensor' into 'main'
Made PC and Pasture click the Sculk sensor

See merge request cable-mc/cobblemon!1137
2024-09-14 05:08:52 +00:00
Hiroku ad9f758b2f Merge branch 'feature/pokemon-label-name-config' into 'main'
Pokemon label is working again and new config setting

See merge request cable-mc/cobblemon!1142
2024-09-14 05:03:41 +00:00
PolymetaandHiroku 6a804792e3 Pokemon label is working again and new config setting 2024-09-14 05:03:41 +00:00
Hiroku 2104bf28b1 Merge branch 'UI_close_like_minecraft' into 'main'
Ui close like minecraft

See merge request cable-mc/cobblemon!1127
2024-09-14 05:00:34 +00:00
JazzMcNade 2300581493 Merge branch 'main' into BattleTargetSelectionRevision 2024-09-13 20:14:42 -05:00
Paul 7ce6fb065a Merge remote-tracking branch 'origin/main' 2024-09-14 10:27:21 +10:00
Paul dcea385b66 Created a #cobblemon:natural tag so spawns are faster 2024-09-14 10:24:41 +10:00
Polymeta d680e998ce rip out soundinstance from bobber as it was clientOnly and therefore not working properly anyways - also tidy up
Signed-off-by: Polymeta <40173118+Polymeta@users.noreply.github.com>
2024-09-13 17:16:40 +01:00
Hiroku 23ea4c6474 Merge branch 'feature/primary-click-batte-ui' into 'main'
use primary click only when navigating battle UI

Closes #954

See merge request cable-mc/cobblemon!1141
2024-09-13 05:56:04 +00:00
PolymetaandHiroku abf106ce94 use primary click only when navigating battle UI 2024-09-13 05:56:04 +00:00
JazzMcNade 1b3343589f Updated Triples Shift Button 2024-09-13 00:55:23 -05:00
Hiroku 96c6af8d59 Merge branch 'where-are-they' into 'main'
Recipes and Loot Tables

See merge request cable-mc/cobblemon!1143
2024-09-13 05:10:05 +00:00
Hiroku 82bbcfad26 Merge branch 'career-development' into 'main'
Decrease unemployment rate among villagers

See merge request cable-mc/cobblemon!1138
2024-09-13 05:09:18 +00:00
TestandHiroku 70e55626a0 Decrease unemployment rate among villagers 2024-09-13 05:09:17 +00:00
dhi_holo 107665c415 Merge branch 'main' into where-are-they 2024-09-13 12:04:36 +10:00
dhi_holo c8dd002e4a Some Tag Additions
Just a few new standard namespace tag additions for our items, and fixed an error with the poke rods tag
2024-09-13 12:04:20 +10:00
Paul fd2d06458b Merge remote-tracking branch 'origin/main' 2024-09-13 11:26:58 +10:00
Paul 29cb1276eb Clear calculated values on the client when data changes in pokedex 2024-09-13 11:26:40 +10:00
dhi_holo 0e0f6cee27 Merge branch 'main' into where-are-they 2024-09-13 10:21:12 +10:00
Apion 9c3a0704b9 Merge branch 'feature/bug-squashing' into 'main'
various smaller bugfixes

Closes #969, #970, #971, #972, and #967

See merge request cable-mc/cobblemon!1135
2024-09-12 23:28:49 +00:00
PolymetaandApion e9db3fc70c various smaller bugfixes 2024-09-12 23:28:49 +00:00
Slippy a41c3cb805 Updated village loot table 2024-09-12 13:46:51 -05:00
Slippy dd9fc85100 Updated structure files of village pokecenters 2024-09-12 03:42:24 -05:00
Slippy 00483ef54c Adjusted Decorated Pot Loot Table 2024-09-12 01:59:21 -05:00
dhi_holo 03210f0465 More Loot Table Fixes
Apricorn Leaves cleaned up, Medicinal Leek cleaned up, Tumblestone Clusters, Buddling Tumblestones, and basic Tumblestone Block fixed to behave properly.
2024-09-12 16:39:33 +10:00
JazzMcNade 26dc76a4f3 Fixed inconsistent ordering of options in PlayerInteractOptionsPacket 2024-09-12 01:35:26 -05:00
dhi_holo ae5e63aac9 Gilded Chest Update
Updated Gilded Chest's loot tables to use updated component data formatting, however this didn't fix them not dropping. Will need further investigation.
2024-09-12 15:53:12 +10:00
dhi_holo 08c8dd0f99 Added Missing Recipes
with tags and advancements related to the missing recipes too.
2024-09-12 14:18:51 +10:00
JazzMcNade 2044862edd Implemented tile based target selection, removed battle portrait target selection 2024-09-11 20:18:51 -05:00
apion 148b3c4271 Fixes #977 (Sherds not rendering) 2024-09-11 20:37:38 -04:00
Slippy 870cd0ec52 Updated structure files in taiga village and snowy village 2024-09-11 12:41:59 -05:00
Hiroku ef58d38c12 Merge branch 'loot-oh' into 'main'
Loot Table Fixes

See merge request cable-mc/cobblemon!1139
2024-09-11 10:10:14 +00:00
dhi_holo 7250b1a83c Loot Table Fixes
Ores now drop stuff correctly again, and Relic Coin Sacks (due to having an unused Natural blockstate) now can drop 20-64 relic coins when broken with the Natural blockstate set to true
2024-09-11 17:22:09 +10:00
Erusel 710b3f0303 Even better, centralised function 2024-09-11 02:32:01 +02:00
Erusel 57cf6f09fd Thanks to Hiroku's advice, it's more graceful. 2024-09-11 02:06:12 +02:00
Hiroku ec6820fa9d Merge branch 'holographic-cleanups' into 'main'
Holographic Cleanups

Closes #964

See merge request cable-mc/cobblemon!1136
2024-09-10 20:38:37 +00:00
Slippy bf4b211c4f removed "adapt noise" field. removed forest gate template pool. removed "start_height" field from structure sets. removed birch tree structures from oak tree template pool. 2024-09-10 06:25:07 -05:00
Slippy 3a2accb239 Ruin structures have been given loot tables for decorated pots 2024-09-10 02:46:00 -05:00
dhi_holo 6508d39e22 Merge branch 'main' into holographic-cleanups 2024-09-10 11:35:29 +10:00
Hiroku d0c7862103 Merge branch 'party-control-tweaks' into 'main'
Tweaks and fixes of sendout and other R key functions

See merge request cable-mc/cobblemon!1113
2024-09-09 02:47:52 +00:00
Paul f12962fd24 Changelog cleanup 2024-09-09 12:38:23 +10:00
Paul 9c7db81e22 Merge remote-tracking branch 'origin/main' into party-control-tweaks 2024-09-09 12:18:28 +10:00
Hiroku 6be1caf41a Merge branch 'sound' into 'main'
Fixed sound stuff lost in merges

See merge request cable-mc/cobblemon!1133
2024-09-09 02:17:55 +00:00
Hiroku d582507a6e Merge branch 'implement_pokemon' into 'main'
Some rather important animation fixes

See merge request cable-mc/cobblemon!1134
2024-09-09 02:17:13 +00:00
Frank The FarmerandHiroku 302c0e6fe7 Some rather important animation fixes 2024-09-09 02:17:13 +00:00
Erusel 97761ba1e3 Made PC and Pasture click the Sculk sensor 2024-09-09 00:10:04 +02:00
Slippy a75b578954 Updated Ruin Structure template_pool files to contain the new "override_liquid_settings" field. 2024-09-07 23:43:24 -05:00
dhi_holo 44ade828fa Update en_us.json
Updated Smithing Templates to the 1.21.2 style (because it's so much more usable, and means less updating work later)
Improved names of Gone Fishin' and A True Antiquarian advancements
2024-09-08 11:05:45 +10:00
dhi_holo 4c1a5f12b7 Merge branch 'main' into holographic-cleanups 2024-09-08 10:51:06 +10:00
Hiroku bbe7f96332 Merge branch 'BallBuffs' into 'main'
Ball buffs

See merge request cable-mc/cobblemon!1131
2024-09-08 00:37:11 +00:00
Hiroku a29a7ebbca Merge branch 'feature/resolve-some-todos' into 'main'
now that pokedex is present, resolve some todos that required on it, also use OTs for exp calc

Closes #966

See merge request cable-mc/cobblemon!1132
2024-09-08 00:18:10 +00:00
PolymetaandHiroku f4a7cc92ee now that pokedex is present, resolve some todos that required on it, also use OTs for exp calc 2024-09-08 00:18:10 +00:00
Sterrezo 9768711c5e Evolution sound is working now! 2024-09-08 01:56:54 +02:00
Sterrezo 4b3a864b28 Nothing is working
I fixed some missing sounds that were lost in merges. Added a placeholder animation to Hisui bias Petilil. Removed an empty sound event.
2024-09-08 01:19:06 +02:00
Slippy 60f057d28e Fossil Template Pools updated to contain "apply_waterlogging" field 2024-09-07 18:11:54 -05:00
Slippy 3c4219b069 update village template_pools to include 1.21 "override_liquid_settings" field 2024-09-07 17:12:11 -05:00
JazzMcNade 0db6da951e Updated tooltip strings for dusk ball. 2024-09-07 16:44:54 -05:00
JazzMcNade 3963537e40 Buffed Dusk Ball and Repeat Ball catch rate 2024-09-07 16:38:57 -05:00
Licious dd5e578d3a Merge branch 'ImplementRepeatBall' into 'main'
Implemented Repeat Ball's catch modifier

See merge request cable-mc/cobblemon!1130
2024-09-07 20:13:37 +00:00
JazzMcNade 4dab4b7ef6 Implemented Repeat Ball's catch modifier 2024-09-07 14:44:20 -05:00
Hiroku c19444816a Merge branch 'log-async' into 'main'
More safely check thread for spawners and influencers access and fix internal illegal access

See merge request cable-mc/cobblemon!1123
2024-09-07 10:11:27 +00:00
Paul 0610a997e2 Merge remote-tracking branch 'origin/main' into log-async
# Conflicts:
#	common/src/main/kotlin/com/cobblemon/mod/common/api/storage/player/factory/JsonPlayerDataStoreFactory.kt
2024-09-07 19:37:38 +10:00
Hiroku 10faab68f9 Merge branch 'DoublesAreTheFuture' into 'main'
Added Doubles/Triples/Multibattles

See merge request cable-mc/cobblemon!1091
2024-09-07 09:36:59 +00:00
Paul 42c91c667b Licenses AGAIN RAAAAA 2024-09-07 19:25:09 +10:00
Paul bde9ddd017 TODO clearing 2024-09-07 19:14:49 +10:00
Paul c19a92406e Resolving merge issues 2024-09-07 19:05:50 +10:00
dhi_holo 93389ae98b Merge branch 'main' into holographic-cleanups 2024-09-07 18:14:41 +10:00
dhi_holo cb1dba64c0 missed a bit
one day I'll do this properly from stage 0

This is funnier though
2024-09-07 18:14:05 +10:00
Slippy 2d01e7a482 Village Pokecenters 2024-09-07 02:12:20 -05:00
dhi_holo 88f285199c added a thing for the rod recipe advancements
just makes it less spammy
2024-09-07 17:10:40 +10:00
dhi_holo e17bd10660 Automaton Fixes
Fixed Automaton Armour Trim being called that (instead of Armor because it's en_us), and missing the item name entirely
2024-09-07 17:00:06 +10:00
Hiroku c2ac903180 Merge branch 'mod-compat' into 'main'
Re add JEI compat

See merge request cable-mc/cobblemon!1129
2024-09-07 06:47:59 +00:00
dhi_holo 84feb449d9 Rodvancements
+Added Recipe Advancements for all of the Poké Rod Smithing Template stuff
+Unhid the Candy advancement, as there's now enough ways to get them that it doesn't need to be hidden
-Removed the Poké Rod Smithing Template from the Archaeology tab, as it's unfitting and is located in another tab where it does fit as well.
2024-09-07 16:44:06 +10:00
apion c475e51a1c Re add JEI compat 2024-09-07 02:16:02 -04:00
dhi_holo 682abbdd43 Green Dye Switch
For the sake of sanity
2024-09-07 16:11:23 +10:00
dhi_holo f8e68d2217 Updated Protector Recipe
Now cleaner and cooler
2024-09-07 14:51:31 +10:00
dhi_holo e8ddabe3ac Merge branch 'main' into holographic-cleanups 2024-09-07 14:33:35 +10:00
dhi_holo 32dd49b669 Update display_case.json
Fixes z-fighting, resolving #964
2024-09-07 14:30:54 +10:00
Paul b9d3966cfe Merge remote-tracking branch 'origin/main' into DoublesAreTheFuture
# Conflicts:
#	common/src/main/kotlin/com/cobblemon/mod/common/Cobblemon.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/api/events/CobblemonEvents.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/api/gui/GuiUtils.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/battles/interpreter/instructions/SwitchInstruction.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/client/CobblemonClient.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/client/battle/ClientBattle.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/client/gui/PokemonGuiUtils.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/client/gui/battle/BattleOverlay.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/client/gui/battle/subscreen/BattleSwitchPokemonSelection.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/client/render/RenderHelper.kt
#	common/src/main/resources/assets/cobblemon/lang/en_us.json
#	common/src/main/resources/assets/cobblemon/sounds.json
#	common/src/main/resources/assets/cobblemon/sounds/item/pokedex/pokedex_show.ogg
2024-09-07 14:26:07 +10:00
Paul 682325af59 Merge remote-tracking branch 'origin/main' into evolution-effect 2024-09-07 14:03:45 +10:00
Paul d145969631 Removed unneeded glowTime code 2024-09-07 14:03:23 +10:00
Hiroku 432ccf17c0 Merge branch 'evolution-effect' into 'main'
Evolution effect

See merge request cable-mc/cobblemon!970
2024-09-07 04:03:14 +00:00
Paul c6452d1905 I will teach the license file the true meaning of pain (bread) 2024-09-07 13:54:16 +10:00
Paul f72f422ef0 Conflict fixes and fixes to recent animation function changes 2024-09-07 13:43:56 +10:00
dhi_holo d10ba586c8 To Undo Later
Just making it so the game doesn't have errors from the bug with the species not loading before the advancements, will undo this change once we can
(also corrected an error I put in the lang)
2024-09-07 13:09:25 +10:00
Paul 39fc384b67 Merge remote-tracking branch 'origin/main' into evolution-effect
# Conflicts:
#	common/src/main/kotlin/com/cobblemon/mod/common/api/pokemon/evolution/Evolution.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/api/snowstorm/ParticleEvent.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/client/render/models/blockbench/PoseableEntityModel.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/client/render/models/blockbench/PoseableEntityState.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/client/render/models/blockbench/animation/PoseTransitionAnimation.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/client/render/models/blockbench/animation/PrimaryAnimation.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/client/render/models/blockbench/animation/StatefulAnimation.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/client/render/models/blockbench/bedrock/animation/BedrockActiveAnimation.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/client/render/pokemon/PokemonRenderer.kt
2024-09-07 13:09:21 +10:00
Paul 477318b124 Imports 2024-09-07 12:53:10 +10:00
Paul 367d79a976 Merge remote-tracking branch 'origin/main' into poker-decks 2024-09-07 12:52:01 +10:00
Hiroku eb36320396 Merge branch 'sega_bass_pro_fishing_2' into 'main'
Make it possible to add new animation molang functions.

See merge request cable-mc/cobblemon!1115
2024-09-07 02:45:21 +00:00
dhi_holo 6409b75aef Merge branch 'main' into holographic-cleanups 2024-09-07 12:34:15 +10:00
Hiroku 98e4f6facc Merge branch 'stone-blocks' into 'main'
Blocks! More Blocks! Stones, even!

Closes #930

See merge request cable-mc/cobblemon!1120
2024-09-07 02:16:31 +00:00
Hiroku 5ea8bbd08e Merge branch 'TheSketchySmeargle' into 'main'
Sketch and Forget

See merge request cable-mc/cobblemon!1093
2024-09-07 01:55:18 +00:00
Paul e7efb94ee9 Merge remote-tracking branch 'origin/main' into poker-decks 2024-09-07 10:51:04 +10:00
Hiroku c3230f0722 Update CHANGELOG.md 2024-09-07 00:49:52 +00:00
Paul 0fd6328ae4 Fixed compile error from mappings switch 2024-09-07 10:43:43 +10:00
Hiroku 43a05e5037 Merge branch 'feature/neoforge-bump-fixes' into 'main'
bump neoforge to stable version and fix breaking changes (and add missing license headers)

Closes #961 and #960

See merge request cable-mc/cobblemon!1128
2024-09-07 00:38:35 +00:00
PolymetaandHiroku c2b5eca4c7 bump neoforge to stable version and fix breaking changes (and add missing license headers) 2024-09-07 00:38:35 +00:00
Hiroku e9c88ae899 Merge branch 'feature/poker-chips' into 'poker-decks'
variation tooltip to display when buttons are hovered

See merge request cable-mc/cobblemon!1125
2024-09-07 00:38:01 +00:00
PolymetaandHiroku fece798b92 variation tooltip to display when buttons are hovered 2024-09-07 00:38:01 +00:00
Myslippy 564b5ae413 Update StructurePoolGeneratorMixin.java 2024-09-06 20:51:40 +00:00
Myslippy a8c93146da Update StructurePoolGeneratorMixin 2024-09-06 20:08:37 +00:00
Licious a0c3e40cc4 Merge branch 'fix_moves_description' into 'main'
Fix moves descriptions cutting off

See merge request cable-mc/cobblemon!1126
2024-09-06 13:10:23 +00:00
EruselandLicious 1da011026e Fix moves descriptions cutting off 2024-09-06 13:10:23 +00:00
Erusel 4ab4f27690 fixed trade gui not closing 2024-09-06 14:39:50 +02:00
Erusel 5aaf3aaa8a fixed doomed key pressed method not being called and screens not closing 2024-09-06 14:38:18 +02:00
BuildTools 73ba27a148 fixed imports 2024-09-06 13:55:44 +02:00
BuildTools 7493ac80c4 changing thing for making it closing at the inventory key and not "e" 2024-09-06 13:55:05 +02:00
BuildTools 5d4c4a2d9d added minecraft like closing on PC 2024-09-06 13:24:03 +02:00
BuildTools dad87454cf added minecraft like closing on Pokenav 2024-09-06 13:23:18 +02:00
BuildTools fbcbdd0d1f added minecraft like closing on Starter Selection 2024-09-06 13:21:16 +02:00
BuildTools 37ac4837b2 added minecraft like closing on Trade GUI 2024-09-06 13:20:21 +02:00
BuildTools 8cae97b297 added minecraft like closing on Summary 2024-09-06 13:17:49 +02:00
JazzMcNade 3981ccc332 Player Interactions: Server now informs the client on why an option is unavailable. 2024-09-06 01:31:48 -05:00
Lily e5c2daac2e added cosmetic variants for several pokemon in the pokedex 2024-09-04 21:28:57 -04:00
Lily cccd3aa310 fixed searching 2024-09-04 17:56:44 -04:00
Lily b8dc811a4f fixed missing drop button 2024-09-04 12:51:48 -04:00
Lily 2e8529cc62 oops 2024-09-04 12:34:43 -04:00
Lily 5f8a49e008 re-ordered paldean dex; fixed johto dex missing from the national category 2024-09-04 12:28:59 -04:00
JazzMcNade a945c839f0 Greyed out trade request option if it's unavailable 2024-09-03 23:51:22 -05:00
Test 607413db61 Merge branch 'fix_pc_arrow_hover' into 'main'
Fix NavigationButton hover

See merge request cable-mc/cobblemon!1124
2024-09-04 04:07:32 +00:00
EruselandTest d478eecf47 Fix NavigationButton hover 2024-09-04 04:07:31 +00:00
SPGesus dd624d06f3 Update galar.json 2024-09-04 01:26:13 +00:00
SPGesus bc596a48ed Update alola.json 2024-09-03 22:59:34 +00:00
dhi_holo 25ad6e96f4 Not Yet Fixed Because Grr
The component data for these is pretty much solved, except for one major issue:
It totally stops the advancements loading in game for some reason. Doesn't like the species ID effectively. If anyone wants to take a crack at it between now and whenever it's solved, plz
2024-09-03 16:26:37 +10:00
dhi_holo 8efd658a93 Fix Batch 1
Added translation strings for the two new gamerules and 6 new tags (even if one of them isn't actually in this branch)
Fixed two advancements having incorrect icons (due to switch from nbt to item components)
2024-09-02 18:22:07 +10:00
dhi_holo c565a79697 Change Instrument
Evolution Blocks now use the Bit instrument (from Emerald Blocks) instead of Basedrum (from stone)
2024-09-02 16:30:13 +10:00
dhi_holo 81f82faa2d Updated to 1.21
Updated to Main/1.21
2024-09-02 16:20:28 +10:00
dhi_holo 978e886b6e Merge branch 'main' into stone-blocks 2024-09-02 15:35:58 +10:00
Paul 6d7784cb3a Added dex additions and dex entry additions 2024-09-02 15:11:03 +10:00
JazzMcNade 63de39b970 Merged Main into DoublesAreTheFuture 2024-09-01 19:18:50 -05:00
JazzMcNade 05a8154d2e Merge Conflicts 2024-09-01 18:32:30 -05:00
JazzMcNade 134b071a1d Merge branch 'main' into TheSketchySmeargle 2024-09-01 18:32:08 -05:00
Paul 5f4366735f Merge remote-tracking branch 'origin/poker-decks' into poker-decks 2024-09-01 22:00:00 +10:00
apion 7fd0f2710e Fixed pokedex grant all command 2024-09-01 07:09:55 -04:00
Paul 7a4760e1bc Merge remote-tracking branch 'origin/main' into poker-decks
# Conflicts:
#	common/src/main/kotlin/com/cobblemon/mod/common/api/events/CobblemonEvents.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/api/gui/GuiUtils.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/client/gui/PokemonGuiUtils.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/client/render/models/blockbench/pokemon/gen1/AerodactylModel.kt
#	common/src/main/resources/assets/cobblemon/sounds.json
2024-09-01 20:24:24 +10:00
apion 6574976f2d Pokedex scrolls to correct mon when opened via scanner 2024-09-01 06:18:34 -04:00
apion 6126653a2c Fix neoforge scanner rendering 2024-09-01 05:38:32 -04:00
Paul f45bc68ee6 Changelog! Again! Check again tomorrow for more (also mojmaps) 2024-09-01 19:33:07 +10:00
Paul 1c71e68323 Merge remote-tracking branch 'origin/main' into log-async 2024-09-01 19:29:56 +10:00
Paul 2d9523b9a1 Deleted unused posers 2024-09-01 19:27:00 +10:00
Paul 5ed9fba170 Changelog squashing for 1.6 2024-09-01 19:25:40 +10:00
Hiroku 22583bd207 Merge branch 'sega_bass_pro_fishing_2' into 'main'
1.6 Merge

Closes #916

See merge request cable-mc/cobblemon!1107
2024-09-01 07:53:43 +00:00
Paul 32d68ce554 Conflicto begonus 2024-09-01 17:10:26 +10:00
Paul 72a897063c Merge remote-tracking branch 'origin/main' into sega_bass_pro_fishing_2
# Conflicts:
#	common/src/main/java/com/cobblemon/mod/common/mixin/PlayerMixin.java
#	common/src/main/kotlin/com/cobblemon/mod/common/CobblemonSounds.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/api/item/PokemonSelectingItem.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/api/pokemon/evolution/Evolution.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/battles/interpreter/instructions/SwitchInstruction.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/block/HealingMachineBlock.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/block/PCBlock.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/client/net/battle/BattleMusicHandler.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/client/net/battle/BattleSwitchPokemonHandler.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/client/sound/battle/BattleMusicInstance.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/item/battle/BagItemConvertible.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/item/interactive/ReviveItem.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/pokemon/evolution/controller/ServerEvolutionController.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/world/gamerules/CobblemonGameRules.kt
#	common/src/main/resources/data/cobblemon/loot_table/ruins/common/luna_henge_ruins.json
#	common/src/main/resources/data/cobblemon/loot_table/ruins/common/sol_henge_ruins.json
#	common/src/main/resources/data/cobblemon/loot_table/ruins/common/stonjourner_henge_ruins.json
#	common/src/main/resources/data/cobblemon/loot_table/ruins/uncommon/luna_henge_ruins.json
#	common/src/main/resources/data/cobblemon/loot_table/ruins/uncommon/sol_henge_ruins.json
#	common/src/main/resources/data/cobblemon/loot_table/ruins/uncommon/stonjourner_henge_ruins.json
#	common/src/main/resources/data/cobblemon/structure/ruins/lunatone_center1a.nbt
#	common/src/main/resources/data/cobblemon/structure/ruins/lunatone_center1b.nbt
#	common/src/main/resources/data/cobblemon/structure/ruins/lunatone_center1c.nbt
#	common/src/main/resources/data/cobblemon/structure/ruins/lunatone_side1a.nbt
#	common/src/main/resources/data/cobblemon/structure/ruins/lunatone_side1b.nbt
#	common/src/main/resources/data/cobblemon/structure/ruins/lunatone_side1c.nbt
#	common/src/main/resources/data/cobblemon/structure/ruins/lunatone_side2a.nbt
#	common/src/main/resources/data/cobblemon/structure/ruins/lunatone_side2b.nbt
#	common/src/main/resources/data/cobblemon/structure/ruins/lunatone_side2c.nbt
#	common/src/main/resources/data/cobblemon/structure/ruins/lunatone_side3a.nbt
#	common/src/main/resources/data/cobblemon/structure/ruins/lunatone_side3b.nbt
#	common/src/main/resources/data/cobblemon/structure/ruins/lunatone_side3c.nbt
#	common/src/main/resources/data/cobblemon/structure/ruins/lunatone_side4a.nbt
#	common/src/main/resources/data/cobblemon/structure/ruins/lunatone_side4b.nbt
#	common/src/main/resources/data/cobblemon/structure/ruins/lunatone_side4c.nbt
#	common/src/main/resources/data/cobblemon/structure/ruins/solrock_center1a.nbt
#	common/src/main/resources/data/cobblemon/structure/ruins/solrock_center1b.nbt
#	common/src/main/resources/data/cobblemon/structure/ruins/solrock_center1c.nbt
#	common/src/main/resources/data/cobblemon/structure/ruins/solrock_side1a.nbt
#	common/src/main/resources/data/cobblemon/structure/ruins/solrock_side1b.nbt
#	common/src/main/resources/data/cobblemon/structure/ruins/solrock_side1c.nbt
#	common/src/main/resources/data/cobblemon/structure/ruins/solrock_side2a.nbt
#	common/src/main/resources/data/cobblemon/structure/ruins/solrock_side2b.nbt
#	common/src/main/resources/data/cobblemon/structure/ruins/solrock_side2c.nbt
#	common/src/main/resources/data/cobblemon/structure/ruins/solrock_side3a.nbt
#	common/src/main/resources/data/cobblemon/structure/ruins/solrock_side3b.nbt
#	common/src/main/resources/data/cobblemon/structure/ruins/solrock_side3c.nbt
#	common/src/main/resources/data/cobblemon/structure/ruins/solrock_side4a.nbt
#	common/src/main/resources/data/cobblemon/structure/ruins/solrock_side4b.nbt
#	common/src/main/resources/data/cobblemon/structure/ruins/solrock_side4c.nbt
#	common/src/main/resources/data/cobblemon/structure/ruins/stonjourner_center1a.nbt
#	common/src/main/resources/data/cobblemon/structure/ruins/stonjourner_center1b.nbt
#	common/src/main/resources/data/cobblemon/structure/ruins/stonjourner_center1c.nbt
#	common/src/main/resources/data/cobblemon/structure/ruins/stonjourner_corner10a.nbt
#	common/src/main/resources/data/cobblemon/structure/ruins/stonjourner_corner10b.nbt
#	common/src/main/resources/data/cobblemon/structure/ruins/stonjourner_corner10c.nbt
#	common/src/main/resources/data/cobblemon/structure/ruins/stonjourner_corner11a.nbt
#	common/src/main/resources/data/cobblemon/structure/ruins/stonjourner_corner11b.nbt
#	common/src/main/resources/data/cobblemon/structure/ruins/stonjourner_corner11c.nbt
#	common/src/main/resources/data/cobblemon/structure/ruins/stonjourner_corner12a.nbt
#	common/src/main/resources/data/cobblemon/structure/ruins/stonjourner_corner12b.nbt
#	common/src/main/resources/data/cobblemon/structure/ruins/stonjourner_corner12c.nbt
#	common/src/main/resources/data/cobblemon/structure/ruins/stonjourner_corner1a.nbt
#	common/src/main/resources/data/cobblemon/structure/ruins/stonjourner_corner1b.nbt
#	common/src/main/resources/data/cobblemon/structure/ruins/stonjourner_corner1c.nbt
#	common/src/main/resources/data/cobblemon/structure/ruins/stonjourner_corner2a.nbt
#	common/src/main/resources/data/cobblemon/structure/ruins/stonjourner_corner2b.nbt
#	common/src/main/resources/data/cobblemon/structure/ruins/stonjourner_corner2c.nbt
#	common/src/main/resources/data/cobblemon/structure/ruins/stonjourner_corner3a.nbt
#	common/src/main/resources/data/cobblemon/structure/ruins/stonjourner_corner3b.nbt
#	common/src/main/resources/data/cobblemon/structure/ruins/stonjourner_corner3c.nbt
#	common/src/main/resources/data/cobblemon/structure/ruins/stonjourner_corner4a.nbt
#	common/src/main/resources/data/cobblemon/structure/ruins/stonjourner_corner4b.nbt
#	common/src/main/resources/data/cobblemon/structure/ruins/stonjourner_corner4c.nbt
#	common/src/main/resources/data/cobblemon/structure/ruins/stonjourner_corner5a.nbt
#	common/src/main/resources/data/cobblemon/structure/ruins/stonjourner_corner5b.nbt
#	common/src/main/resources/data/cobblemon/structure/ruins/stonjourner_corner5c.nbt
#	common/src/main/resources/data/cobblemon/structure/ruins/stonjourner_corner6a.nbt
#	common/src/main/resources/data/cobblemon/structure/ruins/stonjourner_corner6b.nbt
#	common/src/main/resources/data/cobblemon/structure/ruins/stonjourner_corner6c.nbt
#	common/src/main/resources/data/cobblemon/structure/ruins/stonjourner_corner7a.nbt
#	common/src/main/resources/data/cobblemon/structure/ruins/stonjourner_corner7b.nbt
#	common/src/main/resources/data/cobblemon/structure/ruins/stonjourner_corner7c.nbt
#	common/src/main/resources/data/cobblemon/structure/ruins/stonjourner_corner8a.nbt
#	common/src/main/resources/data/cobblemon/structure/ruins/stonjourner_corner8b.nbt
#	common/src/main/resources/data/cobblemon/structure/ruins/stonjourner_corner8c.nbt
#	common/src/main/resources/data/cobblemon/structure/ruins/stonjourner_corner9a.nbt
#	common/src/main/resources/data/cobblemon/structure/ruins/stonjourner_corner9b.nbt
#	common/src/main/resources/data/cobblemon/structure/ruins/stonjourner_corner9c.nbt
#	common/src/main/resources/data/cobblemon/structure/ruins/stonjourner_side1a.nbt
#	common/src/main/resources/data/cobblemon/structure/ruins/stonjourner_side1b.nbt
#	common/src/main/resources/data/cobblemon/structure/ruins/stonjourner_side1c.nbt
#	common/src/main/resources/data/cobblemon/structure/ruins/stonjourner_side2a.nbt
#	common/src/main/resources/data/cobblemon/structure/ruins/stonjourner_side2b.nbt
#	common/src/main/resources/data/cobblemon/structure/ruins/stonjourner_side2c.nbt
#	common/src/main/resources/data/cobblemon/structure/ruins/stonjourner_side3a.nbt
#	common/src/main/resources/data/cobblemon/structure/ruins/stonjourner_side3b.nbt
#	common/src/main/resources/data/cobblemon/structure/ruins/stonjourner_side3c.nbt
#	common/src/main/resources/data/cobblemon/structure/ruins/stonjourner_side4a.nbt
#	common/src/main/resources/data/cobblemon/structure/ruins/stonjourner_side4b.nbt
#	common/src/main/resources/data/cobblemon/structure/ruins/stonjourner_side4c.nbt
2024-09-01 16:32:14 +10:00
Paul a471a0183f Fixed form unlocking not working properly and gender ratios misbehaving in dex 2024-09-01 16:25:37 +10:00
Hiroku 11cfb7184d Merge branch 'sound' into 'main'
Sound updates

See merge request cable-mc/cobblemon!1121
2024-09-01 06:15:36 +00:00
Hiroku e2645e02d1 Merge branch 'poker-table' into 'poker-decks'
Table for poker decks

See merge request cable-mc/cobblemon!1122
2024-09-01 04:50:21 +00:00
TestandHiroku 33ff9e90b6 Table for poker decks 2024-09-01 04:50:21 +00:00
Test e75e2801ce fix slot spacing 2024-08-31 23:53:53 -04:00
Tyzillion 7f77abd9a2 License update and changelog update. 2024-08-31 23:13:46 -04:00
Paul 592e6ce5a8 Properly setup dex data with ordering 2024-09-01 11:47:52 +10:00
JazzMcNade f653d325bb Battle wheel option is now greyed out if the target is unable to battle. 2024-08-31 19:11:40 -05:00
Paul 859ca62dc8 Fixed flashing dex screen and seen pokemon not showing properly 2024-08-31 12:25:05 +10:00
Paul 148f4be444 Dex sort order 2024-08-31 11:07:45 +10:00
Paul 4bf6ec80b4 re-enabled dex scanning but it blows up the game 2024-08-30 22:12:50 +10:00
Paul d9a0998213 Added variation controls to dex, fixed various bugs with dex 2024-08-30 22:00:14 +10:00
JazzMcNade eeec0e853b Fixed request button text. Updated team leave icon. 2024-08-30 00:34:42 -05:00
Tyzillion 925b18d809 Merge branch 'main' of https://gitlab.com/cable-mc/cobblemon into evolution-effect 2024-08-28 20:37:39 -04:00
Paul 9c817f77dc Dex initialization fixes, display correct first-known-forms in national dex, fixed species features not saving 2024-08-26 21:36:12 +10:00
Paul b044fe01bb Form dex squashing, Alola dex with separated Rattata as example, various fixes for UI knowledge 2024-08-26 17:03:09 +10:00
Paul d46c88dcf3 Significant restructuring of pokedex entry data 2024-08-26 12:26:20 +10:00
JazzMcNade 03231beab7 Sketch's new move is now immediately applied to effectedpokemon, rather than during postbattle. 2024-08-25 19:44:43 -05:00
amo b4919d18d1 🌠 Fix: Fix friendship only ever being updated clientside & chance inverted check 2024-08-25 14:05:26 +01:00
amo d9e8283743 🌠 Chore: Remove strict inequality from bobber rendering check 2024-08-25 12:59:15 +01:00
apion 3d84063f9a Fix licenses, delete unnecessary files 2024-08-25 02:17:18 -04:00
apion 73237073c2 Lang fixes 2024-08-25 02:09:47 -04:00
apion 05b04cfa67 Added swapping between dexes 2024-08-25 02:09:00 -04:00
apion 4187c04374 Added Johto pokemon, and allowed for aggregation of separately defined dexes 2024-08-25 01:48:05 -04:00
apion d5fca78ba0 Merge remote-tracking branch 'origin/poker-decks-key-value' into poker-decks-key-value
# Conflicts:
#	common/src/main/kotlin/com/cobblemon/mod/common/client/gui/pokedex/PokedexGUI.kt
2024-08-24 23:25:28 -04:00
apion 8411cd44f9 Added a codec backed GSON adapter, added a codec for ExpressionLikes, setup infrastructure for different types of dexes 2024-08-24 23:24:54 -04:00
Paul e1dc9b1b1b Merge relics 2024-08-25 11:40:41 +10:00
Paul 595a079625 Merge remote-tracking branch 'origin/poker-decks' into poker-decks-key-value
# Conflicts:
#	common/src/main/kotlin/com/cobblemon/mod/common/api/pokedex/PokedexJSONRegistry.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/api/pokedex/PokedexRecord.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/api/pokedex/SpeciesPokedexEntry.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/client/gui/pokedex/PokedexGUI.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/pokedex/DexData.kt
#	common/src/main/resources/data/cobblemon/pokedexes/national.json
#	common/src/main/resources/data/cobblemon/pokedexes/national_alola.json
#	common/src/main/resources/data/cobblemon/pokedexes/national_galar.json
#	common/src/main/resources/data/cobblemon/pokedexes/national_hisui.json
#	common/src/main/resources/data/cobblemon/pokedexes/national_hoenn.json
#	common/src/main/resources/data/cobblemon/pokedexes/national_johto.json
#	common/src/main/resources/data/cobblemon/pokedexes/national_kalos.json
#	common/src/main/resources/data/cobblemon/pokedexes/national_kanto.json
#	common/src/main/resources/data/cobblemon/pokedexes/national_paldea.json
#	common/src/main/resources/data/cobblemon/pokedexes/national_sinnoh.json
#	common/src/main/resources/data/cobblemon/pokedexes/national_unknown.json
#	common/src/main/resources/data/cobblemon/pokedexes/national_unova.json
2024-08-25 11:11:14 +10:00
apion cf5bd4dca6 Fix conditions (again) 2024-08-24 16:59:42 -04:00
apion a0d9322e55 Fix conditions 2024-08-24 16:52:23 -04:00
apion 304f6c83ee Fix compile errors and encode/decode issues 2024-08-24 16:20:22 -04:00
Paul 8d4a7de267 Calculated pokedex data, some clean up of unused stuff, need to fix up dex client 2024-08-24 22:36:57 +10:00
apion 3b302d6777 Add referential integrity 2024-08-23 23:14:40 -04:00
Paul 59a92391cd Merge remote-tracking branch 'origin/poker-decks-key-value' into poker-decks-key-value 2024-08-23 22:27:55 +10:00
Paul d18a3e43e4 Reworking dex data to be declarative 2024-08-23 22:27:36 +10:00
apion c9baf9332b Add forms 2024-08-22 18:27:44 -04:00
apion ccf3d8eefe Add the 151 OG pokemon as dex entries 2024-08-22 17:24:24 -04:00
Sterrezo 9ac8ca3a7b Final tweaks to the new evolution sound 2024-08-22 14:08:58 +02:00
apion 0698f8265b Fixed numbering 2024-08-21 22:39:41 -04:00
apion a10622151c Renamed stuff to be pokedex specific 2024-08-21 21:15:21 -04:00
apion f69ed78582 Cleaned up event subscriptions a bit, hooked into player party store instead of trying to track pokedex events everywhere. 2024-08-21 19:43:12 -04:00
apion c52ad67435 Fix pokemon rendering when not supposed to 2024-08-21 19:06:01 -04:00
dhi_holo a79428cfb6 Update CobblemonBlocks.kt
Made Ice Block use the Ice colour on maps (why are the map colour names so annoying)
2024-08-21 17:17:17 +10:00
dhi_holo a0672f6354 Data and Textures
all the data files for the smooth tumblestone block suites, and the textures updated since past commit
2024-08-21 16:40:49 +10:00
dhi_holo 72000a1340 More Tumblestone Blocks WIP
Needing to take a break, so untested WIP push just so it's saved. Adds all 9 smooth blocks, and updates older textures. Should be fully functional on the asset side as of this commit, data side will be done later.
2024-08-21 14:57:16 +10:00
Sterrezo 9d25da31dc Fixed block sounds playing at an incorrect pitch
Increased the pitch in CobblemonSounds.kt, workaround for #929
Tweaked volumes again.
2024-08-20 13:10:58 +02:00
Sterrezo 96778d2de0 Implemented sounds for evolution stone blocks 2024-08-20 11:58:19 +02:00
dhi_holo c646f7555e Blocks In
All 10 blocks implemented in near full.
Block data, models, loot tables, recipes, advancements, item groups, lang. Only missing the textures for 6 of the blocks, the sounds (needs changing in Blocks as well as implementation), and confirmation for one texture.

Ice Stone texture also updated
2024-08-20 12:30:07 +10:00
Test c5600ff881 rolling scan lines 2024-08-18 23:17:08 -04:00
apion a39b3092be Actually added a pokemon with an alternate form (rattata) 2024-08-18 17:21:04 -04:00
apion 8c5a24c431 More progress 2024-08-18 16:38:53 -04:00
Sterrezo fb84c48d4d Merge branch 'main' into sound 2024-08-18 21:20:54 +02:00
Sterrezo efc59ab2be More updates to the UI evolution sound 2024-08-18 21:19:09 +02:00
apion 44560195fc Things are kinda working 2024-08-18 14:17:15 -04:00
apion 9b2f0c9375 More work trying to convert to new data format 2024-08-18 13:34:38 -04:00
Hiroku 5cbcef5a88 Merge branch 'remove-unused-event' into 'main'
Remove unused held item update event

See merge request cable-mc/cobblemon!1118
2024-08-18 02:46:56 +00:00
Hiroku 7aa76587df Merge branch 'whatsy/poker-decks' into 'poker-decks'
poker decks

See merge request cable-mc/cobblemon!1089
2024-08-18 02:46:37 +00:00
JazzMcNade ebbbec9d6c Fixed merge conflicts 2024-08-17 21:30:46 -05:00
JazzMcNade 8bb2d1321d Merge branch 'main' into TheSketchySmeargle 2024-08-17 21:30:20 -05:00
Tyzillion e5ffb6db96 Merge branch 'main' of https://gitlab.com/cable-mc/cobblemon into evolution-effect 2024-08-17 22:23:57 -04:00
apion 7700a606d0 IDK if this stuff is staying 2024-08-17 20:52:49 -04:00
Paul 57dbb9fc02 Conflicto confundo 2024-08-18 10:01:47 +10:00
Paul 938cd995d7 Merge remote-tracking branch 'origin/poker-decks' into whatsy/poker-decks
# Conflicts:
#	common/src/main/kotlin/com/cobblemon/mod/common/client/net/pokedex/MapUpdatePacketHandler.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/pokedex/scanner/PokedexUsageContext.kt
2024-08-18 09:58:41 +10:00
Paul 112649081f Properly handle the ordering of dexes 2024-08-18 09:54:36 +10:00
apion d27ee304cb This ones for you Village 2024-08-17 13:53:44 -04:00
apion 1b5ad6e860 Fix server crashes 2024-08-17 10:58:44 -04:00
apion d283eb061a Fix issue where only assets for the red pokedex are used 2024-08-17 09:46:08 -04:00
Paul 92111b1046 Ported some dex stuff to mojmaps, scanning owned pokemon adds to Caught status in dex 2024-08-17 21:35:23 +10:00
Paul fbc976bfa0 Merge branch 'poker-decks' into whatsy/poker-decks
# Conflicts:
#	common/src/main/kotlin/com/cobblemon/mod/common/api/pokedex/PokedexJSONRegistry.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/client/gui/pokedex/PokedexGUI.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/client/keybind/keybinds/PokedexBinding.kt
2024-08-17 19:37:52 +10:00
Landon Wills 5c6ecb1807 Remove unused held item update event 2024-08-16 23:13:39 -04:00
Paul cb266499a3 Use a snapshot of the storm matrix for event particle type EMITTER 2024-08-16 17:28:29 +10:00
Paul 094f860b80 Fixed evo burst particle being emitter bound 2024-08-16 15:53:04 +10:00
Paul 79c1259cae Restored original particle event source matrix for EMITTER and EMITTER_BOUND types 2024-08-16 15:43:53 +10:00
Sterrezo 01f922b653 Clarified a change in the changelog and re-added a sound for evolution in sounds.json 2024-08-16 01:11:52 +02:00
Sterrezo 71d1730697 Merge branch 'main' into sound 2024-08-16 00:58:52 +02:00
Apion 84dfd56c12 Merge branch 'Slippy-is-a-Coder-Now' into 'main'
Slippy is a coder now

See merge request cable-mc/cobblemon!1108
2024-08-15 21:25:57 +00:00
Nick 770abc2b9b Merge branch 'feature/fix-license' into 'main'
fix missing license headers

See merge request cable-mc/cobblemon!1116
2024-08-15 17:35:28 +00:00
Polymeta 353069803f fix missing license headers 2024-08-15 18:17:55 +01:00
Waterpicker 03227d07f2 Make it possible to add new animation molang functions. 2024-08-15 02:06:51 -05:00
Paul b8d913bd2b Fixed weird waterlogging issues in pasture and PC 2024-08-12 15:34:57 +10:00
Paul 9339d91cbb Missing licenses 2024-08-12 13:47:15 +10:00
Paul 3a759eccf7 Improved "!" above challenger heads, it's not smooth yet 2024-08-12 13:45:26 +10:00
Paul 8b255c784a Fixed monitor block rotations from structures maybe 2024-08-11 18:17:27 +10:00
apion d515091b30 Add all unimplemented mons to dex 2024-08-11 01:30:14 -04:00
apion 1f3e408396 Made pokemon types into an enum, changed how server side scan validation works 2024-08-10 22:38:03 -04:00
apion f800070f91 Made scanning actually add pokedex records 2024-08-10 20:27:21 -04:00
apion 5f4c2d1d7e God have mercy on my soul 2024-08-10 19:15:33 -04:00
JazzMcNade d8bae04239 BattleChallengeParticleWIP 2024-08-10 18:06:59 -05:00
Tyzillion 4efd8a7fef Tweaked evolution particles. 2024-08-10 15:52:27 -04:00
Tyzillion e7911644d8 Merge branch 'main' of https://gitlab.com/cable-mc/cobblemon into evolution-effect
# Conflicts:
#	common/src/main/kotlin/com/cobblemon/mod/common/api/pokemon/evolution/Evolution.kt
2024-08-10 14:57:33 -04:00
apion 590c3cfcd2 Added zooming back 2024-08-10 10:05:40 -04:00
apion 2b1b393c92 Added back the display of the species name 2024-08-10 07:27:56 -04:00
apion 0b3d78e509 More cleanup 2024-08-10 06:30:47 -04:00
Sylvonir b42b561e49 Oops random extra variable 2024-08-09 21:38:44 -07:00
Sylvonir 68639390f5 Merge remote-tracking branch 'origin/party-control-tweaks' into party-control-tweaks 2024-08-09 21:38:17 -07:00
Sylvonir 226fefc08a Hopefully match party scroll behaviour with vanilla logic 2024-08-09 21:38:07 -07:00
Sylvonir c8fb04e0ea Hopefully match party scroll behaviour with vanilla logic 2024-08-09 21:35:38 -07:00
Sylvonir f4aa67390a Merge remote-tracking branch 'origin/party-control-tweaks' into party-control-tweaks 2024-08-09 21:30:38 -07:00
Hiroku 4cdea8d1fc Merge branch 'sprites' into 'sega_bass_pro_fishing_2'
Gui Sprites

See merge request cable-mc/cobblemon!1102
2024-08-10 00:43:54 +00:00
WaterpickerandHiroku 1b6139b386 Gui Sprites 2024-08-10 00:43:54 +00:00
Hiroku de3342226b Merge branch 'battle_bug_fixes' into 'main'
Battle bugs pentakill

Closes #865, #912, #880, #466, and #819

See merge request cable-mc/cobblemon!1105
2024-08-10 00:37:40 +00:00
Hiroku ca890133ba Merge branch 'Myslippy-main-patch-47052' into 'main'
Update CHANGELOG.md

See merge request cable-mc/cobblemon!1111
2024-08-10 00:36:24 +00:00
Hiroku c452aa77a9 Merge branch 'fix-missing-stellar-message' into 'main'
Fix terastallize message missing when using stellar

See merge request cable-mc/cobblemon!1112
2024-08-10 00:36:12 +00:00
Sylvonir 1530f4d09a Update CHANGELOG.md 2024-08-09 15:22:26 -07:00
Sylvonir 2a64c405f9 Update CHANGELOG.md 2024-08-09 15:12:51 -07:00
Sylvonir d5a22165c6 Fix battle log GUI flashing when BattleGUI is opened 2024-08-09 15:00:40 -07:00
Sylvonir a16ae6665a Fix party scroll not overriding vanilla scroll with high scroll speeds 2024-08-09 13:55:01 -07:00
Sylvonir 12595dde53 Let Pokémon be invulnerable during sendout and intangible during recall 2024-08-09 13:33:15 -07:00
Sylvonir 68299d2b57 Tweak recall timing and allow it to cancel sendout 2024-08-09 13:02:13 -07:00
JazzMcNade 3d8935136e Updated Lang key references 2024-08-09 01:17:24 -05:00
Landon Wills fba2217e6f Fix terastallize message missing when using stellar 2024-08-09 02:00:10 -04:00
JazzMcNade 462a8502bf Removed delay in damage being applied for some targets in multitarget attacks 2024-08-09 00:54:50 -05:00
Apion 2bd1382b85 Merge branch 'feature/simplify-modelloader-mixin' into 'sega_bass_pro_fishing_2'
Stop throwing errors in the model loader that generate misleading crash-reports

See merge request cable-mc/cobblemon!1110
2024-08-08 16:11:08 +00:00
PolymetaandApion 7791e72f72 Stop throwing errors in the model loader that generate misleading crash-reports 2024-08-08 16:11:07 +00:00
JazzMcNade d8645530de Fixed up challenge notification messages 2024-08-08 00:28:42 -05:00
Myslippy 8026a7c0b7 Update CHANGELOG.md 2024-08-08 03:16:19 +00:00
JazzMcNade 1e27298f36 Sendouts for double/triples now better reflect the party team ordering 2024-08-07 21:36:05 -05:00
Segfault Guy 640c7b1086 Switch clarity and cleanup to address log flooding. 2024-08-05 23:51:07 -04:00
JazzMcNade 35cc7cc956 Adjusted sendout timings so that the first sendout always happens immediately. Challengers always sendout first. 2024-08-05 20:27:41 -05:00
JazzMcNade a34bc3ef49 Battle start sendout timings are now staggered and randomized. 2024-08-05 00:24:16 -05:00
JazzMcNade e7f1092264 Added Actor display names to battle overlay 2024-08-04 23:21:13 -05:00
JazzMcNade 077669d34f Fixed back button from from playing a click sound when it is not visible 2024-08-04 17:54:02 -05:00
JazzMcNade d3784e918e Merge branch 'sega_bass_pro_fishing_2' into DoublesAreTheFuture 2024-08-04 17:36:57 -05:00
JazzMcNade d0f2d816fe Back button position is now consistent between screens. refactored class name for better clarity 2024-08-04 17:09:23 -05:00
JazzMcNade d54d91e60f Implemented Compact battle portraits, Added portrait target selection, fixed some styling 2024-08-04 16:16:24 -05:00
apion 301b210d5a Started some big boy cleanup for the dex 2024-08-04 16:31:04 -04:00
apion b942c3a45e Fix dimension serialization 2024-08-04 13:17:04 -04:00
apion 8b053f491b Another pass 2024-08-04 09:05:42 -04:00
apion a65c82c2b4 Third pass at resolving mapping problems 2024-08-04 08:27:13 -04:00
apion 813258064c Second pass at resolving mapping problems 2024-08-04 08:16:58 -04:00
apion c5124cf19d First pass at resolving mapping problems 2024-08-04 03:46:24 -04:00
apion 6ffa7b1be3 Merge branch 'refs/heads/sega_bass_pro_fishing_2' into poker-decks
# Conflicts:
#	common/src/main/java/com/cobblemon/mod/common/mixin/PartyScrollMixin.java
#	common/src/main/kotlin/com/cobblemon/mod/common/Cobblemon.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/CobblemonNetwork.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/api/gui/GuiUtils.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/api/storage/player/GeneralPlayerData.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/api/storage/player/PlayerDataStoreManager.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/api/storage/player/adapter/JsonPlayerData.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/api/storage/player/adapter/MongoPlayerData.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/api/storage/player/factory/JsonPlayerDataStoreFactory.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/api/storage/player/factory/PlayerDataStoreFactory.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/client/CobblemonBakingOverrides.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/client/CobblemonClient.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/client/gui/PokemonGuiUtils.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/client/gui/battle/BattleOverlay.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/client/keybind/CobblemonKeyBinds.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/client/net/SetClientPlayerDataHandler.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/client/render/RenderHelper.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/client/render/models/blockbench/PosableModel.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/client/render/models/blockbench/bedrock/animation/BedrockAnimation.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/command/ChangeScaleAndSize.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/command/ChangeWalkSpeed.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/command/OpenStarterScreenCommand.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/net/messages/client/battle/BattleInitializePacket.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/net/messages/client/starter/SetClientPlayerDataPacket.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/net/serverhandling/starter/RequestStarterScreenHandler.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/starter/CobbledStarterHandler.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/util/MiscUtils.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/util/PlayerExtensions.kt
#	common/src/main/resources/cobblemon-common.accesswidener
#	fabric/src/main/kotlin/com/cobblemon/mod/fabric/client/CobblemonFabricClient.kt
2024-08-04 02:53:12 -04:00
Hiroku cd68665cf4 Merge branch 'main' into 'main'
Enhance Test Coverage for IVs.createRandomIVs

See merge request cable-mc/cobblemon!1101
2024-08-03 01:34:39 +00:00
Hiroku de9d9ec645 Merge branch 'battle_theme_tweaks' into 'main'
Battle theme Sound Physics Remastered compat + fade out override

See merge request cable-mc/cobblemon!1106
2024-08-03 01:33:58 +00:00
Hiroku e8039da30d Merge branch 'sega_bass_pro_fishing_2' into 'sega_bass_pro_fishing_2'
Enhance Carbink spawn condition, fix Basculin catch rate, give Obstruct to Obstagoon

See merge request cable-mc/cobblemon!1092
2024-08-03 01:24:44 +00:00
apion dadd0a3c43 Fix mapping issues 2024-08-02 21:16:30 -04:00
Hiroku 598748220f Less code = better 2024-08-03 01:05:05 +00:00
apion c71a1dac8f Merge branch 'refs/heads/main' into sega_bass_pro_fishing_2
# Conflicts:
#	common/src/main/kotlin/com/cobblemon/mod/common/api/moves/MoveTemplate.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/api/pokemon/feature/IntSpeciesFeature.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/client/gui/summary/widgets/screens/moves/MoveSlotWidget.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/entity/pokemon/PokemonEntity.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/pokemon/misc/GimmighoulStashHandler.kt
2024-08-02 20:57:20 -04:00
Hiroku 7c23417335 Merge branch 'tmetcalfe89/abstracted-stashes' into 'main'
abstracted hoard logic

See merge request cable-mc/cobblemon!1028
2024-08-03 00:46:14 +00:00
JazzMcNade 0fd4f68f69 Corrected Lang 2024-08-02 19:30:25 -05:00
Hiroku 018bd99fa3 Merge branch 'ShowMeYourTrue(Hidden)Power' into 'main'
Show me your true(hidden)power

Closes #808

See merge request cable-mc/cobblemon!1060
2024-08-03 00:24:36 +00:00
Paul 2acddf5985 Merge remote-tracking branch 'origin/main' 2024-08-03 10:20:08 +10:00
Paul c924e17941 Added cry_subtitles.py 2024-08-03 10:11:16 +10:00
Paul 313250347c More safely check thread for spawners and influencers access 2024-08-03 10:09:56 +10:00
Hiroku 52f1d23ea5 Merge branch 'feature/handle-player-data-with-care' into 'main'
Handle JsonPlayerData with care

See merge request cable-mc/cobblemon!1100
2024-08-02 23:40:02 +00:00
apion ca0f453e0a Merge branch 'refs/heads/main' into sega_bass_pro_fishing_2
# Conflicts:
#	common/build.gradle.kts
#	common/src/main/kotlin/com/cobblemon/mod/common/CobblemonItems.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/block/entity/PokemonPastureBlockEntity.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/client/render/models/blockbench/pokemon/gen1/AbraModel.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/client/render/models/blockbench/pokemon/gen1/AerodactylModel.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/client/render/models/blockbench/pokemon/gen1/CaterpieModel.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/client/render/models/blockbench/pokemon/gen1/MewModel.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/client/render/models/blockbench/pokemon/gen1/WeedleModel.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/client/render/models/blockbench/pokemon/gen2/BellossomModel.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/client/render/models/blockbench/pokemon/gen2/ChikoritaModel.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/client/render/models/blockbench/pokemon/gen2/LarvitarModel.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/client/render/models/blockbench/pokemon/gen2/MurkrowModel.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/client/render/models/blockbench/pokemon/gen2/SmoochumModel.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/client/render/models/blockbench/pokemon/gen3/BeldumModel.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/client/render/models/blockbench/pokemon/gen3/MinunModel.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/client/render/models/blockbench/pokemon/gen3/PlusleModel.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/client/render/models/blockbench/pokemon/gen3/ShroomishModel.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/client/render/models/blockbench/pokemon/gen4/BunearyModel.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/client/render/models/blockbench/pokemon/gen4/CombeeModel.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/client/render/models/blockbench/pokemon/gen4/PachirisuModel.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/client/render/models/blockbench/pokemon/gen5/ElgyemModel.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/client/render/models/blockbench/pokemon/gen5/PetililHisuiBiasModel.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/client/render/models/blockbench/pokemon/gen5/PetililModel.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/client/render/models/blockbench/pokemon/gen6/FletchlingModel.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/client/render/models/blockbench/pokemon/gen6/KlefkiModel.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/client/render/models/blockbench/pokemon/gen6/SkrelpModel.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/client/render/models/blockbench/pokemon/gen7/MorelullModel.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/client/render/models/blockbench/pokemon/gen9/GimmighoulRoamingModel.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/client/render/models/blockbench/pokemon/gen9/GlimmetModel.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/client/render/models/blockbench/pokemon/gen9/ShroodleModel.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/client/render/models/blockbench/pokemon/gen9/TatsugiriModel.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/events/AdvancementHandler.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/item/group/CobblemonItemGroups.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/pokemon/helditem/BaseCobblemonHeldItemManager.kt
#	common/src/main/resources/data/cobblemon/advancement/recipes/held/metronome.json
#	common/src/main/resources/data/cobblemon/advancement/recipes/held/protective_pads.json
#	common/src/main/resources/data/cobblemon/advancement/recipes/held/punching_glove.json
#	common/src/main/resources/data/cobblemon/advancement/recipes/held/room_service.json
#	common/src/main/resources/data/cobblemon/advancement/recipes/held/scope_lens.json
#	common/src/main/resources/data/cobblemon/advancement/recipes/held/terrain_extender.json
#	common/src/main/resources/data/cobblemon/advancement/recipes/held/utility_umbrella.json
#	common/src/main/resources/data/cobblemon/advancement/recipes/held/wide_lens.json
#	common/src/main/resources/data/cobblemon/advancement/recipes/held/zoom_lens.json
#	common/src/main/resources/data/cobblemon/recipe/metronome.json
#	common/src/main/resources/data/cobblemon/recipe/protective_pads.json
#	common/src/main/resources/data/cobblemon/recipe/punching_glove.json
#	common/src/main/resources/data/cobblemon/recipe/room_service.json
#	common/src/main/resources/data/cobblemon/recipe/scope_lens.json
#	common/src/main/resources/data/cobblemon/recipe/terrain_extender.json
#	common/src/main/resources/data/cobblemon/recipe/utility_umbrella.json
#	common/src/main/resources/data/cobblemon/recipe/wide_lens.json
#	common/src/main/resources/data/cobblemon/recipe/zoom_lens.json
2024-08-02 18:58:34 -04:00
Sterrezo cbdb63b102 I never forget to ctrl + s the changelog 2024-08-02 15:10:05 +02:00
Sterrezo d211fb2310 Updated sounds for clicks, evolution and evolution notification. Renamed and relocated evolution sound assets.
Evolution sounds were scattered in the folder with Pokemon. I moved them all to their own folder and renamed them to be more descriptive as to where they play both in files and in code.
2024-08-02 15:07:17 +02:00
Sterrezo 2f730be207 Merge branch 'main' into sound 2024-08-02 13:53:20 +02:00
Slippy 761eb07300 Merge branch 'Slippy-is-a-Coder-Now' of https://gitlab.com/cable-mc/cobblemon into Slippy-is-a-Coder-Now 2024-08-02 00:11:15 -05:00
Slippy fec9ace152 PC loot table 2024-08-02 00:10:55 -05:00
tmetcalfe89 63e5274fc9 healer pools and entries 2024-08-01 21:32:10 -07:00
Slippy ae28d186a0 When PC and Healer blow up and is set to natural = false, they won't drop anything. 2024-08-01 22:16:46 -05:00
Slippy e901d3d1e7 PC and Healing Machine now drop iron ingots when natural = true 2024-08-01 22:11:00 -05:00
Plastered_Crab 1e0c2005da - fixed closing animation 2024-08-01 14:00:56 -07:00
Slippy 33aa6d4591 I coded something. hope it doesnt break :) 2024-08-01 11:30:42 -05:00
apion dbc108602a Bump kotlin versions (fr) 2024-07-31 21:43:08 -04:00
apion 7c15504828 Bump kotlin versions 2024-07-31 20:39:56 -04:00
Segfault Guy 14c3e4e9a0 Merge remote-tracking branch 'origin/main' into battle_theme_tweaks 2024-07-30 23:25:32 -04:00
Segfault Guy b89cd88639 Merge remote-tracking branch 'origin/main' into battle_bug_fixes 2024-07-30 23:00:49 -04:00
Segfault Guy 87a106bd1e Changelogs 2024-07-30 23:00:11 -04:00
Segfault Guy 1aacad2733 Battle start + invulnerability cleanup. 2024-07-30 21:50:39 -04:00
Plastered_Crab 89dca86a21 - added test compass to top of scanner 2024-07-30 16:19:12 -07:00
Plastered_Crab cdcd7bdec6 - More adjustments to the smaller hitboxes during scanning so scanning tiny pokemon (like joltik) is easier 2024-07-30 13:22:07 -07:00
Plastered_Crab 35c3e8f245 - scanner range adjustment when zooming and fixed my goofs with the grace period 2024-07-30 09:56:13 -07:00
plastered_crab 678b0cc7fd - making smaller hitboxes bigger when scanning (needs fine tuning) 2024-07-30 00:32:49 -07:00
plastered_crab f2dd1a5c62 - overlay is kill (for real this time) 2024-07-29 22:23:05 -07:00
Segfault Guy 7c26008ad4 Turn 0, battle init fix, switch tile changes, eject pack implementation. 2024-07-29 23:52:56 -04:00
plastered_crab b54d284fdb - kill overlay upon scan finishing 2024-07-29 20:35:19 -07:00
plastered_crab 79d8425749 - added grace period for scanning 2024-07-29 20:13:40 -07:00
Test 36c4e4e553 overlay screen tests 2024-07-29 22:56:21 -04:00
Paul c28c17b514 Smoothed dex zoom in and zoom out transitioning 2024-07-28 11:06:50 +10:00
Test 75faa7b798 overlay screen tests 2024-07-27 20:42:35 -04:00
JazzMcNade f76d0511b9 Fixed Battle tiles for Single battles 2024-07-27 19:09:47 -05:00
JazzMcNade ebe47700b2 BattleRequestUI: Improved performance, expanded navigation button height, some refactoring 2024-07-27 13:56:02 -05:00
apion c7eec20769 Fix mint dupe 2024-07-26 21:06:04 -04:00
Paul 3d64e79f82 Fixed rod fishing items not working on NeoForge 2024-07-27 10:40:09 +10:00
Hiroku 0d822ad413 Zygarde 10% form is aspected as 10percent 2024-07-26 21:30:45 +00:00
JazzMcNade f1de8adc68 Made Multibattle requests and responses more flexible 2024-07-25 23:32:31 -05:00
Sylvonir 43beadd6b7 Fix bait not consuming, finally 2024-07-25 18:01:52 -07:00
JazzMcNade ee0e76a172 Multibattles: Simple Geometry to make Showdown positions match Minecraft player positions 2024-07-25 00:59:31 -05:00
plastered_crab 4ae64716fb - bait consumption tweaks 2024-07-24 20:59:12 -07:00
Sylvonir 001d653e91 Fix bait sounds 2024-07-24 19:50:30 -07:00
Sylvonir 5265e35b9d Merge remote-tracking branch 'origin/sega_bass_pro_fishing_2' into sega_bass_pro_fishing_2 2024-07-24 16:51:01 -07:00
Sylvonir 4eefab6361 Add durability enchantments to pokerod 2024-07-24 16:50:46 -07:00
Plastered_Crab 8d1730de36 - added new bait attaching/detaching sounds 2024-07-24 16:47:58 -07:00
Plastered_Crab 2e89abd07e - adjust bite reduction effect logic 2024-07-24 15:03:43 -07:00
VasconcelosJoao 0b7c183eeb New test cases 2024-07-24 18:40:39 -03:00
VasconcelosJoao e790f03066 New test cases 2024-07-24 18:38:52 -03:00
Plastered_Crab 72c0f517eb - Poke_Rods are now enchantable properly (yippie!) 2024-07-24 11:25:07 -07:00
tmetcalfe89 e7271590e0 check to see if dice rolled was within success bounds 2024-07-24 10:20:17 -07:00
tmetcalfe89 76e3b7420e get nature effect stat, and warn on missing 2024-07-24 10:19:14 -07:00
JazzMcNade 12da3a428f Improved sendout positions for multi-battles 2024-07-24 01:08:15 -05:00
JazzMcNade 0ddd8a499a Fixed an issue with switch menu selection when there are no reserve pokemon 2024-07-23 21:51:09 -05:00
tmetcalfe89 698ba9a03f fixed not decrementing the stack if > 1 2024-07-23 18:47:26 -07:00
Plastered_Crab 1a398f50a5 - WIP on fixing the decremention of bait upon reeling in a pokemon 2024-07-23 15:53:10 -07:00
Polymeta a0df8e6db2 refactor player data loading to be more defensive and avoid crashing where feasible 2024-07-23 23:52:07 +01:00
Segfault Guy faa9e73d22 Merge remote-tracking branch 'origin/main' into battle_bug_fixes 2024-07-23 00:24:37 -04:00
Segfault Guy b2fe1c2fb4 Switch and withdraw logs. 2024-07-23 00:24:07 -04:00
Plastered_Crab 50d127f9ad - Fixes for all fishing bait effects (besides Friendship boost) 2024-07-22 14:22:06 -07:00
Paul eede77db51 Fixed bait not working, fixed aspect-changing fishing lures having a single frame of its un-changed form, fixed level modifying baits 2024-07-22 17:28:59 +10:00
JazzMcNade 3a3fe49c7c Merge branch 'sega_bass_pro_fishing_2' into DoublesAreTheFuture 2024-07-22 00:35:37 -05:00
JazzMcNade cf06bed1f3 Rough Draft of new Battle Request UI 2024-07-22 00:35:22 -05:00
Paul e1141e51d4 Fixed migration of 1.5 fossil machines to 1.6 data 2024-07-22 14:16:53 +10:00
Paul 99f2d1acc6 Fixed summary party order swapping 2024-07-22 12:22:34 +10:00
Paul b7e54c67ed Fixed all the inventory checking advancements completing for any item 2024-07-22 12:00:33 +10:00
Paul 84baf9ae5d Fixed rendering of gilded chests 2024-07-22 11:54:09 +10:00
Segfault Guy 0011cab21e Fix nullptr exceptions when using revive or healing bench pokemon in battle. 2024-07-21 12:22:38 -04:00
Paul 8f6392d912 Merge remote-tracking branch 'origin/sega_bass_pro_fishing_2' into sega_bass_pro_fishing_2 2024-07-21 21:25:40 +10:00
Paul 42b432baec Fixed fossil analyzer fossil rendering 2024-07-21 21:25:26 +10:00
Dani Voort 7a4abfc4f6 Fix SpeciesFeatureSyncPacket attempting to sync non-synchronized feature 2024-07-21 12:22:31 +02:00
Hiroku 75531a812f Merge branch 'feature/fix-pipeline' into 'main'
bump versioning gradle plugin

See merge request cable-mc/cobblemon!1099
2024-07-21 07:57:49 +00:00
Polymeta d6872df831 bump versioning gradle plugin 2024-07-21 07:47:52 +00:00
Paul d282631662 Added logging for unsafe access to various APIs and moved JOIN and DISCONNECT platform events to always be sync 2024-07-21 13:16:13 +10:00
Hiroku 1450800207 Merge branch 'implement_pokemon' into 'main'
So many shoulder mounts and other fixes

See merge request cable-mc/cobblemon!1076
2024-07-21 03:04:07 +00:00
Frank The FarmerandHiroku 54bde927f1 So many shoulder mounts and other fixes 2024-07-21 03:04:07 +00:00
Hiroku b3726e247e Merge branch 'feature/catch-null-values-spawn-sets' into 'main'
prevent invalid spawn configurations from crashing the server

See merge request cable-mc/cobblemon!1090
2024-07-21 03:02:09 +00:00
Hiroku 979aba1edf Typo fix 2024-07-21 03:00:55 +00:00
Hiroku fb61a77002 Merge branch 'tumblestone-advancement-fix' into 'main'
Fix Tumbling Down advancement

See merge request cable-mc/cobblemon!1098
2024-07-21 02:31:28 +00:00
Segfault Guy 260767bed4 Add gamerule for invulnerability during battle. 2024-07-20 19:58:56 -04:00
ApionXD 4b116fcd26 Removed tab chars in zh_tw.json 2024-07-20 10:09:37 -04:00
Paul 134388e1ba Fixed battle tile pokemon rendering 2024-07-20 13:34:35 +10:00
Sylvonir 6fd77b619d Fix Tumbling Down advancement not being granted by tumblestone variants 2024-07-19 19:53:26 -07:00
Sylvonir bf039b5cb9 Pokerod is now a bundle 2024-07-19 16:13:17 -07:00
Sylvonir 8ed6a5c48d Basic inventory bait moving 2024-07-19 00:04:28 -07:00
Slippy 2895c0a2ef I hate the crumbling arch 2024-07-18 08:57:11 -05:00
Test e7cbd74b05 fix scale 2024-07-18 01:51:35 -04:00
Test bd9ebce842 Merge remote-tracking branch 'origin/DoublesAreTheFuture' into DoublesAreTheFuture 2024-07-18 01:08:36 -04:00
Test 94a1943398 assets 2024-07-18 01:08:13 -04:00
Plastered_Crab 064cd133a2 Merge remote-tracking branch 'origin/sega_bass_pro_fishing_2' into sega_bass_pro_fishing_2 2024-07-17 13:02:33 -07:00
Plastered_Crab b947974304 - Moved Pokemon altering effects of Baits to FishingSpawnCause instead of on the BobberEntity 2024-07-17 13:02:11 -07:00
Slippy acc87f9eae Solhenge, Lunahenge, and Stonjournerhenge structures completed. 2024-07-17 12:31:55 -05:00
JazzMcNade 41cf571958 Timeout Expiration Callback for Multibattle team requests. 2024-07-16 23:42:24 -05:00
Nick 2f2fae020c Merge branch 'dubwool-fix' into 'main'
Fixed shiny Dubwool’s colored wool texture was not being used

See merge request cable-mc/cobblemon!1095
2024-07-16 23:24:22 +00:00
Nick ee0d420560 Merge branch 'pasture-fixes' into 'main'
Pasture fixes

Closes #879 and #935

See merge request cable-mc/cobblemon!1097
2024-07-16 23:23:15 +00:00
SylvonirandNick 275c504df8 Pasture fixes + pokemon shearing corrections 2024-07-16 23:23:15 +00:00
tmetcalfe89 7c4251b0ec category tooltip, brought things closer together 2024-07-16 11:40:15 -07:00
tmetcalfe89 f21ef468a3 uninstalled double dash 2024-07-16 09:28:00 -07:00
tmetcalfe89 d6ba066f03 lang and colors 2024-07-15 23:08:07 -07:00
JazzMcNade c09f534746 Peer Review: Refactored interaction range constants as configuration variables. 2024-07-16 00:59:25 -05:00
tmetcalfe89 2870fc3c17 Merge branch 'sega_bass_pro_fishing_2' of https://gitlab.com/cable-mc/cobblemon into sega_bass_pro_fishing_2 2024-07-15 22:13:28 -07:00
JazzMcNade 3f389bd351 Some peer review Corrections 2024-07-15 23:46:27 -05:00
apion a95a0f2314 Temp CI change 2024-07-16 00:13:01 -04:00
plastered_crab 9e96169f97 - Because Apion told me to 2024-07-15 20:16:23 -07:00
tmetcalfe89 bc0b62e58f licenses, category tooltip, fix shift mask, cleaner lang keys 2024-07-15 19:21:22 -07:00
tmetcalfe89 8c1a468e4d what if tooltip manager 2024-07-15 18:18:38 -07:00
Plastered_Crab b5d2c9833d - fixed Shiny Chance bait effect + Pokemon Chance bait effect 2024-07-15 16:38:12 -07:00
Plastered_Crab 43e6ba6ee6 - fixed bait effects 2024-07-15 15:56:26 -07:00
Plastered_Crab 605a8a2b2c - anyone order extra tooltip fixes? 2024-07-15 14:08:19 -07:00
Plastered_Crab e3395e9a12 - more fixes for the tooltips of bait items 2024-07-15 13:56:49 -07:00
Timothy Metcalfe e1422b27c1 Merge branch 'tim/bait-description' into 'sega_bass_pro_fishing_2'
feesh bait

See merge request cable-mc/cobblemon!1096
2024-07-15 20:42:51 +00:00
tmetcalfe89 ea01a25935 show tooltips 2024-07-15 13:34:17 -07:00
Plastered_Crab f32e71aa69 - removed old code 2024-07-15 12:29:50 -07:00
Emery319 bc07b16e00 Fixed shiny Dubwool’s colored wool texture was not being used 2024-07-15 09:14:31 +00:00
Licious cb0674adeb Fix CobblemonEvolutionProxy.isClient. 2024-07-15 07:40:07 +01:00
plastered_crab 9d9300b12c - Fixed Paul's attack on the bait rendering system 2024-07-14 22:47:02 -07:00
plastered_crab a7a93f195d - Pokerod bait effects formatting tweaked and began adding tooltips to every berry for bait effects 2024-07-14 22:00:17 -07:00
plastered_crab 2107ea525e - Pokerod now has tooltips to show bait effects 2024-07-14 19:35:57 -07:00
Licious dba858a649 Licenses. 2024-07-14 21:20:39 +01:00
Licious 82851b3951 Fix CobblemonEvolutionProxy.overrideController. 2024-07-14 21:16:55 +01:00
Licious f3a587805a Fix remaining class cast issues. 2024-07-14 21:11:36 +01:00
Licious 4d42145abc Fix Codec EvolutionController. 2024-07-14 09:59:01 +01:00
Paul ce07e9b5c6 Restored berry rendering by benching the VBO optimization stuff 2024-07-14 14:52:03 +10:00
plastered_crab 26d431cd5e - wip function for rending scan progress 2024-07-13 16:34:44 -07:00
JazzMcNade 2f32886576 Changed BenchMovePacket to not map the empty string to null. Updated Changelog 2024-07-13 01:23:12 -05:00
Hiroku 42e38c5b0a Merge branch 'block_file_gen' into 'main'
Added a script to automate the creation of certain block-related files

See merge request cable-mc/cobblemon!1080
2024-07-13 04:45:44 +00:00
VineST 08c2a22359 Enhance Carbink spawn condition, fix Basculin catch rate, give Obstruct to Obstagoon 2024-07-12 22:36:28 -04:00
JazzMcNade 074b32ef9c Merge branch 'main' into TheSketchySmeargle 2024-07-12 20:53:27 -05:00
JazzMcNade bd6e68e6ad Merge branch 'main' into ShowMeYourTrue(Hidden)Power 2024-07-12 20:34:32 -05:00
JazzMcNade e169009c6c Updated Changelog 2024-07-12 14:25:40 -05:00
JazzMcNade 3102189a66 Merge branch 'sega_bass_pro_fishing_2' into DoublesAreTheFuture 2024-07-12 14:10:41 -05:00
JazzMcNade 1be9325a65 Resolved more remappings, fixed a triples related sendout position bug 2024-07-12 14:09:39 -05:00
plastered_crab db048b68bb - tweaked scanning distance to feel a bit better based on zoom level 2024-07-12 00:41:45 -07:00
plastered_crab 76c3cba300 - tweaks to Dex Scanner mode so Scanner overlay doesn't get stuck on randomly 2024-07-11 23:31:09 -07:00
Segfault Guy 653e048d2e Fix new battle music instance not playing when old instance is still fading out 2024-07-11 22:22:26 -04:00
Segfault Guy 36f87425c9 Sound Physics Remastered compat 2024-07-11 21:37:44 -04:00
plastered_crab 57603e60e6 - distance of scanning and detection of pokemon is determined by Zoom Level now 2024-07-11 01:05:40 -07:00
plastered_crab 487361208e - pokemon are detected if scanner is aimed at them when initiating scan overlay 2024-07-11 00:41:14 -07:00
plastered_crab 20b2711703 - attempt to fix HUD UI of Scanner getting stuck 2024-07-11 00:11:23 -07:00
Licious 51aebdaa7f Merge branch 'coin_pouch_fixes' into 'sega_bass_pro_fishing_2'
Coin pouch fixes

See merge request cable-mc/cobblemon!1088
2024-07-10 20:59:34 +00:00
Licious 03304a5d00 Coin pouch fixes 2024-07-10 20:59:33 +00:00
Licious 7240f76fb2 Merge branch 'properties_tera_and_elemental_type' into 'sega_bass_pro_fishing_2'
PokemonProperties Tera Type fixes and support for Elemental type.

See merge request cable-mc/cobblemon!1085
2024-07-10 20:52:14 +00:00
Licious 0f1efd2ef8 PokemonProperties Tera Type fixes and support for Elemental type. 2024-07-10 20:52:14 +00:00
Polymeta 46697cdda5 introduce is valid for conditions and ensure those are being checked when the spawn details are loaded, to prevent invalid configurations from crashing the server 2024-07-09 16:27:21 +01:00
Lily 43d4eacefc Merge branch 'poker-decks' into whatsy/poker-decks 2024-07-09 10:49:15 -04:00
Lily caa9ff5eba text now shows up when there's no drops available for a mon 2024-07-09 10:47:20 -04:00
Licious d9d2c660ce Add support for FishingBobberPredicate and CobblemonEntitySubPredicates, update pokerod loot table for the intended predicate usage. 2024-07-09 14:04:37 +01:00
Sterrezo 3f5286c0a9 Increased snap sound's asset volume 2024-07-09 00:10:29 +02:00
Sterrezo fedf2eb950 Decreased the scan's volume 2024-07-08 23:44:40 +02:00
Sterrezo 56b2951d88 Sound updates and fixes 2024-07-08 23:29:37 +02:00
Sterrezo 35d96d2eb7 A lot of sound updates to herbs and blocks 2024-07-08 13:35:36 +02:00
Licious 22ad2d9126 Move PokemonBattle.onEndHandlers invoke to fire from BattleRegistry.closeBattle. 2024-07-08 12:28:03 +01:00
Licious 3afefe3a59 Fix to recipe loading after cherry-pick, fix to pokerod loot table, fix PokeRodFishingBobberEntity invoking the vanilla fishing loot table instead of ours. 2024-07-08 12:19:24 +01:00
Sterrezo b6e6d9a151 Merge branch 'main' into sound 2024-07-08 11:35:44 +02:00
Licious 88ed6a055f Disable 'FISHING_JUNK' LootInjector entry as we don't have the table. 2024-07-08 09:27:21 +01:00
dhi_holoandLicious 380c88ee4c Recipes and Items
(cherry picked from commit 38d90da48c)
2024-07-08 09:23:11 +01:00
Licious 3242806275 Merge branch 'item-tweaks' into 'main'
Recipes and Items

See merge request cable-mc/cobblemon!1087
2024-07-08 07:39:28 +00:00
dhi_holoandLicious 38d90da48c Recipes and Items 2024-07-08 07:39:28 +00:00
JazzMcNade d01989343c Merge branch 'sega_bass_pro_fishing_2' into DoublesAreTheFuture 2024-07-07 14:08:17 -05:00
JazzMcNade fd40ec47ab 99% conflicts resolved 2024-07-07 14:07:22 -05:00
JazzMcNade eed218b994 Merge branch 'sega_bass_pro_fishing_2' into DoublesAreTheFuture 2024-07-07 04:22:06 -05:00
Licious 4ad419fe11 Removed logging of all s2c/c2s comm. 2024-07-07 09:55:53 +01:00
dhi_holoandLicious bcb0e18d42 Link Cable Recipe Change
Closes #916
Also fixed one issue with the changelog because I haven't touched the file since we shifted how we handled it slightly and my previous change was lumped in the wrong category during it.

(cherry picked from commit 99b7a119e0)
2024-07-07 09:54:12 +01:00
Licious b72726fd38 Merge branch 'crystal-cables' into 'main'
Link Cable Recipe Change

Closes #916

See merge request cable-mc/cobblemon!1086
2024-07-07 08:04:16 +00:00
dhi_holo 99b7a119e0 Link Cable Recipe Change
Closes #916
Also fixed one issue with the changelog because I haven't touched the file since we shifted how we handled it slightly and my previous change was lumped in the wrong category during it.
2024-07-07 17:54:59 +10:00
Paul 2bbfc1a7a7 Merge branch 'refs/heads/sega_bass_pro_fishing_2_mojmap_kinda' into sega_bass_pro_fishing_2 2024-07-07 13:15:55 +10:00
Paul 83f1d844f1 Expanded on NPC interact configurations 2024-07-07 13:15:25 +10:00
Apion 237e4901d1 Change forge paths to neo in CI 2024-07-07 00:27:54 +00:00
apion 915967facf Delete unused file 2024-07-06 20:14:56 -04:00
apion 3c3ef29965 Fixed mixin, removed unnecessary maven repo 2024-07-06 20:06:36 -04:00
apion 9a95992156 Merge branch 'refs/heads/sega_bass_pro_fishing_2_mojmap_kinda' into sega_bass_pro_fishing_2 2024-07-06 19:38:37 -04:00
apion da1dea9380 Merge remote-tracking branch 'origin/sega_bass_pro_fishing_2_mojmap_kinda' into sega_bass_pro_fishing_2_mojmap_kinda
# Conflicts:
#	common/src/main/kotlin/com/cobblemon/mod/common/command/TestCommand.kt
2024-07-06 19:37:06 -04:00
apion a601199910 Merge conflicts 2024-07-06 19:35:31 -04:00
plastered_crab 2013f890a5 - no more transparent issues 2024-07-06 16:24:18 -07:00
apion 9e00551b33 Merge branch 'refs/heads/sega_bass_pro_fishing_2' into sega_bass_pro_fishing_2_mojmap_kinda
# Conflicts:
#	common/src/main/kotlin/com/cobblemon/mod/common/api/abilities/Ability.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/api/abilities/AbilityTemplate.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/api/moves/BenchedMove.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/api/moves/Move.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/api/moves/MoveSet.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/api/moves/MoveTemplate.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/api/pokemon/evolution/EvolutionController.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/api/pokemon/evolution/EvolutionProxy.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/api/pokemon/evolution/progress/EvolutionProgress.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/api/pokemon/stats/Stat.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/api/pokemon/status/Status.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/api/storage/BottomlessStore.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/api/storage/party/PartyStore.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/api/storage/pc/PCBox.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/api/types/ElementalType.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/api/types/tera/TeraType.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/client/net/battle/BattleSetTeamPokemonHandler.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/client/net/storage/party/SetPartyPokemonHandler.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/client/net/storage/pc/SetPCPokemonHandler.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/client/render/layer/PokemonOnShoulderRenderer.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/command/TestCommand.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/entity/pokemon/PokemonEntity.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/item/group/CobblemonItemGroups.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/loot/LootInjector.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/net/messages/PokemonDTO.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/net/messages/client/battle/BattleSetTeamPokemonPacket.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/net/messages/client/battle/BattleUpdateTeamPokemonPacket.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/net/messages/client/data/DataRegistrySyncPacket.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/net/messages/client/storage/party/SetPartyPokemonPacket.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/net/messages/client/storage/pc/SetPCPokemonPacket.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/net/messages/client/trade/TradeUpdatedPacket.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/net/messages/client/ui/SummaryUIPacket.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/pokeball/PokeBall.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/pokemon/Nature.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/pokemon/Pokemon.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/pokemon/Species.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/pokemon/activestate/PokemonState.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/pokemon/evolution/CobbledEvolutionProxy.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/pokemon/evolution/controller/ClientEvolutionController.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/pokemon/evolution/controller/ServerEvolutionController.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/pokemon/evolution/progress/DamageTakenEvolutionProgress.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/pokemon/evolution/progress/DefeatEvolutionProgress.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/pokemon/evolution/progress/LastBattleCriticalHitsEvolutionProgress.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/pokemon/evolution/progress/RecoilEvolutionProgress.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/pokemon/evolution/progress/UseMoveEvolutionProgress.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/pokemon/status/PersistentStatusContainer.kt
#	common/src/main/resources/cobblemon-common.accesswidener
2024-07-06 18:45:42 -04:00
Licious 48801e3b80 Fix cobblemon:healing_machine advancement and cobblemon:is_held_item tag. 2024-07-06 23:33:02 +01:00
Licious 7fe107296a Rename multiple data paths to modern standards, fixes a bunch of errors or lack of data powered vanilla features Cobblemon integration. 2024-07-06 23:17:08 +01:00
Apion ff553e1610 Merge branch 'pokemon-to-codec' into 'sega_bass_pro_fishing_2'
Pokemon Codec for both sides & s2c comm

See merge request cable-mc/cobblemon!1077
2024-07-06 19:34:42 +00:00
LiciousandApion a162efba11 Pokemon Codec for both sides & s2c comm 2024-07-06 19:34:42 +00:00
plastered_crab 42efbe5a07 - new sounds (again) 2024-07-05 17:10:04 -07:00
plastered_crab cf17f2f4ac - new sounds 2024-07-05 17:04:48 -07:00
Lily 301d1c377a fix drop percentage display showing decimals 2024-07-05 12:05:37 -04:00
Paul b855f3689b Fixed pose conditions not resolving properly, fixed generic bedrock entity spawn packet, NPC posable function corrections 2024-07-05 12:22:48 +10:00
plastered_crab df3d2f99d4 - test feature trimming of borders 2024-07-04 17:45:07 -07:00
Dani Voort 83c679cc4b Fix DataComponents for pokemon and bait on NeoForge 2024-07-05 01:26:36 +02:00
Dani Voort 6253471a6c Allow 'action' to be set on DialogueTextInput 2024-07-05 01:22:48 +02:00
Dani Voort 4b36631029 Fix entity dimensions transmitting in FormData 2024-07-05 01:22:39 +02:00
Lily 2c6229417f drop table fixes 2024-07-04 17:25:39 -04:00
Lily 94d18593a0 region selection and drops info tab 2024-07-04 16:48:47 -04:00
Lily b4b6606f39 work on region selection and viewing pokemon drops 2024-07-04 10:48:22 -04:00
plastered_crab a70c08f484 - hopefully this won't end badly 2024-07-04 00:11:01 -07:00
plastered_crab b19a5f637a - I broke everything.... put it back 2024-07-03 23:51:27 -07:00
plastered_crab 331551a614 - tweak to test feature 2024-07-03 23:33:56 -07:00
Licious f60f92f16f Merge branch 'remove_unused_loot_injection' into 'sega_bass_pro_fishing_2'
Remove the fishing junk loot injection.

See merge request cable-mc/cobblemon!1084
2024-07-04 00:07:21 +00:00
Licious 6cc90ccac8 Remove the fishing junk loot injection. 2024-07-03 21:03:17 +01:00
Licious c5a913d0f2 Missing lang entry for Terrain Seed tag. 2024-07-03 20:56:59 +01:00
Plastered_Crab 0897d3afb5 - the maps Todd Howards better now 2024-07-03 12:51:28 -07:00
Licious 0231010e0c Merge branch 'new_items_and_tag_fixes' into 'sega_bass_pro_fishing_2'
Add new items, update tag folder names for 1.21 convention

See merge request cable-mc/cobblemon!1082
2024-07-03 19:43:23 +00:00
Plastered_Crab a2be8c9fdd - maps interacting with decks starting to Todd Howard 2024-07-03 09:26:57 -07:00
plastered_crab 9f71d45eeb - new classes for a test feature 2024-07-03 08:03:35 -07:00
plastered_crab 910d42af16 - even MORE prep for the handoff for the Village people 2024-07-02 21:09:19 -07:00
plastered_crab 8af83a2cb9 - extra prep for big flashy features 2024-07-02 20:57:53 -07:00
Plastered_Crab 04c3a1cd0d - more important stuff 2024-07-02 20:39:44 -07:00
Plastered_Crab 6f5efa3d62 - more stuff for the new features 2024-07-02 16:02:10 -07:00
Plastered_Crab 32c7f178b5 Merge remote-tracking branch 'origin/poker-decks' into poker-decks 2024-07-02 13:08:52 -07:00
Plastered_Crab 4129f29da0 - lots of changes for a top-secret mysterious feature 2024-07-02 13:08:31 -07:00
Dani Voort 23c055751f Fix Pokéball rendering 2024-07-01 23:55:33 +02:00
Licious 11b7505fac Merge branch 'trade_friendship_fix' into 'sega_bass_pro_fishing_2'
Fix trading Pokemon setting friendship to 0 instead of base value

See merge request cable-mc/cobblemon!1083
2024-07-01 20:46:27 +00:00
Dani Voort f9d243dac7 Fix Neoforge runClient and runServer tasks not working 2024-07-01 22:28:34 +02:00
Licious d3b4a9b00b Fix trading Pokemon friendship values. 2024-07-01 21:22:21 +01:00
Dani Voort 92c42c2772 Port Fabric mixins to mojmaps 2024-07-01 20:31:03 +02:00
JazzMcNade e0b1fba99b Merge branch 'main' into 'ShowMeYourTrue(Hidden)Power'
# Conflicts:
#   CHANGELOG.md
2024-07-01 00:23:08 +00:00
Dani Voort 0436d7549d Update PokemonDTO to remove usage of Netty buffers to store data. 2024-06-30 19:50:03 +02:00
Dani Voort da5c3b7615 Various other (experimental) fixes 2024-06-30 19:05:40 +02:00
Dani Voort 857192e0e1 Execute registry sync packets on Neoforged on the network thread to block other packets & prevent data races 2024-06-30 19:04:15 +02:00
Dani Voort 8e0887c14f Fix a few things I broke during mapping 2024-06-30 19:02:53 +02:00
Dani Voort c409b143e9 Throw a more descriptive error if a species was not found in SpawnPokemonPacket 2024-06-30 19:01:26 +02:00
Dani Voort 19a94e565f Fix reading EntityDimensions 2024-06-30 19:00:46 +02:00
Dani Voort ed6534a561 Use proper TagKey codec in BiomePredicate 2024-06-30 19:00:36 +02:00
Dani Voort 6c6261f055 part 16: insanity. 2024-06-30 04:27:24 +02:00
JazzMcNade a2145b6bf7 Merge branch 'sega_bass_pro_fishing_2' into DoublesAreTheFuture 2024-06-29 21:12:35 -05:00
JazzMcNade e14c8b5264 Refactored los checking for interactions 2024-06-29 18:41:22 -05:00
Dani Voort bb97dbc1da part 15: the end is near 2024-06-30 01:38:23 +02:00
Dani Voort 27bcd18444 part 14: everything but client rendering & fabric 2024-06-30 00:37:34 +02:00
Dani Voort c0731e3b93 part 13: neoforce module seems OK - client to go. 2024-06-29 23:06:12 +02:00
Dani Voort 00f8184a60 part 12: util package code 2024-06-29 22:55:49 +02:00
Dani Voort aff9ffa67f part 11: "root" package code 2024-06-29 22:35:45 +02:00
Dani Voort 72291bdba5 part 10: world code 2024-06-29 22:17:01 +02:00
Dani Voort 4b90c4fd3a part 9: pokemon code 2024-06-29 21:53:25 +02:00
Dani Voort 33993cea1b part 8: networking code 2024-06-29 21:24:02 +02:00
Dani Voort f8f619494a part 7: items and commands done 2024-06-29 20:51:19 +02:00
Dani Voort d28ed0f2cc part 6: entities done (besides one issue in PokemonEntity) 2024-06-29 20:10:59 +02:00
Dani Voort 4f7b7182f9 part 5: blocks should be done 2024-06-29 17:09:52 +02:00
Paul aa7cf64ed2 More more more more more mappings swapping for Mojmaps 2024-06-29 21:28:05 +10:00
Paul 647f492fbc More more more more mappings swapping for Mojmaps 2024-06-29 20:53:42 +10:00
Paul c121028c22 More more more mappings swapping for Mojmaps 2024-06-29 11:15:37 +10:00
Paul 475a330071 More more mappings swapping for Mojmaps 2024-06-29 10:44:52 +10:00
Paul e9063cda2f More mappings swapping for Mojmaps 2024-06-29 10:28:46 +10:00
Dani Voort 171def5278 part 4: fix a braindead-refactor-moment 2024-06-29 02:03:11 +02:00
Dani Voort a8229cfb0c part 3: partially done blocks 2024-06-29 02:01:37 +02:00
Hiroku 155ff3dfed Merge branch 'feature/fix-property-extraction-nickname' into 'main'
fix PokemonProperties#asString prefixing nicknames with a '$'

See merge request cable-mc/cobblemon!1079
2024-06-28 23:59:23 +00:00
Dani Voort 2d13da63fb part 2: battles packages 2024-06-29 00:43:21 +02:00
Dani Voort 514feb60f9 part 1: advancement & api packages 2024-06-29 00:34:12 +02:00
Licious 5b3eeeabf8 Add new items, update tag folder names for 1.21 convention 2024-06-28 09:02:15 +01:00
JazzMcNade 22385421ef Lang fix for range messaging 2024-06-28 01:25:53 -05:00
Paul af678af2df Packet fixes, lan joins now work 2024-06-28 14:05:13 +10:00
Paulandapion 0db5292e44 Disable multi project optimization 2024-06-27 20:03:46 -04:00
Apion 257352c75d Merge branch 'held-item-manager-item-checker' into 'main'
Held item manager item checker

See merge request cable-mc/cobblemon!883
2024-06-27 23:14:34 +00:00
Polymeta 01a5ef46a5 fix PokemonProperties#asString prefixing nicknames with a '$' 2024-06-28 00:14:08 +01:00
JazzMcNade dc103d286b Interaction wheel no longer lies about where it is actually clickable 2024-06-26 20:58:31 -05:00
Lily 766a7e5595 filled in a ton of missing langs 2024-06-26 19:43:46 -04:00
Paul 9f75d842d8 Lil generic cleanup 2024-06-26 19:47:58 +10:00
Paul 636e938789 Broader applyEffects functionality, implemented cry function in dex 2024-06-26 19:28:25 +10:00
broccoli 5f380b824b begin moving to mojmap 2024-06-25 15:12:07 +01:00
Paul 5150a96944 Merge remote-tracking branch 'origin/main' into sega_bass_pro_fishing_2
# Conflicts:
#	.gitlab-ci.yml
2024-06-25 07:49:40 +10:00
Paul 26a4e9a7d8 Fixed misplaced \r in PokedexEntryProgress tripping up the license checker 2024-06-24 18:59:11 +10:00
Paul 6fd1e31c87 Fixed size display for dex 2024-06-24 18:41:00 +10:00
Paul 85a855be97 Licenses 2024-06-24 14:39:05 +10:00
Paul 4d108e424e Dex ported to 1.21 2024-06-24 14:37:34 +10:00
Paul b1333e490f Merge branch 'refs/heads/sega_bass_pro_fishing_2' into poker-decks
# Conflicts:
#	common/src/main/kotlin/com/cobblemon/mod/common/Cobblemon.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/CobblemonNetwork.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/advancement/criterion/BattleCountableCriterion.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/api/gui/GuiUtils.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/client/CobblemonBakingOverrides.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/client/CobblemonClient.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/client/gui/PokemonGuiUtils.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/client/gui/battle/BattleOverlay.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/client/gui/battle/subscreen/BattleSwitchPokemonSelection.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/client/render/models/blockbench/PoseableEntityModel.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/data/CobblemonDataProvider.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/events/AdvancementHandler.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/net/messages/client/battle/BattleInitializePacket.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/net/messages/client/starter/SetClientPlayerDataPacket.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/util/PlayerExtensions.kt
#	common/src/main/resources/assets/cobblemon/lang/en_us.json
2024-06-24 11:20:24 +10:00
Village 9a57fc5d40 🃏 2024-06-23 20:08:32 -04:00
Paul ab987fba58 Merge branch 'refs/heads/main' into sega_bass_pro_fishing_2 2024-06-23 17:50:18 +10:00
Hiroku 3c2c706878 Update .gitlab-ci.yml file 2024-06-23 07:40:58 +00:00
Paul 78bce64df2 Fixed hisui pokedex data not migrated to new format stuff 2024-06-23 16:53:31 +10:00
Paul 8625c754cd Fixed crashing on server environments caused by SOMEONE who was messing with berry mulch 2024-06-23 15:36:47 +10:00
Paul 9ddd11205e Merge branch 'refs/heads/1.21' into sega_bass_pro_fishing_2 2024-06-22 17:17:18 +10:00
Paul 9ebd655909 Merge remote-tracking branch 'origin/main' into sega_bass_pro_fishing_2
# Conflicts:
#	common/src/main/kotlin/com/cobblemon/mod/common/client/render/models/blockbench/pokemon/gen1/MagmarModel.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/client/render/models/blockbench/pokemon/gen2/MagbyModel.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/client/render/models/blockbench/pokemon/gen4/MagmortarModel.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/client/render/models/blockbench/pokemon/gen8/DreepyModel.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/entity/pokemon/PokemonEntity.kt
2024-06-22 17:07:03 +10:00
Paul 51e10bbb3f Licenses 2024-06-22 17:03:36 +10:00
Paul 7cd4c9856f Fixed Pokémon sendout effects not playing until you look at the Pokémon 2024-06-22 16:16:58 +10:00
Paul 8b2a20f542 Fixed particle effects not being visible (vertex order has changed) 2024-06-22 15:49:07 +10:00
Paul 8093bc510c Speculated changes for particle issues 2024-06-22 11:01:08 +10:00
Hiroku d06a371129 Merge branch 'shouldermon-sneaking-fix' into 'main'
Shouldermon Sneaking Edits

Closes #786

See merge request cable-mc/cobblemon!950
2024-06-21 23:59:43 +00:00
Hiroku eb55003d14 Merge branch 'crumbling-arch' into 'main'
i hate the crumbling arch

See merge request cable-mc/cobblemon!1057
2024-06-21 23:49:17 +00:00
Hiroku facb6b9910 Merge branch 'implement_pokemon' into 'main'
Some stuff

See merge request cable-mc/cobblemon!1063
2024-06-21 23:48:58 +00:00
Frank The FarmerandHiroku cf685ac098 Some stuff 2024-06-21 23:48:58 +00:00
Hiroku 0b2c5c0418 Merge branch 'tmetcalfe89/fix-testpartyslot-species-check' into 'main'
fixed comparison not using namespace in `b` of `a != b`

See merge request cable-mc/cobblemon!1071
2024-06-21 23:03:02 +00:00
Hiroku 3bfccdc0a5 Merge branch 'main' into 'main'
Relocate groups exported by GraalJS - Fix Crash on GraalVM

See merge request cable-mc/cobblemon!1074
2024-06-21 23:02:17 +00:00
Hiroku 6fd5904b12 Merge branch 'main' into 'main'
Add Lang for Apricorn Blocks

See merge request cable-mc/cobblemon!1075
2024-06-21 23:01:38 +00:00
Hiroku 8d942dc6e2 Merge branch 'tags/update' into 'main'
Updated all tags documentation

See merge request cable-mc/cobblemon!979
2024-06-21 22:40:44 +00:00
WaldleuferandHiroku a9a98b3810 Updated all tags documentation 2024-06-21 22:40:43 +00:00
Joseph T. McQuigg ee9baa8131 Add Lang for Apricorn Blocks 2024-06-21 13:20:40 -04:00
Paul 7bb8eb29cf Probable correction to some of the particle materials we probably don't even use 2024-06-21 22:19:42 +10:00
Paul 33c0897534 Fixed dialogue regressions from port, corrected potion effect TODOs 2024-06-21 21:52:13 +10:00
CanadianBacon 970aaee6c6 Relocate groups exported by GraalJS
org.graalvm -> com.cobblemon.mod.relocations.graalvm
com.oracle -> com.cobblemon.mod.relocations.oracle
2024-06-17 08:22:20 +02:00
Paul c83cfb2439 1.21 now boots on Fabric 2024-06-17 12:30:10 +10:00
Paul 995ffc165e Mostly ported to 1.21 2024-06-17 11:19:09 +10:00
Paul f548cd8570 Merge remote-tracking branch 'origin/1.20.5' into sega_bass_pro_fishing_2 2024-06-17 09:22:44 +10:00
Hiroku f6124d7474 Merge branch 'initiate_battle_while_recalling_bugfix' into 'main'
Fixes issue #872

Closes #872

See merge request cable-mc/cobblemon!1072
2024-06-16 08:07:16 +00:00
Notepadccino a0300ccd18 Update CHANGELOG.md 2024-06-16 08:05:22 +00:00
Nick 00543bdf91 I prefer rocks anyways 2024-06-15 19:55:36 -07:00
notepadccino 486056d7f0 Fixes issue #872 2024-06-14 16:52:12 +02:00
Paul 0f7dc57429 Mergo conflicto dispellus 2024-06-14 14:35:26 +10:00
Paul 2f0dd36214 Merge branch 'refs/heads/1.20.5' into sega_bass_pro_fishing_2
# Conflicts:
#	common/src/main/kotlin/com/cobblemon/mod/common/client/CobblemonClient.kt
2024-06-14 14:25:17 +10:00
Hiroku 03ca6a4396 Merge branch 'tmetcalfe89/fix-energy-root-reviving' into 'main'
fixed energy root reviving

See merge request cable-mc/cobblemon!1065
2024-06-14 04:13:20 +00:00
Deltric bad5f0aad7 pokemon item 2024-06-13 23:01:16 -05:00
Paul 7223c6db5e More evo and move scroll corrections, started fixing up starter selection 2024-06-14 13:27:10 +10:00
Paul 1e5744ad87 Merge remote-tracking branch 'origin/1.20.5' into 1.20.5 2024-06-14 13:09:21 +10:00
Paul b6ed67308a Fixed evo and move swap scrolls 2024-06-14 12:51:07 +10:00
apion 88808e8548 Changed gradle run configs to use a username matched to UUID 2024-06-13 22:26:53 -04:00
tmetcalfe89 691c52eed0 changelog 2024-06-13 19:05:02 -07:00
tmetcalfe89 a6765c0328 fixed comparison not using namespace in b of a != b 2024-06-13 19:01:08 -07:00
JazzMcNade 0e7b9bdd0c Refactoring getSendoutPosition 2024-06-13 20:02:30 -05:00
Hiroku b2d26abc4b Merge branch 'Fixes901' into 'main'
Fix For 901

Closes #901

See merge request cable-mc/cobblemon!1069
2024-06-14 00:32:08 +00:00
JazzMcNade 9c8ff24bf2 Enforcement of minimum spacing for pokemon entities during battle. 2024-06-12 01:20:22 -05:00
JazzMcNade 3738b035d1 Changed allowed ranges and range checking for most interactions 2024-06-11 20:15:45 -05:00
Hiroku 3f838a9d8a Merge branch 'nickname-render-fix' into '1.20.5'
Fix nickname styling affecting the rendering of the level label.

See merge request cable-mc/cobblemon!1070
2024-06-11 09:29:40 +00:00
Licious 8152f518f0 Fix nickname styling affecting the rendering of the level label. 2024-06-11 10:20:12 +01:00
JazzMcNade ebb677cc9c Don't read the current hp until you've fully calculated the max hp 2024-06-09 14:53:28 -05:00
Licious f181aabb3c Merge branch 'fix-898' into 'main'
Fix lack of side check when instancing Pokemon on PokemonEntity

Closes #898

See merge request cable-mc/cobblemon!1068
2024-06-09 17:43:34 +00:00
Licious 4df5e987c7 Fix lack of side check when instancing Pokemon on PokemonEntity 2024-06-09 17:43:33 +00:00
tmetcalfe89 3026e5c66f changelog 2024-06-09 10:39:43 -07:00
tmetcalfe89 f2310d8979 Merge branch 'main' of https://gitlab.com/cable-mc/cobblemon into tmetcalfe89/fix-energy-root-reviving 2024-06-09 10:39:22 -07:00
Paul ceb5c0c7f5 Fixed many pasture block issues from the port 2024-06-09 21:39:37 +10:00
Paul 9fa0ddaeb7 Fixed battle overlay issue with pokemon tiles 2024-06-09 13:27:11 +10:00
Paul 4aa55c4174 Merge remote-tracking branch 'origin/1.20.5' into sega_bass_pro_fishing_2 2024-06-09 13:06:04 +10:00
apion 4ca8f2ef4d Fixed conditional loading of botany pots compat 2024-06-08 22:58:36 -04:00
Paul f821604018 Merge remote-tracking branch 'origin/1.20.5' into sega_bass_pro_fishing_2
# Conflicts:
#	common/src/main/kotlin/com/cobblemon/mod/common/CobblemonItemComponents.kt
#	common/src/main/resources/cobblemon-common.accesswidener
2024-06-09 12:44:52 +10:00
apion 47b5864975 Fixed Pokemon hitboxes not being set. 2024-06-08 22:43:20 -04:00
Paul 9996c06f69 Many more fixes for 1.20.6 2024-06-09 12:42:38 +10:00
Nick ede880344f Templating of new Item Components 2024-06-08 19:25:02 -07:00
Paul 5083c4e472 Merge remote-tracking branch 'origin/1.20.5' into sega_bass_pro_fishing_2 2024-06-09 12:11:04 +10:00
Paul a993cd9e81 License 2024-06-09 12:10:33 +10:00
Paul 045501fb50 Corrected many things for 1.20.6 2024-06-09 12:02:39 +10:00
apion e3b1b4ee34 Fixed pokemon nicknames not serializing 2024-06-08 21:42:01 -04:00
apion 363be6f2cb Fixed issue from merge 2024-06-08 21:19:29 -04:00
apion e60fd608bf Fix broken id and fixed AspectCriterion 2024-06-08 21:15:35 -04:00
apion 939e4eae6a Fixed all campfire and smoking recipes 2024-06-08 21:04:02 -04:00
apion efd633fbdf Fixed all blasting recipes 2024-06-08 20:58:34 -04:00
apion 20dd3e2a7f Fixed all smelting recipes 2024-06-08 20:56:15 -04:00
apion 33f0a619c1 Fix a BUNCH of stone cutter recipes 2024-06-08 20:52:05 -04:00
apion 4afdbbb13e Fix a BUNCH of recipes 2024-06-08 20:36:48 -04:00
apion 5597495f4e Fix some JSONs that were erroring 2024-06-08 20:25:19 -04:00
apion c63ea840ec Fix a bunch of advancements 2024-06-08 19:44:01 -04:00
Paul e3ca678cd8 Merge remote-tracking branch 'origin/1.20.5' into sega_bass_pro_fishing_2
# Conflicts:
#	common/src/main/kotlin/com/cobblemon/mod/common/Cobblemon.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/CobblemonNetwork.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/api/molang/MoLangFunctions.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/api/net/serializers/StringSetDataSerializer.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/battles/BattleBuilder.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/client/gui/dialogue/RenderableFace.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/client/particle/ParticleStorm.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/client/render/block/DisplayCaseRenderer.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/client/render/models/blockbench/PoseableEntityModel.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/client/render/models/blockbench/pokemon/gen5/ConkeldurrModel.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/client/render/models/blockbench/pokemon/gen5/GolettModel.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/client/render/models/blockbench/pokemon/gen5/GolurkModel.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/entity/generic/GenericBedrockEntity.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/entity/pokeball/EmptyPokeBallEntity.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/net/messages/client/animation/PlayPosableAnimationPacket.kt
#	common/src/main/resources/cobblemon-common.accesswidener
#	fabric/src/main/kotlin/com/cobblemon/mod/fabric/client/CobblemonFabricClient.kt
#	gradle.properties
2024-06-09 09:43:40 +10:00
apion 3ba761df2b Fixed criteria registration 2024-06-08 19:32:54 -04:00
Nick 03fb363420 Merge remote-tracking branch 'origin/1.20.5' into 1.20.5 2024-06-08 16:09:14 -07:00
Nick 24315154fc Fix a merge conflict for fossil multiblock structure 2024-06-08 16:09:00 -07:00
apion 731b904a42 Fixed LootInjector 2024-06-08 18:58:14 -04:00
Nick bb4c3d8a48 Fix libs.versions.toml 2024-06-08 15:56:17 -07:00
Nick 9dc851d052 Add an image to our buildscript 2024-06-08 15:54:57 -07:00
Nick fc06b04e47 Merge remote-tracking branch 'origin/1.20.5' into 1.20.5
# Conflicts:
#	common/src/main/kotlin/com/cobblemon/mod/common/Cobblemon.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/api/spawning/condition/SpawningCondition.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/block/BerryBlock.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/block/BindingSoilBlock.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/block/RestorationTankBlock.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/block/chest/GildedChestBlock.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/block/entity/GildedChestBlockEntity.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/block/entity/RestorationTankBlockEntity.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/block/multiblock/FossilMultiblockStructure.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/client/render/models/blockbench/PoseableEntityModel.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/command/SpawnPokemonFromPool.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/entity/pokemon/PokemonEntity.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/integration/adorn/AdornCompatibility.kt
#	fabric/src/main/java/com/cobblemon/mod/fabric/mixin/GuiMixin.java
#	fabric/src/main/kotlin/com/cobblemon/mod/fabric/CobblemonFabric.kt
#	gradle/build-logic/src/main/kotlin/cobblemon.base-conventions.gradle.kts
#	gradle/wrapper/gradle-wrapper.properties
#	neoforge/build.gradle.kts
#	neoforge/src/main/kotlin/com/cobblemon/mod/neoforge/CobblemonNeoForge.kt
2024-06-08 15:52:31 -07:00
Nick ac5f9ac3c5 Sync with main, to the best of our abilities. Fixes some primary blurring on common menus 2024-06-08 15:50:32 -07:00
apion 31323eb53e Fix some issues from the main merge and a StackOverflow in PasturePokemonScrollList 2024-06-08 18:28:46 -04:00
JazzMcNade 7a97b7e92a Added the ability to empty a move slot (forget a move) on the move swap screen 2024-06-08 17:28:09 -05:00
apion ef01482a3d Fixed some serialization issues 2024-06-08 17:59:58 -04:00
Hiroku 65971386f2 Merge branch 'Myslippy-main-patch-82434' into 'main'
Update CHANGELOG.md

See merge request cable-mc/cobblemon!1062
2024-06-08 21:27:17 +00:00
Hiroku 19b5dc7024 Merge branch '1.20.5-with-main-stuff' into '1.20.5'
But what if we brought main into 1.20.5

See merge request cable-mc/cobblemon!1066
2024-06-08 21:26:30 +00:00
apion 8fa4f7b5c2 Fixed build 2024-06-08 17:16:42 -04:00
Paul 81498888bd Some corrections 2024-06-08 20:00:16 +10:00
Paul c1c9f8e235 Fix some project config stuff 2024-06-08 18:38:09 +10:00
Paul 4dac02d68c Merge remote-tracking branch 'origin/1.20.5' into 1.20.5
# Conflicts:
#	common/src/main/kotlin/com/cobblemon/mod/common/Cobblemon.kt
#	gradle/libs.versions.yml
#	neoforge/build.gradle.kts
2024-06-08 16:42:47 +10:00
Paul d631e89645 Merge remote-tracking branch 'origin/main' into 1.20.5
# Conflicts:
#	common/build.gradle.kts
#	common/src/main/kotlin/com/cobblemon/mod/common/CobblemonNetwork.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/api/multiblock/MultiblockBlock.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/api/pokemon/evolution/Evolution.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/block/BerryBlock.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/block/RestorationTankBlock.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/block/chest/GildedChestBlock.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/block/entity/GildedChestBlockEntity.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/block/entity/RestorationTankBlockEntity.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/block/multiblock/FossilMultiblockStructure.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/client/particle/ParticleStorm.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/client/render/models/blockbench/PoseableEntityModel.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/command/SpawnPokemonFromPool.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/entity/pokemon/PokemonEntity.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/integration/adorn/AdornCompatibility.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/integration/jei/berry/BerryMutationProvider.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/integration/jei/berry/BerryMutationRecipe.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/pokemon/evolution/variants/ItemInteractionEvolution.kt
#	fabric/build.gradle.kts
#	fabric/src/main/kotlin/com/cobblemon/mod/fabric/CobblemonFabric.kt
#	gradle.properties
#	gradle/build-logic/src/main/kotlin/cobblemon.base-conventions.gradle.kts
#	gradle/libs.versions.yml
#	gradle/wrapper/gradle-wrapper.properties
#	neoforge/build.gradle.kts
#	neoforge/src/main/kotlin/com/cobblemon/mod/neoforge/CobblemonNeoForge.kt
#	settings.gradle.kts
2024-06-08 16:41:34 +10:00
Nick 384724a906 Merge remote-tracking branch 'origin/1.20.5' into 1.20.5
# Conflicts:
#	common/src/main/kotlin/com/cobblemon/mod/common/Cobblemon.kt
#	gradle/libs.versions.yml
#	neoforge/build.gradle.kts
2024-06-07 23:24:06 -07:00
apion 245683832b Added the idea of UnsplittablePackets 2024-06-08 02:02:27 -04:00
Nick 639417d6c8 Merge remote-tracking branch 'refs/remotes/origin/main' into 1.20.5
# Conflicts:
#	common/build.gradle.kts
#	common/src/main/kotlin/com/cobblemon/mod/common/CobblemonNetwork.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/api/multiblock/MultiblockBlock.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/api/pokemon/evolution/Evolution.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/block/BerryBlock.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/block/RestorationTankBlock.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/block/chest/GildedChestBlock.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/block/entity/GildedChestBlockEntity.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/block/entity/RestorationTankBlockEntity.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/block/multiblock/FossilMultiblockStructure.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/client/particle/ParticleStorm.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/client/render/models/blockbench/PoseableEntityModel.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/command/SpawnPokemonFromPool.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/entity/pokemon/PokemonEntity.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/integration/adorn/AdornCompatibility.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/integration/jei/berry/BerryMutationProvider.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/integration/jei/berry/BerryMutationRecipe.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/pokemon/evolution/variants/ItemInteractionEvolution.kt
#	fabric/build.gradle.kts
#	fabric/src/main/kotlin/com/cobblemon/mod/fabric/CobblemonFabric.kt
#	gradle.properties
#	gradle/build-logic/src/main/kotlin/cobblemon.base-conventions.gradle.kts
#	gradle/libs.versions.yml
#	gradle/wrapper/gradle-wrapper.properties
#	neoforge/build.gradle.kts
#	neoforge/src/main/kotlin/com/cobblemon/mod/neoforge/CobblemonNeoForge.kt
#	settings.gradle.kts
2024-06-07 22:44:45 -07:00
apion 6f7e3cf594 Neoforge now boots to menu 2024-06-08 00:35:05 -04:00
apion 9570ce45ef Fix a bunch of NeoForge issues, also moved ItemComponents and Advancement Critera to PlatformRegistries 2024-06-08 00:18:20 -04:00
apion 2cda836703 Move all deps to 1.20.6 2024-06-07 22:25:25 -04:00
apion 5fd36954e0 Use codecs where we should be using codecs 2024-06-07 22:01:29 -04:00
apion 53c3808203 Removed more pokecenter files and fixed BrewingRecipeRegistryMixin 2024-06-07 21:42:40 -04:00
Paul a5be2a1761 Fix missing datatracker init 2024-06-08 11:40:23 +10:00
apion 6768a9f528 Remove broken structures, and block state prop on TumblestoneBlock 2024-06-07 21:27:42 -04:00
Paul c97ceef6f8 Migrated heaps of packets over to RegistryByteBuf, 1.20.5 vers now compiles 2024-06-08 11:00:07 +10:00
Paul f59e3b53a1 Reworked packet rego for fabric and neo 2024-06-08 10:15:23 +10:00
tmetcalfe89 5b52fe5479 fixed energy root reviving 2024-06-07 08:08:19 -07:00
apion 2acac11997 Split up network managing tasks into payload registry and handler registry. Needs cleanup, and need to figure out where some of these methods actually need to be called. Also I only really worked on Fabric ATM 2024-06-07 00:52:44 -04:00
Paul 56223cbd36 Fabric client packet stuff 2 2024-06-07 14:07:53 +10:00
Deltric 985c68e266 read enum set 2024-06-06 22:38:56 -05:00
Paul 4e69d70331 Fabric client packet stuff 2024-06-07 13:25:12 +10:00
Paul b7892c3510 Merge remote-tracking branch 'origin/1.20.5' into 1.20.5 2024-06-07 12:36:14 +10:00
Paul ed246384d7 Various packet fixes 10 2024-06-07 12:36:04 +10:00
Deltric 106eee622c widen access 2024-06-06 21:33:27 -05:00
Paul 2bfe51d82b Various packet fixes 9 2024-06-07 12:24:56 +10:00
Deltric 8036dcb0c3 couple more packets 2024-06-06 21:23:47 -05:00
apion c6642ec707 More 1.20.5 2024-06-06 22:23:39 -04:00
Paul 5e60446f3c Various packet fixes 8 2024-06-07 12:20:49 +10:00
Deltric fe6be77a30 couple more packets 2024-06-06 21:19:49 -05:00
apion f73b3b22b6 More 1.20.5 2024-06-06 22:15:54 -04:00
Deltric 6e801caa19 couple more packets 2024-06-06 21:14:44 -05:00
Paul bca3903fc7 Various packet fixes 7 2024-06-07 12:14:22 +10:00
Paul e70234e5a9 Merge remote-tracking branch 'origin/1.20.5' into 1.20.5 2024-06-07 12:12:25 +10:00
Paul 88f9094bbe Various packet fixes 6 2024-06-07 12:12:10 +10:00
apion e5dd56d9fa More 1.20.5 2024-06-06 22:09:54 -04:00
Paul 793862e834 Various packet fixes 5 2024-06-07 12:08:26 +10:00
apion 75dd1cc9f9 More 1.20.5 2024-06-06 22:07:48 -04:00
Deltric c90f80c16e couple changes 2024-06-06 21:05:20 -05:00
apion 02fda8ab7c More 1.20.5 2024-06-06 22:03:25 -04:00
Paul df1924f751 Various packet fixes 4 2024-06-07 12:00:44 +10:00
apion 059b8bb251 Merge remote-tracking branch 'origin/1.20.5' into 1.20.5 2024-06-06 21:55:35 -04:00
apion b72be56330 More 1.20.5 2024-06-06 21:55:28 -04:00
Deltric 74db2cddaf updated species imports 2024-06-06 20:55:06 -05:00
Paul 7551c40c2b Various packet fixes 3 2024-06-07 11:53:22 +10:00
Deltric 383f254652 possible component implementation for pokemon item 2024-06-06 20:50:18 -05:00
apion 41f2ec0585 More 1.20.5 2024-06-06 21:48:48 -04:00
Paul addf2332bc Various packet fixes 2 2024-06-07 11:48:14 +10:00
Paul 8ff891749a Various packet fixes 2024-06-07 11:42:34 +10:00
apion 8d3bdf7e4c More 1.20.5 2024-06-06 21:42:04 -04:00
Paul 8018e4079c writeUuid readUuid writePartyPosition readPartyPosition writePCPosition readPartyPosition 2024-06-07 11:35:48 +10:00
apion d9bcd2139a More 1.20.5 2024-06-06 21:31:02 -04:00
Paul 38394794db readText writeText readEntityDimensions 2024-06-07 11:27:43 +10:00
apion bfba3b248f More 1.20.5 2024-06-06 21:24:07 -04:00
Paul c41485c265 writeMap readMap 2024-06-07 11:23:19 +10:00
apion a4273f61e6 More 1.20.5 2024-06-06 21:16:22 -04:00
apion 1c5f2a4533 More 1.20.5 2024-06-06 20:41:23 -04:00
Apion 1e7fa34c44 Merge branch 'no-entity-rendering' into 'sega_bass_pro_fishing_2'
Major refactor of animation system

See merge request cable-mc/cobblemon!1055
2024-06-06 11:22:07 +00:00
HirokuandApion 58e82f1bf6 Major refactor of animation system 2024-06-06 11:22:06 +00:00
Hiroku 13ca5871cb Merge branch 'corals_restoration_tank_bugfix' into 'main'
Fix issue #892

Closes #892

See merge request cable-mc/cobblemon!1064
2024-06-05 21:48:10 +00:00
notepadccino 54ba99a002 Fix issue #892
The #minecraft:corals tag seems to apply to blocks, not to items. For items you'd either need to trace back the tags of whichever block is placed by the item, or just specify the items one by one. I went with the simpler option, but if needed the former solution can always be implemented.
2024-06-05 19:11:08 +02:00
JPAKx4 2ac91b0731 Added data for pokedex and classes that process that data. Utility Scripts also contains two scripts used for generating data. Data not final. 2024-06-04 20:36:24 -05:00
JazzMcNade c689f7c48e Merge branch 'main' into TheSketchySmeargle 2024-06-04 00:24:20 -05:00
JazzMcNade 12592f437e Fixed bug with clients not receiving power point updates post battle for Sketch acquired moves on Smeargle 2024-06-04 00:23:01 -05:00
apion bd0618840a More 1.20.5 2024-06-04 00:14:11 -04:00
Myslippy b40f47b00d Update CHANGELOG.md 2024-06-03 03:00:34 +00:00
Hiroku 800d348611 Merge branch 'mushroom_restoration_fabric_fix' into 'main'
Fix #890

Closes #890

See merge request cable-mc/cobblemon!1059
2024-06-03 00:04:49 +00:00
Hiroku d4dd48b3ff Merge branch 'implement_pokemon' into 'main'
5 new cries + bugfix

See merge request cable-mc/cobblemon!1061
2024-06-02 23:31:48 +00:00
Sterrezo 89d6bb2356 Merge branch 'main' into implement_pokemon 2024-06-02 21:48:03 +02:00
JazzMcNade f315240e4a Updated Changelog, grammar correction 2024-06-02 13:54:06 -05:00
JazzMcNade 212b6a34b4 More DRY refactor of calculating Hidden Power. Added comments. 2024-06-02 13:42:54 -05:00
notepadccino 3a65425015 Fix mushroom tag issue
the #minecraft:mushrooms tag is a forge thing, it doesn't exist in fabric.
However I've tested out corals as well and they don't work either which is odd, since they should have a #minecraft:corals tag
2024-06-02 18:21:47 +02:00
JazzMcNade 22565a0ed5 Fixed a bug with recognizing that a pair of players already have an existing challenge 2024-06-01 21:11:26 -05:00
JazzMcNade e9085a3339 Added lang key for multibattles in the interact gui 2024-06-01 20:11:52 -05:00
mia 2454edcaa4 cleanup 2024-06-01 19:30:22 -04:00
mia 9357686f7a fixes #786, adjust offsets 2024-06-01 19:08:35 -04:00
JazzMcNade 5d32d043a1 Refactored getSendoutPosition(), adjusted singles sendout positions 2024-06-01 16:10:30 -05:00
JazzMcNade df7a1a3f98 Merge branch 'main' into ShowMeYourTrue(Hidden)Power 2024-06-01 15:35:36 -05:00
JazzMcNade 3136da53f8 Added hiddenpower actioneffect placeholder that stops it from appearing like a water attack 2024-06-01 14:37:32 -05:00
JazzMcNade 1028ba07af Pokemon in single battles are sent out a bit to the side for better viewing 2024-06-01 13:19:54 -05:00
Apion fad10da89f Merge branch 'forcespawn_cmd_fix' into 'main'
Fixes #877

Closes #877

See merge request cable-mc/cobblemon!1056
2024-06-01 15:19:06 +00:00
Slippy 928dfcdadf i hate the crumbling arch 2024-06-01 08:47:58 -05:00
notepadccino 055ce8168c Fixes #877 2024-06-01 15:42:21 +02:00
JazzMcNade f6008cc434 Refactoring, Added type logic for "pixilate" like abilities and normalize 2024-06-01 03:09:14 -05:00
Plastered_Crab 5e74af8a9e - changes to try to stop instance of casting sound depending on scenario 2024-05-31 20:52:13 -07:00
Hiroku e4da05fd50 we are snapshotting thx 2024-06-01 00:24:30 +00:00
Paul c1d97444ac Merge remote-tracking branch 'origin/main' into sega_bass_pro_fishing_2
# Conflicts:
#	CHANGELOG.md
#	common/src/main/kotlin/com/cobblemon/mod/common/CobblemonItems.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/api/spawning/BestSpawner.kt
2024-06-01 09:42:00 +10:00
Paul 3a17a88ea2 Changelog stuff [skip-ci] 2024-06-01 09:38:50 +10:00
Hiroku 09abf30421 Merge branch 'no-middle-stage-ha-fix' into 'main'
Hidden Ability slot for cocoons.

See merge request cable-mc/cobblemon!1020
2024-05-31 23:38:18 +00:00
Hiroku 06ea4b4cec Merge branch 'berry-changes' into 'main'
Berry changes

See merge request cable-mc/cobblemon!1030
2024-05-31 23:35:59 +00:00
Hiroku 8799308800 Merge branch 'Frank's-Coding-Farm' into 'main'
Enabled Seafloor spawns & Disabled spawning in slabs

See merge request cable-mc/cobblemon!1040
2024-05-31 23:35:24 +00:00
Frank The FarmerandHiroku d727fde5b3 Enabled Seafloor spawns & Disabled spawning in slabs 2024-05-31 23:35:24 +00:00
Hiroku ce5e93b552 Merge branch 'main' into 'main'
Fixes #878

Closes #878

See merge request cable-mc/cobblemon!1052
2024-05-31 23:34:39 +00:00
Hiroku 77c0138c09 Merge branch 'get-sticked' into 'main'
Leeks are Sticks (visually)

See merge request cable-mc/cobblemon!1054
2024-05-31 23:34:25 +00:00
Sterrezo 0ded29dcad Added cries to Timburr and Golett lines. Updated the changelog with a recent Cubone sound fix. 2024-05-31 14:06:02 +02:00
Sterrezo 62fae979eb Merge branch 'main' into implement_pokemon 2024-05-31 13:40:42 +02:00
JazzMcNade 09e5dc19cf Hidden Power's move tile now shows its effective typing 2024-05-31 00:55:06 -05:00
dhi_holo dc727fe56d Leeks are Sticks (visually)
Medicinal and Roasted Leeks now reference a new display setting, making them held like sticks/rods.

That's it, that's the entire change, it's a small parity thing, this is what I like doing, okay.
2024-05-31 10:19:06 +10:00
Plastered_Crab ca8243c13b - added new field to SoundManager mixin to allow for sounds to be stopped and casting sounds get stopped when bobber hits surface or casting is cancelled 2024-05-30 15:38:31 -07:00
Plastered_Crab 0386650acb - adjusted pokerod sounds 2024-05-30 13:17:26 -07:00
Plastered_Crab 44f719ee16 - added in new rod sounds and water sounds 2024-05-29 21:29:56 -07:00
Apion 4db36ef6fa Merge branch 'tmetcalfe89/abstract-shedding' into 'main'
abstracted shedinja logic for datapackability

See merge request cable-mc/cobblemon!1014
2024-05-30 04:02:21 +00:00
Timothy MetcalfeandApion e350d920b5 abstracted shedinja logic for datapackability 2024-05-30 04:02:21 +00:00
tmetcalfe89 4b89699e3e refactored to add points to feature instead of species 2024-05-29 20:30:42 -07:00
Apion 2a0ae1a466 Merge branch 'tumbled-bricks' into 'main'
Tumbled Blocks and Bricks

See merge request cable-mc/cobblemon!1051
2024-05-30 02:58:57 +00:00
dhi_holoandApion 3b8f7f23a3 Tumbled Blocks and Bricks 2024-05-30 02:58:57 +00:00
apion 72cf161f0d Merge branch 'refs/heads/main' into berry-changes
# Conflicts:
#	CHANGELOG.md
2024-05-29 22:24:12 -04:00
tmetcalfe89 cbace71fb1 merged main in 2024-05-29 19:07:29 -07:00
apion fe3d8d3185 Changed CHANGELOG.md merge strategy 2024-05-29 22:06:53 -04:00
apion d04ed7a519 Add empty headers to CHANGELOG.md 2024-05-29 21:51:57 -04:00
Apion e6e9137cb5 Merge branch 'AmauraFetusClippingFix' into 'main'
Amaura fetus clipping fix

Closes #873

See merge request cable-mc/cobblemon!1053
2024-05-30 00:49:20 +00:00
JazzMcNade 86bd2240c3 Compacted Battle portraits 2024-05-29 19:14:05 -05:00
Plastered_Crab 1414face03 Merge branch 'main' into sega_bass_pro_fishing_2
# Conflicts:
#	CHANGELOG.md
#	common/src/main/kotlin/com/cobblemon/mod/common/api/moves/animations/ActionEffectTimeline.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/api/pokemon/stats/Stats.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/client/particle/ParticleStorm.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/client/render/models/blockbench/PoseableEntityState.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/client/render/models/blockbench/pokemon/JsonPokemonPoseableModel.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/command/TestCommand.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/entity/pokemon/PokemonEntity.kt
#	gradle.properties
2024-05-28 20:45:48 -07:00
Plastered_Crab b5f131d525 - updated fishing baits, fixed shiny bait effect to use config, and fixed Bobber renderer to not have naughty variables 2024-05-28 15:38:26 -07:00
JazzMcNade 78f25b3f8b Corrected typo in changelog 2024-05-28 17:25:08 -05:00
JazzMcNade 631293e0cd UpdatedChangelog 2024-05-28 17:10:20 -05:00
JazzMcNade 2865b8140a Scaled down Amaura's fetus model to avoid clipping through the tank while animating 2024-05-28 17:07:46 -05:00
JazzMcNade 27b276fc36 Moves learned via Sketch now persist post battle 2024-05-28 16:17:12 -05:00
notepadccino be34bc4c74 Fixes #878 2024-05-28 19:12:21 +02:00
Sterrezo bae26162dd Update cubone.animation.json 2024-05-28 12:09:35 +02:00
JazzMcNade 8fdb551fe8 Merge branch 'main' into DoublesAreTheFuture 2024-05-27 01:45:17 -05:00
Paul df8f078d13 Fixed Wooloo Dubwool issues and fixed sync issues with Gimmighoul 2024-05-27 15:39:21 +10:00
Paul 309b223da9 Changelog update 4 [skip-ci] 2024-05-27 11:53:03 +10:00
Paul 75f688fa30 Changelog update 3 [skip-ci] 2024-05-27 11:48:22 +10:00
Paul d7fadd58ed Changelog update 2 [skip-ci] 2024-05-27 11:42:56 +10:00
Paul 996c7189b6 Changelog update [skip-ci] 2024-05-27 11:31:38 +10:00
Paul e1d5f07aed Fixed root part animations on JSON posers, clean up changelog, no snapshot, remove bubblebeam effect for now 2024-05-27 11:14:05 +10:00
Paul 6afe77ef0c Fixed confusion particle timing 2024-05-27 10:23:00 +10:00
Hiroku bf54f28b58 Merge branch 'move-effects' into 'main'
A bunch of particles, now with sound!

See merge request cable-mc/cobblemon!1049
2024-05-27 00:08:36 +00:00
Paul aac10e967f Reverted protect change to camera mode 2024-05-27 10:06:39 +10:00
Sterrezo 0cd9da80d7 Update sounds.json 2024-05-27 02:06:27 +02:00
Sterrezo d33f1150d2 Adjusted assets for powder moves, protect, swords dance and thunder wave. Rebalanced volumes of all moves. 2024-05-27 01:39:41 +02:00
Hiroku 216ed85da1 Merge branch 'IllusionThrownPokeballRevealFix' into 'main'
IllusionThrownPokeballRevealFix

See merge request cable-mc/cobblemon!1046
2024-05-26 23:35:07 +00:00
Sterrezo 0f3104f9d4 Merge branch 'main' into sound 2024-05-27 01:33:14 +02:00
Paul 4b70b20ab7 Fixed using confusion breaking battles lol 2024-05-27 09:26:40 +10:00
Segfault Guy 125e193b81 Broadcast messages with CLIENT species on pokeball hit. 2024-05-26 19:17:16 -04:00
Paul 1ebd249351 Fixed sleeppowder effect, added redundancy to action effects in case they run into an exception 2024-05-27 09:08:22 +10:00
Segfault Guy 74727cda48 Merge branch 'main' into IllusionThrownPokeballRevealFix 2024-05-26 18:47:53 -04:00
Paul 6a8a2489d1 Fixed structure reference to cave_support not working 2024-05-27 08:27:59 +10:00
Paul 3524931596 Fixed dyeable Pokemon not being dyeable away from white unless spawned via command, fixed creative mode players still losing the dye 2024-05-27 07:06:57 +10:00
Paul 43d9347c9c Updated zh and es_es translations 2024-05-27 06:47:56 +10:00
Tyzillion 60303504cd Changelog update. 2024-05-26 11:52:30 -04:00
Tyzillion 63db0066d3 more sounds! 2024-05-26 11:49:50 -04:00
apion 6e0270ac80 Fully moved mulch into block entity 2024-05-26 11:31:21 -04:00
apion 30070d35f6 Fully moved mulch into block entity 2024-05-26 11:23:47 -04:00
apion 8e3435479a Start trying to move mulch into block entity 2024-05-26 09:39:57 -04:00
Tyzillion 333e1fe9ae Merge branch 'main' of https://gitlab.com/cable-mc/cobblemon into move-effects 2024-05-26 09:35:42 -04:00
Tyzillion c0c8c103f4 Updated changelog 2024-05-26 09:11:47 -04:00
Tyzillion a414784cca Added sounds to sand attack and the spore mushrooms, implemented confusion cuz I forgot to last night. 2024-05-26 09:10:41 -04:00
Apion b4b01ef0b6 Merge branch 'sound' into 'main'
Updated all generic impact assets

See merge request cable-mc/cobblemon!1048
2024-05-26 12:45:16 +00:00
SterrezoandApion 04f725d72e Updated all generic impact assets 2024-05-26 12:45:16 +00:00
Sterrezo 21a32bd459 Updated all generic impact assets
Increased the volume of all generic impact sounds. Audio assets have been updated to have a 0.2ms delay to account for ogg file compression cutting the initial start of the sound, making the attack have less impact.
2024-05-26 14:25:34 +02:00
Hiroku 0257f591de Merge branch 'implement_pokemon' into 'main'
Shedinja T Pose & Little guys sliding

See merge request cable-mc/cobblemon!1047
2024-05-26 11:40:35 +00:00
Frank The FarmerandHiroku dfeeed8796 Shedinja T Pose & Little guys sliding 2024-05-26 11:40:35 +00:00
Paul 0e304a81e8 Changelog, deleted unneeded caves template pool, licenses 2024-05-26 21:33:57 +10:00
Hiroku 03acc21af1 Merge branch 'move-effects' into 'main'
Implemented Action Effects

Closes #814, #773, #840, and #841

See merge request cable-mc/cobblemon!1045
2024-05-26 11:31:20 +00:00
Hiroku 2233e6903b Merge branch '1.5-structure-fixes' into 'main'
added loot to the trapped chest in unstable caves so you can't tell which one...

See merge request cable-mc/cobblemon!1042
2024-05-26 11:25:36 +00:00
Hiroku ac281faa3b Merge branch 'main' into 'move-effects'
# Conflicts:
#   CHANGELOG.md
2024-05-26 11:07:24 +00:00
FrankTheFarmer ad7a881fdc Changelog 2024-05-26 20:20:36 +10:00
FrankTheFarmer f9a2b5cc9c Fixed Budew and Lechonk sliding if they walked for too long 2024-05-26 20:17:47 +10:00
FrankTheFarmer e2cc006c7c Fixed Shedinja T posing in battle 2024-05-26 20:17:20 +10:00
FrankTheFarmer 13240d28ea Merge branch 'main' into implement_pokemon 2024-05-26 20:00:04 +10:00
JazzMcNade 6891272516 Throwing a ball at a player owned pokemon no longer reveals Illusion 2024-05-26 03:02:49 -05:00
tmetcalfe89 9fc492d985 merged main 2024-05-25 22:08:24 -07:00
Tyzillion f9a37791b7 Evolution can now be canceled when withdrawn during evolution animation. 2024-05-26 00:17:22 -04:00
Hiroku eba784071a Merge branch 'Primary-Quirks-for-JSON' into 'main'
Primary quirks for json

See merge request cable-mc/cobblemon!1044
2024-05-26 04:10:33 +00:00
Hiroku a4435af9c0 Merge branch 'GildedChestLockAnimFix' into 'main'
GildedChestLockAnimFix

Closes #811

See merge request cable-mc/cobblemon!1043
2024-05-26 04:08:22 +00:00
Tyzillion fb6e9f3493 Merge branch 'main' of https://gitlab.com/cable-mc/cobblemon into evolution-effect
# Conflicts:
#	common/src/main/kotlin/com/cobblemon/mod/common/api/pokemon/evolution/Evolution.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/client/entity/PokemonClientDelegate.kt
2024-05-26 00:04:59 -04:00
JazzMcNade 4b0b0f813e Merge branch 'main' into GildedChestLockAnimFix 2024-05-25 22:59:01 -05:00
JazzMcNade c32da0825c Updated Changelog 2024-05-25 22:47:39 -05:00
Tyzillion 803703b6a6 Updated changelog 2024-05-25 23:43:50 -04:00
Tyzillion 668914275e Added sounds to all the powder attacks. Tweaks and fixes. 2024-05-25 23:42:02 -04:00
FrankTheFarmer af90ff6733 Added excludedLabels 2024-05-26 13:07:16 +10:00
FrankTheFarmer c657c2ea68 CHANGELOG with example. 2024-05-26 11:27:58 +10:00
FrankTheFarmer 2f567830d4 Temporary function for bedrock quirks intended for 1.5.1 2024-05-26 11:07:14 +10:00
Tyzillion 569f3c624e Implemented Cotton guard. 2024-05-25 20:38:31 -04:00
Tyzillion f30be418f9 Merge branch 'main' of https://gitlab.com/cable-mc/cobblemon into move-effects
# Conflicts:
#	CHANGELOG.md
2024-05-25 20:38:13 -04:00
JazzMcNade b851fa0d5f Merge branch 'main' into DoublesAreTheFuture 2024-05-25 19:35:26 -05:00
Tyzillion 2c50dc2d0c Implemented Ember, Powder moves, and updated other particles. Implemented Infatuation 2024-05-25 20:34:07 -04:00
Hiroku dde2e9f52a Merge branch 'fix/form-sync' into 'main'
Form Sync on Form Change Fix

See merge request cable-mc/cobblemon!1041
2024-05-26 00:02:40 +00:00
NickandHiroku 50a21d91e8 Form Sync on Form Change Fix 2024-05-26 00:02:40 +00:00
Tyzillion 58f3de13fa Implemented Ember, Powder moves, and updated other particles. 2024-05-25 13:55:44 -04:00
Tyzillion 8d67a3a909 Merge branch 'main' of https://gitlab.com/cable-mc/cobblemon into move-effects
# Conflicts:
#	CHANGELOG.md
2024-05-25 10:54:51 -04:00
JazzMcNade ad4cb8a290 Gilded Chest no longer animates to the open state on the client when the client fails to open a locked chest 2024-05-24 21:30:54 -05:00
Hiroku d9e5de5f97 Fixed pluralize usage for pose conditions 2024-05-24 22:35:48 +00:00
Hiroku e4a47af06d Merge branch 'sendout-bug' into 'main'
Fixed tiny bug, fixes #867

Closes #867

See merge request cable-mc/cobblemon!1037
2024-05-24 22:03:50 +00:00
Apion cc741c0478 Merge branch 'remulched' into 'main'
Cheap Mulch!

See merge request cable-mc/cobblemon!1039
2024-05-24 12:28:03 +00:00
dhi_holo 6887887d6b Cheap Mulch!
Made Mulch cheaper, as outlined by #866
2024-05-24 20:28:45 +10:00
Hiroku cf1100a20e Merge branch 'implement_pokemon' into 'main'
Wailord, Seedot line, and apostrophes in the changelog

See merge request cable-mc/cobblemon!1038
2024-05-24 09:46:27 +00:00
Frank The FarmerandHiroku ebc7b97e4f Wailord, Seedot line, and apostrophes in the changelog 2024-05-24 09:46:26 +00:00
FrankTheFarmer 5324b7b19e Merge branch 'main' into implement_pokemon
# Conflicts:
#	CHANGELOG.md
#	common/src/main/kotlin/com/cobblemon/mod/common/client/render/models/blockbench/pokemon/gen3/WailordModel.kt
2024-05-24 19:37:33 +10:00
FrankTheFarmer 5bddc31cbf Seedot line hitbox fixes 2024-05-24 19:30:11 +10:00
apion d65ce9222a Fixed tiny bug, fixes #867 2024-05-24 05:04:36 -04:00
FrankTheFarmer 72bc2221af Actually stopped Wailord in the chatbox for real this time 2024-05-24 18:56:27 +10:00
Apion 706221aead Merge branch 'LangFixes' into 'main'
A Couple of Lang Fixes

See merge request cable-mc/cobblemon!1035
2024-05-24 08:15:24 +00:00
Apion 26bfca893b Merge branch 'main' into 'LangFixes'
# Conflicts:
#   CHANGELOG.md
2024-05-24 07:01:46 +00:00
JazzMcNade 5f65f3c20c Updated Changelog 2024-05-24 01:47:23 -05:00
JazzMcNade 1e5239da10 Added English language keys for Rough Skin and Iron Barbs 2024-05-24 01:26:30 -05:00
JazzMcNade 7d8ec3470b Fix for Hyper Cutter / Big Pecks incorrectly stating they prevented accuracy from being lowered 2024-05-24 01:25:58 -05:00
Apion 389d2a0adc Merge branch '1.5-fixes-112313' into 'main'
1.5 fixes 112313

See merge request cable-mc/cobblemon!1034
2024-05-24 04:45:10 +00:00
apion 37433aa0c5 CHANGELOG.md 2024-05-24 00:34:04 -04:00
Paul 7fa0022095 Fixed species sync failing when madmen give pokemon more than 255 level up moves on the same level 2024-05-24 14:21:03 +10:00
Paul 9fde7a7618 Merge remote-tracking branch 'origin/main' into 1.5-fixes-112313 2024-05-24 14:18:04 +10:00
Paul 6c1f7ddd70 Putted the AttackDefenceRatioRequirement back for backcompat 2024-05-24 14:15:45 +10:00
apion 1a1cedb3aa Regenned berry data, added bone meal chance 2024-05-23 23:53:42 -04:00
Hiroku 241b83cec9 Merge branch 'implement_pokemon' into 'main'
Implementation Stuff

See merge request cable-mc/cobblemon!1027
2024-05-23 21:57:39 +00:00
Frank The FarmerandHiroku f0feb81a16 Implementation Stuff 2024-05-23 21:57:38 +00:00
apion b82287f258 Vera berry changes 2024-05-23 09:02:24 -04:00
FrankTheFarmer 9099cb4b5d Merge branch 'main' into implement_pokemon 2024-05-23 22:37:47 +10:00
FrankTheFarmer 99e0b7d995 Smeargle Mentioned 2024-05-23 22:34:58 +10:00
Hiroku 00f4052b75 Merge branch 'MoreFossilMachineFixes' into 'main'
Many Fossil Machine Fixes

See merge request cable-mc/cobblemon!1033
2024-05-23 11:02:07 +00:00
Hiroku 407c24b7c5 Merge branch 'asset-updates' into 'main'
Updated wooloo/dubwool textures and passho berry stuff

Closes #854

See merge request cable-mc/cobblemon!1031
2024-05-23 10:56:56 +00:00
FrankTheFarmer 372f44538b Smeagol 2024-05-23 15:47:13 +10:00
JazzMcNade c8904c3e38 Removed commented code, updated changelog 2024-05-23 00:24:22 -05:00
JazzMcNade 6bfc711129 Update FossilMultiblockStructure.kt 2024-05-22 23:25:46 -05:00
JazzMcNade 3d914f47ee Merge branch 'main' into MoreFossilMachineFixes 2024-05-22 23:25:26 -05:00
JazzMcNade 61891d8fe4 Refactored blockState check to for the blockstate property (credit to Charzard4261) , fixed typo 2024-05-22 21:26:49 -05:00
FrankTheFarmer 0bec3ac851 Merge branch 'main' into implement_pokemon 2024-05-23 07:21:49 +10:00
apion 1b66ee8ce3 Updated wooloo/dubwool textures and passho berry stuff 2024-05-22 03:57:34 -04:00
apion c884c556cb Remove binding soil 2024-05-22 03:37:04 -04:00
Apion 5e6091c782 Merge branch 'tmetcalfe89/revive-event' into 'main'
added fossil revived event

See merge request cable-mc/cobblemon!1029
2024-05-22 07:26:52 +00:00
Timothy MetcalfeandApion 5a2e5479e0 added fossil revived event 2024-05-22 07:26:52 +00:00
apion 9a8b481fa2 Changed berry grow timers per Vera request 2024-05-22 03:26:09 -04:00
apion e2fb31fad3 Merge branch 'refs/heads/main' into berry-changes 2024-05-22 02:39:51 -04:00
Tyzillion fc03682140 Implemented quick attack 2024-05-21 22:30:41 -04:00
JazzMcNade 07fbffaa71 Fixed refactor mistake in previous commit. 2024-05-21 20:45:54 -05:00
FrankTheFarmer 17b8dd3532 Wailord will now stop forcing its head into the chatbox 2024-05-22 09:53:31 +10:00
Tyzillion 5e2f5dadb4 Fixed some errors I ran into. 2024-05-21 19:36:11 -04:00
FrankTheFarmer 4cf8a19d43 Tyrantrum will now stop forcing its head into the chatbox 2024-05-22 09:34:12 +10:00
Tyzillion fc682d1cd1 Implemented action effects for Sand Attack, Protect, Minimize, and Swords Dance. 2024-05-21 19:13:06 -04:00
Tyzillion 7759c91f3b Merge branch 'main' of https://gitlab.com/cable-mc/cobblemon into move-effects
# Conflicts:
#	common/src/main/kotlin/com/cobblemon/mod/common/api/pokemon/evolution/Evolution.kt
2024-05-21 19:11:04 -04:00
JazzMcNade c13654f60c FossilMultiblockStructure no longer stores a created pokemon, instead the pokemon is created when the pokemon is retrieved from the machine 2024-05-21 02:36:39 -05:00
tmetcalfe89 66f1af329d abstracted hoard logic 2024-05-20 22:39:06 -07:00
Plastered_Crab edf6acb5dd - changed things for raft spawning for water surface battles for testing 2024-05-20 21:54:59 -07:00
JazzMcNade 289e9df52b Fixed Restoration Tank over consuming items when interacting with Create blocks 2024-05-20 21:23:13 -05:00
Plastered_Crab a73673b55a - Test for sending mons out on rafts 2024-05-20 18:05:34 -07:00
FrankTheFarmer f205e7f29e CHANGELOG 2024-05-21 10:18:44 +10:00
FrankTheFarmer cec031595f Merge branch 'main' into implement_pokemon 2024-05-21 10:14:21 +10:00
FrankTheFarmer af007dad17 Added missing Chingling and Chimecho spawns near bells 2024-05-21 09:54:39 +10:00
Tyzillion 5dca5a1579 Merge remote-tracking branch 'origin/move-effects' into move-effects 2024-05-20 15:57:38 -04:00
Plastered_Crab 92a2b52b46 Merge remote-tracking branch 'origin/sega_bass_pro_fishing_2' into sega_bass_pro_fishing_2 2024-05-20 08:52:12 -07:00
Plastered_Crab e6ca128498 - isSlimeChunnk is a SpawningCondition now 2024-05-20 08:51:54 -07:00
JPAKx4 ee73058f5b Added a count for amount of species with a specific knowledge level and getting the knowledge level of a specific species in ClientPokedex.kt . 2024-05-20 06:35:31 -05:00
JazzMcNade 3ebad9dc9d Fixed a Create crash when a chute attempts to access the inventory of the top half of the Restoration Tank when the bottom half has been destoryed 2024-05-19 21:27:03 -05:00
apion c93fa02616 Fixed dispatch timeline 2024-05-19 21:13:58 -04:00
Hiroku 4e1b82917b Merge branch 'Roaming-Gholdengo-Request' into 'main'
Lets Gholdengo maintain its roaming aspect

See merge request cable-mc/cobblemon!1025
2024-05-20 00:11:17 +00:00
Frank The FarmerandHiroku 3b1d257241 Lets Gholdengo maintain its roaming aspect 2024-05-20 00:11:16 +00:00
Hiroku 0b8f916648 Merge branch 'dimension-condition-uses-id-not-effects' into 'main'
Change dimension spawn condition to check with IDs not effects

See merge request cable-mc/cobblemon!1026
2024-05-20 00:11:02 +00:00
JPAKx4 1d20051888 ScrollingWidget has a function for rendering the scrollbar, which is able to be overriden. 2024-05-19 18:15:42 -05:00
Paul a7e6e638fe Added run_command molang function to general query structs and player structs 2024-05-20 09:10:04 +10:00
FrankTheFarmer 8490f3a923 Fixed Cyndaquil's flame clipping when it wasn't ignited 2024-05-20 08:17:02 +10:00
FrankTheFarmer 9bf6200163 Merge branch 'main' into implement_pokemon 2024-05-20 08:11:19 +10:00
apion 5897fff954 Added boost/unboost general particles, removed the particle from growl 2024-05-19 18:05:11 -04:00
apion 2fd2137d78 Added poison (this particle is BROKEN) 2024-05-19 17:22:09 -04:00
apion 42c4d6625e Added poison (this particle is BROKEN) 2024-05-19 17:21:52 -04:00
apion b0381d1685 We do a little refactoring 2024-05-19 16:23:41 -04:00
David Sadler 5ad7d5406a Change dimension spawn condition to check with IDs not effects 2024-05-19 18:45:34 +01:00
Paul 9ef3ea2932 Use context for flows because it's cooler, added more functions to pokemon related molang 2024-05-19 19:08:56 +10:00
apionandPaul 21ccfb8202 Added q.entity support to particle effects that are attached to entities 2024-05-19 17:19:34 +10:00
apion 3b00043b13 Got confusion kinda working, needs tweaks 2024-05-19 02:44:05 -04:00
JazzMcNade 2b403df6ef Removed client side mutations in FossilMultiblockStructure's onUse and enabled the client to enter the function 2024-05-19 01:37:04 -05:00
apion f0d5622bab Added volatile status stuff 2024-05-19 02:20:12 -04:00
apion ec28ca0c45 Added action effect for paralysis + action effect triggers for the cant command 2024-05-19 01:11:41 -04:00
Tyzillion 0d68eedc74 Merge remote-tracking branch 'origin/move-effects' into move-effects 2024-05-18 22:24:56 -04:00
Paul 38dcee3327 Merge remote-tracking branch 'origin/sega_bass_pro_fishing_2' into event-flows
# Conflicts:
#	common/src/main/kotlin/com/cobblemon/mod/common/CobblemonNetwork.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/entity/pokeball/EmptyPokeBallEntity.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/util/MoLangExtensions.kt
2024-05-19 11:27:18 +10:00
Paul 6ec008ee83 Merge remote-tracking branch 'origin/main' into 1.5-fixy
# Conflicts:
#	CHANGELOG.md
2024-05-19 11:19:13 +10:00
Hiroku f81e8ba766 Merge branch 'npcs' into 'sega_bass_pro_fishing_2'
NPC foundationwork that's not implemented but I need the tech for reasons

See merge request cable-mc/cobblemon!1024
2024-05-19 00:31:46 +00:00
Paul c969e1731b Merge remote-tracking branch 'origin/move-effects' into move-effects 2024-05-19 09:13:29 +10:00
Paul bb77c6d4a9 Fixed particle velocity not respecting drag as much as it should oops sorry 2024-05-19 09:13:17 +10:00
Tyzillion 5dfc90c0bd Merge remote-tracking branch 'origin/move-effects' into move-effects 2024-05-18 18:52:14 -04:00
apion 26a72fe6a9 I hope this works (pt. 2) 2024-05-18 18:46:58 -04:00
apion 4bb9547822 I hope this works 2024-05-18 17:08:09 -04:00
Tyzillion ffe88d75b5 Merge remote-tracking branch 'origin/move-effects' into move-effects 2024-05-18 16:08:32 -04:00
apion d8980fabbe Fix entity_scale var 2024-05-18 14:56:47 -04:00
apion 7598413e93 Merge branch 'refs/heads/particle-rave' into move-effects 2024-05-18 13:55:24 -04:00
apion b0cc4714fc Merge branch 'refs/heads/main' into move-effects
# Conflicts:
#	CHANGELOG.md
2024-05-18 13:53:45 -04:00
JazzMcNade 5aa3f34880 Added block type checks before attempting to update the blockstate from the fossilmultiblockstructure 2024-05-18 12:15:50 -05:00
Slippy 21363405fc console log spam fix for real this time 2024-05-18 12:00:11 -05:00
JazzMcNade 340be0b2a1 Fixed an issue where the lights on the restoration tank would not animate if it was facing east 2024-05-18 11:57:16 -05:00
JazzMcNade 933e29b134 Fix for TankEntityRenderer desync 2024-05-18 11:52:54 -05:00
Tyzillion 41b27e5d75 Merge branch 'main' of https://gitlab.com/cable-mc/cobblemon into move-effects
# Conflicts:
#	CHANGELOG.md
2024-05-18 10:55:29 -04:00
Tyzillion e80bf0e331 Merge remote-tracking branch 'origin/move-effects' into move-effects 2024-05-18 10:54:32 -04:00
Hiroku f4d2226ec2 Merge branch '1.5.1' into 'main'
Moar 🐛🔫

Closes #847 and #799

See merge request cable-mc/cobblemon!1023
2024-05-18 01:50:12 +00:00
apion 0fc5d5e9d7 Fixed bad null handling 2024-05-17 21:41:58 -04:00
Hiroku 972c0f6430 Merge branch 'dubwool-dye' into 'main'
Make wooloos dyable

Closes #824

See merge request cable-mc/cobblemon!1021
2024-05-18 01:40:13 +00:00
ApionandHiroku 86db95a7dc Make wooloos dyable 2024-05-18 01:40:13 +00:00
apion be95b79e4d Removed unnecessary override 2024-05-17 21:20:20 -04:00
Paul 683aa354ed Fixed particle event triggers spawning particles on the emitter, fixes #814 2024-05-18 11:10:48 +10:00
apion aa19ff2c95 Added entity scale as a particle param 2024-05-17 20:57:10 -04:00
Paul 7d5e790f75 Fixed particle rotations being inverted 2024-05-18 10:55:28 +10:00
apion 5753443ab2 Optimized a player lookup 2024-05-17 20:39:27 -04:00
apion c6b7186032 Merge branch 'refs/heads/main' into 1.5.1
# Conflicts:
#	CHANGELOG.md
2024-05-17 20:35:50 -04:00
apion 32f3be2687 Changelog 2024-05-17 20:33:24 -04:00
apion 9012d78806 Apparently Kotlin uses .equals when using ==, === is Java == behavior 2024-05-17 20:30:18 -04:00
apion fffdfb7654 Fixes bug with InvMove, closes #847 2024-05-17 20:28:57 -04:00
Tyzillion 76f17c9760 Merge remote-tracking branch 'origin/move-effects' into move-effects 2024-05-17 18:33:17 -04:00
Hiroku b314733f0b Merge branch 'Frank's-Bug-Fixing-Farm' into 'main'
Frank's bug fixing farm

See merge request cable-mc/cobblemon!1019
2024-05-17 10:44:01 +00:00
Frank The FarmerandHiroku d5aa07fe91 Frank's bug fixing farm 2024-05-17 10:44:00 +00:00
Paul 3b0d2cd980 Added parametric particle support (motion and rotation), closes #773 2024-05-17 16:43:35 +10:00
Ludichat 7e43a7424e Updated CHANGELOG.md. 2024-05-17 08:26:51 +02:00
apion 27bedc2d2c Closes #799 2024-05-16 21:59:36 -04:00
Hiroku 86744c23a5 Merge branch '1.5.1' into 'main'
Fix recoil evo bug

Closes #844

See merge request cable-mc/cobblemon!1022
2024-05-17 01:41:41 +00:00
Tyzillion f5a3c93039 Merge remote-tracking branch 'origin/move-effects' into move-effects 2024-05-16 21:35:16 -04:00
Paul 00dc501df7 Fixed timed particle ages being a tick too long, fixes #840 2024-05-17 11:28:49 +10:00
apion 8d1a64136f Fix recoil evo bug 2024-05-16 20:33:19 -04:00
Paul 39fee0bcea Fixed particle effects generated from molang not having access to entity_radius and stuff. Fixes #841 2024-05-17 10:26:18 +10:00
Tyzillion 1162689172 Merge remote-tracking branch 'origin/move-effects' into move-effects 2024-05-16 20:08:03 -04:00
Paul bc550dd32c Fixed unlocked evolutions getting re-checked and eating held items, fixes #843 2024-05-17 10:04:54 +10:00
Paul b295644070 Cleaned imports 2024-05-17 09:37:29 +10:00
Paul 21df0085e2 Merge remote-tracking branch 'origin/main' into move-effects 2024-05-17 09:08:19 +10:00
Paul 3009af8c42 Fixed missing cant.nopp lang key, fixes #842 2024-05-17 08:52:23 +10:00
Hiroku bfd34eb621 Merge branch '1.5.1' into 'main'
Fixes a few issues

Closes #827, #828, #826, and #832

See merge request cable-mc/cobblemon!1012
2024-05-16 22:46:10 +00:00
Hiroku 2dc2c96176 Update CHANGELOG.md [skip-ci] 2024-05-16 22:44:00 +00:00
Hiroku df4db17cfd Removed println 2024-05-16 22:40:56 +00:00
Plastered_Crab 2f3ae9bc5e - correct particles now play at certain events when fishing 2024-05-16 15:37:11 -07:00
apion ccbe33bfe5 Fixed missing texture on fishing particle 2024-05-16 17:55:23 -04:00
apion 0989c90eb3 Fixed server sync issue on rod registry 2024-05-16 17:11:32 -04:00
apion ddcd0ffd37 Merge branch 'refs/heads/main' into sega_bass_pro_fishing_2
# Conflicts:
#	common/src/main/kotlin/com/cobblemon/mod/common/CobblemonSounds.kt
2024-05-16 16:57:47 -04:00
Plastered_Crab 1f5d15e59d - rods now use NBT to store baits on them 2024-05-16 13:21:32 -07:00
Ludichat b718daf0f1 Gives a Hidden Ability slot to middle stage evolution and Ferroseed with a single ability. 2024-05-16 21:49:34 +02:00
Slippy 08c4f4a0ff added loot to the trapped chest in unstable caves so you can't tell which one is trapped if you're using lootr muwahahahaha 2024-05-16 01:57:41 -05:00
Plastered_Crab a3ff4b6b81 - more particle work and dynamic tooltip parsing 2024-05-15 22:22:46 -07:00
Slippy c4a1704a8b unstable cave loot table fixes 2024-05-15 20:35:24 -05:00
apion 45bec488f1 Fixed bug with pasture block 2024-05-15 20:41:32 -04:00
apion 9287374504 Merge branch 'refs/heads/main' into 1.5.1 2024-05-15 18:24:56 -04:00
apion 90c5180712 Revert "update Forge to current RB, update Fabric deps to latest"
This reverts commit 7139d4708b.
2024-05-15 18:17:29 -04:00
Tyzillion 51af37b37a Merge branch 'main' of https://gitlab.com/cable-mc/cobblemon into move-effects 2024-05-15 18:09:53 -04:00
Plastered_Crab d2c084e4af - more setup for the dynamic tooltips 2024-05-15 12:37:52 -07:00
Plastered_Crab 98eda52866 - adjustments to fishing particles 2024-05-15 12:13:07 -07:00
apion f2a36cd74a Merge branch 'refs/heads/main' into 1.5.1
# Conflicts:
#	CHANGELOG.md
2024-05-15 14:51:45 -04:00
Plastered_Crab c9d3cbd848 - initial steps for dynamic tooltips for pokerods + test particles 2024-05-15 10:34:22 -07:00
Nick 158aa05f24 Merge branch 'fix/downgrade-loom' into 'main'
fix: resolve mapping issues by downgrading loom

See merge request cable-mc/cobblemon!1015
2024-05-15 15:38:09 +00:00
Apion 8924d0fe0f Merge branch 'navneetset-main-patch-27693' into 'main'
Fix PC store downsizing not working with .resize()

See merge request cable-mc/cobblemon!1016
2024-05-15 12:12:04 +00:00
PebblesandApion d510eaa462 Fix PC store downsizing not working with .resize() 2024-05-15 12:12:04 +00:00
apion a3122812e4 Added color to all sprouts 2024-05-15 07:47:43 -04:00
Hiroku 8b63057d9d Merge branch 'we-ballin' into 'main'
Cherish, Dream, Beast, and Ancient Origin Send Out Particles

See merge request cable-mc/cobblemon!1018
2024-05-15 10:26:08 +00:00
Hiroku d572b3c505 Missed a bit [skip-ci] 2024-05-15 10:25:21 +00:00
Hiroku 8edc60224a Merge branch 'main' into 'we-ballin'
# Conflicts:
#   CHANGELOG.md
2024-05-15 10:24:54 +00:00
Hiroku a634c4f046 Merge branch 'update-libs' into 'main'
Update libs

See merge request cable-mc/cobblemon!1017
2024-05-15 10:23:14 +00:00
JPAKx4 5ec1ef72be Added searching to the Pokedex, and the "Invisible" property for pokemon. 2024-05-14 22:25:12 -05:00
MoeBoy76 7139d4708b update Forge to current RB, update Fabric deps to latest 2024-05-15 11:11:02 +10:00
dhi_holo 50e99736a3 Partial Fix
Origin Ball now plays correctly in resource pack, but not in the mod itself, updated jsons to match, so all that's left is working out why the mod refuses to read the new jsons even though the new jsons are read in the files, in intellij, and in github desktop.
2024-05-15 10:43:09 +10:00
Plastered_Crab e9a2bed304 - fixed bobber splash sounds (again) 2024-05-14 17:42:40 -07:00
Plastered_Crab 6476f61d09 - fixed bobber splash sounds 2024-05-14 17:37:43 -07:00
MoeBoy76 68c4acf0eb Merge branch 'main' of https://gitlab.com/cable-mc/cobblemon 2024-05-15 09:21:22 +10:00
Sterrezo 74ae10b342 Sound updates and fixes 2024-05-15 01:02:24 +02:00
Plastered_Crab 9e2b15e9ec - implementation of new Bobber landing sounds 2024-05-14 15:27:19 -07:00
broccoli 5b5e7109f5 fix: resolve mapping issues by downgrading loom
fixes regression in fd7b82dbe3
2024-05-14 23:17:16 +01:00
Slippy 837aa5acf5 missing loot table in deserted tower 2024-05-14 16:58:55 -05:00
Plastered_Crab d401b987ce - Changed FishingSpawnContext to allow for min and max Lure Levels of rod enchants
- first implementation of new Bobber landing sounds
2024-05-14 14:53:09 -07:00
apion 19698fc0ff Merge branch 'refs/heads/main' into berry-changes 2024-05-14 16:36:34 -04:00
Hiroku 37596523db Merge branch 'tmetcalfe89/abstract-stat-ratio-requirement' into 'main'
abstracted stat ratio requirement

See merge request cable-mc/cobblemon!1011
2024-05-14 20:15:13 +00:00
Plastered_Crab b7ba3f62f7 - Made all berries work as bait as well as their effects
- Reworked IV bait logic to allow for stacking effects
- Fixed Glow Berries and Sweet Berries to work as bait
2024-05-14 12:35:43 -07:00
tmetcalfe89 eb80c20dbf updated readme 2024-05-14 09:11:16 -07:00
apion 7ab3951613 Fix gilded chest item drops 2024-05-14 11:16:33 -04:00
apion e6d51c4d56 A little more fossil machine clean up 2024-05-14 10:26:25 -04:00
Apion 3813ec3c92 Merge branch 'sound' into 'main'
Renamed Relic Coin Sack sound assets. Added new sounds for Relic Coin Pouches.

See merge request cable-mc/cobblemon!1013
2024-05-14 14:12:24 +00:00
apion b9364304ca Changelog teehee 2024-05-14 09:47:35 -04:00
Sterrezo 9be212d2b8 Renamed Relic Coin Sack sound assets. Added new sounds for Relic Coin Pouches.
Renamed all sounds called "coin_pouch..." to "relic_coin_sack..." Added new sounds for breaking and placing Relic Coin Pouches with a new sound group for them.
2024-05-14 13:27:11 +02:00
tmetcalfe89 2559257b3a added licenses 2024-05-14 01:16:30 -07:00
apion 8236c6fb11 Merge branch 'refs/heads/main' into 1.5.1 2024-05-14 04:13:40 -04:00
apion 2041d43db4 Hopefully fixed some other bugs 2024-05-14 03:53:35 -04:00
Apion a1687e8304 Merge branch 'tmetcalfe89/ensure-defeat-count' into 'main'
Ensure update total defeat count on battle win

See merge request cable-mc/cobblemon!1010
2024-05-14 07:25:09 +00:00
JazzMcNade 94d92b6fc0 Fixes #827
Jade can now view the contents of the analyzer block
2024-05-14 01:53:56 -05:00
tmetcalfe89 3aa95b9339 abstracted stat ratio requirement 2024-05-13 23:39:01 -07:00
tmetcalfe89 4e97f70801 Merge branch 'main' of https://gitlab.com/cable-mc/cobblemon into tmetcalfe89/ensure-defeat-count 2024-05-13 22:39:56 -07:00
dhi_holo 404ca565f5 4 balls maybe working
Send out particles for Cherish, Dream, Beast, and Ancient Origin balls

Needs testing on one issue before MR
2024-05-14 15:35:32 +10:00
MoeBoy76 93db0e1cda Merge branch 'main' of https://gitlab.com/cable-mc/cobblemon 2024-05-14 08:57:15 +10:00
apion 4a4d292228 Fixes #828 2024-05-13 17:01:38 -04:00
apion 0fef9eec3d Fixes #826 2024-05-13 17:01:27 -04:00
apion 5f3dc395ec Fixes #832 2024-05-13 12:17:47 -04:00
Paul 78d34e0ae6 Mergo conflicto 2024-05-13 21:16:25 +10:00
Paul 4f7630eee0 Merge branch 'refs/heads/sega_bass_pro_fishing_2' into npcs
# Conflicts:
#	common/src/main/kotlin/com/cobblemon/mod/common/CobblemonEntities.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/CobblemonNetwork.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/battles/BattleBuilder.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/client/ClientMoLangFunctions.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/client/render/models/blockbench/PoseableEntityState.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/entity/pokemon/PokemonEntity.kt
#	common/src/main/resources/cobblemon-common.accesswidener
#	gradle/libs.versions.yml
2024-05-13 20:55:16 +10:00
Hiroku 1bf9d36dbd Merge branch 'wheres-the-tag-drake' into 'main'
Updated fossils.json Item Tag

Closes #834

See merge request cable-mc/cobblemon!1009
2024-05-13 09:45:38 +00:00
dhi_holo b19c5ed125 Updated fossils.json Item Tag
Sorted the fossils tag to match the order on Bulbapedia (just to make sure all other fossils were there, and because it looks a little nicer), and added Fossilized Drake to the tag
2024-05-13 17:51:19 +10:00
Paul c1b5e58f8a Added Lure Ball functionality, improved spawning API's use of causes, added forcedAspects to Pokemon, added aspect/unaspect in PokemonProperties 2024-05-13 17:42:36 +10:00
Paul b1904ab3fd Sega Bas Pro Fishing 2™ is the 1.6.0 branch 2024-05-13 15:19:23 +10:00
Paul 949925ca9f Merge remote-tracking branch 'origin/main' into sega_bass_pro_fishing_2 2024-05-13 15:17:19 +10:00
Paul e3cca0d9cf SpawnAction#complete returns R instead of Boolean 2024-05-13 15:08:55 +10:00
tmetcalfe89 1aa55f8199 replaced entity ref with originalPokemon 2024-05-12 21:49:58 -07:00
Paul 4c16b2ce2e Track friendship on client entities, tweaks to dataTracker initializing, MoLang in pose & quirk conditions 2024-05-13 12:47:53 +10:00
Slippy 969d6ac7fc console spam fix 2024-05-12 09:23:39 -05:00
Hiroku 920e314444 Merge branch '830-only-player-entity-can-send-out-pokemon' into 'main'
Remove unnecessary cast of phaseTarget to PlayerEntity in PokemonRenderer.renderTransition

Closes #830

See merge request cable-mc/cobblemon!1008
2024-05-12 10:23:34 +00:00
David Sadler 3e4fdc0f22 Remove unnecessary cast of phaseTarget to PlayerEntity in PokemonRenderer.renderTransition 2024-05-12 11:04:52 +01:00
Hiroku 209ac71e06 Merge branch 'FossilTankFixes' into 'main'
Fix for using incorrect item count when applying organic material with right click.

See merge request cable-mc/cobblemon!1007
2024-05-12 08:05:27 +00:00
JazzMcNade ecfc77f311 Updated Changelog 2024-05-12 02:49:19 -05:00
JazzMcNade e64de3aa7d Fixed a bug in which adding organic material was adding the full count of the stack currently in hand 2024-05-12 01:29:55 -05:00
Slippy 46bb9e1aec console fix 2024-05-11 21:58:50 -05:00
Slippy 9792ff3392 console spam fix 2024-05-11 21:36:29 -05:00
JPAKx4 76560198b8 Updated Pokedex to Cobblemon 1.5 2024-05-11 19:57:43 -05:00
JPAKx4 b546327af9 Merge branch 'main' into its-dexter-time
# Conflicts:
#	common/src/main/kotlin/com/cobblemon/mod/common/Cobblemon.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/client/keybind/CobblemonKeyBinds.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/events/AdvancementHandler.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/net/messages/client/battle/BattleInitializePacket.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/net/messages/client/starter/SetClientPlayerDataPacket.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/util/PlayerExtensions.kt
2024-05-11 19:45:55 -05:00
Nick fd7b82dbe3 Merge branch 'build/gradle-updates' into 'main'
gradle and build improvements

See merge request cable-mc/cobblemon!1006
2024-05-11 23:40:09 +00:00
broccolaiandNick 7ef48402fb gradle and build improvements 2024-05-11 23:40:09 +00:00
Nick 81ac6f3b44 Snapshot = true 2024-05-11 16:39:06 -07:00
JazzMcNade 04d1f8c37e Added command to allow users to leave a multiteam without needing to find their teammate 2024-05-11 18:38:17 -05:00
JazzMcNade 2363d76f85 Added command portrait highlighting for multi-battles 2024-05-11 04:39:28 -05:00
Paul 7ebe0551e1 Fixed build issue caused by unnecessary AW 2024-05-11 18:54:29 +10:00
Paul 6e1d4e0c4d Merge remote-tracking branch 'origin/main' into sega_bass_pro_fishing_2 2024-05-11 18:32:10 +10:00
JPAKx4 eead2724e7 Pokedex is Datapackable probably 2024-05-10 22:22:16 -05:00
JazzMcNade 419cb48327 Re-enabled targeting fainted slots. Removed target check that was generating false positive errors for target selection 2024-05-09 23:52:55 -05:00
JazzMcNade 8a91a58caa Items that did not have an opportunity to have their effect applied b/c of the battle ending are now refunded post battle. Refactored BagItem to specify the returnItem 2024-05-09 01:23:33 -05:00
FrankTheFarmer 4482a4f072 Forgot to add Mismagius to model updates 2024-05-09 10:00:05 +10:00
FrankTheFarmer a92f37c740 Added Krabby's missing temporary-cry animation 2024-05-09 09:57:26 +10:00
FrankTheFarmer 4677dda922 Limited Mismagius' yaw range to prevent some clipping 2024-05-09 09:56:29 +10:00
FrankTheFarmer 81f7320e4a Mismagius asset updates 2024-05-09 09:56:01 +10:00
FrankTheFarmer 3c9cf42da4 Fixed Flabebe's broken species name. Apparently its Flabébé and not Flabébé??? 2024-05-06 08:39:34 +10:00
FrankTheFarmer 620ed73fe9 Fixed Klefki t pose when sleeping 2024-05-06 08:38:23 +10:00
Tyzillion 978d9e76a1 Merge branch 'main' of https://gitlab.com/cable-mc/cobblemon into move-effects 2024-05-04 17:48:57 -04:00
FrankTheFarmer 7d09b7e2fe Fixed a broken texture on Elgyem 2024-05-04 18:48:08 +10:00
FrankTheFarmer 656cff2ab3 Made Galarian Zigzagoon use Hoenn Zigzagoon's shoulder animation 2024-05-04 18:16:59 +10:00
Tyzillion 1d8462fd63 Implemented better Krabby bubble blowing quirk animation. 2024-05-03 18:34:23 -04:00
Tyzillion e417db6a8d Merge branch 'main' of https://gitlab.com/cable-mc/cobblemon into implement_pokemon 2024-05-03 16:39:08 -04:00
MoeBoy76 a0b263e392 Merge branch 'main' of https://gitlab.com/cable-mc/cobblemon 2024-05-03 10:45:11 +10:00
JPAKx4 2b68ccd0f9 Forms in the Pokedex are read from the Pokedex Files now. 2024-05-02 14:49:28 -05:00
MoeBoy76 16d0d3b7e1 Merge branch 'main' of https://gitlab.com/cable-mc/cobblemon into implement_pokemon
# Conflicts:
#	CHANGELOG.md
#	common/src/main/resources/data/cobblemon/species/generation1/exeggcute.json
#	common/src/main/resources/data/cobblemon/species/generation1/pikachu.json
#	common/src/main/resources/data/cobblemon/species/generation2/cyndaquil.json
#	common/src/main/resources/data/cobblemon/species/generation2/quilava.json
#	common/src/main/resources/data/cobblemon/species/generation5/dewott.json
#	common/src/main/resources/data/cobblemon/species/generation5/oshawott.json
#	common/src/main/resources/data/cobblemon/species/generation7/dartrix.json
#	common/src/main/resources/data/cobblemon/species/generation7/rowlet.json
2024-05-02 15:49:13 +10:00
MoeBoy76 dbedc58dd9 changelog conflict fix [skip-ci] 2024-05-02 15:43:54 +10:00
FrankTheFarmer c0ea565967 Updated Changelog with recent changes 2024-05-02 14:26:10 +10:00
FrankTheFarmer 7e92f5f314 Updated Spewpa evolution and Vivillon spawn biome tags 2024-05-02 14:25:21 +10:00
FrankTheFarmer df3ed93032 Added anticondition structure requirements to evolutions 2024-05-02 14:24:45 +10:00
FrankTheFarmer 2335fd388e Updated and added time ranges 2024-05-02 14:22:26 +10:00
JPAKx4 5adefaac5e Pokedex is now based on files in the resources, and such is also datapackable. Forms still need to be fixed and the spreadsheet needs expanded as well. 2024-05-01 16:36:02 -05:00
FrankTheFarmer e152cc9fd0 Updated Changelog with recent work 2024-05-01 21:31:00 +10:00
FrankTheFarmer 3f7e2bef40 Updated Spewpa evolutions and made sure they work. I hate evolution™ 2024-05-01 21:30:16 +10:00
FrankTheFarmer 25927c6ebe Updated Vivillon biome tags to new format and added 2 more 2024-05-01 21:28:40 +10:00
FrankTheFarmer 2f18d6b05f Created new folder for all regional evolution biome tags and moved region bias ones there 2024-05-01 20:34:48 +10:00
FrankTheFarmer 2600e23233 Removed sliggoos cross region evolutions 2024-05-01 20:33:26 +10:00
FrankTheFarmer 5c5c72d800 Updated Goomy to use new evolution biome tags for evolution 2024-05-01 20:32:15 +10:00
FrankTheFarmer 2c812344f9 Updated Petilil evo biomes and added priority evos to save a sun stone hopefully 2024-05-01 20:24:33 +10:00
FrankTheFarmer 37b4577230 Updated Hisui Starter evos to use the updated evolution biome tags 2024-05-01 19:50:51 +10:00
FrankTheFarmer fcf64b00bf Updated Pikachu and Exeggcute evolutions to prioritize cross region evos if applicable 2024-05-01 19:40:48 +10:00
FrankTheFarmer 02b8cd81a0 Updated Conkeldurr with the correct animation files 2024-04-30 21:38:54 +10:00
FrankTheFarmer def1b44f08 Fixed Conkeldurr holding too much concrete during sleep animation 2024-04-30 17:02:01 +10:00
FrankTheFarmer b28f915af9 Selected Hisui starters will now come in ancient poke balls 2024-04-30 15:07:59 +10:00
FrankTheFarmer 29ce8b584a Stopped the zoroarks cry animations from looping 2024-04-29 19:22:18 +10:00
JazzMcNade eee563f07a Fixed cancelling selection around fainted slots. Disabled cancelling item selections. 2024-04-29 01:02:54 -05:00
FrankTheFarmer 84f3a44109 Found Sudowoodo and Bonsly. Hiding since July 2023 2024-04-29 15:35:20 +10:00
FrankTheFarmer 08a58eee8a Prevented and preserved Cubone's evolution to Alolan Marowak 2024-04-29 08:55:05 +10:00
Tyzillion 1e067cb7e4 Implemented simple elemental punches. Implemented sweetscent effects, and stat increase and decrease particles. 2024-04-27 22:00:56 -04:00
FrankTheFarmer c10f48090c Added dried kelp blocks, melon, vines, and sea pickles to list of organic materials for the fossil machine 2024-04-28 11:07:16 +10:00
Paul 7aef56c610 license 2024-04-27 14:28:30 +10:00
Paul 27e1a34097 Merge remote-tracking branch 'origin/main' into sega_bass_pro_fishing_2
# Conflicts:
#	common/src/main/resources/assets/cobblemon/textures/item/poke_balls/beast_ball.png
2024-04-27 12:43:42 +10:00
Tyzillion 2f464f82b1 Merge branch 'main' of https://gitlab.com/cable-mc/cobblemon into move-effects 2024-04-26 21:01:38 -04:00
apion f1463f92e6 More conflict resolution (SOB) 2024-04-26 13:46:06 -04:00
FrankTheFarmer 9c0e5e487a Reverted Snorlax's resize 2024-04-26 20:57:20 +10:00
FrankTheFarmer 95f2bbbf15 If for some reason you are above an Aurorus, it will no longer break its neck trying to look at you. 2024-04-26 20:37:53 +10:00
FrankTheFarmer 864d184cd9 Scaled drifloon down a bit 2024-04-26 17:53:56 +10:00
FrankTheFarmer a2256f6208 Lurantis animation file update 2024-04-26 16:44:14 +10:00
FrankTheFarmer 945d556b43 Fixed Cubone holding its bone humerusly 2024-04-26 16:18:14 +10:00
FrankTheFarmer f0def2e883 Fixed zubat's shoulder animations 2024-04-26 13:42:21 +10:00
FrankTheFarmer 79c644dad0 So the 10 and 11 bug can be fixed with underscores 👀 2024-04-26 13:37:39 +10:00
Tyzillion 28c0e17a48 Merge branch 'main' of https://gitlab.com/cable-mc/cobblemon into move-effects 2024-04-25 18:21:18 -04:00
apion 0303db5fff A bunch more 1.20.5 2024-04-25 17:30:09 -04:00
apion 105840a334 A bunch more 1.20.5 (mostly codec stuff) 2024-04-25 17:10:07 -04:00
apion 335fbfd3e0 Fixed a lot of the codecs for advancements 2024-04-25 15:31:55 -04:00
apion dfe30a91b6 Mitigated all errors in the neoforge module (god forgive me for some of the things I've done) and renamed most stuff from forge to neoforge 2024-04-25 15:00:50 -04:00
apion e0f62b5eb9 Updated a bunch of dependencies. Swapped from Forge to NeoForge (Forge is not yet on 1.20.5, might get added back later) Got to a point where we can reload the project in IntelliJ 2024-04-25 12:32:49 -04:00
apion 63edd09f3f Update to Gradle 8.6 and Loom 1.6 2024-04-25 11:01:50 -04:00
apion 1fde1e4428 Merged main into 1.20.4 2024-04-25 10:18:17 -04:00
apion a2d574300c Merge branch 'main' into 1.20.4
# Conflicts:
#	common/src/main/kotlin/com/cobblemon/mod/common/block/TumblestoneBlock.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/block/chest/GildedChestBlock.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/block/entity/GildedChestBlockEntity.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/client/gui/summary/Summary.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/entity/pokemon/PokemonEntity.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/pokemon/Pokemon.kt
#	forge/src/main/java/com/cobblemon/mod/forge/mixin/LootManagerMixin.java
#	gradle/libs.versions.yml
2024-04-25 08:31:40 -04:00
FrankTheFarmer 87e41bdb89 Fixed Kabuto animation but on implementation branch 2024-04-25 22:22:18 +10:00
FrankTheFarmer 8a8505d816 3/4 of the Galar fossils can now look at the player. 2024-04-25 21:04:04 +10:00
FrankTheFarmer 1a19c51748 Fixed Slowpoke spawning everywhere 2024-04-25 17:16:37 +10:00
JazzMcNade a231250372 Triples: no longer mentions a fainted pokemon's name if a move targets a pokemon after it has already fainted. 2024-04-25 02:01:01 -05:00
FrankTheFarmer 8a66ab9235 Removed unimplemented cries from sounds json 2024-04-25 16:41:11 +10:00
JazzMcNade 14f486d086 Added language keys to differentiate between ally switch and triples shift 2024-04-25 01:33:42 -05:00
Paul ee50361555 Merge remote-tracking branch 'origin/main' into implement_pokemon
# Conflicts:
#	CHANGELOG.md
2024-04-25 11:47:23 +10:00
Paul d3631f1436 Merge remote-tracking branch 'origin/implement_pokemon' into implement_pokemon 2024-04-25 10:28:21 +10:00
Paul 31136435fe Fixed autogeneration of target and special_attack locators 2024-04-25 10:20:19 +10:00
Paul bdeb83c62c Fixed entity_particles parsing of the effect ID when it's a simple string 2024-04-25 10:20:01 +10:00
FrankTheFarmer 79e1f9143c Fixed Wooloo's blink and leg but in game 2024-04-25 10:07:09 +10:00
Paul 15bf726421 Merge remote-tracking branch 'origin/main' into move-effects 2024-04-24 15:13:23 +10:00
JazzMcNade c2f7f3d506 Merge branch 'main' into DoublesAreTheFuture 2024-04-23 23:53:12 -05:00
DoctorWafflePhD 7f1889db7b bubblebeam VFX uploaded for review by hiroku (thanks oomfie) 2024-04-23 21:42:16 -05:00
DoctorWafflePhD 548c18bea4 hit particle fix(?) 2024-04-23 21:41:46 -05:00
JazzMcNade 593f9cee03 Disabled single target selection against fainted slots 2024-04-23 21:36:14 -05:00
Paul ba6513942d Fixed evo_glow_time call not using query struct 2024-04-24 12:12:00 +10:00
DoctorWafflePhD d9203bef2a hit particle fix(?) 2024-04-23 21:06:57 -05:00
Paul 84c7d36840 Merge remote-tracking branch 'origin/main' into evolution-effect 2024-04-24 12:00:20 +10:00
JazzMcNade f0821bc1d2 More precise revive switch selection checking 2024-04-23 19:56:53 -05:00
amo 084e5f744a early flash layer impl 2024-04-23 14:53:36 +01:00
FrankTheFarmer bef0b2fb87 Updated regional bias evolution data to hopefully work as intended. I hate evolution. 2024-04-23 20:49:22 +10:00
FrankTheFarmer d7bbc05af8 Created biome tags for the regional bias evolutions. They're specific to each form's spawn data 2024-04-23 20:47:27 +10:00
FrankTheFarmer 7ca3ab5e30 Updated portrait data for the Samurotts 2024-04-23 20:43:44 +10:00
FrankTheFarmer 1bbb1201c8 Chansey animation fixes. Cry implemented but no sound file yet 2024-04-23 18:20:26 +10:00
FrankTheFarmer 8ed4fee8af Added more visual distinction for Hisui Bias Quilava in the evolution menu. Plus Cyndaquil textures 2024-04-23 17:18:07 +10:00
FrankTheFarmer a3dacc2c3d Forgot about the changelog lol 2024-04-22 20:50:03 +10:00
FrankTheFarmer c265f73308 Fixed eyes on the faints of Hitmonlee and Phantump 2024-04-22 20:40:12 +10:00
Paul 90a1acb56e Fixed evolution animation being cancelled when the entity is pushed, minor fix to action effects 2024-04-22 15:03:44 +10:00
FrankTheFarmer 670dedc0e2 Grovyle shiny texture fixes 2024-04-22 14:01:59 +10:00
Tyzillion 5e24799295 move effects are in the works now. :) 2024-04-21 23:05:41 -04:00
Paul b25dc6610e Fixed bobber spawning not working 2024-04-22 11:20:54 +10:00
Paul fa67bba631 Merge remote-tracking branch 'origin/main' into sega_bass_pro_fishing_2
# Conflicts:
#	common/src/main/kotlin/com/cobblemon/mod/common/CobblemonItems.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/CobblemonNetwork.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/CobblemonSounds.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/advancement/CobblemonCriteria.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/client/CobblemonClient.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/client/render/block/DisplayCaseRenderer.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/client/render/models/blockbench/pokemon/gen1/MagikarpModel.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/item/group/CobblemonItemGroups.kt
#	common/src/main/resources/assets/cobblemon/bedrock/pokemon/animations/0129_magikarp/magikarp.animation.json
2024-04-22 11:07:52 +10:00
Tyzillion a7243102d5 Evolution particle tweaks and Pokemon now stop moving if evolution is started. 2024-04-21 21:06:47 -04:00
JazzMcNade ef7ad797d1 PvP doubles/triples now require a sufficient number of unfainted pokemon to start, Fainted pokemon can no longer be send as part of the initial sendout 2024-04-21 19:49:05 -05:00
Tyzillion de6a84a75b Merge branch 'main' of https://gitlab.com/cable-mc/cobblemon into evolution-effect 2024-04-21 19:37:16 -04:00
FrankTheFarmer 6e19ee6059 Tricko remodel 2024-04-22 09:05:52 +10:00
JazzMcNade 56f86e15ae Selecting forfeit in a double/triple battle now short circuits any other pending action requests 2024-04-21 13:59:50 -05:00
Tyzillion be3c35eb43 Merge branch 'main' of https://gitlab.com/cable-mc/cobblemon into evolution-effect 2024-04-21 11:21:57 -04:00
JazzMcNade a285dbbe43 Fixed a number of issues with Revival Blessing and (Max) Revive bag item, removed a dupe of super effective message 2024-04-21 04:08:34 -05:00
FrankTheFarmer a865d59b99 changelog update 2024-04-21 17:27:38 +10:00
FrankTheFarmer 8896440451 Merge remote-tracking branch 'origin/implement_pokemon' into implement_pokemon 2024-04-21 17:09:04 +10:00
FrankTheFarmer 39b27a8c17 Quick and dirty fixes for Pikachu and Exeggcute evolution data. Added new biome tag for their evolution requirements. 2024-04-21 16:41:50 +10:00
JazzMcNade cc2783a553 Fixed softlock when 2 pokemon are ko'd but the player only has 1 pokemon in reserve 2024-04-18 21:37:06 -05:00
JazzMcNade 2ca67c805f Fixed double shift positioning in triples.
Fixed fainted pokemon portraits reappearing after shifting into a fainted slot
2024-04-17 21:58:45 -05:00
JazzMcNade 4b0f1e3d7d Merge Conflict: Fixed swap instruction string key 2024-04-17 01:25:02 -05:00
JazzMcNade 06a8c9e713 Fixed more merge conflicts 2024-04-17 01:02:31 -05:00
JazzMcNade a447228de1 More Merge Conflicts 2024-04-16 21:43:11 -05:00
JazzMcNade c6032fdaab Merge branch 'main' into DoublesAreTheFuture
# Conflicts:
#	common/src/main/kotlin/com/cobblemon/mod/common/battles/ShowdownActionRequest.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/battles/ShowdownInterpreter.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/battles/interpreter/instructions/CritInstruction.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/battles/interpreter/instructions/SuperEffectiveInstruction.kt
2024-04-16 21:16:11 -05:00
JazzMcNade 103af083a3 Fixed a Multibattle softlock when a player's last pokemon has fainted but their teammate has unfainted pokemon 2024-04-16 01:47:54 -05:00
JazzMcNade e67c0ebbb8 Added the ability for players to "team up" for Multibattles. Added Multibattle Support. 2024-04-15 21:54:45 -05:00
Sterrezo a0eb614f2a Kabuto now does the funny noise. Fixed Lucario's cry missing
I didn't know what to do with Kabuto's animation, ended up using a placeholder. Lucario had an incorrectly named keyframe.
2024-04-15 23:26:44 +02:00
FrankTheFarmer a6e4aeb321 The Doduo line will now bite less 2024-04-15 15:57:48 +10:00
FrankTheFarmer bb796921b5 Changelog updates. Removed duplicates and added list of new shoulder mounts 2024-04-15 10:30:11 +10:00
FrankTheFarmer 9f6f764aa1 Merge remote-tracking branch 'origin/implement_pokemon' into implement_pokemon 2024-04-15 07:59:57 +10:00
FrankTheFarmer f115a87b66 Roaming Gimmighoul can now evolve 2024-04-15 07:59:31 +10:00
Waldleufer 77c880ff2d fix: cry script - relaxing handling of all Forms, skipping non-regional forms [skip-ci] 2024-04-14 09:29:01 +02:00
FrankTheFarmer 16c64b9d8e Updated behaviour for Armaldo, Carracosta, Tirtouga, and Wimpod 2024-04-14 12:26:45 +10:00
FrankTheFarmer caeb45e9e1 Tyrantrum line kotlin poser placed in the proper generation. 2024-04-14 12:23:03 +10:00
FrankTheFarmer 6e341438e9 Goomy line updates and Steenee scale update 2024-04-14 11:38:17 +10:00
Tyzillion 7407483498 Updated Branch with latest main. Added Lucario aura in battle. 2024-04-13 16:34:44 -04:00
Tyzillion 020c728004 Merge remote-tracking branch 'origin/implement_pokemon' into implement_pokemon 2024-04-13 14:55:15 -04:00
Sterrezo 7125987c98 Fixed Hisuian Lilligant's cry missing
Asset was incorrectly named
2024-04-13 20:33:25 +02:00
Waldleufer 6448c4472e fix: cry script - handling all Forms, skipping non-regional forms [skip-ci] 2024-04-13 20:11:26 +02:00
Waldleufer eedac70d13 fix: cry script - sprinkling in some magic [skip-ci] 2024-04-13 19:07:48 +02:00
Sterrezo 025e09cd12 Couple cry fixes
Updated KrabbyModel.kt. Fixed missing or incorrect sound effect keyframes in animation.json files.
2024-04-13 18:54:55 +02:00
Waldleufer 4d2cfb63ea fix: cry script - warn about files not in the right locations [skip-ci] 2024-04-13 18:52:27 +02:00
Waldleufer 40794acdd5 fix: cry script - properly check elaborate cries [skip-ci] 2024-04-13 18:25:25 +02:00
Sterrezo 82f8855725 Fixed missing Grovyle and Sceptile cries missing 2024-04-13 17:57:21 +02:00
Waldleufer 5abcdbb837 fix: cry script - new way to implement cries does not require an import [skip-ci] 2024-04-13 17:48:01 +02:00
Waldleufer 2f817a7f9a fix: cry script - ignore commented out lines [skip-ci] 2024-04-13 17:33:35 +02:00
Waldleufer 67767fc53a fix: cry script - only log warnings for pokemon marked as "In-Game" [skip-ci] 2024-04-13 17:16:34 +02:00
Tyzillion 43cd4b8403 Merge branch 'main' of https://gitlab.com/cable-mc/cobblemon into implement_pokemon 2024-04-13 02:50:14 -04:00
Tyzillion 2660d73bb6 Merge remote-tracking branch 'origin/implement_pokemon' into implement_pokemon 2024-04-13 02:49:33 -04:00
FrankTheFarmerReal faa7ca5d19 Revoking Hisuian Visas 2024-04-13 11:48:17 +10:00
Tyzillion 0fcbe51d97 Merge branch 'main' of https://gitlab.com/cable-mc/cobblemon into implement_pokemon 2024-04-12 11:16:59 -04:00
Tyzillion b23ad62f99 Merge remote-tracking branch 'origin/implement_pokemon' into implement_pokemon 2024-04-12 11:16:44 -04:00
Sterrezo 3ca4ce8f80 Implemented 13 new cries, more changelog updates with previously undocumented cries 2024-04-12 16:47:25 +02:00
Sterrezo 446a994195 Fixed a typo in komala.animation.json 2024-04-12 16:14:12 +02:00
Sterrezo 60e7ac828d Implemented more cries, updated changelog
Added cries for Goomy, Sliggoo, Goodra, Hisui Bias Goomy, Hisuian Sliggoo, Hisuian Goodra, Klefki. Fixed Arcanine's cry misisng. Updated changelog with previously undocumented cries.
2024-04-12 13:10:18 +02:00
Sterrezo a870effd3b Added a keyframe with a cry for Lapras 2024-04-12 10:27:53 +02:00
FrankTheFarmerReal 236237a170 The simple blink of a Bouffalant shall no longer crash your game 2024-04-12 17:00:37 +10:00
FrankTheFarmerReal 0fc67ba042 Updated Goomy's hisui bias assets and added missing oinkologne cry files. 2024-04-12 13:32:48 +10:00
FrankTheFarmerReal 997ab29d91 Added a couple cries 2024-04-12 11:29:01 +10:00
FrankTheFarmerReal e74f54f1d0 Implemented Kotlin posers for Hisuian starters unique cries
Deleted Datrix
2024-04-12 00:05:12 +10:00
Sterrezo 081e368551 Merge branch 'implement_pokemon' of https://gitlab.com/cable-mc/cobblemon into implement_pokemon 2024-04-11 14:04:44 +02:00
Sterrezo 1538f58a4a Added audio assets for previously added cries 2024-04-11 14:04:16 +02:00
FrankTheFarmerReal e5103e5d03 Separated Oinkologne models to allow for separate cries 2024-04-11 21:54:01 +10:00
FrankTheFarmerReal 1cea15c9e5 Fixed Milcery being unable to evolve properly 2024-04-11 21:49:58 +10:00
FrankTheFarmerReal 3395fe0140 Hisuian Samurott texture fixed 2024-04-11 21:49:58 +10:00
FrankTheFarmerReal 2eff8d14eb Fixed Happiny being unable to evolve 2024-04-11 21:49:58 +10:00
FrankTheFarmerReal ed3cdf9b75 Limited the Typhlosions and Cyndaquils ability to look up to prevent bone dislocation in certain scenarios 2024-04-11 21:49:58 +10:00
FrankTheFarmerReal 6e1ba0599f Corrected egg groups for Toedscool line 2024-04-11 21:49:58 +10:00
FrankTheFarmerReal 497d5ce39b Basculegion behaviour updated. Should stop drowning. 2024-04-11 21:49:58 +10:00
FrankTheFarmerReal 660de3ea03 Dusknoir animations updated 2024-04-11 21:49:58 +10:00
FrankTheFarmerReal 5ab3d7b493 Updated Ekans texture 2024-04-11 21:49:57 +10:00
FrankTheFarmerReal 2ce0069484 Closed Scyther's mouth after it cries 2024-04-11 21:49:57 +10:00
Sterrezo d87fa57c95 Implemented a bunch of cries
Woobat, Swoobat, Lilligant, Hisuian Lilligant, Basculin, Klink (Deleted a redundant animation file as well), Klang, Klinklang, Litwick, Lampent, Chandelure, Cubchoo, Bouffalant, Larvesta, Volcarona, Fomanting, Lurantis, Gossifleur, Eldegoss, Stonjourner, Basculegion, Sneasler, Overqwil, Oinkologne
2024-04-11 13:40:36 +02:00
Paul 9d49ce086a merge conflict bug resolution 2024-04-11 15:10:17 +10:00
Paul 5f8c1d5b6d Merge remote-tracking branch 'origin/main' into npcs
# Conflicts:
#	common/src/main/kotlin/com/cobblemon/mod/common/CobblemonCommands.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/api/battles/model/PokemonBattle.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/battles/ShowdownInterpreter.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/battles/interpreter/instructions/FaintInstruction.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/client/CobblemonClient.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/client/entity/PokemonClientDelegate.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/client/render/models/blockbench/pokemon/JsonPokemonPoseableModel.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/client/render/models/blockbench/pokemon/PokemonPoseableModel.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/client/render/pokemon/PokemonRenderer.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/command/TestCommand.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/entity/pokemon/PokemonEntity.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/entity/pokemon/PokemonServerDelegate.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/particle/SnowstormParticleReader.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/pokemon/Pokemon.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/util/MiscUtils.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/util/WorldExtensions.kt
2024-04-11 14:36:52 +10:00
FrankTheFarmerReal 69947b0b32 Fixed Flabebe line T pose when sleeping 2024-04-11 09:01:02 +10:00
Tyzillion f4c3f9ae04 Merge branch 'main' of https://gitlab.com/cable-mc/cobblemon into implement_pokemon 2024-04-10 09:34:02 -04:00
FrankTheFarmerReal 04e1a6b41c Removed duplicate entry from changelog 2024-04-10 18:13:26 +10:00
FrankTheFarmerReal 6ae2adb2d0 Stopped Pumpkaboo's cry from looping 2024-04-10 17:12:44 +10:00
FrankTheFarmerReal 0bf6932fe5 Dusknoir's animations are now about 20 degrees cooler™ 2024-04-10 09:59:27 +10:00
FrankTheFarmerReal 71382a3bd1 Merge remote-tracking branch 'origin/implement_pokemon' into implement_pokemon 2024-04-09 10:27:14 +10:00
FrankTheFarmerReal 0f4f29518b Placeholder Volcarona animations 2024-04-09 10:26:37 +10:00
Sterrezo 8aeeece0a3 Fixed missing cries, updated the changelog.
Fixed missing audio files, sound effect keyframes and model.kt files. Partially updated the changelog.
2024-04-08 18:55:58 +02:00
Paul 850b418c80 Improve surface-swimmers behaviour when submerged 2024-04-08 22:51:04 +10:00
FrankTheFarmerReal 42af2898b2 Hitbox fixes and Lapras placeholder swim animation 2024-04-08 18:23:01 +10:00
Lily 336901312b Added a script to automate the creation of certain block-related files 2024-04-02 17:44:13 +00:00
JazzMcNade a51d282007 Added Battle Portrait highlighting for the mon currently receiving commands in Doubles/Triples 2024-03-20 00:33:38 -05:00
Lily e6590bef08 moved most baits to the new system 2024-03-19 15:00:59 +00:00
Lily 60b0e70651 updated some baits to use the new system 2024-03-19 14:40:17 +00:00
JPAKx4 afb93ba15c Cleaned up the ScrollingWidget.kt and the children now that the Mixin is implemented. 2024-03-19 06:16:17 -05:00
Lily 0d9f8bbb36 refactored the fishing bait system to allow for multiple effects per item 2024-03-18 22:24:24 -04:00
Nick fef655065b Merge branch 'its-dexter-time' of gitlab.com:cable-mc/pokemon-cobbled into its-dexter-time 2024-03-18 19:18:58 -07:00
Nick 1d2ce79fba Fix scroll widget being slightly off on both x and y axis 2024-03-18 19:18:50 -07:00
JPAKx4 0b13ad2fbc Fixed the ScrollingWidget.kt to properly select entries based on mouse position. 2024-03-18 15:13:47 -05:00
JazzMcNade 3004c2a44c Added additional checks for doubles/triples exp gain 2024-03-17 20:06:36 -05:00
JazzMcNade a2a2d8860e Fixed another instance of giving orders to fainted mons. 2024-03-17 13:45:34 -05:00
Deltric 00eca1c019 fix: battle gui rendering bugs and removed old method 2024-03-17 01:02:43 -05:00
Deltric babfb43750 Merge remote-tracking branch 'origin/1.20.4' into 1.20.4
# Conflicts:
#	common/build.gradle.kts
#	common/src/main/kotlin/com/cobblemon/mod/common/block/chest/GildedChestBlock.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/client/gui/startselection/StarterSelectionScreen.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/pokemon/Pokemon.kt
#	common/src/main/resources/assets/cobblemon/lang/en_us.json
2024-03-17 00:25:21 -05:00
Deltric 3aa94fcd2a fixed two leftover errors from merging in main 2024-03-17 00:19:25 -05:00
Deltric 20a866a0e3 draft: rough port with some bugs to fix and code to clean up. 2024-03-16 23:39:29 -05:00
Deltric 67f2146c3c remove baked in adorn for compatibility mod 2024-03-16 23:27:16 -05:00
Deltric ad49106132 initial gradle changes 2024-03-16 23:27:09 -05:00
Deltric 064df9c26e draft: rough port with some bugs to fix and code to clean up. 2024-03-16 23:15:12 -05:00
JazzMcNade af81763577 Refactoring out function 2024-03-15 22:09:32 -05:00
Paul bd8d9fa9e3 Added a bunch of AI tasks to NPCs for combat (I dunno it's neat) 2024-03-16 11:16:58 +10:00
JazzMcNade c3dafcc615 Added target declaration for super effective, resist, and crit on multitarget attack hits. 2024-03-15 01:30:34 -05:00
JazzMcNade 0340f54e2c Position shifting can now swap pokemon into fainted position slots. 2024-03-13 02:08:09 -05:00
JazzMcNade e2917b044a Added lang strings for different battle formats 2024-03-13 00:29:54 -05:00
JazzMcNade 34f00dbb05 Split BattleChallengePacket into BattleChallengePacket and BattleChallengeResponsePacket 2024-03-12 01:11:40 -05:00
JazzMcNade 93801ae6d5 Added Shifting to Triple Battles 2024-03-10 15:07:08 -05:00
Tyzillion b4508bf87e More tweaks to evolution particles. 2024-03-10 06:29:27 -04:00
JazzMcNade b50bf547f8 Battle effects now strike all targets in a multitarget attack. Fixed another softlock issue 2024-03-10 00:18:16 -06:00
Tyzillion dcb4f52cdb Added sounds to evolution. 2024-03-10 00:32:08 -05:00
Tyzillion 1e9b390f38 Merge branch 'main' of https://gitlab.com/cable-mc/cobblemon into evolution-effect 2024-03-09 23:34:36 -05:00
JazzMcNade 01ac831c24 Fixed soft locking after a switch event 2024-03-09 18:01:49 -06:00
Tyzillion 7edd47f995 Evolution tweaks. 2024-03-08 19:12:46 -05:00
JazzMcNade adcccfee02 Fixed a bug in which during a forced switch event, the player would be requested to input actions on non-switching slots. 2024-03-07 23:56:47 -06:00
JPAKx4 365dd2c45c Began doing the "deltaDex" config file 2024-03-07 22:48:15 -06:00
Tyzillion dd220c5c85 Merge remote-tracking branch 'origin/evolution-effect' into evolution-effect 2024-03-07 22:02:04 -05:00
Paul bea84a37d4 Fixed a bunch of evolution animation locator issues 2024-03-08 13:01:42 +10:00
Tyzillion ac30da3c15 Merge remote-tracking branch 'origin/evolution-effect' into evolution-effect 2024-03-07 20:58:08 -05:00
JazzMcNade a97e8c819d Switch menu tiles are now vertically offset from the lowest active pokemon tiles 2024-03-07 00:42:49 -06:00
Paul 3861835d47 Test command spawns bedrock entity for evo 2024-03-06 21:06:38 +10:00
JazzMcNade 4eeaf5102f Added support for Ally Switch 2024-03-06 01:19:23 -06:00
Sterrezo e75dcd63d1 Merge branch 'sega_bass_pro_fishing_2' of https://gitlab.com/cable-mc/cobblemon into sega_bass_pro_fishing_2 2024-03-04 17:46:49 +01:00
Sterrezo a4fc1442bf Updated fishing sounds 2024-03-04 17:46:06 +01:00
Tyzillion d62fb5c4c7 Merge remote-tracking branch 'origin/evolution-effect' into evolution-effect 2024-03-03 20:58:44 -05:00
Paul ca9dde92cd Merge remote-tracking branch 'origin/main' into evolution-effect 2024-03-04 11:32:33 +10:00
Tyzillion 6ba264ddcb Merge branch 'main' of https://gitlab.com/cable-mc/cobblemon into evolution-effect 2024-03-03 20:26:59 -05:00
Tyzillion ab6c088ddf Evolution particle edits. 2024-03-03 17:56:50 -05:00
Tyzillion 18105a8b3f Merge branch 'main' of https://gitlab.com/cable-mc/cobblemon into evolution-effect 2024-03-03 17:56:44 -05:00
Tyzillion acb5984a9e Evolution particles electric boogaloo. 2024-03-03 03:50:33 -05:00
Paul 0a3ba8d4fa Fixed generic bedrock animations not being loaded 2024-03-03 17:37:43 +10:00
Paul 15259f0a95 Merge remote-tracking branch 'origin/main' into evolution-effect 2024-03-03 17:32:04 +10:00
Tyzillion 9f66c053e1 Evolution Particles BB. 2024-03-03 02:25:10 -05:00
Deltric ea2936f204 remove baked in adorn for compatibility mod 2024-03-02 17:44:25 -06:00
Deltric 9d7eef9bcd initial gradle changes 2024-03-02 17:18:50 -06:00
Timothy Metcalfe c8dedce977 Merge branch 'main' into 'held-item-manager-item-checker'
# Conflicts:
#   common/src/main/kotlin/com/cobblemon/mod/common/command/TestCommand.kt
2024-03-02 09:09:59 +00:00
Plastered_Crab fb85ceacb0 - More adjustments to the reel-in trajectory 2024-03-01 12:40:14 -08:00
Paul 9da2e125ac More NPC AI, some molang context implementation 2024-03-01 10:07:25 +10:00
jeffw773 7d9644ba51 - tweak Gyarados spawn for testing 2024-02-29 08:58:05 -08:00
Plastered_Crab 39c856b69a - Added in all Ancient Rod predicates so they look right when casting 2024-02-28 15:49:56 -08:00
Plastered_Crab 4a4c375f66 - Added in new test sounds for fishing 2024-02-28 14:56:28 -08:00
JPAKx4 e9d4524a4f Worked on forms and added Weight/Height stuff. 2024-02-27 20:24:12 -06:00
Plastered_Crab d22df3e554 - tweaked reel in logic and trajectory 2024-02-27 16:36:09 -08:00
JPAKx4 78c32e5396 Created a generic ScrollingWidget.kt and added a DescriptionWidget.kt for the PokedexGUI.kt 2024-02-27 13:35:09 -06:00
apion 743da2817b Added rooted soil 2024-02-27 06:07:24 -05:00
apion ebdf69f496 Rebuilt blockstate jsons 2024-02-27 05:57:41 -05:00
Plastered_Crab ed4dadc3f6 - cleaned up code 2024-02-26 16:21:44 -08:00
JPAKx4 58cb6295fa Merge remote-tracking branch 'origin/its-dexter-time' into its-dexter-time 2024-02-26 18:17:35 -06:00
JPAKx4 4bc94f8deb Made the info section render an animated pokemon. 2024-02-26 18:15:27 -06:00
Plastered_Crab c2e5e39019 - Tweaked IV bait logic 2024-02-26 16:11:35 -08:00
Plastered_Crab f383e5a52f - Fixed some bait logic 2024-02-26 15:33:28 -08:00
apion 25d3d9f7da Made tint values travel down to emissive layers 2024-02-26 18:04:30 -05:00
JPAKx4 e5235cb121 Added Scroll bar to the PokedexGUI.kt 2024-02-26 16:42:22 -06:00
Plastered_Crab 914b7c63c9 - Hooking entities no longer crashes the game :D 2024-02-26 14:37:57 -08:00
apion 3534dc0722 Added revoke command 2024-02-26 17:07:02 -05:00
apion ce5b94745e Fixed add only for pokemon with no alternate forms 2024-02-26 16:49:07 -05:00
Plastered_Crab 5a17a5ed68 - Glow/Sweet Berries can be used as bait + fixes for particles for fishing trails 2024-02-26 12:04:54 -08:00
jeffw773 bb1a46950f - added comment to bobber entity 2024-02-26 06:27:39 -08:00
jeffw773 679d3eae58 - edit to vanilla bait list 2024-02-26 06:08:04 -08:00
jeffw773 a9cd80e496 - remove junk test fishing loot table. Finalize % chance to get Smithing Template odds 2024-02-26 05:38:50 -08:00
apion 0868d71c59 Added command to fill pokedex, licenses 2024-02-26 05:42:28 -05:00
tmetcalfe89 8f64e4fef8 removed testcommand addition 2024-02-25 22:28:46 -08:00
apion a96cc307bb Fixed loot table injector 2024-02-25 23:39:06 -05:00
JPAKx4 801de096fd Work on Scrollbar and added the starter event to the PokedexHandler.kt 2024-02-25 22:04:25 -06:00
jeffw773 f2b2a282e5 Merge remote-tracking branch 'origin/sega_bass_pro_fishing_2' into sega_bass_pro_fishing_2 2024-02-25 19:56:20 -08:00
jeffw773 5bd7695ce8 - players can define their own bait now 2024-02-25 19:56:05 -08:00
JPAKx4 347c56c484 Added Portraits and Text 2024-02-25 19:59:51 -06:00
JPAKx4 a184c8b960 Merge remote-tracking branch 'origin/its-dexter-time' into its-dexter-time 2024-02-25 17:46:47 -06:00
JazzMcNade d15307a809 The target menu now displays if a target is valid or not. Multitargeting is supported as well. 2024-02-25 17:13:42 -06:00
Lily b42387a23f Merge remote-tracking branch 'origin/sega_bass_pro_fishing_2' into sega_bass_pro_fishing_2 2024-02-25 17:40:43 -05:00
Lily 6aa1e6f9ad advancement + tag changes 2024-02-25 17:39:55 -05:00
apion 950994d95c Added tracked data serialization 2024-02-25 06:29:41 -05:00
apion 19535fc81e Cleanup 2024-02-25 02:26:34 -05:00
apion a80938badf Moved pokedex storage to use nbt 2024-02-25 00:45:43 -05:00
jeffw773 414fcf8278 - Removed additional crafting recipe 2024-02-24 21:27:26 -08:00
jeffw773 a3c26484a4 - Inejected Pokerod Smithing Template into Treasure Fishing table 2024-02-24 21:25:06 -08:00
apion a484ba6c68 Cool codec stuff 2024-02-24 22:55:51 -05:00
JPAKx4 8afe6d5b22 Added Slots for pokedex and sorting for the species. 2024-02-24 21:48:09 -06:00
apion 30ba386294 Started trying to do incremental updates 2024-02-24 20:20:22 -05:00
apion f2ae51df7d Small fixes 2024-02-24 17:57:32 -05:00
apion b5d354164c Added back previously tracked events 2024-02-24 16:18:37 -05:00
JazzMcNade 935fd53b70 Fixed pokemon positioning in doubles/triples. Fixed positioning in portraits/targeting. Added triples as a selectable battleType. 2024-02-24 14:00:52 -06:00
apion fe69659191 Merge remote-tracking branch 'origin/its-dexter-time' into its-dexter-time 2024-02-24 03:22:18 -05:00
apion 536fac3904 Restructured the pokedex so that we can configure exactly what data gets tracked. It is super cool 2024-02-24 03:22:08 -05:00
Paul 53acf7a628 Various improvements to NPC AI 2024-02-24 15:17:48 +10:00
Lily fbc8883c96 advancement fixes, removed crafting table recipes, fixed fishing bait not registering 2024-02-23 23:57:50 -05:00
Paul 235b5d062d Merge remote-tracking branch 'origin/main' into npcs 2024-02-24 13:56:55 +10:00
JPAKx4 77a416b699 Merge remote-tracking branch 'origin/its-dexter-time' into its-dexter-time 2024-02-23 21:10:23 -06:00
apionandJPAKx4 1e05d35e06 Added Justify Text Right and new text for the pokedex. 2024-02-23 21:10:07 -06:00
Paul 12b92d3f35 Added flow datapackable thing 2024-02-24 11:58:57 +10:00
jeffw773 baba3f669d Merge remote-tracking branch 'origin/sega_bass_pro_fishing_2' into sega_bass_pro_fishing_2 2024-02-23 17:45:38 -08:00
jeffw773 2fe098adac - added in recipes for ancient rods 2024-02-23 17:45:23 -08:00
apion a84c72d703 Merge branch 'main' into its-dexter-time
# Conflicts:
#	common/src/main/kotlin/com/cobblemon/mod/common/Cobblemon.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/api/storage/player/GeneralPlayerData.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/api/storage/player/PlayerDataStoreManager.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/api/storage/player/factory/JsonPlayerDataStoreFactory.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/battles/BattleBuilder.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/client/CobblemonClient.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/command/TestCommand.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/util/PlayerExtensions.kt
2024-02-23 20:39:27 -05:00
apion 0b29bbf82c Merge branch 'main' into its-dexter-time
# Conflicts:
#	common/src/main/kotlin/com/cobblemon/mod/common/Cobblemon.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/api/storage/player/GeneralPlayerData.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/api/storage/player/PlayerDataStoreManager.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/api/storage/player/factory/JsonPlayerDataStoreFactory.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/battles/BattleBuilder.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/client/CobblemonClient.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/command/TestCommand.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/util/PlayerExtensions.kt
2024-02-23 20:39:07 -05:00
Lily 1c770049b4 Merge remote-tracking branch 'origin/sega_bass_pro_fishing_2' into sega_bass_pro_fishing_2
# Conflicts:
#	common/src/main/kotlin/com/cobblemon/mod/common/item/interactive/PokerodItem.kt
2024-02-23 20:21:53 -05:00
Lily 71b854f36a ancient rods + advancements 2024-02-23 20:21:26 -05:00
apion 995364c960 Texture updates 2024-02-23 19:53:27 -05:00
jeffw773 61b944a293 - reworked fishing baits to be datapackable (now you can fish with steak if you wanted) 2024-02-23 16:16:48 -08:00
apion 289b2ddc7b Berries now stick out of the ground when initially planted 2024-02-23 19:08:03 -05:00
Paul dacfb4f1ff Merge branch 'npcs' into event-flows
# Conflicts:
#	common/src/main/kotlin/com/cobblemon/mod/common/entity/pokeball/EmptyPokeBallEntity.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/util/MoLangExtensions.kt
2024-02-24 10:02:26 +10:00
Paul 4086ba73d3 Some structs for things 2024-02-24 09:59:27 +10:00
JPAKx4 35085c462e Created layout for Pokedex. Placeholder images added for the background. 2024-02-23 11:56:58 -06:00
jeffw773 46ed6d0492 - more bait swapping logic 2024-02-23 08:53:46 -08:00
JazzMcNade db33633406 Added sendout locations for doubles and triples first pass. 2024-02-23 02:12:19 -06:00
jeffw773 72058bb56f - Fixed some bait swapping logic 2024-02-22 23:57:05 -08:00
jeffw773 a7b28ed936 - Added some wip fishing sounds 2024-02-22 23:19:25 -08:00
jeffw773 96fce55688 - added some additional fishing spawn pool pokemon 2024-02-22 22:15:27 -08:00
apion 809f1aeca3 Got incremental pokedex updates working 2024-02-23 01:06:56 -05:00
apion dfa76da95e Move onBattle logic to PokedexHandler 2024-02-23 00:07:36 -05:00
apion 776883c96d Small cleanup 2024-02-22 23:44:19 -05:00
Lily 85daf496d8 changes to pokerod item lang 2024-02-22 23:16:09 -05:00
JPAKx4 c5c58c0c60 Added events in PokedexHandler that update the server and client side pokedexes and added an optimization to track when a PokedexEntry was actually changed to reduce how much is sent on updates 2024-02-22 21:50:29 -06:00
Paul 7655ddb25b More AI work for NPCs, im lernings 2024-02-23 12:16:10 +10:00
JPAKx4 9861877f45 Merge remote-tracking branch 'origin/its-dexter-time' into its-dexter-time 2024-02-22 19:41:27 -06:00
apion 338a312485 Darken icon for encountered only mons 2024-02-22 20:14:32 -05:00
JPAKx4 a3b2bed484 Merge remote-tracking branch 'origin/its-dexter-time' into its-dexter-time
# Conflicts:
#	common/src/main/kotlin/com/cobblemon/mod/common/pokedex/Progress.kt
2024-02-22 19:00:34 -06:00
JPAKx4 fa2ac5d984 Refactored packages for pokedex networking 2024-02-22 19:00:02 -06:00
apion 951676e6bf Added icon to pokemon who have been encountered before 2024-02-22 19:56:33 -05:00
Plastered_Crab 7b4b498877 - All but 6 berries are implemented for bait (save me) 2024-02-22 15:52:17 -08:00
Plastered_Crab 0ee32c7fd3 - Most of the baits work now (I am so tired) 2024-02-22 14:44:47 -08:00
Plastered_Crab 2c2c1b0cf4 - More groundwork for bait 2024-02-22 09:30:46 -08:00
JazzMcNade 49095f73d5 Fainted Pokemon no longer display on the target selection. Added the ability to cancel the previous action in a double battle. 2024-02-22 00:17:20 -06:00
apion 15940ff0a6 Added Pokedex store, plus added tracking of wild pokemon encounters 2024-02-22 01:00:42 -05:00
jeffw773 218edf680b - Ground work for baits having effects on fishing 2024-02-21 21:35:21 -08:00
apion bec608be96 Refactored storage system to make adding more types of stores easier. 2024-02-21 22:55:09 -05:00
Plastered_Crab 7598a0dacc - Updated assets for rods 2024-02-21 18:33:25 -08:00
Plastered_Crab 7327a4ddb5 - Bait can be removed and swapped out on the bobber 2024-02-21 11:44:21 -08:00
Plastered_Crab f1d3e7b12b - Bait can now be applied to the fishing bobbers 2024-02-21 11:09:53 -08:00
tmetcalfe89 8dfbe8c60e last println gone 2024-02-21 09:12:32 -08:00
jeffw773 410ea6be87 - Tweaked line colors and started on bait testing 2024-02-20 23:08:48 -08:00
Plastered_Crab 399dfc33c5 - Added Beast Rod (blue string variant) 2024-02-20 17:05:20 -08:00
tmetcalfe89 8d81432519 leftover printlns *closes door quietly behind him* 2024-02-20 16:22:37 -08:00
tmetcalfe89 6a9662a514 cleaning up after myself 2024-02-20 16:16:29 -08:00
tmetcalfe89 15f65ad714 scaled back the scope and accommodated the same stores as looking by pokemon 2024-02-20 16:08:38 -08:00
Plastered_Crab 26e39bb37d - Altered the trajectory of reeled in pokemon 2024-02-20 15:17:11 -08:00
Plastered_Crab 4ff7df63c0 - Fixed colored fishing lines for cosmetic rods and fixed line not breaking when swapping to another rod 2024-02-20 14:45:39 -08:00
tmetcalfe89 1d209bab40 I should test before push 2024-02-20 10:46:44 -08:00
tmetcalfe89 9198dbb51e back to an interface with ye 2024-02-20 10:43:54 -08:00
tmetcalfe89 9ce6e51f55 prototype for splitting one question into two 2024-02-20 10:34:19 -08:00
jeffw773 1d1f749d6d - Added cast predicates and JSON features to each remaining cosmetic rod 2024-02-20 01:36:14 -08:00
Plastered_Crab d6e4b9c1a6 - Added other rods to the CobblemonItems list 2024-02-19 17:19:56 -08:00
apion 15d3ee0d49 Data-packable fishing rods kind of 2024-02-19 19:56:22 -05:00
Plastered_Crab de0ed1ab41 - Added crafting table recipes for cosmetic rods 2024-02-19 15:12:47 -08:00
Lily 81d930afae poke rod sync stuff (not fully working atm) 2024-02-19 15:37:30 -05:00
Plastered_Crab b83d75f30f - More Attempts at setting ball used for bobber and line color for rod during registry 2024-02-19 11:42:04 -08:00
Plastered_Crab 5814c1a5d6 - Attempts to get each ball rendered correctly for each rod (still needs work) 2024-02-19 10:10:57 -08:00
jeffw773 a45fec50a4 - Added fancy cosmetic Rods for each pokeball type 2024-02-18 22:51:05 -08:00
JazzMcNade 2ffe107789 Added primitive targeting. Fixed an issue in which the client would attempt to give orders to a fainted slot. 2024-02-18 23:47:01 -06:00
jeffw773 576b6ea767 - implemented test Magikarp animations + added test hook to Bobber 2024-02-18 18:05:16 -08:00
Paul dd6271ceed Merge remote-tracking branch 'origin/main' into npcs 2024-02-19 11:35:40 +10:00
jeffw773 792287cb5a - added new Magikarp models/textures/animations 2024-02-18 14:44:11 -08:00
Lily 42ad084dbe pokerod assets 2024-02-18 16:24:20 -05:00
jeffw773 b9bd61f3dc - fishing line connects to bobber much better now 2024-02-18 01:04:41 -08:00
jeffw773 c6d6f98d03 - fishing line connects to bobber much better now 2024-02-18 01:03:28 -08:00
jeffw773 abbd17faf7 - Pokeball Bobber now casts with more controlled random pitch/yaw amounts and also rotates upright when it hits water 2024-02-18 00:29:21 -08:00
jeffw773 c159137a70 Merge remote-tracking branch 'origin/display_case' into sega_bass_pro_fishing_2 2024-02-17 22:54:08 -08:00
jeffw773 03628631f7 - Pokeball bobber now rotates upwards when bobbing in water 2024-02-17 11:50:37 -08:00
jeffw773 e5e61df4b2 Merge remote-tracking branch 'origin/sega_bass_pro_fishing_2' into sega_bass_pro_fishing_2
# Conflicts:
#	common/src/main/kotlin/com/cobblemon/mod/common/client/render/entity/PokeBobberEntityRenderer.kt
2024-02-17 10:31:26 -08:00
Lily f07c4bf5b1 refactored fishing bobber variable names to be more readable instead of the single-letter names that mc gives us 2024-02-17 11:31:38 -05:00
Lily 0e3fd520f0 fixed naming to be more consistent with vanilla textures 2024-02-17 11:23:08 -05:00
jeffw773 935f3100d2 - Pokeball Bobber now slows down fast in water (due to water friction) and has a random spin applied when casting 2024-02-16 22:12:07 -08:00
Lily 8b32764ce3 pokerod smithing template assets 2024-02-17 00:14:26 -05:00
Lily 3e5a57ea20 pokerod now slowly stops spinning 2024-02-16 23:35:34 -05:00
Plastered_Crab 6ee94aa55b - Pokeball Bobber now spins when cast and stops spinning on land, needs fixed for water surface 2024-02-16 17:01:07 -08:00
Paul 05e7e1448b Removed redundant function 2024-02-17 10:51:10 +10:00
Lily bd5185e69e Merge remote-tracking branch 'origin/sega_bass_pro_fishing_2' into sega_bass_pro_fishing_2 2024-02-16 19:31:40 -05:00
Lily 5e8df4609b started bobber rendering 2024-02-16 19:31:21 -05:00
Plastered_Crab 289d1474a6 - Beeeeg Whiscash has been added to fishing spawn chances 2024-02-16 14:54:52 -08:00
Plastered_Crab e4604c0d13 - Wooper (Heart variant) is now fully implemented for fishing 2024-02-16 14:24:31 -08:00
Tyzillion d4f91fa945 Wooper Heart Fix. <3 2024-02-16 16:53:53 -05:00
Plastered_Crab 5c52a9a31a - Started Implemented Wooper (heart form) to be added to the fishing chance pool 2024-02-16 13:19:57 -08:00
Plastered_Crab db2efcb48e - added new spawn conditional for lureLevel. Variants of Karp can now only have a chance to appear at certain Lure levels 2024-02-16 10:32:55 -08:00
Plastered_Crab 3bcbe2fb45 - Incorporated Pokerod Treasure loot table and player will physically reel in pokemon under 200 lbs 2024-02-16 09:32:01 -08:00
Paul c7202cc869 Fixed magikarp jump pattern spawn file 2024-02-16 11:34:40 +10:00
Lily 269e18786b Merge remote-tracking branch 'origin/sega_bass_pro_fishing_2' into sega_bass_pro_fishing_2 2024-02-15 19:40:14 -05:00
Lily bd79a4ecfb pokerod smithing template (needs some more assets but should be functional) 2024-02-15 19:39:49 -05:00
Plastered_Crab 3c3a8b1af9 - Pokerod now cannot stack and has same durability as vanilla fishing rod 2024-02-15 16:07:54 -08:00
Lily 11e2ed34e5 Merge branch 'main' into sega_bass_pro_fishing_2
# Conflicts:
#	common/src/main/kotlin/com/cobblemon/mod/common/CobblemonEntities.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/CobblemonItems.kt
#	fabric/src/main/kotlin/com/cobblemon/mod/fabric/client/CobblemonFabricClient.kt
#	forge/src/main/kotlin/com/cobblemon/mod/forge/client/CobblemonForgeClient.kt
2024-02-15 18:54:42 -05:00
Plastered_Crab 1500d6cdf1 - All Magikarp Jump variants implemented and new item loot tables started 2024-02-15 14:59:18 -08:00
Plastered_Crab acbbe2a1ba - Start to JUMP variants spawning properly when fishing 2024-02-14 16:42:58 -08:00
Plastered_Crab 0fe6bc918c - Adding Magikarp JUMP addon variants into Base mod 2024-02-14 14:57:27 -08:00
Plastered_Crab d399b3e29a - Magikarps now get reeled in at good distances in front of player 2024-02-14 14:20:32 -08:00
JazzMcNade f2f6c3d0ef Added UI endpoint to initiate a double battle. Added primitive battleFormat selection for BattleChallengePacket 2024-02-14 00:35:24 -06:00
Plastered_Crab acc6f119e1 - Magikarps getting reeled in now land in front of the player instead of behind the player (for battle reasons) 2024-02-13 16:45:22 -08:00
Plastered_Crab 932a2c375c - Begin different reel-in trajectories for fishing up Magikarps 2024-02-13 14:46:42 -08:00
Paul 1d3de659a8 Conflicty resolvo 2024-02-11 12:14:51 +10:00
Paul 9e5879edd3 Put molang back 2024-02-11 12:01:39 +10:00
Paul 4f71340ef8 Conflict stuff 2024-02-11 11:59:40 +10:00
Paul b5c4863e20 Setup saving for NPC edit UI 2024-02-11 11:38:28 +10:00
Paul a3eff4b195 Merge branch 'move-animations' into npcs
# Conflicts:
#	common/src/main/kotlin/com/cobblemon/mod/common/battles/ShowdownInterpreter.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/client/entity/PokemonClientDelegate.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/client/render/pokemon/PokemonRenderer.kt
2024-02-10 16:12:26 +10:00
Nick 142eebe9e6 Apply model predicates, starting with Pokerod 2024-02-09 22:07:43 -08:00
jeffw773 36f19c9180 - Xp is rewarded to player for fishing up Pokemon 2024-02-09 21:15:10 -08:00
Paul 168e034daf Removed some more dead code 2024-02-10 13:28:56 +10:00
Paul 827e651b22 Removed some dead code 2024-02-10 12:15:37 +10:00
Paul fc34312bbb Crucial all-important fix (may change the world as we know it) 2024-02-10 12:15:14 +10:00
Paul 53261b3274 Removed dead code 2024-02-10 11:40:35 +10:00
Paul 9c3a38657c Merge remote-tracking branch 'origin/main' into move-animations 2024-02-10 11:37:57 +10:00
Paul 656487c868 Oops don't remove that 2024-02-10 11:36:36 +10:00
Paul d491f16aff Merge remote-tracking branch 'origin/main' into move-animations
# Conflicts:
#	common/src/main/kotlin/com/cobblemon/mod/common/client/render/models/blockbench/fossil/FossilModel.kt
2024-02-10 11:31:10 +10:00
Paul 29a5b4931d Changelog 2024-02-10 11:30:47 +10:00
Paul 42fdcc740e The default target locator would probably work as a default special_attack locator 2024-02-10 11:27:20 +10:00
Paul 3bfc3ca425 Approximate the target locator for pokemon without that locator in the model 2024-02-10 11:19:28 +10:00
Paul 82682c3710 Merge remote-tracking branch 'origin/main' into move-animations
# Conflicts:
#	common/src/main/kotlin/com/cobblemon/mod/common/client/render/models/blockbench/PoseableEntityState.kt
2024-02-10 10:37:12 +10:00
jeffw773 beb8fed6bd - Pokeball Bobber now renders correctly when cast out with Pokerod
- Luck of the Sea and Lure get read correctly from the rod and factor into the spawn bucket chosen
2024-02-09 14:17:13 -08:00
jeffw773 142284a17c - Pokemon rarity is altered by Luck of the Sea 2024-02-08 21:18:41 -08:00
Paul 261850cc9f Early work on NPC editor 2024-02-09 13:47:40 +10:00
jeffw773 f1ea86362a - Fixed fishing spawns being able to check if sky is actually visible.
- added isOcean to biomes to Magikarp
2024-02-07 18:28:42 -08:00
Paul d1772b0241 Merge branch 'amo/sendout-upgrade' into npcs
# Conflicts:
#	common/src/main/kotlin/com/cobblemon/mod/common/client/CobblemonClient.kt
2024-02-04 14:46:04 +10:00
Paul ec3361ad91 Added basic fishing spawn detail for Magikarp and use the world pool for fishing because ehhh 2024-02-03 12:16:53 +10:00
Paul ca7c36ce15 Added trigger spawning with a fishing implementation 2024-02-03 12:13:38 +10:00
jeffw773 f7c73728d7 - Added some newer spawning stuff and added battle initiation after fished up mon 2024-02-02 16:38:15 -08:00
jeffw773 1992a23edc Merge branch 'main' into sega_bass_pro_fishing_2 2024-02-02 13:39:02 -08:00
Paul 4bb2564b80 Merge branch 'amo/sendout-upgrade' into move-animations 2024-02-02 14:26:44 +10:00
Paul 4ab72dd0d9 Added MoLang scrip framework 2024-02-02 11:31:42 +10:00
Paul 7f6eb452be Moved NPCs over to JSON posers and improved declaration of label exclusions in primary animations 2024-01-27 11:08:01 +10:00
Paul 0afe50c883 Some fixes to have NPCs use the send out animations 2024-01-26 12:59:08 +10:00
Paul a74499a14b Conflict issues 2024-01-26 11:07:23 +10:00
Paul e6ff24072f Merge branch 'move-animations' into npcs
# Conflicts:
#	common/src/main/kotlin/com/cobblemon/mod/common/Cobblemon.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/CobblemonEntities.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/api/net/serializers/IdentifierDataSerializer.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/api/scheduling/SchedulingFunctions.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/client/CobblemonClient.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/client/render/models/blockbench/PoseableEntityModel.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/client/render/models/blockbench/bedrock/animation/BedrockStatefulAnimation.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/client/render/pokemon/PokemonRenderer.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/command/TestCommand.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/data/CobblemonDataProvider.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/entity/pokemon/PokemonEntity.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/pokemon/Pokemon.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/util/DataKeys.kt
2024-01-26 10:51:47 +10:00
Paul 7693d22e58 Why is there a .ignored folder 2024-01-25 19:31:25 +10:00
Paul f3544f9cdf Updated inbuilt posers for new animation system stuff 2024-01-25 19:30:44 +10:00
Paul 9f7800b995 Mountains of remaining work on move animations system 2024-01-25 19:10:41 +10:00
Paul 022c8ed499 Merge branch 'amo/sendout-upgrade' into move-animations
# Conflicts:
#	common/src/main/kotlin/com/cobblemon/mod/common/client/entity/PokemonClientDelegate.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/client/render/models/blockbench/PoseableEntityModel.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/client/render/models/blockbench/PoseableEntityState.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/client/render/models/blockbench/bedrock/animation/BedrockAnimation.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/client/render/models/blockbench/pokeball/PokeBallModel.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/client/render/models/blockbench/pokemon/JsonPokemonPoseableModel.kt
2024-01-19 13:50:41 +10:00
jeffw773 dad28135cc - Brief changes to particle count based on rarity reeled in 2024-01-18 14:32:43 -08:00
jeffw773 e41d13dd53 - Pokerod now uses config values for rarity buckets and access biome spawn pools 2024-01-14 23:02:33 -08:00
jeffw773 64cae53d82 - Pokerod foundation laid out for having chance to spawn Pokemon instead of getting item as well as rarity chance started 2024-01-14 00:11:12 -08:00
dhi_holo c9bf0bd8d7 Merge branch 'sega_bass_pro_fishing_2' of https://gitlab.com/cable-mc/cobblemon into sega_bass_pro_fishing_2 2024-01-14 13:36:53 +10:00
dhi_holo 97d2047aee It's a Tool, It's a Rod
makes pokerod be held correctly, and adds second model file for the cast variation, when that is implemented.
2024-01-14 13:36:04 +10:00
jeffw773 811f8abed7 - Added override for model of pokerod when cast 2024-01-13 19:27:22 -08:00
jeffw773 ab02a54f28 - Finally the Pokerod is starting to work! (it is backwards tho) 2024-01-13 19:08:36 -08:00
jeffw773 6e0c1aefcc - More testing fishing code for pokerod 2024-01-13 13:55:02 -08:00
jeffw773 e887b6c43c - Some code for fishing testing again 2024-01-13 12:16:38 -08:00
jeffw773 25172c2bc9 - Some code for fishing testing 2024-01-13 11:23:38 -08:00
jeffw773 929b90173a - Some code for fishing testing 2024-01-12 11:58:02 -08:00
jeffw773 70a65f6ffe - Testing code 2024-01-12 07:39:21 -08:00
jeffw773 db7d3f01d8 - Starting implementation on fishing 2024-01-12 07:39:20 -08:00
Paul 08565a9823 Brought fossils into the new molang/animation changes 2024-01-12 10:01:02 +10:00
Paul e11245f609 Merge remote-tracking branch 'origin/main' into move-animations
# Conflicts:
#	common/src/main/kotlin/com/cobblemon/mod/common/CobblemonNetwork.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/api/molang/ExpressionLike.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/api/molang/MoLangFunctions.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/api/molang/SingleExpression.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/battles/ShowdownInterpreter.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/client/ClientMoLangFunctions.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/client/render/models/blockbench/PoseableEntityModel.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/client/render/pokeball/PokeBallPoseableState.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/config/CobblemonConfig.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/entity/Poseable.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/entity/pokemon/PokemonEntity.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/util/MiscUtils.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/util/MoLangExtensions.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/util/adapters/ExpressionLikeAdapter.kt
2024-01-08 16:17:56 +10:00
Paul b3a6d8eb27 Tried fixing a wander path issue 2024-01-08 12:30:35 +10:00
Paul 093c3683c5 Merge remote-tracking branch 'origin/main' into npcs 2024-01-07 14:04:45 +10:00
Paul 2b4b9ca5dd Setup and foundation work on NPC entity AI 2024-01-07 12:32:25 +10:00
Paul ea70d27f87 Merge remote-tracking branch 'origin/main' into npcs 2024-01-06 10:37:21 +10:00
Paul 5487b81f10 Improved rendering of reference faces and NPCs in dialogue GUI 2024-01-06 10:36:37 +10:00
Paul 96b8aeb5b8 Added NPC face and dialogue scripty stuff woo 2024-01-05 16:00:03 +10:00
Paul bf1520b1b4 Fixed NPC recalling logic 2024-01-05 11:03:09 +10:00
Paul 0f22da7ff2 Merge remote-tracking branch 'origin/main' into npcs
# Conflicts:
#	common/src/main/kotlin/com/cobblemon/mod/common/CobblemonNetwork.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/battles/ShowdownInterpreter.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/client/CobblemonClient.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/command/TestCommand.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/data/CobblemonDataProvider.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/util/DataKeys.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/util/MiscUtils.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/util/adapters/MoValueAdapter.kt
2024-01-05 10:20:35 +10:00
Paul 90e39874e0 Imports mainly 2023-12-27 11:12:58 +10:00
Paul 2d5796de71 Merge remote-tracking branch 'origin/improved-transformed-parts' into move-animations
# Conflicts:
#	common/src/main/kotlin/com/cobblemon/mod/common/entity/pokemon/PokemonEntity.kt
2023-12-26 13:32:48 +10:00
Paul 3b152eafac Conflict resolution artifact 2023-12-26 12:12:53 +10:00
Paul 06ed354ebe Merge branch 'improved-transformed-parts' into move-animations
# Conflicts:
#	common/src/main/kotlin/com/cobblemon/mod/common/api/molang/MoLangFunctions.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/client/entity/EmptyPokeBallClientDelegate.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/client/entity/PokemonClientDelegate.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/client/render/models/blockbench/PoseableEntityState.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/entity/pokemon/PokemonEntity.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/entity/pokemon/PokemonServerDelegate.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/util/MoLangExtensions.kt
2023-12-26 12:09:23 +10:00
Paul caad276cbf Moved NPC's to use modern MC AI 2023-12-25 20:16:41 +10:00
Paul 093ad6329d Merge remote-tracking branch 'origin/main' into npcs 2023-12-25 11:38:58 +10:00
Paul 94d216fd7a Corrections from merging in scheduling changes 2023-12-24 21:34:52 +10:00
Paul 04c63145e1 Merge branch 'improved-transformed-parts' into npcs
# Conflicts:
#	common/src/main/kotlin/com/cobblemon/mod/common/CobblemonEntities.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/api/battles/model/PokemonBattle.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/api/scheduling/SchedulingFunctions.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/battles/ShowdownInterpreter.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/client/CobblemonClient.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/client/render/models/blockbench/bedrock/animation/BedrockAnimation.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/client/render/models/blockbench/bedrock/animation/BedrockStatefulAnimation.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/client/render/models/blockbench/bedrock/animation/BedrockStatelessAnimation.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/client/render/pokemon/PokemonRenderer.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/command/TestCommand.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/entity/pokemon/PokemonEntity.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/entity/pokemon/PokemonServerDelegate.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/pokemon/Pokemon.kt
#	fabric/src/main/kotlin/com/cobblemon/mod/fabric/client/CobblemonFabricClient.kt
#	forge/src/main/kotlin/com/cobblemon/mod/forge/client/CobblemonForgeClient.kt
2023-12-24 15:15:52 +10:00
JPAKx4 3704865ddb Created several classes related to creating the pokedex. DTO has been handled, but may need to change depending on functionality. Added keybind for "k", which all it currently does is display test text and print the pokedex entry class memories into a log. 2023-11-25 22:31:29 -06:00
JPAKx4 8815e8f03e Created several classes related to creating the pokedex. DTO has been handled, but may need to change depending on functionality. Added keybind for "k", which all it currently does is display test text and print the pokedex entry class memories into a log. 2023-11-25 22:00:26 -06:00
JPAKx4 a2414f9ffc Created several classes related to creating the pokedex. DTO has been handled, but may need to change depending on functionality. Added keybind for "k", which all it currently does is display test text and print the pokedex entry class memories into a log. 2023-11-25 22:00:26 -06:00
Paul 80b8cebb19 Fully integrated smooth animation transitioning into move animations 2023-11-25 17:19:19 +10:00
Paul b339081128 Merge remote-tracking branch 'origin/improved-transformed-parts' into move-animations
# Conflicts:
#	common/src/main/kotlin/com/cobblemon/mod/common/CobblemonNetwork.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/api/scheduling/SchedulingFunctions.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/client/entity/PokemonClientDelegate.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/client/render/models/blockbench/PoseableEntityModel.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/client/render/models/blockbench/PoseableEntityState.kt
#	common/src/main/kotlin/com/cobblemon/mod/common/client/render/models/blockbench/pokemon/gen1/CharizardModel.kt
2023-11-24 10:09:32 +10:00
JPAKx4 db8ee43fd3 Merge remote-tracking branch 'origin/main' into its-dexter-time
# Conflicts:
#	common/src/main/kotlin/com/cobblemon/mod/common/data/CobblemonDataProvider.kt
2023-11-19 16:19:21 -06:00
JPAKx4 7e755721a8 Added pokedex UI and net (very early progress) 2023-11-19 16:18:22 -06:00
Paul 506e685117 Added q.animation to poseable models molang runtime 2023-11-03 19:07:32 +10:00
Paul eceac5fa81 Substantially implemented system for action effects 2023-10-30 17:01:42 +10:00
Paul a6b5c0bfab Added support for arbitrary animation starting for poseable entities 2023-10-27 15:12:41 +10:00
Paul b1a0d4d5a7 Groundwork for effect animations 2023-10-26 18:47:32 +10:00
Paul 627d31d0cc Merge branch 'spawn-rules' into move-animations 2023-10-21 13:15:32 +10:00
Paul d9f1e3c15f Merge remote-tracking branch 'origin/main' into move-animations 2023-10-21 11:47:14 +10:00
Paul eca52623e8 Merge remote-tracking branch 'origin/main' into npcs
# Conflicts:
#	common/src/main/kotlin/com/cobblemon/mod/common/pokemon/Pokemon.kt
2023-10-21 10:54:21 +10:00
Paul 10740ac1c8 Merge remote-tracking branch 'origin/main' into move-animations 2023-10-14 17:11:23 +10:00
Paul b9766486db Merge remote-tracking branch 'origin/main' into npcs 2023-10-13 18:07:42 +10:00
Paul bf6a923e2c Tracked data improvements for NPCs 2023-10-13 08:41:38 +10:00
Paul a073886bc5 Merge remote-tracking branch 'origin/main' into npcs 2023-10-09 17:04:40 +10:00
Paul 7c4749ecd1 Added variables listing to NPC class 2023-10-08 17:54:47 +10:00
Paul 76566669c6 Merge remote-tracking branch 'origin/spawn-rules' into npcs
# Conflicts:
#	common/src/main/kotlin/com/cobblemon/mod/common/api/pokemon/PokemonProperties.kt
2023-10-08 11:10:16 +10:00
Paul 5b8e673e53 Merge remote-tracking branch 'origin/main' into npcs 2023-10-07 21:29:53 +10:00
Paul f0a62d56a9 Merge remote-tracking branch 'origin/main' into move-animations 2023-10-07 14:56:49 +10:00
Paul 565a28de87 Merge remote-tracking branch 'origin/main' into move-animations 2023-10-02 20:16:34 +10:00
Paul de35a54f84 Fixes from merge from main 2023-09-26 18:02:32 +10:00
Paul 2c164685f4 Merge broken 2023-09-25 13:35:48 +10:00
Paul c3789cd620 Testcommand should spawn trainers not in the ground please thank you (also update trainer animations) 2023-08-27 11:02:03 +10:00
Paul 0905b16a48 Fixed instances of NPC Pokémon not being recalled or disappeared when the NPC dies 2023-08-27 11:01:14 +10:00
Paul 7881b14c4d Fixed NPC Pokémon persisting across restarts as if they were wild 2023-08-27 10:50:17 +10:00
Paul 49c8df2cef Polished timing of NPC sendout/recall animations, added win/loss NPC animations 2023-08-26 19:21:49 +10:00
Paul 165b51fde6 Many NPC battle improvements, including sendout/recall animations and scheduling, animation fixes 2023-08-25 22:07:09 +10:00
Paul b020f642f3 Merge branch 'main' into npcs 2023-08-22 19:56:15 +10:00
Paul 88e0bf57c8 Outlined NPC battle logic 2023-08-21 15:57:41 +10:00
Paul 2adb96c6bc Merge remote-tracking branch 'origin/main' into npcs 2023-08-20 19:30:24 +10:00
Paul 4094dfa6de Much more foundation for NPCs configuration 2023-08-19 12:53:25 +10:00
Paul 135ec86291 Basic AI for NPCs, implemented limb swing properties in molang to improve idle/walk for NPCs, fixes 2023-08-16 07:19:45 +10:00
Paul 910a8361ec Licenses 2023-08-13 21:51:15 +10:00
Paul 125f7d679f Much more NPC framework, rendering works, NPC class data registry configured 2023-08-13 21:50:45 +10:00
Paul 04abd73f35 Merge remote-tracking branch 'origin/main' into npcs
# Conflicts:
#	common/src/main/kotlin/com/cobblemon/mod/common/client/CobblemonClient.kt
2023-08-13 20:40:34 +10:00
Paul f3ba33f7ba More outlining for action effects 2023-05-02 19:54:18 +10:00
Paul ed4dff66b6 Tentative move particle work 2023-04-27 22:45:58 +10:00
Paul 0f16290c34 Merge remote-tracking branch 'origin/1.19.3' into npcs 2023-04-24 21:16:23 +10:00
Paul 9725c46b30 Initial work on NPCs 2023-04-03 21:14:29 +10:00
MoeBoy76 231b3d2eac Merge branch 'main' of https://gitlab.com/cable-mc/cobblemon into its-dexter-time 2023-03-03 11:44:23 +11:00
MoeBoy76 ac4d36100a updated some parts per design and added some fail-safe checking 2023-03-03 11:43:37 +11:00
MoeBoy76 2bf1c39839 Initial dex code and testing for datapacks 2023-02-24 08:38:06 +11:00
MoeBoy76 ad2c307b60 Merge branch 'main' of https://gitlab.com/cable-mc/cobblemon into its-dexter-time
# Conflicts:
#	common/src/main/resources/assets/cobblemon/sounds.json
2023-02-17 11:39:00 +11:00
MoeBoy76 74ba080937 Merge branch 'main' of https://gitlab.com/cable-mc/cobblemon into its-dexter-time
# Conflicts:
#	common/src/main/resources/assets/cobblemon/sounds.json
2022-12-23 16:19:56 +11:00
12430 changed files with 659205 additions and 213935 deletions
+1
View File
@@ -3,3 +3,4 @@
# are changed when only line endings change.
src/generated/**/.cache/cache text eol=lf
src/generated/**/*.json text eol=lf
CHANGELOG.md merge=union
+3 -1
View File
@@ -36,6 +36,8 @@ common/src/main/resources/assets/cobblemon/showdown
*/generated/resources/*
/fabric/src/generated/resources/cobblemon-common.accesswidener
/.ignored/
common/.fabric
.kotlin/
# MacOS
.DS_Store
.DS_Store
+150 -29
View File
@@ -1,64 +1,185 @@
image: amazoncorretto:21
before_script:
- export GRADLE_USER_HOME=`pwd`/.gradle
# TODO add client reference test process, search for import com.cobblemon.mod.common.client
stages:
- preprocessing
- packsquash
- replaceresources
- build
- deploy
#TODO add client reference test process, search for import com.cobblemon.mod.common.client
check_assets_cache:
stage: preprocessing
script:
- echo "Checking if cached hash matches current hash"
# Calculate the current hash
- find common/src/main/resources/assets common/src/main/resources/data -type f -exec sha256sum {} + | sort -k 2 | sha256sum > current_hash.txt
- echo "Current hash:"
- cat current_hash.txt
# Check for the existence of the previous hash
- if [[ -f assets_data_hash.txt ]]; then
echo "Previous cached hash found:";
cat assets_data_hash.txt;
if cmp -s assets_data_hash.txt current_hash.txt; then
echo "Hashes match, skipping PackSquash";
rm -f run_packsquash.flag || true;
else
echo "Hashes differ, PackSquash needed";
touch run_packsquash.flag;
fi;
else
echo "No cached hash found, marking PackSquash as required";
touch run_packsquash.flag;
fi
# Save the current hash for future runs
- echo "Saving current hash to cache";
- cp current_hash.txt assets_data_hash.txt
artifacts:
paths:
- current_hash.txt
- assets_data_hash.txt
- run_packsquash.flag
expire_in: 7 days
cache:
key: "cache-${CI_COMMIT_REF_NAME}"
paths:
- assets_data_hash.txt
- ./compressed_pack.zip
setup_resource_pack:
stage: preprocessing
script:
- echo "Setting up fake resource pack"
- mkdir ./fake_resource_pack
- cp -r common/src/main/resources/assets common/src/main/resources/data ./fake_resource_pack/
- echo '{"pack":{"pack_format":34,"description":"Fake Cobblemon Pack"}}' > ./fake_resource_pack/pack.mcmeta
artifacts:
paths:
- ./fake_resource_pack/
expire_in: 7 days
setup_packsquash:
stage: preprocessing
script:
- echo "Installing wget & unzip"
- yum install -y wget unzip
- echo "Downloading PackSquash"
- wget https://github.com/ComunidadAylas/PackSquash/releases/download/v0.4.0/PackSquash.CLI.executable.x86_64-unknown-linux-musl.zip
- unzip PackSquash.CLI.executable.x86_64-unknown-linux-musl.zip -d ./packsquash_bin
- echo "Creating PackSquash options.toml"
- |
cat <<EOF > ./options.toml
pack_directory = "./fake_resource_pack/"
output_file_path = "./compressed_pack.zip"
zip_spec_conformance_level = "high"
['**/*?.ogg']
transcode_ogg = false
two_pass_vorbis_optimization_and_validation = false
sampling_frequency = 999999
empty_audio_optimization=false
EOF
artifacts:
paths:
- ./packsquash_bin/
- ./options.toml
expire_in: 7 days
default:
artifacts:
expire_in: 7 days
run_packsquash:
stage: packsquash
dependencies:
- check_assets_cache
- setup_resource_pack
- setup_packsquash
script:
- ls -l
- if [[ ! -f ./compressed_pack.zip || -f run_packsquash.flag ]]; then
echo "Running PackSquash";
chmod +x ./packsquash_bin/packsquash;
./packsquash_bin/packsquash ./options.toml;
else
echo "Skipping PackSquash; no changes detected and compressed pack exists";
fi
cache:
key: "cache-${CI_COMMIT_REF_NAME}"
policy: pull-push
paths:
- assets_data_hash.txt
- ./compressed_pack.zip
artifacts:
paths:
- ./compressed_pack.zip
replace_resources:
stage: replaceresources
dependencies:
- run_packsquash
script:
- echo "Installing unzip"
- yum install -y unzip
- echo "Unzipping compressed pack"
- mkdir temp_unpack
- unzip ./compressed_pack.zip -d temp_unpack
- echo "Removing original assets and data"
- rm -rf common/src/main/resources/assets
- rm -rf common/src/main/resources/data
- echo "Replacing assets and data"
- mv temp_unpack/assets common/src/main/resources/
- mv temp_unpack/data common/src/main/resources/
artifacts:
paths:
- common/src/main/resources/
build:
stage: build
only:
- branches@cable-mc/cobblemon
dependencies:
- replace_resources
script:
- export GRADLE_OPTS="-Xmx4G -Xms4G"
- chmod +x ./gradlew
- ./gradlew build
cache:
key: "$CI_COMMIT_REF_NAME"
policy: push
artifacts:
paths:
- forge/build/libs
- neoforge/build/libs
- fabric/build/libs
publish:
stage: deploy
dependencies:
- build
cache:
key: "CI_COMMIT_REF_NAME"
policy: pull
paths:
- forge/build/libs/*.jar
- fabric/build/libs/*.jar
rules:
- if: '$CI_COMMIT_BRANCH == "main"'
- if: '$CI_PROJECT_PATH == "cable-mc/cobblemon" && $CI_COMMIT_BRANCH == "main"'
script:
- export GRADLE_OPTS="-Xmx4G -Xms4G"
- chmod +x ./gradlew
- ./gradlew publish
artifacts:
paths:
- neoforge/build/libs/*.jar
- fabric/build/libs/*.jar
# Separate step to deploy the artifacts, save Norry the headache of keeping even more shit around
deploy:
deploy_artifacts:
stage: deploy
dependencies:
- build
when: manual
cache:
key: "$CI_COMMIT_REF_NAME"
policy: pull
paths:
- forge/build/libs/*.jar
- fabric/build/libs/*.jar
script:
script:
- echo "Collecting artifacts..."
- mv forge/build/libs/*+*.jar ./
- mv fabric/build/libs/*+*.jar ./
- find neoforge/build/libs/ -type f -name "*.jar" | grep -vE "dev-shadow|sources|javadoc" | xargs -I {} mv {} ./
- find fabric/build/libs/ -type f -name "*.jar" | grep -vE "dev-shadow|sources|javadoc" | xargs -I {} mv {} ./
- for f in *.jar; do mv "$f" "$(echo "$f" | sed s/+/b$CI_PIPELINE_IID+/)"; done
artifacts:
expire_in: 28 days
paths:
- ./*.jar
# - forge/build/libs/*+*.jar
# - fabric/build/libs/*+*.jar
+759 -72
View File
@@ -1,5 +1,690 @@
# Changelog
## [1.5.0 - The Ruins and Revival Update (May Xth, 2024)](#1-5-0)
## [1.6.1 (Release TBD)](#1-6-1)
### Additions
- Added config setting `maxPokedexScanningDetectionRange` to control from what distance the player can scan Pokémon using the Pokédex.
- Added the `is_standing_on_blocks(depth, blocks...)` MoLang function, which returns whether the specified entity is standing on a specific block or set of blocks. Example usage: `q.is_standing_on_blocks(2, minecraft:sand)`
- Added config setting `hideUnimplementedPokemonInThePokedex` which hides unimplemented Pokémon from the Pokédex when set to true.
- Added molang particle queries for getting distance to targeted entities.
- Added debug renderer for poseable entity locators.
- Added `baseScale` property to NPCs.
- Added the player to `PokerodReelEvent`.
- Pokédex and Dialogue API screens now close when the inventory keybind is pressed.
- Added Galarica Nuts, used for crafting Galarica Cuffs and Wreaths. Dropped from certain Pokémon.
- Added specific compatibility with Repurposed Structures. (Thank you, TelepathicGrunt!)
### Changes
- Pokémon will now be dynamically revealed to the Pokédex as they're seen instead of revealing entire parties at the end of battle regardless.
- Unseen wild Pokémon will update their name from '???' to their real name as soon as a battle starts to reflect the battle UI showing the actual species name.
- Pokémon under the illusion effect will reveal their disguise to the Pokédex first and then the base Pokémon once the disguise is broken.
### Fixes
- Fixed Pokédex sometimes crashing when switching forms.
- Fixed Pokédex interface not transitioning out when closed.
- Fixed texture dimensions for the interact interface.
- Fixed crash related to Tom's Simple Storage mod and Fossil Machine.
- Fixed not being able to retrieve a fossil from the Fossil Machine with an empty hand.
- Fixed Pokémon being collidable while being captured by a Poké Ball.
- Fixed `full_party`, `own_zangoose_seviper`, `use_revive` and `use_candy` Advancement triggers.
- Fixed `healing_machine` Advancement by using the correct 1.21 trigger.
- Fix Display Cases not dropping items if destroyed through explosions.
- Fixed an issue where the first Pokémon in the pastured Pokémon list clipped into the interface.
- Fixed all Pokémon facing South on spawn.
- Parametric particle motion now works.
- Event spawned particles now work.
- Particles can now have independent coordinate spaces.
- Fixed bait being consumed when not reeling in any Pokémon.
- Fixed Miltank milk magically disappearing out of your bucket.
- Fixed Pokémon nicknames migrating from 1.5.2 not being displayed properly.
- Fixed capitalization in one of our config fields, but allowing typo'd version to still be valid.
- Fixed Poké Rods not working if lure or luck of the sea enchantments get removed by other mods.
- Fixed crashes related to Pokémon when they are ready to evolve while holding an enchanted item.
- Fixed crashes that sometimes occur when evolving Nincada.
- Fixed plants not being compostible on NeoForge.
- Fixed hide UI (F1 key) not hiding the party overlay.
- Fixed NPC MoLang command `player_lose_command` not working.
- Corrected misaligned tooltips with editboxes in the NPC editor screen.
- Fixed Pokémon riding two boats when attempting to deploy a platform on water.
- Made berry trees be shearable by dispenser blocks.
- Fixed the summary screen showing there's experience to reach the next level when at level cap.
- Fixed Pokémon forgetting moves when evolving on specific cases.
- Fixed Adorn compatibility, including improvements when using JEI/REI (Apricorn items now show up under the collapsed entries rather than standalone).
- Fixed error message appearing on battle log when using Solar Beam with Sunny Day.
- Fixed Pokémon Model offsets for larger species.
- Fixed `/pokedex grant all` command not giving male/female/shininess completion for some Pokémon.
- Fixed `/pokedex grant only` and `/pokedex remove only` not respecting the form parameter passed.
- Fixed variant forms appearing incorrectly in the Pokédex when the normal form had not been unlocked.
- Fixed Pokémon occasionally being shot into the sky during battle.
- Fixed NPC editing GUI not updating aspects until a game restart.
- Fix some users being unable to open their PC if a Pokémon in said PC had a lot of pp raises beyond normal bounds
- Fix some color variants (dubwool, conkeldurr and undyed wooloo) missing in the Pokédex
- Fix invalid species or held_items causing Players to not be able to load into their world anymore (commonly happening after removing addons/mods)
- Fixed Wooloo variants not being automatically registered in the owner's Pokédex when dyed.
- Fixed Vivichoke Dip and Leek and Potato Stew not returning a bowl upon consumption.
- Fixed Fossil Restoration Machine not accepting Hay Bales.
- Fixed Potion items so that they no longer apply over double their intended healing value.
### Molang & Datapacks
- Added flows for:
- `forme_change`: Triggered when a Pokémon changes form in battle.
- `mega_evolution`: Triggered when a Pokémon mega evolves in battle. (Note: Third party mods are required for this feature currently)
- `zpower_used`: Triggered when a Pokémon uses a Z-Power move in battle. (Note: Third party mods are required for this feature currently)
- `terastallization`: Triggered when a Pokémon terastallizes in battle. (Note: Third party mods are required for this feature currently)
- `battle_fainted`: Triggered when a Pokémon faints in battle.
- `battle_fled`: Triggered when a Player flees from battle.
- `battle_started_pre`: Triggered when a battle starts. Cancelable!
- `battle_started_post`: Triggered when a battle starts.
- `apricorn_harvested`: Triggered when an apricorn is harvested.
- `thrown_pokeball_hit`: Triggered when a thrown Pokéball hits a Pokémon.
- `level_up`: Triggered when a Pokémon levels up.
- `pokemon_fainted`: Triggered when a Pokémon faints.
- `pokemon_gained`: Triggered when a Player gains a Pokémon.
- Added molang functions:
- For Pokémon:
- `pokemon.apply(PokemonProperties)`: Applies the given properties to the Pokémon.
- `pokemon.owner`: Returns the owner of the Pokémon or 0.0 if there is no owner or they are not online.
## [1.6.0 - The Record Catch Update (December 25th, 2024)](#1-6-0)
#### "Now that there's a fishing mechanic, the mod is actually good!"
### Additions
- Added the Pokédex as a craftable item that can be placed on lecterns.
- Added Pokémon (and item) fishing using modified fishing rods - Poké Rods! You'll need a Poké Rod smithing template, a fishing rod, and some type of Poké Ball. Each Poké Ball makes a differently themed rod because it's cool.
- Added Lure Ball functionality, increasing the catch rate of Pokémon that were caught on a fishing rod.
- Added Repeat Ball functionality, increasing the catch rate of Pokémon that are already registered as caught in a player's Pokédex.
- Added flat level battling with options to set all Pokémon to level 50, 100, or 5 for the duration of a battle. No experience or EVs are granted for a flat battle.
- Added support for Double Battles, Triple Battles, and Multi-battles.
- Added raft platforms for non-swimming, non-flying Pokémon to stand on during battles that take place on the water's surface (Flying Pokémon will fly over water in battle, and water breathing Pokémon will swim in water during battle).
- Added smarter send-out positions for Pokémon in battle. They should get in your way less!
- CriticalCaptures and Pokédex progress capture multiplier now work with the Pokédex.
- Added shiny Pokémon particle effects and sounds to help find them.
- Added effects for the burn status effect.
- Added effects for the moves: Seismic Toss, Withdraw, Bite, Crunch, Super Fang, Hyper Fang, Pursuit, Mist, Haze, Lick, Kinesis, Psychic, Water Sport, and Mud Sport.
- Added extra visuals to early berry growth stages.
- Added Polished Tumblestone and Tumblestone Brick block sets from Tumblestone, Black Tumblestone, and Sky Tumblestone.
- Moves impacted by the abilities Pixelate, Refrigerate, Aerilate, Galvanize, and Normalize now display as their altered typing.
- Added Fire, Water, Thunder, Leaf, Ice, Sun, Moon, Shiny, Dawn, and Dusk Stone storage blocks.
- Added Eject Pack, Metronome, Protective Pads, Punching Glove, Room Service, Scope Lens, Shed Shell, Terrain Extender, Throat Spray, Utility Umbrella, Wide Lens, and Zoom Lens held items.
- Added a full evolution particle effect for Pokémon that are sent out when evolution is started.
- Added a Nurse profession that can be unlocked by having villagers claim a healing machine block.
- Pokémon are now animated when seen in any GUI that isn't the party GUI.
- Added animation and sounds for trading.
- Added icons for pending trade, team-up, and battle requests from other players.
- Quirk animations can now occur for Pokémon that are shoulder mounted.
- Added new sounds for Poké Balls bouncing off of Pokémon and landing on the ground during capture.
- Added a unique set of sounds for Ancient Poké Balls.
- Added a sound for using Exp Candy and Rare Candy items.
- Added revamped Poké Ball animation for Pokémon breaking out.
- Added battle log messages for switching out Pokémon.
- Added config setting `displayEntityNameLabel` and `displayEntityLabelsWhenCrouchingOnly` to control what and when is displayed for the pokemon label.
- Added `no_ai` and `freeze_frame` options to the `/spawnpokemon` command.
- Added `moves` option to Pokémon properties, allowing you to set the moves of a Pokémon in commands and spawn files using comma-separated move names.
- Added a `natural` block state property for the healing machine block; when property is set to true, the block will have a different texture and drop an iron ingot instead of itself.
- Added a `battleInvulnerability` gamerule to make players invulnerable to any damage during a battle.
- Added a `mobTargetInBattle` gamerule to exclude players from being targeted by mobs during a battle.
- Added a `/freezepokemon` command to pause a Pokémon's animation at a specific point in time.
- Added `/spawnnpc` and `/spawnnpcat` commands.
- Added `hiddenability=false` option to `/spawnpokemon` and `/pokemonedit` commands, allowing the Pokémon's ability to be reverted to a normal ability.
- Added `aspect` and `unaspect` PokemonProperty arguments (which also includes commands such as `/pokemonedit`, `/spawnpokemon`, and `/givepokemon`) to allow forcing or un-forcing an aspect on a Pokémon.
- Added `type` alternatively `elemental_type` PokemonProperty argument, this is only used for filtering and is not applied to Pokémon. Example `type=fire` would be true for Charmander but false for Squirtle.
### Structures Added
- Fishing boat structure that contain an Explorer Map leading to a shipwreck cove and a Poké Rod Smithing Template.
- Stonjourner Henge Ruins, Luna Henge Ruins, and Sol Henge Ruins.
- Submerged Shipwreck Cove and Lush Shipwreck Cove.
- Pokémon Centers to all 5 village types.
### Pokémon Added
#### Gen 1
- Alola Bias Cubone (built-in resource pack)
- Alolan Marowak
#### Gen 2
- Ledyba
- Ledian
- Sunkern
- Sunflora
- Wobbuffet
- Girafarig
- Corsola
- Remoraid
- Octillery
- Mantine
- Smeargle
- Delibird
#### Gen 3
- Slakoth
- Vigoroth
- Slaking
- Corphish
- Crawdaunt
- Feebas
- Milotic
- Wynaut
- Absol
- Spheal
- Sealeo
- Walrein
- Bagon
- Shelgon
- Salamence
- Kecleon
#### Gen 4
- Mantyke
- Finneon
- Lumineon
- Shellos
- Gastrodon
- Rotom
#### Gen 5
- Purrloin
- Liepard
- Scraggy
- Scrafty
#### Gen 6
- Clauncher
- Clawitzer
#### Gen 7
- Pikipek
- Trumbeak
- Toucannon
- Mareanie
- Toxapex
- Sandygast
- Palossand
- Bruxish
#### Gen 8
- Cramorant
- Hatenna
- Hattrem
- Hatterene
- Pincurchin
#### Gen 9
- Wattrel
- Kilowattrel
- Veluza
- Farigiraf
- Klawf
- Finizen
- Palafin
- Wiglett
- Wugtrio
- Flamigo
- Dondozo
#### Unique Forms
- Magikarp Jump variants for Magikarp
- Magikarp Jump variants for Gyarados (built-in resource pack, enabled by default on Fabric)
### Added cries to the following Pokémon
- Sandshrew, Sandslash
- Magnemite, Magneton, Magnezone
- Gastly, Haunter, Gengar
- Rhyhorn, Rhydon, Rhyperior
- Happiny, Chansey
- Horsea, Seadra, Kingdra
- Magby, Magmar, Magmortar
- Porygon, Porygon2, Porygon-Z
- Sentret, Furret
- Misdreavus, Mismagius
- Corsola
- Mantyke, Mantine
- Girafarig, Farigiraf
- Wynaut, Wobbuffet
- Lunatone
- Solrock
- Corphish, Crawdaunt
- Feebas, Milotic
- Kecleon
- Absol
- Spheal, Sealeo, Walrein
- Relicanth
- Bagon, Shelgon, Salamence
- Munchlax
- Finneon, Lumineon
- Purrloin, Liepard
- Timburr, Gurdurr, Conkeldurr
- Joltik, Galvantula
- Elgyem, Beheeyem
- Golett, Golurk
- Deino, Zweilous, Hydreigon
- Flabébé, Floette, Florges
- Clauncher, Clawitzer
- Mareanie, Toxapex
- Wimpod, Golisopod
- Bruxish
- Hatenna, Hattrem, Hatterene
- Pincurchin
- Klawf
- Finizen, Palafin \[Zero\], Palafin \[Hero\]
- Dondozo
### Added shoulder mounts for the following Pokémon
- Weedle
- Caterpie
- Spearow
- Mew
- Murkrow
- Smoochum
- Larvitar
- Tailow
- Plusle
- Minun
- Beldum
- Starly
- Buneary
- Combee
- Pachirisu
- Tepig
- Pidove
- Petilil, Hisui Bias Petilil
- Zorua, Hisui Bias Zorua
- Elgyem
- Fletchling
- Skrelp
- Klefki
- Litten
- Fomantis
- Morelull
- Dreepy
- Sprigatito
- Shroodle
- Tatsugiri
- Glimmet
- Gimmighoul \[Roaming\]
### Animation updates for the following Pokémon
- Bellsprout, Weepinbell, Victreebel
- Shellder, Cloyster
- Porygon, Porygon2, Porygon-Z
- Furret
- Swinub, Piloswine, Mamoswine
- Skarmory
- Tyrogue
- Spinda
- Torkoal
- Nincada, Ninjask
- Lunatone
- Solrock
- Buneary, Lopunny
- Magnezone
- Alomomola
- Tepig, Pignite, Emboar
- Flabebe, Floette, Florges
- Litten, Torracat, Incineroar
- Fomantis, Lurantis
- Dreepy, Drakloak
- Kleavor
- Scorbunny
- Gimmighoul \[Roaming\]
### Model updates for the following Pokémon
- Bulbasaur, Ivysaur, Venusaur
- Charmander, Charmeleon, Charizard
- Caterpie
- Kakuna, Beedrill
- Lapras
- Porygon, Porygon2, Porygon-Z
- Igglybuff, Jigglypuff, Wigglytuff
- Poliwhirl, Poliwrath
- Bellsprout, Weepinbell, Victreebel
- Shellder, Cloyster
- Gastly, Haunter
- Onix
- Krabby, Kingler
- Rhyhorn, Rhydon, Rhyperior
- Horsea, Seadra, Kingdra
- Goldeen, Seaking
- Magby, Magmar, Magmortar
- Magikarp, Gyarados
- Munchlax, Snorlax
- Swinub, Piloswine, Mamoswine
- Mudkip, Marshtomp, Swampert
- Baltoy, Claydol
- Carvanha
- Relicanth
- Prinplup, Empoleon
- Gible, Gabite, Garchomp
- Riolu, Lucario
- Snivy, Servine, Serperior
- Tepig, Pignite, Emboar
- Krookodile
- Dwebble, Crustle
- Joltik, Galvantula
- Klink, Klang, Klinglang
- Golett, Golurk
- Fennekin, Braixen, Delphox
- Phantump, Trevenant
- Litten, Torracat, Incineroar
- Popplio, Brionne, Primarina
- Mudbray
- Lurantis
- Scorbunny, Cinderace
- Quaxly
- Skeledirge
- Tatsugiri
### Changes
- Buffed Dusk Ball catch multipliers: Increased multiplier to 3.5 (from 3.0) in light level 0. Increased multiplier to 3.0 (from 1.5) in light levels 1-7.
- Altered the item model for Medicinal Leeks and Roasted Leeks to be held like sticks and other rod items.
- Adjusted some berry balance values like yield and growth times.
- Adjusted volumes of sounds made by Display Cases, Berry Bushes, Energy Root, Medicinal Leek, Vivichoke, Mints, Revival Herbs and Gilded Chests.
- Changes to mulch buffs/durations.
- Updated potion sprites.
- Changed Link Cable recipe to be much cheaper.
- Updated sounds for Medicinal Leeks, Big Roots, Energy Roots and Revival Herbs.
- Updated UI sounds for clicking and evolving Pokémon.
- Updated cries for Chansey, Crobat, Hoothoot, Noctowl.
- Removed the interchangeable evolution results for the first stage Hisuian starters to prevent confusion. The method still exists for stage 2 to 3, but stage 1 to 2 was not distinguishable enough for many users.
- Vivillon wings will stop being clear when you remove any Vivillon related resourcepacks. The default pattern will be the meadow wings.
- Wild Pokémon interaction range increased to 12 blocks (from 10 blocks).
- Player trade range increased to 12 blocks (from 10 blocks).
- PvP battle range increased to 32 blocks (from 10 blocks).
- Spectate range increased to 64 blocks (from 10 blocks).
- The inventory key now closes our GUIs if they are open, mirroring how Minecraft screens usually work.
- The noise from the pasture and PC blocks being interacted with now activates Sculk sensors.
- Updated dialogue GUI assets with proper assets not made by a programmer. Well, it was still a programmer, but- someone who can also draw!
- Updated party switching interface when in battle.
- Relic coin pouches can now be waterlogged.
- The "Press R to start battle prompt" will now disappear after a player's first battle has been won. You've probably figured that detail out by then.
- The default number of digits for the Pokédex number in the summary has been increased, from 3 to 4. There sure are a lot of Pokémon these days.
- The pasture block model's screen is now off by default.
- The Poké Balls creative tab is now named Utility Items as it also encompasses Poké Rod and Pokédex items.
- Moves can now be benched without specifying a replacement move, allowing for empty move slots.
- Moves learned via Sketch now persist after battle.
- Hidden Power now displays its effective typing.
- Updated particles for moves: Confusion, Protect, Sand Attack, and Quick Attack.
- Updated particles for status effects: Paralysis, Poison, and Sleep.
- Updated particles on Gastly.
- Revamped stat buff and de-buff particles.
- Improved the performance of display cases that contain Pokémon photos.
- Updated sounds for Poké Balls closing, opening and for Pokémon breaking out.
- Improved the performance of display cases that contain Pokémon Model items.
- Removed species Base Stats from the summary interface as it is now viewable within the Pokédex.
- Changed summary tab text labels to icons. You'll get used to them. Or else.
- Clicking the summary interface exit button while the swap moves or evolve screen is open will cause the interface to switch back to the party screen. The button will exit the interface otherwise.
- Ancient Poke Balls now jump once rather than shaking 3 times when capturing Pokémon.
- The jump height indicate the number of shakes that would have occurred.
- A high wobbly jump indicates 1 shake.
- A high jump indicates 2 shakes.
- A medium jump indicates 3 shakes.
- A short jump indicates that you caught the Pokémon.
- Pokémon sent out during battle will spawn facing their opponent.
- Pokémon sent out outside a battle will spawn facing their trainer.
- Wailord is now 25% bigger. ... [But I have an idea.](https://tenor.com/view/star-wars-more-gif-21856591)
- Region-biased Pokémon forms are now optional to a built-in resource pack. This pack is enabled by default for Fabric. For NeoForge users, all our built-in resource packs default to disabled because that's all it supports right now.
- Update item sprites for Cell Battery, Chipped Pot, Covert Cloak, Cracked Pot, Masterpiece Teacup, Red Card, Sachet, and Unremarkable Teacup.
### Fixes
- Fixed Ability Patches not reverting Hidden Abilities back to Normal Abilities.
- Fixed awarding Pokémon experience upon forfeiting battles.
- Scaled down Amaura's fetus model to avoid clipping through the tank while animating.
- Fixed Cubone's cry not having a sound (as if that Pokémon needed to be more tragic).
- Fixed the sendout sound erroneously playing when a wild Pokémon breaks out of a Poké ball.
- Flamethrower is no longer missing sounds.
- Fixed the Seafloor spawning context not being a usable context.
- Fixed Pokemon spawning in non-full blocks like slabs.
- Fixed Gilded Chests not dropping the chest itself when broken, only the contents.
- Fixed Pokémon losing their Hidden Ability through evolution if the middle stage did not have a Hidden Ability.
- Hidden Power no longer plays the water type action effect (It now plays the normal type action effect).
- Fixed Crumbling Arch structures not blending in with the world.
- Fixed Energy Root being usable on a fainted Pokémon.
- Fixed Pokémon not being sent out when starting a battle while recalling said Pokémon.
- Fixed species comparison not using namespace for both sides in `PokemonProperties.isSubsetOf`.
- Fixed `PokemonProperties#asString` prefixing nicknames with a '$'.
- Fixed shearable Pokémon not dropping correct wool colors.
- Fixed pasture spawning Pokémon inside solid blocks when closest spawning position is blocked off.
- Fixed Tumbling Down advancement not being granted by tumblestone variants.
- Improve error handling when loading spawn sets to ensure invalid configurations don't crash the server.
- Fixed empty `JsonPlayerData` files resulting in players being unable to join server/world.
- Sound for evolving Pokémon through the Summary Menu is now correctly playing again.
- Fix Starter prompt not showing up.
- Fixed owned Poké balls floating upwards if pausing the game mid-transition (which looked absolutely hilarious).
- Fixed all mouse buttons working for Battle UI navigation (now it's only primary/left click).
- Fixed trading Pokémon setting their friendship to 0 instead of the base value.
- Fixed a scenario where a Pokémon that rolled to spawn with a special Tera type sometimes having a Tera type that is already a part of their natural typing.
- Fixed PokemonProperty argument suggestions for `tera` and `tera_type` not suggesting `stellar`.
- Fixed being able to stack Relic Coin Pouches on top of each other.
- Fixed model loader generating misleading crash-reports when client is crashing - that resurrection tank error wasn't our fault! We're innocent, your honour!
- Big Roots and Energy Roots now share the same sounds as intended.
- Fixed sounds made by blocks playing at a lower pitch than intended.
- Fixed Chimchar and Monferno comically T posing whenever they sleep.
- Fixed Cetitan's cry breaking its walk and sleep animations.
- Fixed the Magby line not having any placeholder walk animations.
- Fixed Duskull and Dusclops using skylight levels for their nether spawn data. There is no sun in the Nether!
- Fixed Hisuian Zoroark using base Zoroark stats.
- Fixed Bellossom clipping into the player head when shoulder mounted.
- Fixed Shroomish's look range to prevent it from looking higher than it should.
- Fixed Maushold's faint animations not playing. It's even sadder than Tandemaus!
- Fixed Slowking's battle idle.
- Fixed Grafaiai's walk speed to prevent model sliding.
- Fixed Alolan Exeggutor's tail not showing in the party UI. It will now also stand in front of all Pokémon in the party menu :)
- Fixed Timburr duplicating its log while fainting.
- Fixed hitbox sizes for Grotle and Torterra being set to default values.
- Fixed Hisuian Sneasel using Johtonian Sneasel's cry. Johto-nian. Jotonion. Jotunheim?
- Fixed Trevenant T-posing after 8 seconds of sleeping. I also do that.
- Fixed Bewear T-posing for a bit if a wild one faints where you can see.
- Fixed Noctowl's placeholder fly animation.
- Corrected Lotad blinking animation.
- Fixed reviving items causing errors when used in battle.
- Fixed messages for Focus Sash, Confusion, Mummy, Ice Face, Own Tempo, and Revive.
- Improve error handling when loading spawn-sets to ensure invalid configurations don't crash the server.
- Fixed Crumbling Arch Ruins generating a giant cube of air and removed the chest.
- Fixed possible crash on large population servers due to concurrent access of data.
- Quickly sending out and recalling Pokémon now looks smoother and can no longer be spammed to cause desync issues.
- Pokémon are now invulnerable during sendout animation and intangible during recall animation.
- Scrolling with party keybinding now behaves properly when using high scroll speed or scroll sensitivity.
- Fixed battle log GUI flashing when Battle GUI is opened.
- Bag Items used during a turn will now be refunded if the battle ends before the next turn begins.
- Pokémon whose current owner is not its Original Trainer now gain extra experience.
- Fixed Fossil Resurrection advancement not being granted.
- Fixed village generation caps not applying for berry farms. You were not meant to see more than two berry farms per village! This has been broken for ages but no one noticed... Hmmm... We could just remove it from here...
- Fixed the Ice Face ability activation being displayed incorrectly in a battle.
- Fixed edge case of F1 and R locking you in battle with no R functionality (requiring ESC to get out).
- Fixed Poké Ball render orientation in battle interface when capturing.
- Fixed sync issues with recently learned moves where their PP would not go down until you logout and in.
- Fixed some Pokémon photos in display cases flashing if the Pokémon has gender differences.
- Fixed Bidoof and Jigglypuff sleep animations stopping after some time, causing them to be 'asleep' while T-posing menacingly.
- Fixed entities not changing poses unless you're looking at them.
- Fixed cries not playing on send-out if the Pokémon is off-screen.
- Fixed text row selection highlight in battle log.
- Fixed top black border rendering in scroll interfaces in summary UI.
- Fixed aspect tracking for Advancements.
- Fixed illusion not copying aspects or caught ball.
- Prevent summary stats tab from making sounds when clicking on an already open tab.
- Fixed display case not being able to be fed items from underneath.
- Fixed Pokémon battling in water continuously sinking to the bottom.
- Fixed passive healing and wake from faint not disabling when their config values are set to 0.
- Fixed an issue where rebinding the R key to a mouse button prevented players from closing the battle interface using that button.
### Developer
- `SpawnCause` is now an implementation of `SpawningInfluence`.
- Many types related to `Pokemon` including itself now have dedicated `Codec`, please migrate to them from the NBT/JSON/PacketBuffer write/read methods.
- `PokemonBattle` now starts on turn 0.
- Renamed Pokemon.hp to Pokemon.maxHealth to make it clearer. Backwards compatibility is provided but it is an active deprecation, please migrate away from it.
- Serialization of PokemonStores and Pokemon themselves now require registry access, which will break some sidemods. This sucked for us more than it will suck for you! If you have a world or player instance, you can get it from there.
- ``TeraTypes`` now implements ``Iterable``.
- Added `forcedAspects` to Pokémon to make it easier to easily add basic aspects to a Pokémon in a way that persists. We already know that everyone is going to overuse this.
- Made the `Pokemon.aspects` setter private. This could technically break side-mods but if you are affected by this then you were using it wrong! Use `Pokemon.forcedAspects` to fix it.
- Cobblemon's main logger is properly static now.
- `PokemonEntity.enablePoseTypeRecalculation` can be used to disable automatic pose type recalculation.
- Added CollectEggEvent and HatchEggEvent for compatibility usage.
- Added events for:
- Showdown Instructions
- Mega Showdown Instruction
- Terastallize Showdown Instruction
- ZPower Showdown Instruction
- Bait Consumed, Bait Set, and an event to register custom BaitEffect Functions
- Bobber Bucket Chosen
- Bobber Spawn Pokémon
- Pokérod Cast
- Pokérod Reel
- Pokémon Heal (with context)
- Added HealingSource, an interface applied to all sources of healing from player actions, for easier tracking of healing sources.
- Move Change
- Shiny Chance Calculation Event (with player context)
- Dex Information Changed (Pre and Post); this event is fired when the Pokédex is updated with new information.
- Rebuilt large swaths of the model animation code to simplify it.
- Renamed a bunch of things from %Poseable% to %Posable% because spelling.
- Renamed StatelessAnimation to PoseAnimation.
- Renamed StatefulAnimation to ActiveAnimation.
- Documented the animation system.
- Allowed for SpawnSnowstormEntityParticleHandler to handle non-posable entities (due to being non-posable, locators are useless - to set the offset use the settings in the particle itself).
- Added property chaining support for duplicate CustomPokemonPropertyType elements.
### Data Pack & Resource Pack Creators
- Added experimental `flow` datapack directory for handling events using MoLang event handlers.
- Added support for "shedders" similar to Shedinja's evolution logic.
- Fixed the placeholder `WingFlapIdle` animation so the wings are not rotating opposite to each other.
- 'player' type dialogue faces can now be explicitly stated so that NPC mods that use fake players can show in dialogue portraits.
- Added `isLeftSide` field for dialogue faces. This determines what side of dialogue box the portrait is on.
- `sounds/attacks` directory has been renamed to `sounds/move`.
- Moves sharing generic sounds now have unique sound events, allowing them to be changed with resource packs.
- All move sound events have been renamed to `move.<NAME>.<SOURCE>` for consistency.
- Status moves have been moved out of the `attacks` directory and split into volatile and nonvolatile.
- `status.badlypoison.actor` sound event has been renamed to `status.toxpoison.actor`
- Mulch and berry harvesting sound events have been renamed and moved to their respective directories in `sounds/block`.
- All sounds related to evolving Pokémon have been moved to the `sounds/evolution` directory.
- Sound events for all blocks now start with `block`.
- Gimmighoul chest and item interaction sounds have been moved to where its cry is.
- Unused sound files and sound events have been removed.
- Poké Ball sounds are now in their animation files, making them more flexible to edit.
- Added MoLang compatibility in the isVisible property for transformed parts.
- Added `q.has_aspect('some_aspect')` function to animations, posers, and entity particle effects.
- Added support for conditional pose animations.
- Added a new universal locator called "top".
- Added `eggs_collected` and `eggs_hatched` Advancement triggers.
- Added missing `minYaw` configuration to the `q.look()` function for JSON posers.
- Some pose condition names have been changed:
- `isTouchingWaterOrRain` has been changed to `isInWaterOrRain`
- `isSubermegedInWater` has been changed to `isUnderWater`
### Localization
- Updated translations for:
- Czech, German, Greek, Spanish, Mexican Spanish, French, Canadian French, Hungarian, Italian, Japanese, Korean, Dutch, Polish, Portuguese, Brazilian Portuguese, Russian, Ukrainian, Simplified Chinese, and Traditional Chinese
- Migrated translation project to Weblate at https://lang.cobblemon.com/projects/cobblemon/mod/
## [1.5.2 (May 27th, 2024)](#1-5-2)
### Fixes
- Fixed Wooloo and Dubwool dyeing making your game start dying. Only if you do it on a server.
- Fixed Gimmighoul causing PCs and parties to look glitched out, also only in a server.
- Fixed players being able to dye other people's sheep Pokémon.
## [1.5.1 (May 27th, 2024)](#1-5-1)
### Additions
- Added unique send out particles for Cherish, Dream, Beast, and Ancient Origin balls.
- Made Wooloo and Dubwool dye-able like sheep. So cute!
- Added stat up and down particles.
- Most status effects now have particles! These include: Paralysis, Poison, Sleep, Confusion, Infatuation.
#### Move Particle Effects
- Confusion
- Cotton Guard
- Growl
- Ice Punch
- Fire Punch
- Thunder Punch
- Minimize
- Quick Attack
- Protect
- Swords Dance
- Sand Attack
- Poison Powder
- Sleep Powder
- Stun Spore
- Powder
- Rage Powder
- Spore
- Thunder Wave
### Changes
- Sounds for Relic Coin Sacks have been correctly renamed. Relic Coin Pouches received new sounds for breaking and placing.
- Readjusted Petilil portraits so they fit a bit better.
- Improved handling of Pokémon taken from the Restoration Tank block to be a bit more stable.
- Made Mulch cheaper to craft.
### Fixes
- Fixed a bug in which adding organic material to the restoration tank via right click was adding the full count of the stack currently in hand - but only taking 1 of the item.
- Fixed a niche issue where some properties of entities were not initialized correctly, causing Pokémon that appeared to be level 1 until you battle them.
- Fixed Fossilized Drake being missing from the Fossils item tag.
- Fixed Gilded Chest block entity not being cleared on block break, creating spooky ghost blocks. Old ones can be fixed by placing something like a furnace where it was, then breaking the furnace.
- Fixed sherd brokenness on Forge.
- Fixed Supplementaries incompatibility.
- Fixed Fossil Compartment crash with Jade / WAILA forks.
- Fixed pasture block PC lookups when the player is offline.
- Fixed an untranslated battle message that occurs when using a move that just ran out of PP (e.g. Fire Blast that just got spited mid-turn).
- Fixed held items being eaten even when the held item evolutions are already unlocked.
- Fixed Hisuian Decidueye not being Grass/Fighting.
- Fixed both Decidueye forms learning both Triple Arrows and Spirit Shackle.
- Fixed Pineco being unable to evolve into Shulker Forretress.
- Fixed Kabutops T-posing when underwater. It doesn't have proper swimming animations yet, though.
- Fixed Pidgey's missing walk animation.
- Fixed Cyndaquil's hidden flames clipping if it was swimming.
- Fixed Chimecho and Chingling being unable to spawn near bells. They are meant to!
- Fixed Tyrantrum and Wailord Party Overlay models peeking through the chat box. It was kinda funny though.
- Fixed hitbox sizes for Seedot, Nuzleaf, and Shiftry.
- Fixed Budew and Lechonk sliding if they walked for too long.
- Fixed Shedinja T-posing in battle.
- Fixed recoil evolution condition not working, making things like Basculegion unobtainable.
- Fixed issue where poser debug tools didn't work on JSON posers.
- Fixed issue where gilded chests don't close when going far away.
- Fixed issue where the restoration tank's renderer was reading old data, making it appear wrong.
- Fixed issue where the lights on the restoration tank would not animate if it was facing east. Very specific.
- Fixed client crash with the fossil machine when updating block state on a chunk that is unloaded in the client. I don't understand this but the devs are sure that all of those are real words.
- Fixed Restoration Tank crash with Create upon the tank block's destruction.
- Fixed Restoration Tank over consuming items when interacting with Create blocks.
- Fixed addons that add very many moves to a learn-set causing disappearing Pokémon (visually) issues on servers.
- Fixed Hyper Cutter and Big Pecks incorrectly stating that it prevented accuracy from being lowered in battle.
- Fixed missing messages for Rough Skin and Iron Barbs in battle.
- Fixed a bug where sometimes Pokémon sendouts wouldn't create an entity, or the entity would spawn at 0 0 0 which is not a good place for a Pokémon to be. Or any of us, really.
- Fixed issue in which a locked gilded chest would animate to the open state when the client fails to open it, such as when it is locked.
- Fixed a bug where aspects of a form would not be properly reflected on form changes (eg. Normal -> Hisui).
- Fixed generic battle effect sounds not sounding the way they were intended to.
- Fixed particle effects often not having access to some specific entity functions from MoLang.
- Fixed particles sometimes lasting a single tick too long, causing (very quick) visual glitches.
- Fixed particle rotations being inverted.
- Fixed particle events not spawning at the instigating particle's location.
- Fixed a bunch of spam during world generation.
- Fixed a bug in which throwing a Poké Ball at a player owned Pokémon with the ability Illusion would reveal its true species. Hilarious meta strategy.
- Fixed root-part animations not working for JSON posed Pokémon. You didn't notice this but if we didn't fix this in this update then if you use Quick Attack a lot you'd have seen a whole lot of [this](https://cdn.discordapp.com/attachments/1076993968803434627/1242660506783715369/Minecraft__1.20.1_-_Singleplayer_2024-05-21_22-08-17.mp4?ex=66549408&is=66534288&hm=ff95ee293eb15634fd63e6546534ea279540a1c892605e8d561593ca2c5600c5&) which is damn funny but very unintended.
### Developer
- Changed SpawnAction#complete to return a nullable generic R (the spawn action result) instead of a boolean. Provides more information this way.
- Added an event that fires when a fossil is revived, with or without a player.
- Added IVS and EVS property extractors.
- Fixed PCStore#resize not allowing PC boxes size reduction.
### Data Pack & Resource Pack Creators
- Added support for MoLang conditions for quirks and poses.
- Changed the AttackDefenceRatio requirement to StatCompare and StatEqual. There is some backwards compatibility for AttackDefenceRatio, though.
- Changed "dimensions" spawn condition to check with dimension IDs instead of effects, so custom dimension IDs can be used.
- Added parametric motion and rotation support to particle effects.
- Added entity_scale as a molang var for particles (likely only applicable to Pokemon)
- Added support for primary quirk animations using the following format:
`JSON
{
"quirks": [
"q.bedrock_primary_quirk('<pokemon>', '<animation>', <minSeconds>, <maxSeconds>, <loopTimes>, '<excludedLabels>', q.curve('<waveFunction>'))"
]
}
`
- Added support for custom stashes, similar to Gimmighoul's coin and scrap stashes.
### Localization
- Updated translations for:
- Simplified and Traditional Chinese.
- Spanish.
## [1.5.0 - The Ruins and Revival Update (May 12th, 2024)](#1-5-0)
#### "You're telling me that Mojang has added archaeology to the game? Hmm... that gives me an idea."
### Additions
@@ -291,16 +976,16 @@ These are our compromise for having both regular and Hisuian forms of these Pok
- Fixed thrown Poké Balls technically having no name.
- Fixed very many issues with Bedrock particle effects. There are probably many more. Life goes on.
- Fixed Arbok patterns not being as specific in spawning as they were intended to be.
- Fixed Pokémon not avoiding danger at all when pathfinding.
- Fixed Pokémon not avoiding danger at all when pathfinding.
- Fixed Pokémon pathing over snow layers and carpets.
- Fixed the Sobble line not being able to swim or breathe underwater.
- Fixed mod incompatibility with [Just Enough Resources](https://modrinth.com/mod/just-enough-resources-jer).
- Fixed mod incompatibility with [Visual Overhaul](https://modrinth.com/mod/visual-overhaul).
- Fixed an issue that allowed Pokémon to spawn on rails.
- Fixed the data set on Pokémon when abilities are given via properties such as in ``/spawnpokemon``.
- Fixed the data set on Pokémon when abilities are given via properties such as in `/spawnpokemon`.
- Fixed Pokémon sometimes losing hidden abilities when evolving. This fix will only take effect for newly created Pokémon because of technical reasons that were explained to me but which I then forgot.
- Fixed capture messages not displaying in battle.
- Fixed the Illusion ability causing the wrong Pokémon to be targeted in battle.
- Fixed the Illusion ability causing the wrong Pokémon to be targeted in battle.
- Fixed battles started with fainted party members causing a soft-lock on defeat.
- Fixed some issues with eyes in the faint animations of Hitmonlee and Phantump
- Fixed missing evolution moves, for example Stone Axe for Kleavor.
@@ -310,17 +995,17 @@ These are our compromise for having both regular and Hisuian forms of these Pok
### Developer
- Significantly changed the way the properties in PokemonEntity work. This could break some plugins (not in a big way, but changes will be needed for some things).
- Rebuilt the scheduling API to more clearly force side choices and temporal frames of reference for tasks. The developers say that how it works is cool but I stopped listening.
- Added dialogue API and data registry. This is powerful, and there is a full example in the Cobblemon mod you can trigger using /opendialogue \<username\> cobblemon:example. The example JSON is inside the data folder of the mod.
- Added dialogue API and data registry. This is powerful, and there is a full example in the Cobblemon mod you can trigger using `/opendialogue <username> cobblemon:example`. The example JSON is inside the data folder of the mod.
- Opened up the ItemDropEntry class to allow for it to be extended.
- Added a new "advancement" evolution variant that takes an advancement identifier and succeeds if the player has the advancement.
- Made the spawning API capable of non-entity spawning. You can make it 'spawn' commands if you want. Go nuts.
- Made PokemonProperties.parse more interoperable with Java. Save yourself and stop using Java.
- Added the ``HeldItemEvent``, this comes with 2 implementation ``HeldItemEvent.Pre`` and ``HeldItemEvent.Post``.
- Corrections to the ability implementation have been made that make ``Ability.forced`` function as intended and never reroll an ability for a Pokémon, please check your implementations to ensure the corrected behavior is intended for your use case.
- ``Pokemon.ability`` no longer has a public setter. Please migrate to using ``Pokemon#updateAbility``, this handles the ability coordinate storage for you when necessary.
- ``Ability.forced``, ``Ability.index`` and ``Ability.priority`` have all had their setters internalized, there is no longer any need to manually adjust these migrate to the method mentioned above to handle that process for you.
- ``AbilityChanger`` has been added to API alongside some implementations, this is subject to change as the ability capsule and patch currently only expect the traditional behaviour in the Pokémon games of 1 or 2 regular abilities and 1 hidden ability.
- ``Pokemon#rollAbility`` has been added which rerolls for a legal ability for the Pokémon.
- Made `PokemonProperties.parse` more interoperable with Java. Save yourself and stop using Java.
- Added the `HeldItemEvent`, this comes with 2 implementation `HeldItemEvent.Pre` and `HeldItemEvent.Post`.
- Corrections to the ability implementation have been made that make `Ability.forced` function as intended and never reroll an ability for a Pokémon, please check your implementations to ensure the corrected behavior is intended for your use case.
- `Pokemon.ability` no longer has a public setter. Please migrate to using `Pokemon#updateAbility`, this handles the ability coordinate storage for you when necessary.
- `Ability.forced`, `Ability.index` and `Ability.priority` have all had their setters internalized, there is no longer any need to manually adjust these migrate to the method mentioned above to handle that process for you.
- `AbilityChanger` has been added to API alongside some implementations, this is subject to change as the ability capsule and patch currently only expect the traditional behaviour in the Pokémon games of 1 or 2 regular abilities and 1 hidden ability.
- `Pokemon#rollAbility` has been added which re9rolls for a legal ability for the Pokémon.
- `docs/cobblemon-tags` tags and spawn-presets can now be auto-generated from the current tags in the Cobblemon mod with the `generateSpawnPresetList.py` and `generateTagList.py` scripts.
- `public_spawns_to_json.py` script has been added to give the powerful spawn.json generator a simplistic UI.
- Updated Showdown with Gen 9 DLC.
@@ -329,14 +1014,14 @@ These are our compromise for having both regular and Hisuian forms of these Pok
### Datapack & Resourcepack Creators
- The maximum amount of fossils that can fit in the Fossil Analyzer can be adjusted in the config.
- Custom fossils can be defined using a list of items and the resulting Pokémon. An example of `aerodactyl.json`:
```JSON
{
"result": "aerodactyl",
"fossils": [
"cobblemon:old_amber_fossil"
]
}
```
`JSON
{
"result": "aerodactyl",
"fossils": [
"cobblemon:old_amber_fossil"
]
}
`
- Fetus models can be defined in `bedrock/fossils`.
- Fetus textures can be defined in `textures/fossils`.
- Fuel for the Restoration Machine is registered inside the `natural_materials` folder. To register more fuels, create a JSON file containing an array of objects. Each object supports the following fields:
@@ -345,22 +1030,22 @@ These are our compromise for having both regular and Hisuian forms of these Pok
- `returnItem`: Identifier of an item to return to the player after consumption.
- Added 3 new item tags: `ancient_poke_balls`, `fossils`, and `tumblestones`.
- Added a spawn rules system to modify general spawning behaviour, see the [wiki](https://wiki.cobblemon.com/index.php/Spawn_Rules) for more information.
- Added dialogue datapack folder and /opendialogue command.
- Added the item tag ``cobblemon:held/leaves_leftovers`` this can be used to flag apple-like items that can create leftovers when eaten.
- Added dialogue datapack folder and `/opendialogue` command.
- Added the item tag `cobblemon:held/leaves_leftovers` this can be used to flag apple-like items that can create leftovers when eaten.
- You can now add support for dynamic lighting implementations, Cobblemon ships with a default implementation for [LambDynamicLights](https://modrinth.com/mod/lambdynamiclights) and the [Dynamic Lights Reforged](https://www.curseforge.com/minecraft/mc-mods/dynamiclights-reforged), add the following to any species or form:
```JSON
{
"lightingData": {
"lightLevel": 14,
"_lightLevelCommentRemoveMe": "Above supports 0 to 15",
"liquidGlowMode": "LAND",
"_liquidGlowModeCommentRemoveMe": "Above supports LAND, UNDERWATER or BOTH"
`JSON
{
"lightingData": {
"lightLevel": 14,
"_lightLevelCommentRemoveMe": "Above supports 0 to 15",
"liquidGlowMode": "LAND",
"_liquidGlowModeCommentRemoveMe": "Above supports LAND, UNDERWATER or BOTH"
}
}
}
```
- Following up on this change ``light_source`` was removed as a possible shoulder effect due to becoming unnecessary and never having had a default implementation.
- Added the item tag ``cobblemon:ability_changers``, contains the ``cobblemon:ability_capsule`` & ``cobblemon:ability_patch`` by default.
- Added the item tag ``cobblemon:held/is_friendship_booster``, allows items to give the Soothe Bell effect of a boost of 1.5x Friendship gained, contains ``cobblemon:soothe_bell`` by default.
`
- Following up on this change `light_source` was removed as a possible shoulder effect due to becoming unnecessary and never having had a default implementation.
- Added the item tag `cobblemon:ability_changers`, contains the `cobblemon:ability_capsule` & `cobblemon:ability_patch` by default.
- Added the item tag `cobblemon:held/is_friendship_booster`, allows items to give the Soothe Bell effect of a boost of 1.5x Friendship gained, contains `cobblemon:soothe_bell` by default.
## [1.4.1 (December 23rd, 2023)](#1-4-1)
@@ -376,7 +1061,7 @@ These are our compromise for having both regular and Hisuian forms of these Pok
- Mooshtank can now be milked with a bowl for Mushroom Stew.
- Updated Showdown version to use generation 9 battle data.
- Added cries to Beldum, Metang and Metagross.
- Added a /bedrockparticle command to run Snowstorm-format particle effects.
- Added a `/bedrockparticle` command to run Snowstorm-format particle effects.
- Added data for Dipplin, Fezandipiti, Munkidori, Ogerpon, Okidogi, Poltchageist and Sinistcha.
- Added additional nickname trigger "Grumm" for Inkay's evolution.
@@ -444,7 +1129,7 @@ These are our compromise for having both regular and Hisuian forms of these Pok
- Fixed an exploit that could convert a single piece of Blaze Powder into an extra Medicinal Brew on the Forge version.
- Fixed an issue where health percentages would show incorrectly after healing
- Fixed the move Revival Blessing not allowing you to select from fainted party members.
- Fixed villagers not being able to pick up and plant mint seeds, vivichoke seeds, and revival herbs.
- Fixed villagers not being able to pick up and plant mint seeds, vivichoke seeds, and revival herbs.
- Fixed Exeggcute faint.
- Fixed various spawn configuration issues across the board.
- Fixed a possible visual duplication of sent out Pokémon.
@@ -464,7 +1149,7 @@ These are our compromise for having both regular and Hisuian forms of these Pok
### Developer
- Fixed the `SpawnEvent` not respecting usage of `Cancelable#cancel`.
- Added the `EvolutionTestedEvent`, this allows listening and overriding the final result of evolution requirement tests.
- Rebuilt the scheduling API to more clearly force side choices and allow more local temporal frames of reference for tasks.
- Rebuilt the scheduling API to more clearly force side choices and allow more local temporal frames of reference for tasks.
- Added utility script that can be used to generate all Spawn JSONS for all pokemon from the spawning spreadsheet in 1 click ([cobblemon_spawn_csv_to_json.py](utilityscripts%2Fcobblemon_spawn_csv_to_json.py)).
- The `HeldItemManager` has a new method `shouldConsumeItem`, this will return false by default to prevent breaking changes, see the documentation and update your implementations as needed.
- Added and implemented minSkyLight and maxSkyLight as config options for SpawnConditions
@@ -490,7 +1175,7 @@ These are our compromise for having both regular and Hisuian forms of these Pok
- Dutch
- Ukrainian
- Russian
Thank you so much to all of our community translators that bring the mod to the rest of the world!
## [1.4.0 - The Friends and Farms Update (October 13th, 2023)](#1-4-0)
@@ -869,7 +1554,7 @@ Thank you so much to all of our community translators that bring the mod to the
- Fixed apricorn tree leaves looking gross on the Fast graphics mode.
- Fixed hoes not breaking apricorn tree leaves any faster.
- Fixed Shiftry's PC model position.
- Fixed the /pc command not playing the opening sound.
- Fixed the `/pc` command not playing the opening sound.
- Fixed different forms of Pokémon not being able to appear as different sizes.
- Fixed the Healing Machine soft locking you from using others when removed by non-players.
- Fixed animations being sped up when using the Replay Mod.
@@ -886,11 +1571,11 @@ Thank you so much to all of our community translators that bring the mod to the
- Fixed battles soft-locking when consecutive Pokémon faint on switch-in.
- Fixed timing and color of battle window messages.
- Fixed players being able to trade, battle and let out their Pokémon while in spectator mode.
- Fixed Galarian Yamask not being able to evolve and by proxy the ``damage_taken`` evolution requirement.
- Fixed Bisharp not being able to evolve and by proxy the ``defeat`` evolution requirement.
- Fixed White-Striped Basculin not being able to evolve because of a broken ``recoil`` evolution requirement.
- Fixed Primeape, Qwilfish and Stantler not being able to evolve because of a broken ``use_move`` evolution requirement.
- Fixed Bramblin, Pawmo, and Rellor not being able to evolve because of a broken ``blocks_traveled`` evolution requirement.
- Fixed Galarian Yamask not being able to evolve and by proxy the `damage_taken` evolution requirement.
- Fixed Bisharp not being able to evolve and by proxy the `defeat` evolution requirement.
- Fixed White-Striped Basculin not being able to evolve because of a broken `recoil` evolution requirement.
- Fixed Primeape, Qwilfish and Stantler not being able to evolve because of a broken `use_move` evolution requirement.
- Fixed Bramblin, Pawmo, and Rellor not being able to evolve because of a broken `blocks_traveled` evolution requirement.
- Fixed displayName property in spawn files not doing what it's meant to do.
- Fixed Pokémon not sleeping in the wild like we wanted them to.
@@ -901,15 +1586,15 @@ Thank you so much to all of our community translators that bring the mod to the
- Species and FormData have had their evolutions, pre-evolution and labels properties exposed. It is still recommended to work using a Pokémon instance when possible.
- Added capture check to BattleVictoryEvent.
- The various hardcoded potion shoulder effects have been removed, make use of PotionBaseEffect.
- Added ContextManager for tracking causes and contexts of conditions created during a battle. See BattleContext for types of conditions that are tracked.
- Added ContextManager for tracking causes and contexts of conditions created during a battle. See BattleContext for types of conditions that are tracked.
- Added MongoDB support for storing Pokémon and Player data. Must be enabled in config, requires MongoDB core and sync drivers (4.10.0+).
- CobblemonShowdown updated to version 10.
- Generation of a battle can be set in BattleFormat.
- Pokémon now have ``teraType``, ``dmaxLevel``, and ``gmaxFactor`` properties. Gimmicks can be used during battle by adding the respective identifiers to ``keyItems`` in PlayerData: ``key_stone``, ``z_ring``, ``dynamax_band``, and ``tera_orb``. Dynamax is only supported in Gen 8 battles. Mega Evolution and Z-Power require custom held items to be added (e.g. an item with the path ``gengarite`` will allow Gengar to Mega Evolve). Currently custom Z-Crystals and Mega Stones are not supported.
- Pokémon now have `teraType`, `dmaxLevel`, and `gmaxFactor` properties. Gimmicks can be used during battle by adding the respective identifiers to `keyItems` in PlayerData: `key_stone`, `z_ring`, `dynamax_band`, and `tera_orb`. Dynamax is only supported in Gen 8 battles. Mega Evolution and Z-Power require custom held items to be added (e.g. an item with the path `gengarite` will allow Gengar to Mega Evolve). Currently custom Z-Crystals and Mega Stones are not supported.
### Datapack & Resourcepack Creators
- All potion related shoulder effects have had their IDs changed. They now all share the same type being `potion_effect` and use the vanilla Potion data [parameters](https://minecraft.fandom.com/wiki/Potion#Item_data). For example, here is the converted Pidgey asset:
- ```json
- `json
{
"type": "potion_effect",
"effect": "minecraft:slow_falling",
@@ -918,18 +1603,18 @@ Thank you so much to all of our community translators that bring the mod to the
"showParticles": false,
"showIcon": false
}
```
- Renamed the ``walked_steps`` evolution requirement to ``blocks_traveled``.
`
- Renamed the `walked_steps` evolution requirement to `blocks_traveled`.
- Added support for scale in animations.
- Added support for jump keyframes (i.e. pre and post keyframes)
- Added structure spawning conditions
- Added Advancement trigger for defeating Pokémon and collecting varieties of Pokémon.
- Added support for "isBattle" and "isTouchingWater" properties on resource pack Pokémon poses. This allows your custom Pokémon to be posed differently when in battle.
- Added support for "isVisible" on a transformed part on resource pack Pokémon poses. This allows your custom Pokémon to have bones disappear in specific poses, such as hiding Greninja's throwing star when not in a battle pose.
- Added support for battle music. Sounds can be added to the ``battle.pvp.default`` and ``battle.pvw.default`` sound events.
- Added support for battle music. Sounds can be added to the `battle.pvp.default` and `battle.pvw.default` sound events.
- Added 'enabled' optional property on model layers, allowing later variations to disable previously-defined layers. See [this issue](https://gitlab.com/cable-mc/cobblemon/-/issues/335) for how this looks.
- Cobblemon items can now all have their own tooltips via resourcepacks. To add a tooltip, add a lang entry like "item.cobblemon.{item_id}.tooltip". If you want to add multiple tooltip lines you can do so with "item.cobblemon.{item_id}.tooltip_1" and upwards.
- Item interaction evolutions and held item requirements now support NBT by creating an object JSON containing the key ``item`` for what used to be the existing condition support and a ``nbt`` key for the NBT format, this is the string [format](https://minecraft.fandom.com/wiki/NBT_format) expected in commands. Existing data does not need to be updated.
- Item interaction evolutions and held item requirements now support NBT by creating an object JSON containing the key `item` for what used to be the existing condition support and a `nbt` key for the NBT format, this is the string [format](https://minecraft.fandom.com/wiki/NBT_format) expected in commands. Existing data does not need to be updated.
- Fixed faint animations not working properly in add-ons.
- Fixed non-existent species in spawn pool files causing random species to spawn.
@@ -947,7 +1632,7 @@ Thank you so much to all of our community translators that bring the mod to the
- Added animations to Staryu line and Porygon line.
- Added faint animations to Klink line.
- Add lava surface spawn preset.
- Added an ``any`` evolution requirement allowing you to define ``possibilities`` of other evolution requirements, for example, this allows you to create an evolution that requires the Pokémon to be shiny or a female.
- Added an `any` evolution requirement allowing you to define `possibilities` of other evolution requirements, for example, this allows you to create an evolution that requires the Pokémon to be shiny or a female.
- Added the `/spawnpokemonfrompool [amount]` or `/forcespawn [amount]` command to spawn Pokémon(s) in the surrounding area using the natural spawn rates/pool of that area, this will be a cheat command in the Minecraft permission system or use the permission `cobblemon.command.spawnpokemon` if a permission mod is present. On a successful execution of the command, the amount of Pokémon spawned will be the output.
- Added the `/pokebox` and `/pokeboxall` commands to move Pokémon(s) to the PC from a Player's party, this will be a cheat command in the Minecraft permission system or use the permission `cobblemon.command.pokebox` if a permission mod is present. On a successful execution of the command the output will be the number of pokemon moved to the Player's PC.
- Added the `/pc` command which opens up the PC UI the same way interacting with the block would, this will be a cheat command in the Minecraft permission system or use the permission `cobblemon.command.pc` if a permission mod is present.
@@ -1072,7 +1757,7 @@ Thank you so much to all of our community translators that bring the mod to the
- Added support for custom Pokémon to implement 'quirks' such as blinks.
- Added sound effect for harvesting Apricorns.
- Added icon to summary and PC interfaces to indicated if a Pokémon is shiny.
- Added the ``/spawnpokemonat <pos> <properties>`` command, the ``pos`` argument uses the same syntax as the Minecraft [summon](https://minecraft.fandom.com/wiki/Commands/summon) command.
- Added the `/spawnpokemonat <pos> <properties>` command, the `pos` argument uses the same syntax as the Minecraft [summon](https://minecraft.fandom.com/wiki/Commands/summon) command.
- Added the `/giveallpokemon` command which is definitely safe and not insane.
- Added compatibility with Carry On by preventing the mod being able to interact with Cobblemon entities, the mod caused too many gameplay detrimental features to stay enabled.
- Added healing to your party when you sleep in a bed.
@@ -1081,18 +1766,18 @@ Thank you so much to all of our community translators that bring the mod to the
- Added a config option for disallowing players from damaging Pokémon by hand.
- Apricorn seeds can now be used with the [Composter](https://minecraft.fandom.com/wiki/Composter), these have the layer increase chance of 65% like Apricorns and various Minecraft crops.
- Added support for Pokémon species data appending making it so datapack developers no longer need to overwrite files.
- Added an implementation of every [catch rate](https://bulbapedia.bulbagarden.net/wiki/Catch_rate) from generation 1 to 9, these can be used by changing the ``captureCalculator`` config value:
- ``generation_1`` Sets the calculator to the generation 1 implementation.
- ``generation_2`` Sets the calculator to the generation 2 implementation.
- ``generation_2_fixed`` Sets the calculator to the generation 2 implementation with the status multiplier bug fixed.
- ``generation_3_4`` Sets the calculator to the generation 3 and 4 implementation.
- ``generation_5`` Sets the calculator to the generation 5 implementation.
- ``generation_6`` Sets the calculator to the generation 6 implementation.
- ``generation_7`` Sets the calculator to the generation 7 implementation.
- ``generation_8`` Sets the calculator to the generation 8 implementation.
- ``generation_9`` Sets the calculator to the generation 9 implementation.
- ``cobblemon`` Sets the calculator to the custom Cobblemon implementation. This is the default value.
- ``debug`` Sets the calculator to the debug/cheat implementation, every attempt will be a successful critical capture.
- Added an implementation of every [catch rate](https://bulbapedia.bulbagarden.net/wiki/Catch_rate) from generation 1 to 9, these can be used by changing the `captureCalculator` config value:
- `generation_1` Sets the calculator to the generation 1 implementation.
- `generation_2` Sets the calculator to the generation 2 implementation.
- `generation_2_fixed` Sets the calculator to the generation 2 implementation with the status multiplier bug fixed.
- `generation_3_4` Sets the calculator to the generation 3 and 4 implementation.
- `generation_5` Sets the calculator to the generation 5 implementation.
- `generation_6` Sets the calculator to the generation 6 implementation.
- `generation_7` Sets the calculator to the generation 7 implementation.
- `generation_8` Sets the calculator to the generation 8 implementation.
- `generation_9` Sets the calculator to the generation 9 implementation.
- `cobblemon` Sets the calculator to the custom Cobblemon implementation. This is the default value.
- `debug` Sets the calculator to the debug/cheat implementation, every attempt will be a successful critical capture.
### Changes
- Pokémon now save to the world by default, meaning the same Pokémon will remain in the world and not disappear after you log out and log back in. They still despawn over time though.
@@ -1105,9 +1790,9 @@ Thank you so much to all of our community translators that bring the mod to the
- Made it so that particles are not shown whenever you have a shoulder Pokémon that gives potion effects.
- Changed hitbox and size definitions for Decidueye, Blastoise, and Magmortar
- Apricorns can now be harvested with Axes, the speed will scale with enchantments and tool material, only dropping the Apricorn if fully grown, these will still destroy the Apricorn so the manual harvest still is recommended unless you're just keen on destroying trees.
- Apricorns are now a part of the vanilla tag ``minecraft:blocks/mineable/axe``.
- Apricorns are now a part of the vanilla tag `minecraft:blocks/mineable/axe`.
- Apricorns are now compatible with any mod that breaks a whole tree at once.
- Apricorns no longer have a config value for the seed drop chance these are now a part of their loot table which can be found in ``cobblemon/loot_tables/blocks/<color>_apricorn.json``.
- Apricorns no longer have a config value for the seed drop chance these are now a part of their loot table which can be found in `cobblemon/loot_tables/blocks/<color>_apricorn.json`.
- Advancements were redone to be slightly more interesting, with improved names, descriptions, and sorting.
- Updated models and textures for Tentacool line, Gengar, Slowpoke line, Tyrogue line, Doduo line, Dratini, Dragonair, Quagsire, and Piplup line. There were probably others, the team lost track.
- Improved sending out Pokémon at the start of battle so that they are positioned in a less annoying way.
@@ -1115,6 +1800,7 @@ Thank you so much to all of our community translators that bring the mod to the
- Lowered spawn rate of Tauros.
- Sableye now spawns near gem ores as well as amethyst.
- Added evolution stones and items to item tags
- Pokémon now play their cry animations when clicked on the starter selection screen.
### Fixes
- Fixed catch rates being entirely too difficult.
@@ -1145,17 +1831,17 @@ Thank you so much to all of our community translators that bring the mod to the
- Fixed positioning of Poké Balls when rendered in Healing Machines.
- Fixed a desync issue on servers where all Pokémon seemed like they were special forms when they weren't.
- Fixed an incompatibility with [Exordium](https://www.curseforge.com/minecraft/mc-mods/exordium).
- Fixed datapack Pokémon language key generation. A Pokémon under the namespace ``example`` named ``Pogemon`` will now correctly look for the lang key ``example.species.pogemon.name``.
- Fixed datapack Pokémon language key generation. A Pokémon under the namespace `example` named `Pogemon` will now correctly look for the lang key `example.species.pogemon.name`.
- Fixed client not receiving messages for the different "stages" for the move Bide.
- Fixed the Medium Slow and Medium Fast experience group IDs, they're now ```medium_slow``` and ``medium_fast``. Any custom datapack Pokémon will require an update.
- Fixed the Medium Slow and Medium Fast experience group IDs, they're now `medium_slow` and `medium_fast`. Any custom datapack Pokémon will require an update.
- Fixed Pokémon friendship being capped to the maximum level config value instead of the friendship one when loading Pokémon data.
- Fixed Poké Balls taking forever to capture Pokémon if you are underwater or up in the air where it takes a long time to hit the ground.
- Fixed Pokémon being unable to spawn on blocks such as snow layers.
- Fixed Pokémon spawning inside of trees.
- Fixed Pokémon experience not loading after a restart and instead going back to the minimal amount for the current level.
- Fixed being able to use ``/healpokemon`` in battle.
- Fixed being able to use `/healpokemon` in battle.
- Fixed being able to select fainted party members in the switch menu causing the battle to lock.
- Fixed ``/spawnpokemon`` command not supporting any command source other than players.
- Fixed `/spawnpokemon` command not supporting any command source other than players.
- Fixed issues with Charizard's sleep pose.
- Fixed players being able to use multiple healer machines at once.
- Fixed Pokémon layers not rendering when a Pokémon is on your shoulder.
@@ -1190,7 +1876,7 @@ Thank you so much to all of our community translators that bring the mod to the
- Added models for Natu and Xatu, Murkrow and Honchkrow, Wailmer and Wailord.
- Added new PC interface and it is beautiful.
- Reworked the battle system so that battles load faster, cause fewer bugs, and can run on shared server hosts. This is a very big change that also reduced the size of the mod by 50mb!
- Added full resource pack / data pack customization of models, textures, animations, spawning, and spawn file presets to make custom Pokémon species and variations very easy to create. You can find the guide for creating custom Pokémon on [our website](https://cobblemon.com/guides/custompokemon.html)!
- Added full resource pack and data pack customization of models, textures, animations, spawning, and spawn file presets to make custom Pokémon species and variations very easy to create. You can find the guide for creating custom Pokémon on [our website](https://cobblemon.com/guides/custompokemon.html)!
- Added water surface spawning for Pokémon like Lapras.
- Added emissive texture support to Pokémon render layers.
- Added compatibility for Mod Menu ([CurseForge](https://www.curseforge.com/minecraft/mc-mods/modmenu), [Modrinth](https://modrinth.com/mod/modmenu)).
@@ -1300,3 +1986,4 @@ Thank you so much to all of our community translators that bring the mod to the
## [1.0.0 (November 12th, 2022)](#1-0-0)
- Initial release.
+1
View File
@@ -0,0 +1 @@
These are assets that may be used in the future, but can't be put in tFheir respective folders at the moment for some reason or another
+15 -9
View File
@@ -1,21 +1,27 @@
plugins {
`kotlin-dsl`
id("java-gradle-plugin")
kotlin("jvm") version "2.1.0"
}
repositories {
mavenCentral()
gradlePluginPortal()
maven("https://maven.architectury.dev/")
maven("https://maven.fabricmc.net/")
maven("https://maven.minecraftforge.net/")
}
dependencies {
implementation(libs.kotlin)
implementation(libs.licenser)
implementation(libs.shadow)
implementation(libs.loom)
implementation(libs.architecturyPlugin)
implementation("net.neoforged:moddev-gradle:2.0.75")
implementation("dev.architectury:at:1.0.1")
implementation("net.fabricmc:access-widener:2.1.0")
}
implementation(libs.blossom)
implementation(libs.ideaExt)
gradlePlugin {
plugins {
create("cobblemongradle") {
id = "com.cobblemon.gradle"
implementationClass = "com.cobblemon.gradle.CobblemonGradle"
version = "1.0.0"
}
}
}
+6 -9
View File
@@ -1,10 +1,7 @@
import ca.stellardrift.build.configurate.ConfigFormats
import ca.stellardrift.build.configurate.catalog.PolyglotVersionCatalogExtension
plugins {
id("ca.stellardrift.polyglot-version-catalogs") version "5.0.1"
}
extensions.configure<PolyglotVersionCatalogExtension> {
from(ConfigFormats.YAML, file("../gradle/libs.versions.yml"))
dependencyResolutionManagement {
versionCatalogs {
create("libs") {
from(files("../gradle/libs.versions.toml"))
}
}
}
@@ -1,71 +0,0 @@
/*
*
* * Copyright (C) 2023 Cobblemon Contributors
* *
* * This Source Code Form is subject to the terms of the Mozilla Public
* * License, v. 2.0. If a copy of the MPL was not distributed with this
* * file, You can obtain one at https://mozilla.org/MPL/2.0/.
*
*/
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
val accessWidenerFile = "src/main/resources/cobblemon-common.accesswidener"
plugins {
java
`java-library`
id("org.cadixdev.licenser")
id("dev.architectury.loom")
id("architectury-plugin")
kotlin("jvm")
}
repositories {
mavenCentral()
//JEI
maven("https://maven.blamejared.com/")
maven("https://maven.tterrag.com/")
}
license {
header(rootProject.file("HEADER"))
}
java {
sourceCompatibility = JavaVersion.VERSION_17
targetCompatibility = JavaVersion.VERSION_17
}
architectury {
minecraft = project.property("mc_version").toString()
}
loom {
silentMojangMappingsLicense()
accessWidenerPath.set(project(":common").file(ACCESS_WIDENER))
mixin {
defaultRefmapName.set("cobblemon-${project.name}-refmap.json")
}
}
dependencies {
minecraft("net.minecraft:minecraft:${rootProject.property("mc_version")}")
mappings("net.fabricmc:yarn:${rootProject.property("yarn_version")}:v2")
}
tasks {
withType<JavaCompile> {
options.encoding = "UTF-8"
options.release.set(17)
}
withType<KotlinCompile> {
kotlinOptions.jvmTarget = "17"
}
withType<Jar> {
from(rootProject.file("LICENSE"))
}
}
@@ -1,42 +0,0 @@
plugins {
id("cobblemon.base-conventions")
id("com.github.johnrengelman.shadow")
}
val bundle: Configuration by configurations.creating {
isCanBeConsumed = false
isCanBeResolved = true
}
loom {
val clientConfig = runConfigs.getByName("client")
clientConfig.runDir = "runClient"
clientConfig.programArg("--username=CobblemonDev")
//This is AshKetchum's UUID so you get an Ash Ketchum skin
clientConfig.programArg("--uuid=93e4e551-589a-41cb-ab2d-435266c8e035")
val serverConfig = runConfigs.getByName("server")
serverConfig.runDir = "runServer"
}
tasks {
jar {
archiveBaseName.set("Cobblemon-${project.name}")
archiveClassifier.set("dev-slim")
}
shadowJar {
archiveClassifier.set("dev-shadow")
archiveBaseName.set("Cobblemon-${project.name}")
configurations = listOf(bundle)
mergeServiceFiles()
}
remapJar {
dependsOn(shadowJar)
inputFile.set(shadowJar.flatMap { it.archiveFile })
archiveBaseName.set("Cobblemon-${project.name}")
archiveVersion.set("${rootProject.version}")
}
}
@@ -1,21 +0,0 @@
plugins {
`java-library`
}
tasks {
val collectJars by registering(Copy::class) {
val tasks = subprojects.filter { it.path != ":common" }.map { it.tasks.named("remapJar") }
dependsOn(tasks)
from(tasks)
into(buildDir.resolve("libs"))
}
assemble {
dependsOn(collectJars)
}
}
tasks.withType<Test> {
useJUnitPlatform()
}
@@ -0,0 +1,85 @@
package com.cobblemon.gradle
import com.cobblemon.gradle.extension.CobblemonGradleExtension
import com.cobblemon.gradle.extension.tasks.ConvertAccessWidenersTask
import com.cobblemon.gradle.extension.tasks.UnzipAccessWidenersTask
import net.neoforged.nfrtgradle.CreateMinecraftArtifacts
import org.gradle.api.Plugin
import org.gradle.api.Project
import org.gradle.api.attributes.LibraryElements
import org.gradle.language.jvm.tasks.ProcessResources
class CobblemonGradle : Plugin<Project> {
override fun apply(project: Project) {
val cobblemonExtension = project.extensions.create(
CobblemonGradleExtension.EXTENSION_NAME,
CobblemonGradleExtension::class.java
)
//This exists because all of
// - com.cobblemon:mod
// - com.cobblemon:mod-resources
// - com.cobblemon:accesswidener
//technically point to the same dependency (the :common project). To pick the proper artifact from that project
//we set attributes in that project and check for them here.
val accessWideners = project.configurations.register("accessWidener") { configuration ->
configuration.isCanBeConsumed = false
configuration.isCanBeResolved = true
configuration.isCanBeDeclared = true
configuration.attributes {
it.attribute(
LibraryElements.LIBRARY_ELEMENTS_ATTRIBUTE,
project.objects.named(LibraryElements::class.java, LibraryElements.OBJECTS)
)
}
}
val includeRootResources = project.configurations.register("includeRootResources") { configuration ->
configuration.isCanBeConsumed = false
configuration.isCanBeResolved = true
configuration.isCanBeDeclared = true
configuration.attributes {
it.attribute(
LibraryElements.LIBRARY_ELEMENTS_ATTRIBUTE,
project.objects.named(LibraryElements::class.java, LibraryElements.RESOURCES)
)
}
}
val unzipAwTask = project.tasks.register("unzipAccessWideners", UnzipAccessWidenersTask::class.java) {
it.accessWidenerZips = accessWideners.get()
}
val convertAwTask = project.tasks.register(ConvertAccessWidenersTask.NAME, ConvertAccessWidenersTask::class.java) {
it.enabled = cobblemonExtension.convertAccessWideners
it.dependsOn(unzipAwTask)
it.accessWideners = project.files(unzipAwTask).plus(project.files(cobblemonExtension.additionalAccessWideners))
}
//Add root resources and access wideners to output jar
project.tasks.named("processResources", ProcessResources::class.java) { task ->
task.dependsOn(includeRootResources)
if (cobblemonExtension.convertAccessWideners) {
task.dependsOn(convertAwTask)
task.from(convertAwTask)
}
else {
task.dependsOn(unzipAwTask)
task.from(unzipAwTask)
}
task.doLast {
project.copy {
it.from(project.provider {
includeRootResources.get().resolve().map { project.zipTree(it) }
})
it.into(task.destinationDir)
}
}
}
project.tasks.withType(CreateMinecraftArtifacts::class.java) {
it.dependsOn(convertAwTask)
it.accessTransformers.from(convertAwTask)
}
}
}
@@ -0,0 +1,12 @@
package com.cobblemon.gradle.extension
import org.gradle.api.file.FileCollection
abstract class CobblemonGradleExtension {
var additionalAccessWideners: FileCollection? = null
var convertAccessWideners = true
companion object {
const val EXTENSION_NAME = "cobblemon"
}
}
@@ -0,0 +1,82 @@
package com.cobblemon.gradle.extension.tasks
import dev.architectury.at.AccessChange
import dev.architectury.at.AccessTransform
import dev.architectury.at.AccessTransformSet
import dev.architectury.at.ModifierChange
import dev.architectury.at.io.AccessTransformFormats
import net.fabricmc.accesswidener.AccessWidenerReader
import net.fabricmc.accesswidener.AccessWidenerVisitor
import org.cadixdev.bombe.type.signature.MethodSignature
import org.gradle.api.DefaultTask
import org.gradle.api.file.FileCollection
import org.gradle.api.tasks.InputFiles
import org.gradle.api.tasks.Internal
import org.gradle.api.tasks.OutputFiles
import org.gradle.api.tasks.TaskAction
import java.io.Writer
import java.nio.file.Files
abstract class ConvertAccessWidenersTask : DefaultTask() {
abstract var accessWideners: FileCollection
@InputFiles get
@Internal
val accessTransformerDir = project.layout.buildDirectory.dir("access-transformers")
@OutputFiles
val accessTransformers = project.files ({
accessWideners.files.map {
accessTransformerDir.get().file(it.name.replace("accesswidener", "accesstransformer.cfg"))
}
})
@TaskAction
fun convertAccessWideners() {
accessWideners.files.forEach { file ->
val awFile = Files.newBufferedReader(file.toPath())
val result = AccessTransformSet.create();
AccessWidenerReader(object : AccessWidenerVisitor {
override fun visitClass(name: String, access: AccessWidenerReader.AccessType, transitive: Boolean) {
result.getOrCreateClass(name).merge(toAt(access));
}
override fun visitMethod(owner: String, name: String, descriptor: String, access: AccessWidenerReader.AccessType, transitive: Boolean) {
result.getOrCreateClass(owner).mergeMethod(MethodSignature.of(name, descriptor), toAt(access));
}
override fun visitField(owner: String, name: String, descriptor: String, access: AccessWidenerReader.AccessType, transitive: Boolean) {
result.getOrCreateClass(owner).mergeField(name, toAt(access));
}
}).read(awFile)
val outputFile = accessTransformerDir.get().file(
file.name.replace("accesswidener", "accesstransformer.cfg")
)
var outputWriter: Writer? = null
try {
outputWriter = outputFile.asFile.writer()
AccessTransformFormats.FML.write(outputWriter, result)
}
finally {
outputWriter?.flush()
outputWriter?.close()
}
}
}
private fun toAt(access: AccessWidenerReader.AccessType): AccessTransform {
return when (access) {
AccessWidenerReader.AccessType.ACCESSIBLE -> AccessTransform.of(AccessChange.PUBLIC)
AccessWidenerReader.AccessType.EXTENDABLE, AccessWidenerReader.AccessType.MUTABLE -> AccessTransform.of(
AccessChange.PUBLIC,
ModifierChange.REMOVE
)
}
}
companion object {
const val NAME = "convertAccessWideners"
}
}
@@ -0,0 +1,33 @@
package com.cobblemon.gradle.extension.tasks
import org.gradle.api.DefaultTask
import org.gradle.api.Task
import org.gradle.api.file.FileCollection
import org.gradle.api.tasks.InputFiles
import org.gradle.api.tasks.Internal
import org.gradle.api.tasks.OutputFile
import org.gradle.api.tasks.OutputFiles
import org.gradle.api.tasks.TaskAction
abstract class UnzipAccessWidenersTask : DefaultTask() {
abstract var accessWidenerZips: FileCollection
@InputFiles get
@OutputFiles
val outputFiles = project.provider {
project.files(accessWidenerZips.flatMap { zip ->
project.zipTree(zip).files.map { OUTPUT_DIR.get().file(it.name) }
})
}
@Internal
val OUTPUT_DIR = project.layout.buildDirectory.dir("cobblemon-working/access-wideners")
@TaskAction
fun run() {
project.copy {
it.from(accessWidenerZips.map(project::zipTree))
it.into(OUTPUT_DIR)
}
}
}
+6 -5
View File
@@ -1,13 +1,14 @@
plugins {
base
id("cobblemon.root-conventions")
id ("net.nemerosa.versioning") version "2.8.2"
//id("cobblemon.root-conventions")
id ("net.nemerosa.versioning") version "3.1.0"
}
group = "com.cobblemon.mod"
version = "${project.property("mod_version")}+${project.property("mc_version")}"
val isSnapshot = project.property("snapshot")?.equals("true") ?: false
/*
if (isSnapshot) {
version = "$version-${versioning.info.branch}-${versioning.info.build}"
val fixedBranchName = versioning.info.branch.substringAfter("/")
version = "$version-${fixedBranchName}-${versioning.info.build}"
}
*/
+94 -62
View File
@@ -1,72 +1,102 @@
import extensions.isSnapshot
import extensions.version
import java.time.OffsetDateTime
import java.time.ZoneOffset
import java.time.format.DateTimeFormatter
/*
*
* * Copyright (C) 2023 Cobblemon Contributors
* *
* * This Source Code Form is subject to the terms of the Mozilla Public
* * License, v. 2.0. If a copy of the MPL was not distributed with this
* * file, You can obtain one at https://mozilla.org/MPL/2.0/.
*
*/
plugins {
id("cobblemon.base-conventions")
id("cobblemon.publish-conventions")
id("net.kyori.blossom")
id("org.jetbrains.gradle.plugin.idea-ext")
id ("net.nemerosa.versioning") version "2.8.2"
kotlin("jvm") version "2.1.0"
id ("net.neoforged.moddev") version "2.0.75"
id("net.kyori.blossom") version "2.1.0"
id("com.github.johnrengelman.shadow") version "8.1.1"
id("com.cobblemon.gradle")
}
architectury {
common("forge", "fabric")
cobblemon {
additionalAccessWideners = files(sourceSets.main.get().resources).filter { it.extension == "accesswidener" }
}
val rootResources = configurations.create("rootResources") {
isCanBeConsumed = true
isCanBeResolved = false
attributes {
attribute(LibraryElements.LIBRARY_ELEMENTS_ATTRIBUTE, objects.named(LibraryElements.RESOURCES))
}
}
val accessWidenerExport = configurations.create("accessWidenerExport") {
isCanBeConsumed = true
isCanBeResolved = false
attributes {
attribute(LibraryElements.LIBRARY_ELEMENTS_ATTRIBUTE, objects.named(LibraryElements.OBJECTS))
}
}
tasks.processResources {
exclude("*.accesswidener")
}
tasks.create<Zip>("zipResources") {
dependsOn("processResources")
from(tasks.processResources.get().destinationDir)
this.archiveBaseName = "mod-resources"
}
tasks.create<Zip>("zipAccessWideners") {
from(sourceSets.main.get().resources)
include("*.accesswidener")
this.archiveBaseName = "mod-accesswideners"
}
tasks.jar {
archiveBaseName = "mod"
manifest {
attributes(mapOf("FMLModType" to "GAMELIBRARY"))
}
exclude {
it.file in tasks.processResources.get().outputs.files
}
}
tasks.assemble {
dependsOn(tasks.named("zipResources"))
dependsOn(tasks.named("zipAccessWideners"))
}
artifacts {
add("rootResources", tasks.getByName<Zip>("zipResources"))
add("accessWidenerExport", tasks.getByName("zipAccessWideners"))
}
buildscript {
repositories {
mavenCentral()
gradlePluginPortal()
maven("https://maven.architectury.dev/")
maven("https://maven.fabricmc.net/")
}
}
repositories {
maven(url = "${rootProject.projectDir}/deps")
maven(url = "https://api.modrinth.com/maven")
mavenLocal()
mavenCentral()
maven("https://maven.fabricmc.net/")
maven("https://maven.blamejared.com/")
maven("https://api.modrinth.com/maven")
maven(url = "../deps")
}
dependencies {
implementation(libs.stdlib)
implementation(libs.reflect)
modImplementation(libs.fabricLoader)
//Flywheel has no common dep so just pick one and don't use any platform specific code in common
// modCompileOnly(libs.flywheelFabric)
modApi(libs.molang)
compileOnlyApi(libs.jeiApi)
modCompileOnly(libs.adornFabric)
modCompileOnly(libs.lambDynamicLights) { isTransitive = false }
// For Showdown
modCompileOnly(libs.graal)
//shadowCommon group: 'commons-io', name: 'commons-io', version: '2.6'
// For datastore
modCompileOnly(libs.mongoDriverCore)
modCompileOnly(libs.mongoDriverSync)
testImplementation(libs.fabricJunit)
testImplementation(libs.junitParams)
testImplementation(libs.mockito)
testImplementation(libs.mockk)
testImplementation(libs.classgraph)
compileOnly(libs.bundles.mongo)
compileOnly(libs.bundles.kotlin)
compileOnly(libs.molang)
compileOnly(libs.graal)
compileOnly(libs.jei.api)
compileOnly(libs.bundles.fabric.integrations.compileOnly) {
isTransitive = false
}
compileOnly("net.fabricmc:sponge-mixin:0.15.5+mixin.0.8.7")
compileOnly("io.github.llamalad7:mixinextras-fabric:0.4.1")
testImplementation(libs.bundles.unitTesting)
}
tasks.withType<Test> {
useJUnitPlatform()
testLogging {
setEvents(listOf("failed"))
setExceptionFormat("full")
}
neoForge {
neoFormVersion = "1.21.1-20240808.144430"
interfaceInjectionData.from("src/main/resources/interfaces.json")
validateAccessTransformers = true
}
sourceSets {
@@ -76,7 +106,7 @@ sourceSets {
fun generateLicenseHeader() : String {
val builder = StringBuilder()
builder.append("/*\n")
rootProject.file("HEADER").forEachLine {
project.projectDir.parentFile.resolve("HEADER").forEachLine {
if(it.isEmpty()) {
builder.append(" *").append("\n")
} else {
@@ -89,13 +119,15 @@ sourceSets {
property("license", generateLicenseHeader())
property("modid", "cobblemon")
property("version", project.version())
property("isSnapshot", if(rootProject.isSnapshot()) "true" else "false")
property("version", project.version as String)
property("isSnapshot", "true")
/*
property("gitCommit", versioning.info.commit)
property("branch", versioning.info.branch)
System.getProperty("buildNumber")?.let { property("buildNumber", it) }
property("timestamp", OffsetDateTime.now(ZoneOffset.UTC).format(DateTimeFormatter.ofPattern("MM/dd/yyyy hh:mm:ss")) + " UTC")
*/
}
}
}
}
}
+97
View File
@@ -0,0 +1,97 @@
import java.time.OffsetDateTime
import java.time.ZoneOffset
import java.time.format.DateTimeFormatter
import utilities.isSnapshot
import utilities.version
/*
*
* * Copyright (C) 2023 Cobblemon Contributors
* *
* * This Source Code Form is subject to the terms of the Mozilla Public
* * License, v. 2.0. If a copy of the MPL was not distributed with this
* * file, You can obtain one at https://mozilla.org/MPL/2.0/.
*
*/
plugins {
id("cobblemon.base-conventions")
id("cobblemon.publish-conventions")
id("net.kyori.blossom")
id("org.jetbrains.gradle.plugin.idea-ext")
id("net.nemerosa.versioning") version "3.1.0"
}
architectury {
common("neoforge", "fabric")
}
repositories {
maven(url = "${rootProject.projectDir}/deps")
maven(url = "https://api.modrinth.com/maven")
maven(url = "https://maven.neoforged.net/releases")
mavenLocal()
}
dependencies {
implementation(libs.bundles.kotlin)
modImplementation(libs.fabric.loader)
modApi(libs.molang)
// Integrations
compileOnlyApi(libs.jei.api)
modCompileOnly(libs.bundles.fabric.integrations.compileOnly) {
isTransitive = false
}
// Flywheel has no common dep so just pick one and don't use any platform specific code in common
// modCompileOnly(libs.flywheelFabric)
// Showdown
modCompileOnly(libs.graal)
// Data Storage
modCompileOnly(libs.bundles.mongo)
// Unit Testing
testImplementation(libs.bundles.unitTesting)
}
tasks.withType<Test> {
useJUnitPlatform()
testLogging {
setEvents(listOf("failed"))
setExceptionFormat("full")
}
}
sourceSets {
main {
blossom {
kotlinSources {
fun generateLicenseHeader() : String {
val builder = StringBuilder()
builder.append("/*\n")
rootProject.file("HEADER").forEachLine {
if(it.isEmpty()) {
builder.append(" *").append("\n")
} else {
builder.append(" * ").append(it).append("\n")
}
}
return builder.append(" */").append("\n").toString()
}
property("license", generateLicenseHeader())
property("modid", "cobblemon")
property("version", project.version())
property("isSnapshot", if(rootProject.isSnapshot()) "true" else "false")
property("gitCommit", versioning.info.commit)
property("branch", versioning.info.branch)
System.getProperty("buildNumber")?.let { property("buildNumber", it) }
property("timestamp", OffsetDateTime.now(ZoneOffset.UTC).format(DateTimeFormatter.ofPattern("MM/dd/yyyy hh:mm:ss")) + " UTC")
}
}
}
}
+95
View File
@@ -0,0 +1,95 @@
[versions]
# Kotlin
kotlin = "2.0.0"
# Plugins
licenser = "0.6.1"
shadow = "8.1.1"
blossom = "2.1.0"
idea-ext = "1.1.7"
# Loom
loom = "1.7-SNAPSHOT"
architectury-plugin = "3.4-SNAPSHOT"
# Common
molang = "1.1.18"
graal = "22.3.0"
icu4j = "71.1"
jei-api = "19.8.2.99"
# Fabric
fabric-loader = "0.16.5"
fabric-api = "0.104.0+1.21.1"
fabric-kotlin = "1.11.0+kotlin.2.0.0"
fabric-permissions-api = "0.2-SNAPSHOT"
lambDynamicLights = "3.0.1+1.21.1"
debugutils-fabric = "1.21-1.0.6-fabric"
# NeoForge
neoforge = "21.1.66"
neo-kotlin-for-forge = "5.5.0"
debugutils-forge = "1.21-1.0.6-neoforge"
# Data Storage
mongo = "4.10.2"
# Testing
junit = "5.9.0"
mockito = "5.2.0"
mockk = "1.12.1"
classgraph = "4.8.153"
[libraries]
# General Buildscript Plugins
kotlin = { group = "org.jetbrains.kotlin", name = "kotlin-gradle-plugin", version.ref = "kotlin" }
loom = { group = "dev.architectury", name = "architectury-loom", version.ref = "loom" }
architectury = { group = "architectury-plugin", name = "architectury-plugin.gradle.plugin", version.ref = "architectury-plugin" }
shadow = { group = "com.github.johnrengelman", name = "shadow", version.ref = "shadow" }
blossom = { group = "net.kyori", name = "blossom", version.ref = "blossom" }
ideaExt = { group = "org.jetbrains.gradle.plugin.idea-ext", name = "org.jetbrains.gradle.plugin.idea-ext.gradle.plugin", version.ref = "idea-ext"}
licenser = { group = "gradle.plugin.org.cadixdev.gradle", name = "licenser", version.ref = "licenser" }
# Kotlin
kotlin-stdlib = { group = "org.jetbrains.kotlin", name = "kotlin-stdlib-jdk8", version.ref = "kotlin" }
kotlin-reflect = { group = "org.jetbrains.kotlin", name = "kotlin-reflect", version.ref = "kotlin" }
# Common
jei-api = { group = "mezz.jei", name = "jei-1.21-common-api", version.ref = "jei-api"}
molang = { group = "local.com.bedrockk", name = "molang", version.ref = "molang" }
graal = { group = "org.graalvm.js", name = "js", version.ref = "graal" }
icu4j = { group = "com.ibm.icu", name = "icu4j", version.ref = "icu4j" }
# Fabric
fabric-loader = { group = "net.fabricmc", name = "fabric-loader", version.ref = "fabric-loader" }
fabric-api = { group = "net.fabricmc.fabric-api", name = "fabric-api", version.ref = "fabric-api" }
fabric-kotlin = { group = "net.fabricmc", name = "fabric-language-kotlin", version.ref = "fabric-kotlin" }
fabric-permissions = { group = "me.lucko", name = "fabric-permissions-api", version.ref = "fabric-permissions-api" }
adorn-fabric = { group = "maven.modrinth", name = "adorn", version = "6.0.0-neoforge"}
lambDynamicLights = { group = "maven.modrinth", name = "lambdynamiclights", version.ref = "lambDynamicLights"}
jei-api-fabric = { group = "mezz.jei", name = "jei-1.21-fabric-api", version.ref = "jei-api" }
jei-fabric = { group = "mezz.jei", name = "jei-1.21-fabric", version.ref = "jei-api"}
fabric-debugutils = { group = "maven.modrinth", name = "debugutils", version.ref = "debugutils-fabric"}
# NeoForge
neoforge = { group = "net.neoforged", name = "neoforge", version.ref = "neoforge" }
neo-kotlin-forge = { group = "thedarkcolour", name = "kotlinforforge-neoforge", version.ref = "neo-kotlin-for-forge" }
neoforge-debugutils = { group = "maven.modrinth", name = "debugutils", version.ref = "debugutils-forge"}
# Data Storage
mongo-driver-core = { group = "org.mongodb", name = "mongodb-driver-core", version.ref = "mongo" }
mongo-driver-sync = { group = "org.mongodb", name = "mongodb-driver-sync", version.ref = "mongo" }
# Testing
junit = { group = "org.junit.jupiter", name = "junit-jupiter", version.ref = "junit" }
mockito-core = { group = "org.mockito", name = "mockito-core", version.ref = "mockito" }
mock-kotlin = { group = "io.mockk", name = "mockk", version.ref = "mockk" }
classgraph = { group = "io.github.classgraph", name = "classgraph", version.ref = "classgraph" }
[bundles]
kotlin = [ "kotlin-stdlib", "kotlin-reflect" ]
fabric = [ "fabric-kotlin", "fabric-permissions" ]
fabric-integrations-compileOnly = [ "adorn-fabric", "lambDynamicLights", "jei-api-fabric" ]
fabric-integrations-runtimeOnly = [ "jei-fabric" ]
mongo = [ "mongo-driver-core", "mongo-driver-sync" ]
unitTesting = [ "junit", "mockito-core", "mock-kotlin", "classgraph" ]
@@ -8,7 +8,7 @@
package com.cobblemon.mod.common.bridges;
import net.minecraft.structure.processor.StructureProcessor;
import net.minecraft.world.level.levelgen.structure.templatesystem.StructureProcessor;
public interface StructureProcessorListBridge {
void append(StructureProcessor processor);
@@ -9,9 +9,8 @@
package com.cobblemon.mod.common.client.render.models.blockbench.pose;
import com.cobblemon.mod.common.client.render.models.blockbench.repository.RenderContext;
import net.minecraft.client.render.VertexConsumer;
import net.minecraft.client.util.math.MatrixStack;
import com.mojang.blaze3d.vertex.PoseStack;
import com.mojang.blaze3d.vertex.VertexConsumer;
import java.util.Map;
/**
@@ -42,23 +41,17 @@ public interface Bone {
* @param buffer The vertex consumer deployed by the renderer
* @param packedLight The light level to be applied to the bone
* @param packedOverlay The overlay value to be applied to the bone
* @param r A value representing the amount of red coloring that should be applied on the RGB scale
* @param g A value representing the amount of green coloring that should be applied on the RGB scale
* @param b A value representing the amount of blue coloring that should be applied on the RGB scale
* @param a The alpha value to apply to the model based on the RGB scale
* @param color RGBA packed integer color value
*
* @since 1.4.0
*/
void render(
RenderContext context,
MatrixStack stack,
PoseStack stack,
VertexConsumer buffer,
int packedLight,
int packedOverlay,
float r,
float g,
float b,
float a
int color
);
/**
@@ -66,5 +59,5 @@ public interface Bone {
*
* @since 1.4.0
*/
void transform(MatrixStack matrixStack);
void transform(PoseStack matrixStack);
}
@@ -1,96 +0,0 @@
/*
* Copyright (C) 2023 Cobblemon Contributors
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at https://mozilla.org/MPL/2.0/.
*/
package com.cobblemon.mod.common.compat;
import com.cobblemon.mod.common.CobblemonEntities;
import com.cobblemon.mod.common.client.render.layer.PokemonOnShoulderRenderer;
import com.cobblemon.mod.common.entity.pokemon.PokemonEntity;
import com.cobblemon.mod.common.pokemon.FormData;
import com.cobblemon.mod.common.pokemon.lighthing.LightingData;
import dev.lambdaurora.lambdynlights.api.DynamicLightHandler;
import dev.lambdaurora.lambdynlights.api.DynamicLightHandlers;
import net.minecraft.entity.EntityType;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.util.Pair;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import java.util.Optional;
// Java class due to relying on entrypoint on Fabric side
public class LambDynamicLightsCompat {
// This is all called on client side
// These things are checked every tick so try to keep it as free as possible
// That being said it's unlikely school Toshiba person is running dynamic lighting and shaders to enjoy this
// Make sure not to call anything Fabric specific :)
public static void hookCompat() {
// Pokémon entities
DynamicLightHandlers.registerDynamicLightHandler(
CobblemonEntities.POKEMON,
DynamicLightHandler.makeHandler(
pokemon -> resolvedPokemonLightLevel(pokemon, false),
pokemon -> true
)
);
DynamicLightHandlers.registerDynamicLightHandler(
CobblemonEntities.POKEMON,
DynamicLightHandler.makeHandler(
pokemon -> resolvedPokemonLightLevel(pokemon, true),
pokemon -> false
)
);
// Shouldered Pokémon
DynamicLightHandlers.registerDynamicLightHandler(
EntityType.PLAYER,
DynamicLightHandler.makeHandler(
player -> resolvedShoulderLightLevel(player, false),
player -> true
)
);
DynamicLightHandlers.registerDynamicLightHandler(
EntityType.PLAYER,
DynamicLightHandler.makeHandler(
player -> resolvedShoulderLightLevel(player, true),
player -> false
)
);
}
private static int resolvedPokemonLightLevel(PokemonEntity pokemon, boolean underwater) {
return extractFormLightLevel(pokemon.getForm(), underwater).orElse(0);
}
private static int resolvedShoulderLightLevel(PlayerEntity player, boolean underwater) {
final Pair<PokemonOnShoulderRenderer.ShoulderData, PokemonOnShoulderRenderer.ShoulderData> shoulderDataPair = PokemonOnShoulderRenderer.shoulderDataOf(player);
final Optional<Integer> leftLightLevel = extractShoulderLightLevel(shoulderDataPair.getLeft(), underwater);
final Optional<Integer> rightLightLevel = extractShoulderLightLevel(shoulderDataPair.getRight(), underwater);
return Math.max(leftLightLevel.orElse(0), rightLightLevel.orElse(0));
}
private static Optional<Integer> extractFormLightLevel(@NotNull FormData form, boolean underwater) {
if (form.getLightingData() == null || !liquidGlowModeSupport(form.getLightingData().getLiquidGlowMode(), underwater)) {
return Optional.empty();
}
return Optional.of(form.getLightingData().getLightLevel());
}
private static Optional<Integer> extractShoulderLightLevel(@Nullable PokemonOnShoulderRenderer.ShoulderData shoulderData, boolean underwater) {
if (shoulderData == null) {
return Optional.empty();
}
return extractFormLightLevel(shoulderData.getForm(), underwater);
}
private static boolean liquidGlowModeSupport(@NotNull LightingData.LiquidGlowMode liquidGlowMode, boolean underwater) {
return underwater ? liquidGlowMode.getGlowsUnderwater() : liquidGlowMode.getGlowsInLand();
}
}
@@ -0,0 +1,21 @@
/*
* Copyright (C) 2023 Cobblemon Contributors
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at https://mozilla.org/MPL/2.0/.
*/
package com.cobblemon.mod.common.duck;
import org.jetbrains.annotations.Nullable;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.sounds.SoundSource;
public interface SoundEngineDuck {
void pauseSounds(@Nullable ResourceLocation id, @Nullable SoundSource category);
void resumeSounds(@Nullable ResourceLocation id, @Nullable SoundSource category);
}
@@ -8,13 +8,13 @@
package com.cobblemon.mod.common.duck;
import net.minecraft.sound.SoundCategory;
import net.minecraft.util.Identifier;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.sounds.SoundSource;
import org.jetbrains.annotations.Nullable;
public interface SoundManagerDuck {
void pauseSounds(@Nullable Identifier id, @Nullable SoundCategory category);
void pauseSounds(@Nullable ResourceLocation id, @Nullable SoundSource category);
void resumeSounds(@Nullable Identifier id, @Nullable SoundCategory category);
void resumeSounds(@Nullable ResourceLocation id, @Nullable SoundSource category);
}
@@ -1,25 +0,0 @@
/*
* Copyright (C) 2023 Cobblemon Contributors
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at https://mozilla.org/MPL/2.0/.
*/
package com.cobblemon.mod.common.duck;
import net.minecraft.client.sound.SoundInstance;
import net.minecraft.sound.SoundCategory;
import net.minecraft.util.Identifier;
import org.jetbrains.annotations.Nullable;
import java.util.Collection;
public interface SoundSystemDuck {
void pauseSounds(@Nullable Identifier id, @Nullable SoundCategory category);
void resumeSounds(@Nullable Identifier id, @Nullable SoundCategory category);
Collection<SoundInstance> getSounds(@Nullable SoundCategory category);
}
@@ -10,22 +10,21 @@ package com.cobblemon.mod.common.mixin;
import com.cobblemon.mod.common.client.render.item.CobblemonBuiltinItemRenderer;
import com.cobblemon.mod.common.client.render.item.CobblemonBuiltinItemRendererRegistry;
import net.minecraft.client.render.VertexConsumerProvider;
import net.minecraft.client.render.item.BuiltinModelItemRenderer;
import net.minecraft.client.render.model.json.ModelTransformation;
import net.minecraft.client.render.model.json.ModelTransformationMode;
import net.minecraft.client.util.math.MatrixStack;
import net.minecraft.item.ItemStack;
import com.mojang.blaze3d.vertex.PoseStack;
import net.minecraft.client.renderer.BlockEntityWithoutLevelRenderer;
import net.minecraft.client.renderer.MultiBufferSource;
import net.minecraft.world.item.ItemDisplayContext;
import net.minecraft.world.item.ItemStack;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
@Mixin(BuiltinModelItemRenderer.class)
@Mixin(BlockEntityWithoutLevelRenderer.class)
public class BuiltinModelItemRendererMixin {
@Inject(method = "render", at = @At("HEAD"), cancellable = true)
private void cobblemon$useDynamicItemRenderer(ItemStack stack, ModelTransformationMode mode, MatrixStack matrices, VertexConsumerProvider vertexConsumers, int light, int overlay, CallbackInfo ci) {
@Inject(method = "renderByItem", at = @At("HEAD"), cancellable = true)
private void cobblemon$useDynamicItemRenderer(ItemStack stack, ItemDisplayContext mode, PoseStack matrices, MultiBufferSource vertexConsumers, int light, int overlay, CallbackInfo ci) {
CobblemonBuiltinItemRenderer renderer = CobblemonBuiltinItemRendererRegistry.INSTANCE.rendererOf(stack.getItem());
if (renderer != null) {
renderer.render(stack, mode, matrices, vertexConsumers, light, overlay);
@@ -0,0 +1,48 @@
/*
* Copyright (C) 2023 Cobblemon Contributors
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at https://mozilla.org/MPL/2.0/.
*/
package com.cobblemon.mod.common.mixin;
import static com.cobblemon.mod.common.datafixer.CobblemonSchemas.VERSION_KEY;
import com.cobblemon.mod.common.datafixer.CobblemonSchemas;
import com.llamalad7.mixinextras.injector.ModifyExpressionValue;
import com.mojang.serialization.MapCodec;
import java.util.Optional;
import java.util.function.Supplier;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.nbt.IntTag;
import net.minecraft.resources.ResourceKey;
import net.minecraft.util.datafix.DataFixTypes;
import net.minecraft.world.level.Level;
import net.minecraft.world.level.chunk.ChunkGenerator;
import net.minecraft.world.level.chunk.storage.ChunkStorage;
import net.minecraft.world.level.storage.DimensionDataStorage;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.ModifyVariable;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
@Mixin(ChunkStorage.class)
public class ChunkStorageMixin {
//Modifies the NBT returned by the vanilla upgradeChunkTag to also incorporate cobblemon fixup stuff
@ModifyExpressionValue(
method = "upgradeChunkTag(Lnet/minecraft/resources/ResourceKey;Ljava/util/function/Supplier;Lnet/minecraft/nbt/CompoundTag;Ljava/util/Optional;)Lnet/minecraft/nbt/CompoundTag;",
at = @At(
value = "INVOKE",
target = "Lnet/minecraft/util/datafix/DataFixTypes;updateToCurrentVersion(Lcom/mojang/datafixers/DataFixer;Lnet/minecraft/nbt/CompoundTag;I)Lnet/minecraft/nbt/CompoundTag;"
)
)
public CompoundTag cobblemon$doChunkFix(
CompoundTag vanillaFixed
) {
int curVersion = vanillaFixed.contains(VERSION_KEY) ? vanillaFixed.getInt(VERSION_KEY) : 0;
return DataFixTypes.CHUNK.update(CobblemonSchemas.getDATA_FIXER(), vanillaFixed, curVersion, CobblemonSchemas.DATA_VERSION);
}
}
@@ -9,8 +9,8 @@
package com.cobblemon.mod.common.mixin;
import com.cobblemon.mod.common.CobblemonBuildDetails;
import net.minecraft.util.crash.CrashReport;
import net.minecraft.util.crash.CrashReportSection;
import net.minecraft.CrashReport;
import net.minecraft.CrashReportCategory;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
@@ -19,16 +19,15 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
@Mixin(CrashReport.class)
public final class CrashReportMixin {
@Inject(method = "addStackTrace", at = @At(value = "INVOKE", target = "Lnet/minecraft/util/SystemDetails;writeTo(Ljava/lang/StringBuilder;)V"))
@Inject(method = "getDetails(Ljava/lang/StringBuilder;)V", at = @At(value = "INVOKE", target = "Lnet/minecraft/SystemReport;appendToCrashReportString(Ljava/lang/StringBuilder;)V"))
public void cobblemon$printCobblemonDetails(StringBuilder builder, CallbackInfo callback) {
CrashReportSection cobblemon = new CrashReportSection("Cobblemon");
cobblemon.add("Version", CobblemonBuildDetails.VERSION);
cobblemon.add("Is Snapshot", CobblemonBuildDetails.SNAPSHOT);
cobblemon.add("Git Commit", CobblemonBuildDetails.INSTANCE.smallCommitHash() + " (" + "https://gitlab.com/cable-mc/cobblemon/-/commit/" + CobblemonBuildDetails.GIT_COMMIT + ")");
cobblemon.add("Branch", CobblemonBuildDetails.BRANCH);
cobblemon.add("Timestamp", CobblemonBuildDetails.TIMESTAMP);
CrashReportCategory cobblemon = new CrashReportCategory("Cobblemon");
cobblemon.setDetail("Version", CobblemonBuildDetails.VERSION);
cobblemon.setDetail("Is Snapshot", CobblemonBuildDetails.SNAPSHOT);
cobblemon.setDetail("Git Commit", CobblemonBuildDetails.INSTANCE.smallCommitHash() + " (" + "https://gitlab.com/cable-mc/cobblemon/-/commit/" + CobblemonBuildDetails.GIT_COMMIT + ")");
cobblemon.setDetail("Branch", CobblemonBuildDetails.BRANCH);
cobblemon.addStackTrace(builder);
cobblemon.getDetails(builder);
builder.append("\n\n");
}
@@ -9,9 +9,10 @@
package com.cobblemon.mod.common.mixin;
import com.cobblemon.mod.common.sherds.CobblemonSherds;
import net.minecraft.block.DecoratedPotPatterns;
import net.minecraft.item.Item;
import net.minecraft.registry.RegistryKey;
import net.minecraft.resources.ResourceKey;
import net.minecraft.world.item.Item;
import net.minecraft.world.level.block.entity.DecoratedPotPattern;
import net.minecraft.world.level.block.entity.DecoratedPotPatterns;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
@@ -19,12 +20,14 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
@Mixin(DecoratedPotPatterns.class)
public abstract class DecoratedPotPatternsMixin {
@Inject(method = "fromSherd", at=@At("HEAD"), cancellable = true)
private static void cobblemon$getCobblemonSherdTexture(Item sherd,
CallbackInfoReturnable<RegistryKey<String>> cir) {
@Inject(method = "getPatternFromItem", at=@At("HEAD"), cancellable = true)
private static void cobblemon$getCobblemonSherdTexture(
Item sherd,
CallbackInfoReturnable<ResourceKey<DecoratedPotPattern>> cir
) {
if (CobblemonSherds.INSTANCE.getSherdToPattern().containsKey(sherd)) {
cir.setReturnValue(CobblemonSherds.INSTANCE.getSherdToPattern().get(sherd));
return;
cir.cancel();
}
}
}
@@ -9,10 +9,20 @@
package com.cobblemon.mod.common.mixin;
import com.cobblemon.mod.common.client.CobblemonClient;
import net.minecraft.client.render.entity.EntityRenderDispatcher;
import net.minecraft.client.render.entity.EntityRenderer;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.resource.ResourceManager;
import com.cobblemon.mod.common.client.render.MatrixWrapper;
import com.cobblemon.mod.common.client.render.models.blockbench.PosableModel;
import com.cobblemon.mod.common.client.render.models.blockbench.PosableState;
import com.cobblemon.mod.common.entity.PosableEntity;
import com.mojang.blaze3d.vertex.PoseStack;
import com.mojang.blaze3d.vertex.VertexConsumer;
import net.minecraft.client.renderer.LevelRenderer;
import net.minecraft.client.renderer.MultiBufferSource;
import net.minecraft.client.renderer.RenderType;
import net.minecraft.world.entity.Entity;
import net.minecraft.world.phys.AABB;
import net.minecraft.world.phys.Vec3;
import org.joml.Vector3f;
import org.spongepowered.asm.mixin.Debug;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Shadow;
import org.spongepowered.asm.mixin.injection.At;
@@ -20,17 +30,57 @@ import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
import java.util.Map;
import net.minecraft.client.renderer.entity.EntityRenderDispatcher;
import net.minecraft.client.renderer.entity.EntityRenderer;
import net.minecraft.client.resources.PlayerSkin;
import net.minecraft.server.packs.resources.ResourceManager;
import net.minecraft.world.entity.player.Player;
@Mixin(EntityRenderDispatcher.class)
public class EntityRenderDispatcherMixin {
@Shadow private Map<String, EntityRenderer<? extends PlayerEntity>> modelRenderers;
@Shadow private Map<PlayerSkin.Model, EntityRenderer<? extends Player>> playerRenderers;
@Inject(
method = "reload",
method = "onResourceManagerReload",
at = @At(value = "TAIL")
)
public void resourceManagerReloadHook(ResourceManager resourceManager, CallbackInfo ci) {
CobblemonClient.INSTANCE.onAddLayer(this.modelRenderers);
CobblemonClient.INSTANCE.onAddLayer(this.playerRenderers);
}
}
@Inject(
method = "renderHitbox(Lcom/mojang/blaze3d/vertex/PoseStack;Lcom/mojang/blaze3d/vertex/VertexConsumer;Lnet/minecraft/world/entity/Entity;FFFF)V",
at = @At(value = "TAIL")
)
private static void renderLocators(
PoseStack poseStack,
VertexConsumer buffer,
Entity entity,
float red,
float green,
float blue,
float alpha,
CallbackInfo ci
) {
if (entity instanceof PosableEntity posableEntity) {
if (posableEntity.getDelegate() instanceof PosableState state) {
state.getLocatorStates().forEach((locator, matrix) -> {
poseStack.pushPose();
Vec3 pos = matrix.getOrigin().subtract(entity.position());
LevelRenderer.renderLineBox(
poseStack,
buffer,
AABB.ofSize(pos, 0.25, 0.25, 0.25),
0F,
1F,
0F,
1F
);
poseStack.popPose();
});
}
}
}
}
@@ -0,0 +1,40 @@
/*
* Copyright (C) 2023 Cobblemon Contributors
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at https://mozilla.org/MPL/2.0/.
*/
package com.cobblemon.mod.common.mixin;
import static com.cobblemon.mod.common.datafixer.CobblemonSchemas.VERSION_KEY;
import com.cobblemon.mod.common.datafixer.CobblemonSchemas;
import com.llamalad7.mixinextras.injector.ModifyExpressionValue;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.nbt.IntTag;
import net.minecraft.util.datafix.DataFixTypes;
import net.minecraft.world.level.chunk.storage.EntityStorage;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
@Mixin(EntityStorage.class)
public class EntityStorageMixin {
//Modifies the NBT returned by the vanilla upgradeChunkTag to also incorporate cobblemon fixup stuff
@ModifyExpressionValue(
method = "method_31731(Lnet/minecraft/world/level/ChunkPos;Ljava/util/Optional;)Lnet/minecraft/world/level/entity/ChunkEntities;",
at = @At(
value = "INVOKE",
target = "Lnet/minecraft/world/level/chunk/storage/SimpleRegionStorage;upgradeChunkTag(Lnet/minecraft/nbt/CompoundTag;I)Lnet/minecraft/nbt/CompoundTag;"
)
)
public CompoundTag cobblemon$doEntityFix(
CompoundTag vanillaFixed
) {
int curVersion = vanillaFixed.contains(VERSION_KEY) ? vanillaFixed.getInt(VERSION_KEY) : 0;
CompoundTag newTag = DataFixTypes.ENTITY_CHUNK.update(CobblemonSchemas.getDATA_FIXER(), vanillaFixed, curVersion, CobblemonSchemas.DATA_VERSION);
newTag.put(VERSION_KEY, IntTag.valueOf(CobblemonSchemas.DATA_VERSION));
return newTag;
}
}
@@ -8,24 +8,24 @@
package com.cobblemon.mod.common.mixin;
import net.minecraft.entity.passive.VillagerEntity;
import net.minecraft.item.ItemStack;
import net.minecraft.village.VillagerProfession;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
import com.cobblemon.mod.common.villager.VillagerGatherableItems;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
import com.cobblemon.mod.common.villager.VillagerGatherableItems;
import java.util.Objects;
import java.util.Objects;
import net.minecraft.world.entity.npc.Villager;
import net.minecraft.world.entity.npc.VillagerProfession;
import net.minecraft.world.item.ItemStack;
@Mixin(VillagerEntity.class)
@Mixin(Villager.class)
public abstract class EntityVillagerMixin {
@Inject(method = "canGather", at = @At(value = "RETURN"), cancellable = true)
@Inject(method = "wantsToPickUp", at = @At(value = "RETURN"), cancellable = true)
private void cobblemon$canGather(ItemStack stack, CallbackInfoReturnable<Boolean> ci) {
final VillagerEntity villager = (VillagerEntity) (Object) this;
if(ci.getReturnValue() == false && Objects.equals(villager.getVillagerData().getProfession(), VillagerProfession.FARMER) && villager.getInventory().canInsert(stack)) {
final Villager villager = (Villager) (Object) this;
if(ci.getReturnValue() == false && Objects.equals(villager.getVillagerData().getProfession(), VillagerProfession.FARMER) && villager.getInventory().canAddItem(stack)) {
if(VillagerGatherableItems.INSTANCE.getVillagerGatherableItems().contains(stack.getItem()))
ci.setReturnValue(true);
}
@@ -9,10 +9,10 @@
package com.cobblemon.mod.common.mixin;
import com.cobblemon.mod.common.block.PreEmptsExplosion;
import net.minecraft.block.BlockState;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.World;
import net.minecraft.world.explosion.Explosion;
import net.minecraft.core.BlockPos;
import net.minecraft.world.level.Explosion;
import net.minecraft.world.level.Level;
import net.minecraft.world.level.block.state.BlockState;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Redirect;
@@ -21,14 +21,14 @@ import org.spongepowered.asm.mixin.injection.Redirect;
public class ExplosionMixin {
@Redirect(
method = "affectWorld",
method = "finalizeExplosion",
at = @At(
value = "INVOKE",
target = "Lnet/minecraft/world/World;getBlockState(Lnet/minecraft/util/math/BlockPos;)Lnet/minecraft/block/BlockState;",
target = "Lnet/minecraft/world/level/Level;getBlockState(Lnet/minecraft/core/BlockPos;)Lnet/minecraft/world/level/block/state/BlockState;",
ordinal = 0
)
)
public BlockState cobblemon$whenExploded(World world, BlockPos pos) {
public BlockState cobblemon$whenExploded(Level world, BlockPos pos) {
BlockState blockState = world.getBlockState(pos);
if(blockState.getBlock() instanceof PreEmptsExplosion preExplosionBlock) {
preExplosionBlock.whenExploded(world, blockState, pos);
@@ -9,8 +9,9 @@
package com.cobblemon.mod.common.mixin;
import com.cobblemon.mod.common.api.scheduling.ClientTaskTracker;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.render.GameRenderer;
import net.minecraft.client.DeltaTracker;
import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.GameRenderer;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Unique;
import org.spongepowered.asm.mixin.injection.At;
@@ -26,8 +27,8 @@ public class GameRendererMixin {
method = "render",
at = @At(value = "TAIL")
)
public void render(float tickDelta, long startTime, boolean tick, CallbackInfo ci) {
MinecraftClient client = MinecraftClient.getInstance();
public void render(DeltaTracker counter, boolean tick, CallbackInfo ci) {
Minecraft client = Minecraft.getInstance();
long newTime = System.currentTimeMillis();
// Don't play scheduled animations when the game is paused
if (client.isPaused()) {
@@ -0,0 +1,31 @@
/*
* Copyright (C) 2023 Cobblemon Contributors
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at https://mozilla.org/MPL/2.0/.
*/
package com.cobblemon.mod.common.mixin;
import com.cobblemon.mod.common.item.PokedexItem;
import com.mojang.blaze3d.vertex.PoseStack;
import net.minecraft.client.player.AbstractClientPlayer;
import net.minecraft.client.renderer.ItemInHandRenderer;
import net.minecraft.client.renderer.MultiBufferSource;
import net.minecraft.world.InteractionHand;
import net.minecraft.world.item.ItemStack;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
@Mixin(ItemInHandRenderer.class)
public class ItemInHandRendererMixin {
@Inject(method = "renderArmWithItem", at = @At(value = "HEAD"), cancellable = true)
private void cobblemon$renderArmWithItem(AbstractClientPlayer abstractClientPlayer, float f, float g, InteractionHand interactionHand, float h, ItemStack itemStack, float i, PoseStack poseStack, MultiBufferSource multiBufferSource, int j, CallbackInfo ci) {
if (abstractClientPlayer.isUsingItem() && abstractClientPlayer.getUseItem().getItem() instanceof PokedexItem) {
ci.cancel();
}
}
}
@@ -0,0 +1,33 @@
/*
* Copyright (C) 2023 Cobblemon Contributors
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at https://mozilla.org/MPL/2.0/.
*/
package com.cobblemon.mod.common.mixin;
import com.cobblemon.mod.common.entity.fishing.PokeRodFishingBobberEntity;
import net.minecraft.client.multiplayer.ClientLevel;
import net.minecraft.client.renderer.item.ItemProperties;
import net.minecraft.world.entity.LivingEntity;
import net.minecraft.world.entity.player.Player;
import net.minecraft.world.item.ItemStack;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
@Mixin(ItemProperties.class)
public class ItemPropertiesMixin {
// Mixins into the fishing rod's register() lambda expression
// Without this, the fishing rod item model appears cast when using a PokeRod in the other hand
@Inject(method = "method_27883", at = @At(value = "RETURN", ordinal = 1), cancellable = true)
private static void cobblemon$preventRodMixup(ItemStack itemStack, ClientLevel clientLevel, LivingEntity livingEntity, int i, CallbackInfoReturnable<Float> cir) {
if (!(livingEntity instanceof Player) || ((Player) livingEntity).fishing instanceof PokeRodFishingBobberEntity) {
cir.setReturnValue(0.0f);
}
}
}
@@ -0,0 +1,99 @@
/*
* Copyright (C) 2023 Cobblemon Contributors
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at https://mozilla.org/MPL/2.0/.
*/
package com.cobblemon.mod.common.mixin;
import com.cobblemon.mod.common.Cobblemon;
import com.cobblemon.mod.common.ModAPI;
import com.cobblemon.mod.common.item.PokeBallItem;
import com.cobblemon.mod.common.item.PokedexItem;
import com.mojang.blaze3d.vertex.PoseStack;
import net.minecraft.client.multiplayer.ClientLevel;
import net.minecraft.client.renderer.ItemModelShaper;
import net.minecraft.client.renderer.MultiBufferSource;
import net.minecraft.client.renderer.entity.ItemRenderer;
import net.minecraft.client.resources.model.BakedModel;
import net.minecraft.client.resources.model.ModelResourceLocation;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.entity.LivingEntity;
import net.minecraft.world.entity.player.Player;
import net.minecraft.world.item.ItemDisplayContext;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.level.Level;
import org.spongepowered.asm.mixin.Final;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Shadow;
import org.spongepowered.asm.mixin.Unique;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
/*
I think it would be nice to maybe use the existing mixin we have for custom item rendering [BuiltinModelItemRendererMixin]
Obviously that would require changes. Potentially each item renderer defines what modes it overrides for?
*/
@Mixin(ItemRenderer.class)
public abstract class ItemRendererMixin {
@Unique private final String MODEL_PATH = Cobblemon.implementation.getModAPI() == ModAPI.FABRIC ? "fabric_resource" : "standalone";
@Shadow @Final private ItemModelShaper itemModelShaper;
@Shadow public abstract void render(ItemStack stack, ItemDisplayContext renderMode, boolean leftHanded, PoseStack matrices, MultiBufferSource vertexConsumers, int light, int overlay, BakedModel model);
@Inject(
method = "render(Lnet/minecraft/world/item/ItemStack;Lnet/minecraft/world/item/ItemDisplayContext;ZLcom/mojang/blaze3d/vertex/PoseStack;Lnet/minecraft/client/renderer/MultiBufferSource;IILnet/minecraft/client/resources/model/BakedModel;)V",
at = @At("HEAD"),
cancellable = true
)
private void cobblemon$overrideItemModel(ItemStack stack, ItemDisplayContext renderMode, boolean leftHanded, PoseStack matrices, MultiBufferSource multiBufferSource, int light, int overlay, BakedModel model, CallbackInfo ci) {
boolean shouldBe2d = renderMode == ItemDisplayContext.GUI || renderMode == ItemDisplayContext.FIXED;
if (shouldBe2d) {
ResourceLocation resourceLocation = null;
if (stack.getItem() instanceof PokeBallItem pokeBallItem) resourceLocation = pokeBallItem.getPokeBall().getModel2d();
else if (stack.getItem() instanceof PokedexItem pokedexItem) resourceLocation = pokedexItem.getType().getItemSpritePath();
if (resourceLocation != null) {
BakedModel replacementModel = this.itemModelShaper.getModelManager().getModel(new ModelResourceLocation(resourceLocation, "inventory"));
if (!cobblemon$isSameModel(model, replacementModel)) {
ci.cancel();
render(stack, renderMode, leftHanded, matrices, multiBufferSource, light, overlay, replacementModel);
}
}
}
}
@Inject(method = "getModel", at = @At("HEAD"), cancellable = true)
private void cobblemon$getItemModel(ItemStack stack, Level world, LivingEntity entity, int seed, CallbackInfoReturnable<BakedModel> cir) {
ResourceLocation resourceLocation = null;
if (stack.getItem() instanceof PokeBallItem pokeBallItem) resourceLocation = pokeBallItem.getPokeBall().getModel3d();
else if (stack.getItem() instanceof PokedexItem pokedexItem) {
boolean isScanModel = entity instanceof Player && entity.getUseItem() == stack && entity.isUsingItem();
boolean canOpenScreen = entity != null && ((entity.getOffhandItem() == stack && !(entity.getMainHandItem().getItem() instanceof PokedexItem)) || entity.getMainHandItem() == stack);
resourceLocation = pokedexItem.getType().getItemModelPath(isScanModel ? "scanning" : (canOpenScreen ? null : "off"));
}
if (resourceLocation != null) {
BakedModel model = this.itemModelShaper.getModelManager().getModel(new ModelResourceLocation(resourceLocation, MODEL_PATH));
ClientLevel clientWorld = world instanceof ClientLevel ? (ClientLevel) world : null;
BakedModel overriddenModel = model.getOverrides().resolve(model, stack, clientWorld, entity, seed);
cir.setReturnValue(overriddenModel == null ? this.itemModelShaper.getModelManager().getMissingModel() : overriddenModel);
}
}
// this method aims to cover an issue with modernfixes and it's "dynamic resource" causing the usual .equals check to always fail, resulting in a StackOverflow
// this falls back to comparing the model contents (e.g. location of the texture, width and height)
@Unique
private static boolean cobblemon$isSameModel(BakedModel original, BakedModel replacement) {
return original.equals(replacement) ||
(original.getParticleIcon().contents().name().equals(replacement.getParticleIcon().contents().name()) &&
original.getParticleIcon().contents().width() == replacement.getParticleIcon().contents().width() &&
original.getParticleIcon().contents().height() == replacement.getParticleIcon().contents().height());
}
}
@@ -0,0 +1,50 @@
/*
* Copyright (C) 2023 Cobblemon Contributors
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at https://mozilla.org/MPL/2.0/.
*/
package com.cobblemon.mod.common.mixin;
import com.cobblemon.mod.common.util.DataKeys;
import com.mojang.serialization.Dynamic;
import net.minecraft.util.datafix.fixes.ItemStackComponentizationFix;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Unique;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
import java.util.stream.Stream;
@Mixin(ItemStackComponentizationFix.class)
public class ItemStackComponentizationFixMixin
{
@Inject(method = "fixItemStack", at = @At("TAIL"))
private static void fixItemStack(ItemStackComponentizationFix.ItemStackData itemStackData, Dynamic<?> dynamic, CallbackInfo ci) {
cobblemon$attemptPokemonModelDataFix(itemStackData, dynamic);
}
@Unique
private static void cobblemon$attemptPokemonModelDataFix(ItemStackComponentizationFix.ItemStackData itemStackData, Dynamic<?> dynamic)
{
var species = itemStackData.removeTag(DataKeys.POKEMON_ITEM_SPECIES).asString();
var aspects = itemStackData.removeTag(DataKeys.POKEMON_ITEM_ASPECTS).asList(dynamic1 -> dynamic1);
var redTint = itemStackData.removeTag(DataKeys.POKEMON_ITEM_TINT_RED).asNumber();
var greenTint = itemStackData.removeTag(DataKeys.POKEMON_ITEM_TINT_GREEN).asNumber();
var blueTint = itemStackData.removeTag(DataKeys.POKEMON_ITEM_TINT_BLUE).asNumber();
var alphaTint = itemStackData.removeTag(DataKeys.POKEMON_ITEM_TINT_ALPHA).asNumber();
if(species.hasResultOrPartial() && aspects != null) {
var pokeComponent = dynamic.emptyMap().set("species", dynamic.createString(species.getOrThrow()));
pokeComponent = pokeComponent.set("aspects", dynamic.createList(aspects.stream()));
if(redTint.hasResultOrPartial() || blueTint.hasResultOrPartial() || greenTint.hasResultOrPartial() || alphaTint.hasResultOrPartial()) {
pokeComponent = pokeComponent.set("tint", dynamic.createList(Stream.of(redTint, greenTint, blueTint, alphaTint)
.map(x -> x.mapOrElse(Number::floatValue, error -> 0F))
.map(dynamic::createFloat)));
}
itemStackData.setComponent("cobblemon:pokemon_item", pokeComponent);
}
}
}
@@ -0,0 +1,63 @@
/*
* Copyright (C) 2023 Cobblemon Contributors
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at https://mozilla.org/MPL/2.0/.
*/
package com.cobblemon.mod.common.mixin;
import com.cobblemon.mod.common.block.entity.LecternBlockEntity;
import com.cobblemon.mod.common.CobblemonBlocks;
import com.cobblemon.mod.common.CobblemonSounds;
import com.cobblemon.mod.common.item.PokedexItem;
import net.minecraft.core.BlockPos;
import net.minecraft.core.Direction;
import net.minecraft.sounds.SoundSource;
import net.minecraft.world.InteractionHand;
import net.minecraft.world.ItemInteractionResult;
import net.minecraft.world.entity.player.Player;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.level.Level;
import net.minecraft.world.level.block.HorizontalDirectionalBlock;
import net.minecraft.world.level.block.LecternBlock;
import net.minecraft.world.level.block.entity.BlockEntity;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.phys.BlockHitResult;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
import static net.minecraft.world.level.block.LecternBlock.HAS_BOOK;
@Mixin(LecternBlock.class)
public abstract class LecternBlockMixin {
@Inject(method = "useItemOn", at = @At(value = "HEAD"), cancellable = true)
private void cobblemon$useItemOn(ItemStack itemStack, BlockState blockState, Level world, BlockPos blockPos, Player player, InteractionHand interactionHand, BlockHitResult blockHitResult, CallbackInfoReturnable<ItemInteractionResult> cir) {
if (!world.isClientSide && itemStack.getItem() instanceof PokedexItem) {
BlockEntity blockEntity = world.getBlockEntity(blockPos);
if (!blockState.getValue(HAS_BOOK)
&& blockEntity instanceof net.minecraft.world.level.block.entity.LecternBlockEntity
&& blockState.getBlock() instanceof LecternBlock
) {
ItemStack pokedexItemStack = itemStack.copy();
Direction facing = blockState.getValue(HorizontalDirectionalBlock.FACING);
itemStack.consumeAndReturn(1, player);
blockEntity.setRemoved();
BlockState newBlockState = CobblemonBlocks.LECTERN.defaultBlockState().setValue(HorizontalDirectionalBlock.FACING, facing);
world.setBlockAndUpdate(blockPos, newBlockState);
BlockEntity lecternEntity = world.getBlockEntity(blockPos);
if (lecternEntity instanceof LecternBlockEntity) {
((LecternBlockEntity) lecternEntity).setItemStack((pokedexItemStack));
world.playSound(null, blockPos, CobblemonSounds.POKEDEX_CLOSE, SoundSource.BLOCKS, 0.5F, 1.25F);
cir.setReturnValue(ItemInteractionResult.SUCCESS);
} else {
cir.setReturnValue(itemStack.isEmpty() && interactionHand == InteractionHand.MAIN_HAND ? ItemInteractionResult.SKIP_DEFAULT_BLOCK_INTERACTION : ItemInteractionResult.PASS_TO_DEFAULT_BLOCK_INTERACTION);
}
}
}
}
}
@@ -9,9 +9,9 @@
package com.cobblemon.mod.common.mixin;
import com.cobblemon.mod.common.api.pokemon.effect.ShoulderEffectRegistry;
import net.minecraft.entity.LivingEntity;
import net.minecraft.entity.effect.StatusEffectInstance;
import net.minecraft.server.network.ServerPlayerEntity;
import net.minecraft.server.level.ServerPlayer;
import net.minecraft.world.effect.MobEffectInstance;
import net.minecraft.world.entity.LivingEntity;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
@@ -20,11 +20,11 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
@Mixin(LivingEntity.class)
public abstract class LivingEntityMixin {
@Inject(method = "onStatusEffectRemoved", at = @At(value = "TAIL"))
private void cobblemon$onStatusEffectRemoved(StatusEffectInstance effect, CallbackInfo ci) {
@Inject(method = "onEffectRemoved", at = @At(value = "TAIL"))
private void cobblemon$onEffectRemoved(MobEffectInstance effect, CallbackInfo ci) {
final LivingEntity entity = (LivingEntity) (Object) this;
if (entity instanceof ServerPlayerEntity) {
ShoulderEffectRegistry.INSTANCE.onEffectEnd((ServerPlayerEntity) entity);
if (entity instanceof ServerPlayer) {
ShoulderEffectRegistry.INSTANCE.onEffectEnd((ServerPlayer) entity);
}
}
@@ -9,20 +9,20 @@
package com.cobblemon.mod.common.mixin;
import com.cobblemon.mod.common.entity.pokemon.PokemonEntity;
import net.minecraft.entity.Entity;
import net.minecraft.server.dedicated.DedicatedServer;
import net.minecraft.server.world.ServerWorld;
import net.minecraft.server.ServerInterface;
import net.minecraft.server.level.ServerLevel;
import net.minecraft.world.entity.Entity;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
@Mixin(ServerWorld.class)
public abstract class MinecraftDedicatedServerMixin implements DedicatedServer {
@Mixin(ServerLevel.class)
public abstract class MinecraftDedicatedServerMixin implements ServerInterface {
@Inject(method = "shouldCancelSpawn", at = @At(value = "HEAD"), cancellable = true)
@Inject(method = "shouldDiscardEntity", at = @At(value = "HEAD"), cancellable = true)
public void cobblemon$allowPokemonSpawns(Entity entity, CallbackInfoReturnable<Boolean> callback) {
if(entity instanceof PokemonEntity) {
if (entity instanceof PokemonEntity) {
callback.setReturnValue(false);
}
}
@@ -9,61 +9,41 @@
package com.cobblemon.mod.common.mixin;
import com.cobblemon.mod.common.client.CobblemonBakingOverrides;
import java.io.IOException;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import net.minecraft.client.color.block.BlockColors;
import net.minecraft.client.render.model.ModelLoader;
import net.minecraft.client.render.model.UnbakedModel;
import net.minecraft.client.render.model.json.JsonUnbakedModel;
import net.minecraft.client.util.ModelIdentifier;
import net.minecraft.util.Identifier;
import net.minecraft.util.profiler.Profiler;
import org.slf4j.Logger;
import org.spongepowered.asm.mixin.Final;
import net.minecraft.client.renderer.block.model.BlockModel;
import net.minecraft.client.resources.model.BlockStateModelLoader;
import net.minecraft.client.resources.model.ModelBakery;
import net.minecraft.client.resources.model.ModelResourceLocation;
import net.minecraft.client.resources.model.UnbakedModel;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.util.profiling.ProfilerFiller;
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.InjectionPoint;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
import org.spongepowered.asm.mixin.injection.points.BeforeStringInvoke;
@Mixin(ModelLoader.class)
@Mixin(ModelBakery.class)
public abstract class ModelLoaderMixin {
@Shadow protected abstract void addModel(ModelIdentifier modelId);
@Shadow abstract UnbakedModel getModel(ResourceLocation resourceLocation);
@Final
@Shadow
private Map<Identifier, UnbakedModel> unbakedModels;
@Final
@Shadow
private static Logger LOGGER;
@Shadow protected abstract void registerModel(ModelResourceLocation modelId, UnbakedModel unbakedModel);
@Inject(
method = "<init>",
at = @At("TAIL")
)
public void init(BlockColors blockColors,
Profiler profiler,
Map jsonUnbakedModels,
Map blockStates,
ProfilerFiller profiler,
Map<ResourceLocation, BlockModel> jsonUnbakedModels,
Map<ResourceLocation, List<BlockStateModelLoader.LoadedJson>> blockStates,
CallbackInfo ci) {
CobblemonBakingOverrides.INSTANCE.getModels().forEach(bakingOverride -> {
try {
this.unbakedModels.put(bakingOverride.getModelIdentifier(), this.loadModelFromJson(bakingOverride.getModelLocation()));
this.addModel(bakingOverride.getModelIdentifier());
} catch (IOException e) {
LOGGER.error("Error loading a Cobblemon BakedModel:", e);
throw new RuntimeException(e);
}
var unbakedModel = this.getModel(bakingOverride.getModelLocation());
this.registerModel(bakingOverride.getModelIdentifier(), unbakedModel);
});
}
@Shadow
private JsonUnbakedModel loadModelFromJson(Identifier id) throws IOException {
return null;
}
}
@@ -8,25 +8,23 @@
package com.cobblemon.mod.common.mixin;
import com.cobblemon.mod.common.client.render.models.blockbench.PoseableEntityModel;
import com.cobblemon.mod.common.client.render.models.blockbench.pose.Bone;
import com.cobblemon.mod.common.client.render.models.blockbench.repository.RenderContext;
import net.minecraft.client.model.ModelPart;
import net.minecraft.client.render.VertexConsumer;
import net.minecraft.client.util.math.MatrixStack;
import net.minecraft.entity.Entity;
import com.mojang.blaze3d.vertex.PoseStack;
import com.mojang.blaze3d.vertex.VertexConsumer;
import org.jetbrains.annotations.NotNull;
import org.spongepowered.asm.mixin.Final;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Shadow;
import java.util.Map;
import net.minecraft.client.model.geom.ModelPart;
@Mixin(ModelPart.class)
public abstract class ModelPartMixin implements Bone {
@Shadow public abstract void render(MatrixStack matrices, VertexConsumer vertices, int light, int overlay, float red, float green, float blue, float alpha);
@Shadow public abstract void render(PoseStack matrices, VertexConsumer vertices, int light, int overlay, int color);
@Shadow public abstract void rotate(MatrixStack matrixStack);
@Shadow public abstract void translateAndRotate(PoseStack matrixStack);
@Shadow @Final
public Map<String, ModelPart> children;
@@ -38,12 +36,12 @@ public abstract class ModelPartMixin implements Bone {
}
@Override
public void render(RenderContext context, MatrixStack stack, VertexConsumer buffer, int packedLight, int packedOverlay, float r, float g, float b, float a) {
this.render(stack, buffer, packedLight, packedOverlay, r, g, b, a);
public void render(RenderContext context, PoseStack stack, VertexConsumer buffer, int packedLight, int packedOverlay, int color) {
this.render(stack, buffer, packedLight, packedOverlay, color);
}
@Override
public void transform(MatrixStack matrixStack) {
this.rotate(matrixStack);
public void transform(PoseStack matrixStack) {
this.translateAndRotate(matrixStack);
}
}
@@ -0,0 +1,111 @@
/*
* Copyright (C) 2023 Cobblemon Contributors
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at https://mozilla.org/MPL/2.0/.
*/
package com.cobblemon.mod.common.mixin;
import com.cobblemon.mod.common.client.CobblemonClient;
import com.cobblemon.mod.common.client.keybind.keybinds.PartySendBinding;
import com.cobblemon.mod.common.pokedex.scanner.PokedexUsageContext;
import com.llamalad7.mixinextras.injector.v2.WrapWithCondition;
import com.llamalad7.mixinextras.sugar.Local;
import net.minecraft.client.Minecraft;
import net.minecraft.client.MouseHandler;
import net.minecraft.client.player.LocalPlayer;
import net.minecraft.util.Mth;
import net.minecraft.util.SmoothDouble;
import org.objectweb.asm.Opcodes;
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(MouseHandler.class)
public class MouseHandlerMixin {
@Shadow
private double accumulatedScrollY;
@Shadow @Final private Minecraft minecraft;
@Shadow @Final private SmoothDouble smoothTurnY;
@Shadow @Final private SmoothDouble smoothTurnX;
@Shadow private double accumulatedDX;
@Shadow private double accumulatedDY;
@Inject(
method = "onScroll",
at = @At(
value = "FIELD",
target="Lnet/minecraft/client/MouseHandler;accumulatedScrollY:D",
opcode = Opcodes.PUTFIELD,
ordinal = 2,
shift = At.Shift.BEFORE
),
cancellable = true
)
public void cobblemon$scrollParty(long window, double horizontal, double vertical, CallbackInfo ci) {
if (PartySendBinding.INSTANCE.getWasDown()) {
int i = (int) accumulatedScrollY;
if (i > 0) {
accumulatedScrollY -= i;
CobblemonClient.INSTANCE.getStorage().shiftSelected(false);
ci.cancel();
PartySendBinding.INSTANCE.actioned();
} else if (i < 0) {
accumulatedScrollY -= i;
CobblemonClient.INSTANCE.getStorage().shiftSelected(true);
ci.cancel();
PartySendBinding.INSTANCE.actioned();
}
}
}
@Inject(
method = "onScroll",
at = @At(
value = "INVOKE",
target = "Lnet/minecraft/world/entity/player/Inventory;swapPaint(D)V"
),
cancellable = true
)
public void cobblemon$doPokedexZoom(long window, double horizontal, double vertical, CallbackInfo ci) {
PokedexUsageContext usageContext = CobblemonClient.INSTANCE.getPokedexUsageContext();
if (usageContext.getScanningGuiOpen()) {
usageContext.adjustZoom(vertical);
ci.cancel();
}
}
@WrapWithCondition(
method = "turnPlayer",
at = @At(
value = "INVOKE",
target = "Lnet/minecraft/client/player/LocalPlayer;turn(DD)V"
)
)
public boolean cobblemon$modifyRotation(LocalPlayer player, double cursorDeltaX, double cursorDeltaY, @Local(argsOnly = true) double d) {
// I know this technically doesn't need to be a WrapWithCondition, but it'll make things easier later for riding.
PokedexUsageContext usageContext = CobblemonClient.INSTANCE.getPokedexUsageContext();
if (usageContext.getScanningGuiOpen()) {
this.smoothTurnY.reset();
this.smoothTurnX.reset();
var defaultSensitivity = this.minecraft.options.sensitivity().get() * 0.6000000238418579 + 0.20000000298023224;
var spyglassSensitivity = Math.pow(defaultSensitivity, 3);
var lookSensitivity = spyglassSensitivity * 8.0;
var sensitivity = Mth.lerp(usageContext.getFovMultiplier(), spyglassSensitivity, lookSensitivity);
player.turn(this.accumulatedDX * sensitivity, (this.accumulatedDY * sensitivity));
return false;
}
return true;
}
}
@@ -0,0 +1,37 @@
/*
* Copyright (C) 2023 Cobblemon Contributors
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at https://mozilla.org/MPL/2.0/.
*/
package com.cobblemon.mod.common.mixin;
import com.cobblemon.mod.common.client.sound.BattleMusicController;
import net.minecraft.client.Minecraft;
import net.minecraft.client.resources.sounds.SoundInstance;
import net.minecraft.client.sounds.MusicManager;
import org.jetbrains.annotations.Nullable;
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(MusicManager.class)
public class MusicManagerMixin {
@Shadow @Final
private Minecraft minecraft;
@Shadow @Nullable
private SoundInstance currentMusic;
/** Freezes the tracker while a BattleMusicInstance is in progress. Current SoundInstance being tracked will be paused by BattleMusicHandler. */
@Inject(method = "tick()V", at = @At("HEAD"), cancellable = true)
public void tick(CallbackInfo cb) {
if (this.minecraft.getSoundManager().isActive(BattleMusicController.INSTANCE.getMusic())) cb.cancel();
}
}
@@ -1,37 +0,0 @@
/*
* Copyright (C) 2023 Cobblemon Contributors
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at https://mozilla.org/MPL/2.0/.
*/
package com.cobblemon.mod.common.mixin;
import com.cobblemon.mod.common.client.sound.battle.BattleMusicController;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.sound.MusicTracker;
import net.minecraft.client.sound.SoundInstance;
import org.jetbrains.annotations.Nullable;
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(MusicTracker.class)
public class MusicTrackerMixin {
@Shadow @Final
private MinecraftClient client;
@Shadow @Nullable
private SoundInstance current;
/** Freezes the tracker while a BattleMusicInstance is in progress. Current SoundInstance being tracked will be paused by BattleMusicHandler. */
@Inject(method = "tick()V", at = @At("HEAD"), cancellable = true)
public void tick(CallbackInfo cb) {
if (this.client.getSoundManager().isPlaying(BattleMusicController.INSTANCE.getMusic())) cb.cancel();
}
}
@@ -0,0 +1,33 @@
/*
* Copyright (C) 2023 Cobblemon Contributors
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at https://mozilla.org/MPL/2.0/.
*/
package com.cobblemon.mod.common.mixin;
import static com.cobblemon.mod.common.datafixer.CobblemonSchemas.VERSION_KEY;
import com.cobblemon.mod.common.datafixer.CobblemonSchemas;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.nbt.NbtUtils;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
@Mixin(NbtUtils.class)
public class NbtUtilsMixin {
@Inject(
method = "addCurrentDataVersion(Lnet/minecraft/nbt/CompoundTag;)Lnet/minecraft/nbt/CompoundTag;",
at = @At("TAIL")
)
private static void addCobblemonDataVersion(
CompoundTag tag,
CallbackInfoReturnable<CompoundTag> cir
) {
tag.putInt(VERSION_KEY, CobblemonSchemas.DATA_VERSION);
}
}
@@ -10,8 +10,6 @@ package com.cobblemon.mod.common.mixin;
import com.cobblemon.mod.common.api.snowstorm.ParticleMaterials;
import com.google.common.collect.ImmutableList;
import net.minecraft.client.particle.ParticleManager;
import net.minecraft.client.particle.ParticleTextureSheet;
import org.spongepowered.asm.mixin.Final;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Mutable;
@@ -21,17 +19,19 @@ import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
import java.util.List;
import net.minecraft.client.particle.ParticleEngine;
import net.minecraft.client.particle.ParticleRenderType;
@Mixin(ParticleManager.class)
@Mixin(ParticleEngine.class)
final class ParticleManagerMixin {
@Mutable
@Final
@Shadow
private static List<ParticleTextureSheet> PARTICLE_TEXTURE_SHEETS;
private static List<ParticleRenderType> RENDER_ORDER;
@Inject(at = @At("RETURN"), method = "<clinit>")
private static void lodestone$addTypes(CallbackInfo ci) {
PARTICLE_TEXTURE_SHEETS = ImmutableList.<ParticleTextureSheet>builder().addAll(PARTICLE_TEXTURE_SHEETS)
RENDER_ORDER = ImmutableList.<ParticleRenderType>builder().addAll(RENDER_ORDER)
.add(ParticleMaterials.INSTANCE.getADD(), ParticleMaterials.INSTANCE.getALPHA(), ParticleMaterials.INSTANCE.getBLEND(), ParticleMaterials.INSTANCE.getOPAQUE()).build();
}
}
@@ -1,53 +0,0 @@
/*
* Copyright (C) 2023 Cobblemon Contributors
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at https://mozilla.org/MPL/2.0/.
*/
package com.cobblemon.mod.common.mixin;
import com.cobblemon.mod.common.client.CobblemonClient;
import com.cobblemon.mod.common.client.keybind.keybinds.PartySendBinding;
import net.minecraft.client.Mouse;
import org.objectweb.asm.Opcodes;
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(Mouse.class)
public class PartyScrollMixin {
@Shadow
private double eventDeltaWheel;
@Inject(
method = "onMouseScroll",
at = @At(
value = "FIELD",
target="Lnet/minecraft/client/Mouse;eventDeltaWheel:D",
opcode = Opcodes.PUTFIELD,
ordinal = 2,
shift = At.Shift.BEFORE
),
cancellable = true
)
public void onMouseScroll(long window, double horizontal, double vertical, CallbackInfo ci) {
if (PartySendBinding.INSTANCE.getWasDown()) {
int i = (int)eventDeltaWheel;
if (i > 0) {
while (i-- > 0) CobblemonClient.INSTANCE.getStorage().shiftSelected(false);
ci.cancel();
eventDeltaWheel = 0;
PartySendBinding.INSTANCE.actioned();
} else if (i < 0) {
while (i++ < 0) CobblemonClient.INSTANCE.getStorage().shiftSelected(true);
ci.cancel();
eventDeltaWheel = 0;
PartySendBinding.INSTANCE.actioned();
}
}
}
}
@@ -9,22 +9,22 @@
package com.cobblemon.mod.common.mixin;
import com.cobblemon.mod.common.CobblemonItems;
import net.minecraft.entity.mob.PiglinBrain;
import net.minecraft.item.ItemStack;
import net.minecraft.world.entity.monster.piglin.PiglinAi;
import net.minecraft.world.item.ItemStack;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
@Mixin(PiglinBrain.class)
@Mixin(PiglinAi.class)
public class PiglinBarterMixin {
@Inject(method = "acceptsForBarter", at = @At(value = "RETURN"), cancellable = true)
@Inject(method = "isBarterCurrency", at = @At(value = "RETURN"), cancellable = true)
private static void cobblemon$acceptsForBarter(ItemStack stack, CallbackInfoReturnable<Boolean> ci) {
if(!ci.getReturnValue()) {
//TODO: Make a tag?
if(stack.isOf(CobblemonItems.RELIC_COIN_POUCH))
if(stack.is(CobblemonItems.RELIC_COIN_POUCH))
ci.setReturnValue(true);
}
}
@@ -9,22 +9,22 @@
package com.cobblemon.mod.common.mixin;
import com.cobblemon.mod.common.CobblemonItems;
import net.minecraft.entity.EquipmentSlot;
import net.minecraft.entity.mob.PiglinEntity;
import net.minecraft.item.ItemStack;
import net.minecraft.world.entity.EquipmentSlot;
import net.minecraft.world.entity.monster.piglin.Piglin;
import net.minecraft.world.item.ItemStack;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
@Mixin(PiglinEntity.class)
@Mixin(Piglin.class)
public abstract class PiglinEntityMixin {
@Inject(method = "equipToOffHand", at = @At(value = "HEAD"), cancellable = true)
@Inject(method = "holdInOffHand", at = @At(value = "HEAD"), cancellable = true)
public void cobblemon$isValidBarteringItem(ItemStack stack, CallbackInfo ci) {
PiglinEntity entity = (PiglinEntity)(Object) this;
if (stack.isOf(CobblemonItems.RELIC_COIN_POUCH)) {
entity.equipStack(EquipmentSlot.OFFHAND, stack);
entity.updateDropChances(EquipmentSlot.OFFHAND);
Piglin entity = (Piglin)(Object) this;
if (stack.is(CobblemonItems.RELIC_COIN_POUCH)) {
entity.setItemSlot(EquipmentSlot.OFFHAND, stack);
entity.setGuaranteedDrop(EquipmentSlot.OFFHAND);
ci.cancel();
}
}
@@ -12,72 +12,88 @@ import com.cobblemon.mod.common.Cobblemon;
import com.cobblemon.mod.common.CobblemonItems;
import com.cobblemon.mod.common.api.events.CobblemonEvents;
import com.cobblemon.mod.common.api.events.item.LeftoversCreatedEvent;
import com.cobblemon.mod.common.api.storage.NoPokemonStoreException;
import com.cobblemon.mod.common.api.pokemon.PokemonSpecies;
import com.cobblemon.mod.common.api.storage.party.PartyStore;
import com.cobblemon.mod.common.api.tags.CobblemonItemTags;
import com.cobblemon.mod.common.pokedex.scanner.PokedexEntityData;
import com.cobblemon.mod.common.pokedex.scanner.ScannableEntity;
import com.cobblemon.mod.common.pokemon.FormData;
import com.cobblemon.mod.common.pokemon.Gender;
import com.cobblemon.mod.common.pokemon.Pokemon;
import com.cobblemon.mod.common.pokemon.Species;
import com.cobblemon.mod.common.util.CompoundTagExtensionsKt;
import com.cobblemon.mod.common.util.CompoundTagUtilities;
import com.cobblemon.mod.common.util.DataKeys;
import net.minecraft.entity.EntityType;
import net.minecraft.entity.ItemEntity;
import net.minecraft.entity.LivingEntity;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NbtCompound;
import net.minecraft.server.network.ServerPlayerEntity;
import net.minecraft.text.Text;
import net.minecraft.world.World;
import com.cobblemon.mod.common.world.gamerules.CobblemonGameRules;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.nbt.Tag;
import net.minecraft.network.chat.Component;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.server.level.ServerPlayer;
import net.minecraft.world.damagesource.DamageSource;
import net.minecraft.world.entity.EntityType;
import net.minecraft.world.entity.LivingEntity;
import net.minecraft.world.entity.item.ItemEntity;
import net.minecraft.world.entity.player.Player;
import net.minecraft.world.food.FoodProperties;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.level.Level;
import org.jetbrains.annotations.Nullable;
import org.objectweb.asm.Opcodes;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Shadow;
import org.spongepowered.asm.mixin.Unique;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
import java.util.List;
import java.util.Objects;
import java.util.Set;
import java.util.UUID;
import java.util.stream.Collectors;
@Mixin(PlayerEntity.class)
public abstract class PlayerMixin extends LivingEntity {
@Mixin(Player.class)
public abstract class PlayerMixin extends LivingEntity implements ScannableEntity {
@Shadow public abstract NbtCompound getShoulderEntityLeft();
@Shadow public abstract CompoundTag getShoulderEntityLeft();
@Shadow public abstract NbtCompound getShoulderEntityRight();
@Shadow public abstract CompoundTag getShoulderEntityRight();
@Shadow public abstract void dropShoulderEntity(NbtCompound entityNbt);
@Shadow public abstract void respawnEntityOnShoulder(CompoundTag entityNbt);
@Shadow public abstract void setShoulderEntityRight(NbtCompound entityNbt);
@Shadow public abstract void setShoulderEntityRight(CompoundTag entityNbt);
@Shadow public abstract void setShoulderEntityLeft(NbtCompound entityNbt);
@Shadow public abstract void setShoulderEntityLeft(CompoundTag entityNbt);
@Shadow public abstract boolean isSpectator();
@Shadow public abstract boolean giveItemStack(ItemStack stack);
@Shadow public abstract boolean addItem(ItemStack stack);
@Shadow public abstract void sendMessage(Text message, boolean overlay);
@Shadow public abstract void displayClientMessage(Component message, boolean overlay);
protected PlayerMixin(EntityType<? extends LivingEntity> p_20966_, World p_20967_) {
protected PlayerMixin(EntityType<? extends LivingEntity> p_20966_, Level p_20967_) {
super(p_20966_, p_20967_);
}
@Inject(method = "dropShoulderEntity", at = @At(value = "INVOKE", target = "Lnet/minecraft/entity/EntityType;getEntityFromNbt(Lnet/minecraft/nbt/NbtCompound;Lnet/minecraft/world/World;)Ljava/util/Optional;"), cancellable = true)
private void cobblemon$removePokemon(NbtCompound nbt, CallbackInfo ci) {
@Inject(method = "respawnEntityOnShoulder", at = @At(value = "INVOKE", target = "Lnet/minecraft/world/entity/EntityType;create(Lnet/minecraft/nbt/CompoundTag;Lnet/minecraft/world/level/Level;)Ljava/util/Optional;"), cancellable = true)
private void cobblemon$removePokemon(CompoundTag nbt, CallbackInfo ci) {
if (CompoundTagExtensionsKt.isPokemonEntity(nbt)) {
final UUID uuid = this.getPokemonID(nbt);
if (this.isShoulderPokemon(this.getShoulderEntityRight())) {
final UUID uuidRight = this.getPokemonID(this.getShoulderEntityRight());
final UUID uuid = CompoundTagUtilities.getPokemonID(nbt);
if (CompoundTagUtilities.isShoulderPokemon(this.getShoulderEntityRight())) {
final UUID uuidRight = CompoundTagUtilities.getPokemonID(this.getShoulderEntityRight());
if (uuid.equals(uuidRight)) {
this.recallPokemon(uuidRight);
this.setShoulderEntityRight(new NbtCompound());
this.setShoulderEntityRight(new CompoundTag());
}
}
if (this.isShoulderPokemon(this.getShoulderEntityLeft())) {
final UUID uuidLeft = this.getPokemonID(this.getShoulderEntityLeft());
if (CompoundTagUtilities.isShoulderPokemon(this.getShoulderEntityLeft())) {
final UUID uuidLeft = CompoundTagUtilities.getPokemonID(this.getShoulderEntityLeft());
if (uuid.equals(uuidLeft)) {
this.recallPokemon(uuidLeft);
this.setShoulderEntityLeft(new NbtCompound());
this.setShoulderEntityLeft(new CompoundTag());
}
}
ci.cancel();
@@ -85,7 +101,7 @@ public abstract class PlayerMixin extends LivingEntity {
}
@Inject(
method = "dropShoulderEntities",
method = "removeEntitiesOnShoulder",
at = @At(
value = "JUMP",
opcode = Opcodes.IFGE,
@@ -96,61 +112,50 @@ public abstract class PlayerMixin extends LivingEntity {
)
private void cobblemon$preventPokemonDropping(CallbackInfo ci) {
// We want to allow both of these to forcefully remove the entities
if (this.isSpectator() || this.isDead())
if (this.isSpectator() || this.isDeadOrDying())
return;
if (!this.isShoulderPokemon(this.getShoulderEntityLeft())) {
this.dropShoulderEntity(this.getShoulderEntityLeft());
this.setShoulderEntityLeft(new NbtCompound());
if (!CompoundTagUtilities.isShoulderPokemon(this.getShoulderEntityLeft())) {
this.respawnEntityOnShoulder(this.getShoulderEntityLeft());
this.setShoulderEntityLeft(new CompoundTag());
}
if (!this.isShoulderPokemon(this.getShoulderEntityRight())) {
this.dropShoulderEntity(this.getShoulderEntityRight());
this.setShoulderEntityRight(new NbtCompound());
if (!CompoundTagUtilities.isShoulderPokemon(this.getShoulderEntityRight())) {
this.respawnEntityOnShoulder(this.getShoulderEntityRight());
this.setShoulderEntityRight(new CompoundTag());
}
ci.cancel();
}
private UUID getPokemonID(NbtCompound nbt) {
return nbt.getCompound(DataKeys.POKEMON)
.getUuid(DataKeys.POKEMON_UUID);
}
private void recallPokemon(UUID uuid) {
// We need to do this cause the Entity doesn't store a reference to its storage
try {
final PartyStore party = Cobblemon.INSTANCE.getStorage().getParty(this.uuid);
for (Pokemon pokemon : party) {
if (pokemon.getUuid().equals(uuid)) {
pokemon.recall();
}
final PartyStore party = Cobblemon.INSTANCE.getStorage().getParty(this.getUUID(), this.registryAccess());
for (Pokemon pokemon : party) {
if (pokemon.getUuid().equals(uuid)) {
pokemon.recall();
}
} catch (NoPokemonStoreException ignored) {}
}
private boolean isShoulderPokemon(NbtCompound nbt) {
return CompoundTagExtensionsKt.isPokemonEntity(nbt);
}
}
@Inject(
method = "eatFood",
method = "eat",
at = @At(
value = "INVOKE",
target = "Lnet/minecraft/entity/player/PlayerEntity;getHungerManager()Lnet/minecraft/entity/player/HungerManager;",
target = "Lnet/minecraft/world/entity/player/Player;getFoodData()Lnet/minecraft/world/food/FoodData;",
shift = At.Shift.AFTER
)
)
public void onEatFood(World world, ItemStack stack, CallbackInfoReturnable<ItemStack> cir) {
if (!getWorld().isClient) {
if (stack.isIn(CobblemonItemTags.LEAVES_LEFTOVERS) && getWorld().random.nextDouble() < Cobblemon.config.getAppleLeftoversChance()) {
public void onEatFood(Level world, ItemStack stack, FoodProperties foodComponent, CallbackInfoReturnable<ItemStack> cir) {
if (!level().isClientSide) {
if (stack.is(CobblemonItemTags.LEAVES_LEFTOVERS) && level().random.nextDouble() < Cobblemon.config.getAppleLeftoversChance()) {
ItemStack leftovers = new ItemStack(CobblemonItems.LEFTOVERS);
ServerPlayerEntity player = Objects.requireNonNull(getServer()).getPlayerManager().getPlayer(uuid);
ServerPlayer player = Objects.requireNonNull(getServer()).getPlayerList().getPlayer(uuid);
assert player != null;
CobblemonEvents.LEFTOVERS_CREATED.postThen(
new LeftoversCreatedEvent(player, leftovers),
leftoversCreatedEvent -> null,
leftoversCreatedEvent -> {
if(!player.giveItemStack(leftoversCreatedEvent.getLeftovers())) {
var itemPos = player.getRotationVector().multiply(0.5).add(getPos());
getWorld().spawnEntity(new ItemEntity(getWorld(), itemPos.getX(), itemPos.getY(), itemPos.getZ(), leftoversCreatedEvent.getLeftovers()));
if(!player.addItem(leftoversCreatedEvent.getLeftovers())) {
var itemPos = player.getLookAngle().scale(0.5f).add(position());
level().addFreshEntity(new ItemEntity(level(), itemPos.x(), itemPos.y(), itemPos.z(), leftoversCreatedEvent.getLeftovers()));
}
return null;
}
@@ -158,4 +163,61 @@ public abstract class PlayerMixin extends LivingEntity {
}
}
}
@Inject(method = "isInvulnerableTo", at = @At("HEAD"), cancellable = true)
public void isInvulnerableTo(DamageSource source, CallbackInfoReturnable<Boolean> ci) {
if (!level().isClientSide) {
ServerPlayer player = (ServerPlayer)(Object)this;
boolean invulnerableInBattle = this.level().getGameRules().getBoolean(CobblemonGameRules.BATTLE_INVULNERABILITY);
boolean inBattle = Cobblemon.INSTANCE.getBattleRegistry().getBattleByParticipatingPlayer(player) != null;
if (invulnerableInBattle && inBattle) {
ci.setReturnValue(true);
}
}
}
@Override @Nullable
public PokedexEntityData resolvePokemonScan() {
if(CompoundTagUtilities.isShoulderPokemon(this.getShoulderEntityRight())){
return getDataFromShoulderPokemon(this.getShoulderEntityRight());
}
if(CompoundTagUtilities.isShoulderPokemon(this.getShoulderEntityLeft())){
return getDataFromShoulderPokemon(this.getShoulderEntityLeft());
}
return null;
}
@Nullable @Unique
private PokedexEntityData getDataFromShoulderPokemon(CompoundTag shoulderTag) {
CompoundTag pokemonTag = shoulderTag.getCompound(DataKeys.POKEMON);
if(pokemonTag.isEmpty()) return null;
Species species = PokemonSpecies.INSTANCE.getByIdentifier(ResourceLocation.parse(pokemonTag.getString(DataKeys.POKEMON_SPECIES_IDENTIFIER)));
if(species == null) return null;
String formId = pokemonTag.getString(DataKeys.POKEMON_FORM_ID);
FormData form = species.getStandardForm();
List<FormData> formList = species.getForms().stream().filter(it -> it.formOnlyShowdownId().equals(formId)).toList();
if(!formList.isEmpty()) form = formList.getFirst();
if(form == null) return null;
String genderString = pokemonTag.getString(DataKeys.POKEMON_GENDER);
if(genderString.isEmpty()) return null;
Gender gender = Gender.valueOf(genderString);
boolean shiny = pokemonTag.getBoolean(DataKeys.POKEMON_SHINY);
int level = pokemonTag.getInt(DataKeys.POKEMON_LEVEL);
Set<String> aspects = shoulderTag.getList(DataKeys.SHOULDER_ASPECTS, Tag.TAG_STRING).stream().map(Tag::getAsString).collect(Collectors.toSet());
return new PokedexEntityData(
species,
form,
gender,
aspects,
shiny,
level,
this.getUUID()
);
}
@Override
public LivingEntity resolveEntityScan() {
return this;
}
}
@@ -0,0 +1,28 @@
/*
* Copyright (C) 2023 Cobblemon Contributors
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at https://mozilla.org/MPL/2.0/.
*/
package com.cobblemon.mod.common.mixin;
import com.cobblemon.mod.common.client.render.ClientPlayerIcon;
import com.mojang.blaze3d.vertex.PoseStack;
import net.minecraft.client.player.AbstractClientPlayer;
import net.minecraft.client.renderer.MultiBufferSource;
import net.minecraft.client.renderer.entity.player.PlayerRenderer;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
@Mixin(PlayerRenderer.class)
public class PlayerRendererMixin {
@Inject(method = "render", at = @At(value = "TAIL"))
public void renderPlayer(AbstractClientPlayer player, float f, float g, PoseStack poseStack, MultiBufferSource multiBufferSource, int i, CallbackInfo ci) {
ClientPlayerIcon.Companion.onRenderPlayer(player);
}
}
@@ -9,9 +9,9 @@
package com.cobblemon.mod.common.mixin;
import com.cobblemon.mod.common.api.tags.CobblemonBlockTags;
import net.minecraft.block.Block;
import net.minecraft.block.BlockState;
import net.minecraft.block.PointedDripstoneBlock;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.PointedDripstoneBlock;
import net.minecraft.world.level.block.state.BlockState;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Redirect;
@@ -21,12 +21,12 @@ import org.spongepowered.asm.mixin.injection.Slice;
public abstract class PointedDripstoneBlockMixin {
@Redirect(
method = "canGrow(Lnet/minecraft/block/BlockState;Lnet/minecraft/block/BlockState;)Z",
at = @At(value = "INVOKE", target = "Lnet/minecraft/block/BlockState;isOf(Lnet/minecraft/block/Block;)Z", ordinal = 0),
slice = @Slice(from = @At(value = "FIELD", target = "Lnet/minecraft/block/Blocks;DRIPSTONE_BLOCK:Lnet/minecraft/block/Block;"))
method = "canTipGrow(Lnet/minecraft/world/level/block/state/BlockState;Lnet/minecraft/server/level/ServerLevel;Lnet/minecraft/core/BlockPos;)Z",
at = @At(value = "INVOKE", target = "Lnet/minecraft/world/level/block/state/BlockState;is(Lnet/minecraft/world/level/Block;)Z", ordinal = 0),
slice = @Slice(from = @At(value = "FIELD", target = "Lnet/minecraft/world/level/block/Blocks;DRIPSTONE_BLOCK:Lnet/minecraft/world/level/Block;"))
)
private static boolean cobblemon$validateMoonStoneDripstone(BlockState instance, Block block) {
return instance.isIn(CobblemonBlockTags.DRIPSTONE_GROWABLE);
return instance.is(CobblemonBlockTags.DRIPSTONE_GROWABLE);
}
}
@@ -10,21 +10,21 @@ package com.cobblemon.mod.common.mixin;
import com.cobblemon.mod.common.block.ShearableBlock;
import kotlin.Unit;
import net.minecraft.block.BlockState;
import net.minecraft.block.dispenser.ShearsDispenserBehavior;
import net.minecraft.server.world.ServerWorld;
import net.minecraft.util.math.BlockPos;
import net.minecraft.core.BlockPos;
import net.minecraft.core.dispenser.ShearsDispenseItemBehavior;
import net.minecraft.server.level.ServerLevel;
import net.minecraft.world.level.block.state.BlockState;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
@Mixin(ShearsDispenserBehavior.class)
@Mixin(ShearsDispenseItemBehavior.class)
public abstract class ShearsDispenserBehaviorMixin {
// This exists, so we can execute our custom interaction only if no one redirected shears interactions to overwrite the vanilla ones.
@Inject(method = "tryShearBlock", at = @At("HEAD"), cancellable = true)
private static void cobblemon$tryApricornHarvest(ServerWorld world, BlockPos pos, CallbackInfoReturnable<Boolean> cir) {
@Inject(method = "tryShearBeehive", at = @At("HEAD"), cancellable = true)
private static void cobblemon$tryApricornHarvest(ServerLevel world, BlockPos pos, CallbackInfoReturnable<Boolean> cir) {
final BlockState state = world.getBlockState(pos);
if (state.getBlock() instanceof ShearableBlock shearableBlock) {
cir.setReturnValue(shearableBlock.attemptShear(world, state, pos, () -> Unit.INSTANCE));
@@ -0,0 +1,113 @@
/*
* Copyright (C) 2023 Cobblemon Contributors
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at https://mozilla.org/MPL/2.0/.
*/
package com.cobblemon.mod.common.mixin;
import com.cobblemon.mod.common.client.sound.BattleMusicController;
import com.cobblemon.mod.common.duck.SoundEngineDuck;
import com.google.common.collect.Multimap;
import com.mojang.blaze3d.audio.Channel;
import net.minecraft.client.resources.sounds.SoundInstance;
import net.minecraft.client.sounds.ChannelAccess;
import net.minecraft.client.sounds.SoundEngine;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.sounds.SoundSource;
import org.jetbrains.annotations.Nullable;
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;
import java.util.Map;
@Mixin(SoundEngine.class)
public abstract class SoundEngineMixin implements SoundEngineDuck {
@Shadow
private boolean loaded;
@Shadow
private Multimap<SoundSource, SoundInstance> instanceBySource;
@Shadow @Final
private Map<SoundInstance, ChannelAccess.ChannelHandle> instanceToChannel;
@Shadow
protected abstract void stop(SoundInstance sound);
@Shadow
public abstract boolean isActive(SoundInstance sound);
/** Resumes the Source belonging to the queried SoundInstance. */
private void resume(SoundInstance sound) {
ChannelAccess.ChannelHandle sourceManager = this.instanceToChannel.get(sound);
if (this.loaded && sourceManager != null) sourceManager.execute(Channel::unpause);
}
/** Pauses the Source belonging to the queried SoundInstance. */
private void pause(SoundInstance sound) {
ChannelAccess.ChannelHandle sourceManager = this.instanceToChannel.get(sound);
if (this.loaded && sourceManager != null) sourceManager.execute(Channel::pause);
}
/** Resumes the SoundInstance(s) queried by id and/or category. */
@Override
public void resumeSounds(@Nullable ResourceLocation id, @Nullable SoundSource category) {
if (category != null) {
this.instanceBySource.get(category).forEach((sound) -> {
if (id == null || sound.getLocation().equals(id)) resume(sound);
});
} else if (id == null) {
this.instanceToChannel.keySet().forEach(this::resume);
} else {
this.instanceToChannel.keySet().forEach(sound -> {
if (sound.getLocation().equals(id)) resume(sound);
});
}
}
/** Pauses the SoundInstances queried by id and/or category. */
@Override
public void pauseSounds(@Nullable ResourceLocation id, @Nullable SoundSource category) {
if (category != null) {
this.instanceBySource.get(category).forEach((sound) -> {
if (id == null || sound.getLocation().equals(id)) pause(sound);
});
} else if (id == null) {
this.instanceToChannel.keySet().forEach(this::pause);
} else {
this.instanceToChannel.keySet().forEach(sound -> {
if (sound.getLocation().equals(id)) pause(sound);
});
}
}
/** Allows stopping all SoundInstances that belong to a queried category. */
@Inject(method = "stop(Lnet/minecraft/resources/ResourceLocation;Lnet/minecraft/sounds/SoundSource;)V", at = @At("HEAD"), cancellable = true)
public void stopSounds(@Nullable ResourceLocation id, @Nullable SoundSource category, CallbackInfo cb) {
if (id == null && category != null) {
this.instanceBySource.get(category).forEach(this::stop);
cb.cancel();
}
}
/** Different behavior for resuming SoundInstances while a BattleMusicInstance is being played. We do not want to resume filtered sounds. */
@Inject(method = "resume()V", at = @At("HEAD"), cancellable = true)
public void resume(CallbackInfo cb) {
if (this.isActive(BattleMusicController.INSTANCE.getMusic())) {
this.instanceBySource.values().forEach(sound -> {
if (sound == BattleMusicController.INSTANCE.getMusic() || !BattleMusicController.INSTANCE.getFilteredCategories().contains(sound.getSource())) {
resume(sound);
}
});
cb.cancel();
}
}
}
@@ -8,12 +8,19 @@
package com.cobblemon.mod.common.mixin;
import com.cobblemon.mod.common.client.sound.battle.BattleMusicController;
import com.cobblemon.mod.common.client.sound.BlockEntitySoundTracker;
import com.cobblemon.mod.common.client.sound.EntitySoundTracker;
import com.cobblemon.mod.common.client.sound.BattleMusicController;
import com.cobblemon.mod.common.client.sound.SoundTracker;
import com.cobblemon.mod.common.duck.SoundManagerDuck;
import com.cobblemon.mod.common.duck.SoundSystemDuck;
import net.minecraft.client.sound.*;
import net.minecraft.sound.SoundCategory;
import net.minecraft.util.Identifier;
import com.cobblemon.mod.common.duck.SoundEngineDuck;
import net.minecraft.client.resources.sounds.BiomeAmbientSoundsHandler;
import net.minecraft.client.resources.sounds.SoundInstance;
import net.minecraft.client.resources.sounds.UnderwaterAmbientSoundInstances;
import net.minecraft.client.sounds.SoundEngine;
import net.minecraft.client.sounds.SoundManager;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.sounds.SoundSource;
import org.jetbrains.annotations.Nullable;
import org.spongepowered.asm.mixin.Final;
import org.spongepowered.asm.mixin.Mixin;
@@ -26,59 +33,65 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
public abstract class SoundManagerMixin implements SoundManagerDuck {
@Shadow
public abstract boolean isPlaying(SoundInstance sound);
public abstract boolean isActive(SoundInstance sound);
@Shadow @Final
private SoundSystem soundSystem;
private SoundEngine soundEngine;
// Never-ending ambient loops are a special exception (they are only initiated once) and should always be paused if filtered.
private boolean isAmbientLoop(SoundInstance sound) {
return sound instanceof BiomeEffectSoundPlayer.MusicLoop || sound instanceof AmbientSoundLoops.Underwater;
return sound instanceof BiomeAmbientSoundsHandler.LoopSoundInstance || sound instanceof UnderwaterAmbientSoundInstances.UnderwaterAmbientSoundInstance;
}
private boolean filterCondition(SoundInstance sound) {
return !isAmbientLoop(sound) &&
this.isPlaying(BattleMusicController.INSTANCE.getMusic()) &&
BattleMusicController.INSTANCE.getFilteredCategories().contains(sound.getCategory());
this.isActive(BattleMusicController.INSTANCE.getMusic()) &&
BattleMusicController.INSTANCE.getFilteredCategories().contains(sound.getSource());
}
private boolean ambientLoopCondition(SoundInstance sound) {
return isAmbientLoop(sound) &&
this.isPlaying(BattleMusicController.INSTANCE.getMusic()) &&
BattleMusicController.INSTANCE.getFilteredCategories().contains(sound.getCategory());
this.isActive(BattleMusicController.INSTANCE.getMusic()) &&
BattleMusicController.INSTANCE.getFilteredCategories().contains(sound.getSource());
}
/** Pauses the queried SoundInstance(s). If id is null, will pause all sounds belonging to the SoundCategory. */
@Override
public void pauseSounds(@Nullable Identifier id, @Nullable SoundCategory category) {
((SoundSystemDuck)soundSystem).pauseSounds(id, category);
public void pauseSounds(@Nullable ResourceLocation id, @Nullable SoundSource category) {
((SoundEngineDuck)soundEngine).pauseSounds(id, category);
}
/** Resumes the queried SoundInstance(s). If id is null, will resume all sounds belonging to the SoundCategory. */
@Override
public void resumeSounds(@Nullable Identifier id, @Nullable SoundCategory category) {
((SoundSystemDuck)soundSystem).resumeSounds(id, category);
public void resumeSounds(@Nullable ResourceLocation id, @Nullable SoundSource category) {
((SoundEngineDuck)soundEngine).resumeSounds(id, category);
}
/** Blocks filtered sounds from being played while a BattleMusicInstance is in progress. */
@Inject(method = "play(Lnet/minecraft/client/sound/SoundInstance;)V", at = @At("HEAD"), cancellable = true)
@Inject(method = "play(Lnet/minecraft/client/resources/sounds/SoundInstance;)V", at = @At("HEAD"), cancellable = true)
public void playStart(SoundInstance sound, CallbackInfo cb) {
if (filterCondition(sound)) cb.cancel();
}
@Inject(method = "play(Lnet/minecraft/client/sound/SoundInstance;I)V", at = @At("HEAD"), cancellable = true)
@Inject(method = "playDelayed(Lnet/minecraft/client/resources/sounds/SoundInstance;I)V", at = @At("HEAD"), cancellable = true)
public void playStart(SoundInstance sound, int delay, CallbackInfo cb) {
if (filterCondition(sound)) cb.cancel();
}
/** Pauses ambient loops while a BattleMusicInstance is in progress. */
@Inject(method = "play(Lnet/minecraft/client/sound/SoundInstance;)V", at = @At("TAIL"))
@Inject(method = "play(Lnet/minecraft/client/resources/sounds/SoundInstance;)V", at = @At("TAIL"))
public void playEnd(SoundInstance sound, CallbackInfo cb) {
if (ambientLoopCondition(sound)) this.pauseSounds(sound.getId(), SoundCategory.AMBIENT);
if (ambientLoopCondition(sound)) this.pauseSounds(sound.getLocation(), SoundSource.AMBIENT);
}
@Inject(method = "play(Lnet/minecraft/client/sound/SoundInstance;I)V", at = @At("TAIL"))
@Inject(method = "playDelayed(Lnet/minecraft/client/resources/sounds/SoundInstance;I)V", at = @At("TAIL"))
public void playEnd(SoundInstance sound, int delay, CallbackInfo cb) {
if (ambientLoopCondition(sound)) this.pauseSounds(sound.getId(), SoundCategory.AMBIENT);
if (ambientLoopCondition(sound)) this.pauseSounds(sound.getLocation(), SoundSource.AMBIENT);
}
/** Clears tracked sounds on the client when disconnected. */
@Inject(method = "stop()V", at = @At("TAIL"))
public void stop(CallbackInfo cb) {
SoundTracker.Companion.clear();
}
}
@@ -1,110 +0,0 @@
/*
* Copyright (C) 2023 Cobblemon Contributors
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at https://mozilla.org/MPL/2.0/.
*/
package com.cobblemon.mod.common.mixin;
import com.cobblemon.mod.common.client.sound.battle.BattleMusicController;
import com.cobblemon.mod.common.duck.SoundSystemDuck;
import com.google.common.collect.Multimap;
import net.minecraft.client.sound.*;
import net.minecraft.sound.SoundCategory;
import net.minecraft.util.Identifier;
import org.jetbrains.annotations.Nullable;
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;
import java.util.Map;
@Mixin(SoundSystem.class)
public abstract class SoundSystemMixin implements SoundSystemDuck {
@Shadow
private boolean started;
@Shadow
private Multimap<SoundCategory, SoundInstance> sounds;
@Shadow @Final
private Map<SoundInstance, Channel.SourceManager> sources;
@Shadow
protected abstract void stop(SoundInstance sound);
@Shadow
public abstract boolean isPlaying(SoundInstance sound);
/** Resumes the Source belonging to the queried SoundInstance. */
private void resume(SoundInstance sound) {
Channel.SourceManager sourceManager = this.sources.get(sound);
if (this.started && sourceManager != null) sourceManager.run(Source::resume);
}
/** Pauses the Source belonging to the queried SoundInstance. */
private void pause(SoundInstance sound) {
Channel.SourceManager sourceManager = this.sources.get(sound);
if (this.started && sourceManager != null) sourceManager.run(Source::pause);
}
/** Resumes the SoundInstance(s) queried by id and/or category. */
@Override
public void resumeSounds(@Nullable Identifier id, @Nullable SoundCategory category) {
if (category != null) {
this.sounds.get(category).forEach((sound) -> {
if (id == null || sound.getId().equals(id)) resume(sound);
});
} else if (id == null) {
this.sources.keySet().forEach(this::resume);
} else {
this.sources.keySet().forEach(sound -> {
if (sound.getId().equals(id)) resume(sound);
});
}
}
/** Pauses the SoundInstances queried by id and/or category. */
@Override
public void pauseSounds(@Nullable Identifier id, @Nullable SoundCategory category) {
if (category != null) {
this.sounds.get(category).forEach((sound) -> {
if (id == null || sound.getId().equals(id)) pause(sound);
});
} else if (id == null) {
this.sources.keySet().forEach(this::pause);
} else {
this.sources.keySet().forEach(sound -> {
if (sound.getId().equals(id)) pause(sound);
});
}
}
/** Allows stopping all SoundInstances that belong to a queried category. */
@Inject(method = "stopSounds(Lnet/minecraft/util/Identifier;Lnet/minecraft/sound/SoundCategory;)V", at = @At("HEAD"), cancellable = true)
public void stopSounds(@Nullable Identifier id, @Nullable SoundCategory category, CallbackInfo cb) {
if (id == null && category != null) {
this.sounds.get(category).forEach(this::stop);
cb.cancel();
}
}
/** Different behavior for resuming SoundInstances while a BattleMusicInstance is being played. We do not want to resume filtered sounds. */
@Inject(method = "resumeAll()V", at = @At("HEAD"), cancellable = true)
public void resumeAll(CallbackInfo cb) {
if (this.isPlaying(BattleMusicController.INSTANCE.getMusic())) {
this.sounds.values().forEach(sound -> {
if (sound == BattleMusicController.INSTANCE.getMusic() || !BattleMusicController.INSTANCE.getFilteredCategories().contains(sound.getCategory())) {
resume(sound);
}
});
cb.cancel();
}
}
}
@@ -10,23 +10,23 @@ package com.cobblemon.mod.common.mixin;
import com.mojang.datafixers.util.Pair;
import it.unimi.dsi.fastutil.objects.ObjectArrayList;
import net.minecraft.structure.pool.StructurePool;
import net.minecraft.structure.pool.StructurePoolElement;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Mutable;
import org.spongepowered.asm.mixin.gen.Accessor;
import java.util.List;
import net.minecraft.world.level.levelgen.structure.pools.StructurePoolElement;
import net.minecraft.world.level.levelgen.structure.pools.StructureTemplatePool;
@Mixin(StructurePool.class)
@Mixin(StructureTemplatePool.class)
public interface StructurePoolAccessor {
@Accessor("elementCounts")
@Accessor("rawTemplates")
List<Pair<StructurePoolElement, Integer>> getElementCounts();
@Mutable
@Accessor("elementCounts")
@Accessor("rawTemplates")
void setElementCounts(List<Pair<StructurePoolElement, Integer>> elementCounts);
@Accessor("elements")
@Accessor("templates")
ObjectArrayList<StructurePoolElement> getElements();
}
@@ -9,47 +9,45 @@
package com.cobblemon.mod.common.mixin;
import com.cobblemon.mod.common.world.CobblemonStructureIDs;
import net.minecraft.registry.Registry;
import net.minecraft.structure.PoolStructurePiece;
import net.minecraft.structure.StructureTemplateManager;
import net.minecraft.structure.pool.*;
import net.minecraft.util.Identifier;
import net.minecraft.util.math.random.Random;
import net.minecraft.util.shape.VoxelShape;
import net.minecraft.world.HeightLimitView;
import net.minecraft.world.gen.chunk.ChunkGenerator;
import net.minecraft.world.gen.noise.NoiseConfig;
import com.llamalad7.mixinextras.sugar.Local;
import net.minecraft.core.Registry;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.util.RandomSource;
import net.minecraft.world.level.LevelHeightAccessor;
import net.minecraft.world.level.chunk.ChunkGenerator;
import net.minecraft.world.level.levelgen.RandomState;
import net.minecraft.world.level.levelgen.structure.PoolElementStructurePiece;
import net.minecraft.world.level.levelgen.structure.pools.*;
import net.minecraft.world.level.levelgen.structure.pools.alias.PoolAliasLookup;
import net.minecraft.world.level.levelgen.structure.templatesystem.LiquidSettings;
import net.minecraft.world.level.levelgen.structure.templatesystem.StructureTemplateManager;
import net.minecraft.world.phys.shapes.VoxelShape;
import org.apache.commons.lang3.mutable.MutableObject;
import org.spongepowered.asm.mixin.Final;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Mutable;
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.ModifyVariable;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
import org.spongepowered.asm.mixin.injection.callback.LocalCapture;
import java.util.*;
@Mixin(StructurePoolBasedGenerator.StructurePoolGenerator.class)
@Mixin(JigsawPlacement.Placer.class)
public abstract class StructurePoolGeneratorMixin {
@Final
@Mutable
@Shadow Deque<StructurePoolBasedGenerator.ShapedPoolStructurePiece> structurePieces;
Map<String, Integer> generatedStructureGroupCounts;
private static final Map<String, Integer> structureMaxes;
private static final Map<Identifier, Set<String>> structureGroups = new HashMap<>();
private static final Map<ResourceLocation, Set<String>> structureGroups = new HashMap<>();
static {
String pokecenter = "pokecenter";
String berry = "berry_farm";
structureGroups.put(CobblemonStructureIDs.PLAINS_POKECENTER, Set.of(pokecenter));
structureGroups.put(CobblemonStructureIDs.DESERT_POKECENTER, Set.of(pokecenter));
structureGroups.put(CobblemonStructureIDs.SAVANNA_POKECENTER, Set.of(pokecenter));
structureGroups.put(CobblemonStructureIDs.SNOWY_POKECENTER, Set.of(pokecenter));
structureGroups.put(CobblemonStructureIDs.TAIGA_POKECENTER, Set.of(pokecenter));
structureGroups.put(CobblemonStructureIDs.VILLAGE_PLAINS_POKECENTER, Set.of(pokecenter));
structureGroups.put(CobblemonStructureIDs.VILLAGE_DESERT_POKECENTER, Set.of(pokecenter));
structureGroups.put(CobblemonStructureIDs.VILLAGE_SAVANNA_POKECENTER, Set.of(pokecenter));
structureGroups.put(CobblemonStructureIDs.VILLAGE_SNOWY_POKECENTER, Set.of(pokecenter));
structureGroups.put(CobblemonStructureIDs.VILLAGE_TAIGA_POKECENTER, Set.of(pokecenter));
structureGroups.put(CobblemonStructureIDs.SAVANNA_BERRY_SMALL, Set.of(berry));
structureGroups.put(CobblemonStructureIDs.SAVANNA_BERRY_LARGE, Set.of(berry));
@@ -75,11 +73,11 @@ public abstract class StructurePoolGeneratorMixin {
structureMaxes = Collections.unmodifiableMap(aMap);
}
public Set<String> getGroups(Identifier structureIdentifier) {
public Set<String> getGroups(ResourceLocation structureIdentifier) {
return structureGroups.getOrDefault(structureIdentifier, Set.of());
}
public boolean hasReachedMaximum(Identifier structureIdentifier) {
public boolean hasReachedMaximum(ResourceLocation structureIdentifier) {
Set<String> groups = getGroups(structureIdentifier);
for (String group : groups) {
int count = generatedStructureGroupCounts.getOrDefault(group, 0);
@@ -91,7 +89,7 @@ public abstract class StructurePoolGeneratorMixin {
return false;
}
public void incrementStructureCount(Identifier structureIdentifier) {
public void incrementStructureCount(ResourceLocation structureIdentifier) {
Set<String> groups = getGroups(structureIdentifier);
for (String group : groups) {
generatedStructureGroupCounts.put(group, generatedStructureGroupCounts.getOrDefault(group, 0) + 1);
@@ -99,17 +97,17 @@ public abstract class StructurePoolGeneratorMixin {
}
@Inject(method = "<init>", at = @At("RETURN"))
private void onStructurePoolGeneratorCreation(Registry<StructurePool> registry, int maxSize, ChunkGenerator chunkGenerator, StructureTemplateManager structureTemplateManager, List<? super PoolStructurePiece> children, Random random, CallbackInfo ci) {
private void onStructurePoolGeneratorCreation(Registry<StructureTemplatePool> registry, int maxSize, ChunkGenerator chunkGenerator, StructureTemplateManager structureTemplateManager, List<? super PoolElementStructurePiece> children, RandomSource random, CallbackInfo ci) {
generatedStructureGroupCounts = new HashMap<>();
}
@ModifyVariable(method = "generatePiece", at = @At("STORE"), ordinal = 1)
@ModifyVariable(method = "tryPlacingChildren", at = @At("STORE"), ordinal = 1)
private Iterator<StructurePoolElement> reduceStructurePoolElementIterator(Iterator<StructurePoolElement> iterator) {
List<StructurePoolElement> reducedList = new ArrayList<>();
while (iterator.hasNext()) {
StructurePoolElement structure = iterator.next();
Identifier structurePieceLocationKey = getCobblemonOnlyLocation(structure);
ResourceLocation structurePieceLocationKey = getCobblemonOnlyLocation(structure);
if (structurePieceLocationKey == null) {
reducedList.add(structure);
continue;
@@ -123,55 +121,27 @@ public abstract class StructurePoolGeneratorMixin {
return reducedList.iterator();
}
@ModifyVariable(method = "generatePiece", at = @At("STORE"), ordinal = 1)
private PoolStructurePiece injected(PoolStructurePiece poolStructurePiece) {
Identifier structureLocationKey = getCobblemonOnlyLocation(poolStructurePiece.getPoolElement());
@Inject(method = "tryPlacingChildren", at = @At(value = "NEW", target = "net/minecraft/world/level/levelgen/structure/PoolElementStructurePiece", ordinal = 0), locals = LocalCapture.CAPTURE_FAILHARD)
private void afterTryPlacingChildren(
PoolElementStructurePiece poolElementStructurePiece,
MutableObject<VoxelShape> mutableObject,
int i,
boolean bl,
LevelHeightAccessor levelHeightAccessor,
RandomState randomState,
PoolAliasLookup poolAliasLookup,
LiquidSettings liquidSettings,
CallbackInfo ci,
@Local(ordinal = 1) StructurePoolElement structurePoolElement
) {
ResourceLocation structureLocationKey = getCobblemonOnlyLocation(structurePoolElement);
if (structureLocationKey != null) {
incrementStructureCount(structureLocationKey);
}
return poolStructurePiece;
}
// This doesn't SEEM necessary? It appears to work without.
@Inject(method = "generatePiece", at = @At("HEAD"))
private void beforeGeneratePiece(PoolStructurePiece piece, MutableObject<VoxelShape> pieceShape, int minY, boolean modifyBoundingBox, HeightLimitView world, NoiseConfig noiseConfig, CallbackInfo ci) {
// Identifier structureLocationKey = getCobblemonOnlyLocation(piece.getPoolElement());
//
// if (structureLocationKey != null) {
// Integer currentlyGenerated = generatedStructureCounts.get(structureLocationKey);
// if (currentlyGenerated == null) currentlyGenerated = 0;
// generatedStructureCounts.put(structureLocationKey, currentlyGenerated + 1);
// }
//
// List<StructurePoolBasedGenerator.ShapedPoolStructurePiece> reducedStructurePiecesList = structurePieces.stream().toList();
//
// for (Identifier maxStructureLocationKey : structureMaxes.keySet()) {
// Integer maxAllowed = structureMaxes.get(maxStructureLocationKey);
//
// Integer currentlyGenerated = generatedStructureCounts.get(maxStructureLocationKey);
// if (currentlyGenerated == null) currentlyGenerated = 0;
// if (currentlyGenerated < maxAllowed) {
// continue;
// }
//
// //Already have max so need to remove
// reducedStructurePiecesList = reducedStructurePiecesList.stream()
// .filter(shapedStructurePiece -> {
// Identifier locationKey = getCobblemonOnlyLocation(shapedStructurePiece.piece.getPoolElement());
// if (locationKey == null) {
// return true;
// }
//
// return !locationKey.equals(maxStructureLocationKey);
// })
// .collect(Collectors.toList());
// }
//
// structurePieces = new ArrayDeque<>(reducedStructurePiecesList);
}
private static Identifier getCobblemonOnlyLocation(StructurePoolElement structurePoolElement) {
Identifier location = getLocationIfAvailable(structurePoolElement);
private static ResourceLocation getCobblemonOnlyLocation(StructurePoolElement structurePoolElement) {
ResourceLocation location = getLocationIfAvailable(structurePoolElement);
if (location == null) return null;
if (!location.getNamespace().equals("cobblemon")) return null;
@@ -179,39 +149,17 @@ public abstract class StructurePoolGeneratorMixin {
return location;
}
private static Identifier getLocationIfAvailable(StructurePoolElement structurePoolElement) {
private static ResourceLocation getLocationIfAvailable(StructurePoolElement structurePoolElement) {
if (structurePoolElement instanceof LegacySinglePoolElement legacySinglePoolElement) {
if (legacySinglePoolElement.location.left().isEmpty()) return null;
if (legacySinglePoolElement.template.left().isEmpty()) return null;
return legacySinglePoolElement.location.left().get();
return legacySinglePoolElement.template.left().get();
} else if (structurePoolElement instanceof SinglePoolElement singlePoolElement) {
if (singlePoolElement.location.left().isEmpty()) return null;
if (singlePoolElement.template.left().isEmpty()) return null;
return singlePoolElement.location.left().get();
return singlePoolElement.template.left().get();
} else {
return null;
}
}
// private List<StructurePoolElement> removeInstanceOfLocationKeyFrom(List<StructurePoolElement> structureList, Integer allowedNumberOfInstances, Identifier locationKey) {
// List<StructurePoolElement> reducedList = new ArrayList<>();
// int instancesFound = 0;
//
// for (StructurePoolElement structurePoolElement: structureList) {
// Identifier structureKey = getCobblemonOnlyLocation(structurePoolElement);
// if (structureKey == null || !structureKey.equals(locationKey)) {
// reducedList.add(structurePoolElement);
// continue;
// }
//
// if (instancesFound >= allowedNumberOfInstances) {
// continue;
// }
//
// reducedList.add(structurePoolElement);
// instancesFound++;
// }
//
// return reducedList;
// }
}
}
@@ -12,8 +12,8 @@ import com.cobblemon.mod.common.bridges.StructureProcessorListBridge;
import com.google.common.collect.ImmutableList;
import java.util.ArrayList;
import java.util.List;
import net.minecraft.structure.processor.StructureProcessor;
import net.minecraft.structure.processor.StructureProcessorList;
import net.minecraft.world.level.levelgen.structure.templatesystem.StructureProcessor;
import net.minecraft.world.level.levelgen.structure.templatesystem.StructureProcessorList;
import org.spongepowered.asm.mixin.Final;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Mutable;
@@ -0,0 +1,33 @@
/*
* Copyright (C) 2023 Cobblemon Contributors
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at https://mozilla.org/MPL/2.0/.
*/
package com.cobblemon.mod.common.mixin;
import com.cobblemon.mod.common.Cobblemon;
import com.cobblemon.mod.common.world.gamerules.CobblemonGameRules;
import net.minecraft.server.level.ServerPlayer;
import net.minecraft.world.entity.LivingEntity;
import net.minecraft.world.entity.ai.targeting.TargetingConditions;
import org.jetbrains.annotations.Nullable;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
@Mixin(TargetingConditions.class)
public class TargetingConditionsMixin {
@Inject(method = "test", at = @At("HEAD"), cancellable = true)
public void test(@Nullable LivingEntity baseEntity, LivingEntity targetEntity, CallbackInfoReturnable<Boolean> ci) {
if (targetEntity instanceof ServerPlayer player) {
boolean canTargetInBattle = player.level().getGameRules().getBoolean(CobblemonGameRules.MOB_TARGET_IN_BATTLE);
boolean targetInBattle = Cobblemon.INSTANCE.getBattleRegistry().getBattleByParticipatingPlayer(player) != null;
if (!canTargetInBattle && targetInBattle) ci.setReturnValue(false);
}
}
}
@@ -0,0 +1,68 @@
/*
* Copyright (C) 2023 Cobblemon Contributors
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at https://mozilla.org/MPL/2.0/.
*/
package com.cobblemon.mod.common.mixin;
import com.cobblemon.mod.common.Cobblemon;
import com.cobblemon.mod.common.CobblemonVillagerProfessions;
import com.mojang.blaze3d.vertex.PoseStack;
import com.mojang.blaze3d.vertex.VertexConsumer;
import kotlin.Pair;
import net.minecraft.ChatFormatting;
import net.minecraft.client.model.EntityModel;
import net.minecraft.client.renderer.MultiBufferSource;
import net.minecraft.client.renderer.RenderType;
import net.minecraft.client.renderer.entity.LivingEntityRenderer;
import net.minecraft.client.renderer.entity.layers.RenderLayer;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.entity.LivingEntity;
import net.minecraft.world.entity.monster.ZombieVillager;
import net.minecraft.world.entity.npc.Villager;
import net.minecraft.world.entity.npc.VillagerProfession;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
@Mixin(RenderLayer.class)
public abstract class VillagerProfessionLayerMixin {
@Inject(method = "renderColoredCutoutModel", at = @At(value = "HEAD"), cancellable = true)
private static <T extends LivingEntity> void cobblemon$renderVillagerProfessionLayer(EntityModel<T> entityModel, ResourceLocation resourceLocation, PoseStack poseStack, MultiBufferSource multiBufferSource, int i, T livingEntity, int j, CallbackInfo ci) {
if (resourceLocation.getNamespace().equals(Cobblemon.MODID)) {
VillagerProfession profession = null;
boolean isZombie = false;
if (livingEntity instanceof Villager) profession = ((Villager) livingEntity).getVillagerData().getProfession();
if (livingEntity instanceof ZombieVillager) {
profession = ((ZombieVillager) livingEntity).getVillagerData().getProfession();
isZombie = true;
}
Pair<String, String[]> override = CobblemonVillagerProfessions.INSTANCE.getNameTagOverride(profession);
if (profession != null && override != null) {
String entityName = ChatFormatting.stripFormatting(livingEntity.getName().getString());
boolean nameMatches = false;
for (String name: override.getSecond())
if (entityName.endsWith(name)) {
nameMatches = true;
break;
}
if (nameMatches && resourceLocation.equals(getProfessionResourceLocation(resourceLocation.getNamespace(), ResourceLocation.parse(profession.name()).getPath(), isZombie))) {
ResourceLocation textureLocation = getProfessionResourceLocation(resourceLocation.getNamespace(), override.getFirst(), isZombie);
VertexConsumer vertexConsumer = multiBufferSource.getBuffer(RenderType.entityCutoutNoCull(textureLocation));
entityModel.renderToBuffer(poseStack, vertexConsumer, i, LivingEntityRenderer.getOverlayCoords(livingEntity, 0.0F), j);
ci.cancel();
}
}
}
}
private static ResourceLocation getProfessionResourceLocation(String namespace, String profession, Boolean isZombie) {
return ResourceLocation.fromNamespaceAndPath(namespace, "textures/entity/" + (isZombie ? "zombie_villager" : "villager") + "/profession/" + profession + ".png");
}
}
@@ -8,14 +8,14 @@
package com.cobblemon.mod.common.mixin.accessor;
import net.minecraft.entity.Entity;
import net.minecraft.world.entity.Entity;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.gen.Accessor;
@Mixin(Entity.class)
public interface AccessorEntity {
@Accessor("standingEyeHeight")
@Accessor("eyeHeight")
void standingEyeHeight(float standingEyeHeight);
}
@@ -0,0 +1,19 @@
/*
* Copyright (C) 2023 Cobblemon Contributors
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at https://mozilla.org/MPL/2.0/.
*/
package com.cobblemon.mod.common.mixin.accessor;
import net.minecraft.world.level.biome.Biome;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.gen.Accessor;
@Mixin(Biome.class)
public interface BiomeAccessor {
@Accessor("climateSettings")
Biome.ClimateSettings getClimateSettings();
}
@@ -8,16 +8,16 @@
package com.cobblemon.mod.common.mixin.accessor;
import net.minecraft.entity.vehicle.BoatEntity;
import net.minecraft.world.entity.vehicle.Boat;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.gen.Accessor;
@Mixin(BoatEntity.class)
@Mixin(Boat.class)
public interface BoatEntityAccessor {
@Accessor
@Accessor("lastYd")
void setFallVelocity(double fallVelocity);
@Accessor
BoatEntity.Location getLocation();
@Accessor("status")
Boat.Status getLocation();
}
@@ -0,0 +1,19 @@
/*
* Copyright (C) 2023 Cobblemon Contributors
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at https://mozilla.org/MPL/2.0/.
*/
package com.cobblemon.mod.common.mixin.accessor;
import net.minecraft.client.gui.components.AbstractSelectionList;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.gen.Accessor;
@Mixin(AbstractSelectionList.class)
public interface EntryListWidgetAccessor {
@Accessor("renderHeader")
boolean getRenderHeader();
}
@@ -8,15 +8,15 @@
package com.cobblemon.mod.common.mixin.accessor;
import net.minecraft.client.option.KeyBinding;
import net.minecraft.client.util.InputUtil;
import com.mojang.blaze3d.platform.InputConstants;
import net.minecraft.client.KeyMapping;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.gen.Accessor;
@Mixin(KeyBinding.class)
@Mixin(KeyMapping.class)
public interface KeyBindingAccessor {
@Accessor("boundKey")
InputUtil.Key boundKey();
@Accessor("key")
InputConstants.Key boundKey();
}
@@ -8,17 +8,17 @@
package com.cobblemon.mod.common.mixin.accessor;
import net.minecraft.entity.effect.StatusEffectInstance;
import net.minecraft.world.effect.MobEffectInstance;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.gen.Accessor;
@Mixin(StatusEffectInstance.class)
@Mixin(MobEffectInstance.class)
public interface StatusEffectInstanceAccessor {
@Accessor
void setAmplifier(int amplifier);
@Accessor
@Accessor("visible")
void setShowParticles(boolean showParticles);
@Accessor
@@ -0,0 +1,34 @@
/*
* Copyright (C) 2023 Cobblemon Contributors
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at https://mozilla.org/MPL/2.0/.
*/
package com.cobblemon.mod.common.mixin.client;
import com.cobblemon.mod.common.client.CobblemonClient;
import com.cobblemon.mod.common.pokedex.scanner.PokedexUsageContext;
import net.minecraft.client.player.AbstractClientPlayer;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
@Mixin(AbstractClientPlayer.class)
public class AbstractClientPlayerMixin {
@Inject(
method = "getFieldOfViewModifier()F",
at = @At(
value = "HEAD"
),
cancellable = true
)
public void cobblemon$getPokedexFovMultiplier(CallbackInfoReturnable<Float> cir) {
PokedexUsageContext usageContext = CobblemonClient.INSTANCE.getPokedexUsageContext();
if (usageContext.getScanningGuiOpen()) {
cir.setReturnValue(usageContext.getFovMultiplier());
}
}
}
@@ -0,0 +1,30 @@
/*
* Copyright (C) 2023 Cobblemon Contributors
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at https://mozilla.org/MPL/2.0/.
*/
package com.cobblemon.mod.common.mixin.client;
import com.cobblemon.mod.common.client.gui.ScrollingWidget;
import net.minecraft.client.gui.components.AbstractSelectionList;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.Constant;
import org.spongepowered.asm.mixin.injection.ModifyConstant;
@Mixin(AbstractSelectionList.class)
public abstract class EntryListWidgetMixin {
@SuppressWarnings("ConstantValue")
@ModifyConstant(method = "getEntryAtPosition", constant = @Constant(intValue = 4))
public int cobblemon$adjustOnlyIfNecessary(int input) {
if(ScrollingWidget.class.isInstance(this)) {
return 0;
}
return input;
}
}
@@ -9,18 +9,18 @@
package com.cobblemon.mod.common.mixin.entity;
import com.cobblemon.mod.common.entity.pokemon.PokemonEntity;
import net.minecraft.entity.passive.TameableEntity;
import net.minecraft.world.World;
import net.minecraft.world.entity.TamableAnimal;
import net.minecraft.world.level.Level;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Redirect;
@Mixin(TameableEntity.class)
@Mixin(TamableAnimal.class)
public class TameableEntityMixin {
@Redirect(method = "onDeath", at = @At(value = "FIELD", target = "Lnet/minecraft/world/World;isClient:Z"))
public boolean cobblemon$checkIfPokemonBeforeSendingMessage(World world) {
return world.isClient || (this.getClass().isAssignableFrom(PokemonEntity.class));
@Redirect(method = "die", at = @At(value = "FIELD", target = "Lnet/minecraft/world/level/Level;isClientSide:Z"))
public boolean cobblemon$checkIfPokemonBeforeSendingMessage(Level world) {
return world.isClientSide || (this.getClass().isAssignableFrom(PokemonEntity.class));
}
}
@@ -8,8 +8,9 @@
package com.cobblemon.mod.common.mixin.invoker;
import com.cobblemon.mod.common.integration.adorn.AdornCompatibility;
import java.util.List;
import com.cobblemon.mod.common.integration.AdornCompatibility;
import juuxel.adorn.block.variant.BlockVariantSet;
import juuxel.adorn.block.variant.BlockVariantSets;
import org.spongepowered.asm.mixin.Final;
@@ -27,7 +28,7 @@ public abstract class AdornRegisterInvoker {
private static List<BlockVariantSet> variantSets;
@Inject(method = "register()V", at = @At("HEAD"), remap = false)
void register(CallbackInfo ci) {
variantSets.add(AdornCompatibility.INSTANCE);
private static void register(CallbackInfo ci) {
variantSets.add(new AdornCompatibility());
}
}
@@ -8,9 +8,11 @@
package com.cobblemon.mod.common.mixin.invoker;
import net.minecraft.block.*;
import net.minecraft.resource.featuretoggle.FeatureFlag;
import net.minecraft.sound.BlockSoundGroup;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.Blocks;
import net.minecraft.world.level.block.SoundType;
import net.minecraft.world.level.block.state.properties.BlockSetType;
import net.minecraft.world.level.material.MapColor;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.gen.Invoker;
@@ -18,24 +20,24 @@ import org.spongepowered.asm.mixin.gen.Invoker;
@Mixin(Blocks.class)
public interface BlocksInvoker {
@Invoker("createLogBlock")
static PillarBlock createLogBlock(MapColor topMapColor, MapColor sideMapColor) {
@Invoker("log")
static Block createLogBlock(MapColor topMapColor, MapColor sideMapColor) {
throw new UnsupportedOperationException();
}
@Invoker("createLeavesBlock")
static LeavesBlock createLeavesBlock(BlockSoundGroup soundGroup) {
@Invoker("leaves")
static Block createLeavesBlock(SoundType soundGroup) {
throw new UnsupportedOperationException();
}
@Invoker("createWoodenButtonBlock")
static ButtonBlock createWoodenButtonBlock(BlockSetType blockSetType, FeatureFlag... requiredFeatures) {
@Invoker("woodenButton")
static Block createWoodenButtonBlock(BlockSetType blockSetType) {
throw new UnsupportedOperationException();
}
@Invoker("createFlowerPotBlock")
static FlowerPotBlock createFlowerPotBlock(Block flower, FeatureFlag... requiredFeatures) {
@Invoker("flowerPot")
static Block createFlowerPotBlock(Block flower) {
throw new UnsupportedOperationException();
}
}
}
@@ -8,14 +8,14 @@
package com.cobblemon.mod.common.mixin.invoker;
import net.minecraft.world.GameRules;
import net.minecraft.world.level.GameRules;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.gen.Invoker;
@Mixin(GameRules.BooleanRule.class)
@Mixin(GameRules.BooleanValue.class)
public interface BooleanRuleInvoker {
@Invoker("create")
static GameRules.Type<GameRules.BooleanRule> cobblemon$create(boolean initialValue) {
static GameRules.Type<GameRules.BooleanValue> cobblemon$create(boolean initialValue) {
throw new UnsupportedOperationException();
}
}
@@ -8,13 +8,13 @@
package com.cobblemon.mod.common.mixin.invoker;
import net.minecraft.client.network.ClientPlayNetworkHandler;
import net.minecraft.entity.Entity;
import net.minecraft.client.multiplayer.ClientPacketListener;
import net.minecraft.world.entity.Entity;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.gen.Invoker;
@Mixin(ClientPlayNetworkHandler.class)
@Mixin(ClientPacketListener.class)
public interface ClientPlayNetworkHandlerInvoker {
@Invoker
@Invoker("postAddEntitySoundInstance")
void callPlaySpawnSound(Entity entity);
}
@@ -8,17 +8,16 @@
package com.cobblemon.mod.common.mixin.invoker;
import net.minecraft.block.AbstractBlock;
import net.minecraft.block.BlockSetType;
import net.minecraft.block.DoorBlock;
import net.minecraft.sound.SoundEvent;
import net.minecraft.world.level.block.DoorBlock;
import net.minecraft.world.level.block.state.BlockBehaviour;
import net.minecraft.world.level.block.state.properties.BlockSetType;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.gen.Invoker;
@Mixin(DoorBlock.class)
public interface DoorBlockInvoker {
@Invoker("<init>")
static DoorBlock cobblemon$create(AbstractBlock.Settings settings, BlockSetType blockSetType) {
static DoorBlock cobblemon$create(BlockSetType blockSetType, BlockBehaviour.Properties settings) {
throw new UnsupportedOperationException();
}
}
}
@@ -8,13 +8,12 @@
package com.cobblemon.mod.common.mixin.invoker;
import net.minecraft.block.Block;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.FireBlock;
import org.spongepowered.asm.mixin.Mixin;
import net.minecraft.block.FireBlock;
import net.minecraft.block.Blocks;
import org.spongepowered.asm.mixin.gen.Invoker;
@Mixin(FireBlock.class)
public interface FireBlockInvoker {
@Invoker("registerFlammableBlock") void registerNewFlammableBlock(Block block, int burnChance, int spreadChance);
@Invoker("setFlammable") void registerNewFlammableBlock(Block block, int burnChance, int spreadChance);
}
@@ -8,17 +8,16 @@
package com.cobblemon.mod.common.mixin.invoker;
import net.minecraft.block.AbstractBlock;
import net.minecraft.block.BlockSetType;
import net.minecraft.block.PressurePlateBlock;
import net.minecraft.sound.SoundEvent;
import net.minecraft.world.level.block.PressurePlateBlock;
import net.minecraft.world.level.block.state.BlockBehaviour;
import net.minecraft.world.level.block.state.properties.BlockSetType;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.gen.Invoker;
@Mixin(PressurePlateBlock.class)
public interface PressurePlateBlockInvoker {
@Invoker("<init>")
static PressurePlateBlock cobblemon$create(PressurePlateBlock.ActivationRule type, AbstractBlock.Settings settings, BlockSetType blockSetType) {
static PressurePlateBlock cobblemon$create(BlockSetType type, BlockBehaviour.Properties settings) {
throw new UnsupportedOperationException();
}
}
}
@@ -8,16 +8,16 @@
package com.cobblemon.mod.common.mixin.invoker;
import net.minecraft.block.AbstractBlock;
import net.minecraft.block.BlockState;
import net.minecraft.block.StairsBlock;
import net.minecraft.world.level.block.StairBlock;
import net.minecraft.world.level.block.state.BlockBehaviour;
import net.minecraft.world.level.block.state.BlockState;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.gen.Invoker;
@Mixin(StairsBlock.class)
@Mixin(StairBlock.class)
public interface StairsBlockInvoker {
@Invoker("<init>")
static StairsBlock cobblemon$create(BlockState baseBlockState, AbstractBlock.Settings settings) {
static StairBlock cobblemon$create(BlockState baseBlockState, BlockBehaviour.Properties settings) {
throw new UnsupportedOperationException();
}
}
@@ -8,17 +8,16 @@
package com.cobblemon.mod.common.mixin.invoker;
import net.minecraft.block.AbstractBlock;
import net.minecraft.block.BlockSetType;
import net.minecraft.block.TrapdoorBlock;
import net.minecraft.sound.SoundEvent;
import net.minecraft.world.level.block.TrapDoorBlock;
import net.minecraft.world.level.block.state.BlockBehaviour;
import net.minecraft.world.level.block.state.properties.BlockSetType;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.gen.Invoker;
@Mixin(TrapdoorBlock.class)
@Mixin(TrapDoorBlock.class)
public interface TrapdoorBlockInvoker {
@Invoker("<init>")
static TrapdoorBlock cobblemon$create(AbstractBlock.Settings settings, BlockSetType blockSetType) {
static TrapDoorBlock cobblemon$create(BlockSetType blockSetType, BlockBehaviour.Properties settings) {
throw new UnsupportedOperationException();
}
}
}
@@ -1,65 +0,0 @@
/*
* Copyright (C) 2023 Cobblemon Contributors
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at https://mozilla.org/MPL/2.0/.
*/
package com.cobblemon.mod.common.mixin.pokeball;
import com.cobblemon.mod.common.item.PokeBallItem;
import net.minecraft.client.render.VertexConsumerProvider;
import net.minecraft.client.render.item.ItemModels;
import net.minecraft.client.render.item.ItemRenderer;
import net.minecraft.client.render.model.BakedModel;
import net.minecraft.client.render.model.json.ModelTransformation;
import net.minecraft.client.render.model.json.ModelTransformationMode;
import net.minecraft.client.util.ModelIdentifier;
import net.minecraft.client.util.math.MatrixStack;
import net.minecraft.client.world.ClientWorld;
import net.minecraft.entity.LivingEntity;
import net.minecraft.item.ItemStack;
import net.minecraft.world.World;
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;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
@Mixin(ItemRenderer.class)
public abstract class ItemRendererMixin {
@Shadow @Final private ItemModels models;
@Shadow public abstract void renderItem(ItemStack stack, ModelTransformationMode renderMode, boolean leftHanded, MatrixStack matrices, VertexConsumerProvider vertexConsumers, int light, int overlay, BakedModel model);
@Inject(method = "getModel", at = @At("HEAD"), cancellable = true)
private void cobblemon$bakePokeballModel(ItemStack stack, World world, LivingEntity entity, int seed, CallbackInfoReturnable<BakedModel> cir) {
if (stack.getItem() instanceof PokeBallItem pokeBallItem) {
BakedModel model = this.models.getModelManager().getModel(new ModelIdentifier(pokeBallItem.getPokeBall().getModel3d(), "inventory"));
ClientWorld clientWorld = world instanceof ClientWorld ? (ClientWorld) world : null;
BakedModel overriddenModel = model.getOverrides().apply(model, stack, clientWorld, entity, seed);
cir.setReturnValue(overriddenModel == null ? this.models.getModelManager().getMissingModel() : overriddenModel);
}
}
@Inject(
method = "renderItem(Lnet/minecraft/item/ItemStack;Lnet/minecraft/client/render/model/json/ModelTransformationMode;ZLnet/minecraft/client/util/math/MatrixStack;Lnet/minecraft/client/render/VertexConsumerProvider;IILnet/minecraft/client/render/model/BakedModel;)V",
at = @At("HEAD"),
cancellable = true
)
private void cobblemon$determinePokeballModel(ItemStack stack, ModelTransformationMode renderMode, boolean leftHanded, MatrixStack matrices, VertexConsumerProvider vertexConsumers, int light, int overlay, BakedModel model, CallbackInfo ci) {
boolean shouldBe2d = renderMode == ModelTransformationMode.GUI || renderMode == ModelTransformationMode.FIXED;
if (shouldBe2d && stack.getItem() instanceof PokeBallItem pokeBallItem) {
BakedModel replacementModel = this.models.getModelManager().getModel(new ModelIdentifier(pokeBallItem.getPokeBall().getModel2d(), "inventory"));
if (!model.equals(replacementModel)) {
ci.cancel();
renderItem(stack, renderMode, leftHanded, matrices, vertexConsumers, light, overlay, replacementModel);
}
}
}
}
@@ -9,24 +9,24 @@
package com.cobblemon.mod.common.mixin.pokeball;
import com.cobblemon.mod.common.entity.pokeball.WaterDragModifier;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityType;
import net.minecraft.entity.projectile.thrown.ThrownEntity;
import net.minecraft.world.World;
import net.minecraft.world.entity.Entity;
import net.minecraft.world.entity.EntityType;
import net.minecraft.world.entity.projectile.ThrowableProjectile;
import net.minecraft.world.level.Level;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.ModifyVariable;
@Mixin(ThrownEntity.class)
@Mixin(ThrowableProjectile.class)
public abstract class ThrownEntityMixin extends Entity {
public ThrownEntityMixin(EntityType<?> type, World world) {
public ThrownEntityMixin(EntityType<?> type, Level world) {
super(type, world);
}
@ModifyVariable(method = "tick", at = @At("STORE"), ordinal = 0)
private float cobblemon$waterDragModifier(float value) {
if (this.isTouchingWater() && this instanceof WaterDragModifier) {
if (this.isInWater() && this instanceof WaterDragModifier) {
return ((WaterDragModifier) this).waterDrag();
}
return value;
@@ -10,7 +10,6 @@ object CobblemonBuildDetails {
const val GIT_COMMIT = "{{ gitCommit | default("Not Specified") }}"
const val BRANCH = "{{ branch | default("Not Specified") }}"
const val TIMESTAMP = "{{ timestamp }}"
fun smallCommitHash(): String {
return this.GIT_COMMIT.substring(0, 7)
@@ -8,10 +8,10 @@
package com.cobblemon.mod.common
import net.minecraft.client.MinecraftClient
import net.minecraft.client.render.model.BakedModel
import net.minecraft.client.util.ModelIdentifier
import net.minecraft.util.Identifier
import net.minecraft.client.Minecraft
import net.minecraft.client.resources.model.BakedModel
import net.minecraft.client.resources.model.ModelResourceLocation
import net.minecraft.resources.ResourceLocation
/**
* Contains information for forcing a model to be baked
@@ -20,10 +20,10 @@ import net.minecraft.util.Identifier
* @param modelIdentifier The identifier that the BakedModel will be registered to
*/
data class BakingOverride(
val modelLocation: Identifier,
val modelIdentifier: ModelIdentifier
val modelLocation: ResourceLocation,
val modelIdentifier: ModelResourceLocation
) {
fun getModel(): BakedModel {
return MinecraftClient.getInstance().bakedModelManager.getModel(modelIdentifier)
return Minecraft.getInstance().modelManager.getModel(modelIdentifier)
}
}
@@ -9,8 +9,6 @@
package com.cobblemon.mod.common
import com.cobblemon.mod.common.CobblemonBuildDetails.smallCommitHash
import com.cobblemon.mod.common.advancement.CobblemonCriteria
import com.cobblemon.mod.common.advancement.criterion.EvolvePokemonContext
import com.cobblemon.mod.common.api.Priority
import com.cobblemon.mod.common.api.SeasonResolver
import com.cobblemon.mod.common.api.data.DataProvider
@@ -18,16 +16,8 @@ import com.cobblemon.mod.common.api.drop.CommandDropEntry
import com.cobblemon.mod.common.api.drop.DropEntry
import com.cobblemon.mod.common.api.drop.ItemDropEntry
import com.cobblemon.mod.common.api.events.CobblemonEvents
import com.cobblemon.mod.common.api.events.CobblemonEvents.BATTLE_VICTORY
import com.cobblemon.mod.common.api.events.CobblemonEvents.DATA_SYNCHRONIZED
import com.cobblemon.mod.common.api.events.CobblemonEvents.EVOLUTION_COMPLETE
import com.cobblemon.mod.common.api.events.CobblemonEvents.LEVEL_UP_EVENT
import com.cobblemon.mod.common.api.events.CobblemonEvents.POKEMON_CAPTURED
import com.cobblemon.mod.common.api.events.CobblemonEvents.TRADE_COMPLETED
import com.cobblemon.mod.common.api.net.serializers.IdentifierDataSerializer
import com.cobblemon.mod.common.api.net.serializers.PoseTypeDataSerializer
import com.cobblemon.mod.common.api.net.serializers.StringSetDataSerializer
import com.cobblemon.mod.common.api.net.serializers.Vec3DataSerializer
import com.cobblemon.mod.common.api.interaction.RequestManager
import com.cobblemon.mod.common.api.permission.PermissionValidator
import com.cobblemon.mod.common.api.pokeball.catching.calculators.CaptureCalculator
import com.cobblemon.mod.common.api.pokeball.catching.calculators.CaptureCalculators
@@ -62,9 +52,13 @@ import com.cobblemon.mod.common.api.storage.factory.FileBackedPokemonStoreFactor
import com.cobblemon.mod.common.api.storage.molang.NbtMoLangDataStoreFactory
import com.cobblemon.mod.common.api.storage.pc.PCStore
import com.cobblemon.mod.common.api.storage.pc.link.PCLinkManager
import com.cobblemon.mod.common.api.storage.player.PlayerDataStoreManager
import com.cobblemon.mod.common.api.storage.player.factory.JsonPlayerDataStoreFactory
import com.cobblemon.mod.common.api.storage.player.factory.MongoPlayerDataStoreFactory
import com.cobblemon.mod.common.api.storage.player.PlayerInstancedDataStoreManager
import com.cobblemon.mod.common.api.storage.player.PlayerInstancedDataStoreTypes
import com.cobblemon.mod.common.api.storage.player.adapter.DexDataMongoBackend
import com.cobblemon.mod.common.api.storage.player.adapter.DexDataNbtBackend
import com.cobblemon.mod.common.api.storage.player.adapter.PlayerDataJsonBackend
import com.cobblemon.mod.common.api.storage.player.adapter.PlayerDataMongoBackend
import com.cobblemon.mod.common.api.storage.player.factory.CachedPlayerDataStoreFactory
import com.cobblemon.mod.common.api.tags.CobblemonEntityTypeTags
import com.cobblemon.mod.common.api.tags.CobblemonItemTags
import com.cobblemon.mod.common.battles.BagItems
@@ -74,21 +68,17 @@ import com.cobblemon.mod.common.battles.BattleSide
import com.cobblemon.mod.common.battles.ShowdownThread
import com.cobblemon.mod.common.battles.actor.PokemonBattleActor
import com.cobblemon.mod.common.battles.pokemon.BattlePokemon
import com.cobblemon.mod.common.command.argument.DialogueArgumentType
import com.cobblemon.mod.common.command.argument.MoveArgumentType
import com.cobblemon.mod.common.command.argument.PartySlotArgumentType
import com.cobblemon.mod.common.command.argument.PokemonArgumentType
import com.cobblemon.mod.common.command.argument.PokemonPropertiesArgumentType
import com.cobblemon.mod.common.command.argument.PokemonStoreArgumentType
import com.cobblemon.mod.common.command.argument.SpawnBucketArgumentType
import com.cobblemon.mod.common.client.CobblemonPack
import com.cobblemon.mod.common.command.argument.*
import com.cobblemon.mod.common.config.CobblemonConfig
import com.cobblemon.mod.common.config.LastChangedVersion
import com.cobblemon.mod.common.config.constraint.IntConstraint
import com.cobblemon.mod.common.config.starter.StarterConfig
import com.cobblemon.mod.common.data.CobblemonDataProvider
import com.cobblemon.mod.common.events.AdvancementHandler
import com.cobblemon.mod.common.events.FlowHandler
import com.cobblemon.mod.common.events.PokedexHandler
import com.cobblemon.mod.common.events.ServerTickHandler
import com.cobblemon.mod.common.item.PokeBallItem
import com.cobblemon.mod.common.net.messages.client.settings.ServerSettingsPacket
import com.cobblemon.mod.common.permission.LaxPermissionValidator
import com.cobblemon.mod.common.platform.events.PlatformEvents
@@ -98,19 +88,21 @@ import com.cobblemon.mod.common.pokemon.aspects.SHINY_ASPECT
import com.cobblemon.mod.common.pokemon.evolution.variants.BlockClickEvolution
import com.cobblemon.mod.common.pokemon.feature.TagSeasonResolver
import com.cobblemon.mod.common.pokemon.helditem.CobblemonHeldItemManager
import com.cobblemon.mod.common.pokemon.properties.AspectPropertyType
import com.cobblemon.mod.common.pokemon.properties.BattleCloneProperty
import com.cobblemon.mod.common.pokemon.properties.FreezeFrameProperty
import com.cobblemon.mod.common.pokemon.properties.HiddenAbilityPropertyType
import com.cobblemon.mod.common.pokemon.properties.NoAIProperty
import com.cobblemon.mod.common.pokemon.properties.UnaspectPropertyType
import com.cobblemon.mod.common.pokemon.properties.UncatchableProperty
import com.cobblemon.mod.common.pokemon.properties.tags.PokemonFlagProperty
import com.cobblemon.mod.common.pokemon.stat.CobblemonStatProvider
import com.cobblemon.mod.common.sherds.CobblemonSherds
import com.cobblemon.mod.common.starter.CobblemonStarterHandler
import com.cobblemon.mod.common.trade.TradeManager
import com.cobblemon.mod.common.util.DataKeys
import com.cobblemon.mod.common.util.cobblemonResource
import com.cobblemon.mod.common.util.ifDedicatedServer
import com.cobblemon.mod.common.util.isLaterVersion
import com.cobblemon.mod.common.util.party
import com.cobblemon.mod.common.util.removeAmountIf
import com.cobblemon.mod.common.util.server
import com.cobblemon.mod.common.world.feature.CobblemonPlacedFeatures
import com.cobblemon.mod.common.world.feature.ore.CobblemonOrePlacedFeatures
@@ -119,31 +111,31 @@ import com.mongodb.ConnectionString
import com.mongodb.MongoClientSettings
import com.mongodb.client.MongoClient
import com.mongodb.client.MongoClients
import net.minecraft.client.MinecraftClient
import net.minecraft.command.argument.serialize.ConstantArgumentSerializer
import net.minecraft.entity.data.TrackedDataHandlerRegistry
import net.minecraft.item.Items
import net.minecraft.item.NameTagItem
import net.minecraft.registry.RegistryKey
import net.minecraft.util.WorldSavePath
import net.minecraft.world.World
import org.apache.logging.log4j.LogManager
import org.apache.logging.log4j.Logger
import java.io.File
import java.io.FileReader
import java.io.FileWriter
import java.io.PrintWriter
import java.util.*
import java.util.UUID
import kotlin.math.roundToInt
import kotlin.properties.Delegates
import kotlin.reflect.full.memberProperties
import kotlin.reflect.jvm.isAccessible
import kotlin.reflect.jvm.javaField
import kotlin.math.roundToInt
import net.minecraft.client.Minecraft
import net.minecraft.commands.synchronization.SingletonArgumentInfo
import net.minecraft.resources.ResourceKey
import net.minecraft.server.packs.PackType
import net.minecraft.world.item.NameTagItem
import net.minecraft.world.level.Level
import net.minecraft.world.level.storage.LevelResource
import org.apache.logging.log4j.LogManager
import org.apache.logging.log4j.Logger
object Cobblemon {
const val MODID = CobblemonBuildDetails.MOD_ID
const val VERSION = CobblemonBuildDetails.VERSION
const val CONFIG_PATH = "config/$MODID/main.json"
@JvmField
val LOGGER: Logger = LogManager.getLogger()
lateinit var implementation: CobblemonImplementation
@@ -165,32 +157,46 @@ object Cobblemon {
val battleRegistry = BattleRegistry
var storage = PokemonStoreManager()
var molangData = NbtMoLangDataStoreFactory
lateinit var playerData: PlayerDataStoreManager
lateinit var playerDataManager: PlayerInstancedDataStoreManager
lateinit var starterConfig: StarterConfig
val dataProvider: DataProvider = CobblemonDataProvider
var permissionValidator: PermissionValidator by Delegates.observable(LaxPermissionValidator().also { it.initialize() }) { _, _, newValue -> newValue.initialize() }
var statProvider: StatProvider = CobblemonStatProvider
var seasonResolver: SeasonResolver = TagSeasonResolver
@JvmStatic
val builtinPacks = listOf<CobblemonPack>(
CobblemonPack(id = "adorncompatibility", name = "Adorn Compatibility", packType = PackType.CLIENT_RESOURCES, activationBehaviour = ResourcePackActivationBehaviour.ALWAYS_ENABLED, neededMods = setOf("adorn")),
CobblemonPack(id = "gyaradosjump", name = "Gyarados Jump Patterns", packType = PackType.CLIENT_RESOURCES, activationBehaviour = ResourcePackActivationBehaviour.DEFAULT_ENABLED),
CobblemonPack(id = "regionbiasforms", name = "Region Bias Forms", packType = PackType.CLIENT_RESOURCES, activationBehaviour = ResourcePackActivationBehaviour.DEFAULT_ENABLED),
CobblemonPack(id = "uniqueshinyforms", name = "Shinies for Magikarp Jump", packType = PackType.CLIENT_RESOURCES, activationBehaviour = ResourcePackActivationBehaviour.NORMAL),
CobblemonPack(id = "repurposedstructurescobblemon", name = "Repurposed Structures Cobblemon", packType = PackType.SERVER_DATA, activationBehaviour = ResourcePackActivationBehaviour.DEFAULT_ENABLED, neededMods = setOf("repurposed_structures")),
)
fun preInitialize(implementation: CobblemonImplementation) {
this.implementation = implementation
this.LOGGER.info("Launching Cobblemon ${CobblemonBuildDetails.VERSION}${if(CobblemonBuildDetails.SNAPSHOT) "-SNAPSHOT" else ""} ")
if(CobblemonBuildDetails.SNAPSHOT) {
if (CobblemonBuildDetails.SNAPSHOT) {
this.LOGGER.info(" - Git Commit: ${smallCommitHash()} (https://gitlab.com/cable-mc/cobblemon/-/commit/${CobblemonBuildDetails.GIT_COMMIT})")
this.LOGGER.info(" - Branch: ${CobblemonBuildDetails.BRANCH}")
this.LOGGER.info(" - Timestamp: ${CobblemonBuildDetails.TIMESTAMP}")
}
implementation.registerPermissionValidator()
implementation.registerSoundEvents()
implementation.registerDataComponents()
implementation.registerBlocks()
implementation.registerItems()
implementation.registerEntityTypes()
implementation.registerEntityAttributes()
implementation.registerBlockEntityTypes()
implementation.registerVillagers()
implementation.registerWorldGenFeatures()
implementation.registerParticles()
implementation.registerEntityDataSerializers()
implementation.registerCriteria()
implementation.registerEntitySubPredicates()
DropEntry.register("command", CommandDropEntry::class.java)
DropEntry.register("item", ItemDropEntry::class.java, isDefault = true)
@@ -204,23 +210,22 @@ object Cobblemon {
CobblemonPlacedFeatures.register()
this.registerArgumentTypes()
CobblemonCriteria // Init the fields and register the criteria
CobblemonGameRules // Init fields and register
ShoulderEffectRegistry.register()
DATA_SYNCHRONIZED.subscribe {
storage.onPlayerDataSync(it)
playerData.get(it).sendToPlayer(it)
playerDataManager.syncAllToPlayer(it)
starterHandler.handleJoin(it)
ServerSettingsPacket(this.config.preventCompletePartyDeposit, this.config.displayEntityLevelLabel).sendToPlayer(it)
ServerSettingsPacket(this.config.preventCompletePartyDeposit, this.config.displayEntityLevelLabel, this.config.displayEntityNameLabel, this.config.maxPokemonLevel).sendToPlayer(it)
}
PlatformEvents.SERVER_PLAYER_LOGOUT.subscribe {
PCLinkManager.removeLink(it.player.uuid)
BattleRegistry.getBattleByParticipatingPlayer(it.player)?.stop()
BattleRegistry.onPlayerDisconnect(it.player)
storage.onPlayerDisconnect(it.player)
playerData.onPlayerDisconnect(it.player)
TradeManager.onLogoff(it.player)
playerDataManager.onPlayerDisconnect(it.player)
RequestManager.onLogoff(it.player)
}
PlatformEvents.PLAYER_DEATH.subscribe {
PCLinkManager.removeLink(it.player.uuid)
@@ -228,45 +233,39 @@ object Cobblemon {
}
PlatformEvents.RIGHT_CLICK_ENTITY.subscribe { event ->
if (event.player.getStackInHand(event.hand).item is NameTagItem && event.entity.type.isIn(CobblemonEntityTypeTags.CANNOT_HAVE_NAME_TAG)) {
if (event.player.getItemInHand(event.hand).item is NameTagItem && event.entity.type.`is`(CobblemonEntityTypeTags.CANNOT_HAVE_NAME_TAG)) {
event.cancel()
}
}
PlatformEvents.RIGHT_CLICK_BLOCK.subscribe { event ->
val player = event.player
val block = player.world.getBlockState(event.pos).block
val block = player.level().getBlockState(event.pos).block
player.party().forEach { pokemon ->
pokemon.evolutions
pokemon.lockedEvolutions
.filterIsInstance<BlockClickEvolution>()
.forEach { evolution ->
evolution.attemptEvolution(pokemon, BlockClickEvolution.BlockInteractionContext(block, player.world))
evolution.attemptEvolution(pokemon, BlockClickEvolution.BlockInteractionContext(block, player.level()))
}
}
}
// Register the grow_tumblestone advancement
PlatformEvents.RIGHT_CLICK_BLOCK.subscribe { AdvancementHandler.onTumbleStonePlaced(it) }
PlatformEvents.CHANGE_DIMENSION.subscribe {
it.player.party().forEach { pokemon -> pokemon.entity?.recallWithAnimation() }
}
TrackedDataHandlerRegistry.register(Vec3DataSerializer)
TrackedDataHandlerRegistry.register(StringSetDataSerializer)
TrackedDataHandlerRegistry.register(PoseTypeDataSerializer)
TrackedDataHandlerRegistry.register(IdentifierDataSerializer)
// Lowest priority because this applies after luxury ball bonus as of gen 4
CobblemonEvents.FRIENDSHIP_UPDATED.subscribe(Priority.LOWEST) { event ->
var increment = (event.newFriendship - event.pokemon.friendship).toFloat()
// Our Luxury ball spec is diff from official, but we will still assume these stack
if (event.pokemon.heldItemNoCopy().isIn(CobblemonItemTags.IS_FRIENDSHIP_BOOSTER)) {
if (event.pokemon.heldItemNoCopy().`is`(CobblemonItemTags.IS_FRIENDSHIP_BOOSTER)) {
increment += increment * 0.5F
}
event.newFriendship = event.pokemon.friendship + increment.roundToInt()
}
HeldItemProvider.register(CobblemonHeldItemManager, Priority.LOWEST)
}
fun initialize() {
@@ -290,8 +289,17 @@ object Cobblemon {
FlagSpeciesFeatureProvider(keys = listOf(DataKeys.HAS_BEEN_SHEARED), default = false))
CustomPokemonProperty.register(UncatchableProperty)
CustomPokemonProperty.register(BattleCloneProperty)
CustomPokemonProperty.register(PokemonFlagProperty)
CustomPokemonProperty.register(HiddenAbilityPropertyType)
CustomPokemonProperty.register(AspectPropertyType)
CustomPokemonProperty.register(UnaspectPropertyType)
CustomPokemonProperty.register(FreezeFrameProperty)
CustomPokemonProperty.register(NoAIProperty)
CobblemonEvents.POKEMON_PROPERTY_INITIALISED.emit(Unit)
FlowHandler.setup()
ifDedicatedServer {
isDedicatedServer = true
@@ -306,16 +314,21 @@ object Cobblemon {
}
PlatformEvents.SERVER_STARTING.subscribe { event ->
val server = event.server
playerData = PlayerDataStoreManager().also { it.setup(server) }
playerDataManager = PlayerInstancedDataStoreManager().also { it.setup(server) }
val mongoClient: MongoClient?
val pokemonStoreRoot = server.getSavePath(WorldSavePath.ROOT).resolve("pokemon").toFile()
val pokemonStoreRoot = server.getWorldPath(LevelResource.ROOT).resolve("pokemon").toFile()
val storeAdapter = when (config.storageFormat) {
"nbt", "json" -> {
val jsonFactory = JsonPlayerDataStoreFactory()
jsonFactory.setup(server)
playerData.setFactory(jsonFactory)
val generalJsonFactory = CachedPlayerDataStoreFactory(PlayerDataJsonBackend())
generalJsonFactory.setup(server)
val pokedexNbtFactory = CachedPlayerDataStoreFactory(DexDataNbtBackend())
pokedexNbtFactory.setup(server)
playerDataManager.setFactory(generalJsonFactory, PlayerInstancedDataStoreTypes.GENERAL)
playerDataManager.setFactory(pokedexNbtFactory, PlayerInstancedDataStoreTypes.POKEDEX)
if (config.storageFormat == "nbt") {
NBTStoreAdapter(pokemonStoreRoot.absolutePath, useNestedFolders = true, folderPerClass = true)
@@ -336,18 +349,26 @@ object Cobblemon {
.applyConnectionString(ConnectionString(config.mongoDBConnectionString))
.build()
mongoClient = MongoClients.create(mongoClientSettings)
val mongoFactory = MongoPlayerDataStoreFactory(mongoClient, config.mongoDBDatabaseName)
playerData.setFactory(mongoFactory)
val generalMongoFactory = CachedPlayerDataStoreFactory(PlayerDataMongoBackend(mongoClient, config.mongoDBDatabaseName, "PlayerDataCollection"))
generalMongoFactory.setup(server)
val pokedexMongoFactory = CachedPlayerDataStoreFactory(DexDataMongoBackend(mongoClient, config.mongoDBDatabaseName, "PokeDexCollection"))
pokedexMongoFactory.setup(server)
playerDataManager.setFactory(generalMongoFactory, PlayerInstancedDataStoreTypes.GENERAL)
playerDataManager.setFactory(pokedexMongoFactory, PlayerInstancedDataStoreTypes.POKEDEX)
MongoDBStoreAdapter(mongoClient, config.mongoDBDatabaseName)
} catch (e: ClassNotFoundException) {
LOGGER.error("MongoDB driver not found.")
throw e
}
}
else -> throw IllegalArgumentException("Unsupported storageFormat: ${config.storageFormat}")
}
.with(ReforgedConversion(server.getSavePath(WorldSavePath.ROOT))) as FileStoreAdapter<*>
.with(ReforgedConversion(server.getWorldPath(LevelResource.ROOT))) as FileStoreAdapter<*>
storage.registerFactory(
priority = Priority.LOWEST,
@@ -360,52 +381,14 @@ object Cobblemon {
}
PlatformEvents.SERVER_STOPPED.subscribe {
storage.unregisterAll()
playerData.saveAll()
storage.unregisterAll(it.server.registryAccess())
playerDataManager.saveAllStores()
}
PlatformEvents.SERVER_STARTED.subscribe {
bestSpawner.onServerStarted()
battleRegistry.onServerStarted()
}
PlatformEvents.SERVER_TICK_POST.subscribe { ServerTickHandler.onTick(it.server) }
POKEMON_CAPTURED.subscribe { AdvancementHandler.onCapture(it) }
// EGG_HATCH.subscribe { AdvancementHandler.onHatch(it) }
BATTLE_VICTORY.subscribe { AdvancementHandler.onWinBattle(it) }
EVOLUTION_COMPLETE.subscribe(Priority.LOWEST) { event ->
AdvancementHandler.onEvolve(event)
val pokemon = event.pokemon
val ninjaskIdentifier = cobblemonResource("ninjask")
// Ensure the config option is enabled and that the result was a ninjask and that shedinja exists
if (this.config.ninjaskCreatesShedinja && pokemon.species.resourceIdentifier == ninjaskIdentifier && PokemonSpecies.getByIdentifier(Pokemon.SHEDINJA) != null) {
val player = pokemon.getOwnerPlayer() ?: return@subscribe
if (player.isCreative || player.inventory.containsAny { it.item is PokeBallItem }) {
var pokeball = Items.AIR
player.inventory.combinedInventory.forEach {
it.forEach {
itemStack -> if (itemStack.item is PokeBallItem && pokeball == Items.AIR) {
pokeball = itemStack.item as PokeBallItem
}
}
}
if (!player.isCreative) {
player.inventory.removeAmountIf(1) { it.item is PokeBallItem }
}
if (pokeball == Items.AIR) {
pokeball = CobblemonItems.POKE_BALL
}
val properties = event.evolution.result.copy()
properties.species = Pokemon.SHEDINJA.toString()
val product = pokemon.clone()
product.removeHeldItem()
properties.apply(product)
product.caughtBall = (pokeball as PokeBallItem).pokeBall
pokemon.storeCoordinates.get()?.store?.add(product)
CobblemonCriteria.EVOLVE_POKEMON.trigger(player, EvolvePokemonContext(event.pokemon.preEvolution!!.species.resourceIdentifier, product.species.resourceIdentifier, playerData.get(player).advancementData.totalEvolvedCount))
}
}
}
LEVEL_UP_EVENT.subscribe { AdvancementHandler.onLevelUp(it) }
TRADE_COMPLETED.subscribe { AdvancementHandler.onTradeCompleted(it) }
BagItems.observable.subscribe {
LOGGER.info("Starting dummy Showdown battle to force it to pre-load data.")
@@ -413,19 +396,32 @@ object Cobblemon {
BattleFormat.GEN_9_SINGLES,
BattleSide(PokemonBattleActor(UUID.randomUUID(), BattlePokemon(Pokemon().initialize()), -1F)),
BattleSide(PokemonBattleActor(UUID.randomUUID(), BattlePokemon(Pokemon().initialize()), -1F)),
true
).ifSuccessful { it.mute = true }
false
).ifSuccessful {
it.mute = true
}.ifErrored {
val errors = it.errors.joinToString("\n") { it.javaClass.name }
LOGGER.error("Failed to start dummy Showdown battle: $errors")
}
}
CobblemonSherds.registerSherds()
registerEventHandlers()
CobblemonEvents.COBBLEMON_INITIALISED.emit(Unit)
}
fun getLevel(dimension: RegistryKey<World>): World? {
fun registerEventHandlers() {
AdvancementHandler.registerListeners()
PokedexHandler.registerListeners()
}
fun getLevel(dimension: ResourceKey<Level>): Level? {
return if (isDedicatedServer) {
server()?.getWorld(dimension)
server()?.getLevel(dimension)
} else {
val mc = MinecraftClient.getInstance()
return mc.server?.getWorld(dimension) ?: mc.world
val mc = Minecraft.getInstance()
return mc.singleplayerServer?.getLevel(dimension) ?: mc.level
}
}
@@ -515,13 +511,16 @@ object Cobblemon {
}
private fun registerArgumentTypes() {
this.implementation.registerCommandArgument(cobblemonResource("pokemon"), PokemonArgumentType::class, ConstantArgumentSerializer.of(PokemonArgumentType::pokemon))
this.implementation.registerCommandArgument(cobblemonResource("pokemon_properties"), PokemonPropertiesArgumentType::class, ConstantArgumentSerializer.of(PokemonPropertiesArgumentType::properties))
this.implementation.registerCommandArgument(cobblemonResource("spawn_bucket"), SpawnBucketArgumentType::class, ConstantArgumentSerializer.of(SpawnBucketArgumentType::spawnBucket))
this.implementation.registerCommandArgument(cobblemonResource("move"), MoveArgumentType::class, ConstantArgumentSerializer.of(MoveArgumentType::move))
this.implementation.registerCommandArgument(cobblemonResource("party_slot"), PartySlotArgumentType::class, ConstantArgumentSerializer.of(PartySlotArgumentType::partySlot))
this.implementation.registerCommandArgument(cobblemonResource("pokemon_store"), PokemonStoreArgumentType::class, ConstantArgumentSerializer.of(PokemonStoreArgumentType::pokemonStore))
this.implementation.registerCommandArgument(cobblemonResource("dialogue"), DialogueArgumentType::class, ConstantArgumentSerializer.of(DialogueArgumentType::dialogue))
this.implementation.registerCommandArgument(cobblemonResource("pokemon"), SpeciesArgumentType::class, SingletonArgumentInfo.contextFree(SpeciesArgumentType::species))
this.implementation.registerCommandArgument(cobblemonResource("pokemon_properties"), PokemonPropertiesArgumentType::class, SingletonArgumentInfo.contextFree(PokemonPropertiesArgumentType::properties))
this.implementation.registerCommandArgument(cobblemonResource("spawn_bucket"), SpawnBucketArgumentType::class, SingletonArgumentInfo.contextFree(SpawnBucketArgumentType::spawnBucket))
this.implementation.registerCommandArgument(cobblemonResource("move"), MoveArgumentType::class, SingletonArgumentInfo.contextFree(MoveArgumentType::move))
this.implementation.registerCommandArgument(cobblemonResource("party_slot"), PartySlotArgumentType::class, SingletonArgumentInfo.contextFree(PartySlotArgumentType::partySlot))
this.implementation.registerCommandArgument(cobblemonResource("pokemon_store"), PokemonStoreArgumentType::class, SingletonArgumentInfo.contextFree(PokemonStoreArgumentType::pokemonStore))
this.implementation.registerCommandArgument(cobblemonResource("dialogue"), DialogueArgumentType::class, SingletonArgumentInfo.contextFree(DialogueArgumentType::dialogue))
this.implementation.registerCommandArgument(cobblemonResource("form"), FormArgumentType::class, SingletonArgumentInfo.contextFree(FormArgumentType::form))
this.implementation.registerCommandArgument(cobblemonResource("dex"), DexArgumentType::class, SingletonArgumentInfo.contextFree (DexArgumentType::dex))
this.implementation.registerCommandArgument(cobblemonResource("npc_class"), NPCClassArgumentType::class, SingletonArgumentInfo.contextFree(NPCClassArgumentType::npcClass))
}
}
}
@@ -8,11 +8,13 @@
package com.cobblemon.mod.common
import net.minecraft.entity.ai.brain.Activity
import net.minecraft.world.entity.schedule.Activity
object CobblemonActivities {
val activities = mutableListOf<Activity>()
val BATTLING_ACTIVITY = Activity("pokemon_battling")
val BATTLING = register(Activity("battling"))
val ACTION_EFFECT = register(Activity("action_effect"))
val NPC_CHATTING = register(Activity("npc_chatting"))
fun register(activity: Activity): Activity {
activities.add(activity)
@@ -19,35 +19,38 @@ import com.cobblemon.mod.common.block.multiblock.FossilMultiblockBuilder
import com.cobblemon.mod.common.block.entity.*
import com.cobblemon.mod.common.block.entity.DisplayCaseBlockEntity
import com.cobblemon.mod.common.platform.PlatformRegistry
import net.minecraft.block.entity.BlockEntityType
import net.minecraft.registry.Registries
import net.minecraft.registry.Registry
import net.minecraft.registry.RegistryKey
import net.minecraft.registry.RegistryKeys
import net.minecraft.core.Registry
import net.minecraft.core.registries.BuiltInRegistries
import net.minecraft.core.registries.Registries
import net.minecraft.world.level.block.entity.BlockEntityType
import net.minecraft.resources.ResourceKey
object CobblemonBlockEntities : PlatformRegistry<Registry<BlockEntityType<*>>, RegistryKey<Registry<BlockEntityType<*>>>, BlockEntityType<*>>() {
object CobblemonBlockEntities : PlatformRegistry<Registry<BlockEntityType<*>>, ResourceKey<Registry<BlockEntityType<*>>>, BlockEntityType<*>>() {
override val registry: Registry<BlockEntityType<*>> = Registries.BLOCK_ENTITY_TYPE
override val registryKey: RegistryKey<Registry<BlockEntityType<*>>> = RegistryKeys.BLOCK_ENTITY_TYPE
override val registry: Registry<BlockEntityType<*>> = BuiltInRegistries.BLOCK_ENTITY_TYPE
override val resourceKey: ResourceKey<Registry<BlockEntityType<*>>> = Registries.BLOCK_ENTITY_TYPE
@JvmField
val HEALING_MACHINE: BlockEntityType<HealingMachineBlockEntity> = this.create("healing_machine", BlockEntityType.Builder.create(::HealingMachineBlockEntity, CobblemonBlocks.HEALING_MACHINE).build(null))
val HEALING_MACHINE: BlockEntityType<HealingMachineBlockEntity> = this.create("healing_machine", BlockEntityType.Builder.of(::HealingMachineBlockEntity, CobblemonBlocks.HEALING_MACHINE).build(null))
@JvmField
val PC: BlockEntityType<PCBlockEntity> = this.create("pc", BlockEntityType.Builder.create(::PCBlockEntity, CobblemonBlocks.PC).build(null))
val PC: BlockEntityType<PCBlockEntity> = this.create("pc", BlockEntityType.Builder.of(::PCBlockEntity, CobblemonBlocks.PC).build(null))
@JvmField
val BERRY = this.create("berry", BlockEntityType.Builder.create(::BerryBlockEntity, *CobblemonBlocks.berries().values.toTypedArray()).build(null))
val LECTERN: BlockEntityType<LecternBlockEntity> = this.create("lectern", BlockEntityType.Builder.of(::LecternBlockEntity, CobblemonBlocks.LECTERN).build(null))
@JvmField
val PASTURE: BlockEntityType<PokemonPastureBlockEntity> = this.create("pasture", BlockEntityType.Builder.create(::PokemonPastureBlockEntity, CobblemonBlocks.PASTURE).build(null))
@JvmField
val SIGN: BlockEntityType<CobblemonSignBlockEntity> = this.create("sign", BlockEntityType.Builder.create(::CobblemonSignBlockEntity, CobblemonBlocks.APRICORN_SIGN, CobblemonBlocks.APRICORN_WALL_SIGN).build(null))
@JvmField
val HANGING_SIGN: BlockEntityType<CobblemonHangingSignBlockEntity> = this.create("hanging_sign", BlockEntityType.Builder.create(::CobblemonHangingSignBlockEntity, CobblemonBlocks.APRICORN_HANGING_SIGN, CobblemonBlocks.APRICORN_WALL_HANGING_SIGN).build(null))
val BERRY = this.create("berry", BlockEntityType.Builder.of(::BerryBlockEntity, *CobblemonBlocks.berries().values.toTypedArray()).build(null))
@JvmField
val GILDED_CHEST: BlockEntityType<GildedChestBlockEntity> = this.create("chest", BlockEntityType.Builder.create(::GildedChestBlockEntity,
val PASTURE: BlockEntityType<PokemonPastureBlockEntity> = this.create("pasture", BlockEntityType.Builder.of(::PokemonPastureBlockEntity, CobblemonBlocks.PASTURE).build(null))
@JvmField
val SIGN: BlockEntityType<CobblemonSignBlockEntity> = this.create("sign", BlockEntityType.Builder.of(::CobblemonSignBlockEntity, CobblemonBlocks.APRICORN_SIGN, CobblemonBlocks.APRICORN_WALL_SIGN).build(null))
@JvmField
val HANGING_SIGN: BlockEntityType<CobblemonHangingSignBlockEntity> = this.create("hanging_sign", BlockEntityType.Builder.of(::CobblemonHangingSignBlockEntity, CobblemonBlocks.APRICORN_HANGING_SIGN, CobblemonBlocks.APRICORN_WALL_HANGING_SIGN).build(null))
@JvmField
val GILDED_CHEST: BlockEntityType<GildedChestBlockEntity> = this.create("chest", BlockEntityType.Builder.of(::GildedChestBlockEntity,
CobblemonBlocks.GILDED_CHEST,
CobblemonBlocks.BLUE_GILDED_CHEST,
CobblemonBlocks.YELLOW_GILDED_CHEST,
@@ -60,27 +63,27 @@ object CobblemonBlockEntities : PlatformRegistry<Registry<BlockEntityType<*>>, R
@JvmField
val FOSSIL_MULTIBLOCK: BlockEntityType<FossilMultiblockEntity> = this.create("fossil_multiblock",
BlockEntityType.Builder.create({ pos, state -> FossilMultiblockEntity(pos, state, FossilMultiblockBuilder(pos)) },
BlockEntityType.Builder.of({ pos, state -> FossilMultiblockEntity(pos, state, FossilMultiblockBuilder(pos)) },
CobblemonBlocks.MONITOR
).build(null)
)
@JvmField
val RESTORATION_TANK: BlockEntityType<RestorationTankBlockEntity> = this.create("restoration_tank",
BlockEntityType.Builder.create({ pos, state -> RestorationTankBlockEntity(pos, state, FossilMultiblockBuilder(pos)) },
BlockEntityType.Builder.of({ pos, state -> RestorationTankBlockEntity(pos, state, FossilMultiblockBuilder(pos)) },
CobblemonBlocks.RESTORATION_TANK
).build(null)
)
@JvmField
val FOSSIL_ANALYZER: BlockEntityType<FossilAnalyzerBlockEntity> = this.create("fossil_analyzer",
BlockEntityType.Builder.create({ pos, state -> FossilAnalyzerBlockEntity(pos, state, FossilMultiblockBuilder(pos)) },
BlockEntityType.Builder.of({ pos, state -> FossilAnalyzerBlockEntity(pos, state, FossilMultiblockBuilder(pos)) },
CobblemonBlocks.FOSSIL_ANALYZER
).build(null)
)
@JvmField
val DISPLAY_CASE: BlockEntityType<DisplayCaseBlockEntity> = this.create("display_case",
BlockEntityType.Builder.create(::DisplayCaseBlockEntity, CobblemonBlocks.DISPLAY_CASE).build(null)
BlockEntityType.Builder.of(::DisplayCaseBlockEntity, CobblemonBlocks.DISPLAY_CASE).build(null)
)
}
@@ -10,42 +10,36 @@ package com.cobblemon.mod.common
import com.cobblemon.mod.common.api.apricorn.Apricorn
import com.cobblemon.mod.common.block.*
import com.cobblemon.mod.common.block.LecternBlock
import com.cobblemon.mod.common.block.MintBlock.MintType
import com.cobblemon.mod.common.block.FossilAnalyzerBlock
import com.cobblemon.mod.common.block.MonitorBlock
import com.cobblemon.mod.common.block.RestorationTankBlock
import com.cobblemon.mod.common.mixin.invoker.DoorBlockInvoker
import com.cobblemon.mod.common.mixin.invoker.PressurePlateBlockInvoker
import com.cobblemon.mod.common.mixin.invoker.StairsBlockInvoker
import com.cobblemon.mod.common.mixin.invoker.TrapdoorBlockInvoker
import com.cobblemon.mod.common.mixin.invoker.*
import com.cobblemon.mod.common.platform.PlatformRegistry
import com.cobblemon.mod.common.util.cobblemonResource
import com.cobblemon.mod.common.block.BerryBlock
import com.cobblemon.mod.common.block.chest.GildedChestBlock
import com.cobblemon.mod.common.block.sign.CobblemonHangingSignBlock
import com.cobblemon.mod.common.block.sign.CobblemonSignBlock
import com.cobblemon.mod.common.block.sign.CobblemonWallHangingSignBlock
import com.cobblemon.mod.common.block.sign.CobblemonWallSignBlock
import net.minecraft.block.*
import net.minecraft.block.enums.Instrument
import net.minecraft.block.piston.PistonBehavior
import net.minecraft.entity.effect.StatusEffects
import net.minecraft.registry.Registries
import net.minecraft.registry.Registry
import net.minecraft.registry.RegistryKey
import net.minecraft.registry.RegistryKeys
import net.minecraft.sound.BlockSoundGroup
import net.minecraft.util.Identifier
import net.minecraft.util.math.intprovider.UniformIntProvider
import com.cobblemon.mod.common.mixin.invoker.*
import com.cobblemon.mod.common.platform.PlatformRegistry
import com.cobblemon.mod.common.util.cobblemonResource
import net.minecraft.core.Registry
import net.minecraft.core.registries.BuiltInRegistries
import net.minecraft.core.registries.Registries
import net.minecraft.resources.ResourceKey
import net.minecraft.resources.ResourceLocation
import net.minecraft.util.valueproviders.UniformInt
import net.minecraft.world.effect.MobEffects
import net.minecraft.world.level.block.*
import net.minecraft.world.level.block.state.BlockBehaviour
import net.minecraft.world.level.block.state.properties.BlockSetType
import net.minecraft.world.level.block.state.properties.NoteBlockInstrument
import net.minecraft.world.level.block.state.properties.WoodType
import net.minecraft.world.level.material.MapColor
import net.minecraft.world.level.material.PushReaction
@Suppress("SameParameterValue", "HasPlatformType", "MemberVisibilityCanBePrivate", "unused")
object CobblemonBlocks : PlatformRegistry<Registry<Block>, RegistryKey<Registry<Block>>, Block>() {
object CobblemonBlocks : PlatformRegistry<Registry<Block>, ResourceKey<Registry<Block>>, Block>() {
override val registry: Registry<Block> = Registries.BLOCK
override val registryKey: RegistryKey<Registry<Block>> = RegistryKeys.BLOCK
override val registry: Registry<Block> = BuiltInRegistries.BLOCK
override val resourceKey: ResourceKey<Registry<Block>> = Registries.BLOCK
val APRICORN_BLOCK_SET_TYPE = BlockSetType("apricorn")
val APRICORN_WOOD_TYPE = WoodType.register(WoodType("apricorn", APRICORN_BLOCK_SET_TYPE))
@@ -101,7 +95,7 @@ object CobblemonBlocks : PlatformRegistry<Registry<Block>, RegistryKey<Registry<
// Apricorns
@JvmField
val APRICORN_LOG = log("apricorn_log", arg2 = MapColor.BROWN)
val APRICORN_LOG = log("apricorn_log", arg2 = MapColor.COLOR_BROWN)
@JvmField
val STRIPPED_APRICORN_LOG = log("stripped_apricorn_log")
@JvmField
@@ -109,35 +103,47 @@ object CobblemonBlocks : PlatformRegistry<Registry<Block>, RegistryKey<Registry<
@JvmField
val STRIPPED_APRICORN_WOOD = log("stripped_apricorn_wood")
@JvmField
val APRICORN_PLANKS = this.create("apricorn_planks", Block(AbstractBlock.Settings.create().mapColor(MapColor.DIRT_BROWN).instrument(Instrument.BASS).strength(2.0f, 3.0f).sounds(BlockSoundGroup.WOOD)))
val APRICORN_PLANKS = this.create("apricorn_planks",
Block(
BlockBehaviour.Properties.of().mapColor(MapColor.DIRT).instrument(NoteBlockInstrument.BASS)
.strength(2.0f, 3.0f).sound(SoundType.WOOD)
)
)
@JvmField
val APRICORN_LEAVES = leaves("apricorn_leaves")
@JvmField
val APRICORN_FENCE = this.create("apricorn_fence", FenceBlock(AbstractBlock.Settings.create().mapColor(APRICORN_PLANKS.defaultMapColor).instrument(Instrument.BASS).strength(2.0f, 3.0f).sounds(BlockSoundGroup.WOOD)))
val APRICORN_FENCE = this.create("apricorn_fence", FenceBlock(BlockBehaviour.Properties.of().mapColor(APRICORN_PLANKS.defaultMapColor()).instrument(NoteBlockInstrument.BASS).strength(2.0f, 3.0f).sound(SoundType.WOOD)))
@JvmField
val APRICORN_FENCE_GATE = this.create("apricorn_fence_gate", FenceGateBlock(AbstractBlock.Settings.create().mapColor(APRICORN_PLANKS.defaultMapColor).instrument(Instrument.BASS).strength(2.0f, 3.0f).sounds(BlockSoundGroup.WOOD), APRICORN_WOOD_TYPE))
@JvmField // Note At the time of 1.20.0 we don't need our own BlockSetType for Apricorn wood
val APRICORN_BUTTON = this.create("apricorn_button", BlocksInvoker.createWoodenButtonBlock(BlockSetType.OAK))
val APRICORN_FENCE_GATE = this.create("apricorn_fence_gate", FenceGateBlock(APRICORN_WOOD_TYPE, BlockBehaviour.Properties.of().mapColor(APRICORN_PLANKS.defaultMapColor()).strength(2.0f, 3.0f).sound(SoundType.WOOD)))
@JvmField
val APRICORN_PRESSURE_PLATE = this.create("apricorn_pressure_plate", PressurePlateBlockInvoker.`cobblemon$create`(PressurePlateBlock.ActivationRule.EVERYTHING, AbstractBlock.Settings.create().mapColor(APRICORN_PLANKS.defaultMapColor).instrument(Instrument.BASS).noCollision().strength(0.5f).sounds(BlockSoundGroup.WOOD), APRICORN_BLOCK_SET_TYPE))
val APRICORN_BUTTON = this.create("apricorn_button", BlocksInvoker.createWoodenButtonBlock(APRICORN_BLOCK_SET_TYPE))
@JvmField
val APRICORN_SIGN = this.create("apricorn_sign", CobblemonSignBlock(AbstractBlock.Settings.copy(Blocks.OAK_SIGN), APRICORN_WOOD_TYPE))
val APRICORN_PRESSURE_PLATE = this.create("apricorn_pressure_plate", PressurePlateBlockInvoker.`cobblemon$create`(APRICORN_BLOCK_SET_TYPE, BlockBehaviour.Properties.of().mapColor(APRICORN_PLANKS.defaultMapColor()).noCollission().strength(0.5f).sound(SoundType.WOOD)))
@JvmField
val APRICORN_WALL_SIGN = this.create("apricorn_wall_sign", CobblemonWallSignBlock(AbstractBlock.Settings.copy(Blocks.OAK_WALL_SIGN), APRICORN_WOOD_TYPE))
@JvmField
val APRICORN_HANGING_SIGN = this.create("apricorn_hanging_sign", CobblemonHangingSignBlock(AbstractBlock.Settings.copy(Blocks.OAK_WALL_HANGING_SIGN), APRICORN_WOOD_TYPE))
@JvmField
val APRICORN_WALL_HANGING_SIGN = this.create("apricorn_wall_hanging_sign", CobblemonWallHangingSignBlock(AbstractBlock.Settings.copy(Blocks.OAK_HANGING_SIGN), APRICORN_WOOD_TYPE))
@JvmField
val APRICORN_SLAB = this.create("apricorn_slab", SlabBlock(AbstractBlock.Settings.create().mapColor(MapColor.OAK_TAN).instrument(Instrument.BASS).strength(2.0f, 3.0f).sounds(BlockSoundGroup.WOOD)))
@JvmField
val APRICORN_STAIRS = this.create("apricorn_stairs", StairsBlockInvoker.`cobblemon$create`(APRICORN_PLANKS.defaultState, AbstractBlock.Settings.copy(APRICORN_PLANKS)))
@JvmField
val APRICORN_DOOR = this.create("apricorn_door", DoorBlockInvoker.`cobblemon$create`(AbstractBlock.Settings.create().mapColor(APRICORN_PLANKS.defaultMapColor).instrument(Instrument.BASS).strength(3.0F).sounds(BlockSoundGroup.WOOD).nonOpaque(), APRICORN_BLOCK_SET_TYPE))
@JvmField
val APRICORN_TRAPDOOR = this.create("apricorn_trapdoor", TrapdoorBlockInvoker.`cobblemon$create`(AbstractBlock.Settings.create().mapColor(MapColor.OAK_TAN).instrument(Instrument.BASS).strength(3.0F).sounds(BlockSoundGroup.WOOD).nonOpaque().allowsSpawning { _, _, _, _ -> false }, APRICORN_BLOCK_SET_TYPE))
val APRICORN_SIGN = this.create("apricorn_sign", CobblemonSignBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.OAK_SIGN), APRICORN_WOOD_TYPE))
private val PLANT_PROPERTIES = AbstractBlock.Settings.create().mapColor(MapColor.DARK_GREEN).noCollision().ticksRandomly().breakInstantly().sounds(BlockSoundGroup.GRASS).pistonBehavior(PistonBehavior.DESTROY)
@JvmField //if you wonder why we don't copy of OAK_WALL_SIGN, then I can tell you its because it uses Properties#dropsLike to point to the SIGN loot table, but we cant use that in our setup due to a deeper rooted issue, so falling back to this and writing dedicated (duplicated) loot tables
val APRICORN_WALL_SIGN = this.create(
"apricorn_wall_sign",
CobblemonWallSignBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.OAK_SIGN), APRICORN_WOOD_TYPE)
)
@JvmField
val APRICORN_HANGING_SIGN = this.create(
"apricorn_hanging_sign",
CobblemonHangingSignBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.OAK_HANGING_SIGN), APRICORN_WOOD_TYPE)
)
@JvmField
val APRICORN_WALL_HANGING_SIGN = this.create("apricorn_wall_hanging_sign", CobblemonWallHangingSignBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.OAK_HANGING_SIGN), APRICORN_WOOD_TYPE))
@JvmField
val APRICORN_SLAB = this.create("apricorn_slab", SlabBlock(BlockBehaviour.Properties.of().mapColor(MapColor.WOOD).instrument(NoteBlockInstrument.BASS).strength(2.0f, 3.0f).sound(SoundType.WOOD)))
@JvmField
val APRICORN_STAIRS = this.create("apricorn_stairs", StairsBlockInvoker.`cobblemon$create`(APRICORN_PLANKS.defaultBlockState(), BlockBehaviour.Properties.ofFullCopy(APRICORN_PLANKS)))
@JvmField
val APRICORN_DOOR = this.create("apricorn_door", DoorBlockInvoker.`cobblemon$create`(APRICORN_BLOCK_SET_TYPE, BlockBehaviour.Properties.of().mapColor(APRICORN_PLANKS.defaultMapColor()).instrument(NoteBlockInstrument.BASS).strength(3.0F).sound(SoundType.WOOD).noOcclusion()))
@JvmField
val APRICORN_TRAPDOOR = this.create("apricorn_trapdoor", TrapdoorBlockInvoker.`cobblemon$create`(APRICORN_BLOCK_SET_TYPE, BlockBehaviour.Properties.of().mapColor(MapColor.WOOD).instrument(NoteBlockInstrument.BASS).strength(3.0F).sound(SoundType.WOOD).noOcclusion().isValidSpawn { _, _, _, _ -> false }))
private val PLANT_PROPERTIES = BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).noCollission().randomTicks().instabreak().sound(SoundType.GRASS).pushReaction(PushReaction.DESTROY)
@JvmField
val BLACK_APRICORN_SAPLING = this.create("black_apricorn_sapling", ApricornSaplingBlock(PLANT_PROPERTIES, Apricorn.BLACK))
@JvmField
@@ -154,13 +160,13 @@ object CobblemonBlocks : PlatformRegistry<Registry<Block>, RegistryKey<Registry<
val YELLOW_APRICORN_SAPLING = this.create("yellow_apricorn_sapling", ApricornSaplingBlock(PLANT_PROPERTIES, Apricorn.YELLOW))
@JvmField
val MEDICINAL_LEEK = this.create("medicinal_leek", MedicinalLeekBlock(AbstractBlock.Settings.create().pistonBehavior(PistonBehavior.DESTROY).burnable().mapColor(MapColor.DULL_RED).noCollision().ticksRandomly().breakInstantly().sounds(CobblemonSounds.MEDICINAL_LEEK_SOUNDS)))
val MEDICINAL_LEEK = this.create("medicinal_leek", MedicinalLeekBlock(BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).ignitedByLava().mapColor(MapColor.CRIMSON_NYLIUM).noCollission().randomTicks().instabreak().sound(CobblemonSounds.MEDICINAL_LEEK_SOUNDS)))
@JvmField
val ENERGY_ROOT = this.create("energy_root", EnergyRootBlock(AbstractBlock.Settings.create().pistonBehavior(PistonBehavior.DESTROY).burnable().mapColor(MapColor.DIRT_BROWN).noCollision().ticksRandomly().breakInstantly().sounds(CobblemonSounds.ENERGY_ROOT_SOUNDS)))
val ENERGY_ROOT = this.create("energy_root", EnergyRootBlock(BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).ignitedByLava().mapColor(MapColor.DIRT).noCollission().randomTicks().instabreak().sound(CobblemonSounds.ENERGY_ROOT_SOUNDS)))
@JvmField
val BIG_ROOT = this.create("big_root", BigRootBlock(AbstractBlock.Settings.create().pistonBehavior(PistonBehavior.DESTROY).burnable().mapColor(MapColor.DARK_GREEN).noCollision().ticksRandomly().breakInstantly().sounds(CobblemonSounds.BIG_ROOT_SOUNDS)))
val BIG_ROOT = this.create("big_root", BigRootBlock(BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).ignitedByLava().mapColor(MapColor.PLANT).noCollission().randomTicks().instabreak().sound(CobblemonSounds.BIG_ROOT_SOUNDS)))
@JvmField
val REVIVAL_HERB = this.create("revival_herb", RevivalHerbBlock(AbstractBlock.Settings.create().pistonBehavior(PistonBehavior.DESTROY).mapColor(MapColor.DARK_GREEN).burnable().noCollision().breakInstantly().sounds(CobblemonSounds.REVIVAL_HERB_SOUNDS)))
val REVIVAL_HERB = this.create("revival_herb", RevivalHerbBlock(BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).mapColor(MapColor.PLANT).ignitedByLava().noCollission().instabreak().sound(CobblemonSounds.REVIVAL_HERB_SOUNDS)))
@JvmField
val TUMBLESTONE_CLUSTER = tumblestoneBlock("tumblestone_cluster", GrowableStoneBlock.STAGE_3, 7, 3, null)
@@ -190,29 +196,113 @@ object CobblemonBlocks : PlatformRegistry<Registry<Block>, RegistryKey<Registry<
val SMALL_BUDDING_BLACK_TUMBLESTONE = tumblestoneBlock("small_budding_black_tumblestone", GrowableStoneBlock.STAGE_0, 3, 4, MEDIUM_BUDDING_BLACK_TUMBLESTONE)
@JvmField
val TUMBLESTONE_BLOCK = this.create("tumblestone_block", Block(AbstractBlock.Settings.create()
.mapColor(MapColor.TERRACOTTA_ORANGE)
.strength(1.0F)
.sounds(CobblemonSounds.TUMBLESTONE_BLOCK_SOUNDS)
.requiresTool()
.instrument(Instrument.BASEDRUM)
))
val TUMBLESTONE_BLOCK = this.create("tumblestone_block", Block(BlockBehaviour.Properties.of().mapColor(MapColor.TERRACOTTA_ORANGE).strength(1.0F).sound(CobblemonSounds.TUMBLESTONE_BLOCK_SOUNDS).requiresCorrectToolForDrops().instrument(NoteBlockInstrument.BASEDRUM)))
@JvmField
val SKY_TUMBLESTONE_BLOCK = this.create("sky_tumblestone_block", Block(AbstractBlock.Settings.create()
.mapColor(MapColor.LIGHT_BLUE)
.strength(1.0F)
.sounds(CobblemonSounds.TUMBLESTONE_BLOCK_SOUNDS)
.requiresTool()
.instrument(Instrument.BASEDRUM)
))
val SKY_TUMBLESTONE_BLOCK = this.create("sky_tumblestone_block", Block(BlockBehaviour.Properties.of().mapColor(MapColor.COLOR_LIGHT_BLUE).strength(1.0F).sound(CobblemonSounds.TUMBLESTONE_BLOCK_SOUNDS).requiresCorrectToolForDrops().instrument(NoteBlockInstrument.BASEDRUM)))
@JvmField
val BLACK_TUMBLESTONE_BLOCK = this.create("black_tumblestone_block", Block(AbstractBlock.Settings.create()
.mapColor(MapColor.TERRACOTTA_BLACK)
.strength(1.0F)
.sounds(CobblemonSounds.TUMBLESTONE_BLOCK_SOUNDS)
.requiresTool()
.instrument(Instrument.BASEDRUM)
))
val BLACK_TUMBLESTONE_BLOCK = this.create("black_tumblestone_block", Block(BlockBehaviour.Properties.of().mapColor(MapColor.TERRACOTTA_BLACK).strength(1.0F).sound(CobblemonSounds.TUMBLESTONE_BLOCK_SOUNDS).requiresCorrectToolForDrops().instrument(NoteBlockInstrument.BASEDRUM)))
@JvmField
val POLISHED_TUMBLESTONE = this.create("polished_tumblestone", Block(BlockBehaviour.Properties.of().mapColor(MapColor.TERRACOTTA_ORANGE).strength(1.0F).sound(CobblemonSounds.TUMBLESTONE_BLOCK_SOUNDS).requiresCorrectToolForDrops().instrument(NoteBlockInstrument.BASEDRUM)))
@JvmField
val POLISHED_TUMBLESTONE_STAIRS = this.create("polished_tumblestone_stairs", StairsBlockInvoker.`cobblemon$create`(POLISHED_TUMBLESTONE.defaultBlockState(), BlockBehaviour.Properties.ofFullCopy(POLISHED_TUMBLESTONE)))
@JvmField
val POLISHED_TUMBLESTONE_SLAB = this.create("polished_tumblestone_slab", SlabBlock(BlockBehaviour.Properties.of().mapColor(MapColor.TERRACOTTA_ORANGE).strength(1.0F).sound(CobblemonSounds.TUMBLESTONE_BLOCK_SOUNDS).requiresCorrectToolForDrops().instrument(NoteBlockInstrument.BASEDRUM)))
@JvmField
val POLISHED_TUMBLESTONE_WALL = this.create("polished_tumblestone_wall", WallBlock(BlockBehaviour.Properties.of().mapColor(MapColor.TERRACOTTA_ORANGE).strength(1.0F).sound(CobblemonSounds.TUMBLESTONE_BLOCK_SOUNDS).requiresCorrectToolForDrops().instrument(NoteBlockInstrument.BASEDRUM)))
@JvmField
val CHISELED_POLISHED_TUMBLESTONE = this.create("chiseled_polished_tumblestone", Block(BlockBehaviour.Properties.of().mapColor(MapColor.TERRACOTTA_ORANGE).strength(1.0F).sound(CobblemonSounds.TUMBLESTONE_BLOCK_SOUNDS).requiresCorrectToolForDrops().instrument(NoteBlockInstrument.BASEDRUM)))
@JvmField
val SMOOTH_TUMBLESTONE = this.create("smooth_tumblestone", Block(BlockBehaviour.Properties.of().mapColor(MapColor.TERRACOTTA_ORANGE).strength(1.0F).sound(CobblemonSounds.TUMBLESTONE_BLOCK_SOUNDS).requiresCorrectToolForDrops().instrument(NoteBlockInstrument.BASEDRUM)))
@JvmField
val SMOOTH_TUMBLESTONE_STAIRS = this.create("smooth_tumblestone_stairs", StairsBlockInvoker.`cobblemon$create`(SMOOTH_TUMBLESTONE.defaultBlockState(), BlockBehaviour.Properties.ofFullCopy(SMOOTH_TUMBLESTONE)))
@JvmField
val SMOOTH_TUMBLESTONE_SLAB = this.create("smooth_tumblestone_slab", SlabBlock(BlockBehaviour.Properties.of().mapColor(MapColor.TERRACOTTA_ORANGE).strength(1.0F).sound(CobblemonSounds.TUMBLESTONE_BLOCK_SOUNDS).requiresCorrectToolForDrops().instrument(NoteBlockInstrument.BASEDRUM)))
@JvmField
val TUMBLESTONE_BRICKS = this.create("tumblestone_bricks", Block(BlockBehaviour.Properties.of().mapColor(MapColor.TERRACOTTA_ORANGE).strength(1.0F).sound(CobblemonSounds.TUMBLESTONE_BLOCK_SOUNDS).requiresCorrectToolForDrops().instrument(NoteBlockInstrument.BASEDRUM)))
@JvmField
val TUMBLESTONE_BRICK_STAIRS = this.create("tumblestone_brick_stairs", StairsBlockInvoker.`cobblemon$create`(TUMBLESTONE_BRICKS.defaultBlockState(), BlockBehaviour.Properties.ofFullCopy(TUMBLESTONE_BRICKS)))
@JvmField
val TUMBLESTONE_BRICK_SLAB = this.create("tumblestone_brick_slab", SlabBlock(BlockBehaviour.Properties.of().mapColor(MapColor.TERRACOTTA_ORANGE).strength(1.0F).sound(CobblemonSounds.TUMBLESTONE_BLOCK_SOUNDS).requiresCorrectToolForDrops().instrument(NoteBlockInstrument.BASEDRUM)))
@JvmField
val TUMBLESTONE_BRICK_WALL = this.create("tumblestone_brick_wall", WallBlock(BlockBehaviour.Properties.of().mapColor(MapColor.TERRACOTTA_ORANGE).strength(1.0F).sound(CobblemonSounds.TUMBLESTONE_BLOCK_SOUNDS).requiresCorrectToolForDrops().instrument(NoteBlockInstrument.BASEDRUM)))
@JvmField
val CHISELED_TUMBLESTONE_BRICKS = this.create("chiseled_tumblestone_bricks", Block(BlockBehaviour.Properties.of().mapColor(MapColor.TERRACOTTA_ORANGE).strength(1.0F).sound(CobblemonSounds.TUMBLESTONE_BLOCK_SOUNDS).requiresCorrectToolForDrops().instrument(NoteBlockInstrument.BASEDRUM)))
@JvmField
val POLISHED_SKY_TUMBLESTONE = this.create("polished_sky_tumblestone", Block(BlockBehaviour.Properties.of().mapColor(MapColor.COLOR_LIGHT_BLUE).strength(1.0F).sound(CobblemonSounds.TUMBLESTONE_BLOCK_SOUNDS).requiresCorrectToolForDrops().instrument(NoteBlockInstrument.BASEDRUM)))
@JvmField
val POLISHED_SKY_TUMBLESTONE_STAIRS = this.create("polished_sky_tumblestone_stairs", StairsBlockInvoker.`cobblemon$create`(POLISHED_SKY_TUMBLESTONE.defaultBlockState(), BlockBehaviour.Properties.ofFullCopy(POLISHED_SKY_TUMBLESTONE)))
@JvmField
val POLISHED_SKY_TUMBLESTONE_SLAB = this.create("polished_sky_tumblestone_slab", SlabBlock(BlockBehaviour.Properties.of().mapColor(MapColor.COLOR_LIGHT_BLUE).strength(1.0F).sound(CobblemonSounds.TUMBLESTONE_BLOCK_SOUNDS).requiresCorrectToolForDrops().instrument(NoteBlockInstrument.BASEDRUM)))
@JvmField
val POLISHED_SKY_TUMBLESTONE_WALL = this.create("polished_sky_tumblestone_wall", WallBlock(BlockBehaviour.Properties.of().mapColor(MapColor.COLOR_LIGHT_BLUE).strength(1.0F).sound(CobblemonSounds.TUMBLESTONE_BLOCK_SOUNDS).requiresCorrectToolForDrops().instrument(NoteBlockInstrument.BASEDRUM)))
@JvmField
val CHISELED_POLISHED_SKY_TUMBLESTONE = this.create("chiseled_polished_sky_tumblestone", Block(BlockBehaviour.Properties.of().mapColor(MapColor.COLOR_LIGHT_BLUE).strength(1.0F).sound(CobblemonSounds.TUMBLESTONE_BLOCK_SOUNDS).requiresCorrectToolForDrops().instrument(NoteBlockInstrument.BASEDRUM)))
@JvmField
val SMOOTH_SKY_TUMBLESTONE = this.create("smooth_sky_tumblestone", Block(BlockBehaviour.Properties.of().mapColor(MapColor.COLOR_LIGHT_BLUE).strength(1.0F).sound(CobblemonSounds.TUMBLESTONE_BLOCK_SOUNDS).requiresCorrectToolForDrops().instrument(NoteBlockInstrument.BASEDRUM)))
@JvmField
val SMOOTH_SKY_TUMBLESTONE_STAIRS = this.create("smooth_sky_tumblestone_stairs", StairsBlockInvoker.`cobblemon$create`(SMOOTH_SKY_TUMBLESTONE.defaultBlockState(), BlockBehaviour.Properties.ofFullCopy(SMOOTH_SKY_TUMBLESTONE)))
@JvmField
val SMOOTH_SKY_TUMBLESTONE_SLAB = this.create("smooth_sky_tumblestone_slab", SlabBlock(BlockBehaviour.Properties.of().mapColor(MapColor.COLOR_LIGHT_BLUE).strength(1.0F).sound(CobblemonSounds.TUMBLESTONE_BLOCK_SOUNDS).requiresCorrectToolForDrops().instrument(NoteBlockInstrument.BASEDRUM)))
@JvmField
val SKY_TUMBLESTONE_BRICKS = this.create("sky_tumblestone_bricks", Block(BlockBehaviour.Properties.of().mapColor(MapColor.COLOR_LIGHT_BLUE).strength(1.0F).sound(CobblemonSounds.TUMBLESTONE_BLOCK_SOUNDS).requiresCorrectToolForDrops().instrument(NoteBlockInstrument.BASEDRUM)))
@JvmField
val SKY_TUMBLESTONE_BRICK_STAIRS = this.create("sky_tumblestone_brick_stairs", StairsBlockInvoker.`cobblemon$create`(SKY_TUMBLESTONE_BRICKS.defaultBlockState(), BlockBehaviour.Properties.ofFullCopy(SKY_TUMBLESTONE_BRICKS)))
@JvmField
val SKY_TUMBLESTONE_BRICK_SLAB = this.create("sky_tumblestone_brick_slab", SlabBlock(BlockBehaviour.Properties.of().mapColor(MapColor.COLOR_LIGHT_BLUE).strength(1.0F).sound(CobblemonSounds.TUMBLESTONE_BLOCK_SOUNDS).requiresCorrectToolForDrops().instrument(NoteBlockInstrument.BASEDRUM)))
@JvmField
val SKY_TUMBLESTONE_BRICK_WALL = this.create("sky_tumblestone_brick_wall", WallBlock(BlockBehaviour.Properties.of().mapColor(MapColor.COLOR_LIGHT_BLUE).strength(1.0F).sound(CobblemonSounds.TUMBLESTONE_BLOCK_SOUNDS).requiresCorrectToolForDrops().instrument(NoteBlockInstrument.BASEDRUM)))
@JvmField
val CHISELED_SKY_TUMBLESTONE_BRICKS = this.create("chiseled_sky_tumblestone_bricks", Block(BlockBehaviour.Properties.of().mapColor(MapColor.COLOR_LIGHT_BLUE).strength(1.0F).sound(CobblemonSounds.TUMBLESTONE_BLOCK_SOUNDS).requiresCorrectToolForDrops().instrument(NoteBlockInstrument.BASEDRUM)))
@JvmField
val POLISHED_BLACK_TUMBLESTONE = this.create("polished_black_tumblestone", Block(BlockBehaviour.Properties.of().mapColor(MapColor.TERRACOTTA_BLACK).strength(1.0F).sound(CobblemonSounds.TUMBLESTONE_BLOCK_SOUNDS).requiresCorrectToolForDrops().instrument(NoteBlockInstrument.BASEDRUM)))
@JvmField
val POLISHED_BLACK_TUMBLESTONE_STAIRS = this.create("polished_black_tumblestone_stairs", StairsBlockInvoker.`cobblemon$create`(POLISHED_BLACK_TUMBLESTONE.defaultBlockState(), BlockBehaviour.Properties.ofFullCopy(POLISHED_BLACK_TUMBLESTONE)))
@JvmField
val POLISHED_BLACK_TUMBLESTONE_SLAB = this.create("polished_black_tumblestone_slab", SlabBlock(BlockBehaviour.Properties.of().mapColor(MapColor.TERRACOTTA_BLACK).strength(1.0F).sound(CobblemonSounds.TUMBLESTONE_BLOCK_SOUNDS).requiresCorrectToolForDrops().instrument(NoteBlockInstrument.BASEDRUM)))
@JvmField
val POLISHED_BLACK_TUMBLESTONE_WALL = this.create("polished_black_tumblestone_wall", WallBlock(BlockBehaviour.Properties.of().mapColor(MapColor.TERRACOTTA_BLACK).strength(1.0F).sound(CobblemonSounds.TUMBLESTONE_BLOCK_SOUNDS).requiresCorrectToolForDrops().instrument(NoteBlockInstrument.BASEDRUM)))
@JvmField
val CHISELED_POLISHED_BLACK_TUMBLESTONE = this.create("chiseled_polished_black_tumblestone", Block(BlockBehaviour.Properties.of().mapColor(MapColor.TERRACOTTA_BLACK).strength(1.0F).sound(CobblemonSounds.TUMBLESTONE_BLOCK_SOUNDS).requiresCorrectToolForDrops().instrument(NoteBlockInstrument.BASEDRUM)))
@JvmField
val SMOOTH_BLACK_TUMBLESTONE = this.create("smooth_black_tumblestone", Block(BlockBehaviour.Properties.of().mapColor(MapColor.TERRACOTTA_BLACK).strength(1.0F).sound(CobblemonSounds.TUMBLESTONE_BLOCK_SOUNDS).requiresCorrectToolForDrops().instrument(NoteBlockInstrument.BASEDRUM)))
@JvmField
val SMOOTH_BLACK_TUMBLESTONE_STAIRS = this.create("smooth_black_tumblestone_stairs", StairsBlockInvoker.`cobblemon$create`(SMOOTH_BLACK_TUMBLESTONE.defaultBlockState(), BlockBehaviour.Properties.ofFullCopy(SMOOTH_BLACK_TUMBLESTONE)))
@JvmField
val SMOOTH_BLACK_TUMBLESTONE_SLAB = this.create("smooth_black_tumblestone_slab", SlabBlock(BlockBehaviour.Properties.of().mapColor(MapColor.TERRACOTTA_BLACK).strength(1.0F).sound(CobblemonSounds.TUMBLESTONE_BLOCK_SOUNDS).requiresCorrectToolForDrops().instrument(NoteBlockInstrument.BASEDRUM)))
@JvmField
val BLACK_TUMBLESTONE_BRICKS = this.create("black_tumblestone_bricks", Block(BlockBehaviour.Properties.of().mapColor(MapColor.TERRACOTTA_BLACK).strength(1.0F).sound(CobblemonSounds.TUMBLESTONE_BLOCK_SOUNDS).requiresCorrectToolForDrops().instrument(NoteBlockInstrument.BASEDRUM)))
@JvmField
val BLACK_TUMBLESTONE_BRICK_STAIRS = this.create("black_tumblestone_brick_stairs", StairsBlockInvoker.`cobblemon$create`(BLACK_TUMBLESTONE_BRICKS.defaultBlockState(), BlockBehaviour.Properties.ofFullCopy(BLACK_TUMBLESTONE_BRICKS)))
@JvmField
val BLACK_TUMBLESTONE_BRICK_SLAB = this.create("black_tumblestone_brick_slab", SlabBlock(BlockBehaviour.Properties.of().mapColor(MapColor.TERRACOTTA_BLACK).strength(1.0F).sound(CobblemonSounds.TUMBLESTONE_BLOCK_SOUNDS).requiresCorrectToolForDrops().instrument(NoteBlockInstrument.BASEDRUM)))
@JvmField
val BLACK_TUMBLESTONE_BRICK_WALL = this.create("black_tumblestone_brick_wall", WallBlock(BlockBehaviour.Properties.of().mapColor(MapColor.TERRACOTTA_BLACK).strength(1.0F).sound(CobblemonSounds.TUMBLESTONE_BLOCK_SOUNDS).requiresCorrectToolForDrops().instrument(NoteBlockInstrument.BASEDRUM)))
@JvmField
val CHISELED_BLACK_TUMBLESTONE_BRICKS = this.create("chiseled_black_tumblestone_bricks", Block(BlockBehaviour.Properties.of().mapColor(MapColor.TERRACOTTA_BLACK).strength(1.0F).sound(CobblemonSounds.TUMBLESTONE_BLOCK_SOUNDS).requiresCorrectToolForDrops().instrument(NoteBlockInstrument.BASEDRUM)))
@JvmField
val FIRE_STONE_BLOCK = this.create("fire_stone_block", Block(BlockBehaviour.Properties.of().mapColor(MapColor.FIRE).strength(1.0F).sound(CobblemonSounds.EVOLUTION_STONE_BLOCK_SOUNDS).requiresCorrectToolForDrops().instrument(NoteBlockInstrument.BIT).lightLevel{13}))
@JvmField
val WATER_STONE_BLOCK = this.create("water_stone_block", Block(BlockBehaviour.Properties.of().mapColor(MapColor.WATER).strength(1.0F).sound(CobblemonSounds.EVOLUTION_STONE_BLOCK_SOUNDS).requiresCorrectToolForDrops().instrument(NoteBlockInstrument.BIT)))
@JvmField
val THUNDER_STONE_BLOCK = this.create("thunder_stone_block", Block(BlockBehaviour.Properties.of().mapColor(MapColor.GLOW_LICHEN).strength(1.0F).sound(CobblemonSounds.EVOLUTION_STONE_BLOCK_SOUNDS).requiresCorrectToolForDrops().instrument(NoteBlockInstrument.BIT).lightLevel{8}))
@JvmField
val LEAF_STONE_BLOCK = this.create("leaf_stone_block", Block(BlockBehaviour.Properties.of().mapColor(MapColor.COLOR_GREEN).strength(1.0F).sound(CobblemonSounds.EVOLUTION_STONE_BLOCK_SOUNDS).requiresCorrectToolForDrops().instrument(NoteBlockInstrument.BIT)))
@JvmField
val ICE_STONE_BLOCK = this.create("ice_stone_block", Block(BlockBehaviour.Properties.of().mapColor(MapColor.ICE).strength(1.0F).sound(CobblemonSounds.EVOLUTION_STONE_BLOCK_SOUNDS).requiresCorrectToolForDrops().instrument(NoteBlockInstrument.BIT)))
@JvmField
val SUN_STONE_BLOCK = this.create("sun_stone_block", Block(BlockBehaviour.Properties.of().mapColor(MapColor.TERRACOTTA_ORANGE).strength(1.0F).sound(CobblemonSounds.EVOLUTION_STONE_BLOCK_SOUNDS).requiresCorrectToolForDrops().instrument(NoteBlockInstrument.BIT).lightLevel{5}))
@JvmField
val MOON_STONE_BLOCK = this.create("moon_stone_block", Block(BlockBehaviour.Properties.of().mapColor(MapColor.DEEPSLATE).strength(1.0F).sound(CobblemonSounds.EVOLUTION_STONE_BLOCK_SOUNDS).requiresCorrectToolForDrops().instrument(NoteBlockInstrument.BIT)))
@JvmField
val SHINY_STONE_BLOCK = this.create("shiny_stone_block", Block(BlockBehaviour.Properties.of().mapColor(MapColor.QUARTZ).strength(1.0F).sound(CobblemonSounds.EVOLUTION_STONE_BLOCK_SOUNDS).requiresCorrectToolForDrops().instrument(NoteBlockInstrument.BIT).lightLevel{15}))
@JvmField
val DAWN_STONE_BLOCK = this.create("dawn_stone_block", Block(BlockBehaviour.Properties.of().mapColor(MapColor.DIAMOND).strength(1.0F).sound(CobblemonSounds.EVOLUTION_STONE_BLOCK_SOUNDS).requiresCorrectToolForDrops().instrument(NoteBlockInstrument.BIT).lightLevel{15}))
@JvmField
val DUSK_STONE_BLOCK = this.create("dusk_stone_block", Block(BlockBehaviour.Properties.of().mapColor(MapColor.WARPED_HYPHAE).strength(1.0F).sound(CobblemonSounds.EVOLUTION_STONE_BLOCK_SOUNDS).requiresCorrectToolForDrops().instrument(NoteBlockInstrument.BIT)))
@JvmField
val BLACK_APRICORN = apricornBlock("black_apricorn", Apricorn.BLACK)
@@ -230,207 +320,65 @@ object CobblemonBlocks : PlatformRegistry<Registry<Block>, RegistryKey<Registry<
val YELLOW_APRICORN = apricornBlock("yellow_apricorn", Apricorn.YELLOW)
@JvmField
val RELIC_COIN_POUCH = create(
"relic_coin_pouch",
CoinPouchBlock(
AbstractBlock.Settings.create()
.sounds(CobblemonSounds.COIN_POUCH_SOUNDS)
.pistonBehavior(PistonBehavior.DESTROY)
.strength(0.4f)
.nonOpaque(), true
)
)
val RELIC_COIN_POUCH = create("relic_coin_pouch", CoinPouchBlock(BlockBehaviour.Properties.of().sound(CobblemonSounds.RELIC_COIN_POUCH_SOUNDS).pushReaction(PushReaction.DESTROY).noOcclusion(), true))
@JvmField
val RELIC_COIN_SACK = create(
"relic_coin_sack",
CoinPouchBlock(
AbstractBlock.Settings.create()
.sounds(CobblemonSounds.COIN_POUCH_SOUNDS)
.pistonBehavior(PistonBehavior.DESTROY)
.strength(0.4f), false
))
val RELIC_COIN_SACK = create("relic_coin_sack", CoinPouchBlock(BlockBehaviour.Properties.of().sound(CobblemonSounds.RELIC_COIN_SACK_SOUNDS).pushReaction(PushReaction.DESTROY).strength(0.4f), false))
@JvmField
val GILDED_CHEST = create(
"gilded_chest",
GildedChestBlock(
AbstractBlock.Settings.copy(Blocks.CHEST).nonOpaque().sounds(CobblemonSounds.GILDED_CHEST_SOUNDS),
GildedChestBlock.Type.RED
)
)
val GILDED_CHEST = create("gilded_chest", GildedChestBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.CHEST).noOcclusion().sound(CobblemonSounds.GILDED_CHEST_SOUNDS), GildedChestBlock.Type.RED))
@JvmField
val BLUE_GILDED_CHEST = create("blue_gilded_chest", GildedChestBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.CHEST).noOcclusion().sound(CobblemonSounds.GILDED_CHEST_SOUNDS), GildedChestBlock.Type.BLUE))
@JvmField
val BLACK_GILDED_CHEST = create("black_gilded_chest", GildedChestBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.CHEST).noOcclusion().sound(CobblemonSounds.GILDED_CHEST_SOUNDS), GildedChestBlock.Type.BLACK))
@JvmField
val YELLOW_GILDED_CHEST = create("yellow_gilded_chest", GildedChestBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.CHEST).noOcclusion().sound(CobblemonSounds.GILDED_CHEST_SOUNDS), GildedChestBlock.Type.YELLOW))
@JvmField
val WHITE_GILDED_CHEST = create("white_gilded_chest", GildedChestBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.CHEST).noOcclusion().sound(CobblemonSounds.GILDED_CHEST_SOUNDS), GildedChestBlock.Type.WHITE))
@JvmField
val GREEN_GILDED_CHEST = create("green_gilded_chest", GildedChestBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.CHEST).noOcclusion().sound(CobblemonSounds.GILDED_CHEST_SOUNDS), GildedChestBlock.Type.GREEN))
@JvmField
val PINK_GILDED_CHEST = create("pink_gilded_chest", GildedChestBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.CHEST).noOcclusion().sound(CobblemonSounds.GILDED_CHEST_SOUNDS), GildedChestBlock.Type.PINK))
@JvmField
val GIMMIGHOUL_CHEST = create("gimmighoul_chest", GildedChestBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.CHEST).noOcclusion().sound(CobblemonSounds.GILDED_CHEST_SOUNDS), GildedChestBlock.Type.FAKE))
@JvmField
val BLUE_GILDED_CHEST = create(
"blue_gilded_chest",
GildedChestBlock(
AbstractBlock.Settings.copy(Blocks.CHEST).nonOpaque().sounds(CobblemonSounds.GILDED_CHEST_SOUNDS),
GildedChestBlock.Type.BLUE
)
)
val MONITOR = create("monitor", MonitorBlock(BlockBehaviour.Properties.of().mapColor(MapColor.METAL).sound(SoundType.METAL).pushReaction(PushReaction.BLOCK).requiresCorrectToolForDrops().strength(5.0F, 6.0F).lightLevel { if (it.getValue(MonitorBlock.SCREEN) != MonitorBlock.MonitorScreen.OFF) 15 else 0 }))
@JvmField
val FOSSIL_ANALYZER = create("fossil_analyzer", FossilAnalyzerBlock(BlockBehaviour.Properties.of().mapColor(MapColor.METAL).sound(SoundType.METAL).pushReaction(PushReaction.BLOCK).requiresCorrectToolForDrops().strength(5.0F, 6.0F).noOcclusion()))
@JvmField
val RESTORATION_TANK = create("restoration_tank", RestorationTankBlock(BlockBehaviour.Properties.of().mapColor(MapColor.METAL).sound(SoundType.GLASS).pushReaction(PushReaction.BLOCK).requiresCorrectToolForDrops().strength(5.0F, 6.0F).noOcclusion()))
@JvmField
val BLACK_GILDED_CHEST = create(
"black_gilded_chest",
GildedChestBlock(
AbstractBlock.Settings.copy(Blocks.CHEST).nonOpaque().sounds(CobblemonSounds.GILDED_CHEST_SOUNDS),
GildedChestBlock.Type.BLACK
)
)
val HEALING_MACHINE = create("healing_machine", HealingMachineBlock(BlockBehaviour.Properties.of().mapColor(MapColor.METAL).sound(SoundType.METAL).pushReaction(PushReaction.BLOCK).strength(2f).noOcclusion().lightLevel { if (it.getValue(HealingMachineBlock.CHARGE_LEVEL) >= HealingMachineBlock.MAX_CHARGE_LEVEL) 7 else 2 }))
@JvmField
val YELLOW_GILDED_CHEST = create(
"yellow_gilded_chest",
GildedChestBlock(
AbstractBlock.Settings.copy(Blocks.CHEST).nonOpaque().sounds(CobblemonSounds.GILDED_CHEST_SOUNDS),
GildedChestBlock.Type.YELLOW
)
)
val PC = create("pc", PCBlock(BlockBehaviour.Properties.of().mapColor(MapColor.METAL).sound(SoundType.METAL).pushReaction(PushReaction.BLOCK).strength(2F).noOcclusion().lightLevel { if ((it.getValue(PCBlock.ON) as Boolean) && (it.getValue(PCBlock.PART) == PCBlock.PCPart.TOP)) 10 else 0 }))
@JvmField
val WHITE_GILDED_CHEST = create(
"white_gilded_chest",
GildedChestBlock(
AbstractBlock.Settings.copy(Blocks.CHEST).nonOpaque().sounds(CobblemonSounds.GILDED_CHEST_SOUNDS),
GildedChestBlock.Type.WHITE
)
)
val LECTERN = create("lectern", LecternBlock(BlockBehaviour.Properties.of().mapColor(MapColor.WOOD).instrument(NoteBlockInstrument.BASS).sound(SoundType.WOOD).strength(2.5F).ignitedByLava()))
@JvmField
val GREEN_GILDED_CHEST = create(
"green_gilded_chest",
GildedChestBlock(
AbstractBlock.Settings.copy(Blocks.CHEST).nonOpaque().sounds(CobblemonSounds.GILDED_CHEST_SOUNDS),
GildedChestBlock.Type.GREEN
)
)
val DISPLAY_CASE = create("display_case", DisplayCaseBlock(BlockBehaviour.Properties.of().sound(CobblemonSounds.DISPLAY_CASE_SOUNDS).noOcclusion().pushReaction(PushReaction.BLOCK).mapColor(MapColor.STONE).strength(0.3F)))
@JvmField
val PINK_GILDED_CHEST = create(
"pink_gilded_chest",
GildedChestBlock(
AbstractBlock.Settings.copy(Blocks.CHEST).nonOpaque().sounds(CobblemonSounds.GILDED_CHEST_SOUNDS),
GildedChestBlock.Type.PINK
)
)
val PASTURE = create("pasture", PastureBlock(BlockBehaviour.Properties.of().mapColor(MapColor.COLOR_BROWN).sound(SoundType.WOOD).strength(2F).noOcclusion().pushReaction(PushReaction.BLOCK).lightLevel { if ((it.getValue(PastureBlock.ON) as Boolean) && (it.getValue(PastureBlock.PART) == PastureBlock.PasturePart.TOP)) 10 else 0 }))
val RED_MINT = create("red_mint", MintBlock(MintType.RED, BlockBehaviour.Properties.of().mapColor(MapColor.COLOR_RED).noCollission().randomTicks().instabreak().sound(CobblemonSounds.MINT_SOUNDS).pushReaction(PushReaction.DESTROY)))
@JvmField
val BLUE_MINT = create("blue_mint", MintBlock(MintType.BLUE, BlockBehaviour.Properties.of().mapColor(MapColor.COLOR_BLUE).noCollission().randomTicks().instabreak().sound(CobblemonSounds.MINT_SOUNDS).pushReaction(PushReaction.DESTROY)))
@JvmField
val CYAN_MINT = create("cyan_mint", MintBlock(MintType.CYAN, BlockBehaviour.Properties.of().mapColor(MapColor.COLOR_CYAN).noCollission().randomTicks().instabreak().sound(CobblemonSounds.MINT_SOUNDS).pushReaction(PushReaction.DESTROY)))
@JvmField
val PINK_MINT = create("pink_mint", MintBlock(MintType.PINK, BlockBehaviour.Properties.of().mapColor(MapColor.COLOR_PINK).noCollission().randomTicks().instabreak().sound(CobblemonSounds.MINT_SOUNDS).pushReaction(PushReaction.DESTROY)))
@JvmField
val GREEN_MINT = create("green_mint", MintBlock(MintType.GREEN, BlockBehaviour.Properties.of().mapColor(MapColor.COLOR_GREEN).noCollission().randomTicks().instabreak().sound(CobblemonSounds.MINT_SOUNDS).pushReaction(PushReaction.DESTROY)))
@JvmField
val WHITE_MINT = create("white_mint", MintBlock(MintType.WHITE, BlockBehaviour.Properties.of().mapColor(MapColor.SNOW).noCollission().randomTicks().instabreak().sound(CobblemonSounds.MINT_SOUNDS).pushReaction(PushReaction.DESTROY)))
@JvmField
val GIMMIGHOUL_CHEST = create(
"gimmighoul_chest",
GildedChestBlock(
AbstractBlock.Settings.copy(Blocks.CHEST).nonOpaque().sounds(CobblemonSounds.GILDED_CHEST_SOUNDS),
GildedChestBlock.Type.FAKE
)
)
val VIVICHOKE_SEEDS = this.create("vivichoke_seeds", VivichokeBlock(BlockBehaviour.Properties.of().pushReaction(PushReaction.DESTROY).ignitedByLava().mapColor(MapColor.PLANT).noCollission().randomTicks().instabreak().sound(CobblemonSounds.VIVICHOKE_SOUNDS)))
@JvmField
val MONITOR = create(
"monitor",
MonitorBlock(
AbstractBlock.Settings.create()
.mapColor(MapColor.IRON_GRAY)
.sounds(BlockSoundGroup.METAL)
.pistonBehavior(PistonBehavior.BLOCK)
.requiresTool()
.strength(5.0F, 6.0F)
.luminance { if (it.get(MonitorBlock.SCREEN) != MonitorBlock.MonitorScreen.OFF) 15 else 0 }
)
)
@JvmField
val FOSSIL_ANALYZER = create(
"fossil_analyzer",
FossilAnalyzerBlock(
AbstractBlock.Settings.create()
.mapColor(MapColor.IRON_GRAY)
.sounds(BlockSoundGroup.METAL)
.pistonBehavior(PistonBehavior.BLOCK)
.requiresTool()
.strength(5.0F, 6.0F)
.nonOpaque()
)
)
@JvmField
val RESTORATION_TANK = create(
"restoration_tank",
RestorationTankBlock(
AbstractBlock.Settings.create()
.mapColor(MapColor.IRON_GRAY)
.sounds(BlockSoundGroup.GLASS)
.pistonBehavior(PistonBehavior.BLOCK)
.requiresTool()
.strength(5.0F, 6.0F)
.nonOpaque()
)
)
@JvmField
val HEALING_MACHINE = create(
"healing_machine",
HealingMachineBlock(
AbstractBlock.Settings.create()
.mapColor(MapColor.IRON_GRAY)
.sounds(BlockSoundGroup.METAL)
.pistonBehavior(PistonBehavior.BLOCK)
.strength(2f)
.nonOpaque()
.luminance { if (it.get(HealingMachineBlock.CHARGE_LEVEL) >= HealingMachineBlock.MAX_CHARGE_LEVEL) 7 else 2 }
)
)
@JvmField
val PC = create(
"pc",
PCBlock(
AbstractBlock.Settings.create()
.mapColor(MapColor.IRON_GRAY)
.sounds(BlockSoundGroup.METAL)
.pistonBehavior(PistonBehavior.BLOCK)
.strength(2F)
.nonOpaque()
.luminance { if ((it.get(PCBlock.ON) as Boolean) && (it.get(PCBlock.PART) == PCBlock.PCPart.TOP)) 10 else 0 }
)
)
@JvmField
val DISPLAY_CASE = create(
"display_case",
DisplayCaseBlock(
AbstractBlock.Settings.create()
.sounds(CobblemonSounds.DISPLAY_CASE_SOUNDS)
.nonOpaque()
.pistonBehavior(PistonBehavior.BLOCK)
.mapColor(MapColor.STONE_GRAY)
.strength(0.3f)
)
)
val RED_MINT = create("red_mint", MintBlock(MintType.RED, AbstractBlock.Settings.create().mapColor(MapColor.RED).noCollision().ticksRandomly().breakInstantly().sounds(CobblemonSounds.MINT_SOUNDS)))
@JvmField
val BLUE_MINT = create("blue_mint", MintBlock(MintType.BLUE, AbstractBlock.Settings.create().mapColor(MapColor.BLUE).noCollision().ticksRandomly().breakInstantly().sounds(CobblemonSounds.MINT_SOUNDS)))
@JvmField
val CYAN_MINT = create("cyan_mint", MintBlock(MintType.CYAN, AbstractBlock.Settings.create().mapColor(MapColor.CYAN).noCollision().ticksRandomly().breakInstantly().sounds(CobblemonSounds.MINT_SOUNDS)))
@JvmField
val PINK_MINT = create("pink_mint", MintBlock(MintType.PINK, AbstractBlock.Settings.create().mapColor(MapColor.PINK).noCollision().ticksRandomly().breakInstantly().sounds(CobblemonSounds.MINT_SOUNDS)))
@JvmField
val GREEN_MINT = create("green_mint", MintBlock(MintType.GREEN, AbstractBlock.Settings.create().mapColor(MapColor.GREEN).noCollision().ticksRandomly().breakInstantly().sounds(CobblemonSounds.MINT_SOUNDS)))
@JvmField
val WHITE_MINT = create("white_mint", MintBlock(MintType.WHITE, AbstractBlock.Settings.create().mapColor(MapColor.WHITE).noCollision().ticksRandomly().breakInstantly().sounds(CobblemonSounds.MINT_SOUNDS)))
@JvmField
val PASTURE = create(
"pasture",
PastureBlock(
AbstractBlock.Settings.create()
.mapColor(MapColor.BROWN)
.sounds(BlockSoundGroup.WOOD)
.strength(2F)
.nonOpaque()
.pistonBehavior(PistonBehavior.BLOCK)
.luminance { if ((it.get(PastureBlock.ON) as Boolean) && (it.get(PastureBlock.PART) == PastureBlock.PasturePart.TOP)) 10 else 0 }
)
)
@JvmField
val VIVICHOKE_SEEDS = this.create("vivichoke_seeds", VivichokeBlock(AbstractBlock.Settings.create().pistonBehavior(PistonBehavior.DESTROY).burnable().mapColor(MapColor.DARK_GREEN).noCollision().ticksRandomly().breakInstantly().sounds(CobblemonSounds.VIVICHOKE_SOUNDS)))
@JvmField
val PEP_UP_FLOWER = this.create("pep_up_flower", FlowerBlock(StatusEffects.LEVITATION, 10, AbstractBlock.Settings.create().mapColor(MapColor.DARK_GREEN).noCollision().breakInstantly().sounds(BlockSoundGroup.GRASS).offset(AbstractBlock.OffsetType.XZ).pistonBehavior(PistonBehavior.DESTROY)))
val PEP_UP_FLOWER = this.create("pep_up_flower", FlowerBlock(MobEffects.LEVITATION, 10F, BlockBehaviour.Properties.of().mapColor(MapColor.PLANT).noCollission().instabreak().sound(SoundType.GRASS).offsetType(BlockBehaviour.OffsetType.XZ).pushReaction(PushReaction.DESTROY)))
@JvmField
val POTTED_PEP_UP_FLOWER = this.create("potted_pep_up_flower", BlocksInvoker.createFlowerPotBlock(PEP_UP_FLOWER))
@@ -446,18 +394,18 @@ object CobblemonBlocks : PlatformRegistry<Registry<Block>, RegistryKey<Registry<
private fun apricornBlock(name: String, apricorn: Apricorn): ApricornBlock = this.create(name, ApricornBlock(AbstractBlock.Settings.create().mapColor(apricorn.mapColor()).ticksRandomly().strength(Blocks.OAK_LOG.hardness, Blocks.OAK_LOG.blastResistance).sounds(BlockSoundGroup.WOOD).nonOpaque(), apricorn))
private fun apricornBlock(name: String, apricorn: Apricorn): ApricornBlock = this.create(name, ApricornBlock(BlockBehaviour.Properties.of().mapColor(apricorn.mapColor()).randomTicks().strength(Blocks.OAK_LOG.defaultDestroyTime(), Blocks.OAK_LOG.explosionResistance).sound(SoundType.WOOD).noOcclusion(), apricorn))
private fun tumblestoneBlock(name: String, stage: Int, height: Int, xzOffset: Int, nextStage: Block?) : Block {
return this.create(name, TumblestoneBlock(AbstractBlock.Settings.create()
.pistonBehavior(PistonBehavior.DESTROY)
.nonOpaque()
return this.create(name, TumblestoneBlock(BlockBehaviour.Properties.of()
.pushReaction(PushReaction.DESTROY)
.noOcclusion()
.strength(1.5F)
.sounds(CobblemonSounds.TUMBLESTONE_SOUNDS),
.sound(CobblemonSounds.TUMBLESTONE_SOUNDS),
stage, height, xzOffset, nextStage))
}
private val berries = mutableMapOf<Identifier, BerryBlock>()
private val berries = mutableMapOf<ResourceLocation, BerryBlock>()
val AGUAV_BERRY = this.berryBlock("aguav")
val APICOT_BERRY = this.berryBlock("apicot")
@@ -528,6 +476,7 @@ object CobblemonBlocks : PlatformRegistry<Registry<Block>, RegistryKey<Registry<
val WEPEAR_BERRY = this.berryBlock("wepear")
val WIKI_BERRY = this.berryBlock("wiki")
val YACHE_BERRY = this.berryBlock("yache")
//val BINDING_SOIL = this.create("binding_soil", BindingSoilBlock(BlockBehaviour.Properties.of()))
init {
/**
@@ -552,7 +501,7 @@ object CobblemonBlocks : PlatformRegistry<Registry<Block>, RegistryKey<Registry<
private fun berryBlock(name: String): BerryBlock {
val identifier = cobblemonResource("${name}_berry")
val block = this.create(identifier.path, BerryBlock(identifier, AbstractBlock.Settings.copy(Blocks.WHEAT).dynamicBounds().sounds(CobblemonSounds.BERRY_BUSH_SOUNDS).strength(0.2F)))
val block = this.create(identifier.path, BerryBlock(identifier, BlockBehaviour.Properties.ofFullCopy(Blocks.WHEAT).dynamicShape().sound(CobblemonSounds.BERRY_BUSH_SOUNDS).strength(0.2F)))
this.berries[identifier] = block
return block
}
@@ -560,7 +509,7 @@ object CobblemonBlocks : PlatformRegistry<Registry<Block>, RegistryKey<Registry<
/**
* Calls helper method from Vanilla
*/
private fun log(name: String, arg: MapColor = MapColor.DIRT_BROWN, arg2: MapColor = MapColor.DIRT_BROWN): PillarBlock {
private fun log(name: String, arg: MapColor = MapColor.DIRT, arg2: MapColor = MapColor.DIRT): Block {
val block = BlocksInvoker.createLogBlock(arg, arg2)
return this.create(name, block)
}
@@ -580,16 +529,16 @@ object CobblemonBlocks : PlatformRegistry<Registry<Block>, RegistryKey<Registry<
return block
}
private fun evolutionStoneOre(name: String) = this.create(name, ExperienceDroppingBlock(AbstractBlock.Settings.copy(Blocks.IRON_ORE), UniformIntProvider.create(1, 2)))
private fun evolutionStoneOre(name: String) = this.create(name, DropExperienceBlock(UniformInt.of(1, 2), BlockBehaviour.Properties.ofFullCopy(Blocks.IRON_ORE)))
private fun deepslateEvolutionStoneOre(name: String) = this.create(name, ExperienceDroppingBlock(AbstractBlock.Settings.copy(Blocks.DEEPSLATE_IRON_ORE), UniformIntProvider.create(1, 2)))
private fun deepslateEvolutionStoneOre(name: String) = this.create(name, DropExperienceBlock(UniformInt.of(1, 2), BlockBehaviour.Properties.ofFullCopy(Blocks.DEEPSLATE_IRON_ORE)))
/**
* Helper method for creating leaves
* copied over from Vanilla
*/
private fun leaves(name: String): LeavesBlock {
val block = BlocksInvoker.createLeavesBlock(BlockSoundGroup.GRASS)
private fun leaves(name: String): Block {
val block = BlocksInvoker.createLeavesBlock(SoundType.GRASS)
return this.create(name, block)
}
}
}
@@ -0,0 +1,58 @@
/*
* Copyright (C) 2023 Cobblemon Contributors
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at https://mozilla.org/MPL/2.0/.
*/
package com.cobblemon.mod.common
import com.bedrockk.molang.Expression
import com.cobblemon.mod.common.api.ai.config.BrainConfig
import com.cobblemon.mod.common.api.ai.config.task.TaskConfig
import com.cobblemon.mod.common.api.data.DataRegistry
import com.cobblemon.mod.common.api.data.JsonDataRegistry
import com.cobblemon.mod.common.api.molang.ExpressionLike
import com.cobblemon.mod.common.api.reactive.SimpleObservable
import com.cobblemon.mod.common.util.adapters.ActivityAdapter
import com.cobblemon.mod.common.util.adapters.BrainConfigAdapter
import com.cobblemon.mod.common.util.adapters.ExpressionAdapter
import com.cobblemon.mod.common.util.adapters.ExpressionLikeAdapter
import com.cobblemon.mod.common.util.adapters.TaskConfigAdapter
import com.cobblemon.mod.common.util.cobblemonResource
import com.google.gson.Gson
import com.google.gson.GsonBuilder
import com.google.gson.reflect.TypeToken
import net.minecraft.resources.ResourceLocation
import net.minecraft.server.level.ServerPlayer
import net.minecraft.server.packs.PackType
import net.minecraft.world.entity.schedule.Activity
object CobblemonBrainConfigs : JsonDataRegistry<List<BrainConfig>> {
override val gson: Gson = GsonBuilder()
.setPrettyPrinting()
.registerTypeAdapter(Activity::class.java, ActivityAdapter)
.registerTypeAdapter(Expression::class.java, ExpressionAdapter)
.registerTypeAdapter(ExpressionLike::class.java, ExpressionLikeAdapter)
.registerTypeAdapter(BrainConfig::class.java, BrainConfigAdapter)
.registerTypeAdapter(TaskConfig::class.java, TaskConfigAdapter)
.create()
override val typeToken = TypeToken.getParameterized(List::class.java, BrainConfig::class.java) as TypeToken<List<BrainConfig>>
override val resourcePath = "brain_presets"
override val id: ResourceLocation = cobblemonResource("brain_presets")
override val type = PackType.SERVER_DATA
override val observable = SimpleObservable<CobblemonBrainConfigs>()
val presets = mutableMapOf<ResourceLocation, List<BrainConfig>>()
override fun sync(player: ServerPlayer) {
// TODO implement probs ay
}
override fun reload(data: Map<ResourceLocation, List<BrainConfig>>) {
presets.clear()
presets.putAll(data)
}
}

Some files were not shown because too many files have changed in this diff Show More