Compare commits

...
Author SHA1 Message Date
Sterrezo d29987f743 Corrected Tail Whip's sound to play on the actor rather than the target 2026-09-27 11:48:15 +02:00
Sterrezo 4a624b4a91 Some tweaks to Swords Dance, Close Combat and Aerial Ace 2026-09-22 12:35:39 +02:00
Polymeta cdb8ee0d8e [skip-ci] tidy up changelog
Signed-off-by: Polymeta <4726322-polymeta@users.noreply.gitlab.com>
2026-09-21 12:07:55 +01:00
Polymeta e7d86a382c Merge branch 'dex_molang' into 'main'
Molang: Individual Dex molang

See merge request cable-mc/cobblemon!2273
2026-09-21 09:16:10 +00:00
Konoha DandPolymeta eb911df830 Molang: Individual Dex molang 2026-09-21 09:16:10 +00:00
Polymeta 1c30acc53c Merge branch 'implement_pokemon' into 'main'
implement_pokemon

See merge request cable-mc/cobblemon!2417
2026-09-21 09:14:23 +00:00
Polymeta 2a0e8f6d47 [skip-ci] tidy up changelog
Signed-off-by: Polymeta <4726322-polymeta@users.noreply.gitlab.com>
2026-09-21 09:32:44 +01:00
Polymeta e6bd8ec529 Merge branch 'neoforge-reload-fix' into 'main'
Neoforge resource fix

See merge request cable-mc/cobblemon!2333
2026-09-21 08:30:54 +00:00
CraterandPolymeta 911a95e873 Neoforge resource fix 2026-09-21 08:30:53 +00:00
Polymeta 447cfc2ae5 Merge branch 'useful-misc-functions' into 'main'
Smoother ride rotations.

See merge request cable-mc/cobblemon!2407
2026-09-21 08:28:50 +00:00
Polymeta 8dfeb0d260 Merge branch 'no-glass-bottles-in-those' into 'main'
Fixed Mochis and Feathers dropping glass bottles when they shouldn't

See merge request cable-mc/cobblemon!2425
2026-09-21 08:24:28 +00:00
Polymeta caa7b19833 Merge branch 'Snowy-Burrow-Spawns-Fix' into 'main'
Fix Snowy burrows spawns and some floating water in one difting iceberg

See merge request cable-mc/cobblemon!2423
2026-09-21 08:23:17 +00:00
Polymeta 64dd8ae193 fix license header
Signed-off-by: Polymeta <4726322-polymeta@users.noreply.gitlab.com>
2026-09-21 09:17:44 +01:00
Polymeta 156ee6f290 new negate requirement
Signed-off-by: Polymeta <4726322-polymeta@users.noreply.gitlab.com>
2026-09-21 08:23:04 +01:00
Gertimoshka fe433d1417 Fixed Mochis and Feathers dropping glass bottles when they shouldn't 2026-09-20 20:10:25 +02:00
Hiroku 0dc662d295 Merge branch 'starter-screen-fixes' into 'main'
Fixes minor but annoying starter screen fixes

See merge request cable-mc/cobblemon!2424
2026-09-20 09:33:15 +00:00
Gertimoshka 081e370bfd User friendlier changelog 2026-09-20 11:13:08 +02:00
Gertimoshka 3ef0567287 simplifications 2026-09-20 11:05:26 +02:00
Gertimoshka 3cad9e5481 Forgor the Changelog 2026-09-20 11:01:52 +02:00
Gertimoshka dc8b7908be Fixed impropper rendering culling of entries, and random starter not being part of height calculation of the category 2026-09-20 10:52:15 +02:00
Slippy 85085a1eca Decaying Crypt tombstones now will generate with TMs in the gidled chest 2026-09-19 22:40:20 -05:00
Slippy bff59dee6e Fix Snowy burrows spawns and some floating water in one difting iceberg 2026-09-19 22:01:17 -05:00
Hiroku bb5828531a Merge branch 'type-gem-fix' into 'main'
Fix typo and update changelog.

See merge request cable-mc/cobblemon!2422
2026-09-20 02:29:36 +00:00
Deltric cd08e98c28 Fix typo and update changelog. 2026-09-19 21:09:32 -05:00
Polymeta bf7d40c9b5 Merge branch 'small-jvm-fix' into 'main'
Added JvmField to Some values in Cobblemon Blocks cause it was forgotten

See merge request cable-mc/cobblemon!2419
2026-09-18 18:30:24 +00:00
Polymeta 5abb3d7f97 Merge branch 'fix/molang-delete-variables-fn' into 'main'
fix: reintroduce `delete_variables` general molang fn

See merge request cable-mc/cobblemon!2421
2026-09-18 18:29:23 +00:00
Gitoido 975ad8186a chore: dangling variable 2026-09-18 18:03:41 +00:00
Gitoido 26b6419f04 fix: reintroduce delete_variables general molang fn 2026-09-18 18:00:44 +00:00
Jerzykv 331f7ca425 Implemented Burmy, Wormadam and Mothim 2026-09-18 07:15:33 +02:00
RedGenesectNinja 71c9ac0ff0 Updated changelog 2026-09-17 15:15:20 -05:00
GenotypeXD 1404cc0ab5 Sun Lizards Implementation Tags 2026-09-17 15:11:31 -05:00
GenotypeXD 6ca908a91d Implemented Helioptile Line 2026-09-17 13:05:12 -05:00
Jerzykv 0948b8da9a Fixed Dragonair not using its idle correctly 2026-09-17 19:17:29 +02:00
Jerzykv 22e04a53b3 changelog 2026-09-17 18:39:10 +02:00
Jerzykv df3217b41b Fixed Bramblin always sleeping 2026-09-17 18:38:48 +02:00
Jerzykv 9ff15a1913 Flygon poser fix 2026-09-17 06:43:03 +02:00
Aram 89e43945a3 Edit CobblemonBlocks.kt 2026-09-16 14:25:26 +02:00
Aram bd8dcddf35 Edit CobblemonBlocks.kt 2026-09-16 14:24:31 +02:00
Polymeta dd372f3160 Merge branch 'recipe-booking' into 'main'
Recipe Book Tweaks

Closes #2088

See merge request cable-mc/cobblemon!2418
2026-09-16 10:03:42 +00:00
dhi_holo c56aab28d4 Recipe Book Tweaks
Closes #2088 as well as fixes a lot of similar issues for gameplay consistency
2026-09-16 18:41:05 +10:00
RedGenesectNinja ca58801794 Implemented Tympole, Palpitoad and Seismitoad 2026-09-15 23:36:40 -05:00
Instrafe 38fa5e2628 Updated Changelog 2026-09-15 16:46:25 -04:00
Instrafe fae1ae7124 Implemented Absol's remodel 2026-09-15 16:45:59 -04:00
Jerzykv 3ec5f76c73 Implemented Deerling and Sawsbuck remodels 2026-09-15 14:15:37 +02:00
ewwww 5bb8aaba55 Merge remote-tracking branch 'origin/implement_pokemon' into implement_pokemon 2026-09-15 05:05:08 -04:00
ewwww 23ba41e981 wiglett + wugtrio underwater tweaks 2026-09-15 05:04:40 -04:00
Instrafe 29b049452b Updated Changelog 2026-09-14 19:24:03 -04:00
Instrafe 0b0f665804 Glimmet and Glimmora now have implemented remodels 2026-09-14 19:23:30 -04:00
Polymeta 3cdf28ffdd Merge branch 'Chorus-Briar-Fix' into 'main'
I'm never doing an update where I have to keep track of 650+ structure files again

See merge request cable-mc/cobblemon!2414
2026-09-14 21:18:29 +00:00
Kenji_64 5d53fba2ce Fixed Rockruff line missing blinks 2026-09-14 20:47:40 +02:00
Slippy c6fb18ea51 I'm never doing an update hwere I have to keep track of 650+ structure files again 2026-09-14 10:48:01 -05:00
Polymeta 2d851cb134 Merge branch 'tm-crafting-corrections' into 'main'
TM Recipes

See merge request cable-mc/cobblemon!2413
2026-09-14 13:03:40 +00:00
dhi_holo f685be0aab TM Recipes
Corrected two incorrect TM recieps, both in the jsons and the spreadsheets
2026-09-14 16:30:06 +10:00
FrankTheFarmer 14cc851562 Tweaked Mimikyus poser. Hopefully fixes an issue nobody can replicate 😭 2026-09-14 09:46:55 +10:00
FrankTheFarmer 7223d1fd68 Merge branch 'main' into implement_pokemon 2026-09-14 09:21:43 +10:00
Polymeta 6ab5ad52ec Merge branch 'typegem-advancement-trigger' into 'main'
Adds typegem item advancement trigger

Closes #2086

See merge request cable-mc/cobblemon!2411
2026-09-13 20:58:08 +00:00
PieDuck 079b2ae766 Merge branch 'typegem-advancement-trigger' of https://gitlab.com/dmnaru/cobblemon into typegem-advancement-trigger 2026-09-13 21:51:29 +01:00
PieDuck 34eea827e7 changelog 2026-09-13 21:51:09 +01:00
PieDuck 06c6ee5a9c Merge branch cobblemon:main into typegem-advancement-trigger 2026-09-13 21:37:22 +01:00
PieDuck 54748c20ea Add type gem item advancement trigger 2026-09-13 21:36:18 +01:00
Instrafe 75f52e4cf4 Updated Changelog 2026-09-13 11:10:48 -04:00
Instrafe 55446dd4b1 Implemented remodels for Binacle and Barbaracle 2026-09-13 11:08:58 -04:00
Polymeta 02e63b6fc8 Merge branch 'gem-block-alert' into 'main'
Fixed Missing Recipe Advancements

See merge request cable-mc/cobblemon!2409
2026-09-13 14:41:13 +00:00
Polymeta 3aebcf66ec rename lang file to match convention 2026-09-13 14:26:44 +00:00
dhi_holo 49a5f716b7 Fixed Missing Recipe Advancements
Why were the advancements in the recipes..?
2026-09-13 22:05:44 +10:00
ewwww 8b825d558f cacnea & cacturne remodels + animations 2026-09-13 06:28:57 -04:00
jackowes 9a7f97f11f changelog 2026-09-12 21:52:56 -05:00
jackowes 95b8d62e4a Fix issue with quat spring and replace orientation controller tick slerp with quat spring 2026-09-12 21:45:26 -05:00
Hiroku 0bd7b4dab3 Merge branch 'decorative-items-restored' into 'main'
Decorative Items Project Returns

See merge request cable-mc/cobblemon!2343
2026-09-13 02:24:00 +00:00
Hiroku 8cbada0cf5 Fix changelog whackiness [skip-ci] 2026-09-13 12:23:40 +10:00
Hiroku f0784fec2d Merge remote-tracking branch 'origin/main' into decorative-items-restored 2026-09-13 12:21:54 +10:00
Hiroku cfe0c5e0a5 Snap on 2026-09-13 11:27:40 +10:00
Kenji_64 f25a676bd5 Changelog 2026-09-10 13:26:54 +02:00
Kenji_64 a9906762a0 Fixed head_ai and removed battle condition on Lycanroc (all forms) 2026-09-10 13:23:03 +02:00
Kenji_64 7b5b88eca2 Added head movement to Archaludon and added missing sleep poses to Duraludon line 2026-09-10 13:22:34 +02:00
Kenji_64 291682ba52 Added Diglett line faints (which were in the files, but not implemented) 2026-09-10 12:50:56 +02:00
Kenji_64 546d403b45 Fixed Kingambit waddling its legs around when moving 2026-09-10 12:50:22 +02:00
FrankTheFarmer c9f40e32a1 Changedog 2026-09-09 20:42:39 +10:00
FrankTheFarmer d642b8dd07 Candle dog's dad 🪦 🐶 2026-09-09 20:41:42 +10:00
FrankTheFarmer 549a11116e Candle dog. Dog with the candle. We put candle on him 🕯🐶 2026-09-09 20:39:45 +10:00
Polymeta b5468a4a4f Merge branch 'main' into implement_pokemon 2026-09-09 09:06:51 +01:00
ewwww c5d278ccb7 spheal. 2026-09-09 03:42:50 -04:00
ewwww bf5e15de45 Merge remote-tracking branch 'origin/implement_pokemon' into implement_pokemon 2026-09-09 03:40:21 -04:00
Jerzykvandewwww f4af417267 Fixed Alolan Raticate's cry 2026-09-09 03:40:14 -04:00
FrankTheFarmerandewwww 69c04acaeb ⚡ Vikavolt 2026-09-09 03:40:14 -04:00
FrankTheFarmerandewwww 83a6bb188f 🚎Charjabug💖 2026-09-09 03:40:14 -04:00
FrankTheFarmerandewwww 494a8b5e91 🐛Grubbin 2026-09-09 03:40:14 -04:00
FrankTheFarmerandewwww c8021f2f08 Im putting bugs into cobblemon changelog 2026-09-09 03:40:14 -04:00
Jerzykvandewwww 8cdf3af047 Ampharos now has eye locators 2026-09-09 03:40:14 -04:00
ewwww c90a24e1ab switcheroo part two 2026-09-09 03:40:14 -04:00
FrankTheFarmerandewwww 83e3cfc34e Placeholder idle animation for snover 2026-09-09 03:40:14 -04:00
FrankTheFarmerandewwww 133dd4e5b7 🏔 Added snover line 🌲 2026-09-09 03:40:13 -04:00
FrankTheFarmerandewwww a8cca14b86 Obamasnow 2026-09-09 03:40:13 -04:00
FrankTheFarmerandewwww 9b0f356fa4 Donald Snover 2026-09-09 03:40:13 -04:00
FrankTheFarmerandewwww f2b0a102b6 What if we started implementing pokemon rn rn 2026-09-09 03:40:13 -04:00
FrankTheFarmer a7d01b230a Merge branch 'main' into implement_pokemon 2026-09-09 16:04:20 +10:00
jackowes 2a7db4b9b8 bring in util functions 2026-09-08 20:15:54 -05:00
Jerzykv 77e5f2501d Fixed Alolan Raticate's cry 2026-09-08 19:56:35 +02:00
FrankTheFarmer e6513717bd ⚡ Vikavolt 2026-09-08 21:34:26 +10:00
FrankTheFarmer 0e0c98f693 🚎Charjabug💖 2026-09-08 21:32:56 +10:00
FrankTheFarmer 528bfa4e22 🐛Grubbin 2026-09-08 21:32:09 +10:00
FrankTheFarmer 83c87779d7 Im putting bugs into cobblemon changelog 2026-09-08 21:30:42 +10:00
FrankTheFarmer dc33235144 Merge branch 'refs/heads/main' into implement_pokemon 2026-09-08 21:29:01 +10:00
FrankTheFarmer 935c658c5f Merge branch 'main' into implement_pokemon 2026-09-08 17:59:22 +10:00
Jerzykv 0426f4fbf9 Ampharos now has eye locators 2026-09-07 08:31:09 +02:00
dhi_holo 75bc03fdcb Merge branch 'main' into decorative-items-restored 2026-09-07 15:19:27 +10:00
ewwww 46e771a062 Merge remote-tracking branch 'origin/implement_pokemon' into implement_pokemon 2026-09-05 22:07:28 -04:00
ewwww 4c0095844b Merge remote-tracking branch 'origin/implement_pokemon_2' into implement_pokemon 2026-09-05 22:06:39 -04:00
ewwww 10a2ef27d6 switcheroo part two 2026-08-24 15:36:02 -04:00
dhi_holo 309ff3da13 Loaded Cleanup
Added Loaded Dice, cleaned up some particles
2026-08-12 20:15:52 +10:00
dhi_holo 3af91e2a74 Further Tweaking 2026-08-12 14:26:20 +10:00
dhi_holo 2e027e3db7 Some Visual and Auditory Tweaks 2026-08-12 14:13:21 +10:00
dhi_holo fc40fb02c0 Next Batch
Never-Melt Ice, Wide, Scope, and Zoom Lens, as well as new designs for Upgrade and Dubious Disc
2026-08-12 13:52:13 +10:00
dhi_holo 2c1c0299f9 SPHERICAL!
Adds Flame Orb, Life Orb, Toxic Orb, Light Ball, and Smoke Ball blocks
2026-08-12 12:24:21 +10:00
FrankTheFarmer 3c7637515c Placeholder idle animation for snover 2026-08-10 13:03:00 +10:00
dhi_holo 08cbbaf68c Merge branch 'main' into decorative-items-restored 2026-08-10 10:21:06 +10:00
Sterrezo 6e911acf01 Sound tweaks
Swapped pot sound types from tumblestone to decorated pots and rock sounds from tumblestone to deepslate.
2026-08-09 12:20:13 +02:00
dhi_holo f6d82a1b28 Changelog
and some last second sound tweaks
2026-08-09 19:17:19 +10:00
dhi_holo 702126aeab Adds Throat Spray and Iron Ball
Adds in Throat Spray and Iron Ball blocks, finishes clean up of King's Rock to look a bit more consistent
2026-08-09 19:04:08 +10:00
dhi_holo df566e8fcb Wearable Hat Cleanup
Fixed King's Rock Blockstate and loot table as well

Wearable "Hat" Items can now be prevented from swapping when trying to open the interaction wheel (sneak right-click), making it not a nightmare to give certain items to Pokemon. Yippee!
2026-08-09 18:53:58 +10:00
dhi_holo c83e0f33b5 Wearable Items Mostly Working Better
Wearable Items now can either be "Blocks" or "Hats"
"Blocks" can be placed as blocks in the world, while "Hats" can be put on the player's head by right clicking them in hand
Need to add some form of override when crouching and looking at a Pokemon though
2026-08-09 17:30:49 +10:00
dhi_holo f279f936b6 Generified Plaque/Wreath/Magnet Code
Moved shared code to a singular class
2026-08-09 16:04:22 +10:00
dhi_holo f8e20bafd9 Import Cleanup 2026-08-09 12:23:19 +10:00
dhi_holo a5211ca7ff Convention Alignment
Changed all stackable item blockstates/model files to utilise the convention from vanilla (seen on blocks such as pink petals)
This commit adds no files, and removes no files, it purely renames and swaps out numbers
2026-08-09 12:06:01 +10:00
FrankTheFarmer 0a5abdb331 🏔 Added snover line 🌲 2026-08-09 11:15:45 +10:00
FrankTheFarmer 4ed7413dd2 Obamasnow 2026-08-09 11:13:17 +10:00
FrankTheFarmer 40b66c24fc Donald Snover 2026-08-09 11:12:56 +10:00
dhi_holo 2f7bedf001 Update scribblenotes - Decorative Items.txt 2026-08-08 18:05:17 +10:00
dhi_holo 44c31a9ddb Update StackableItemBlock.kt
Simplified the way the hitboxes are defined, to allow for future planned hitboxes to actually work as intended
2026-08-08 17:33:34 +10:00
FrankTheFarmer 20a35de3d8 What if we started implementing pokemon rn rn 2026-08-08 14:58:20 +10:00
dhi_holo cfc8a15db1 Update scribblenotes - Decorative Items.txt 2026-08-06 18:35:29 +10:00
dhi_holo d5ba22a86c Removal of Unneeded Lines
deprecate deez nuts
2026-08-06 15:01:34 +10:00
dhi_holo a38505f1c5 Update scribblenotes - Decorative Items.txt
Documenting ideas and plans for future me
2026-08-05 19:28:29 +10:00
dhi_holo 3cf1ba1fb3 Tag Tweaks
Added stuff to relevant tags, removed unused tag from removed feature
2026-08-05 18:36:38 +10:00
dhi_holo 9f5d595827 Import Cleanup
Just removing some imports from reverted changes that snuck into commits
2026-08-05 18:03:06 +10:00
dhi_holo 75673f0204 Mild Polish 2026-08-05 17:09:40 +10:00
dhi_holo b43a7571ff Eject Button
Now with cleaner code, I hope this is more acceptable
2026-08-05 16:13:24 +10:00
dhi_holo b071dc04d3 Metronome
Reimplemented the Metronome, the code has been genericized to allow for more items to be implemented off the same base, although a little bit more work does need to be done there with the comparator output specifically
2026-08-05 15:34:32 +10:00
dhi_holo 12f9ff1647 Wreath, Magnet, and some tweaks to Plaques
Plaques now place the way I had originally set them up, and Galarica Wreaths along with the Magnet are back
2026-08-05 14:34:41 +10:00
dhi_holo 3256a302df Ring Target
Could maybe be polished up, but is good
2026-08-05 13:06:07 +10:00
dhi_holo edbe447477 Basic Decorations
Reimplemented Galarica Cuff, Teapots, Teacups, Weather Rocks, Sachet, Metal Powder, Quick Powder, Bright Powder, Destiny Knot, and Luminous Moss
2026-08-05 12:04:48 +10:00
Gertimoshka 2f43910368 Cleaner Implementation with less duplicate code 2026-08-04 22:21:58 +03:00
dhi_holo c2e87e4cfa Placeable Vitamins Experiment A
Need coder feedback regarding this
Makes Mochi and Feathers require clicking in the air or directly on a Pokemon, if it thinks it can place as a block it prevents usage
2026-08-04 19:25:13 +10:00
dhi_holo e40d2ee806 Create scribblenotes - Decorative Items.txt
Making this a unique commit so it's easy to reference back to later
2026-08-04 14:53:53 +10:00
dhi_holo ba74e7603b Wearables 1
Made Sharp Beak, Covert Cloak, and Shell Helmet wearable
2026-08-04 13:51:49 +10:00
dhi_holo 19c3fe6dc4 Update StackableItemBlock.kt
Fixed hitbox oversight
2026-08-04 13:35:17 +10:00
dhi_holo d0778dd124 Missing Stackables 1
Reimplemented Metal Coat, PP Up, and PP Max's placeable logic
Began work for other Vitamins to work (incomplete)
Added models, textures, blockstates, and loot tables for most incoming blocks
2026-08-04 13:16:46 +10:00
1187 changed files with 58221 additions and 8141 deletions
+91 -34
View File
@@ -1,41 +1,98 @@
# Changelog
## [1.8.1 (September 13th, 2026)](#1-8-1)
## [1.8.2 (MONTH xth, 2026)](#1-8-2)
### Additions
- The following items can now be placed on the ground as blocks:
- King's Rock, Galarica Cuff, Unremarkable Teacup, Masterpiece Teacup, Chipped Pot, Cracked Pot, Sachet, Metal Powder, Quick Powder, Bright Powder, Icy Rock, Heat Rock, Smooth Rock, Damp Rock, Destiny Knot, Luminous Moss, Never-Melt Ice, Wide Lens, Scope Lens, and Zoom Lens.
- Iron Ball, Metal Coat, Throat Spray, HP Up, Protein, Iron, Carbos, Calcium, Zinc, PP Up, PP Max, Upgrade, Dubious Disc, and Loaded Dice.
- The following items can now be placed on various surfaces:
- Galarica Wreath, Magnet, Flame Orb, Life Orb, Toxic Orb, Light Ball, and Smoke Ball.
- The following items can now be placed as blocks and have additional functionality:
- Ring Target, Metronome, and Eject Button.
- The following items can now be worn by Players and Pokémon:
- Galarica Wreath, Cleanse Tag, Spell Tag, Sharp Beak, Covert Cloak, Shell Helmet, and Never-Melt Ice.
- Wearable items can now be equipped by a player by holding it and right-clicking (or rebound use/interact)
- Wearable items that can be placed down are exempt from this behaviour.
### Pokémon Added
#### Generation 4
- Snover
- Abomasnow
- Burmy
- Wormadam
- Mothim
#### Generation 5
- Tympole
- Palpitoad
- Seismitoad
#### Generation 6
- Helioptile
- Heliolisk
#### Generation 7
- Grubbin
- Charjabug
- Vikavolt
#### Generation 9
- Greavard
- Houndstone
### Model updates for the following Pokémon
- Cacnea
- Cacturne
- Binacle
- Barbaracle
- Glimmet
- Glimmora
- Deerling
- Sawsbuck (All forms)
- Absol
### Animation updates for the following Pokémon
- Flapple, Appletun, Dipplin, Hydrapple (placeholder animations only).
- Cacnea
- Cacturne
### Changes
- Updated various recipes to display in Recipe Groups within the Recipe Book
- Updated most recipes to display more logically/consistently within the Recipe Book's categories
- Make ride rotations less jittery in multiplayer.
- Adjusted the timing and volume of sounds for Close Combat, Swords Dance and Aerial Ace
### Fixes
- Fixed a potential world generation stall caused by Type Gem clusters.
- Fixed Pokémon on shoulders not animating if they are visibly holding a held item.
- Fixed NPCs getting their own TM progress file.
- Fixed odd NeoForge crash due to a dependency being outdated. It will now correctly flag the dependency for being outdated.
- Fixed the TM Machine refusing move selections that the `unlockAllMoveDexMovesByDefault` config had made visible, leaving the move slot blank and the craft button unresponsive.
- Fixed the Beast Ball not applying its 0.1× penalty to Pokémon that are not Ultra Beasts.
- Fixed the Moon Ball reading the world's total elapsed time instead of the time of day, so its bonus applied during the day instead.
- Fixed the Love Ball never awarding its 2.5× opposite gender bonus, and matching species by display name instead of identifier.
- Fixed the Timer Ball being weaker than a regular Poké Ball on early turns and only reaching 4× on turn 14 instead of turn 10.
- Fixed the Luxury Ball only doubling Friendship gains of 1, leaving level up and berry gains unaffected.
- Fixed Rufflet, Braviary, and Hisuian Braviary flooding logs with errors about missing sound events.
- Fixed Pokémon property typos in Pangoro and Dedenne herd spawn files.
- Fixed unintentional watermelon cosmetic for Hisuian Electrode.
- Fixed Blastoise having an unintentional passenger seat.
- Fixed form typo in Rockruff-Dusk spawn, preventing it from being able to spawn.
- Fixed the `stat_compare` and `stat_equal` evolution requirements crashing the game when given `special_attack` or `special_defence`, and made them treat any non-permanent stat as a failed requirement instead of crashing.
- Fixed Rowap and Jacoba berries not correctly altering Pokémon sizes when used as bait.
- Fixed Ampharos' eyes not emitting particles.
- Fixed Alolan Raticate's cry not playing.
- Fixed several incorrect light-based spawning conditions for ghosts and bugs.
- Removed unused, placeholder habitat pools.
- Fixed Mantyke, Mantine, and Quaxly getting stuck in a recoil 'expression' during battles due to having an expression assigned as a recoil animation.
- Fixed Lucario's aura particles not emitting.
- Fixed Lycanroc's head movement.
- Added head movement to Archaludon.
- Fixed Duraludon line not having their sleep animations.
- Fixed Diglett line not having their faint animations.
- Fixed Kingambit moving its legs while walking.
- Correctly grants "They're Minerals!" advancement when planting a type gem
- Type Gem Blocks now have advancements to give you the recipe in the recipe book (the data for the advancements were inside the recipes somehow??)
- Some other recipes without advancements have also been corrected
- Corrected the TM Recipes for Charge Beam and Payday
- Type Gem blocks now properly generate clusters off of the block.
- Starter Screen Categories will no longer stop rendering if they are bigger than the viewport, and you are not viewing top or bottom edges
- Random Starter option now properly handled in height calculation, so now it won't run off into other categories or be un-accessible due to scroll limits if it causes a new row
- Mochi and Feathers no longer drop glass bottles on use
- Fixed a rare set of concurrency bugs related to reloading packs on NeoForge; fixes a ModernFix issue
- Removed unnecessary conditions for Mimikyu's standing pose. Hopefully fixes the rare instance of it using its shoulder animations during battle in multiplayer scenarios.
- Fixed Rockruff line not blinking
- Fixed Flygon sometimes using its running animation instead of walking
- Fixed Bramblin always sleeping outside of battle
- Fixed Dragonair using its battle idle as a normal idle
- Fixed Lycanroc's head movement
- Added head movement to Archaludon
- Fixed Duraludon line not having any sleep animations
- Fixed Diglett line not having their faint animations
- Fixed Kingambit moving its legs while walking
- Various Structure fixes
- Tail Whip's sound now correctly plays on the Pokémon performing the move, rather than its target
### Developer
### Molang & Datapacks
- A new `negate` variant for evolution requirements has been added, which will negate (invert) the provided inner condition.
- Added Molang functions for individual Pokédex ids, wherein a subdex is passed in as a string to `dex_caught_count` etc.
### Particles
#### New Move Animations
### Localization
- Updated translations for:
- Brazilian Portuguese
- Simplified Chinese
- Japanese
- Updated translations for:
-9
View File
@@ -1,9 +0,0 @@
- Some kind of particle effect for them? they're meant to have glowing eyes, so maybe some red particles on the eye locator
--- global posers? stacked posers?
--- red texture seems to be what some people wanted.
/- shoulder mounts part of it
- omni boost
- roar when player comes within reach, adjust levels
- Riding settings to control what the min scale is for a pokemon to be ridable.
+41
View File
@@ -0,0 +1,41 @@
# Changelog
## [1.8.1 (September 13th, 2026)](#1-8-1)
### Animation updates for the following Pokémon
- Flapple, Appletun, Dipplin, Hydrapple (placeholder animations only).
### Fixes
- Fixed a potential world generation stall caused by Type Gem clusters.
- Fixed Pokémon on shoulders not animating if they are visibly holding a held item.
- Fixed NPCs getting their own TM progress file.
- Fixed odd NeoForge crash due to a dependency being outdated. It will now correctly flag the dependency for being outdated.
- Fixed the TM Machine refusing move selections that the `unlockAllMoveDexMovesByDefault` config had made visible, leaving the move slot blank and the craft button unresponsive.
- Fixed the Beast Ball not applying its 0.1× penalty to Pokémon that are not Ultra Beasts.
- Fixed the Moon Ball reading the world's total elapsed time instead of the time of day, so its bonus applied during the day instead.
- Fixed the Love Ball never awarding its 2.5× opposite gender bonus, and matching species by display name instead of identifier.
- Fixed the Timer Ball being weaker than a regular Poké Ball on early turns and only reaching 4× on turn 14 instead of turn 10.
- Fixed the Luxury Ball only doubling Friendship gains of 1, leaving level up and berry gains unaffected.
- Fixed Rufflet, Braviary, and Hisuian Braviary flooding logs with errors about missing sound events.
- Fixed Pokémon property typos in Pangoro and Dedenne herd spawn files.
- Fixed unintentional watermelon cosmetic for Hisuian Electrode.
- Fixed Blastoise having an unintentional passenger seat.
- Fixed form typo in Rockruff-Dusk spawn, preventing it from being able to spawn.
- Fixed the `stat_compare` and `stat_equal` evolution requirements crashing the game when given `special_attack` or `special_defence`, and made them treat any non-permanent stat as a failed requirement instead of crashing.
- Fixed Rowap and Jacoba berries not correctly altering Pokémon sizes when used as bait.
- Fixed Ampharos' eyes not emitting particles.
- Fixed Alolan Raticate's cry not playing.
- Fixed several incorrect light-based spawning conditions for ghosts and bugs.
- Removed unused, placeholder habitat pools.
- Fixed Mantyke, Mantine, and Quaxly getting stuck in a recoil 'expression' during battles due to having an expression assigned as a recoil animation.
- Fixed Lucario's aura particles not emitting.
- Fixed Lycanroc's head movement.
- Added head movement to Archaludon.
- Fixed Duraludon line not having their sleep animations.
- Fixed Diglett line not having their faint animations.
- Fixed Kingambit moving its legs while walking.
### Localization
- Updated translations for:
- Brazilian Portuguese
- Simplified Chinese
- Japanese
@@ -16,6 +16,8 @@ import com.cobblemon.mod.common.block.MintBlock.MintType
import com.cobblemon.mod.common.block.campfirepot.CampfireBlock
import com.cobblemon.mod.common.block.campfirepot.CampfirePotBlock
import com.cobblemon.mod.common.block.chest.GildedChestBlock
import com.cobblemon.mod.common.block.decor.ActivatableDecorationBlock
import com.cobblemon.mod.common.block.decor.RingTargetBlock
import com.cobblemon.mod.common.block.general.BaleBlock
import com.cobblemon.mod.common.block.general.HorizontalRotationCarpetBlock
import com.cobblemon.mod.common.block.general.HorizontalRotationalBlock
@@ -620,6 +622,88 @@ object CobblemonBlocks : PlatformRegistry<Registry<Block>, ResourceKey<Registry<
@JvmField
val WEAKNESS_POLICY = create("weakness_policy", WallAttachedDirectionalShapeBlock(BlockBehaviour.Properties.of().sound(CobblemonSounds.ITEM_BLOCK_PAPER_LARGE_SOUNDS).mapColor(MapColor.NONE).noOcclusion().noCollission(), 14, 12, 1))
@JvmField
val RING_TARGET = create("ring_target", RingTargetBlock(BlockBehaviour.Properties.of().sound(SoundType.WOOD).mapColor(MapColor.NONE).noOcclusion().strength(0.125f)))
@JvmField
val MAGNET = create("magnet", MagnetBlock(BlockBehaviour.Properties.of().sound(SoundType.METAL).mapColor(MapColor.NONE).noOcclusion().strength(0.075f)))
@JvmField
val GALARICA_WREATH = create("galarica_wreath", GalaricaWreathBlock(BlockBehaviour.Properties.of().sound(SoundType.AZALEA_LEAVES).mapColor(MapColor.NONE).noOcclusion().noCollission()))
@JvmField
val FLAME_ORB = create("flame_orb", OrbBlock(BlockBehaviour.Properties.of().sound(SoundType.GLASS).mapColor(MapColor.NONE).noOcclusion().lightLevel{15}))
@JvmField
val TOXIC_ORB = create("toxic_orb", OrbBlock(BlockBehaviour.Properties.of().sound(SoundType.GLASS).mapColor(MapColor.NONE).noOcclusion()))
@JvmField
val LIFE_ORB = create("life_orb", OrbBlock(BlockBehaviour.Properties.of().sound(SoundType.GLASS).mapColor(MapColor.NONE).noOcclusion().lightLevel{7}))
@JvmField
val LIGHT_BALL = create("light_ball", OrbBlock(BlockBehaviour.Properties.of().sound(SoundType.GLASS).mapColor(MapColor.NONE).noOcclusion().lightLevel{13}))
@JvmField
val SMOKE_BALL = create("smoke_ball", OrbBlock(BlockBehaviour.Properties.of().sound(SoundType.GLASS).mapColor(MapColor.NONE).noOcclusion()))
@JvmField
val KINGS_ROCK = create("kings_rock", DecorativeItemBlock(BlockBehaviour.Properties.of().sound(CobblemonSounds.TUMBLESTONE_BLOCK_SOUNDS).mapColor(MapColor.NONE).noOcclusion(), DecorativeItemBlock.DecorativeItemBlockType.CENTERED_6x))
@JvmField
val GALARICA_CUFF = create("galarica_cuff", DecorativeItemBlock(BlockBehaviour.Properties.of().sound(SoundType.AZALEA_LEAVES).mapColor(MapColor.NONE).noCollission().noOcclusion(), DecorativeItemBlock.DecorativeItemBlockType.FLATTENED_10x4))
@JvmField
val UNREMARKABLE_TEACUP = create("unremarkable_teacup", DecorativeItemBlock(BlockBehaviour.Properties.of().sound(SoundType.DECORATED_POT).mapColor(MapColor.NONE).noOcclusion(), DecorativeItemBlock.DecorativeItemBlockType.TEACUP))
@JvmField
val MASTERPIECE_TEACUP = create("masterpiece_teacup", DecorativeItemBlock(BlockBehaviour.Properties.of().sound(SoundType.DECORATED_POT).mapColor(MapColor.NONE).noOcclusion(), DecorativeItemBlock.DecorativeItemBlockType.TEACUP))
@JvmField
val CHIPPED_POT = create("chipped_pot", DecorativeItemBlock(BlockBehaviour.Properties.of().sound(SoundType.DECORATED_POT).mapColor(MapColor.NONE).noOcclusion(), DecorativeItemBlock.DecorativeItemBlockType.TEAPOT))
@JvmField
val CRACKED_POT = create("cracked_pot", DecorativeItemBlock(BlockBehaviour.Properties.of().sound(SoundType.DECORATED_POT).mapColor(MapColor.NONE).noOcclusion(), DecorativeItemBlock.DecorativeItemBlockType.TEAPOT))
@JvmField
val SACHET = create("sachet", DecorativeItemBlock(BlockBehaviour.Properties.of().sound(SoundType.WOOL).mapColor(MapColor.NONE).noOcclusion(), DecorativeItemBlock.DecorativeItemBlockType.POUCH))
@JvmField
val METAL_POWDER = create("metal_powder", DecorativeItemBlock(BlockBehaviour.Properties.of().sound(SoundType.WOOL).mapColor(MapColor.NONE).noOcclusion(), DecorativeItemBlock.DecorativeItemBlockType.POUCH))
@JvmField
val QUICK_POWDER = create("quick_powder", DecorativeItemBlock(BlockBehaviour.Properties.of().sound(SoundType.WOOL).mapColor(MapColor.NONE).noOcclusion(), DecorativeItemBlock.DecorativeItemBlockType.POUCH))
@JvmField
val BRIGHT_POWDER = create("bright_powder", DecorativeItemBlock(BlockBehaviour.Properties.of().sound(SoundType.WOOL).mapColor(MapColor.NONE).noOcclusion().lightLevel{3}, DecorativeItemBlock.DecorativeItemBlockType.POUCH))
@JvmField
val NEVER_MELT_ICE = create("never_melt_ice", DecorativeItemBlock(BlockBehaviour.Properties.of().sound(SoundType.GLASS).mapColor(MapColor.NONE).noOcclusion().friction(0.989F), DecorativeItemBlock.DecorativeItemBlockType.NEVERMELT))
@JvmField
val SCOPE_LENS = create("scope_lens", DecorativeItemBlock(BlockBehaviour.Properties.of().sound(SoundType.COPPER).mapColor(MapColor.NONE).noOcclusion(), DecorativeItemBlock.DecorativeItemBlockType.SCOPE))
@JvmField
val WIDE_LENS = create("wide_lens", DecorativeItemBlock(BlockBehaviour.Properties.of().sound(SoundType.COPPER).mapColor(MapColor.NONE).noOcclusion(), DecorativeItemBlock.DecorativeItemBlockType.WIDE))
@JvmField
val ZOOM_LENS = create("zoom_lens", DecorativeItemBlock(BlockBehaviour.Properties.of().sound(SoundType.COPPER).mapColor(MapColor.NONE).noOcclusion(), DecorativeItemBlock.DecorativeItemBlockType.ZOOM))
@JvmField
val ICY_ROCK = create("icy_rock", DecorativeItemBlock(BlockBehaviour.Properties.of().sound(SoundType.DEEPSLATE).mapColor(MapColor.NONE).noOcclusion(), DecorativeItemBlock.DecorativeItemBlockType.FLATTENED_8x4))
@JvmField
val HEAT_ROCK = create("heat_rock", DecorativeItemBlock(BlockBehaviour.Properties.of().sound(SoundType.DEEPSLATE).mapColor(MapColor.NONE).noOcclusion(), DecorativeItemBlock.DecorativeItemBlockType.FLATTENED_8x4))
@JvmField
val SMOOTH_ROCK = create("smooth_rock", DecorativeItemBlock(BlockBehaviour.Properties.of().sound(SoundType.DEEPSLATE).mapColor(MapColor.NONE).noOcclusion(), DecorativeItemBlock.DecorativeItemBlockType.FLATTENED_8x4))
@JvmField
val DAMP_ROCK = create("damp_rock", DecorativeItemBlock(BlockBehaviour.Properties.of().sound(SoundType.DEEPSLATE).mapColor(MapColor.NONE).noOcclusion(), DecorativeItemBlock.DecorativeItemBlockType.FLATTENED_8x6))
@JvmField
val DESTINY_KNOT = create("destiny_knot", DecorativeItemBlock(BlockBehaviour.Properties.of().sound(SoundType.WOOL).mapColor(MapColor.NONE).noOcclusion(), DecorativeItemBlock.DecorativeItemBlockType.KNOT))
@JvmField
val LUMINOUS_MOSS = create("luminous_moss", DecorativeItemBlock(BlockBehaviour.Properties.of().sound(SoundType.MOSS).mapColor(MapColor.NONE).noOcclusion().lightLevel{5}, DecorativeItemBlock.DecorativeItemBlockType.CENTERED_8x))
@JvmField
val METRONOME = create("metronome", ActivatableDecorationBlock(BlockBehaviour.Properties.of().sound(SoundType.METAL).mapColor(MapColor.NONE).pushReaction(PushReaction.DESTROY).noOcclusion(), ActivatableDecorationBlock.ActivatableDecorationBlockType.METRONOME))
@JvmField
val EJECT_BUTTON = create("eject_button", EjectButtonBlock(BlockBehaviour.Properties.of().sound(SoundType.METAL).mapColor(MapColor.NONE).pushReaction(PushReaction.DESTROY).noOcclusion().strength(0.125f), 40))
@JvmField
val LOADED_DICE = create("loaded_dice", StackableItemBlock(BlockBehaviour.Properties.of().sound(SoundType.CANDLE).mapColor(MapColor.NONE).noOcclusion(), StackableItemBlock.StackableItemBlockType.DICE))
@JvmField
val IRON_BALL = create("iron_ball", StackableItemBlock(BlockBehaviour.Properties.of().sound(SoundType.METAL).mapColor(MapColor.NONE).noOcclusion(), StackableItemBlock.StackableItemBlockType.IRON_BALL))
@JvmField
val METAL_COAT = create("metal_coat", StackableItemBlock(BlockBehaviour.Properties.of().sound(SoundType.METAL).mapColor(MapColor.NONE).noOcclusion(), StackableItemBlock.StackableItemBlockType.METAL_COAT))
@JvmField
val UPGRADE = create("upgrade", StackableItemBlock(BlockBehaviour.Properties.of().sound(SoundType.CANDLE).mapColor(MapColor.NONE).noOcclusion(), StackableItemBlock.StackableItemBlockType.UPGRADE))
@JvmField
val DUBIOUS_DISC = create("dubious_disc", StackableItemBlock(BlockBehaviour.Properties.of().sound(SoundType.CANDLE).mapColor(MapColor.NONE).noOcclusion(), StackableItemBlock.StackableItemBlockType.UPGRADE))
@JvmField
val THROAT_SPRAY = create("throat_spray", StackableItemBlock(BlockBehaviour.Properties.of().sound(SoundType.CANDLE).mapColor(MapColor.NONE).noOcclusion(), StackableItemBlock.StackableItemBlockType.THROAT_SPRAY))
@JvmField
val FULL_HEAL = create("full_heal", StackableItemBlock(BlockBehaviour.Properties.of().sound(SoundType.CANDLE).mapColor(MapColor.NONE).noOcclusion(), StackableItemBlock.StackableItemBlockType.STATUS_RESTORE))
@JvmField
@@ -670,6 +754,23 @@ object CobblemonBlocks : PlatformRegistry<Registry<Block>, ResourceKey<Registry<
@JvmField
val X_SPEED = create("x_${Stats.SPEED.identifier.path}", StackableItemBlock(BlockBehaviour.Properties.of().sound(SoundType.CANDLE).mapColor(MapColor.NONE).noOcclusion(), StackableItemBlock.StackableItemBlockType.BATTLE_ITEM))
@JvmField
val HP_UP = create("hp_up", StackableItemBlock(BlockBehaviour.Properties.of().sound(SoundType.CANDLE).mapColor(MapColor.NONE).noOcclusion(), StackableItemBlock.StackableItemBlockType.VITAMIN))
@JvmField
val PROTEIN = create("protein", StackableItemBlock(BlockBehaviour.Properties.of().sound(SoundType.CANDLE).mapColor(MapColor.NONE).noOcclusion(), StackableItemBlock.StackableItemBlockType.VITAMIN))
@JvmField
val IRON = create("iron", StackableItemBlock(BlockBehaviour.Properties.of().sound(SoundType.CANDLE).mapColor(MapColor.NONE).noOcclusion(), StackableItemBlock.StackableItemBlockType.VITAMIN))
@JvmField
val CARBOS = create("carbos", StackableItemBlock(BlockBehaviour.Properties.of().sound(SoundType.CANDLE).mapColor(MapColor.NONE).noOcclusion(), StackableItemBlock.StackableItemBlockType.VITAMIN))
@JvmField
val CALCIUM = create("calcium", StackableItemBlock(BlockBehaviour.Properties.of().sound(SoundType.CANDLE).mapColor(MapColor.NONE).noOcclusion(), StackableItemBlock.StackableItemBlockType.VITAMIN))
@JvmField
val ZINC = create("zinc", StackableItemBlock(BlockBehaviour.Properties.of().sound(SoundType.CANDLE).mapColor(MapColor.NONE).noOcclusion(), StackableItemBlock.StackableItemBlockType.VITAMIN))
@JvmField
val PP_UP = create("pp_up", StackableItemBlock(BlockBehaviour.Properties.of().sound(SoundType.CANDLE).mapColor(MapColor.NONE).noOcclusion(), StackableItemBlock.StackableItemBlockType.VITAMIN))
@JvmField
val PP_MAX = create("pp_max", StackableItemBlock(BlockBehaviour.Properties.of().sound(SoundType.CANDLE).mapColor(MapColor.NONE).noOcclusion(), StackableItemBlock.StackableItemBlockType.VITAMIN))
@JvmField
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) 13 else 0 }))
@JvmField
@@ -685,6 +786,7 @@ object CobblemonBlocks : PlatformRegistry<Registry<Block>, ResourceKey<Registry<
@JvmField
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)) 13 else 0 }))
@JvmField
val TM_MACHINE = create(
"tm_machine",
TMMachineBlock(
@@ -713,7 +815,7 @@ object CobblemonBlocks : PlatformRegistry<Registry<Block>, ResourceKey<Registry<
@JvmField
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)) 13 else 0 }))
@JvmField
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)))
@@ -472,9 +472,9 @@ object CobblemonItems : PlatformRegistry<Registry<Item>, ResourceKey<Registry<It
// Evolution items
@JvmField val LINK_CABLE = create("link_cable", LinkCableItem())
@JvmField val DRAGON_SCALE = noSettingsItem("dragon_scale")
@JvmField val METAL_COAT = noSettingsItem("metal_coat")
@JvmField val UPGRADE = noSettingsItem("upgrade")
@JvmField val DUBIOUS_DISC = noSettingsItem("dubious_disc")
@JvmField val METAL_COAT = itemNameBlockItem("metal_coat", CobblemonBlocks.METAL_COAT)
@JvmField val UPGRADE = itemNameBlockItem("upgrade", CobblemonBlocks.UPGRADE)
@JvmField val DUBIOUS_DISC = itemNameBlockItem("dubious_disc", CobblemonBlocks.DUBIOUS_DISC)
@JvmField val DEEP_SEA_SCALE = noSettingsItem("deep_sea_scale")
@JvmField val DEEP_SEA_TOOTH = noSettingsItem("deep_sea_tooth")
@JvmField val ELECTIRIZER = noSettingsItem("electirizer")
@@ -483,7 +483,7 @@ object CobblemonItems : PlatformRegistry<Registry<Item>, ResourceKey<Registry<It
@JvmField val PROTECTOR = noSettingsItem("protector")
@JvmField val REAPER_CLOTH = noSettingsItem("reaper_cloth")
@JvmField val PRISM_SCALE = noSettingsItem("prism_scale")
@JvmField val SACHET = noSettingsItem("sachet")
@JvmField val SACHET = itemNameBlockItem("sachet", CobblemonBlocks.SACHET)
@JvmField val WHIPPED_DREAM = create("whipped_dream", foodItem(8, 0.3f))
@JvmField val STRAWBERRY_SWEET = create("strawberry_sweet", foodItem(6, 0.125f))
@JvmField val LOVE_SWEET = create("love_sweet", foodItem(6, 0.125f))
@@ -492,22 +492,20 @@ object CobblemonItems : PlatformRegistry<Registry<Item>, ResourceKey<Registry<It
@JvmField val FLOWER_SWEET = create("flower_sweet", foodItem(6, 0.125f))
@JvmField val STAR_SWEET = create("star_sweet", foodItem(6, 0.125f))
@JvmField val RIBBON_SWEET = create("ribbon_sweet", foodItem(6, 0.125f))
@JvmField val CHIPPED_POT = noSettingsItem("chipped_pot")
@JvmField val CRACKED_POT = noSettingsItem("cracked_pot")
@JvmField val MASTERPIECE_TEACUP = noSettingsItem("masterpiece_teacup")
@JvmField val UNREMARKABLE_TEACUP = noSettingsItem("unremarkable_teacup")
@JvmField val CHIPPED_POT = itemNameBlockItem("chipped_pot", CobblemonBlocks.CHIPPED_POT)
@JvmField val CRACKED_POT = itemNameBlockItem("cracked_pot", CobblemonBlocks.CRACKED_POT)
@JvmField val MASTERPIECE_TEACUP = itemNameBlockItem("masterpiece_teacup", CobblemonBlocks.MASTERPIECE_TEACUP)
@JvmField val UNREMARKABLE_TEACUP = itemNameBlockItem("unremarkable_teacup", CobblemonBlocks.UNREMARKABLE_TEACUP)
@JvmField val SWEET_APPLE = compostableItem("sweet_apple", foodItem(4, 0.3f), 0.65f)
@JvmField val TART_APPLE = compostableItem("tart_apple", foodItem(4, 0.3f), 0.65f)
@JvmField val SYRUPY_APPLE = compostableItem("syrupy_apple", foodItem(4, 0.3f), 0.65f)
@JvmField val GALARICA_CUFF = noSettingsItem("galarica_cuff")
@JvmField val GALARICA_WREATH = noSettingsItem("galarica_wreath")
@JvmField val GALARICA_CUFF = itemNameBlockItem("galarica_cuff", CobblemonBlocks.GALARICA_CUFF)
@JvmField val BLACK_AUGURITE = noSettingsItem("black_augurite")
@JvmField val PEAT_BLOCK = noSettingsItem("peat_block")
@JvmField val RAZOR_CLAW = noSettingsItem("razor_claw")
@JvmField val RAZOR_FANG = noSettingsItem("razor_fang")
@JvmField val AUSPICIOUS_ARMOR = heldItem("auspicious_armor")
@JvmField val MALICIOUS_ARMOR = heldItem("malicious_armor")
@JvmField val SHELL_HELMET = heldItem("shell_helmet")
@JvmField val METAL_ALLOY = noSettingsItem("metal_alloy")
@JvmField val SCROLL_OF_DARKNESS = noSettingsItem("scroll_of_darkness")
@JvmField val SCROLL_OF_WATERS = noSettingsItem("scroll_of_waters")
@@ -651,17 +649,17 @@ object CobblemonItems : PlatformRegistry<Registry<Item>, ResourceKey<Registry<It
@JvmField
val EXPERIENCE_CANDY_XL = candyItem("exp_candy_xl") { _, _ -> CandyItem.DEFAULT_XL_CANDY_YIELD }
@JvmField
val CALCIUM = create("calcium", VitaminItem(Stats.SPECIAL_ATTACK))
val CALCIUM = create("calcium", VitaminItem(Stats.SPECIAL_ATTACK, CobblemonBlocks.CALCIUM))
@JvmField
val CARBOS = create("carbos", VitaminItem(Stats.SPEED))
val CARBOS = create("carbos", VitaminItem(Stats.SPEED, CobblemonBlocks.CARBOS))
@JvmField
val HP_UP = create("hp_up", VitaminItem(Stats.HP))
val HP_UP = create("hp_up", VitaminItem(Stats.HP, CobblemonBlocks.HP_UP))
@JvmField
val IRON = create("iron", VitaminItem(Stats.DEFENCE))
val IRON = create("iron", VitaminItem(Stats.DEFENCE, CobblemonBlocks.IRON))
@JvmField
val PROTEIN = create("protein", VitaminItem(Stats.ATTACK))
val PROTEIN = create("protein", VitaminItem(Stats.ATTACK, CobblemonBlocks.PROTEIN))
@JvmField
val ZINC = create("zinc", VitaminItem(Stats.SPECIAL_DEFENCE))
val ZINC = create("zinc", VitaminItem(Stats.SPECIAL_DEFENCE, CobblemonBlocks.ZINC))
@JvmField
val HEALTH_MOCHI = create("health_mochi", MochiItem(Stats.HP))
@JvmField
@@ -743,9 +741,9 @@ object CobblemonItems : PlatformRegistry<Registry<Item>, ResourceKey<Registry<It
@JvmField
val MAX_REVIVE = create("max_revive", ReviveItem(max = true))
@JvmField
val PP_UP = create("pp_up", PPUpItem(1))
val PP_UP = create("pp_up", PPUpItem(1, CobblemonBlocks.PP_UP))
@JvmField
val PP_MAX = create("pp_max", PPUpItem(3))
val PP_MAX = create("pp_max", PPUpItem(3, CobblemonBlocks.PP_MAX))
@JvmField
val RED_MINT_SEEDS = mintSeed("red", MintType.RED.getCropBlock())
@@ -922,11 +920,18 @@ object CobblemonItems : PlatformRegistry<Registry<Item>, ResourceKey<Registry<It
@JvmField val CHOICE_SPECS = wearableItem("choice_specs")
@JvmField val EXP_SHARE = wearableItem("exp_share")
@JvmField val FOCUS_BAND = wearableItem("focus_band")
@JvmField val KINGS_ROCK = wearableItem("kings_rock")
@JvmField val KINGS_ROCK = wearableBlockItem("kings_rock", CobblemonBlocks.KINGS_ROCK)
@JvmField val NEVER_MELT_ICE = wearableBlockItem("never_melt_ice", CobblemonBlocks.NEVER_MELT_ICE)
@JvmField val MUSCLE_BAND = wearableItem("muscle_band")
@JvmField val ROCKY_HELMET = wearableItem("rocky_helmet")
@JvmField val SAFETY_GOGGLES = wearableItem("safety_goggles")
@JvmField val WISE_GLASSES = wearableItem("wise_glasses")
@JvmField val SHARP_BEAK = wearableItem("sharp_beak")
@JvmField val COVERT_CLOAK = wearableItem("covert_cloak")
@JvmField val SHELL_HELMET = wearableItem("shell_helmet")
@JvmField val GALARICA_WREATH = wearableBlockItem("galarica_wreath", CobblemonBlocks.GALARICA_WREATH)
@JvmField val CLEANSE_TAG = wearableBlockItem("cleanse_tag", CobblemonBlocks.CLEANSE_TAG)
@JvmField val SPELL_TAG = wearableBlockItem("spell_tag", CobblemonBlocks.SPELL_TAG)
// Held Items
@JvmField
@@ -954,17 +959,13 @@ object CobblemonItems : PlatformRegistry<Registry<Item>, ResourceKey<Registry<It
@JvmField
val CHOICE_SCARF = heldItem("choice_scarf")
@JvmField
val CLEANSE_TAG = itemNameBlockItem("cleanse_tag", CobblemonBlocks.CLEANSE_TAG)
@JvmField
val CLEAR_AMULET = heldItem("clear_amulet")
@JvmField
val COVERT_CLOAK = heldItem("covert_cloak")
@JvmField
val DESTINY_KNOT = heldItem("destiny_knot")
val DESTINY_KNOT = itemNameBlockItem("destiny_knot", CobblemonBlocks.DESTINY_KNOT)
@JvmField
val DRAGON_FANG = heldItem("dragon_fang")
@JvmField
val EJECT_BUTTON = heldItem("eject_button")
val EJECT_BUTTON = itemNameBlockItem("eject_button", CobblemonBlocks.EJECT_BUTTON)
@JvmField
val EJECT_PACK = heldItem("eject_pack")
@JvmField
@@ -978,7 +979,7 @@ object CobblemonItems : PlatformRegistry<Registry<Item>, ResourceKey<Registry<It
@JvmField
val FAIRY_FEATHER = heldItem("fairy_feather")
@JvmField
val FLAME_ORB = heldItem("flame_orb")
val FLAME_ORB = itemNameBlockItem("flame_orb", CobblemonBlocks.FLAME_ORB)
@JvmField
val FLOAT_STONE = heldItem("float_stone")
@JvmField
@@ -992,34 +993,32 @@ object CobblemonItems : PlatformRegistry<Registry<Item>, ResourceKey<Registry<It
@JvmField
val HEAVY_DUTY_BOOTS = heldItem("heavy_duty_boots")
@JvmField
val IRON_BALL = heldItem("iron_ball")
val IRON_BALL = itemNameBlockItem("iron_ball", CobblemonBlocks.IRON_BALL)
@JvmField
val LAGGING_TAIL = heldItem("lagging_tail")
@JvmField
val LEFTOVERS = compostableHeldItem("leftovers", null, 0.50f)
@JvmField
val LIFE_ORB = heldItem("life_orb")
val LIFE_ORB = itemNameBlockItem("life_orb", CobblemonBlocks.LIFE_ORB)
@JvmField
val LIGHT_BALL = heldItem("light_ball")
val LIGHT_BALL = itemNameBlockItem("light_ball", CobblemonBlocks.LIGHT_BALL)
@JvmField
val LIGHT_CLAY = heldItem("light_clay")
@JvmField
val LOADED_DICE = heldItem("loaded_dice")
val LOADED_DICE = itemNameBlockItem("loaded_dice", CobblemonBlocks.LOADED_DICE)
@JvmField
val LUCKY_EGG = heldItem("lucky_egg")
@JvmField
val LUMINOUS_MOSS = heldItem("luminous_moss")
val LUMINOUS_MOSS = itemNameBlockItem("luminous_moss", CobblemonBlocks.LUMINOUS_MOSS)
@JvmField
val MAGNET = heldItem("magnet")
val MAGNET = itemNameBlockItem("magnet", CobblemonBlocks.MAGNET)
@JvmField
val METRONOME = heldItem("metronome")
val METRONOME = itemNameBlockItem("metronome", CobblemonBlocks.METRONOME)
@JvmField
val MIRACLE_SEED = heldItem("miracle_seed")
@JvmField
val MYSTIC_WATER = heldItem("mystic_water")
@JvmField
val NEVER_MELT_ICE = heldItem("never_melt_ice")
@JvmField
val POISON_BARB = heldItem("poison_barb")
@JvmField
val POWER_ANKLET = heldItem("power_anklet")
@@ -1044,13 +1043,11 @@ object CobblemonItems : PlatformRegistry<Registry<Item>, ResourceKey<Registry<It
@JvmField
val RED_CARD = heldItem("red_card")
@JvmField
val RING_TARGET = heldItem("ring_target")
val RING_TARGET = itemNameBlockItem("ring_target", CobblemonBlocks.RING_TARGET)
@JvmField
val ROOM_SERVICE = heldItem("room_service")
@JvmField
val SCOPE_LENS = heldItem("scope_lens")
@JvmField
val SHARP_BEAK = heldItem("sharp_beak")
val SCOPE_LENS = itemNameBlockItem("scope_lens", CobblemonBlocks.SCOPE_LENS)
@JvmField
val SHED_SHELL = heldItem("shed_shell")
@JvmField
@@ -1062,9 +1059,7 @@ object CobblemonItems : PlatformRegistry<Registry<Item>, ResourceKey<Registry<It
@JvmField
val SOFT_SAND = heldItem("soft_sand")
@JvmField
val SPELL_TAG = itemNameBlockItem("spell_tag", CobblemonBlocks.SPELL_TAG)
@JvmField
val SMOKE_BALL = heldItem("smoke_ball")
val SMOKE_BALL = itemNameBlockItem("smoke_ball", CobblemonBlocks.SMOKE_BALL)
@JvmField
val SOOTHE_BELL = heldItem("soothe_bell")
@JvmField
@@ -1072,9 +1067,9 @@ object CobblemonItems : PlatformRegistry<Registry<Item>, ResourceKey<Registry<It
@JvmField
val TERRAIN_EXTENDER = heldItem("terrain_extender")
@JvmField
val THROAT_SPRAY = heldItem("throat_spray")
val THROAT_SPRAY = itemNameBlockItem("throat_spray", CobblemonBlocks.THROAT_SPRAY)
@JvmField
val TOXIC_ORB = heldItem("toxic_orb")
val TOXIC_ORB = itemNameBlockItem("toxic_orb", CobblemonBlocks.TOXIC_ORB)
@JvmField
val TWISTED_SPOON = heldItem("twisted_spoon")
@JvmField
@@ -1082,9 +1077,9 @@ object CobblemonItems : PlatformRegistry<Registry<Item>, ResourceKey<Registry<It
@JvmField
val WEAKNESS_POLICY = itemNameBlockItem("weakness_policy", CobblemonBlocks.WEAKNESS_POLICY)
@JvmField
val WIDE_LENS = heldItem("wide_lens")
val WIDE_LENS = itemNameBlockItem("wide_lens", CobblemonBlocks.WIDE_LENS)
@JvmField
val ZOOM_LENS = heldItem("zoom_lens")
val ZOOM_LENS = itemNameBlockItem("zoom_lens", CobblemonBlocks.ZOOM_LENS)
@JvmField
val MENTAL_HERB = compostableHeldItem("mental_herb", null, 0.85F)
@JvmField
@@ -1096,19 +1091,19 @@ object CobblemonItems : PlatformRegistry<Registry<Item>, ResourceKey<Registry<It
@JvmField
val WHITE_HERB = compostableHeldItem("white_herb", null, 0.85F)
@JvmField
val BRIGHT_POWDER = heldItem("bright_powder")
val BRIGHT_POWDER = itemNameBlockItem("bright_powder", CobblemonBlocks.BRIGHT_POWDER)
@JvmField
val METAL_POWDER = heldItem("metal_powder")
val METAL_POWDER = itemNameBlockItem("metal_powder", CobblemonBlocks.METAL_POWDER)
@JvmField
val QUICK_POWDER = heldItem("quick_powder")
val QUICK_POWDER = itemNameBlockItem("quick_powder", CobblemonBlocks.QUICK_POWDER)
@JvmField
val DAMP_ROCK = heldItem("damp_rock")
val DAMP_ROCK = itemNameBlockItem("damp_rock", CobblemonBlocks.DAMP_ROCK)
@JvmField
val HEAT_ROCK = heldItem("heat_rock")
val HEAT_ROCK = itemNameBlockItem("heat_rock", CobblemonBlocks.HEAT_ROCK)
@JvmField
val SMOOTH_ROCK = heldItem("smooth_rock")
val SMOOTH_ROCK = itemNameBlockItem("smooth_rock", CobblemonBlocks.SMOOTH_ROCK)
@JvmField
val ICY_ROCK = heldItem("icy_rock")
val ICY_ROCK = itemNameBlockItem("icy_rock", CobblemonBlocks.ICY_ROCK)
// Mulch
@JvmField
@@ -1599,7 +1594,16 @@ object CobblemonItems : PlatformRegistry<Registry<Item>, ResourceKey<Registry<It
private fun wearableItem(name: String, heldItemRemappedName: String? = null): CobblemonItem = create(
name,
WearableItem(name).also {
WearableHatItem(name).also {
wearables.add(it)
if (heldItemRemappedName != null) {
CobblemonHeldItemManager.registerRemap(it, heldItemRemappedName)
}
}
)
private fun wearableBlockItem(name: String, block: Block, heldItemRemappedName: String? = null): WearableBlockItem = create(
name,
WearableBlockItem(name, block).also {
wearables.add(it)
if (heldItemRemappedName != null) {
CobblemonHeldItemManager.registerRemap(it, heldItemRemappedName)
@@ -55,6 +55,11 @@ object GeneralMoLangFunctions {
struct.map.remove(variable)
DoubleValue.ONE
}
functions["delete_variables"] = { params ->
val struct = params.get<VariableStruct>(0)
struct.map.clear()
DoubleValue.ONE
}
functions["get_variable"] = { params ->
val struct = params.get<VariableStruct>(0)
val variable = params.getString(1)
@@ -16,6 +16,7 @@ import com.cobblemon.mod.common.api.molang.ObjectValue
import com.cobblemon.mod.common.api.pokedex.AbstractPokedexManager
import com.cobblemon.mod.common.api.pokedex.CaughtCount
import com.cobblemon.mod.common.api.pokedex.CaughtPercent
import com.cobblemon.mod.common.api.pokedex.Dexes
import com.cobblemon.mod.common.api.pokedex.PokedexEntryProgress
import com.cobblemon.mod.common.api.pokedex.PokedexManager
import com.cobblemon.mod.common.api.pokedex.SeenCount
@@ -74,6 +75,27 @@ object PokedexMoLangFunctions : AbstractMoLangFunctionHolder<AbstractPokedexMana
functions["caught_percent"] = { DoubleValue(pokedex.getGlobalCalculatedValue(CaughtPercent)) }
functions["seen_percent"] = { DoubleValue(pokedex.getGlobalCalculatedValue(SeenPercent)) }
functions["dex_caught_count"] = { params ->
val dexId = params.getString(0).asIdentifierDefaultingNamespace()
if (Dexes.dexEntryMap.containsKey(dexId)) DoubleValue(pokedex.getDexCalculatedValue(dexId, CaughtCount))
else DoubleValue.ZERO
}
functions["dex_seen_count"] = { params ->
val dexId = params.getString(0).asIdentifierDefaultingNamespace()
if (Dexes.dexEntryMap.containsKey(dexId)) DoubleValue(pokedex.getDexCalculatedValue(dexId, SeenCount))
else DoubleValue.ZERO
}
functions["dex_caught_percent"] = { params ->
val dexId = params.getString(0).asIdentifierDefaultingNamespace()
if (Dexes.dexEntryMap.containsKey(dexId)) DoubleValue(pokedex.getDexCalculatedValue(dexId, CaughtPercent).toDouble())
else DoubleValue.ZERO
}
functions["dex_seen_percent"] = { params ->
val dexId = params.getString(0).asIdentifierDefaultingNamespace()
if (Dexes.dexEntryMap.containsKey(dexId)) DoubleValue(pokedex.getDexCalculatedValue(dexId, SeenPercent).toDouble())
else DoubleValue.ZERO
}
when (pokedex) {
is PokedexManager -> {
functions["player_id"] = { StringValue(pokedex.uuid.toString()) }
@@ -8,8 +8,10 @@
package com.cobblemon.mod.common.api.orientation
import com.cobblemon.mod.common.util.math.QuatSpring
import com.cobblemon.mod.common.util.math.geometry.toDegrees
import com.cobblemon.mod.common.util.math.geometry.toRadians
import com.cobblemon.mod.common.util.math.simpleSpringDamperQuat
import net.minecraft.client.Minecraft
import net.minecraft.util.Mth
import net.minecraft.world.entity.LivingEntity
@@ -26,6 +28,8 @@ open class OrientationController(val entity: LivingEntity) {
val FORWARDS: Vector3f = Vector3f(0.0f, 0.0f, -1.0f)
val UP: Vector3f = Vector3f(0.0f, 1.0f, 0.0f)
val LEFT: Vector3f = Vector3f(-1.0f, 0.0f, 0.0f)
private const val TICK_DT = 1f / 20f // Minecraft server tick rate
private const val RENDER_SMOOTH_HALFLIFE = 0.1f // seconds to close ~half the gap
}
open var active: Boolean = false
@@ -33,6 +37,8 @@ open class OrientationController(val entity: LivingEntity) {
var orientation: Matrix3f? = null
private set
private val renderSpring = QuatSpring()
private var renderOrientationO: Matrix3f? = null
private var renderOrientation: Matrix3f? = null
@@ -54,6 +60,8 @@ open class OrientationController(val entity: LivingEntity) {
orientation = null
renderOrientationO = null
renderOrientation = null
renderSpring.quat.identity()
renderSpring.angVel.set(0f, 0f, 0f)
active = false
}
@@ -77,18 +85,26 @@ open class OrientationController(val entity: LivingEntity) {
return oldQuat
}
/** Every tick move the current render orientation towards the last known true orientation **/
fun tick() {
if (!active || orientation == null) return
renderOrientationO = renderOrientation
val current = orientation
val renderMatrix = this.renderOrientation ?: current
val renderQuat = Quaternionf().setFromUnnormalized(renderMatrix)
val targetQuat = Quaternionf().setFromUnnormalized(current)
val dampingFactor = 0.66f // Smooth interpolation to reduce jitter of orientations recieved from the server.
renderQuat.slerp(targetQuat, dampingFactor)
val current = orientation!!
val targetQuat = Quaternionf().setFromUnnormalized(current)
if (renderOrientation == null) {
// First tick: snap the spring to the target instead of easing in from identity
renderSpring.quat.set(targetQuat)
renderSpring.angVel.set(0f, 0f, 0f)
}
// Use a "quat spring" to smoothly move the render orientation towards the goal orientation.
// It takes into account the orientations angular velocities and should be much more resilient
// to sharp changes in goal orientation or late/missed packets.
simpleSpringDamperQuat(renderSpring, targetQuat, 0.15f, TICK_DT)
val newRenderOrientation = Matrix3f()
renderQuat.get(newRenderOrientation)
renderSpring.quat.get(newRenderOrientation)
renderOrientation = newRenderOrientation
}
@@ -0,0 +1,62 @@
/*
* 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.api.riding.util
import net.minecraft.core.BlockPos
import net.minecraft.world.level.BlockGetter
import net.minecraft.world.phys.AABB
import kotlin.math.floor
/**
* Walks every block position inside [searchBox] and turns each solid block into one
* full-cube [FieldPrimitive].
*
* @author Jackson
* @since July 27th, 2026
*/
fun collectPrimitivesFromBlocks(
level: BlockGetter,
searchBox: AABB,
shape: PrimitiveShape,
includeFluids: Boolean = false
): List<FieldPrimitive> {
val primitives = mutableListOf<FieldPrimitive>()
val minX = floor(searchBox.minX).toInt()
val maxX = floor(searchBox.maxX).toInt()
val minY = floor(searchBox.minY).toInt()
val maxY = floor(searchBox.maxY).toInt()
val minZ = floor(searchBox.minZ).toInt()
val maxZ = floor(searchBox.maxZ).toInt()
val pos = BlockPos.MutableBlockPos()
for (x in minX..maxX) {
for (y in minY..maxY) {
for (z in minZ..maxZ) {
pos.set(x, y, z)
val state = level.getBlockState(pos)
val isSolid = !state.getCollisionShape(level, pos).isEmpty
val isFluid = includeFluids && !state.fluidState.isEmpty
if (!isSolid && !isFluid) continue
primitives.add(
FieldPrimitive(
shape = shape,
centerX = x + 0.5f, centerY = y + 0.5f, centerZ = z + 0.5f,
halfWidth = 0.5f, halfHeight = 0.5f, halfDepth = 0.5f
)
)
}
}
}
return primitives
}
@@ -0,0 +1,155 @@
/*
* 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.api.riding.util
import net.minecraft.world.phys.Vec3
import kotlin.math.abs
import kotlin.math.max
import kotlin.math.min
import kotlin.math.sqrt
/**
* Helpful Functions when working with signed distance fields/functions.
* https://iquilezles.org/articles/distfunctions/
*
* @author Jackson
* @since July 27th, 2026
*/
/** Which distance formula a primitive uses. */
enum class PrimitiveShape {
BOX,
ROUNDED_BOX,
ELLIPSOID
}
/** Tunable constants for the field. */
data class DistanceFieldTuning(
val smoothingRange: Float = 0.5f,
val roundingRadius: Float = 0.08f
)
/** A single shape in the field - a center position, half-extents, and which formula to use. */
data class FieldPrimitive(
val shape: PrimitiveShape,
val centerX: Float, val centerY: Float, val centerZ: Float,
val halfWidth: Float, val halfHeight: Float, val halfDepth: Float
)
/** Fast approximate 1/sqrt(x) - the Quake III trick, cheaper than a real sqrt + divide. */
fun fastInverseSqrt(value: Float): Float {
var x = value
val halfX = 0.5f * x
var bits = java.lang.Float.floatToIntBits(x)
bits = 0x5f3759df - (bits shr 1)
x = java.lang.Float.intBitsToFloat(bits)
x *= (1.5f - halfX * x * x)
return x
}
/** Exact distance from a point to an axis-aligned box. Inputs are relative to the box's own center. */
fun boxDistance(relX: Float, relY: Float, relZ: Float, halfWidth: Float, halfHeight: Float, halfDepth: Float): Float {
val qx = abs(relX) - halfWidth
val qy = abs(relY) - halfHeight
val qz = abs(relZ) - halfDepth
val ox = max(qx, 0f)
val oy = max(qy, 0f)
val oz = max(qz, 0f)
val outside = sqrt(ox * ox + oy * oy + oz * oz)
val inside = min(max(qx, max(qy, qz)), 0f)
return outside + inside
}
/** Same as boxDistance but with rounded corners/edges https://iquilezles.org/articles/distfunctions/ */
fun roundedBoxDistance(relX: Float, relY: Float, relZ: Float, halfWidth: Float, halfHeight: Float, halfDepth: Float, roundingRadius: Float): Float =
boxDistance(relX, relY, relZ, halfWidth - roundingRadius, halfHeight - roundingRadius, halfDepth - roundingRadius) - roundingRadius
/** Approximate (lower-bound) distance to an ellipsoid https://iquilezles.org/articles/ellipsoids/. */
fun ellipsoidDistance(relX: Float, relY: Float, relZ: Float, halfWidth: Float, halfHeight: Float, halfDepth: Float): Float {
val px = relX / halfWidth
val py = relY / halfHeight
val pz = relZ / halfDepth
val inverseMagnitude = fastInverseSqrt(px * px + py * py + pz * pz)
val trueDistance = sqrt(relX * relX + relY * relY + relZ * relZ)
return trueDistance * (1.0f - inverseMagnitude)
}
/** Distance from a point to one primitive, dispatched by its shape. */
fun distanceToPrimitive(primitive: FieldPrimitive, sampleX: Float, sampleY: Float, sampleZ: Float, tuning: DistanceFieldTuning): Float {
val relX = sampleX - primitive.centerX
val relY = sampleY - primitive.centerY
val relZ = sampleZ - primitive.centerZ
return when (primitive.shape) {
PrimitiveShape.BOX -> boxDistance(relX, relY, relZ, primitive.halfWidth, primitive.halfHeight, primitive.halfDepth)
PrimitiveShape.ROUNDED_BOX -> roundedBoxDistance(relX, relY, relZ, primitive.halfWidth, primitive.halfHeight, primitive.halfDepth, tuning.roundingRadius)
PrimitiveShape.ELLIPSOID -> ellipsoidDistance(relX, relY, relZ, primitive.halfWidth, primitive.halfHeight, primitive.halfDepth)
}
}
///** Normalized quadratic smooth-min https://iquilezles.org/articles/smin/ */
//fun smoothMinimum(a: Float, b: Float, smoothingRange: Float): Float {
// if (smoothingRange <= 0.001f) return min(a, b)
// val k = smoothingRange * 4.0f
// val h = (0.5f + 0.5f * (b - a) / k).coerceIn(0f, 1f)
// return b + (a - b) * h - k * h * (1f - h)
//}
//
///** Folds every primitive's distance together into one field value at a point. */
//fun sampleField(primitives: List<FieldPrimitive>, sampleX: Float, sampleY: Float, sampleZ: Float, tuning: DistanceFieldTuning): Float {
// var result = Float.POSITIVE_INFINITY
// for (primitive in primitives) {
// val distance = distanceToPrimitive(primitive, sampleX, sampleY, sampleZ, tuning)
// result = if (result == Float.POSITIVE_INFINITY) distance else smoothMinimum(result, distance, tuning.smoothingRange)
// }
// return result
//}
/** Normalized quadratic smooth-min https://iquilezles.org/articles/smin/ */
fun smoothMinimum(a: Float, b: Float, smoothingRange: Float): Float {
if (smoothingRange <= 0.001f) return min(a, b)
val k = smoothingRange * 4.0f
val h = (0.5f + 0.5f * (b - a) / k).coerceIn(0f, 1f)
return b + (a - b) * h - k * h * (1f - h)
}
/** Folds nearby primitive distances together into one field value at a point. */
fun sampleField(primitives: List<FieldPrimitive>, sampleX: Float, sampleY: Float, sampleZ: Float, tuning: DistanceFieldTuning): Float {
if (primitives.isEmpty()) return Float.POSITIVE_INFINITY
val distances = FloatArray(primitives.size) { distanceToPrimitive(primitives[it], sampleX, sampleY, sampleZ, tuning) }
val minDistance = distances.min()
if (tuning.smoothingRange <= 0.001f) return minDistance
// Anything more than a few blend-widths past the closest primitive is cut - its
// contribution would be negligible in a correct blend anyway, but left in, it still
// drags the chained result down the more of them there are.
val cutoff = tuning.smoothingRange * 3f
var result = Float.POSITIVE_INFINITY
for (distance in distances) {
if (distance - minDistance > cutoff) continue
result = if (result == Float.POSITIVE_INFINITY) distance else smoothMinimum(result, distance, tuning.smoothingRange)
}
return result
}
/** Finite-difference gradient of the field at a point - points away from the surface, magnitude ~1 for a clean field. */
fun estimateGradient(primitives: List<FieldPrimitive>, point: Vec3, tuning: DistanceFieldTuning, epsilon: Float = 0.05f): Vec3 {
val px = point.x.toFloat()
val py = point.y.toFloat()
val pz = point.z.toFloat()
val dx = sampleField(primitives, px + epsilon, py, pz, tuning) - sampleField(primitives, px - epsilon, py, pz, tuning)
val dy = sampleField(primitives, px, py + epsilon, pz, tuning) - sampleField(primitives, px, py - epsilon, pz, tuning)
val dz = sampleField(primitives, px, py, pz + epsilon, tuning) - sampleField(primitives, px, py, pz - epsilon, tuning)
val gradient = Vec3(dx.toDouble(), dy.toDouble(), dz.toDouble())
return if (gradient.lengthSqr() > 1e-8) gradient.normalize() else Vec3(0.0, 1.0, 0.0)
}
@@ -0,0 +1,105 @@
/*
* 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.api.riding.util
import net.minecraft.core.particles.DustParticleOptions
import net.minecraft.server.level.ServerLevel
import net.minecraft.world.entity.Entity
import net.minecraft.world.phys.AABB
import net.minecraft.world.phys.Vec3
import org.joml.Vector3f
/** One shell to draw - a target field value, a color, a particle size. */
data class DistanceFieldLayer(
val isoValue: Float,
val color: Vector3f,
val particleSize: Float = 1.0f
)
/**
* Marches a grid of vertical columns through the field around [center] and spawns a
* particle everywhere it crosses one of [layers]' target values. Server-side only.
*/
fun visualizeDistanceField(
referenceEntity: Entity,
center: Vec3,
layers: List<DistanceFieldLayer>,
shape: PrimitiveShape = PrimitiveShape.BOX,
horizontalRadius: Double = 4.0,
verticalRange: Double = 4.0,
sampleSpacing: Double = 0.5,
marchStep: Double = 0.1,
tuning: DistanceFieldTuning = DistanceFieldTuning()
) {
val level = referenceEntity.level()
if (level !is ServerLevel) return
val searchBox = AABB(
center.x - horizontalRadius, center.y - verticalRange, center.z - horizontalRadius,
center.x + horizontalRadius, center.y, center.z + horizontalRadius
)
val primitives = collectPrimitivesFromBlocks(level, searchBox, shape, includeFluids = true)
if (primitives.isEmpty()) return
var x = -horizontalRadius
while (x <= horizontalRadius) {
var z = -horizontalRadius
while (z <= horizontalRadius) {
marchColumn(level, primitives, center, x, z, verticalRange, marchStep, layers, tuning)
z += sampleSpacing
}
x += sampleSpacing
}
}
private fun marchColumn(
level: ServerLevel,
primitives: List<FieldPrimitive>,
center: Vec3,
offsetX: Double,
offsetZ: Double,
verticalRange: Double,
marchStep: Double,
layers: List<DistanceFieldLayer>,
tuning: DistanceFieldTuning
) {
val previousValue = FloatArray(layers.size) { Float.NaN }
var y = verticalRange
while (y >= -verticalRange) {
val worldX = (center.x + offsetX).toFloat()
val worldY = (center.y + y).toFloat()
val worldZ = (center.z + offsetZ).toFloat()
val fieldValue = sampleField(primitives, worldX, worldY, worldZ, tuning)
for (layerIndex in layers.indices) {
val layer = layers[layerIndex]
val previous = previousValue[layerIndex]
if (!previous.isNaN() && crossedTarget(previous, fieldValue, layer.isoValue)) {
val t = (layer.isoValue - previous) / (fieldValue - previous)
val crossingY = (y + marchStep) - marchStep * t
spawnLayerParticle(level, center.add(offsetX, crossingY, offsetZ), layer)
}
previousValue[layerIndex] = fieldValue
}
y -= marchStep
}
}
private fun crossedTarget(previous: Float, current: Float, target: Float): Boolean =
(previous - target) * (current - target) < 0f
private fun spawnLayerParticle(level: ServerLevel, pos: Vec3, layer: DistanceFieldLayer) {
val particle = DustParticleOptions(layer.color, layer.particleSize)
level.sendParticles(particle, pos.x, pos.y, pos.z, 1, 0.0, 0.0, 0.0, 0.0)
}
@@ -0,0 +1,137 @@
/*
* 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.block.decor
import com.cobblemon.mod.common.util.rotateShape
import com.mojang.serialization.MapCodec
import com.mojang.serialization.codecs.RecordCodecBuilder
import net.minecraft.core.BlockPos
import net.minecraft.core.Direction
import net.minecraft.util.StringRepresentable
import net.minecraft.world.InteractionResult
import net.minecraft.world.entity.player.Player
import net.minecraft.world.item.context.BlockPlaceContext
import net.minecraft.world.level.BlockGetter
import net.minecraft.world.level.Level
import net.minecraft.world.level.LevelAccessor
import net.minecraft.world.level.block.*
import net.minecraft.world.level.block.state.BlockState
import net.minecraft.world.level.block.state.StateDefinition
import net.minecraft.world.level.block.state.properties.BlockStateProperties.HORIZONTAL_FACING
import net.minecraft.world.level.block.state.properties.BlockStateProperties.WATERLOGGED
import net.minecraft.world.level.block.state.properties.BooleanProperty
import net.minecraft.world.level.gameevent.GameEvent
import net.minecraft.world.level.material.FluidState
import net.minecraft.world.level.material.Fluids
import net.minecraft.world.phys.BlockHitResult
import net.minecraft.world.phys.shapes.CollisionContext
import net.minecraft.world.phys.shapes.Shapes
import net.minecraft.world.phys.shapes.VoxelShape
class ActivatableDecorationBlock(settings: Properties, val type: ActivatableDecorationBlockType) : HorizontalDirectionalBlock(settings), SimpleWaterloggedBlock {
enum class ActivatableDecorationBlockType: StringRepresentable {
//For basic use, also ignore camelcase errors, it's just dumb
CENTERED_8x,
//For specific items
METRONOME;
override fun getSerializedName(): String = this.name.lowercase()
companion object {
val CODEC = StringRepresentable.fromEnum(::values)
}
}
companion object {
val CODEC: MapCodec<ActivatableDecorationBlock> = RecordCodecBuilder.mapCodec { it.group(
propertiesCodec(),
ActivatableDecorationBlockType.CODEC.fieldOf("type").forGetter(ActivatableDecorationBlock::type)
).apply(it, ::ActivatableDecorationBlock) }
val ACTIVE = BooleanProperty.create("active")
val CENTERED_8x = Shapes.box(0.25, 0.0, 0.25, 0.75, 0.5, 0.75)
val METRONOME_HITBOX = Shapes.box(0.25, 0.0, 0.375, 0.75, 0.8125, 0.75)
fun getShape(type: ActivatableDecorationBlockType): VoxelShape {
return when (type) {
ActivatableDecorationBlockType.METRONOME -> METRONOME_HITBOX
else -> CENTERED_8x
}
}
}
init {
registerDefaultState(stateDefinition.any()
.setValue(HORIZONTAL_FACING, Direction.NORTH)
.setValue(ACTIVE, false)
.setValue(WATERLOGGED, false)
)
}
override fun codec(): MapCodec<ActivatableDecorationBlock> = CODEC
override fun createBlockStateDefinition(builder: StateDefinition.Builder<Block, BlockState>) {
builder.add(HORIZONTAL_FACING, ACTIVE, WATERLOGGED)
}
override fun getFluidState(blockState: BlockState): FluidState? = if (blockState.getValue(WATERLOGGED)) Fluids.WATER.getSource(false) else super.getFluidState(blockState)
override fun updateShape(state: BlockState, direction: Direction, neighborState: BlockState, world: LevelAccessor, pos: BlockPos, neighborPos: BlockPos): BlockState {
if (state.getValue(WATERLOGGED)) {
world.scheduleTick(pos, Fluids.WATER, Fluids.WATER.getTickDelay(world))
}
return if (state.getValue(HORIZONTAL_FACING).opposite == direction && !state.canSurvive(world, pos)) Blocks.AIR.defaultBlockState()
else super.updateShape(state, direction, neighborState, world, pos, neighborPos)
}
override fun getCollisionShape(state: BlockState, level: BlockGetter, pos: BlockPos, context: CollisionContext): VoxelShape {
val direction = state.getValue(HORIZONTAL_FACING)
return rotateShape(Direction.NORTH, direction, getShape(type))
}
override fun getShape(state: BlockState, level: BlockGetter, pos: BlockPos, context: CollisionContext): VoxelShape {
return getCollisionShape(state, level, pos, context).singleEncompassing()
}
override fun getStateForPlacement(context: BlockPlaceContext): BlockState? {
val fluidState = context.level.getFluidState(context.clickedPos)
return super.getStateForPlacement(context)?.setValue(HORIZONTAL_FACING, context.horizontalDirection.opposite)?.setValue(WATERLOGGED, fluidState.type === Fluids.WATER)
}
override fun useWithoutItem(
state: BlockState,
level: Level,
pos: BlockPos,
player: Player,
hitResult: BlockHitResult
): InteractionResult {
if (level.isClientSide) {
level.setBlockAndUpdate(pos, state.cycle(ACTIVE))
return InteractionResult.SUCCESS
} else {
this.push(state, level, pos, null as Player?)
return InteractionResult.CONSUME
}
}
fun push(state: BlockState, level: Level, pos: BlockPos?, player: Player?) {
var state = state
state = state.cycle(ACTIVE)
level.setBlock(pos!!, state, 3)
level.gameEvent(player, if (state.getValue(ACTIVE)) GameEvent.BLOCK_ACTIVATE else GameEvent.BLOCK_DEACTIVATE, pos)
}
override fun hasAnalogOutputSignal(state: BlockState): Boolean {
return true
}
//TODO: Replace this forced 4 with a value that can be set by the block, only relevant when more blocks of this class are added.
override fun getAnalogOutputSignal(state: BlockState, level: Level, pos: BlockPos): Int {
return if (level.getBlockState(pos).getValue(ACTIVE) as Boolean) 4 else 0
}
}
@@ -0,0 +1,130 @@
/*
* 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.block
import com.cobblemon.mod.common.util.rotateShape
import com.mojang.serialization.MapCodec
import com.mojang.serialization.codecs.RecordCodecBuilder
import net.minecraft.core.BlockPos
import net.minecraft.core.Direction
import net.minecraft.util.StringRepresentable
import net.minecraft.world.item.context.BlockPlaceContext
import net.minecraft.world.level.BlockGetter
import net.minecraft.world.level.LevelAccessor
import net.minecraft.world.level.block.Block
import net.minecraft.world.level.block.Blocks
import net.minecraft.world.level.block.HorizontalDirectionalBlock
import net.minecraft.world.level.block.SimpleWaterloggedBlock
import net.minecraft.world.level.block.state.BlockState
import net.minecraft.world.level.block.state.StateDefinition
import net.minecraft.world.level.block.state.properties.BlockStateProperties.HORIZONTAL_FACING
import net.minecraft.world.level.block.state.properties.BlockStateProperties.WATERLOGGED
import net.minecraft.world.level.material.FluidState
import net.minecraft.world.level.material.Fluids
import net.minecraft.world.phys.shapes.CollisionContext
import net.minecraft.world.phys.shapes.Shapes
import net.minecraft.world.phys.shapes.VoxelShape
class DecorativeItemBlock(settings: Properties, val type: DecorativeItemBlockType): HorizontalDirectionalBlock(settings), SimpleWaterloggedBlock {
enum class DecorativeItemBlockType: StringRepresentable {
//For basic use, also ignore camelcase errors, it's just dumb
CENTERED_8x,
CENTERED_6x,
FLATTENED_8x6,
FLATTENED_8x4,
FLATTENED_10x4,
//For specific items
TEACUP,
TEAPOT,
KNOT,
POUCH,
NEVERMELT,
SCOPE,
WIDE,
ZOOM;
override fun getSerializedName(): String = this.name.lowercase()
companion object {
val CODEC = StringRepresentable.fromEnum(::values)
}
}
companion object {
val CODEC: MapCodec<DecorativeItemBlock> = RecordCodecBuilder.mapCodec { it.group(
propertiesCodec(),
DecorativeItemBlockType.CODEC.fieldOf("type").forGetter(DecorativeItemBlock::type)
).apply(it, ::DecorativeItemBlock) }
val CENTERED_8x = Shapes.box(0.25, 0.0, 0.25, 0.75, 0.5, 0.75)
val CENTERED_6x = Shapes.box(0.3125, 0.0, 0.3125, 0.6875, 0.375, 0.6875)
val FLAT6_HITBOX = Shapes.box(0.25, 0.0, 0.25, 0.75, 0.375, 0.75)
val FLAT4_HITBOX = Shapes.box(0.25, 0.0, 0.25, 0.75, 0.25, 0.75)
val SMOOSHED4_HITBOX = Shapes.box(0.1875, 0.0, 0.1875, 0.8125, 0.25, 0.8125)
val TEACUP_HITBOX = Shapes.box(0.3125, 0.0, 0.3125, 0.6875, 0.25, 0.6875)
val TEAPOT_HITBOX = Shapes.box(0.1875, 0.0, 0.1875, 0.8125, 0.625, 0.8125)
val KNOT_HITBOX = Shapes.box(0.375, 0.0, 0.375, 0.75, 0.375, 0.75)
val POUCH_HITBOX = Shapes.box(0.3125, 0.0, 0.3125, 0.6875, 0.3125, 0.6875)
val NEVERMELT_HITBOX = Shapes.box(0.25, 0.0, 0.3125, 0.6875, 0.25, 0.75)
val SCOPE_HITBOX = Shapes.box(0.625, 0.0, 0.4375, 0.9375, 0.125, 0.75)
val WIDE_HITBOX = Shapes.box(0.625, 0.0, 0.125, 0.9375, 0.0625, 0.625)
val ZOOM_HITBOX = Shapes.box(0.125, 0.0, 0.1875, 0.375, 0.1875, 0.5)
fun getShape(type: DecorativeItemBlockType): VoxelShape {
return when (type) {
DecorativeItemBlockType.TEAPOT -> TEAPOT_HITBOX
DecorativeItemBlockType.TEACUP -> TEACUP_HITBOX
DecorativeItemBlockType.KNOT -> KNOT_HITBOX
DecorativeItemBlockType.POUCH -> POUCH_HITBOX
DecorativeItemBlockType.NEVERMELT -> NEVERMELT_HITBOX
DecorativeItemBlockType.SCOPE -> SCOPE_HITBOX
DecorativeItemBlockType.WIDE -> WIDE_HITBOX
DecorativeItemBlockType.ZOOM -> ZOOM_HITBOX
DecorativeItemBlockType.FLATTENED_10x4 -> SMOOSHED4_HITBOX
DecorativeItemBlockType.FLATTENED_8x4 -> FLAT4_HITBOX
DecorativeItemBlockType.FLATTENED_8x6 -> FLAT6_HITBOX
DecorativeItemBlockType.CENTERED_6x -> CENTERED_6x
else -> CENTERED_8x
}
}
}
init {
registerDefaultState(stateDefinition.any()
.setValue(HORIZONTAL_FACING, Direction.NORTH)
.setValue(WATERLOGGED, false))
}
override fun codec(): MapCodec<DecorativeItemBlock> = CODEC
override fun createBlockStateDefinition(builder: StateDefinition.Builder<Block, BlockState>) {
builder.add(HORIZONTAL_FACING, WATERLOGGED)
}
override fun getFluidState(blockState: BlockState): FluidState? = if (blockState.getValue(WATERLOGGED)) Fluids.WATER.getSource(false) else super.getFluidState(blockState)
override fun updateShape(state: BlockState, direction: Direction, neighborState: BlockState, world: LevelAccessor, pos: BlockPos, neighborPos: BlockPos): BlockState {
if (state.getValue(WATERLOGGED)) {
world.scheduleTick(pos, Fluids.WATER, Fluids.WATER.getTickDelay(world))
}
return if (state.getValue(HORIZONTAL_FACING).opposite == direction && !state.canSurvive(world, pos)) Blocks.AIR.defaultBlockState()
else super.updateShape(state, direction, neighborState, world, pos, neighborPos)
}
override fun getShape(state: BlockState, level: BlockGetter, pos: BlockPos, context: CollisionContext): VoxelShape {
val direction = state.getValue(HORIZONTAL_FACING)
return rotateShape(Direction.NORTH, direction, getShape(type))
}
override fun getStateForPlacement(context: BlockPlaceContext): BlockState? {
val fluidState = context.level.getFluidState(context.clickedPos)
return super.getStateForPlacement(context)?.setValue(HORIZONTAL_FACING, context.horizontalDirection.opposite)?.setValue(WATERLOGGED, fluidState.type === Fluids.WATER)
}
}
@@ -0,0 +1,139 @@
/*
* 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.block
import com.cobblemon.mod.common.util.rotateShape
import net.minecraft.core.BlockPos
import net.minecraft.core.Direction
import net.minecraft.world.item.context.BlockPlaceContext
import net.minecraft.world.level.BlockGetter
import net.minecraft.world.level.LevelAccessor
import net.minecraft.world.level.LevelReader
import net.minecraft.world.level.block.Block
import net.minecraft.world.level.block.Blocks
import net.minecraft.world.level.block.ButtonBlock
import net.minecraft.world.level.block.SimpleWaterloggedBlock
import net.minecraft.world.level.block.state.BlockState
import net.minecraft.world.level.block.state.StateDefinition
import net.minecraft.world.level.block.state.properties.AttachFace
import net.minecraft.world.level.block.state.properties.BlockSetType
import net.minecraft.world.level.block.state.properties.BlockStateProperties.WATERLOGGED
import net.minecraft.world.level.material.FluidState
import net.minecraft.world.level.material.Fluids
import net.minecraft.world.phys.shapes.CollisionContext
import net.minecraft.world.phys.shapes.Shapes
import net.minecraft.world.phys.shapes.VoxelShape
class EjectButtonBlock(properties: Properties, ticksToStayPressed: Int) : ButtonBlock(BlockSetType.IRON, ticksToStayPressed, properties), SimpleWaterloggedBlock {
companion object {
val FLOOR_UNPOWERED = Shapes.or(
Shapes.box(0.125, 0.0, 0.125, 0.875, 0.1875, 0.875),
Shapes.box(0.375, 0.1875, 0.375, 0.625, 0.3125, 0.625) )
val FLOOR_POWERED = Shapes.or(
Shapes.box(0.125, 0.0, 0.125, 0.875, 0.1875, 0.875),
Shapes.box(0.375, 0.1875, 0.375, 0.625, 0.25, 0.625) )
val FLOOR_PANEL = Shapes.box(0.125, 0.0, 0.125, 0.875, 0.1875, 0.875)
val CEILING_UNPOWERED = Shapes.or(
Shapes.box(0.125, 0.8125, 0.125, 0.875, 1.0, 0.875),
Shapes.box(0.375, 0.6875, 0.375, 0.625, 0.8125, 0.625) )
val CEILING_POWERED = Shapes.or(
Shapes.box(0.125, 0.8125, 0.125, 0.875, 1.0, 0.875),
Shapes.box(0.375, 0.75, 0.375, 0.625, 0.8125, 0.625) )
val CEILING_PANEL = Shapes.box(0.125, 0.8125, 0.125, 0.875, 1.0, 0.875)
val WALL_UNPOWERED = Shapes.or(
Shapes.box(0.125, 0.125, 0.8125, 0.875, 0.875, 1.0),
Shapes.box(0.375, 0.375, 0.6875, 0.625, 0.625, 0.8125) )
val WALL_POWERED = Shapes.or(
Shapes.box(0.125, 0.125, 0.8125, 0.875, 0.875, 1.0),
Shapes.box(0.375, 0.375, 0.75, 0.625, 0.625, 0.8125) )
val WALL_PANEL = Shapes.box(0.125, 0.125, 0.8125, 0.875, 0.875, 1.0)
}
init {
registerDefaultState(stateDefinition.any()
.setValue(FACING, Direction.NORTH)
.setValue(FACE, AttachFace.WALL)
.setValue(POWERED, false)
.setValue(WATERLOGGED, false)
)
}
override fun createBlockStateDefinition(builder: StateDefinition.Builder<Block, BlockState>) {
builder.add(FACING, FACE, POWERED, WATERLOGGED)
}
override fun getFluidState(blockState: BlockState): FluidState? {
return if (blockState.getValue(WATERLOGGED)) Fluids.WATER.getSource(false) else super.getFluidState(blockState);
}
override fun getStateForPlacement(context: BlockPlaceContext): BlockState? {
val fluidState = context.level.getFluidState(context.clickedPos)
for (direction in context.nearestLookingDirections) {
val blockState: BlockState
if (direction.getAxis() === Direction.Axis.Y) {
blockState = (defaultBlockState()
.setValue(FACE, if (direction == Direction.UP) AttachFace.CEILING else AttachFace.FLOOR) as BlockState)
.setValue(FACING, context.horizontalDirection.opposite)
.setValue(WATERLOGGED, fluidState.type === Fluids.WATER
) as BlockState
} else {
blockState = (defaultBlockState()
.setValue(FACE, AttachFace.WALL) as BlockState)
.setValue(FACING, direction.opposite)
.setValue(WATERLOGGED, fluidState.type === Fluids.WATER
) as BlockState
}
if (blockState.canSurvive(context.getLevel(), context.getClickedPos())) {
return blockState
}
}
return null
}
override fun getShape(state: BlockState, blockGetter: BlockGetter, pos: BlockPos, collisionContext: CollisionContext): VoxelShape {
val direction = state.getValue(FACING)
return when (state.getValue(FACE)) {
AttachFace.FLOOR -> if (state.getValue(POWERED)) {FLOOR_POWERED} else {FLOOR_UNPOWERED}
AttachFace.WALL ->
when (direction) {
Direction.NORTH, Direction.UP, Direction.DOWN -> if (state.getValue(POWERED)) {WALL_POWERED} else {WALL_UNPOWERED}
else -> rotateShape(Direction.NORTH, direction, if (state.getValue(POWERED)) {WALL_POWERED} else {WALL_UNPOWERED})
}
AttachFace.CEILING -> if (state.getValue(POWERED)) {CEILING_POWERED} else {CEILING_UNPOWERED}
}
}
override fun getCollisionShape(state: BlockState, level: BlockGetter, pos: BlockPos, context: CollisionContext): VoxelShape {
val direction = state.getValue(FACING)
return when (state.getValue(FACE)) {
AttachFace.FLOOR -> FLOOR_PANEL
AttachFace.WALL -> when (direction) {
Direction.NORTH, Direction.UP, Direction.DOWN -> WALL_PANEL
else -> rotateShape(Direction.NORTH, direction, WALL_PANEL)
}
AttachFace.CEILING -> CEILING_PANEL
}
}
override fun updateShape(state: BlockState, direction: Direction, neighborState: BlockState, world: LevelAccessor, pos: BlockPos, neighborPos: BlockPos): BlockState {
if (state.getValue(WATERLOGGED)) {
world.scheduleTick(pos, Fluids.WATER, Fluids.WATER.getTickDelay(world))
}
return if (getConnectedDirection(state).opposite == direction && !state.canSurvive(world, pos)) Blocks.AIR.defaultBlockState()
else super.updateShape(state, direction, neighborState, world, pos, neighborPos)
}
override fun canSurvive(state: BlockState, level: LevelReader, pos: BlockPos): Boolean {
return if (state.getValue(FACE) != AttachFace.WALL) {
val direction = getConnectedDirection(state)
canSupportCenter(level, pos.relative(direction.opposite), direction)
} else {
level.getBlockState(pos.relative(state.getValue(FACING).opposite)).isSolid
}
}
}
@@ -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.block
import com.cobblemon.mod.common.util.rotateShape
import com.mojang.serialization.MapCodec
import com.mojang.serialization.codecs.RecordCodecBuilder
import net.minecraft.core.BlockPos
import net.minecraft.core.Direction
import net.minecraft.world.level.BlockGetter
import net.minecraft.world.level.block.state.BlockState
import net.minecraft.world.level.block.state.properties.AttachFace
import net.minecraft.world.level.block.state.properties.BlockStateProperties.WATERLOGGED
import net.minecraft.world.phys.shapes.CollisionContext
import net.minecraft.world.phys.shapes.Shapes
import net.minecraft.world.phys.shapes.VoxelShape
class GalaricaWreathBlock(properties: Properties) : SixFaceRotationalBlock(properties) {
companion object {
val CODEC: MapCodec<GalaricaWreathBlock> = RecordCodecBuilder.mapCodec {
it.group(propertiesCodec()).apply(it, ::GalaricaWreathBlock)
}
val FLOOR_NORTH = Shapes.box(0.125, 0.0, 0.125, 0.875, 0.25, 0.875)
val WALL_NORTH = Shapes.box(0.125, 0.125, 0.75, 0.875, 0.875, 1.0)
val CEILING_NORTH = Shapes.box(0.125, 0.125, 0.375, 0.875, 0.625, 0.5625)
}
init {
registerDefaultState(stateDefinition.any()
.setValue(FACING, Direction.NORTH)
.setValue(FACE, AttachFace.WALL)
.setValue(WATERLOGGED, false)
)
}
override fun codec(): MapCodec<GalaricaWreathBlock> = CODEC
override fun getShape(state: BlockState, blockGetter: BlockGetter, pos: BlockPos, collisionContext: CollisionContext): VoxelShape {
val direction = state.getValue(FACING)
return when (state.getValue(FACE)) {
AttachFace.FLOOR ->
if (direction.axis === Direction.Axis.X) {
rotateShape(Direction.NORTH, Direction.WEST, FLOOR_NORTH)
} else FLOOR_NORTH
AttachFace.WALL ->
when (direction) {
Direction.NORTH, Direction.UP, Direction.DOWN -> WALL_NORTH
else -> rotateShape(Direction.NORTH, direction, WALL_NORTH)
}
AttachFace.CEILING ->
if (direction.axis === Direction.Axis.X) {
rotateShape(Direction.NORTH, Direction.WEST, CEILING_NORTH)
} else CEILING_NORTH
}
}
}
@@ -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.block
import com.cobblemon.mod.common.util.rotateShape
import com.mojang.serialization.MapCodec
import com.mojang.serialization.codecs.RecordCodecBuilder
import net.minecraft.core.BlockPos
import net.minecraft.core.Direction
import net.minecraft.world.level.BlockGetter
import net.minecraft.world.level.LevelReader
import net.minecraft.world.level.block.state.BlockState
import net.minecraft.world.level.block.state.properties.AttachFace
import net.minecraft.world.level.block.state.properties.BlockStateProperties.WATERLOGGED
import net.minecraft.world.phys.shapes.CollisionContext
import net.minecraft.world.phys.shapes.Shapes
import net.minecraft.world.phys.shapes.VoxelShape
class MagnetBlock(properties: Properties) : SixFaceRotationalBlock(properties) {
companion object {
val CODEC: MapCodec<MagnetBlock> = RecordCodecBuilder.mapCodec {
it.group(propertiesCodec()).apply(it, ::MagnetBlock)
}
val FLOOR_NORTH = Shapes.box(0.25, 0.0, 0.25, 0.75, 0.1875, 0.75)
val WALL_NORTH = Shapes.box(0.25, 0.25, 0.8125, 0.75, 0.75, 1.0)
val CEILING_NORTH = Shapes.box(0.25, 0.8125, 0.25, 0.75, 1.0, 0.75)
}
init {
registerDefaultState(stateDefinition.any()
.setValue(FACING, Direction.NORTH)
.setValue(FACE, AttachFace.WALL)
.setValue(WATERLOGGED, false)
)
}
override fun codec(): MapCodec<MagnetBlock> = CODEC
override fun getShape(state: BlockState, blockGetter: BlockGetter, pos: BlockPos, collisionContext: CollisionContext): VoxelShape {
val direction = state.getValue(FACING)
return when (state.getValue(FACE)) {
AttachFace.FLOOR ->
if (direction.axis === Direction.Axis.X) {
rotateShape(Direction.NORTH, Direction.WEST, FLOOR_NORTH)
} else FLOOR_NORTH
AttachFace.WALL ->
when (direction) {
Direction.NORTH, Direction.UP, Direction.DOWN -> WALL_NORTH
else -> rotateShape(Direction.NORTH, direction, WALL_NORTH)
}
AttachFace.CEILING ->
if (direction.axis === Direction.Axis.X) {
rotateShape(Direction.NORTH, Direction.WEST, CEILING_NORTH)
} else CEILING_NORTH
}
}
override fun canSurvive(state: BlockState, level: LevelReader, pos: BlockPos): Boolean {
return true
}
}
@@ -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.block
import com.cobblemon.mod.common.util.rotateShape
import com.mojang.serialization.MapCodec
import com.mojang.serialization.codecs.RecordCodecBuilder
import net.minecraft.core.BlockPos
import net.minecraft.core.Direction
import net.minecraft.world.level.BlockGetter
import net.minecraft.world.level.LevelReader
import net.minecraft.world.level.block.state.BlockState
import net.minecraft.world.level.block.state.properties.AttachFace
import net.minecraft.world.level.block.state.properties.BlockStateProperties.WATERLOGGED
import net.minecraft.world.phys.shapes.CollisionContext
import net.minecraft.world.phys.shapes.Shapes
import net.minecraft.world.phys.shapes.VoxelShape
class OrbBlock(properties: Properties) : SixFaceRotationalBlock(properties) {
companion object {
val CODEC: MapCodec<OrbBlock> = RecordCodecBuilder.mapCodec {
it.group(propertiesCodec()).apply(it, ::OrbBlock)
}
val FLOOR_NORTH = Shapes.box(0.3125, 0.0, 0.3125, 0.6875, 0.375, 0.6875)
val WALL_NORTH = Shapes.box(0.3125, 0.3125, 0.625, 0.6875, 0.6875, 1.0)
val CEILING_NORTH = Shapes.box(0.3125, 0.625, 0.375, 0.6875, 1.0, 0.6875)
}
init {
registerDefaultState(stateDefinition.any()
.setValue(FACING, Direction.NORTH)
.setValue(FACE, AttachFace.WALL)
.setValue(WATERLOGGED, false)
)
}
override fun codec(): MapCodec<OrbBlock> = CODEC
override fun getShape(state: BlockState, blockGetter: BlockGetter, pos: BlockPos, collisionContext: CollisionContext): VoxelShape {
val direction = state.getValue(FACING)
return when (state.getValue(FACE)) {
AttachFace.FLOOR ->
if (direction.axis === Direction.Axis.X) {
rotateShape(Direction.NORTH, Direction.WEST, FLOOR_NORTH)
} else FLOOR_NORTH
AttachFace.WALL ->
when (direction) {
Direction.NORTH, Direction.UP, Direction.DOWN -> WALL_NORTH
else -> rotateShape(Direction.NORTH, direction, WALL_NORTH)
}
AttachFace.CEILING ->
if (direction.axis === Direction.Axis.X) {
rotateShape(Direction.NORTH, Direction.WEST, CEILING_NORTH)
} else CEILING_NORTH
}
}
override fun canSurvive(state: BlockState, level: LevelReader, pos: BlockPos): Boolean {
return true
}
}
@@ -13,25 +13,15 @@ import com.mojang.serialization.MapCodec
import com.mojang.serialization.codecs.RecordCodecBuilder
import net.minecraft.core.BlockPos
import net.minecraft.core.Direction
import net.minecraft.world.item.context.BlockPlaceContext
import net.minecraft.world.level.BlockGetter
import net.minecraft.world.level.LevelAccessor
import net.minecraft.world.level.LevelReader
import net.minecraft.world.level.block.Block
import net.minecraft.world.level.block.Blocks
import net.minecraft.world.level.block.FaceAttachedHorizontalDirectionalBlock
import net.minecraft.world.level.block.SimpleWaterloggedBlock
import net.minecraft.world.level.block.state.BlockState
import net.minecraft.world.level.block.state.StateDefinition
import net.minecraft.world.level.block.state.properties.AttachFace
import net.minecraft.world.level.block.state.properties.BlockStateProperties.WATERLOGGED
import net.minecraft.world.level.material.FluidState
import net.minecraft.world.level.material.Fluids
import net.minecraft.world.phys.shapes.CollisionContext
import net.minecraft.world.phys.shapes.Shapes
import net.minecraft.world.phys.shapes.VoxelShape
class PlaqueBlock(properties : Properties) : FaceAttachedHorizontalDirectionalBlock(properties), SimpleWaterloggedBlock {
class PlaqueBlock(properties : Properties) : SixFaceRotationalBlock(properties) {
companion object {
val CODEC: MapCodec<PlaqueBlock> = RecordCodecBuilder.mapCodec {
it.group(propertiesCodec()).apply(it, ::PlaqueBlock)
@@ -54,40 +44,6 @@ class PlaqueBlock(properties : Properties) : FaceAttachedHorizontalDirectionalBl
)
}
override fun createBlockStateDefinition(builder: StateDefinition.Builder<Block, BlockState>) {
builder.add(FACING, FACE, WATERLOGGED)
}
override fun getFluidState(blockState: BlockState): FluidState? {
return if (blockState.getValue(WATERLOGGED)) Fluids.WATER.getSource(false) else super.getFluidState(blockState);
}
override fun getStateForPlacement(context: BlockPlaceContext): BlockState? {
val fluidState = context.level.getFluidState(context.clickedPos)
for (direction in context.nearestLookingDirections) {
val blockState: BlockState
if (direction.getAxis() === Direction.Axis.Y) {
blockState = (defaultBlockState()
.setValue(FACE, if (direction == Direction.UP) AttachFace.CEILING else AttachFace.FLOOR) as BlockState)
.setValue(FACING, context.horizontalDirection.opposite)
.setValue(WATERLOGGED, fluidState.type === Fluids.WATER
) as BlockState
} else {
blockState = (defaultBlockState()
.setValue(FACE, AttachFace.WALL) as BlockState)
.setValue(FACING, direction.opposite)
.setValue(WATERLOGGED, fluidState.type === Fluids.WATER
) as BlockState
}
if (blockState.canSurvive(context.getLevel(), context.getClickedPos())) {
return blockState
}
}
return null
}
override fun codec(): MapCodec<PlaqueBlock> = CODEC
override fun getShape(state: BlockState, blockGetter: BlockGetter, pos: BlockPos, collisionContext: CollisionContext): VoxelShape {
@@ -108,21 +64,4 @@ class PlaqueBlock(properties : Properties) : FaceAttachedHorizontalDirectionalBl
} else CEILING_NORTH
}
}
override fun updateShape(state: BlockState, direction: Direction, neighborState: BlockState, world: LevelAccessor, pos: BlockPos, neighborPos: BlockPos): BlockState {
if (state.getValue(WATERLOGGED)) {
world.scheduleTick(pos, Fluids.WATER, Fluids.WATER.getTickDelay(world))
}
return if (getConnectedDirection(state).opposite == direction && !state.canSurvive(world, pos)) Blocks.AIR.defaultBlockState()
else super.updateShape(state, direction, neighborState, world, pos, neighborPos)
}
override fun canSurvive(state: BlockState, level: LevelReader, pos: BlockPos): Boolean {
return if (state.getValue(FACE) == AttachFace.CEILING) {
val direction = getConnectedDirection(state)
canSupportCenter(level, pos.relative(direction.opposite), direction)
} else {
super.canSurvive(state, level, pos)
}
}
}
@@ -0,0 +1,116 @@
/*
* 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.block.decor
import com.mojang.serialization.MapCodec
import com.mojang.serialization.codecs.RecordCodecBuilder
import net.minecraft.core.BlockPos
import net.minecraft.core.Direction
import net.minecraft.world.item.context.BlockPlaceContext
import net.minecraft.world.level.BlockGetter
import net.minecraft.world.level.LevelAccessor
import net.minecraft.world.level.LevelReader
import net.minecraft.world.level.block.*
import net.minecraft.world.level.block.HorizontalDirectionalBlock.FACING
import net.minecraft.world.level.block.state.BlockState
import net.minecraft.world.level.block.state.StateDefinition
import net.minecraft.world.level.block.state.properties.BlockStateProperties
import net.minecraft.world.level.block.state.properties.BlockStateProperties.WATERLOGGED
import net.minecraft.world.level.block.state.properties.Property
import net.minecraft.world.level.material.FluidState
import net.minecraft.world.level.material.Fluids
import net.minecraft.world.phys.shapes.CollisionContext
import net.minecraft.world.phys.shapes.Shapes
import net.minecraft.world.phys.shapes.VoxelShape
class RingTargetBlock(settings: Properties) : TargetBlock(settings), SimpleWaterloggedBlock {
init {
registerDefaultState(stateDefinition.any()
.setValue(FACING, Direction.NORTH)
.setValue(WATERLOGGED, false)
.setValue(OUTPUT_POWER, 0))
}
override fun getStateForPlacement(ctx: BlockPlaceContext): BlockState? {
var blockState = defaultBlockState()
.setValue(WATERLOGGED, ctx.level.getFluidState(ctx.clickedPos).type == Fluids.WATER)
val worldView = ctx.level
val blockPos = ctx.clickedPos
ctx.nearestLookingDirections.forEach { direction ->
if (direction.axis.isHorizontal) {
blockState = blockState.setValue(FACING, direction.opposite) as BlockState
if (blockState.canSurvive(worldView, blockPos)) {
return blockState
}
}
}
return null
}
override fun getFluidState(blockState: BlockState): FluidState? {
return if (blockState.getValue(WATERLOGGED)) Fluids.WATER.getSource(false) else super.getFluidState(blockState)
}
override fun createBlockStateDefinition(builder: StateDefinition.Builder<Block, BlockState>) {
builder.add(FACING)
builder.add(WATERLOGGED)
builder.add(*arrayOf<Property<*>>(OUTPUT_POWER))
}
override fun getShape(
state: BlockState,
blockGetter: BlockGetter,
pos: BlockPos,
collisionContext: CollisionContext
): VoxelShape {
return when (state.getValue(FACING)) {
Direction.SOUTH -> FULL_PLANE_SOUTH
Direction.WEST -> FULL_PLANE_WEST
Direction.EAST -> FULL_PLANE_EAST
else -> FULL_PLANE_NORTH
}
}
override fun updateShape(
state: BlockState,
direction: Direction,
neighborState: BlockState,
world: LevelAccessor,
pos: BlockPos,
neighborPos: BlockPos
): BlockState {
if (state.getValue(WATERLOGGED)) {
world.scheduleTick(pos, Fluids.WATER, Fluids.WATER.getTickDelay(world))
}
return if (direction.opposite == state.getValue(FACING) && !state.canSurvive(world, pos)) Blocks.AIR.defaultBlockState()
else super.updateShape(state, direction, neighborState, world, pos, neighborPos)
}
override fun rotate(state: BlockState, rotation: Rotation): BlockState {
return state.setValue(FACING, rotation.rotate(state.getValue(FACING)))
}
override fun canSurvive(state: BlockState, level: LevelReader, pos: BlockPos): Boolean {
return level.getBlockState(pos.relative(state.getValue(FACING).opposite)).isSolid
}
companion object {
val CODEC: MapCodec<RingTargetBlock> = RecordCodecBuilder.mapCodec {
it.group(
propertiesCodec()
).apply(it, ::RingTargetBlock) }
val OUTPUT_POWER = BlockStateProperties.POWER;
val FULL_PLANE_NORTH = Shapes.box(0.0, 0.0, 0.925, 1.0, 1.0, 1.0)
val FULL_PLANE_WEST = Shapes.box(0.925, 0.0, 0.0, 1.0, 1.0, 1.0)
val FULL_PLANE_SOUTH = Shapes.box(0.0, 0.0, 0.0, 1.0, 1.0, 0.075)
val FULL_PLANE_EAST = Shapes.box(0.0, 0.0, 0.0, 0.075, 1.0, 1.0)
}
}
@@ -0,0 +1,87 @@
/*
* 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.block
import com.mojang.serialization.MapCodec
import net.minecraft.core.BlockPos
import net.minecraft.core.Direction
import net.minecraft.world.item.context.BlockPlaceContext
import net.minecraft.world.level.LevelAccessor
import net.minecraft.world.level.LevelReader
import net.minecraft.world.level.block.Block
import net.minecraft.world.level.block.Blocks
import net.minecraft.world.level.block.FaceAttachedHorizontalDirectionalBlock
import net.minecraft.world.level.block.SimpleWaterloggedBlock
import net.minecraft.world.level.block.state.BlockState
import net.minecraft.world.level.block.state.StateDefinition
import net.minecraft.world.level.block.state.properties.AttachFace
import net.minecraft.world.level.block.state.properties.BlockStateProperties.WATERLOGGED
import net.minecraft.world.level.material.FluidState
import net.minecraft.world.level.material.Fluids
open class SixFaceRotationalBlock(properties : Properties) : FaceAttachedHorizontalDirectionalBlock(properties), SimpleWaterloggedBlock {
companion object {
val CODEC = simpleCodec(::SixFaceRotationalBlock)
}
override fun codec(): MapCodec<out SixFaceRotationalBlock> = CODEC
override fun createBlockStateDefinition(builder: StateDefinition.Builder<Block, BlockState>) {
builder.add(FACING, FACE, WATERLOGGED)
}
override fun getFluidState(blockState: BlockState): FluidState? {
return if (blockState.getValue(WATERLOGGED)) Fluids.WATER.getSource(false) else super.getFluidState(blockState);
}
override fun getStateForPlacement(context: BlockPlaceContext): BlockState? {
val fluidState = context.level.getFluidState(context.clickedPos)
for (direction in context.nearestLookingDirections) {
val blockState: BlockState
if (direction.getAxis() === Direction.Axis.Y) {
blockState = (defaultBlockState()
.setValue(FACE, if (direction == Direction.UP) AttachFace.CEILING else AttachFace.FLOOR) as BlockState)
.setValue(FACING, context.horizontalDirection.opposite)
.setValue(WATERLOGGED, fluidState.type === Fluids.WATER
) as BlockState
} else {
blockState = (defaultBlockState()
.setValue(FACE, AttachFace.WALL) as BlockState)
.setValue(FACING, direction.opposite)
.setValue(WATERLOGGED, fluidState.type === Fluids.WATER
) as BlockState
}
if (blockState.canSurvive(context.getLevel(), context.getClickedPos())) {
return blockState
}
}
return null
}
override fun updateShape(state: BlockState, direction: Direction, neighborState: BlockState, world: LevelAccessor, pos: BlockPos, neighborPos: BlockPos): BlockState {
if (state.getValue(WATERLOGGED)) {
world.scheduleTick(pos, Fluids.WATER, Fluids.WATER.getTickDelay(world))
}
return if (getConnectedDirection(state).opposite == direction && !state.canSurvive(world, pos)) Blocks.AIR.defaultBlockState()
else super.updateShape(state, direction, neighborState, world, pos, neighborPos)
}
override fun canSurvive(state: BlockState, level: LevelReader, pos: BlockPos): Boolean {
return if (state.getValue(FACE) == AttachFace.CEILING) {
val direction = getConnectedDirection(state)
canSupportCenter(level, pos.relative(direction.opposite), direction)
} else if (state.getValue(FACE) == AttachFace.WALL) {
level.getBlockState(pos.relative(state.getValue(FACING).opposite)).isSolid
} else {
super.canSurvive(state, level, pos)
}
}
}
@@ -39,7 +39,13 @@ class StackableItemBlock(settings: Properties, val type: StackableItemBlockType)
ETHER,
MAX_POTION,
POTION,
STATUS_RESTORE;
STATUS_RESTORE,
VITAMIN,
METAL_COAT,
IRON_BALL,
THROAT_SPRAY,
UPGRADE,
DICE;
override fun getSerializedName(): String = this.name.lowercase()
@@ -57,98 +63,78 @@ class StackableItemBlock(settings: Properties, val type: StackableItemBlockType)
StackableItemBlockType.CODEC.fieldOf("type").forGetter(StackableItemBlock::type)
).apply(it, ::StackableItemBlock) }
val northShapeMap: Map<StackableItemBlockType, List<VoxelShape>> = mapOf(
StackableItemBlockType.BATTLE_ITEM to listOf(
Shapes.box(0.34375, 0.0, 0.34375, 0.65625, 0.4375, 0.65625),
Shapes.or(
Shapes.box(0.09375, 0.0, 0.34375, 0.40625, 0.4375, 0.65625),
Shapes.box(0.59375, 0.0, 0.40625, 0.90625, 0.4375, 0.71875)
val northShapeMap: Map<StackableItemBlockType, List<VoxelShape>>
get() = mapOf(
StackableItemBlockType.BATTLE_ITEM to listOf(
Shapes.box(0.34375, 0.0, 0.34375, 0.65625, 0.4375, 0.65625),
Shapes.box(0.09375, 0.0, 0.34375, 0.90625, 0.4375, 0.71875),
Shapes.box(0.09375, 0.0, 0.09375, 0.90625, 0.4375, 0.90625),
Shapes.box(0.09375, 0.0, 0.09375, 0.96875, 0.4375, 0.90625)
),
Shapes.or(
Shapes.box(0.59375, 0.0, 0.59375, 0.90625, 0.4375, 0.90625),
Shapes.box(0.09375, 0.0, 0.53125, 0.40625, 0.4375, 0.84375),
Shapes.box(0.34375, 0.0, 0.09375, 0.65625, 0.4375, 0.40625)
StackableItemBlockType.ETHER to listOf(
Shapes.box(0.375, 0.0, 0.3125, 0.625, 0.5, 0.6875),
Shapes.box(0.125, 0.0, 0.3125, 0.875, 0.5, 0.75),
Shapes.box(0.125, 0.0, 0.125, 0.875, 0.5, 1.0),
Shapes.box(0.125, 0.0, 0.0625, 0.9375, 0.5, 1.0)
),
Shapes.or(
Shapes.box(0.09375, 0.0, 0.09375, 0.40625, 0.4375, 0.40625),
Shapes.box(0.59375, 0.0, 0.15625, 0.90625, 0.4375, 0.46875),
Shapes.box(0.65625, 0.0, 0.59375, 0.96875, 0.4375, 0.90625),
Shapes.box(0.15625, 0.0, 0.53125, 0.46875, 0.4375, 0.84375)
)
),
StackableItemBlockType.ETHER to listOf(
Shapes.box(0.375, 0.0, 0.3125, 0.625, 0.5, 0.6875),
Shapes.or(
Shapes.box(0.625, 0.0, 0.375, 0.875, 0.5, 0.75),
Shapes.box(0.125, 0.0, 0.3125, 0.375, 0.5, 0.6875)
StackableItemBlockType.MAX_POTION to listOf(
Shapes.box(0.34375, 0.0, 0.3125, 0.65625, 0.5, 0.6875),
Shapes.box(0.09375, 0.0, 0.3125, 0.90625, 0.5, 0.75),
Shapes.box(0.09375, 0.0, 0.0625, 0.90625, 0.5, 1.0),
Shapes.box(0.09375, 0.0, 0.0625, 0.96875, 0.5, 1.0)
),
Shapes.or(
Shapes.box(0.375, 0.0, 0.125, 0.625, 0.5, 0.5),
Shapes.box(0.125, 0.0, 0.5625, 0.375, 0.5, 0.9375),
Shapes.box(0.625, 0.0, 0.625, 0.875, 0.5, 1.0)
StackableItemBlockType.POTION to listOf(
Shapes.box(0.375, 0.0, 0.3125, 0.625, 0.5625, 0.75),
Shapes.box(0.125, 0.0, 0.3125, 0.875, 0.5625, 0.8125),
Shapes.box(0.125, 0.0, 0.0625, 0.875, 0.5625, 1.0),
Shapes.box(0.125, 0.0, 0.0, 0.9375, 0.5625, 1.0)
),
Shapes.or(
Shapes.box(0.125, 0.0, 0.0625, 0.375, 0.5, 0.4375),
Shapes.box(0.625, 0.0, 0.125, 0.875, 0.5, 0.5),
Shapes.box(0.6875, 0.0, 0.625, 0.9375, 0.5, 1.0),
Shapes.box(0.1875, 0.0, 0.5625, 0.4375, 0.5, 0.9375)
)
),
StackableItemBlockType.MAX_POTION to listOf(
Shapes.box(0.34375, 0.0, 0.3125, 0.65625, 0.5, 0.6875),
Shapes.or(
Shapes.box(0.09375, 0.0, 0.3125, 0.40625, 0.5, 0.6875),
Shapes.box(0.59375, 0.0, 0.375, 0.90625, 0.5, 0.75)
StackableItemBlockType.STATUS_RESTORE to listOf(
Shapes.box(0.375, 0.0, 0.3125, 0.625, 0.4375, 0.6875),
Shapes.box(0.125, 0.0, 0.3125, 0.875, 0.4375, 0.75),
Shapes.box(0.125, 0.0, 0.0625, 0.875, 0.4375, 0.9375),
Shapes.box(0.125, 0.0, 0.0, 0.9375, 0.4375, 0.9375)
),
Shapes.or(
Shapes.box(0.34375, 0.0, 0.0625, 0.65625, 0.5, 0.4375),
Shapes.box(0.09375, 0.0, 0.5625, 0.40625, 0.5, 0.9375),
Shapes.box(0.59375, 0.0, 0.625, 0.90625, 0.5, 1.0)
StackableItemBlockType.METAL_COAT to listOf(
Shapes.box(0.3125, 0.0, 0.3125, 0.6875, 0.375, 0.6875),
Shapes.box(0.125, 0.0, 0.125, 0.875, 0.375, 0.875),
Shapes.box(0.125, 0.0, 0.0625, 0.9375, 0.375, 0.875),
Shapes.box(0.0625, 0.0, 0.0625, 0.9375, 0.375, 0.9375)
),
Shapes.or(
Shapes.box(0.09375, 0.0, 0.0625, 0.40625, 0.5, 0.4375),
Shapes.box(0.15625, 0.0, 0.5625, 0.46875, 0.5, 0.9375),
Shapes.box(0.65625, 0.0, 0.625, 0.96875, 0.5, 1.0),
Shapes.box(0.59375, 0.0, 0.125, 0.90625, 0.5, 0.5)
).singleEncompassing()
),
StackableItemBlockType.POTION to listOf(
Shapes.box(0.375, 0.0, 0.3125, 0.625, 0.5625, 0.75),
Shapes.or(
Shapes.box(0.125, 0.0, 0.3125, 0.375, 0.5625, 0.75),
Shapes.box(0.625, 0.0, 0.375, 0.875, 0.5625, 0.8125)
StackableItemBlockType.VITAMIN to listOf(
Shapes.box(0.375, 0.0, 0.375, 0.625, 0.4375, 0.625),
Shapes.box(0.1875, 0.0, 0.3125, 0.8125, 0.4375, 0.6875),
Shapes.box(0.1875, 0.0, 0.1875, 0.8125, 0.4375, 0.8125),
Shapes.box(0.125, 0.0, 0.125, 0.875, 0.4375, 0.875)
),
Shapes.or(
Shapes.box(0.375, 0.0, 0.0625, 0.625, 0.5625, 0.5),
Shapes.box(0.625, 0.0, 0.5625, 0.875, 0.5625, 1.0),
Shapes.box(0.125, 0.0, 0.5, 0.375, 0.5625, 0.9375)
StackableItemBlockType.IRON_BALL to listOf(
Shapes.box(0.25, 0.0, 0.25, 0.75, 0.4375, 0.75),
Shapes.box(0.0, 0.0, 0.1875, 1.0, 0.4375, 0.8125),
Shapes.box(0.0, 0.0, 0.0, 1.0, 0.4375, 1.0),
Shapes.or(
Shapes.box(0.0, 0.0, 0.0, 1.0, 0.4375, 1.0),
Shapes.box(0.25, 0.4375, 0.3125, 0.6875, 0.875, 0.75)
)
),
Shapes.or(
Shapes.box(0.125, 0.0, 0.0, 0.375, 0.5625, 0.4375),
Shapes.box(0.625, 0.0, 0.0625, 0.875, 0.5625, 0.5),
Shapes.box(0.6875, 0.0, 0.5625, 0.9375, 0.5625, 1.0),
Shapes.box(0.1875, 0.0, 0.5, 0.4375, 0.5625, 0.9375)
)
),
StackableItemBlockType.STATUS_RESTORE to listOf(
Shapes.box(0.375, 0.0, 0.3125, 0.625, 0.4375, 0.6875),
Shapes.or(
Shapes.box(0.125, 0.0, 0.3125, 0.375, 0.4375, 0.75),
Shapes.box(0.625, 0.0, 0.375, 0.875, 0.4375, 0.75)
StackableItemBlockType.THROAT_SPRAY to listOf(
Shapes.box(0.375, 0.0, 0.1875, 0.625, 0.5625, 0.75),
Shapes.box(0.125, 0.0, 0.1875, 0.875, 0.5625, 0.8125),
Shapes.box(0.125, 0.0, 0.0, 0.875, 0.5625, 1.0),
Shapes.box(0.075, 0.0, 0.0, 0.9375, 0.5625, 1.0)
),
Shapes.or(
Shapes.box(0.125, 0.0, 0.5, 0.375, 0.4375, 0.875),
Shapes.box(0.625, 0.0, 0.5625, 0.875, 0.4375, 0.9375),
Shapes.box(0.375, 0.0, 0.0625, 0.625, 0.4375, 0.4375)
StackableItemBlockType.UPGRADE to listOf(
Shapes.box(0.3125, 0.0, 0.3125, 0.6875, 0.125, 0.6875),
Shapes.box(0.3125, 0.0, 0.3125, 0.6875, 0.25, 0.6875),
Shapes.box(0.3125, 0.0, 0.3125, 0.6875, 0.375, 0.6875),
Shapes.box(0.3125, 0.0, 0.3125, 0.6875, 0.5, 0.6875)
),
Shapes.or(
Shapes.box(0.1875, 0.0, 0.5, 0.4375, 0.4375, 0.875),
Shapes.box(0.125, 0.0, 0.0, 0.375, 0.4375, 0.375),
Shapes.box(0.625, 0.0, 0.0625, 0.875, 0.4375, 0.4375),
Shapes.box(0.6875, 0.0, 0.5625, 0.9375, 0.4375, 0.9375)
StackableItemBlockType.DICE to listOf(
Shapes.box(0.125, 0.0, 0.6875, 0.3125, 0.1875, 0.875),
Shapes.box(0.125, 0.0, 0.625, 0.5625, 0.1875, 0.875),
Shapes.box(0.125, 0.0, 0.4375, 0.5625, 0.1875, 0.875),
Shapes.box(0.125, 0.0, 0.4375, 0.5625, 0.375, 0.875)
)
)
)
fun getShape(type: StackableItemBlockType, count: Int): VoxelShape = northShapeMap[type]?.let { list -> list[(count - 1).coerceIn(0, list.lastIndex)] } ?: Shapes.block()
fun getMaxAmount(type: StackableItemBlockType): Int = min(northShapeMap[type]?.size ?: 1 , MAX_AMOUNT)
@@ -184,7 +170,7 @@ class StackableItemBlock(settings: Properties, val type: StackableItemBlockType)
}
override fun getShape(state: BlockState, level: BlockGetter, pos: BlockPos, context: CollisionContext): VoxelShape {
return getCollisionShape(state, level, pos, context).singleEncompassing()
return getCollisionShape(state, level, pos, context)
}
override fun getStateForPlacement(context: BlockPlaceContext): BlockState? {
@@ -22,6 +22,7 @@ import com.cobblemon.mod.common.api.storage.player.client.ClientPokedexManager
import com.cobblemon.mod.common.api.storage.player.client.ClientTMMoveManager
import com.cobblemon.mod.common.api.tags.CobblemonItemTags
import com.cobblemon.mod.common.block.entity.TintBlockEntity
import com.cobblemon.mod.common.block.sign.CobblemonSignBlock
import com.cobblemon.mod.common.client.battle.ClientBattle
import com.cobblemon.mod.common.client.gui.PartyOverlay
import com.cobblemon.mod.common.client.gui.PartyOverlayDataControl
@@ -238,6 +239,12 @@ object CobblemonClient {
CobblemonBlocks.POKE_CAKE
)
this.implementation.registerBlockRenderType(
RenderType.translucent(),
CobblemonBlocks.UPGRADE,
CobblemonBlocks.DUBIOUS_DISC
)
this.implementation.registerBlockRenderType(
RenderType.cutout(),
CobblemonBlocks.GILDED_CHEST,
@@ -383,7 +390,31 @@ object CobblemonClient {
CobblemonBlocks.X_SP_ATK,
CobblemonBlocks.X_SP_DEF,
CobblemonBlocks.X_SPEED,
CobblemonBlocks.TM_MACHINE
CobblemonBlocks.TM_MACHINE,
CobblemonBlocks.GALARICA_CUFF,
CobblemonBlocks.GALARICA_WREATH,
CobblemonBlocks.CHIPPED_POT,
CobblemonBlocks.CRACKED_POT,
CobblemonBlocks.UNREMARKABLE_TEACUP,
CobblemonBlocks.MASTERPIECE_TEACUP,
CobblemonBlocks.LUMINOUS_MOSS,
CobblemonBlocks.ICY_ROCK,
CobblemonBlocks.HEAT_ROCK,
CobblemonBlocks.SMOOTH_ROCK,
CobblemonBlocks.DAMP_ROCK,
CobblemonBlocks.DESTINY_KNOT,
CobblemonBlocks.METRONOME,
CobblemonBlocks.KINGS_ROCK,
CobblemonBlocks.FLAME_ORB,
CobblemonBlocks.LIFE_ORB,
CobblemonBlocks.TOXIC_ORB,
CobblemonBlocks.LIGHT_BALL,
CobblemonBlocks.SMOKE_BALL,
CobblemonBlocks.NEVER_MELT_ICE,
CobblemonBlocks.WIDE_LENS,
CobblemonBlocks.ZOOM_LENS,
CobblemonBlocks.SCOPE_LENS
)
this.createBoatModelLayers()
@@ -71,7 +71,7 @@ open class VariableObjectSelectionList(x: Int, y: Int, width: Int, height: Int):
var stackHeight = -scrollAmount.toInt()
guiGraphics.enableScissor(x, y, x + width, y + height)
children.forEachIndexed { index, entry ->
if (stackHeight in 1..<height || stackHeight + entry.height in 1..<height) {
if (stackHeight < height && stackHeight + entry.height > 0) {
entry.render(guiGraphics, index, x, y + stackHeight, mouseX, mouseY, partialTick)
}
stackHeight += entry.height
@@ -8,12 +8,10 @@
package com.cobblemon.mod.common.client.gui.startselection.widgets
import com.cobblemon.mod.common.Cobblemon
import com.cobblemon.mod.common.CobblemonSounds
import com.cobblemon.mod.common.api.gui.blitk
import com.cobblemon.mod.common.api.text.bold
import com.cobblemon.mod.common.client.gui.CobblemonRenderable
import com.cobblemon.mod.common.client.gui.PokemonGUIAnimationStyle
import com.cobblemon.mod.common.client.gui.VariableObjectSelectionList
import com.cobblemon.mod.common.client.gui.drawProfilePokemon
import com.cobblemon.mod.common.client.gui.startselection.StarterSelectionScreen
@@ -29,12 +27,11 @@ import org.joml.Quaternionf
import org.joml.Vector3f
class CategoryList(
private val paneWidth: Int,
private val paneHeight: Int,
paneWidth: Int,
paneHeight: Int,
private val categories: List<RenderableStarterCategory>,
val listX: Int,
val listY: Int,
private val minecraft: Minecraft = Minecraft.getInstance(),
private val starterSelectionScreen: StarterSelectionScreen
) : VariableObjectSelectionList(
listX,
@@ -70,7 +67,8 @@ class CategoryList(
}
private fun createEntries() = categories.map { category ->
val rows = (category.pokemon.size - 1) / 3 + 1
val pokemonCount = category.pokemon.size - if (category.randomStarter) 0 else 1
val rows = pokemonCount / 3 + 1
val height = CONTAINER_BUTTON_SIZE * rows + BUTTON_SEPERATION * (rows + 1) + HEADER_HEIGHT + 3
Category(category, height)
}
@@ -1,63 +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.client.render.models.blockbench.pokemon.gen5
import com.cobblemon.mod.common.client.render.models.blockbench.animation.QuadrupedWalkAnimation
import com.cobblemon.mod.common.client.render.models.blockbench.frame.HeadedFrame
import com.cobblemon.mod.common.client.render.models.blockbench.frame.QuadrupedFrame
import com.cobblemon.mod.common.client.render.models.blockbench.pokemon.PokemonPosableModel
import com.cobblemon.mod.common.client.render.models.blockbench.pose.Pose
import com.cobblemon.mod.common.entity.PoseType
import net.minecraft.client.model.geom.ModelPart
import net.minecraft.world.phys.Vec3
class DeerlingModel(root: ModelPart) : PokemonPosableModel(root), HeadedFrame, QuadrupedFrame {
override val rootPart = root.registerChildWithAllChildren("deerling")
override val head = getPart("head")
override var portraitScale = 3.5F
override var portraitTranslation = Vec3(-0.55, -1.1, 0.0)
override var profileScale = 1.0F
override var profileTranslation = Vec3(0.0, 0.25, 0.0)
override val foreLeftLeg= getPart("leg_front_left")
override val foreRightLeg = getPart("leg_front_right")
override val hindLeftLeg = getPart("leg_back_left")
override val hindRightLeg = getPart("leg_back_right")
lateinit var standing: Pose
lateinit var walk: Pose
override fun registerPoses() {
standing = registerPose(
poseName = "standing",
poseTypes = PoseType.STATIONARY_POSES + PoseType.UI_POSES,
animations = arrayOf(
singleBoneLook(),
// bedrock("deerling", "ground_idle")
)
)
walk = registerPose(
poseName = "walk",
poseTypes = PoseType.MOVING_POSES,
animations = arrayOf(
singleBoneLook(),
QuadrupedWalkAnimation(this, periodMultiplier = 0.8F, amplitudeMultiplier = 0.8F)
// bedrock("deerling", "ground_walk")
)
)
}
// override fun getFaintAnimation(
// pokemonEntity: PokemonEntity,
// state: PosableState<PokemonEntity>
// ) = if (state.isPosedIn(standing, walk)) bedrockStateful("deerling", "faint") else null
}
@@ -1,63 +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.client.render.models.blockbench.pokemon.gen5
import com.cobblemon.mod.common.client.render.models.blockbench.animation.QuadrupedWalkAnimation
import com.cobblemon.mod.common.client.render.models.blockbench.frame.HeadedFrame
import com.cobblemon.mod.common.client.render.models.blockbench.frame.QuadrupedFrame
import com.cobblemon.mod.common.client.render.models.blockbench.pokemon.PokemonPosableModel
import com.cobblemon.mod.common.client.render.models.blockbench.pose.Pose
import com.cobblemon.mod.common.entity.PoseType
import net.minecraft.client.model.geom.ModelPart
import net.minecraft.world.phys.Vec3
class SawsbuckModel(root: ModelPart) : PokemonPosableModel(root), HeadedFrame, QuadrupedFrame {
override val rootPart = root.registerChildWithAllChildren("sawsbuck")
override val head = getPart("head")
override var portraitScale = 2.0F
override var portraitTranslation = Vec3(-0.5, 1.1, 0.0)
override var profileScale = 0.65F
override var profileTranslation = Vec3(0.0, 0.75, 0.0)
override val foreLeftLeg= getPart("leg_front_left")
override val foreRightLeg = getPart("leg_front_right")
override val hindLeftLeg = getPart("leg_back_left")
override val hindRightLeg = getPart("leg_back_right")
lateinit var standing: Pose
lateinit var walk: Pose
override fun registerPoses() {
standing = registerPose(
poseName = "standing",
poseTypes = PoseType.STATIONARY_POSES + PoseType.UI_POSES,
animations = arrayOf(
singleBoneLook(),
// bedrock("sawsbuck", "ground_idle")
)
)
walk = registerPose(
poseName = "walk",
poseTypes = PoseType.MOVING_POSES,
animations = arrayOf(
singleBoneLook(),
QuadrupedWalkAnimation(this, periodMultiplier = 0.9F, amplitudeMultiplier = 0.9F)
// bedrock("sawsbuck", "ground_walk")
)
)
}
// override fun getFaintAnimation(
// pokemonEntity: PokemonEntity,
// state: PosableState<PokemonEntity>
// ) = if (state.isPosedIn(standing, walk)) bedrockStateful("sawsbuck", "faint") else null
}
@@ -1,90 +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.client.render.models.blockbench.pokemon.gen9
import com.cobblemon.mod.common.client.render.models.blockbench.PosableState
import com.cobblemon.mod.common.client.render.models.blockbench.createTransformation
import com.cobblemon.mod.common.client.render.models.blockbench.pokemon.CryProvider
import com.cobblemon.mod.common.client.render.models.blockbench.pokemon.PokemonPosableModel
import com.cobblemon.mod.common.client.render.models.blockbench.pose.ModelPartTransformation
import com.cobblemon.mod.common.client.render.models.blockbench.pose.Pose
import com.cobblemon.mod.common.entity.PoseType
import net.minecraft.client.model.geom.ModelPart
import net.minecraft.world.phys.Vec3
class GlimmetModel (root: ModelPart) : PokemonPosableModel(root) {
override val rootPart = root.registerChildWithAllChildren("glimmet")
override var portraitScale = 2.0F
override var portraitTranslation = Vec3(-0.5, 1.3, 0.0)
override var profileScale = 0.7F
override var profileTranslation = Vec3(0.0, 0.8, 0.0)
lateinit var standing: Pose
lateinit var walk: Pose
lateinit var sleep: Pose
lateinit var shoulderLeft: Pose
lateinit var shoulderRight: Pose
val shoulderOffset = 8
override val cryAnimation = CryProvider { bedrockStateful("glimmet", "cry") }
override fun registerPoses() {
val blink = quirk { bedrockStateful("glimmet", "blink") }
sleep = registerPose(
poseType = PoseType.SLEEP,
animations = arrayOf(bedrock("glimmet", "sleep"))
)
standing = registerPose(
poseName = "standing",
poseTypes = PoseType.STATIONARY_POSES + PoseType.UI_POSES,
transformTicks = 10,
quirks = arrayOf(blink),
animations = arrayOf(
bedrock("glimmet", "ground_idle")
)
)
walk = registerPose(
poseName = "walk",
poseTypes = PoseType.MOVING_POSES,
transformTicks = 10,
quirks = arrayOf(blink),
animations = arrayOf(
bedrock("glimmet", "ground_walk")
)
)
shoulderLeft = registerPose(
poseType = PoseType.SHOULDER_LEFT,
quirks = arrayOf(blink),
animations = arrayOf(
bedrock("glimmet", "ground_idle")
),
transformedParts = arrayOf(
rootPart.createTransformation().addPosition(ModelPartTransformation.X_AXIS, shoulderOffset)
)
)
shoulderRight = registerPose(
poseType = PoseType.SHOULDER_RIGHT,
quirks = arrayOf(blink),
animations = arrayOf(
bedrock("glimmet", "ground_idle")
),
transformedParts = arrayOf(
rootPart.createTransformation().addPosition(ModelPartTransformation.X_AXIS, -shoulderOffset)
)
)
}
override fun getFaintAnimation(state: PosableState) = if (state.isPosedIn(standing, walk)) bedrockStateful("glimmet", "faint") else null
}
@@ -1,79 +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.client.render.models.blockbench.pokemon.gen9
import com.cobblemon.mod.common.client.render.models.blockbench.PosableState
import com.cobblemon.mod.common.client.render.models.blockbench.pokemon.CryProvider
import com.cobblemon.mod.common.client.render.models.blockbench.pokemon.PokemonPosableModel
import com.cobblemon.mod.common.client.render.models.blockbench.pose.Pose
import com.cobblemon.mod.common.entity.PoseType
import com.cobblemon.mod.common.util.isBattling
import net.minecraft.client.model.geom.ModelPart
import net.minecraft.world.phys.Vec3
class GlimmoraModel (root: ModelPart) : PokemonPosableModel(root) {
override val rootPart = root.registerChildWithAllChildren("glimmora")
override var portraitScale = 2.0F
override var portraitTranslation = Vec3(-0.6, -0.1, 0.0)
override var profileScale = 0.7F
override var profileTranslation = Vec3(0.0, 0.8, 0.0)
lateinit var standing: Pose
lateinit var walk: Pose
lateinit var sleep: Pose
lateinit var battleidle: Pose
override val cryAnimation = CryProvider { bedrockStateful("glimmora", "cry") }
override fun registerPoses() {
val blink = quirk { bedrockStateful("glimmora", "blink") }
sleep = registerPose(
poseType = PoseType.SLEEP,
animations = arrayOf(bedrock("glimmora", "sleep"))
)
standing = registerPose(
poseName = "standing",
poseTypes = PoseType.STATIONARY_POSES + PoseType.UI_POSES,
transformTicks = 10,
condition = { !it.isBattling },
quirks = arrayOf(blink),
animations = arrayOf(
bedrock("glimmora", "ground_idle")
)
)
walk = registerPose(
poseName = "walk",
poseTypes = PoseType.MOVING_POSES,
transformTicks = 10,
quirks = arrayOf(blink),
animations = arrayOf(
bedrock("glimmora", "ground_walk")
)
)
battleidle = registerPose(
poseName = "battle_idle",
poseTypes = PoseType.STATIONARY_POSES,
transformTicks = 10,
quirks = arrayOf(blink),
condition = { it.isBattling },
animations = arrayOf(
bedrock("glimmora", "battle_idle")
)
)
}
override fun getFaintAnimation(state: PosableState) = if (state.isPosedIn(standing, walk, sleep)) bedrockStateful("glimmora", "faint") else
if (state.isPosedIn(battleidle)) bedrockStateful("glimmora", "faint2")
else null
}
@@ -304,8 +304,6 @@ object VaryingModelRepository {
inbuilt("sizzlipede", ::SizzlipedeModel)
inbuilt("kleavor", ::KleavorModel)
inbuilt("pyukumuku", ::PyukumukuModel)
inbuilt("deerling", ::DeerlingModel)
inbuilt("sawsbuck", ::SawsbuckModel)
inbuilt("natu", ::NatuModel)
inbuilt("xatu", ::XatuModel)
inbuilt("milcery", :: MilceryModel)
@@ -399,8 +397,6 @@ object VaryingModelRepository {
inbuilt("sirfetchd", ::SirfetchdModel)
inbuilt("duskull", ::DuskullModel)
inbuilt("dusclops", ::DusclopsModel)
inbuilt("glimmet", ::GlimmetModel)
inbuilt("glimmora", ::GlimmoraModel)
inbuilt("bonsly", ::BonslyModel)
inbuilt("sudowoodo", ::SudowoodoModel)
inbuilt("cetoddle", ::CetoddleModel)
@@ -55,8 +55,10 @@ import java.util.UUID
import net.minecraft.resources.ResourceLocation
import net.minecraft.server.level.ServerPlayer
import net.minecraft.server.packs.PackType
import net.minecraft.server.packs.resources.PreparableReloadListener
import net.minecraft.server.packs.resources.ResourceManager
import net.minecraft.server.packs.resources.ResourceManagerReloadListener
import org.jetbrains.annotations.ApiStatus
object CobblemonDataProvider : DataProvider {
@@ -67,6 +69,11 @@ object CobblemonDataProvider : DataProvider {
private val scheduledActions = mutableMapOf<UUID, MutableList<() -> Unit>>()
// client is public only so we can use it cross-module. maybe a more elegant solution exists, but this works
@ApiStatus.Internal
val clientResourceReloader: PreparableReloadListener = SimpleResourceReloader(PackType.CLIENT_RESOURCES)
private val serverResourceReloader: PreparableReloadListener = SimpleResourceReloader(PackType.SERVER_DATA)
fun registerDefaults() {
this.register(CobblemonScripts, reloadable = true)
this.register(SpeciesFeatures, reloadable = false)
@@ -119,9 +126,9 @@ object CobblemonDataProvider : DataProvider {
}
ifClient {
Cobblemon.implementation.registerResourceReloader(cobblemonResource("client_resources"), SimpleResourceReloader(PackType.CLIENT_RESOURCES), PackType.CLIENT_RESOURCES, emptyList())
Cobblemon.implementation.registerResourceReloader(cobblemonResource("client_resources"), clientResourceReloader, PackType.CLIENT_RESOURCES, emptyList())
}
Cobblemon.implementation.registerResourceReloader(cobblemonResource("data_resources"), SimpleResourceReloader(PackType.SERVER_DATA), PackType.SERVER_DATA, emptyList())
Cobblemon.implementation.registerResourceReloader(cobblemonResource("data_resources"), serverResourceReloader, PackType.SERVER_DATA, emptyList())
}
override fun <T : DataRegistry> register(registry: T, reloadable: Boolean): T {
@@ -30,6 +30,7 @@ import com.cobblemon.mod.common.item.TumblestoneItem
import net.minecraft.world.item.BlockItem
import com.cobblemon.mod.common.platform.events.ServerPlayerEvent
import com.cobblemon.mod.common.api.storage.player.PlayerInstancedDataStoreTypes
import com.cobblemon.mod.common.item.GemItem
import com.cobblemon.mod.common.platform.events.PlatformEvents
import com.cobblemon.mod.common.util.effectiveName
import com.cobblemon.mod.common.util.getPlayer
@@ -40,6 +41,7 @@ object AdvancementHandler : EventHandler {
override fun registerListeners() {
PlatformEvents.RIGHT_CLICK_BLOCK.subscribe(Priority.LOWEST, ::onTumbleStonePlaced)
PlatformEvents.RIGHT_CLICK_BLOCK.subscribe(Priority.LOWEST, ::onTypeGemClusterPlaced)
PlatformEvents.RIGHT_CLICK_BLOCK.subscribe(Priority.LOWEST, ::onTypeGemItemPlaced)
POKEMON_CAPTURED.subscribe(Priority.LOWEST, ::onCapture)
BATTLE_VICTORY.subscribe(Priority.LOWEST, ::onWinBattle)
EVOLUTION_COMPLETE.subscribe(Priority.LOWEST, ::onEvolve)
@@ -206,6 +208,12 @@ object AdvancementHandler : EventHandler {
CobblemonCriteria.PLANT_TYPE_GEM.trigger(event.player, PlantTypeGemContext(event.pos, block))
}
fun onTypeGemItemPlaced(event: ServerPlayerEvent.RightClickBlock){
val item = event.player.getItemInHand(event.hand).item as? GemItem ?: return
val block = item.block as? TypeGemClusterBlock ?: return
CobblemonCriteria.PLANT_TYPE_GEM.trigger(event.player, PlantTypeGemContext(event.pos, block))
}
fun startRiding(event: RidePokemonEvent.Post) {
CobblemonCriteria.RIDING_STAT_BOOST.trigger(event.player, RidingStatBoostContext(event.pokemon))
}
@@ -0,0 +1,16 @@
/*
* 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.item
import net.minecraft.world.item.ItemNameBlockItem
import net.minecraft.world.level.block.Block
class WearableBlockItem(override val name: String, block: Block): ItemNameBlockItem(block, Properties()), WearableItem{
}
@@ -0,0 +1,32 @@
/*
* 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.item
import com.cobblemon.mod.common.entity.pokemon.PokemonEntity
import com.cobblemon.mod.common.util.traceFirstEntityCollision
import net.minecraft.world.InteractionHand
import net.minecraft.world.InteractionResultHolder
import net.minecraft.world.entity.player.Player
import net.minecraft.world.item.ItemStack
import net.minecraft.world.level.Level
class WearableHatItem(override val name: String): CobblemonItem(Properties()), WearableItem {
override fun use(level: Level, player: Player, usedHand: InteractionHand): InteractionResultHolder<ItemStack> {
val itemStack = player.getItemInHand(usedHand)
val hitPokemon = player.traceFirstEntityCollision(
entityClass = PokemonEntity::class.java,
maxDistance = player.entityInteractionRange().toFloat()
)
// If the player is looking at a Pokémon within range, block the ability to swap the item onto their head
return if (player.isCrouching && hitPokemon != null && hitPokemon.isOwnedBy(player)) {
InteractionResultHolder.fail(itemStack)
} else this.swapWithEquipmentSlot(this, level, player, usedHand)
}
}
@@ -13,7 +13,9 @@ import net.minecraft.resources.ResourceLocation
import net.minecraft.world.entity.EquipmentSlot
import net.minecraft.world.item.Equipable
class WearableItem(val name: String): CobblemonItem(Properties()), Equipable {
interface WearableItem: Equipable {
val name: String
companion object {
const val MODEL_PATH = "item/wearable"
}
@@ -11,29 +11,26 @@ package com.cobblemon.mod.common.item.interactive
import com.cobblemon.mod.common.api.item.PokemonSelectingItem
import com.cobblemon.mod.common.api.pokemon.stats.ItemEvSource
import com.cobblemon.mod.common.api.pokemon.stats.Stat
import com.cobblemon.mod.common.item.CobblemonItem
import com.cobblemon.mod.common.item.battle.BagItem
import com.cobblemon.mod.common.pokemon.EVs
import com.cobblemon.mod.common.pokemon.Pokemon
import com.cobblemon.mod.common.util.giveOrDropItemStack
import net.minecraft.server.level.ServerPlayer
import net.minecraft.sounds.SoundEvent
import net.minecraft.world.InteractionHand
import net.minecraft.world.InteractionResultHolder
import net.minecraft.world.entity.player.Player
import net.minecraft.world.item.ItemStack
import net.minecraft.world.item.Items
import net.minecraft.world.level.Level
abstract class EVIncreaseItem(
val stat: Stat,
val evIncreaseAmount: Int,
) : CobblemonItem(Properties()), PokemonSelectingItem {
override val bagItem = null
interface EVIncreaseItem: PokemonSelectingItem {
val stat: Stat
val evIncreaseAmount: Int
override val bagItem: BagItem?
get() = null
override fun canUseOnPokemon(stack: ItemStack, pokemon: Pokemon) = pokemon.evs.getOrDefault(stat) < EVs.MAX_STAT_VALUE &&
super.canUseOnPokemon(stack, pokemon)
abstract val sound: SoundEvent
override fun applyToPokemon(
player: ServerPlayer,
stack: ItemStack,
@@ -41,21 +38,12 @@ abstract class EVIncreaseItem(
): InteractionResultHolder<ItemStack> {
val evsGained = pokemon.evs.add(stat, evIncreaseAmount, ItemEvSource(player, stack, pokemon))
return if (evsGained > 0) {
pokemon.entity?.playSound(sound, 1F, 1F)
stack.consume(1, player)
if (!player.hasInfiniteMaterials()) {
player.giveOrDropItemStack(ItemStack(Items.GLASS_BOTTLE))
}
onSuccessfulApply(player, stack, pokemon)
InteractionResultHolder.success(stack)
} else {
InteractionResultHolder.fail(stack)
}
}
override fun use(world: Level, user: Player, hand: InteractionHand): InteractionResultHolder<ItemStack> {
if (user is ServerPlayer) {
return use(user, user.getItemInHand(hand))
}
return InteractionResultHolder.success(user.getItemInHand(hand))
}
fun onSuccessfulApply(player: ServerPlayer, stack: ItemStack, pokemon: Pokemon)
}
@@ -10,8 +10,27 @@ package com.cobblemon.mod.common.item.interactive
import com.cobblemon.mod.common.CobblemonSounds
import com.cobblemon.mod.common.api.pokemon.stats.Stat
import net.minecraft.sounds.SoundEvent
import com.cobblemon.mod.common.item.CobblemonItem
import com.cobblemon.mod.common.pokemon.Pokemon
import net.minecraft.server.level.ServerPlayer
import net.minecraft.world.InteractionHand
import net.minecraft.world.InteractionResultHolder
import net.minecraft.world.entity.player.Player
import net.minecraft.world.item.ItemStack
import net.minecraft.world.level.Level
class FeatherItem(stat: Stat) : EVIncreaseItem(stat, 1) {
override val sound: SoundEvent = CobblemonSounds.MEDICINE_FEATHER_USE
class FeatherItem(override val stat: Stat): CobblemonItem(Properties()), EVIncreaseItem {
override val evIncreaseAmount: Int = 1
override fun use(world: Level, user: Player, hand: InteractionHand): InteractionResultHolder<ItemStack> {
if (user is ServerPlayer) {
return use(user, user.getItemInHand(hand))
}
return InteractionResultHolder.success(user.getItemInHand(hand))
}
override fun onSuccessfulApply(player: ServerPlayer, stack: ItemStack, pokemon: Pokemon) {
pokemon.entity?.playSound(CobblemonSounds.MEDICINE_FEATHER_USE)
stack.consume(1, player)
}
}
@@ -9,15 +9,18 @@
package com.cobblemon.mod.common.item.interactive
import com.cobblemon.mod.common.CobblemonSounds
import com.cobblemon.mod.common.api.pokemon.stats.Stats
import com.cobblemon.mod.common.api.pokemon.stats.Stat
import com.cobblemon.mod.common.item.CobblemonItem
import com.cobblemon.mod.common.pokemon.Pokemon
import net.minecraft.server.level.ServerPlayer
import net.minecraft.sounds.SoundEvent
import net.minecraft.world.InteractionHand
import net.minecraft.world.InteractionResultHolder
import net.minecraft.world.entity.player.Player
import net.minecraft.world.item.ItemStack
import net.minecraft.world.level.Level
class MochiItem(stat: Stats): EVIncreaseItem(stat, 4) {
override val sound: SoundEvent = CobblemonSounds.MOCHI_USE
class MochiItem(override val stat: Stat): CobblemonItem(Properties()), EVIncreaseItem {
override val evIncreaseAmount: Int = 4
override fun applyToPokemon(player: ServerPlayer, stack: ItemStack, pokemon: Pokemon): InteractionResultHolder<ItemStack> {
if (!canUseOnPokemon(stack, pokemon)) {
@@ -28,4 +31,16 @@ class MochiItem(stat: Stats): EVIncreaseItem(stat, 4) {
return super.applyToPokemon(player, stack, pokemon)
}
override fun use(world: Level, user: Player, hand: InteractionHand): InteractionResultHolder<ItemStack> {
if (user is ServerPlayer) {
return use(user, user.getItemInHand(hand))
}
return InteractionResultHolder.success(user.getItemInHand(hand))
}
override fun onSuccessfulApply(player: ServerPlayer, stack: ItemStack, pokemon: Pokemon) {
pokemon.entity?.playSound(CobblemonSounds.MOCHI_USE)
stack.consume(1, player)
}
}
@@ -11,7 +11,6 @@ package com.cobblemon.mod.common.item.interactive
import com.cobblemon.mod.common.CobblemonSounds
import com.cobblemon.mod.common.api.item.PokemonAndMoveSelectingItem
import com.cobblemon.mod.common.api.moves.Move
import com.cobblemon.mod.common.item.CobblemonItem
import com.cobblemon.mod.common.pokemon.Pokemon
import com.cobblemon.mod.common.util.giveOrDropItemStack
import net.minecraft.world.entity.player.Player
@@ -19,13 +18,15 @@ import net.minecraft.world.item.ItemStack
import net.minecraft.server.level.ServerPlayer
import net.minecraft.world.InteractionHand
import net.minecraft.world.InteractionResultHolder
import net.minecraft.world.item.ItemNameBlockItem
import net.minecraft.world.item.Items
import net.minecraft.world.item.Rarity
import net.minecraft.world.level.Level
import net.minecraft.world.level.block.Block
class PPUpItem(
val amount: Int
) : CobblemonItem(Properties().apply {
val amount: Int, block: Block
) : ItemNameBlockItem(block, Properties().apply {
if (amount>1) rarity(Rarity.UNCOMMON)
}), PokemonAndMoveSelectingItem {
@@ -9,9 +9,34 @@
package com.cobblemon.mod.common.item.interactive
import com.cobblemon.mod.common.CobblemonSounds
import com.cobblemon.mod.common.api.pokemon.stats.Stats
import net.minecraft.sounds.SoundEvent
import com.cobblemon.mod.common.api.pokemon.stats.Stat
import com.cobblemon.mod.common.pokemon.Pokemon
import com.cobblemon.mod.common.util.giveOrDropItemStack
import net.minecraft.server.level.ServerPlayer
import net.minecraft.world.InteractionHand
import net.minecraft.world.InteractionResultHolder
import net.minecraft.world.entity.player.Player
import net.minecraft.world.item.ItemNameBlockItem
import net.minecraft.world.item.ItemStack
import net.minecraft.world.item.Items
import net.minecraft.world.level.Level
import net.minecraft.world.level.block.Block
class VitaminItem(stat: Stats) : EVIncreaseItem(stat, 10) {
override val sound: SoundEvent = CobblemonSounds.MEDICINE_PILLS_USE
class VitaminItem(override val stat: Stat, block: Block): ItemNameBlockItem(block, Properties()), EVIncreaseItem {
override val evIncreaseAmount: Int = 10
override fun use(world: Level, user: Player, hand: InteractionHand): InteractionResultHolder<ItemStack> {
if (user is ServerPlayer) {
return use(user, user.getItemInHand(hand))
}
return InteractionResultHolder.success(user.getItemInHand(hand))
}
override fun onSuccessfulApply(player: ServerPlayer, stack: ItemStack, pokemon: Pokemon) {
pokemon.entity?.playSound(CobblemonSounds.MEDICINE_PILLS_USE)
stack.consume(1, player)
if (!player.hasInfiniteMaterials()) {
player.giveOrDropItemStack(Items.GLASS_BOTTLE.defaultInstance)
}
}
}
@@ -68,6 +68,7 @@ object CobblemonRequirementAdapter : RequirementAdapter {
this.registerType(AdvancementRequirement.ADAPTER_VARIANT, AdvancementRequirement::class)
this.registerType(OwnerHoldsItemRequirement.ADAPTER_VARIANT, OwnerHoldsItemRequirement::class)
this.registerType(ChanceRequirement.ADAPTER_VARIANT, ChanceRequirement::class)
this.registerType(NegateRequirement.ADAPTER_VARIANT, NegateRequirement::class)
}
val gson: Gson by lazy {
@@ -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.pokemon.requirements
import com.cobblemon.mod.common.api.pokemon.requirement.Requirement
import com.cobblemon.mod.common.pokemon.Pokemon
class NegateRequirement(val inner: Requirement) : Requirement {
override fun check(pokemon: Pokemon) = !inner.check(pokemon)
companion object {
const val ADAPTER_VARIANT = "negate"
}
}
@@ -53,4 +53,60 @@ fun Quaternionf.toEulerXYZDegrees(): Vector3f {
vector.z = vector.z.toDegrees()
return vector
}
/* // is not allocation free so just inline ".get(AxisAngle4f)" like in the function below this
fun Quaternionf.toScaledAngleAxis(angAxisScaled: Vector3f) {
val axisAng4 = AxisAngle4f()
this.get(axisAng4)
angAxisScaled.x = axisAng4.x
angAxisScaled.y = axisAng4.y
angAxisScaled.z = axisAng4.z
angAxisScaled.mul(axisAng4.angle)
} */
fun Quaternionf.toScaledAngleAxis(dest: Vector3f) {
var x = this.x
var y = this.y
var z = this.z
var w = this.w
if (w > 1.0f) {
val invNorm = 1.0f / kotlin.math.sqrt(x * x + y * y + z * z + w * w)
x *= invNorm
y *= invNorm
z *= invNorm
w *= invNorm
}
val angle = 2.0f * kotlin.math.acos(w)
val s = kotlin.math.sqrt(1.0f - w * w)
if (s < 0.001f) {
dest.x = x * angle
dest.y = y * angle
dest.z = z * angle
} else {
val invS = angle / s
dest.x = x * invS
dest.y = y * invS
dest.z = z * invS
}
}
fun Quaternionf.setFromScaledAngleAxis(angAxisScaled: Vector3f) {
val len = angAxisScaled.length()
if (len > 1e-5f) {
this.rotationAxis(
len,
angAxisScaled.x / len,
angAxisScaled.y / len,
angAxisScaled.z / len
)
} else {
this.identity()
}
}
@@ -0,0 +1,163 @@
/*
* 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.util.math
import net.minecraft.util.Mth
import kotlin.math.max
import kotlin.math.sqrt
import kotlin.math.abs
import org.joml.Quaternionf
import org.joml.Vector3f
/**
* Much of the code here is directly taken or inspired off this great article:
* https://theorangeduck.com/page/spring-roll-call#critical
*
* Very much worth the read.
*
* Util funcitons for using springs to smoothly/naturally approach one value towards a target
*/
/**
* Need to pass in and mutate both a value and a velocity to a spring
*/
class FloatSpring(
var value: Float = 0f,
var velocity: Float = 0f
)
class QuatSpring(
var quat: Quaternionf = Quaternionf(),
var angVel: Vector3f = Vector3f()
)
/**
* Provides a fast negative exponent approximation for e^-x
*/
fun negExp(x: Float): Float {
return 1.0f / (1.0f + x + 0.48f*x*x + 0.235f*x*x*x)
}
fun halflifeToDamping(halflife: Float, eps: Float = 1e-5f): Float {
return (4.0f * 0.69314718056f) / (halflife + eps)
}
fun simpleSpringDamper(
spring: FloatSpring,
goalValue: Float,
halflife: Float,
dt: Float,
isAngle: Boolean = false
) {
val y = halflifeToDamping(halflife) / 2.0f
val j0 = if (isAngle) Mth.wrapDegrees(spring.value - goalValue) else spring.value - goalValue
val j1 = spring.velocity + j0*y;
val eydt = negExp(y*dt);
spring.value = eydt*(j0 + j1*dt) + goalValue;
spring.velocity = eydt*(spring.velocity - j1*y*dt);
}
fun simpleSpringDamperQuat(
spring: QuatSpring,
goalQuat: Quaternionf,
halflife: Float,
dt: Float
) {
val y = halflifeToDamping(halflife) / 2.0f
// Quaternions have double cover q and -q represent the same rotation.
// so an accidentally rotation the long way could be calculated.
// account for that specifically
val goal = if (spring.quat.dot(goalQuat) < 0f) {
Quaternionf(-goalQuat.x, -goalQuat.y, -goalQuat.z, -goalQuat.w)
} else {
goalQuat
}
// Gather the rotation from the goal to the current
val goalToCurrQuat = Quaternionf(spring.quat).mul(Quaternionf(goal).conjugate())
val j0 = Vector3f()
goalToCurrQuat.toScaledAngleAxis(j0)
val j1: Vector3f = Vector3f(spring.angVel).add(Vector3f(j0).mul(y))
val eydt: Float = negExp(y * dt)
val scaledAxis = Vector3f(j0).add(Vector3f(j1).mul(dt)).mul(eydt)
spring.quat.setFromScaledAngleAxis(scaledAxis)
spring.quat.mul(goal)
spring.angVel.sub(j1.mul(y * dt))
spring.angVel.mul(eydt)
}
/**
* Below is essentially the same code as found here: https://github.com/orangeduck/Spring-It-On/blob/main/inertialeasing.c
* https://theorangeduck.com/page/inertial-easing <- the blogpost
*/
// Class to hold the "time" along the curve/function and scale of the function currently
// Held in this class so both can be mutated and returned in one function call
class InertialVals(
var t: Float = 0f,
var s: Float = 0f,
var offset: Float = 0f,
)
// Includes the negative portion
fun smoothstep(t: Float, s: Float): Float {
return s * (if(t > 1.0f) 1.0f else 3*t*t - 2*t*t*t)
}
// Derivative of the above smoothstep
fun smoothstepDt(t: Float, s: Float): Float {
return s * (if(t > 1.0f) 0.0f else 6*t - 6*t*t)
}
// Solve for smoothstep parameters `t` and `s` given new target `x` and velocity `v`
fun smoothstepSolve( //TODO change these names to make more sense
vals: InertialVals,
x: Float, // Target Value x
v: Float, // Goal velocity
overshoot: Float = 0.05f,
eps: Float = 1e-8f
) {
// If velocity is low enough then start from time zero
if (abs(v) < 1e-8f) {
vals.t = 0f
vals.s = x
return
}
// If x is negative then invert signs and re-Solve
if (x < 0f) {
smoothstepSolve(vals, -x, -v, overshoot, eps)
vals.s *= -1f
return
}
// Find the possible times that solve for the given `x` and `v`
// Quadratic formula!
val q: Float = sqrt(max((6*x - v)*(6*x - v) + 8*v*v, eps))
val t0: Float = (v - 6*x + q) / (4*v)
val t1: Float = (v - 6*x - q) / (4*v)
// Overshoot if the alternative time is between -0.5f and -(0.5f + overshoot)
vals.t = if(-0.5f > t1 && t1 > -(0.5f + overshoot)) t1 else t0;
// Find the un-scaled velocity at the fitted time
val vt: Float = smoothstepDt(vals.t, 1f);
// Find the scaling factor so that the velocity at the fitted time matches
vals.s = if(abs(vt) < eps) 0f else v / vt;
}
@@ -43,7 +43,7 @@ class TypeGemFeature : Feature<BlockStateConfiguration>(BlockStateConfiguration.
val coreState = TYPE_GEM_CORE.defaultBlockState()
// Place the gem first then make sure it placed before placing the core.
worldGenLevel.setBlock(origin, coreState, UPDATE_ALL)
worldGenLevel.setBlock(chosenPos, gemState, UPDATE_ALL)
if (!worldGenLevel.getBlockState(chosenPos).`is`(gemBlock)) {
return false
}
@@ -46,11 +46,6 @@
"effect": "cobblemon:swordsdance_sword3",
"type": "emitter_bound"
}
},
"event_sound": {
"sound_effect": {
"event_name": "cobblemon:move.swordsdance.actor"
}
}
},
"components": {
@@ -61,7 +56,7 @@
"active_time": 2.5
},
"minecraft:emitter_lifetime_events": {
"creation_event": ["event_sword2", "event_sword3", "event_sword4", "event_sound"]
"creation_event": ["event_sword2", "event_sword3", "event_sword4"]
},
"minecraft:emitter_shape_point": {},
"minecraft:particle_lifetime_expression": {
@@ -1,192 +1,286 @@
{
"format_version": "1.8.0",
"animations": {
"animation.absol.render": {
"loop": true,
"bones": {
"hips": {
"rotation": [-2.5, 0, 0]
},
"chest": {
"rotation": [12.5, 0, 0]
},
"tail": {
"rotation": [-8.01788, 32.61138, -0.66603]
},
"neck": {
"rotation": [15.34479, -13.10699, 9.18372]
},
"head": {
"rotation": [-25.32307, -13.66763, -4.61603]
},
"hair": {
"rotation": [0, 0, 45]
},
"hair2": {
"rotation": [1.95155, 7.24305, 27.62353]
},
"hair3": {
"rotation": [8.61775, 34.05444, 17.64371]
},
"neck_fur_right2": {
"rotation": [0, 0, -30]
},
"neck_fur_left2": {
"rotation": [0, 0, 40]
},
"neck_fur_back2": {
"rotation": [-45, 0, 0]
},
"chest_fur": {
"rotation": [-42.5, 0, 0]
},
"chest_fur_right": {
"rotation": [0, 35, 0]
},
"chest_fur_left": {
"rotation": [0, -25, 0]
},
"chest_fur_1": {
"rotation": [27.5, 0, 0]
},
"chest_fur_2": {
"rotation": [7.5, 0, 0]
},
"leg_back_left": {
"rotation": [21.9659, -13.44762, -0.11731]
},
"leg_back_left2": {
"rotation": [-10, 0, 0]
},
"leg_back_left3": {
"rotation": [5, 0, 0]
},
"foot__back_left": {
"rotation": [-14.82005, -12.39135, -1.6575]
},
"leg_front_left": {
"rotation": [-25.47479, -17.22575, 3.13388],
"position": [0, -0.25, 0]
},
"leg_front_left2": {
"rotation": [14.61364, 12.22219, 2.52829]
},
"foot_front_left": {
"rotation": [12.15846, -18.26883, -13.36473]
},
"eyes_open": {
"position": [0, 0, 0]
},
"eyes_happy": {
"position": [0, 0, 0]
},
"eyes_closed": {
"position": [0, 0, 0]
},
"eyes_halfclosed": {
"position": [0, 0, 0]
},
"leg_back_right": {
"rotation": [0, -22.5, 0],
"position": [-0.11888, 0, -1.67283]
},
"foot_back_right": {
"rotation": [0, 15, 0]
},
"waist": {
"rotation": [0, -20, 0]
},
"leg_front_right": {
"rotation": [12.5, 0, 0]
},
"leg_front_right2": {
"rotation": [0, 0, -10]
},
"foot_front_right": {
"rotation": [-12.07362, 14.63639, 13.31914]
}
}
},
"animation.absol.ground_idle": {
"loop": true,
"bones": {
"neck": {
"rotation": [20, 0, 0]
"rotation": [30, 0, 0]
},
"head": {
"rotation": [-17.5, 0, 0]
},
"hair": {
"rotation": [0, 0, 47]
"rotation": [0, 0, -2.5]
},
"hair2": {
"rotation": [0, 8.5, 38]
"rotation": [2.5, 10, 0]
},
"hair3": {
"rotation": [9.69368, 25.60466, 13.24197]
"rotation": [1.9544, 7.5589, 12.4168]
},
"neck_fur_right2": {
"rotation": [0, 0, -30]
"neck_fluff_left": {
"rotation": [0, 0, 67.5]
},
"neck_fur_left2": {
"rotation": [0, 0, 40]
},
"neck_fur_back2": {
"neck_fluff_back": {
"rotation": [-45, 0, 0]
},
"chest_fur": {
"rotation": [-30, 0, 0]
"chest_fluff": {
"rotation": [-12.5, 0, 0]
},
"chest_fur_right": {
"rotation": [0, 35, 0]
"chest_fluff_right": {
"rotation": [0, 37.5, 0]
},
"chest_fur_left": {
"rotation": [0, -25, 0]
"chest_fluff_left": {
"rotation": [0, -37.5, 0]
},
"chest_fur_1": {
"rotation": [27.5, 0, 0]
"chest_fluff2": {
"rotation": [-7.5, 0, 0]
},
"chest_fur_2": {
"chest_fluff3": {
"rotation": [7.5, 0, 0]
},
"tail": {
"rotation": [-22.5, 0, 0]
}
}
},
"animation.absol.cry": {
"animation_length": 2,
"bones": {
"mouth": {
"position": {
"0.0": [0, 0, 0.17],
"0.25": {"pre": [0, 0, 0.17], "post": [0, 0, -1]},
"1.7917": {"pre": [0, 0, -1], "post": [0, 0, 0.17]}
}
}
},
"sound_effects": {
"0.04": {
"effect": "pokemon.absol.cry"
"rotation": [10, 0, 0]
},
"neck_fluff_right": {
"rotation": [0, 0, -67.5]
},
"torso": {
"rotation": [2.5, 0, 0]
},
"torso2": {
"rotation": [-5, 0, 0]
},
"head_angle": {
"rotation": [-5, 0, 0]
},
"leg_front_left": {
"rotation": [-4.9083, 1.8509, 2.416]
},
"leg_back_left": {
"rotation": [0, -10, 0]
},
"leg_back_left2": {
"rotation": [5, 0, 0]
},
"leg_back_left3": {
"rotation": [10, 0, 0]
},
"foot_back_left": {
"rotation": [-13.9904, -4.9952, -0.2186]
},
"foot_front_left": {
"rotation": [4.991, -1.4949, -3.2033]
},
"neck_fluff_back2": {
"rotation": [-50, 0, 0]
},
"leg_front_right": {
"rotation": [2.585, -1.6431, -2.3501]
},
"leg_front_right2": {
"rotation": [2.5, 0, 0]
},
"foot_front_right": {
"rotation": [-4.9201, 6.845, 3.7466]
},
"leg_back_right": {
"rotation": [0, 10, 0]
},
"leg_back_right2": {
"rotation": [5, 0, 0]
},
"leg_back_right3": {
"rotation": [10, 0, 0]
},
"foot_back_right": {
"rotation": [-13.9904, 4.9952, 0.2186]
}
}
},
"animation.absol.blink": {
"animation_length": 0.1667,
"bones": {
"eyes_open": {
"eye_left": {
"position": {
"0.0": [0, 0, 1],
"0.125": {"pre": [0, 0, 1], "post": [0, 0, 1]},
"0.1667": {"pre": [0, 0, 1], "post": [0, 0, 0]}
"0.0": [-0.1, 0, 0.1],
"0.1667": {"pre": [-0.1, 0, 0.1], "post": [0, 0, 0]}
}
},
"eyes_closed": {
"eye_right": {
"position": {
"0.0": [0, 0, -1],
"0.125": {"pre": [0, 0, -1], "post": [0, 0, -1]},
"0.1667": {"pre": [0, 0, -1], "post": [0, 0, 0]}
"0.0": [0.1, 0, 0.1],
"0.1667": {"pre": [0.1, 0, 0.1], "post": [0, 0, 0]}
}
},
"eyelid_right": {
"position": {
"0.0": [-0.1, 0, -0.1],
"0.1667": {"pre": [-0.1, 0, -0.1], "post": [0, 0, 0]}
}
},
"eyelid_left": {
"position": {
"0.0": [0.1, 0, -0.1],
"0.1667": {"pre": [0.1, 0, -0.1], "post": [0, 0, 0]}
}
},
"eyes_ditto": {
"position": {
"0.0": [0, 0, 0.1],
"0.1667": {"pre": [0, 0, 0.1], "post": [0, 0, 0]}
}
},
"eyes_blink_ditto": {
"position": {
"0.0": [0, 0, -0.1],
"0.1667": {"pre": [0, 0, -0.1], "post": [0, 0, 0]}
}
}
}
},
"animation.absol.ditto_face": {
"loop": true,
"bones": {
"face": {
"position": [0, 0, 0.1],
"scale": 0
},
"face_ditto": {
"position": [0, 0, -0.1]
}
}
},
"animation.absol.pose": {
"loop": true,
"bones": {
"neck": {
"rotation": [30.3812, -8.6492, -5.0384]
},
"head": {
"rotation": [-17.5, 0, 0]
},
"hair": {
"rotation": [0, 0, -2.5]
},
"hair2": {
"rotation": [2.5, 10, 0]
},
"hair3": {
"rotation": [1.9544, 7.5589, 12.4168]
},
"neck_fluff_left": {
"rotation": [0, 0, 67.5]
},
"neck_fluff_back": {
"rotation": [-45, 0, 0]
},
"chest_fluff": {
"rotation": [-17.5, 0, 0]
},
"chest_fluff_right": {
"rotation": [0, 37.5, 0]
},
"chest_fluff_left": {
"rotation": [0, -37.5, 0]
},
"chest_fluff2": {
"rotation": [-5, 0, 0]
},
"chest_fluff3": {
"rotation": [7.5, 0, 0]
},
"tail": {
"rotation": [-2.2793, -9.656, -2.6129]
},
"horn": {
"rotation": [0, -10, 0]
},
"neck_fluff_right": {
"rotation": [0, 0, -52.5]
},
"body": {
"rotation": [0, 65, 0],
"position": [2, -0.55, 0]
},
"torso": {
"rotation": [9.9864, 0.6469, -2.4149]
},
"torso2": {
"rotation": [-5, 0, 0]
},
"head_angle": {
"rotation": [-5.7686, -29.8743, 2.8806]
},
"leg_front_left": {
"rotation": [16.5711, -9.4592, -13.6836],
"position": [0.75, -2, 0]
},
"leg_front_left2": {
"rotation": [-45, 0, 0]
},
"leg_back_left": {
"rotation": [14.2119, -9.413, -10.1281]
},
"leg_back_left2": {
"rotation": [-2.5, 0, 0]
},
"leg_back_left3": {
"rotation": [17.5, 0, 0]
},
"foot_back_left": {
"rotation": [-27.3943, 4.3233, 8.0916]
},
"iris_left": {
"position": [1, 0, 0]
},
"foot_front_left": {
"rotation": [41.9868, -4.2611, 0.0665],
"position": [0, 0, -0.75]
},
"claw_middle_front_left": {
"rotation": [7.5, 0, 0]
},
"claw_outer_front_left": {
"rotation": [7.5, 0, 0]
},
"claw_inner_front_left": {
"rotation": [7.5, 0, 0]
},
"neck_fluff_back2": {
"rotation": [-50, 0, 0]
},
"leg_front_right": {
"rotation": [-37.5352, -0.064, 9.7291],
"position": [-0.25, -1.75, 0]
},
"leg_front_right2": {
"rotation": [3.5, 0, 0]
},
"foot_front_right": {
"rotation": [34.0275, 7.3656, -7.2548],
"position": [0, 0.3, 0]
},
"leg_back_right": {
"rotation": [-18.2881, 9.413, 10.1281],
"position": [-0.25, 0, 0]
},
"leg_back_right2": {
"rotation": [16.5248, 0.124, 0.1823]
},
"leg_back_right3": {
"rotation": [6, 0, 0]
},
"foot_back_right": {
"rotation": [-2.4124, 5.5284, -9.8095]
}
}
},
"animation.absol.cry": {
"sound_effects": {
"0.04": {
"effect": "pokemon.absol.cry"
}
}
}
@@ -0,0 +1,208 @@
{
"format_version": "1.8.0",
"animations": {
"animation.burmy_plant.ground_idle": {
"loop": true,
"bones": {
"body": {
"rotation": [2.5201, 0.3141, 0.0322],
"position": [0, 6, 0]
},
"body_rotation": {
"rotation": [2.5, 0, 0]
},
"spring2": {
"rotation": [-2.5, 0, 0]
},
"segment1": {
"position": [0, 0.5, 0]
},
"leg_left1": {
"rotation": [0, 15, 0]
},
"leg_right1": {
"rotation": [0, -15, 0]
},
"segment2": {
"position": [0, 0.5, 0]
},
"segment3": {
"position": [0, 0.5, 0]
},
"leg_left2": {
"rotation": [0, 17.5, 0]
},
"leg_left3": {
"rotation": [0, 25, 0]
},
"leg_right2": {
"rotation": [0, -17.5, 0]
},
"leg_right3": {
"rotation": [0, -25, 0]
}
}
},
"animation.burmy_plant.ground_idle_naked": {
"loop": true,
"bones": {
"body_rotation": {
"rotation": [7.5, 0, 0],
"position": [0, 0, -3]
},
"segment1": {
"rotation": [75, 0, 0]
},
"leg_left1": {
"rotation": [0.00002, 0.00005, 0.00002]
},
"cloak_plant": {
"scale": 0
},
"body": {
"rotation": [2.5, 0, 0],
"position": [0, -7.25, 0]
},
"leg_right1": {
"rotation": [0.00002, -0.00005, -0.00002]
},
"segment2": {
"rotation": [5, 0, 0]
},
"segment3": {
"rotation": [2.5781, -0.5734, 0.2485]
},
"leg_left2": {
"rotation": [2.53742, -4.92385, -0.87038]
},
"leg_left3": {
"rotation": [7.53742, -4.92385, -0.87038]
},
"leg_right2": {
"rotation": [2.53742, 4.92385, 0.87038]
},
"leg_right3": {
"rotation": [7.53742, 4.92385, 0.87038]
},
"face": {
"position": [0, 0, 1]
},
"cloaked_face": {
"scale": 0
},
"face_ditto": {
"position": [0, 0, 1]
}
}
},
"animation.burmy_plant.spring": {
"loop": true,
"bones": {
"body": {
"rotation": [2.5201, 0.3141, 0.0322],
"position": [0, 6, 0]
},
"body_rotation": {
"rotation": [2.5, 0, 0],
"position": [0, -3, 0]
},
"spring2": {
"rotation": [35.9366, -29.087, 32.6804]
},
"segment1": {
"position": [0, 0.5, 0]
},
"leg_left1": {
"rotation": [0, 15, 0]
},
"spring": {
"rotation": [-26.941, -5.7358, -11.1249]
},
"spring3": {
"rotation": [-24.3803, 6.6782, -46.9093]
},
"spring4": {
"rotation": [0, 0, -35]
},
"leg_right1": {
"rotation": [0, -15, 0]
},
"segment2": {
"position": [0, 0.5, 0]
},
"segment3": {
"position": [0, 0.5, 0]
},
"leg_left2": {
"rotation": [0, 17.5, 0]
},
"leg_left3": {
"rotation": [0, 25, 0]
},
"leg_right2": {
"rotation": [0, -17.5, 0]
},
"leg_right3": {
"rotation": [0, -25, 0]
}
}
},
"animation.burmy_plant.ditto_face": {
"loop": true,
"bones": {
"face": {
"position": [0, 0, 0.1],
"scale": 0
},
"face_ditto": {
"position": [0, 0, -0.1]
}
}
},
"animation.burmy_plant.blink": {
"animation_length": 0.1667,
"bones": {
"pupil_left": {
"position": {
"0.0": [0, 0, 0.1],
"0.125": {"pre": [0, 0, 0.1], "post": [0, 0, 0.1]},
"0.1667": {"pre": [0, 0, 0.1], "post": [0, 0, 0]}
}
},
"pupil_closed_left": {
"position": {
"0.0": [0, 0, -0.1],
"0.125": {"pre": [0, 0, -0.1], "post": [0, 0, -0.1]},
"0.1667": {"pre": [0, 0, -0.1], "post": [0, 0, 0]}
}
},
"pupil_right": {
"position": {
"0.0": [0, 0, 0.1],
"0.125": {"pre": [0, 0, 0.1], "post": [0, 0, 0.1]},
"0.1667": {"pre": [0, 0, 0.1], "post": [0, 0, 0]}
}
},
"pupil_closed_right": {
"position": {
"0.0": [0, 0, -0.1],
"0.125": {"pre": [0, 0, -0.1], "post": [0, 0, -0.1]},
"0.1667": {"pre": [0, 0, -0.1], "post": [0, 0, 0]}
}
},
"eyes_ditto": {
"position": {
"0.0": [0, 0, 0.1],
"0.1667": {"pre": [0, 0, 0.1], "post": [0, 0, 0]}
}
},
"eyes_blink_ditto": {
"position": {
"0.0": [0, 0, -0.1],
"0.1667": {"pre": [0, 0, -0.1], "post": [0, 0, 0]}
}
}
}
}
}
}
@@ -0,0 +1,208 @@
{
"format_version": "1.8.0",
"animations": {
"animation.burmy_sandy.ground_idle": {
"loop": true,
"bones": {
"body": {
"rotation": [2.5201, 0.3141, 0.0322],
"position": [0, 6, 0]
},
"body_rotation": {
"rotation": [2.5, 0, 0]
},
"spring2": {
"rotation": [-2.5, 0, 0]
},
"segment1": {
"position": [0, 0.5, 0]
},
"leg_left1": {
"rotation": [0, 15, 0]
},
"leg_right1": {
"rotation": [0, -15, 0]
},
"segment2": {
"position": [0, 0.5, 0]
},
"segment3": {
"position": [0, 0.5, 0]
},
"leg_left2": {
"rotation": [0, 17.5, 0]
},
"leg_left3": {
"rotation": [0, 25, 0]
},
"leg_right2": {
"rotation": [0, -17.5, 0]
},
"leg_right3": {
"rotation": [0, -25, 0]
}
}
},
"animation.burmy_sandy.ground_idle_naked": {
"loop": true,
"bones": {
"body_rotation": {
"rotation": [7.5, 0, 0],
"position": [0, 0, -3]
},
"segment1": {
"rotation": [75, 0, 0]
},
"leg_left1": {
"rotation": [0.00002, 0.00005, 0.00002]
},
"cloak_plant": {
"scale": 0
},
"body": {
"rotation": [2.5, 0, 0],
"position": [0, -7.25, 0]
},
"leg_right1": {
"rotation": [0.00002, -0.00005, -0.00002]
},
"segment2": {
"rotation": [5, 0, 0]
},
"segment3": {
"rotation": [2.5781, -0.5734, 0.2485]
},
"leg_left2": {
"rotation": [2.53742, -4.92385, -0.87038]
},
"leg_left3": {
"rotation": [7.53742, -4.92385, -0.87038]
},
"leg_right2": {
"rotation": [2.53742, 4.92385, 0.87038]
},
"leg_right3": {
"rotation": [7.53742, 4.92385, 0.87038]
},
"face": {
"position": [0, 0, 1]
},
"cloaked_face": {
"scale": 0
},
"face_ditto": {
"position": [0, 0, 1]
}
}
},
"animation.burmy_sandy.spring": {
"loop": true,
"bones": {
"body": {
"rotation": [2.5201, 0.3141, 0.0322],
"position": [0, 6, 0]
},
"body_rotation": {
"rotation": [2.5, 0, 0],
"position": [0, -3, 0]
},
"spring2": {
"rotation": [35.9366, -29.087, 32.6804]
},
"segment1": {
"position": [0, 0.5, 0]
},
"leg_left1": {
"rotation": [0, 15, 0]
},
"spring": {
"rotation": [-26.941, -5.7358, -11.1249]
},
"spring3": {
"rotation": [-24.3803, 6.6782, -46.9093]
},
"spring4": {
"rotation": [0, 0, -35]
},
"leg_right1": {
"rotation": [0, -15, 0]
},
"segment2": {
"position": [0, 0.5, 0]
},
"segment3": {
"position": [0, 0.5, 0]
},
"leg_left2": {
"rotation": [0, 17.5, 0]
},
"leg_left3": {
"rotation": [0, 25, 0]
},
"leg_right2": {
"rotation": [0, -17.5, 0]
},
"leg_right3": {
"rotation": [0, -25, 0]
}
}
},
"animation.burmy_sandy.ditto_face": {
"loop": true,
"bones": {
"face": {
"position": [0, 0, 0.1],
"scale": 0
},
"face_ditto": {
"position": [0, 0, -0.1]
}
}
},
"animation.burmy_sandy.blink": {
"animation_length": 0.1667,
"bones": {
"pupil_left": {
"position": {
"0.0": [0, 0, 0.1],
"0.125": [0, 0, 0.1],
"0.1667": {"pre": [0, 0, 0.1], "post": [0, 0, 0]}
}
},
"pupil_closed_left": {
"position": {
"0.0": [0, 0, -0.1],
"0.125": [0, 0, -0.1],
"0.1667": {"pre": [0, 0, -0.1], "post": [0, 0, 0]}
}
},
"pupil_right": {
"position": {
"0.0": [0, 0, 0.1],
"0.125": [0, 0, 0.1],
"0.1667": {"pre": [0, 0, 0.1], "post": [0, 0, 0]}
}
},
"pupil_closed_right": {
"position": {
"0.0": [0, 0, -0.1],
"0.125": [0, 0, -0.1],
"0.1667": {"pre": [0, 0, -0.1], "post": [0, 0, 0]}
}
},
"eyes_ditto": {
"position": {
"0.0": [0, 0, 0.1],
"0.1667": {"pre": [0, 0, 0.1], "post": [0, 0, 0]}
}
},
"eyes_blink_ditto": {
"position": {
"0.0": [0, 0, -0.1],
"0.1667": {"pre": [0, 0, -0.1], "post": [0, 0, 0]}
}
}
}
}
}
}
@@ -0,0 +1,208 @@
{
"format_version": "1.8.0",
"animations": {
"animation.burmy_trash.ground_idle": {
"loop": true,
"bones": {
"body": {
"rotation": [2.5201, 0.3141, 0.0322],
"position": [0, 6, 0]
},
"body_rotation": {
"rotation": [2.5, 0, 0]
},
"spring2": {
"rotation": [-2.5, 0, 0]
},
"segment1": {
"position": [0, 0.5, 0]
},
"leg_left1": {
"rotation": [0, 15, 0]
},
"leg_right1": {
"rotation": [0, -15, 0]
},
"segment2": {
"position": [0, 0.5, 0]
},
"segment3": {
"position": [0, 0.5, 0]
},
"leg_left2": {
"rotation": [0, 17.5, 0]
},
"leg_left3": {
"rotation": [0, 25, 0]
},
"leg_right2": {
"rotation": [0, -17.5, 0]
},
"leg_right3": {
"rotation": [0, -25, 0]
}
}
},
"animation.burmy_trash.ground_idle_naked": {
"loop": true,
"bones": {
"body_rotation": {
"rotation": [7.5, 0, 0],
"position": [0, 0, -3]
},
"segment1": {
"rotation": [75, 0, 0]
},
"leg_left1": {
"rotation": [0.00002, 0.00005, 0.00002]
},
"cloak_plant": {
"scale": 0
},
"body": {
"rotation": [2.5, 0, 0],
"position": [0, -7.25, 0]
},
"leg_right1": {
"rotation": [0.00002, -0.00005, -0.00002]
},
"segment2": {
"rotation": [5, 0, 0]
},
"segment3": {
"rotation": [2.5781, -0.5734, 0.2485]
},
"leg_left2": {
"rotation": [2.53742, -4.92385, -0.87038]
},
"leg_left3": {
"rotation": [7.53742, -4.92385, -0.87038]
},
"leg_right2": {
"rotation": [2.53742, 4.92385, 0.87038]
},
"leg_right3": {
"rotation": [7.53742, 4.92385, 0.87038]
},
"face": {
"position": [0, 0, 1]
},
"cloaked_face": {
"scale": 0
},
"face_ditto": {
"position": [0, 0, 1]
}
}
},
"animation.burmy_trash.spring": {
"loop": true,
"bones": {
"body": {
"rotation": [2.5201, 0.3141, 0.0322],
"position": [0, 6, 0]
},
"body_rotation": {
"rotation": [2.5, 0, 0],
"position": [0, -3, 0]
},
"spring2": {
"rotation": [35.9366, -29.087, 32.6804]
},
"segment1": {
"position": [0, 0.5, 0]
},
"leg_left1": {
"rotation": [0, 15, 0]
},
"spring": {
"rotation": [-26.941, -5.7358, -11.1249]
},
"spring3": {
"rotation": [-24.3803, 6.6782, -46.9093]
},
"spring4": {
"rotation": [0, 0, -35]
},
"leg_right1": {
"rotation": [0, -15, 0]
},
"segment2": {
"position": [0, 0.5, 0]
},
"segment3": {
"position": [0, 0.5, 0]
},
"leg_left2": {
"rotation": [0, 17.5, 0]
},
"leg_left3": {
"rotation": [0, 25, 0]
},
"leg_right2": {
"rotation": [0, -17.5, 0]
},
"leg_right3": {
"rotation": [0, -25, 0]
}
}
},
"animation.burmy_trash.ditto_face": {
"loop": true,
"bones": {
"face": {
"position": [0, 0, 0.1],
"scale": 0
},
"face_ditto": {
"position": [0, 0, -0.1]
}
}
},
"animation.burmy_trash.blink": {
"animation_length": 0.1667,
"bones": {
"pupil_left": {
"position": {
"0.0": [0, 0, 0.1],
"0.125": [0, 0, 0.1],
"0.1667": {"pre": [0, 0, 0.1], "post": [0, 0, 0]}
}
},
"pupil_closed_left": {
"position": {
"0.0": [0, 0, -0.1],
"0.125": [0, 0, -0.1],
"0.1667": {"pre": [0, 0, -0.1], "post": [0, 0, 0]}
}
},
"pupil_right": {
"position": {
"0.0": [0, 0, 0.1],
"0.125": [0, 0, 0.1],
"0.1667": {"pre": [0, 0, 0.1], "post": [0, 0, 0]}
}
},
"pupil_closed_right": {
"position": {
"0.0": [0, 0, -0.1],
"0.125": [0, 0, -0.1],
"0.1667": {"pre": [0, 0, -0.1], "post": [0, 0, 0]}
}
},
"eyes_ditto": {
"position": {
"0.0": [0, 0, 0.1],
"0.1667": {"pre": [0, 0, 0.1], "post": [0, 0, 0]}
}
},
"eyes_blink_ditto": {
"position": {
"0.0": [0, 0, -0.1],
"0.1667": {"pre": [0, 0, -0.1], "post": [0, 0, 0]}
}
}
}
}
}
}
@@ -0,0 +1,107 @@
{
"format_version": "1.8.0",
"animations": {
"animation.wormadam_plant.ground_idle": {
"loop": true,
"bones": {
"body": {
"rotation": [5, 0, 0],
"position": [0, 6, 0]
},
"body_rotation": {
"rotation": [0, 0, 0]
},
"antenna": {
"rotation": [-2.5, 0, 0]
},
"ear_left": {
"rotation": [0, -12.5, 0]
},
"ear_left2": {
"rotation": [0, 0, 20]
},
"ear_left3": {
"rotation": [0, 0, 22.5]
},
"ear_back_left": {
"rotation": [-7.5, 0, 25]
},
"ear_left4": {
"rotation": [0, 0, 17.5]
},
"ear_right": {
"rotation": [0, 12.5, 0]
},
"ear_right2": {
"rotation": [0, 0, -20]
},
"ear_right3": {
"rotation": [0, 0, -22.5]
},
"ear_right4": {
"rotation": [0, 0, -17.5]
},
"ear_back_right": {
"rotation": [-7.5, 0, -25]
}
}
},
"animation.wormadam_plant.blink": {
"animation_length": 0.1667,
"bones": {
"pupil_left": {
"position": {
"0.0": [0, 0, 0.1],
"0.125": [0, 0, 0.1],
"0.1667": {"pre": [0, 0, 0.1], "post": [0, 0, 0]}
}
},
"pupil_closed_left": {
"position": {
"0.0": [0, 0, -0.1],
"0.125": [0, 0, -0.1],
"0.1667": {"pre": [0, 0, -0.1], "post": [0, 0, 0]}
}
},
"pupil_right": {
"position": {
"0.0": [0, 0, 0.1],
"0.125": [0, 0, 0.1],
"0.1667": {"pre": [0, 0, 0.1], "post": [0, 0, 0]}
}
},
"pupil_closed_right": {
"position": {
"0.0": [0, 0, -0.1],
"0.125": [0, 0, -0.1],
"0.1667": {"pre": [0, 0, -0.1], "post": [0, 0, 0]}
}
},
"eyes_ditto": {
"position": {
"0.0": [0, 0, 0.1],
"0.1667": {"pre": [0, 0, 0.1], "post": [0, 0, 0]}
}
},
"eyes_blink_ditto": {
"position": {
"0.0": [0, 0, -0.1],
"0.1667": {"pre": [0, 0, -0.1], "post": [0, 0, 0]}
}
}
}
},
"animation.wormadam_plant.ditto_face": {
"loop": true,
"bones": {
"face": {
"position": [0, 0, 0.1],
"scale": 0
},
"face_ditto": {
"position": [0, 0, -0.1]
}
}
}
}
}
@@ -0,0 +1,107 @@
{
"format_version": "1.8.0",
"animations": {
"animation.wormadam_sandy.ground_idle": {
"loop": true,
"bones": {
"body": {
"rotation": [5, 0, 0],
"position": [0, 6, 0]
},
"body_rotation": {
"rotation": [0, 0, 0]
},
"antenna": {
"rotation": [-2.5, 0, 0]
},
"ear_left": {
"rotation": [0, -12.5, 0]
},
"ear_left2": {
"rotation": [0, 0, 20]
},
"ear_left3": {
"rotation": [0, 0, 22.5]
},
"ear_back_left": {
"rotation": [-7.5, 0, 25]
},
"ear_left4": {
"rotation": [0, 0, 17.5]
},
"ear_right": {
"rotation": [0, 12.5, 0]
},
"ear_right2": {
"rotation": [0, 0, -20]
},
"ear_right3": {
"rotation": [0, 0, -22.5]
},
"ear_right4": {
"rotation": [0, 0, -17.5]
},
"ear_back_right": {
"rotation": [-7.5, 0, -25]
}
}
},
"animation.wormadam_sandy.blink": {
"animation_length": 0.1667,
"bones": {
"pupil_left": {
"position": {
"0.0": [0, 0, 0.1],
"0.125": [0, 0, 0.1],
"0.1667": {"pre": [0, 0, 0.1], "post": [0, 0, 0]}
}
},
"pupil_closed_left": {
"position": {
"0.0": [0, 0, -0.1],
"0.125": [0, 0, -0.1],
"0.1667": {"pre": [0, 0, -0.1], "post": [0, 0, 0]}
}
},
"pupil_right": {
"position": {
"0.0": [0, 0, 0.1],
"0.125": [0, 0, 0.1],
"0.1667": {"pre": [0, 0, 0.1], "post": [0, 0, 0]}
}
},
"pupil_closed_right": {
"position": {
"0.0": [0, 0, -0.1],
"0.125": [0, 0, -0.1],
"0.1667": {"pre": [0, 0, -0.1], "post": [0, 0, 0]}
}
},
"eyes_ditto": {
"position": {
"0.0": [0, 0, 0.1],
"0.1667": {"pre": [0, 0, 0.1], "post": [0, 0, 0]}
}
},
"eyes_blink_ditto": {
"position": {
"0.0": [0, 0, -0.1],
"0.1667": {"pre": [0, 0, -0.1], "post": [0, 0, 0]}
}
}
}
},
"animation.wormadam_sandy.ditto_face": {
"loop": true,
"bones": {
"face": {
"position": [0, 0, 0.1],
"scale": 0
},
"face_ditto": {
"position": [0, 0, -0.1]
}
}
}
}
}
@@ -0,0 +1,107 @@
{
"format_version": "1.8.0",
"animations": {
"animation.wormadam_trash.ground_idle": {
"loop": true,
"bones": {
"body": {
"rotation": [5, 0, 0],
"position": [0, 6, 0]
},
"body_rotation": {
"rotation": [0, 0, 0]
},
"antenna": {
"rotation": [-2.5, 0, 0]
},
"ear_left": {
"rotation": [0, -12.5, 0]
},
"ear_left2": {
"rotation": [0, 0, 20]
},
"ear_left3": {
"rotation": [0, 0, 22.5]
},
"ear_back_left": {
"rotation": [-7.5, 0, 25]
},
"ear_left4": {
"rotation": [0, 0, 17.5]
},
"ear_right": {
"rotation": [0, 12.5, 0]
},
"ear_right2": {
"rotation": [0, 0, -20]
},
"ear_right3": {
"rotation": [0, 0, -22.5]
},
"ear_right4": {
"rotation": [0, 0, -17.5]
},
"ear_back_right": {
"rotation": [-7.5, 0, -25]
}
}
},
"animation.wormadam_trash.blink": {
"animation_length": 0.1667,
"bones": {
"pupil_left": {
"position": {
"0.0": [0, 0, 0.1],
"0.125": [0, 0, 0.1],
"0.1667": {"pre": [0, 0, 0.1], "post": [0, 0, 0]}
}
},
"pupil_closed_left": {
"position": {
"0.0": [0, 0, -0.1],
"0.125": [0, 0, -0.1],
"0.1667": {"pre": [0, 0, -0.1], "post": [0, 0, 0]}
}
},
"pupil_right": {
"position": {
"0.0": [0, 0, 0.1],
"0.125": [0, 0, 0.1],
"0.1667": {"pre": [0, 0, 0.1], "post": [0, 0, 0]}
}
},
"pupil_closed_right": {
"position": {
"0.0": [0, 0, -0.1],
"0.125": [0, 0, -0.1],
"0.1667": {"pre": [0, 0, -0.1], "post": [0, 0, 0]}
}
},
"eyes_ditto": {
"position": {
"0.0": [0, 0, 0.1],
"0.1667": {"pre": [0, 0, 0.1], "post": [0, 0, 0]}
}
},
"eyes_blink_ditto": {
"position": {
"0.0": [0, 0, -0.1],
"0.1667": {"pre": [0, 0, -0.1], "post": [0, 0, 0]}
}
}
}
},
"animation.wormadam_trash.ditto_face": {
"loop": true,
"bones": {
"face": {
"position": [0, 0, 0.1],
"scale": 0
},
"face_ditto": {
"position": [0, 0, -0.1]
}
}
}
}
}
@@ -0,0 +1,100 @@
{
"format_version": "1.8.0",
"animations": {
"animation.mothim.ground_idle": {
"loop": true,
"bones": {
"torso": {
"rotation": [5, 0, 0]
},
"wing_upper_left": {
"rotation": [1.3185, -9.9136, -7.6143]
},
"wing_lower_left": {
"rotation": [-2.5, -12.5, 0]
},
"head": {
"rotation": [-5, 0, 0]
},
"antenna_left": {
"rotation": [-22.4229, 1.9113, 4.6211]
},
"antenna_left2": {
"rotation": [-7.5, 0, 0]
},
"tail": {
"rotation": [-12.5, 0, 0]
},
"antenna_right": {
"rotation": [-22.4229, -1.9113, -4.6211]
},
"antenna_right2": {
"rotation": [-7.5, 0, 0]
},
"arm_left": {
"rotation": [-0.9096, 19.9802, 44.8398]
},
"arm_right": {
"rotation": [-0.9096, -19.9802, -44.8398]
},
"leg_left": {
"rotation": [-9.041, -41.7073, 13.4501]
},
"leg_right": {
"rotation": [-9.041, 41.7073, -13.4501]
},
"wing_upper_right": {
"rotation": [1.3185, 9.9136, 7.6143]
},
"wing_lower_right": {
"rotation": [-2.5, 12.5, 0]
}
}
},
"animation.mothim.blink": {
"animation_length": 0.1667,
"bones": {
"eye_open_left": {
"position": {
"0.0": [0, 0, 0.1],
"0.125": {"pre": [0, 0, 0.1], "post": [0, 0, 0.1]},
"0.1667": {"pre": [0, 0, 0.1], "post": [0, 0, 0]}
}
},
"eye_open_right": {
"position": {
"0.0": [0, 0, 0.1],
"0.125": {"pre": [0, 0, 0.1], "post": [0, 0, 0.1]},
"0.1667": {"pre": [0, 0, 0.1], "post": [0, 0, 0]}
}
},
"eye_closed_left": {
"position": {
"0.0": [0, 0, -0.1],
"0.125": {"pre": [0, 0, -0.1], "post": [0, 0, -0.1]},
"0.1667": {"pre": [0, 0, -0.1], "post": [0, 0, -0.1]}
}
},
"eye_closed_right": {
"position": {
"0.0": [0, 0, -0.1],
"0.125": {"pre": [0, 0, -0.1], "post": [0, 0, -0.1]},
"0.1667": {"pre": [0, 0, -0.1], "post": [0, 0, -0.1]}
}
},
"eyes_ditto": {
"position": {
"0.0": [0, 0, 0.1],
"0.1667": {"pre": [0, 0, 0.1], "post": [0, 0, 0]}
}
},
"eyes_blink_ditto": {
"position": {
"0.0": [0, 0, -0.1],
"0.1667": {"pre": [0, 0, -0.1], "post": [0, 0, 0]}
}
}
}
}
}
}
@@ -0,0 +1,104 @@
{
"format_version": "1.8.0",
"animations": {
"animation.snover.ground_idle": {
"loop": true,
"bones": {
"tail": {
"rotation": [-7.44134, 0.07948, 0.53084]
},
"arm_right": {
"rotation": [0, 0, "-32.5-5*Math.sin((query.anim_time-0.5) * 90 * 1)"]
},
"arm_right2": {
"rotation": [0, "-12.5+5*Math.sin((query.anim_time-0.75) * 90 * 1)", 0]
},
"torso": {
"rotation": ["-2.5+2*Math.sin((query.anim_time-0) * 90 * 1)", 0, "-2*Math.sin((query.anim_time-0.8) * 90 * 0.5)"],
"position": [0, "0.1*Math.sin((query.anim_time-0.75) * 90 * 1)", 0]
},
"torso2": {
"rotation": ["5+1*Math.sin((query.anim_time-0.25) * 90 * 1)", 0, 0]
},
"arm_left": {
"rotation": [0, 0, "32.5+5*Math.sin((query.anim_time-0.5) * 90 * 1)"]
},
"arm_left2": {
"rotation": [0, "12.5-5*Math.sin((query.anim_time-0.75) * 90 * 1)", 0]
}
}
},
"animation.snover.blink": {
"animation_length": 0.1667,
"bones": {
"pupil_right": {
"position": {
"0.0": [0, 0, 0.1],
"0.1667": {"pre": [0, 0, 0.1], "post": [0, 0, 0]}
}
},
"pupil_left": {
"position": {
"0.0": [0, 0, 0.1],
"0.1667": {"pre": [0, 0, 0.1], "post": [0, 0, 0]}
}
},
"pupil_closed_right": {
"position": {
"0.0": [0, 0, -0.1],
"0.1667": {"pre": [0, 0, -0.1], "post": [0, 0, 0]}
}
},
"pupil_closed_left": {
"position": {
"0.0": [0, 0, -0.1],
"0.1667": {"pre": [0, 0, -0.1], "post": [0, 0, 0]}
}
},
"eyes_ditto": {
"position": {
"0.0": [0, 0, 0.1],
"0.1667": {"pre": [0, 0, 0.1], "post": [0, 0, 0]}
}
},
"eyes_blink_ditto": {
"position": {
"0.0": [0, 0, -0.1],
"0.1667": {"pre": [0, 0, -0.1], "post": [0, 0, 0]}
}
}
}
},
"animation.snover.ditto_face": {
"loop": true,
"bones": {
"eyes": {
"scale": 0
},
"face_ditto": {
"position": [0, 0, -0.1]
}
}
},
"animation.snover.berries_female": {
"loop": true,
"bones": {
"berry_front": {
"position": [0, 0, -4]
},
"berry_front_right": {
"position": [-4, 0, -4]
},
"berry_back_right": {
"position": [-4, 0, 4]
},
"berry_front_left": {
"position": [4, 0, -4]
},
"berry_back_left": {
"position": [4, 0, 4]
}
}
}
}
}
@@ -0,0 +1,110 @@
{
"format_version": "1.8.0",
"animations": {
"animation.abomasnow.ground_idle": {
"loop": true,
"bones": {
"torso2": {
"rotation": [2.5, 0, 0]
},
"head": {
"rotation": [-2.5, 0, 0]
},
"arm_left": {
"rotation": [0, 0, 35]
},
"arm_left2": {
"rotation": [4.75346, 32.18826, 8.87221]
},
"finger_front_left": {
"rotation": [-3.96713, -14.47751, 15.50409]
},
"finger_middle_left": {
"rotation": [0, 0, 15]
},
"finger_back_left": {
"rotation": [3.96713, 14.47751, 15.50409]
},
"foot_left": {
"rotation": [0, -15, 0]
},
"tail": {
"rotation": [-15, 0, 0]
},
"tail2": {
"rotation": [5, 0, 0]
},
"tail3": {
"rotation": [5, 0, 0]
},
"arm_right": {
"rotation": [0, 0, -35]
},
"arm_right2": {
"rotation": [4.75346, -32.18826, -8.87221]
},
"finger_front_right": {
"rotation": [-3.96713, 14.47751, -15.50409]
},
"finger_middle_right": {
"rotation": [0, 0, -15]
},
"finger_back_right": {
"rotation": [3.96713, -14.47751, -15.50409]
}
}
},
"animation.abomasnow.blink": {
"animation_length": 0.1667,
"bones": {
"eye_left": {
"position": {
"0.0": [0, 0, 0.1],
"0.1667": {"pre": [0, 0, 0.1], "post": [0, 0, 0]}
}
},
"eye_right": {
"position": {
"0.0": [0, 0, 0.1],
"0.1667": {"pre": [0, 0, 0.1], "post": [0, 0, 0]}
}
},
"eyelid_right": {
"position": {
"0.0": [0, 0, -0.1],
"0.1667": {"pre": [0, 0, -0.1], "post": [0, 0, 0]}
}
},
"eyelid_left": {
"position": {
"0.0": [0, 0, -0.1],
"0.1667": {"pre": [0, 0, -0.1], "post": [0, 0, 0]}
}
},
"eyes_ditto": {
"position": {
"0.0": [0, 0, 0.1],
"0.1667": {"pre": [0, 0, 0.1], "post": [0, 0, 0]}
}
},
"eyes_blink_ditto": {
"position": {
"0.0": [0, 0, -0.1],
"0.1667": {"pre": [0, 0, -0.1], "post": [0, 0, 0]}
}
}
}
},
"animation.abomasnow.ditto_face": {
"loop": true,
"bones": {
"eyes": {
"scale": 0
},
"face_ditto": {
"position": [0, 0, -0.1]
}
}
}
}
}
@@ -0,0 +1,279 @@
{
"format_version": "1.8.0",
"animations": {
"animation.tympole.ground_idle": {
"loop": true,
"bones": {
"torso": {
"rotation": [-2.5, 0, 0]
},
"tail": {
"rotation": [-37.5, 0, 0]
},
"tail2": {
"rotation": [35, 0, 0]
},
"tail3": {
"rotation": [10, 0, 0]
}
}
},
"animation.tympole.sleep": {
"loop": true,
"bones": {
"body": {
"rotation": [-95, 0, 0],
"position": [0, 0, 2]
},
"tail": {
"rotation": [-85, 0, 0]
},
"tail2": {
"rotation": [-5, 0, 0]
},
"tail3": {
"rotation": [-12.5, 0, 0]
},
"eye_left": {
"position": [0, 0, 0.1]
},
"eye_right": {
"position": [0, 0, 0.1]
},
"eyelid_right": {
"position": [0, 0, -0.1]
},
"eyelid_left": {
"position": [0, 0, -0.1]
}
}
},
"animation.tympole.blink": {
"animation_length": 0.1667,
"bones": {
"eye_left": {
"position": {
"0.0": [0, 0, 0.1],
"0.1667": {"pre": [0, 0, 0.1], "post": [0, 0, 0]}
}
},
"eyelid_left": {
"position": {
"0.0": [0, 0, -0.1],
"0.1667": {"pre": [0, 0, -0.1], "post": [0, 0, 0]}
}
},
"eye_right": {
"position": {
"0.0": [0, 0, 0.1],
"0.1667": {"pre": [0, 0, 0.1], "post": [0, 0, 0]}
}
},
"eyelid_right": {
"position": {
"0.0": [0, 0, -0.1],
"0.1667": {"pre": [0, 0, -0.1], "post": [0, 0, 0]}
}
},
"eyes_ditto": {
"position": {
"0.0": [0, 0, 0.1],
"0.1667": {"pre": [0, 0, 0.1], "post": [0, 0, 0]}
}
},
"eyes_blink_ditto": {
"position": {
"0.0": [0, 0, -0.1],
"0.1667": {"pre": [0, 0, -0.1], "post": [0, 0, 0]}
}
}
}
},
"animation.tympole.ditto_face": {
"loop": true,
"bones": {
"face": {
"scale": 0
},
"face_ditto": {
"position": [0, 0, -0.1]
}
}
},
"animation.tympole.pose": {
"loop": true,
"bones": {
"body": {
"rotation": [-8.5958, -5.68422, 21.80633],
"position": [0, 8, 0]
},
"tail": {
"rotation": [-67.5, -22.5, 0],
"position": [0, -2, 0]
},
"tail2": {
"rotation": [22.5, 0, 0]
},
"tail3": {
"rotation": [22.5, 0, 0]
},
"mouth": {
"position": [0, 0, 0.1]
},
"mouth_open": {
"position": [0, 0, 0]
},
"mouth_open_small": {
"position": [0, 0, -0.1]
}
}
},
"animation.tympole.happy": {
"loop": true,
"bones": {
"eye_left": {
"position": [0, 0, 0.1]
},
"eye_right": {
"position": [0, 0, 0.1]
},
"mouth": {
"position": [0, 0, 0.1]
},
"mouth_open": {
"position": [0, 0, -0.1]
},
"eye_left_happy": {
"position": [0, 0, -0.1]
},
"eye_right_happy": {
"position": [0, 0, -0.1]
}
}
},
"animation.tympole.shock": {
"loop": true,
"bones": {
"mouth": {
"position": [0, 0, 0.1]
},
"mouth_open_tall": {
"position": [0, 0, -0.1]
},
"eyebrow_left": {
"position": [0, 0.5, 0]
},
"eyebrow_right": {
"position": [0, 0.5, 0]
}
}
},
"animation.tympole.angry": {
"loop": true,
"bones": {
"eyebrow_left": {
"rotation": [0, 0, -22.5],
"position": [-0.25, -0.25, -0.04]
},
"eyebrow_right": {
"rotation": [0, 0, 22.5],
"position": [0.25, -0.25, -0.04]
},
"mouth": {
"position": [0, 0, 0.1]
},
"eyelid_left_emote": {
"position": [0, 0, -0.1]
},
"eyelid_right_emote": {
"position": [0, 0, -0.1]
},
"mouth_angry": {
"position": [0, 0, -0.1]
}
}
},
"animation.tympole.sad": {
"loop": true,
"bones": {
"eyebrow_left": {
"rotation": [0, 0, 10],
"position": [0.15, 0, -0.04]
},
"eyebrow_right": {
"rotation": [0, 0, -10],
"position": [-0.15, 0, -0.04]
},
"mouth": {
"position": [0, 0, 0.1]
},
"eyelid_left_emote": {
"position": [0.9, 0, -0.1]
},
"eyelid_right_emote": {
"position": [-0.9, 0, -0.1]
},
"mouth_sad": {
"position": [0, 0, -0.1]
}
}
},
"animation.tympole.hurt": {
"loop": true,
"bones": {
"eyebrow_left": {
"position": [0, -0.25, 0]
},
"eyebrow_right": {
"position": [0, -0.25, 0]
},
"eye_left": {
"position": [0, 0, 0.1]
},
"eye_right": {
"position": [0, 0, 0.1]
},
"mouth": {
"position": [0, 0, 0.1]
},
"mouth_open_frown": {
"position": [0, 0, -0.1]
},
"eye_left_hurt": {
"position": [0, 0, -0.1]
},
"eye_right_hurt": {
"position": [0, 0, -0.1]
}
}
},
"animation.tympole.unamused": {
"loop": true,
"bones": {
"mouth": {
"position": [0, 0, 0.1]
},
"mouth_angry": {
"position": [0, 0, -0.1]
},
"eyelid_left_unamused": {
"position": [0, 0, -0.1]
},
"eyelid_right_unamused": {
"position": [0, 0, -0.1]
}
}
},
"animation.tympole.scale": {
"loop": true,
"bones": {
"tympole": {
"scale": 0.65
},
"ear_left_inside": {
"position": [0, 0, 0]
}
}
}
}
}
@@ -0,0 +1,223 @@
{
"format_version": "1.8.0",
"animations": {
"animation.palpitoad.ground_idle": {
"loop": true,
"bones": {
"palpitoad": {
"scale": 1
},
"torso": {
"rotation": [-2.5, 0, 0]
},
"tail": {
"rotation": [-32.5, 0, 0]
},
"nose": {
"rotation": [-10, 0, 0]
},
"leg_left": {
"rotation": [0, 15, 0]
},
"leg_right": {
"rotation": [0, -15, 0]
},
"tail2": {
"rotation": [20, 0, 0]
},
"tail3": {
"rotation": [12.5, 0, 0]
},
"tongue": {
"rotation": [260, 0, 0]
},
"tongue_2": {
"rotation": [180, 0, 0]
},
"tongue_3": {
"rotation": [180, 0, 0]
},
"tongue_4": {
"rotation": [180, 0, 0]
},
"tongue_5": {
"rotation": [180, 0, 0]
},
"tongue_6": {
"rotation": [180, 0, 0]
},
"tongue_7": {
"rotation": [180, 0, 0]
},
"tongue_8": {
"rotation": [180, 0, 0]
},
"tongue_9": {
"rotation": [180, 0, 0]
},
"tongue_10": {
"rotation": [180, 0, 0]
},
"tongue_11": {
"rotation": [180, 0, 0]
},
"tongue_12": {
"rotation": [180, 0, 0]
},
"head": {
"rotation": [2.5, 0, 0]
}
}
},
"animation.palpitoad.blink": {
"animation_length": 0.1667,
"bones": {
"eye_left": {
"position": {
"0.0": [0, 0, 0.1],
"0.125": [0, 0, 0.1],
"0.1667": [0, 0, 0]
}
},
"shine_left": {
"position": {
"0.0": [0, 0, 0.1],
"0.125": [0, 0, 0.1],
"0.1667": [0, 0, 0]
}
},
"eye_right": {
"position": {
"0.0": [0, 0, 0.1],
"0.125": [0, 0, 0.1],
"0.1667": [0, 0, 0]
}
},
"shine_right": {
"position": {
"0.0": [0, 0, 0.1],
"0.125": [0, 0, 0.1],
"0.1667": [0, 0, 0]
}
},
"eyelid_right": {
"position": {
"0.0": [0, 0, -0.1],
"0.125": [0, 0, -0.1],
"0.1667": [0, 0, 0]
}
},
"eyelid_left": {
"position": {
"0.0": [0, 0, -0.1],
"0.125": [0, 0, -0.1],
"0.1667": [0, 0, 0]
}
}
}
},
"animation.palpitoad.ditto_face": {
"loop": true,
"bones": {
"mouth_open_big_bottom": {
"scale": 0
},
"face": {
"scale": 0
},
"face_ditto": {
"position": [0, 0, -0.1]
}
}
},
"animation.palpitoad.pose": {
"loop": true,
"bones": {
"body": {
"position": [0, 1, 0]
},
"leg_left": {
"rotation": [20, 25, 0]
},
"toes_left": {
"rotation": [-20, 0, 0]
},
"leg_right": {
"rotation": [20, -25, 0]
},
"toes_right": {
"rotation": [-20, 0, 0]
},
"torso": {
"rotation": [-5, 0, 0]
},
"head_angle": {
"rotation": [5, 10, 0]
},
"mouth": {
"position": [0, 0, 0.1]
},
"nose": {
"rotation": [-10, 0, 0]
},
"tail": {
"rotation": [27.5, -30, 0]
},
"tail2": {
"rotation": [27.5, 0, 0]
},
"tongue": {
"rotation": [-10, -32.5, 0]
},
"tongue_2": {
"rotation": [-42.79487, -18.88952, 16.68541]
},
"tongue_3": {
"rotation": [-38.85707, -12.27659, 12.56853]
},
"tongue_4": {
"rotation": [-25, 0, 0]
},
"tongue_5": {
"rotation": [-10.82756, 27.88369, 21.32202]
},
"tongue_6": {
"rotation": [-10, 42.5, 0]
},
"tongue_7": {
"rotation": [-30.86748, 12.95254, -7.63074]
},
"mouth_open": {
"position": [0, 0, -0.1]
},
"tongue_8": {
"rotation": [-15, 0, 0]
},
"tongue_9": {
"rotation": [-22.5, 0, 0]
},
"tongue_12": {
"rotation": [40, 0, 0]
},
"tongue_11": {
"rotation": [37.5, 0, 0]
},
"tongue_10": {
"rotation": [-15, 0, 0]
},
"shine_left": {
"position": [-0.25, 0, 0]
},
"shine_right": {
"position": [-0.25, 0, 0]
},
"pupil_left": {
"position": [-0.25, 0, 0]
},
"pupil_right": {
"position": [-0.25, 0, 0]
}
}
}
}
}
@@ -0,0 +1,341 @@
{
"format_version": "1.8.0",
"animations": {
"animation.seismitoad.ground_idle": {
"loop": true,
"bones": {
"body": {
"position": [0, -3.2, 0]
},
"torso": {
"rotation": [2.5, 0, 0]
},
"shoulder_left": {
"rotation": [34.3569, -7.1313, 32.7929]
},
"arm_left": {
"rotation": [0, 27.5, 5]
},
"elbow_left": {
"rotation": [-15, 22.5, 0]
},
"hand_left": {
"rotation": [0, 0, 22.5]
},
"leg_left": {
"rotation": [-45, -20, -10],
"position": [-1, 0, 0]
},
"knee_left": {
"rotation": [60, -10, 10]
},
"foot_left": {
"rotation": [-12, 0, -5]
},
"wart_knee_left": {
"rotation": [22.5, 0, 7.5]
},
"neck_rotation": {
"rotation": [2.5, 0, 0]
},
"head": {
"rotation": [-90, 0, 0]
},
"finger_middle_left2": {
"rotation": [0, 0, 15]
},
"finger_front_left": {
"rotation": [0, 0, 7.5]
},
"finger_front_left2": {
"rotation": [0, 0, 15]
},
"finger_back_left": {
"rotation": [0, 0, 7.5]
},
"finger_back_left2": {
"rotation": [0, 0, 15]
},
"shoulder_right": {
"rotation": [34.3569, 7.1313, -32.7929]
},
"arm_right": {
"rotation": [0, -27.5, -5]
},
"elbow_right": {
"rotation": [-15, -22.5, 0]
},
"hand_right": {
"rotation": [0, 0, -22.5]
},
"finger_middle_right2": {
"rotation": [0, 0, -15]
},
"finger_front_right": {
"rotation": [0, 0, -7.5]
},
"finger_front_right2": {
"rotation": [0, 0, -15]
},
"finger_back_right": {
"rotation": [0, 0, -7.5]
},
"finger_back_right2": {
"rotation": [0, 0, -15]
},
"toe_back_left2": {
"rotation": [-10, 0, 0]
},
"toe_out_left2": {
"rotation": [7.5, 0, 0]
},
"toe_in_left2": {
"rotation": [7.5, 0, 0]
},
"leg_right": {
"rotation": [-45, 20, 10],
"position": [1, 0, 0]
},
"knee_right": {
"rotation": [60, 10, -10]
},
"foot_right": {
"rotation": [-12, 0, 5]
},
"toe_out_right2": {
"rotation": [7.5, 0, 0]
},
"toe_in_right2": {
"rotation": [7.5, 0, 0]
},
"toe_back_right2": {
"rotation": [-10, 0, 0]
},
"wart_knee_right": {
"rotation": [22.5, 0, -7.5]
},
"neck": {
"rotation": [-45, 0, 0]
},
"tongue": {
"position": [0, -0.25, 3]
},
"tongue2": {
"position": [0, 0, 5]
},
"tongue3": {
"position": [0, 0, 5]
},
"tongue4": {
"position": [0, 0, 5]
},
"tongue5": {
"position": [0, 0, 5]
},
"tongue_tip": {
"position": [0, -1, 3]
},
"head_angle": {
"rotation": [90, 0, 0]
},
"neck_angle": {
"rotation": [45, 0, 0]
}
}
},
"animation.seismitoad.blink": {
"animation_length": 0.2917,
"bones": {
"eye_left": {
"position": {
"0.0": [0, 0, 0],
"0.0833": {"pre": [0, 0, 0], "post": [0, 0, 0.1]},
"0.2917": {"pre": [0, 0, 0.1], "post": [0, 0, 0]}
}
},
"eye_right": {
"position": {
"0.0": [0, 0, 0.1],
"0.2083": {"pre": [0, 0, 0.1], "post": [0, 0, 0]}
}
},
"eyelid_left": {
"position": {
"0.0": [0, 0, 0],
"0.0833": {"pre": [0, 0, 0], "post": [0, 0, -0.1]},
"0.2917": {"pre": [0, 0, -0.1], "post": [0, 0, 0]}
}
},
"eyelid_right": {
"position": {
"0.0": [0, 0, -0.1],
"0.2083": {"pre": [0, 0, -0.1], "post": [0, 0, 0]}
}
},
"eyes_ditto": {
"position": {
"0.0": [0, 0, 0.1],
"0.2083": {"pre": [0, 0, 0.1], "post": [0, 0, 0]}
}
},
"eyes_blink_ditto": {
"position": {
"0.0": [0, 0, -0.1],
"0.2083": {"pre": [0, 0, -0.1], "post": [0, 0, 0]}
}
}
}
},
"animation.seismitoad.ditto_face": {
"loop": true,
"bones": {
"face": {
"scale": 0
},
"face_ditto": {
"position": [0, 0, -0.1]
},
"tongue": {
"scale": 0
}
}
},
"animation.seismitoad.pose": {
"loop": true,
"bones": {
"body": {
"rotation": [0, -30, 0],
"position": [0, -2.25, 0]
},
"torso": {
"rotation": [17.5, 0, 0]
},
"jaw": {
"rotation": [42.5, 0, 0]
},
"shoulder_left": {
"rotation": [-5, -7.5, 25]
},
"arm_left": {
"rotation": [0, 5, 0]
},
"elbow_left": {
"rotation": [-12.5, 50, 0]
},
"finger_middle_left": {
"rotation": [0, 0, 7.5]
},
"leg_left": {
"rotation": [-40.6299, -29.1905, -7.6552]
},
"knee_left": {
"rotation": [37.5, 0, 0]
},
"foot_left": {
"rotation": [6.4717, -0.6518, 4.9574]
},
"head": {
"rotation": [-22.0182, -4.7511, -24.0751]
},
"finger_middle_left2": {
"rotation": [0, 0, 20]
},
"finger_front_left2": {
"rotation": [0, 0, 15]
},
"finger_back_left": {
"rotation": [0, 0, 27.5]
},
"finger_back_left2": {
"rotation": [0, 0, 40]
},
"shoulder_right": {
"rotation": [0, 0, -22.5]
},
"arm_right": {
"rotation": [0, -12.5, 0]
},
"elbow_right": {
"rotation": [173.5473, -44.2356, -288.0659]
},
"hand_right": {
"rotation": [0, 0, -15]
},
"finger_middle_right": {
"rotation": [0, 0, -15]
},
"finger_middle_right2": {
"rotation": [0, 0, -5]
},
"finger_front_right": {
"rotation": [20.5765, 31.8072, -73.3068],
"position": [0, 0, -0.5]
},
"finger_front_right2": {
"rotation": [0, 0, -50]
},
"finger_back_right": {
"rotation": [-19.2568, -34.3655, -80.4799],
"position": [0, 0, 0.5]
},
"finger_back_right2": {
"rotation": [0, 0, -50]
},
"toe_back_left2": {
"rotation": [-10, 0, 0]
},
"toe_out_left2": {
"rotation": [7.5, 0, 0]
},
"toe_in_left2": {
"rotation": [7.5, 0, 0]
},
"leg_right": {
"rotation": [-38.922, 39.0907, 8.6174]
},
"knee_right": {
"rotation": [37.5, 0, 0]
},
"foot_right": {
"rotation": [7.4593, 0.7817, -5.949]
},
"toe_out_right2": {
"rotation": [7.5, 0, 0]
},
"toe_in_right2": {
"rotation": [7.5, 0, 0]
},
"toe_back_right2": {
"rotation": [-10, 0, 0]
},
"pupil_right": {
"position": [-0.25, 0, 0]
},
"pupil_left": {
"position": [-0.25, 0, 0]
},
"neck": {
"rotation": [0, -4, 0]
},
"tongue": {
"rotation": [-25, 0, 0]
},
"tongue2": {
"rotation": [-10, 25, 0]
},
"tongue3": {
"rotation": [-5, 32.5, 0]
},
"tongue4": {
"rotation": [-5, 45, 0]
},
"tongue5": {
"rotation": [-22.99, 11.5348, -4.8492]
},
"tongue_tip": {
"rotation": [-25.3376, 9.0548, -4.2618]
}
}
}
}
}
@@ -0,0 +1,105 @@
{
"format_version": "1.8.0",
"animations": {
"animation.deerling.ground_idle": {
"loop": true,
"bones": {
"body": {
"position": [0, -0.1, 0]
},
"torso": {
"rotation": [5, 0, 0]
},
"torso2": {
"rotation": [-5, 0, 0]
},
"neck": {
"rotation": [7.5, 0, 0]
},
"ear_left2": {
"rotation": [0, 0, 7.5]
},
"ear_right2": {
"rotation": [0, 0, -7.5]
},
"tail": {
"rotation": [5, 0, 0]
},
"leg_front_left": {
"rotation": [2.5, 0, 0]
},
"foot_front_left": {
"rotation": [-2.5, 0, 0]
},
"leg_back_left": {
"rotation": [2.5, 0, -2.5]
},
"leg_back_left2": {
"rotation": [-2.5, 0, 0]
},
"foot_back_left": {
"rotation": [0, 0, 2.5]
},
"leg_front_right": {
"rotation": [2.5, 0, 0]
},
"foot_front_right": {
"rotation": [-2.5, 0, 0]
},
"leg_back_right": {
"rotation": [2.5, 0, 2.5]
},
"leg_back_right2": {
"rotation": [-2.5, 0, 0]
},
"foot_back_right": {
"rotation": [0, 0, -2.5]
},
"head": {
"rotation": [-7.5, 0, 0]
}
}
},
"animation.deerling.blink": {
"animation_length": 0.1667,
"bones": {
"eyelid_left": {
"position": {
"0.0": [0.1, 0, -0.1],
"0.1667": {"pre": [0.1, 0, -0.1], "post": [0, 0, 0]}
}
},
"eye_left": {
"position": {
"0.0": [-0.1, 0, 0.1],
"0.1667": {"pre": [-0.1, 0, 0.1], "post": [0, 0, 0]}
}
},
"eye_right": {
"position": {
"0.0": [0.1, 0, 0.1],
"0.1667": {"pre": [0.1, 0, 0.1], "post": [0, 0, 0]}
}
},
"eyelid_right": {
"position": {
"0.0": [-0.1, 0, -0.1],
"0.1667": {"pre": [-0.1, 0, -0.1], "post": [0, 0, 0]}
}
},
"eyes_ditto": {
"position": {
"0.0": [0, 0, 0.1],
"0.1667": {"pre": [0, 0, 0.1], "post": [0, 0, 0]}
}
},
"eyes_blink_ditto": {
"position": {
"0.0": [0, 0, -0.1],
"0.1667": {"pre": [0, 0, -0.1], "post": [0, 0, 0]}
}
}
}
}
}
}
@@ -0,0 +1,129 @@
{
"format_version": "1.8.0",
"animations": {
"animation.sawsbuck_autumn.ground_idle": {
"loop": true,
"bones": {
"body": {
"position": [0, -0.4, 0]
},
"head": {
"rotation": [-3, 0, 0]
},
"leg_front_left": {
"rotation": [0, -3, -2]
},
"leg_front_left2": {
"rotation": [0, 0, 0]
},
"leg_front_left3": {
"rotation": [2.5, 0, 0]
},
"foot_front_left": {
"rotation": [-0.5, 0, 2]
},
"leg_back_left": {
"rotation": [-5, -3, -2]
},
"leg_back_left2": {
"rotation": [3, 0, 0]
},
"leg_back_left3": {
"rotation": [-5, 0, 0]
},
"foot_back_left": {
"rotation": [7, -1, 2]
},
"leg_front_right": {
"rotation": [0, 3, 2]
},
"leg_front_right2": {
"rotation": [0, 0, 0]
},
"leg_front_right3": {
"rotation": [2.5, 0, 0]
},
"foot_front_right": {
"rotation": [-0.5, 0, -2]
},
"leg_back_right": {
"rotation": [-5, 3, 2]
},
"leg_back_right2": {
"rotation": [3, 0, 0]
},
"leg_back_right3": {
"rotation": [-5, 0, 0]
},
"foot_back_right": {
"rotation": [7, 1, -2]
},
"ear_left": {
"rotation": [0, 0, -10]
},
"ear_right": {
"rotation": [0, 0, 10]
},
"tail1": {
"rotation": [-3, 0, 0]
},
"tail2": {
"rotation": [-5, 0, 0]
},
"torso": {
"rotation": [5, 0, 0]
},
"torso2": {
"rotation": [-5, 0, 0]
},
"neck": {
"rotation": [-5, 0, 0]
},
"ftorso2": {
"rotation": [-2.5, 0, 0]
}
}
},
"animation.sawsbuck_autumn.blink": {
"animation_length": 0.1667,
"bones": {
"eyelid_left": {
"position": {
"0.0": [0.1, -0.1, 0],
"0.1667": {"pre": [0.1, -0.1, 0], "post": [0, 0, 0]}
}
},
"eyelid_right": {
"position": {
"0.0": [-0.1, -0.1, 0],
"0.1667": {"pre": [-0.1, -0.1, 0], "post": [0, 0, 0]}
}
},
"eye_left": {
"position": {
"0.0": [-0.1, 0.1, 0],
"0.1667": {"pre": [-0.1, 0.1, 0], "post": [0, 0, 0]}
}
},
"eyebrow_left": {
"position": {
"0.0": [-0.1, 0.1, 0],
"0.1667": {"pre": [-0.1, 0.1, 0], "post": [0, 0, 0]}
}
},
"eye_right": {
"position": {
"0.0": [0.1, 0.1, 0],
"0.1667": {"pre": [0.1, 0.1, 0], "post": [0, 0, 0]}
}
},
"eyebrow_right": {
"position": {
"0.0": [0.1, 0.1, 0],
"0.1667": {"pre": [0.1, 0.1, 0], "post": [0, 0, 0]}
}
}
}
}
}
}
@@ -0,0 +1,129 @@
{
"format_version": "1.8.0",
"animations": {
"animation.sawsbuck_spring.ground_idle": {
"loop": true,
"bones": {
"body": {
"position": [0, -0.4, 0]
},
"head": {
"rotation": [-3, 0, 0]
},
"leg_front_left": {
"rotation": [0, -3, -2]
},
"leg_front_left2": {
"rotation": [0, 0, 0]
},
"leg_front_left3": {
"rotation": [2.5, 0, 0]
},
"foot_front_left": {
"rotation": [-0.5, 0, 2]
},
"leg_back_left": {
"rotation": [-5, -3, -2]
},
"leg_back_left2": {
"rotation": [3, 0, 0]
},
"leg_back_left3": {
"rotation": [-5, 0, 0]
},
"foot_back_left": {
"rotation": [7, -1, 2]
},
"leg_front_right": {
"rotation": [0, 3, 2]
},
"leg_front_right2": {
"rotation": [0, 0, 0]
},
"leg_front_right3": {
"rotation": [2.5, 0, 0]
},
"foot_front_right": {
"rotation": [-0.5, 0, -2]
},
"leg_back_right": {
"rotation": [-5, 3, 2]
},
"leg_back_right2": {
"rotation": [3, 0, 0]
},
"leg_back_right3": {
"rotation": [-5, 0, 0]
},
"foot_back_right": {
"rotation": [7, 1, -2]
},
"ear_left": {
"rotation": [0, 0, -10]
},
"ear_right": {
"rotation": [0, 0, 10]
},
"tail1": {
"rotation": [-3, 0, 0]
},
"tail2": {
"rotation": [-5, 0, 0]
},
"torso": {
"rotation": [5, 0, 0]
},
"torso2": {
"rotation": [-5, 0, 0]
},
"neck": {
"rotation": [-5, 0, 0]
},
"ftorso2": {
"rotation": [-2.5, 0, 0]
}
}
},
"animation.sawsbuck_spring.blink": {
"animation_length": 0.1667,
"bones": {
"eyelid_left": {
"position": {
"0.0": [0.1, -0.1, 0],
"0.1667": {"pre": [0.1, -0.1, 0], "post": [0, 0, 0]}
}
},
"eyelid_right": {
"position": {
"0.0": [-0.1, -0.1, 0],
"0.1667": {"pre": [-0.1, -0.1, 0], "post": [0, 0, 0]}
}
},
"eye_left": {
"position": {
"0.0": [-0.1, 0.1, 0],
"0.1667": {"pre": [-0.1, 0.1, 0], "post": [0, 0, 0]}
}
},
"eyebrow_left": {
"position": {
"0.0": [-0.1, 0.1, 0],
"0.1667": {"pre": [-0.1, 0.1, 0], "post": [0, 0, 0]}
}
},
"eye_right": {
"position": {
"0.0": [0.1, 0.1, 0],
"0.1667": {"pre": [0.1, 0.1, 0], "post": [0, 0, 0]}
}
},
"eyebrow_right": {
"position": {
"0.0": [0.1, 0.1, 0],
"0.1667": {"pre": [0.1, 0.1, 0], "post": [0, 0, 0]}
}
}
}
}
}
}
@@ -0,0 +1,141 @@
{
"format_version": "1.8.0",
"animations": {
"animation.sawsbuck_summer.ground_idle": {
"loop": true,
"bones": {
"body": {
"position": [0, -0.4, 0]
},
"head": {
"rotation": [-3, 0, 0]
},
"leg_front_left": {
"rotation": [0, -3, -2]
},
"leg_front_left2": {
"rotation": [0, 0, 0]
},
"leg_front_left3": {
"rotation": [2.5, 0, 0]
},
"foot_front_left": {
"rotation": [-0.5, 0, 2]
},
"leg_back_left": {
"rotation": [-5, -3, -2]
},
"leg_back_left2": {
"rotation": [3, 0, 0]
},
"leg_back_left3": {
"rotation": [-5, 0, 0]
},
"foot_back_left": {
"rotation": [7, -1, 2]
},
"leg_front_right": {
"rotation": [0, 3, 2]
},
"leg_front_right2": {
"rotation": [0, 0, 0]
},
"leg_front_right3": {
"rotation": [2.5, 0, 0]
},
"foot_front_right": {
"rotation": [-0.5, 0, -2]
},
"leg_back_right": {
"rotation": [-5, 3, 2]
},
"leg_back_right2": {
"rotation": [3, 0, 0]
},
"leg_back_right3": {
"rotation": [-5, 0, 0]
},
"foot_back_right": {
"rotation": [7, 1, -2]
},
"ear_left": {
"rotation": [0, 0, -10]
},
"ear_right": {
"rotation": [0, 0, 10]
},
"tail1": {
"rotation": [-3, 0, 0]
},
"tail2": {
"rotation": [-5, 0, 0]
},
"torso": {
"rotation": [5, 0, 0]
},
"torso2": {
"rotation": [-5, 0, 0]
},
"neck": {
"rotation": [-5, 0, 0]
},
"ftorso2": {
"rotation": [-2.5, 0, 0]
},
"bush_left3_summer": {
"rotation": [0, 0, -5]
},
"bush_left4_summer": {
"rotation": [0, 0, -7.5]
},
"bush_right3_summer": {
"rotation": [0, 0, 5]
},
"bush_right4_summer": {
"rotation": [0, 0, 7.5]
}
}
},
"animation.sawsbuck_summer.blink": {
"animation_length": 0.1667,
"bones": {
"eyelid_left": {
"position": {
"0.0": [0.1, -0.1, 0],
"0.1667": {"pre": [0.1, -0.1, 0], "post": [0, 0, 0]}
}
},
"eyelid_right": {
"position": {
"0.0": [-0.1, -0.1, 0],
"0.1667": {"pre": [-0.1, -0.1, 0], "post": [0, 0, 0]}
}
},
"eye_left": {
"position": {
"0.0": [-0.1, 0.1, 0],
"0.1667": {"pre": [-0.1, 0.1, 0], "post": [0, 0, 0]}
}
},
"eyebrow_left": {
"position": {
"0.0": [-0.1, 0.1, 0],
"0.1667": {"pre": [-0.1, 0.1, 0], "post": [0, 0, 0]}
}
},
"eye_right": {
"position": {
"0.0": [0.1, 0.1, 0],
"0.1667": {"pre": [0.1, 0.1, 0], "post": [0, 0, 0]}
}
},
"eyebrow_right": {
"position": {
"0.0": [0.1, 0.1, 0],
"0.1667": {"pre": [0.1, 0.1, 0], "post": [0, 0, 0]}
}
}
}
}
}
}
@@ -0,0 +1,141 @@
{
"format_version": "1.8.0",
"animations": {
"animation.sawsbuck_winter.ground_idle": {
"loop": true,
"bones": {
"body": {
"position": [0, -0.4, 0]
},
"head": {
"rotation": [-3, 0, 0]
},
"leg_front_left": {
"rotation": [0, -3, -2]
},
"leg_front_left2": {
"rotation": [0, 0, 0]
},
"leg_front_left3": {
"rotation": [2.5, 0, 0]
},
"foot_front_left": {
"rotation": [-0.5, 0, 2]
},
"leg_back_left": {
"rotation": [-5, -3, -2]
},
"leg_back_left2": {
"rotation": [3, 0, 0]
},
"leg_back_left3": {
"rotation": [-5, 0, 0]
},
"foot_back_left": {
"rotation": [7, -1, 2]
},
"leg_front_right": {
"rotation": [0, 3, 2]
},
"leg_front_right2": {
"rotation": [0, 0, 0]
},
"leg_front_right3": {
"rotation": [2.5, 0, 0]
},
"foot_front_right": {
"rotation": [-0.5, 0, -2]
},
"leg_back_right": {
"rotation": [-5, 3, 2]
},
"leg_back_right2": {
"rotation": [3, 0, 0]
},
"leg_back_right3": {
"rotation": [-5, 0, 0]
},
"foot_back_right": {
"rotation": [7, 1, -2]
},
"ear_left": {
"rotation": [0, 0, -10]
},
"ear_right": {
"rotation": [0, 0, 10]
},
"tail1": {
"rotation": [-3, 0, 0]
},
"tail2": {
"rotation": [-5, 0, 0]
},
"torso": {
"rotation": [5, 0, 0]
},
"torso2": {
"rotation": [-5, 0, 0]
},
"neck": {
"rotation": [-5, 0, 0]
},
"ftorso2": {
"rotation": [-2.5, 0, 0]
},
"bush_left3_summer": {
"rotation": [0, 0, -5]
},
"bush_left4_summer": {
"rotation": [0, 0, -7.5]
},
"bush_right3_summer": {
"rotation": [0, 0, 5]
},
"bush_right4_summer": {
"rotation": [0, 0, 7.5]
}
}
},
"animation.sawsbuck_winter.blink": {
"animation_length": 0.1667,
"bones": {
"eyelid_left": {
"position": {
"0.0": [0.1, -0.1, 0],
"0.1667": {"pre": [0.1, -0.1, 0], "post": [0, 0, 0]}
}
},
"eyelid_right": {
"position": {
"0.0": [-0.1, -0.1, 0],
"0.1667": {"pre": [-0.1, -0.1, 0], "post": [0, 0, 0]}
}
},
"eye_left": {
"position": {
"0.0": [-0.1, 0.1, 0],
"0.1667": {"pre": [-0.1, 0.1, 0], "post": [0, 0, 0]}
}
},
"eyebrow_left": {
"position": {
"0.0": [-0.1, 0.1, 0],
"0.1667": {"pre": [-0.1, 0.1, 0], "post": [0, 0, 0]}
}
},
"eye_right": {
"position": {
"0.0": [0.1, 0.1, 0],
"0.1667": {"pre": [0.1, 0.1, 0], "post": [0, 0, 0]}
}
},
"eyebrow_right": {
"position": {
"0.0": [0.1, 0.1, 0],
"0.1667": {"pre": [0.1, 0.1, 0], "post": [0, 0, 0]}
}
}
}
}
}
}
@@ -5,105 +5,103 @@
"loop": true,
"bones": {
"neck_left": {
"rotation": [0, 0, 17.5]
"rotation": [17.5, 0, 17.5]
},
"neck_left2": {
"rotation": [-7.28217, -2.57594, -9.6658],
"position": [0, 0, 0.1]
"rotation": [-7.28217, -2.57594, -9.6658]
},
"neck_left3": {
"rotation": [-2.5, 0, -12.5]
"rotation": [-2.4786, 0.3262, -5.0071]
},
"head_left": {
"rotation": [-5, 0, 10]
},
"claw_inner_left": {
"inner_claw_left": {
"rotation": [0, 0, -12.5]
},
"claw_outer_left": {
"outer_claw_left": {
"rotation": [0, 0, 12.5]
},
"neck_right": {
"rotation": [0, 0, -25],
"position": [0, 0, 0]
"rotation": [7.5, 0, -17.5],
"position": [0, -2.5, 0]
},
"neck_right2": {
"rotation": [-5, 0, 17.5],
"position": [-0.75, -2, 0]
"rotation": [12.5, 0, 0]
},
"neck_right3": {
"rotation": [-5, 0, 12.5],
"position": [0, -0.75, 0]
"rotation": [-2.5, 0, 10]
},
"head_right": {
"rotation": [-7.43656, -0.9762, -12.43656]
},
"claw_inner_right": {
"inner_claw_right": {
"rotation": [0, 0, 12.5]
},
"claw_outer_right": {
"outer_claw_right": {
"rotation": [0, 0, -12.5]
},
"head_angle_left": {
"rotation": [0, 0, -7.5]
},
"head_angle_right": {
"rotation": [2.5, 0, 20]
}
}
},
"animation.binacle.blink": {
"animation_length": 0.1667,
"bones": {
"eye_open_inner_left": {
"pupil_outer_left": {
"position": {
"0.0": [0, 0, 0.1],
"0.125": {"pre": [0, 0, 0.1], "post": [0, 0, 0.1]},
"0.1667": {"pre": [0, 0, 0.1], "post": [0, 0, 0]}
}
},
"eye_open_outer_left": {
"position": {
"0.0": [0, 0, 0.1],
"0.125": {"pre": [0, 0, 0.1], "post": [0, 0, 0.1]},
"0.1667": {"pre": [0, 0, 0.1], "post": [0, 0, 0]}
}
},
"eyelid_inner_left": {
"pupil_outer_closed_left": {
"position": {
"0.0": [0, 0, -0.1],
"0.125": {"pre": [0, 0, -0.1], "post": [0, 0, -0.1]},
"0.1667": {"pre": [0, 0, -0.1], "post": [0, 0, 0]}
}
},
"eyelid_outer_left": {
"position": {
"0.0": [0, 0, -0.1],
"0.125": {"pre": [0, 0, -0.1], "post": [0, 0, -0.1]},
"0.1667": {"pre": [0, 0, -0.1], "post": [0, 0, 0]}
}
}
}
},
"animation.binacle.blink2": {
"animation_length": 0.1667,
"bones": {
"eye_open_inner_right": {
"pupil_inner_left": {
"position": {
"0.0": [0, 0, 0.1],
"0.125": {"pre": [0, 0, 0.1], "post": [0, 0, 0.1]},
"0.1667": {"pre": [0, 0, 0.1], "post": [0, 0, 0]}
}
},
"eyelid_inner_right": {
"pupil_inner_closed_left": {
"position": {
"0.0": [0, 0, -0.1],
"0.125": {"pre": [0, 0, -0.1], "post": [0, 0, -0.1]},
"0.1667": {"pre": [0, 0, -0.1], "post": [0, 0, 0]}
}
},
"eye_open_outer_right": {
"pupil_outer_right": {
"position": {
"0.0": [0, 0, 0.1],
"0.125": {"pre": [0, 0, 0.1], "post": [0, 0, 0.1]},
"0.1667": {"pre": [0, 0, 0.1], "post": [0, 0, 0]}
}
},
"eyelid_outer_right": {
"pupil_outer_closed_right": {
"position": {
"0.0": [0, 0, -0.1],
"0.125": {"pre": [0, 0, -0.1], "post": [0, 0, -0.1]},
"0.1667": {"pre": [0, 0, -0.1], "post": [0, 0, 0]}
}
},
"pupil_inner_right": {
"position": {
"0.0": [0, 0, 0.1],
"0.125": {"pre": [0, 0, 0.1], "post": [0, 0, 0.1]},
"0.1667": {"pre": [0, 0, 0.1], "post": [0, 0, 0]}
}
},
"pupil_inner_closed_right": {
"position": {
"0.0": [0, 0, -0.1],
"0.125": {"pre": [0, 0, -0.1], "post": [0, 0, -0.1]},
@@ -115,16 +113,9 @@
"animation.binacle.shock": {
"loop": true,
"bones": {
"eyebrow_inner_left": {
"position": [0, 0.35, 0]
},
"eye_open_inner_left": {
"position": [-0.25, -0.1, 0],
"scale": [0.7, 0.7, 1]
},
"eye_open_outer_left": {
"position": [0.25, -0.1, 0],
"scale": [0.7, 0.7, 1]
"pupil_outer_left": {
"position": [0.15, 0, 0],
"scale": [0.6, 0.6, 1]
},
"mouth_closed_left": {
"position": [0, 0, 0.1]
@@ -132,96 +123,69 @@
"mouth_open_left": {
"position": [0, 0, -0.1]
},
"eye_open_inner_right": {
"position": [0.25, -0.1, 0],
"scale": [0.7, 0.7, 1]
},
"eye_open_outer_right": {
"position": [-0.25, -0.1, 0],
"scale": [0.7, 0.7, 1]
},
"eyebrow_inner_right": {
"position": [0, 0.35, 0]
},
"mouth_closed_right": {
"position": [0, 0, 0.1]
},
"mouth_open_right": {
"position": [0, 0, -0.1]
}
}
},
"animation.binacle.angry": {
"loop": true,
"bones": {
"eyebrow_inner_left": {
"position": [0, -0.15, 0]
},
"eyebrow_inner_right": {
"position": [0, -0.15, 0]
}
}
},
"animation.binacle.sad": {
"loop": true,
"bones": {
"eyebrow_left": {
"position": [0, 0, 0]
"pupil_inner_left": {
"position": [-0.05, 0, 0],
"scale": [0.6, 0.6, 1]
},
"eyebrow_inner_left": {
"position": [0, 0.6, 0]
"pupil_outer_right": {
"position": [-0.15, 0, 0],
"scale": [0.6, 0.6, 1]
},
"eyebrow_right": {
"position": [0, 0, 0]
},
"eyebrow_inner_right": {
"position": [0, 0.6, 0]
"pupil_inner_right": {
"position": [0.05, 0, 0],
"scale": [0.6, 0.6, 1]
}
}
},
"animation.binacle.happy": {
"loop": true,
"bones": {
"eyebrow_inner_left": {
"position": [0, 0.35, 0]
},
"eye_open_inner_left": {
"pupil_outer_left": {
"position": [0, 0, 0.1]
},
"eyelid_happy_inner_left": {
"position": [0, 0, -0.1]
},
"eye_open_outer_left": {
"position": [0, 0, 0.1]
},
"eyelid_happy_outer_left": {
"position": [0, 0, -0.1]
},
"mouth_closed_left": {
"position": [0, 0, 0.1]
},
"mouth_open_left": {
"position": [0, 0, -0.1]
},
"eye_open_inner_right": {
"position": [0, 0, 0.1]
"pupil_outer_closed_left": {
"position": [0, 0.3, -0.1]
},
"eyelid_happy_inner_right": {
"pupil_outer_detail_left": {
"position": [0, 0, -0.1]
},
"eye_open_outer_right": {
"pupil_inner_left": {
"position": [0, 0, 0.1]
},
"eyelid_happy_outer_right": {
"pupil_inner_closed_left": {
"position": [0, 0.3, -0.1]
},
"pupil_inner_detail_left": {
"position": [0, 0, -0.1]
},
"eyebrow_inner_right": {
"position": [0, 0.35, 0]
},
"mouth_closed_right": {
"pupil_outer_right": {
"position": [0, 0, 0.1]
},
"mouth_open_right": {
"pupil_outer_closed_right": {
"position": [0, 0.3, -0.1]
},
"pupil_outer_detail_right": {
"position": [0, 0, -0.1]
},
"pupil_inner_right": {
"position": [0, 0, 0.1]
},
"pupil_inner_closed_right": {
"position": [0, 0.3, -0.1]
},
"pupil_inner_detail_right": {
"position": [0, 0, -0.1]
}
}
@@ -229,33 +193,104 @@
"animation.binacle.hurt": {
"loop": true,
"bones": {
"eye_open_inner_left": {
"pupil_outer_left": {
"position": [0, 0, 0.1]
},
"eyelid_inner_left": {
"rotation": [0, 0, 22.5],
"pupil_outer_closed_left": {
"position": [0, 0, -0.1]
},
"eye_open_outer_left": {
"pupil_outer_closed_left2": {
"position": [0, 0.35, 0]
},
"pupil_inner_left": {
"position": [0, 0, 0.1]
},
"eyelid_outer_left": {
"rotation": [0, 0, -22.5],
"pupil_inner_closed_left": {
"position": [0, 0, -0.1]
},
"eye_open_inner_right": {
"pupil_inner_closed_left2": {
"position": [0, 0.35, 0]
},
"pupil_outer_right": {
"position": [0, 0, 0.1]
},
"eyelid_inner_right": {
"rotation": [0, 0, -22.5],
"pupil_outer_closed_right": {
"position": [0, 0, -0.1]
},
"eye_open_outer_right": {
"pupil_outer_closed_right2": {
"position": [0, 0.35, 0]
},
"pupil_inner_right": {
"position": [0, 0, 0.1]
},
"eyelid_outer_right": {
"rotation": [0, 0, 22.5],
"pupil_inner_closed_right": {
"position": [0, 0, -0.1]
},
"pupil_inner_closed_right2": {
"position": [0, 0.35, 0]
}
}
},
"animation.binacle.render": {
"loop": true,
"bones": {
"neck_left": {
"rotation": [29.6217, -4.9809, 26.1822]
},
"neck_left2": {
"rotation": [-2.28217, -2.57594, -9.6658]
},
"neck_left3": {
"rotation": [-9.9786, 0.3262, -5.0071]
},
"head_left": {
"rotation": [-5, 0, 10]
},
"inner_claw_left": {
"rotation": [0, 0, -12.5]
},
"outer_claw_left": {
"rotation": [0, 0, 12.5]
},
"neck_right": {
"rotation": [-15, 0, -17.5],
"position": [0, -2.5, 0]
},
"neck_right2": {
"rotation": [12.2128, 2.6851, -12.2126]
},
"neck_right3": {
"rotation": [10, 0, 10]
},
"head_right": {
"rotation": [-7.43656, -0.9762, -12.43656]
},
"inner_claw_right": {
"rotation": [0, 0, 12.5]
},
"outer_claw_right": {
"rotation": [0, 0, -12.5]
},
"body": {
"rotation": [0, -12.5, 0]
},
"head_angle_left": {
"rotation": [-12.5, 0, -7.5]
},
"head_angle_right": {
"rotation": [5, 0, 20]
},
"mouth_closed_left": {
"position": [0, 0, 0.3]
},
"mouth_open_left": {
"position": [0, 0, -0.1]
},
"pupil_inner_left": {
"position": [-0.5, 0, 0]
},
"pupil_outer_right": {
"position": [-0.5, 0, 0]
}
}
},
@@ -5,183 +5,241 @@
"loop": true,
"bones": {
"body": {
"position": [0, -5.5, 0]
"position": [0, -4.2, 0]
},
"torso": {
"rotation": [0, 0, 0]
"rotation": [-2.5, 0, 0]
},
"torso2": {
"waist": {
"rotation": [5, 0, 0]
},
"torso3": {
"chest": {
"rotation": [7.5, 0, 0]
},
"arm_left": {
"rotation": [0, 22.5, 35]
"rotation": [0, 5, 35]
},
"arm_left2": {
"rotation": [2.18443, 14.90608, 5.09576]
},
"hand_left": {
"rotation": [0, 17.5, 0]
"rotation": [1.5741, 17.4313, 5.2414]
},
"finger_front_left": {
"rotation": [3.61644, 19.6835, 10.62758]
"rotation": [5.38154, 19.291, 15.91518]
},
"finger_middle_left": {
"rotation": [0, 0, 7.5]
},
"finger_back_left": {
"rotation": [-2.66399, -14.76689, 10.34527]
"rotation": [-4.60669, -14.29059, 18.07777]
},
"arm_right": {
"rotation": [0, -22.5, -35]
"rotation": [0, -5, -35]
},
"arm_right2": {
"rotation": [2.18443, -14.90608, -5.09576]
},
"hand_right": {
"rotation": [0, -17.5, 0]
"rotation": [1.5741, -17.4313, -5.2414]
},
"leg_left": {
"rotation": [-45, -50, -0.00001]
"rotation": [-35, -57.5, -0.00001]
},
"leg_left2": {
"rotation": [55, 0, 0]
"rotation": [40, 0, 0]
},
"foot_left": {
"rotation": [-10, 0, 0]
"rotation": [-5, 0, 0]
},
"leg_right": {
"rotation": [-45, 50, 0.00001]
"rotation": [-35, 57.5, 0.00001]
},
"leg_right2": {
"rotation": [55, 0, 0]
"rotation": [40, 0, 0]
},
"foot_right": {
"rotation": [-10, 0, 0]
"rotation": [-5, 0, 0]
},
"shoulder_arm_left": {
"shoulder_left": {
"rotation": [5, 0, 0]
},
"shoulder_arm_left2": {
"shoulder_left2": {
"rotation": [9.96271, -0.86717, 4.92442]
},
"shoulder_hand_left": {
"rotation": [2.5, 0, 0]
"rotation": [5.0285, 0.2162, 5.0048]
},
"finger_middle_right": {
"rotation": [0, 0, -7.5]
},
"finger_back_right": {
"rotation": [-2.66399, 14.76689, -10.34527]
"rotation": [-4.60669, 14.29059, -18.07777]
},
"shoulder_claw_inner_left": {
"claw_inner_left": {
"rotation": [5, 0, -7.5]
},
"shoulder_claw_middle_left": {
"claw_middle_left": {
"rotation": [5, 0, 0]
},
"shoulder_claw_outer_left": {
"claw_outer_left": {
"rotation": [4.95744, 0.65182, 7.52822]
},
"shoulder_arm_right": {
"shoulder_right": {
"rotation": [5, 0, 0]
},
"shoulder_arm_right2": {
"shoulder_right2": {
"rotation": [9.96271, 0.86717, -4.92442]
},
"shoulder_hand_right": {
"rotation": [2.5, 0, 0]
"rotation": [5.0285, -0.2162, -5.0048]
},
"shoulder_claw_inner_right": {
"claw_inner_right": {
"rotation": [5, 0, 7.5]
},
"shoulder_claw_middle_right": {
"claw_middle_right": {
"rotation": [5, 0, 0]
},
"shoulder_claw_outer_right": {
"claw_outer_right": {
"rotation": [4.95744, -0.65182, -7.52822]
},
"head_finger_left1_3": {
"rotation": [5, 0, 0]
},
"head_finger_left2_3": {
"torso2": {
"rotation": [2.5, 0, 0]
},
"head_finger_right1_3": {
"rotation": [7.5, 0, 0]
"torso3": {
"rotation": [2.5, 0, 0]
},
"head_finger_right2_3": {
"shoulder_arm_left": {
"rotation": [7.7366, -33.7446, 3.8487]
},
"shoulder_arm_left2": {
"rotation": [4.9953, -0.2178, 2.4905]
},
"head_angle": {
"rotation": [5, 0, 0]
},
"head_thumb2": {
"rotation": [-2.50238, -2.49762, 0.10912]
"head_thumb": {
"rotation": [-7.5, 0, 0]
},
"head_thumb3": {
"rotation": [0, -2.5, 0]
"arm_left3": {
"rotation": [3.0947, 22.2971, 8.11]
},
"arm_right3": {
"rotation": [3.0947, -22.2971, -8.11]
},
"shoulder_finger_middle_left": {
"rotation": [2.5, 0, 0]
},
"shoulder_finger_inner_left": {
"rotation": [10, 0, -12.5]
},
"finger_front_right": {
"rotation": [5.38154, -19.291, -15.91518]
},
"shoulder_finger_outer_left": {
"rotation": [9.9627, -0.8672, 14.9244]
},
"shoulder_arm_right": {
"rotation": [7.7366, 33.7446, -3.8487]
},
"shoulder_arm_right2": {
"rotation": [4.9953, 0.2178, -2.4905]
},
"shoulder_finger_inner_right": {
"rotation": [10, 0, 12.5]
},
"shoulder_finger_middle_right": {
"rotation": [2.5, 0, 0]
},
"shoulder_finger_outer_right": {
"rotation": [9.9627, 0.8672, -14.9244]
},
"head_thumb2": {
"rotation": [0, -17.5, 0]
}
}
},
"animation.barbaracle.blink": {
"animation_length": 0.1667,
"bones": {
"eyelid_left": {
"pupil_left": {
"position": {
"0.0": [0, 0, 0.1],
"0.125": {"pre": [0, 0, 0.1], "post": [0, 0, 0.1]},
"0.1667": {"pre": [0, 0, 0.1], "post": [0, 0, 0.1]}
}
},
"pupil_right": {
"position": {
"0.0": [0, 0, 0.1],
"0.125": {"pre": [0, 0, 0.1], "post": [0, 0, 0.1]},
"0.1667": {"pre": [0, 0, 0.1], "post": [0, 0, 0.1]}
}
},
"pupil_closed_left": {
"position": {
"0.0": [0, 0, -0.1],
"0.125": {"pre": [0, 0, -0.1], "post": [0, 0, -0.1]},
"0.1667": {"pre": [0, 0, -0.1], "post": [0, 0, 0]}
}
},
"eyelid_right": {
"pupil_closed_right": {
"position": {
"0.0": [0, 0, -0.1],
"0.125": {"pre": [0, 0, -0.1], "post": [0, 0, -0.1]},
"0.1667": {"pre": [0, 0, -0.1], "post": [0, 0, 0]}
}
}
}
},
"animation.barbaracle.blink2": {
"animation_length": 0.1667,
"bones": {
"shoulder_eyelid_left": {
},
"pupil_shoulder_left": {
"position": {
"0.0": [0, 0, 0.1],
"0.125": {"pre": [0, 0, 0.1], "post": [0, 0, 0.1]},
"0.1667": {"pre": [0, 0, 0.1], "post": [0, 0, 0.1]}
}
},
"pupil_shoulder_closed_left": {
"position": {
"0.0": [0, 0, -0.1],
"0.125": {"pre": [0, 0, -0.1], "post": [0, 0, -0.1]},
"0.1667": {"pre": [0, 0, -0.1], "post": [0, 0, 0]}
}
}
}
},
"animation.barbaracle.blink3": {
"animation_length": 0.1667,
"bones": {
"shoulder_eyelid_right": {
},
"pupil_shoulder_right": {
"position": {
"0.0": [0, 0, 0.1],
"0.125": {"pre": [0, 0, 0.1], "post": [0, 0, 0.1]},
"0.1667": {"pre": [0, 0, 0.1], "post": [0, 0, 0.1]}
}
},
"pupil_shoulder_closed_right": {
"position": {
"0.0": [0, 0, -0.1],
"0.125": {"pre": [0, 0, -0.1], "post": [0, 0, -0.1]},
"0.1667": {"pre": [0, 0, -0.1], "post": [0, 0, 0]}
}
}
}
},
"animation.barbaracle.blink4": {
"animation_length": 0.1667,
"bones": {
"hand_eyelid_left": {
},
"pupil_hand_left": {
"position": {
"0.0": [0, 0.1, 0],
"0.125": {"pre": [0, 0.1, 0], "post": [0, 0.1, 0]},
"0.1667": {"pre": [0, 0.1, 0], "post": [0, 0, 0]}
}
},
"pupil_hand_closed_left": {
"position": {
"0.0": [0, -0.1, 0],
"0.125": {"pre": [0, -0.1, 0], "post": [0, -0.1, 0]},
"0.1667": {"pre": [0, -0.1, 0], "post": [0, 0, 0]}
}
}
}
},
"animation.barbaracle.blink5": {
"animation_length": 0.1667,
"bones": {
"hand_eyelid_right": {
},
"pupil_hand_right": {
"position": {
"0.0": [0, 0.1, 0],
"0.125": {"pre": [0, 0.1, 0], "post": [0, 0.1, 0]},
"0.1667": {"pre": [0, 0.1, 0], "post": [0, 0, 0]}
}
},
"pupil_hand_closed_right": {
"position": {
"0.0": [0, -0.1, 0],
"0.125": {"pre": [0, -0.1, 0], "post": [0, -0.1, 0]},
@@ -194,80 +252,353 @@
"loop": true,
"bones": {
"pupil_left": {
"position": [0, -0.25, 0],
"scale": [1, 0.4, 1]
"position": [0, -0.4, 0],
"scale": [0.6, 0.6, 1]
},
"pupil_right": {
"position": [0, -0.25, 0],
"scale": [1, 0.4, 1]
"position": [0, -0.4, 0],
"scale": [0.6, 0.6, 1]
},
"pupil_shoulder_left": {
"position": [0, -0.5, 0],
"scale": [0.6, 0.6, 1]
},
"pupil_shoulder_closed_left": {
"scale": [1, 0.9, 1]
},
"pupil_shoulder_right": {
"position": [0, -0.5, 0],
"scale": [0.6, 0.6, 1]
},
"pupil_hand_left": {
"position": [-0.5, 0, 0],
"scale": [0.6, 1, 0.6]
},
"pupil_hand_right": {
"position": [0.5, 0, 0],
"scale": [0.6, 1, 0.6]
},
"mouth_closed": {
"position": [0, 0, 0.1]
},
"mouth_open": {
"position": [0, 0, -0.1]
},
"head_eyebrow": {
"position": [0, 0.5, 0]
}
}
},
"animation.barbaracle.angry": {
"loop": true,
"bones": {
"eye_expression_left": {
"position": [0, 0, -0.1]
},
"head_eyebrow": {
"position": [0, 0.2, 0]
},
"eye_expression_right": {
"position": [0, 0, -0.1]
}
}
},
"animation.barbaracle.sad": {
"loop": true,
"bones": {
"eye_expression_left": {
"position": [1, 0.25, -0.1]
},
"eye_expression_right": {
"position": [-1, 0.25, -0.1]
},
"head_eyebrow": {
"position": [0, 0.25, 0]
}
}
},
"animation.barbaracle.happy": {
"loop": true,
"bones": {
"pupil_left": {
"position": [0, 0, 0.1]
},
"pupil_right": {
"position": [0, 0, 0.1]
},
"pupil_closed_left": {
"position": [0, 0, -0.1]
},
"pupil_closed_left3": {
"position": [0, 0, -0.1]
},
"pupil_closed_right": {
"position": [0, 0, -0.1]
},
"pupil_closed_right3": {
"position": [0, 0, -0.1]
},
"pupil_shoulder_left": {
"position": [0, 0, 0.1]
},
"pupil_shoulder_closed_left": {
"position": [0, 0, -0.1]
},
"pupil_shoulder_closed_left3": {
"position": [0, 0, -0.1]
},
"pupil_shoulder_right": {
"position": [0, 0, 0.1]
},
"pupil_shoulder_closed_right": {
"position": [0, 0, -0.1]
},
"pupil_shoulder_closed_right3": {
"position": [0, 0, -0.1]
},
"pupil_hand_left": {
"position": [0, 0.1, 0]
},
"pupil_hand_closed_left": {
"position": [0, -0.1, 0]
},
"pupil_hand_closed_left3": {
"position": [0, -0.1, 0]
},
"pupil_hand_right": {
"position": [0, 0.1, 0]
},
"pupil_hand_closed_right": {
"position": [0, -0.1, 0]
},
"pupil_hand_closed_right3": {
"position": [0, -0.1, 0]
},
"mouth_closed": {
"position": [0, 0, 0.1]
},
"mouth_open": {
"position": [0, 0, -0.1]
},
"head_eyebrow": {
"position": [0, 0.5, 0]
},
"eyelid_happy_left": {
"position": [0, 0, -0.1]
},
"eyelid_happy_right": {
"position": [0, 0, -0.1]
}
}
},
"animation.barbaracle.hurt": {
"loop": true,
"bones": {
"eyelid_recoil_left": {
"pupil_left": {
"position": [0, 0, 0.1]
},
"pupil_right": {
"position": [0, 0, 0.1]
},
"pupil_closed_left1": {
"position": [0, -0.2, 0]
},
"pupil_closed_left": {
"position": [0, 0, -0.1]
},
"eyelid_recoil_right": {
"pupil_closed_left2": {
"position": [0, 0.1, 0]
},
"pupil_closed_right": {
"position": [0, 0, -0.1]
},
"pupil_closed_right1": {
"position": [0, -0.2, 0]
},
"pupil_closed_right2": {
"position": [0, 0.1, 0]
},
"pupil_shoulder_left": {
"position": [0, 0, 0.1]
},
"pupil_shoulder_closed_left": {
"position": [0, 0, -0.1]
},
"pupil_shoulder_closed_left1": {
"position": [0, -0.2, 0]
},
"pupil_shoulder_closed_left2": {
"position": [0, 0.25, 0]
},
"pupil_shoulder_right": {
"position": [0, 0, 0.1]
},
"pupil_shoulder_closed_right": {
"position": [0, 0, -0.1]
},
"pupil_shoulder_closed_right1": {
"position": [0, -0.2, 0]
},
"pupil_shoulder_closed_right2": {
"position": [0, 0.25, 0]
},
"pupil_hand_left": {
"position": [0, 0.1, 0]
},
"pupil_hand_closed_left": {
"position": [0, -0.1, 0]
},
"pupil_hand_closed_left1": {
"position": [-0.15, 0, 0]
},
"pupil_hand_closed_left2": {
"position": [0.25, 0, 0]
},
"pupil_hand_right": {
"position": [0, 0.1, 0]
},
"pupil_hand_closed_right": {
"position": [0, -0.1, 0]
},
"pupil_hand_closed_right1": {
"position": [0.15, 0, 0]
},
"pupil_hand_closed_right2": {
"position": [-0.25, 0, 0]
}
}
},
"animation.barbaracle.render": {
"loop": true,
"bones": {
"body": {
"rotation": [0, 22.5, 0],
"position": [0, -5.15, 0]
},
"torso": {
"rotation": [5, 0, 0]
},
"waist": {
"rotation": [5, 0, 0]
},
"chest": {
"rotation": [7.5, 0, 0]
},
"arm_left": {
"rotation": [11.5511, 18.5668, 36.0517]
},
"arm_left2": {
"rotation": [1.51733, 14.98688, 2.50956]
},
"hand_left": {
"rotation": [2.3567, 17.3455, 7.8596]
},
"finger_front_left": {
"rotation": [-0.00006, 20, -0.00002]
},
"finger_middle_left": {
"rotation": [0, 0, -5]
},
"finger_back_left": {
"rotation": [-4.89709, -24.25639, 18.95427]
},
"arm_right": {
"rotation": [23.7134, 28.0591, -56.9661]
},
"arm_right2": {
"rotation": [0.81923, -20.29228, 10.12704]
},
"hand_right": {
"rotation": [-6.1549, -16.4136, 20.8884]
},
"leg_left": {
"rotation": [-16.2776, -74.3753, -32.88211]
},
"leg_left2": {
"rotation": [40, 0, 0]
},
"foot_left": {
"rotation": [7.4365, -0.9762, 7.4365]
},
"leg_right": {
"rotation": [-32.3785, 61.2987, 14.81371]
},
"leg_right2": {
"rotation": [45, 0, 0]
},
"foot_right": {
"rotation": [0, 0, -7.5]
},
"shoulder_left": {
"rotation": [5, 0, 0]
},
"shoulder_left2": {
"rotation": [9.96271, -0.86717, 4.92442]
},
"shoulder_hand_left": {
"rotation": [5.0285, 0.2162, 5.0048]
},
"finger_middle_right": {
"rotation": [0, 0, -7.5]
},
"finger_back_right": {
"rotation": [-4.60669, 14.29059, -18.07777]
},
"claw_inner_left": {
"rotation": [5, 0, -7.5]
},
"claw_middle_left": {
"rotation": [5, 0, 0]
},
"claw_outer_left": {
"rotation": [4.95744, 0.65182, 7.52822]
},
"shoulder_right": {
"rotation": [5, 0, 0]
},
"shoulder_right2": {
"rotation": [9.96271, 0.86717, -4.92442]
},
"shoulder_hand_right": {
"rotation": [0.0285, -0.2162, -5.0048]
},
"claw_inner_right": {
"rotation": [5, 0, 7.5]
},
"claw_middle_right": {
"rotation": [5, 0, 0]
},
"claw_outer_right": {
"rotation": [4.95744, -0.65182, -7.52822]
},
"torso2": {
"rotation": [0, 0, 0]
},
"torso3": {
"rotation": [-2.5096, -4.9952, 0.2186]
},
"shoulder_arm_left": {
"rotation": [17.5227, -34.4394, 21.9663]
},
"shoulder_arm_left2": {
"rotation": [4.9953, -0.2178, 2.4905]
},
"head_angle": {
"rotation": [5.0047, -2.4905, -0.218]
},
"head_thumb": {
"rotation": [-7.5, 0, 0]
},
"arm_left3": {
"rotation": [2.0675, 22.4097, 5.4096]
},
"arm_right3": {
"rotation": [4.2903, -17.8334, 7.1016]
},
"shoulder_finger_middle_left": {
"rotation": [2.5, 0, 0]
},
"shoulder_finger_inner_left": {
"rotation": [10, 0, -12.5]
},
"finger_front_right": {
"rotation": [5.38154, -19.291, -15.91518]
},
"shoulder_finger_outer_left": {
"rotation": [9.9627, -0.8672, 14.9244]
},
"shoulder_arm_right": {
"rotation": [34.2917, 46.109, -1.4401]
},
"shoulder_arm_right2": {
"rotation": [2.4953, 0.2178, -2.4905]
},
"shoulder_finger_inner_right": {
"rotation": [0, 0, 12.5]
},
"shoulder_finger_middle_right": {
"rotation": [2.5, 0, 0]
},
"shoulder_finger_outer_right": {
"rotation": [9.9627, 0.8672, -14.9244]
},
"head_thumb2": {
"rotation": [0, -17.5, 0]
},
"pupil_right": {
"position": [0.25, 0, 0]
},
"pupil_shoulder_left": {
"position": [-0.5, 0, 0]
},
"pupil_shoulder_right": {
"position": [0.5, 0, 0]
},
"pupil_hand_left": {
"position": [0, 0, -0.5]
},
"pupil_hand_right": {
"position": [0, 0, -0.5]
}
}
},
@@ -0,0 +1,405 @@
{
"format_version": "1.8.0",
"animations": {
"animation.helioptile.ground_idle": {
"loop": true,
"bones": {
"body": {
"position": [0, -0.25, 0]
},
"torso": {
"rotation": ["-2*Math.cos((query.anim_time-0.25) * 90 * 2) *0.5", 0, 0],
"position": [0, 0, "0.25*Math.cos((query.anim_time-0) * 90 * 2) *0.5"]
},
"torso2": {
"rotation": ["-52.5-2*Math.cos((query.anim_time-0.5) * 90 * 2) *0.5", 0, 0]
},
"head": {
"rotation": ["-5-4*Math.cos((query.anim_time-0.75) * 90 * 2) *0.5", 0, 0]
},
"tail": {
"rotation": [
"15-6*Math.cos((query.anim_time-0.25) * 90 * 2) *0.5",
"-4*Math.cos((query.anim_time-0.5) * 90 * 1) *0.5",
"-12*Math.cos((query.anim_time-0.0) * 90 * 1) *0.5"
]
},
"tail2": {
"rotation": ["10-8*Math.cos((query.anim_time-0.5) * 90 * 2) *0.5", 0, "-22*Math.cos((query.anim_time-0.25) * 90 * 1) *0.5"]
},
"leg_right": {
"rotation": [0, 0, "-25-3*Math.cos((query.anim_time-0) * 90 * 2) *0.5"]
},
"leg_right2": {
"rotation": [0, 0, "-70+3*Math.cos((query.anim_time-0) * 90 * 2) *0.5"]
},
"foot_right": {
"rotation": [2.4148, -0.6468, 4.9863]
},
"arm_left": {
"rotation": [43.6985, 41.9981, "54.9995-4*Math.cos((query.anim_time-0.75) * 90 * 2) *0.5"]
},
"arm_left2": {
"rotation": [0, "22.5+3*Math.cos((query.anim_time-0.0) * 90 * 2) *0.5", 0]
},
"hand_left": {
"rotation": [0, 0, 25]
},
"finger_front_left": {
"rotation": [0, 0, 25]
},
"finger_middle_left": {
"rotation": [0, 0, 25]
},
"finger_back_left": {
"rotation": [0, 0, 25]
},
"tail3": {
"rotation": [22.5, 0, "-32*Math.cos((query.anim_time-0.0) * 90 * 1) *0.5"]
},
"tail4": {
"rotation": [27.5, 0, "-42*Math.cos((query.anim_time-0.5) * 90 * 1) *0.5"]
},
"neck": {
"rotation": [-22.5, 0, 0]
},
"arm_right": {
"rotation": [43.6985, -41.9981, "-54.9995+4*Math.cos((query.anim_time-0.75) * 90 * 2) *0.5"]
},
"arm_right2": {
"rotation": [0, "-22.5-3*Math.cos((query.anim_time-0.0) * 90 * 2) *0.5", 0]
},
"hand_right": {
"rotation": [0, 0, -25]
},
"finger_front_right": {
"rotation": [0, 0, -25]
},
"finger_middle_right": {
"rotation": [0, 0, -25]
},
"finger_back_right": {
"rotation": [0, 0, -25]
},
"leg_left": {
"rotation": [0, 0, "25+3*Math.cos((query.anim_time-0) * 90 * 2) *0.5"]
},
"leg_left2": {
"rotation": [0, 0, "70-3*Math.cos((query.anim_time-0) * 90 * 2) *0.5"]
},
"foot_left": {
"rotation": [2.4148, 0.6468, -4.9863]
},
"frill_right": {
"rotation": [0, "-0-6*Math.cos((query.anim_time-0.0) * 90 * 2) *0.5", "-60+4*Math.cos((query.anim_time-0.0) * 90 * 2) *0.5"]
},
"ear_right2": {
"rotation": [0, 0, "-20+4*Math.cos((query.anim_time-0.25) * 90 * 2) *0.5"]
},
"ear_right3": {
"rotation": [0, 0, "-25+4*Math.cos((query.anim_time-0.5) * 90 * 2) *0.5"]
},
"frill_left": {
"rotation": [0, "0+6*Math.cos((query.anim_time-0.0) * 90 * 2) *0.5", "60-4*Math.cos((query.anim_time-0.0) * 90 * 2) *0.5"]
},
"ear_left2": {
"rotation": [0, 0, "20-4*Math.cos((query.anim_time-0.25) * 90 * 2) *0.5"]
},
"ear_left3": {
"rotation": [0, 0, "25-4*Math.cos((query.anim_time-0.5) * 90 * 2) *0.5"]
},
"frill_open_right": {
"scale": 0
},
"frill_open_left": {
"scale": 0
},
"waist": {
"rotation": [82.5, 0, 0]
},
"leg_left_rotation": {
"rotation": [0, 30, 0],
"position": ["0.04*Math.cos((query.anim_time-0) * 90 * 2) *0.5", "0.2*Math.cos((query.anim_time-0) * 90 * 2) *0.5", 0]
},
"leg_right_rotation": {
"rotation": [0, -30, 0],
"position": ["-0.04*Math.cos((query.anim_time-0) * 90 * 2) *0.5", "0.2*Math.cos((query.anim_time-0) * 90 * 2) *0.5", 0]
}
}
},
"animation.helioptile.blink": {
"animation_length": 0.1667,
"bones": {
"eye_left": {
"position": {
"0.0": [0, 0, 0.1],
"0.1667": {"pre": [0, 0, 0.1], "post": [0, 0, 0]}
}
},
"eye_right": {
"position": {
"0.0": [0, 0, 0.1],
"0.1667": {"pre": [0, 0, 0.1], "post": [0, 0, 0]}
}
},
"eyelid_right": {
"position": {
"0.0": [0, 0, -0.1],
"0.1667": {"pre": [0, 0, -0.1], "post": [0, 0, 0]}
}
},
"eyelid_left": {
"position": {
"0.0": [0, 0, -0.1],
"0.1667": {"pre": [0, 0, -0.1], "post": [0, 0, 0]}
}
},
"eyes_ditto": {
"position": [0, 0, 0.1]
},
"eyes_blink_ditto": {
"position": [0, 0, -0.1]
}
}
},
"animation.helioptile.ditto_face": {
"loop": true,
"bones": {
"face": {
"position": [0, 0, 0.1],
"scale": 0
},
"face_ditto": {
"position": [0, 0, -0.1]
}
}
},
"animation.helioptile.pose": {
"loop": true,
"bones": {
"body": {
"rotation": [0, -55, 0]
},
"torso": {
"rotation": [75, 0, 0]
},
"torso2": {
"rotation": [-40, 0, 0]
},
"head": {
"rotation": [-34.3534, 66.6292, -32.4468]
},
"tail": {
"rotation": [27.5, 0, 0]
},
"tail2": {
"rotation": [22.5, 0, 0]
},
"leg_right": {
"rotation": [-2.4616, 6.9887, -30.9789]
},
"leg_right2": {
"rotation": [0, 0, -72.5]
},
"foot_right": {
"rotation": [0, -1, 12.5]
},
"arm_left": {
"rotation": [17.9474, 14.645, 52.325]
},
"arm_left2": {
"rotation": [0, 30, 0]
},
"hand_left": {
"rotation": [0, 0, 27.5]
},
"finger_front_left": {
"rotation": [0, 0, 25]
},
"finger_middle_left": {
"rotation": [0, 0, 25]
},
"finger_back_left": {
"rotation": [0, 0, 25]
},
"tail3": {
"rotation": [-12.5, 0, 0]
},
"tail4": {
"rotation": [-22.5, 0, 0]
},
"neck": {
"rotation": [-27.5, 0, 0]
},
"arm_right": {
"rotation": [17.9474, -14.645, -52.325]
},
"arm_right2": {
"rotation": [0, -30, 0]
},
"hand_right": {
"rotation": [0, 0, -27.5]
},
"finger_front_right": {
"rotation": [0, 0, -25]
},
"finger_middle_right": {
"rotation": [0, 0, -25]
},
"finger_back_right": {
"rotation": [0, 0, -25]
},
"leg_left": {
"rotation": [12.1245, 16.4236, 31.3082]
},
"leg_left2": {
"rotation": [0, 0, 72.5]
},
"foot_left": {
"rotation": [0, 1, -12.5]
},
"frill_right": {
"rotation": [10.8923, -5.1377, -51.2382]
},
"ear_right3": {
"rotation": [0, 0, -17.5]
},
"ear_right2": {
"rotation": [0, 0, -17.5]
},
"frill_left": {
"rotation": [0, 0, 60]
},
"ear_left2": {
"rotation": [0, 0, 20]
},
"ear_left3": {
"rotation": [0, 0, 20]
},
"frill_open_right": {
"scale": 0
},
"frills": {
"scale": 1
},
"frill_open_left": {
"scale": 0
}
}
},
"animation.helioptile.happy": {
"loop": true,
"bones": {
"eye_left": {
"position": [0, 0, 0.1]
},
"eye_right": {
"position": [0, 0, 0.1]
},
"mouth_closed": {
"position": [0, 0, 0.1]
},
"eyelid_happy_right": {
"position": [0, 0, -0.1]
},
"eyelid_happy_left": {
"position": [0, 0, -0.1]
},
"mouth_open_smile": {
"position": [0, 0, -0.1]
}
}
},
"animation.helioptile.angry": {
"loop": true,
"bones": {
"mouth_closed": {
"position": [0, 0, 0.1]
},
"eyelid_angry_right": {
"position": [0, 0, -0.1]
},
"eyelid_angry_left": {
"position": [0, 0, -0.1]
},
"mouth_open": {
"position": [0, 0, -0.1]
}
}
},
"animation.helioptile.sad": {
"loop": true,
"bones": {
"mouth_closed": {
"position": [0, 0, 0.1]
},
"eyelid_sad_right": {
"position": [0, 0, -0.1]
},
"eyelid_sad_left": {
"position": [0, 0, -0.1]
},
"mouth_closed_frown": {
"position": [0, 0, -0.1]
}
}
},
"animation.helioptile.hurt": {
"loop": true,
"bones": {
"eye_left": {
"position": [0, 0, 0.1]
},
"eye_right": {
"position": [0, 0, 0.1]
},
"mouth_closed": {
"position": [0, 0, 0.1]
},
"eyelid_hit_right": {
"position": [0, 0, -0.1]
},
"eyelid_hit_left": {
"position": [0, 0, -0.1]
},
"mouth_open": {
"position": [0, 0, -0.1]
}
}
},
"animation.helioptile.shocked": {
"loop": true,
"bones": {
"mouth_closed": {
"position": [0, 0, 0.1]
},
"mouth_open": {
"position": [0, 0, -0.1]
},
"pupil_left": {
"scale": [0.7, 0.7, 1]
},
"pupil_right": {
"scale": [0.7, 0.7, 1]
}
}
},
"animation.helioptile.annoyed": {
"loop": true,
"bones": {
"mouth_closed": {
"position": [0, 0, 0.1]
},
"eyelid_annoyed_right": {
"position": [0, 0, -0.1]
},
"eyelid_annoyed_left": {
"position": [0, 0, -0.1]
},
"mouth_closed_neutral": {
"position": [0, 0, -0.1]
}
}
}
}
}
@@ -0,0 +1,568 @@
{
"format_version": "1.8.0",
"animations": {
"animation.heliolisk.ground_idle": {
"loop": true,
"bones": {
"torso": {
"rotation": ["15-2*Math.cos((query.anim_time-0.0) * 90 * 2) *0.5", 0, 0],
"position": [0, "0.55*Math.cos((query.anim_time-0) * 90 * 2) *0.5", 0]
},
"tail": {
"rotation": [
"-35-6*Math.cos((query.anim_time-0.0) * 90 * 2) *0.5",
"-4*Math.cos((query.anim_time-0.25) * 90 * 1) *0.5",
"-12*Math.cos((query.anim_time-0.75) * 90 * 1) *0.5"
]
},
"tail2": {
"rotation": ["35-8*Math.cos((query.anim_time-0.25) * 90 * 2) *0.5", 0, "-22*Math.cos((query.anim_time-0.0) * 90 * 1) *0.5"]
},
"tail3": {
"rotation": [42.5, 0, "-32*Math.cos((query.anim_time-0.75) * 90 * 1) *0.5"]
},
"leg_right": {
"rotation": ["-42.5+5*Math.cos((query.anim_time-0) * 90 * 2) *0.5", 37.5, 7.5],
"position": [
"-0.2*Math.cos((query.anim_time-0) * 90 * 2) *0.5",
"0.67*Math.cos((query.anim_time-0) * 90 * 2) *0.5",
"-0.3*Math.cos((query.anim_time-0) * 90 * 2) *0.5"
]
},
"foot_right": {
"rotation": ["-27.5+5*Math.cos((query.anim_time-0) * 90 * 2) *0.5", 7.5, 0]
},
"leg_left": {
"rotation": ["-42.5+5*Math.cos((query.anim_time-0) * 90 * 2) *0.5", -37.5, -7.5],
"position": [
"0.2*Math.cos((query.anim_time-0) * 90 * 2) *0.5",
"0.67*Math.cos((query.anim_time-0) * 90 * 2) *0.5",
"-0.3*Math.cos((query.anim_time-0) * 90 * 2) *0.5"
]
},
"foot_left": {
"rotation": ["-27.5+5*Math.cos((query.anim_time-0) * 90 * 2) *0.5", -7.5, 0]
},
"frill_down_front": {
"rotation": [-45, 0, 0]
},
"frill_down_back": {
"rotation": [45, 0, 0]
},
"frill_down_left": {
"rotation": [0, 0, -45]
},
"frill_down_right": {
"rotation": [0, 0, 45]
},
"arm_left": {
"rotation": [1.89098, 19.11433, "44.07649-4*Math.cos((query.anim_time-0.5) * 90 * 2) *0.5"]
},
"arm_left2": {
"rotation": [0, "40+5*Math.cos((query.anim_time-0.75) * 90 * 2) *0.5", 0]
},
"hand_left_finger": {
"rotation": [0, 0, 22.5]
},
"hand_left_finger2": {
"rotation": [0, 10, 22.5]
},
"hand_left_finger3": {
"rotation": [0, -10, 22.5]
},
"arm_right": {
"rotation": [1.89098, -19.11433, "-44.07649+4*Math.cos((query.anim_time-0.5) * 90 * 2) *0.5"]
},
"arm_right2": {
"rotation": [0, "-40-5*Math.cos((query.anim_time-0.75) * 90 * 2) *0.5", 0]
},
"hand_right_finger": {
"rotation": [0, 0, -22.5]
},
"hand_right_finger2": {
"rotation": [0, -10, -22.5]
},
"hand_right_finger3": {
"rotation": [0, 10, -22.5]
},
"tail4": {
"rotation": ["27.5-18*Math.cos((query.anim_time-0.75) * 90 * 2) *0.5", 0, "-42*Math.cos((query.anim_time-0.25) * 90 * 1) *0.5"]
},
"tail5": {
"rotation": ["-37.5-18*Math.cos((query.anim_time-0.5) * 90 * 2) *0.5", 0, "-42*Math.cos((query.anim_time-0.0) * 90 * 1) *0.5"]
},
"tail6": {
"rotation": ["-37.5-18*Math.cos((query.anim_time-0.25) * 90 * 2) *0.5", 0, "-42*Math.cos((query.anim_time-0.75) * 90 * 1) *0.5"]
},
"toes_left": {
"rotation": ["-15-5*Math.cos((query.anim_time-0) * 90 * 2) *0.5", 0, 0]
},
"toes_right": {
"rotation": ["-15-5*Math.cos((query.anim_time-0) * 90 * 2) *0.5", 0, 0]
},
"hand_left": {
"rotation": [0, 0, "22.5-5*Math.cos((query.anim_time-0.0) * 90 * 2) *0.5"],
"position": [-0.25, 0, 0]
},
"hand_right": {
"rotation": [0, 0, "-22.5+5*Math.cos((query.anim_time-0.0) * 90 * 2) *0.5"],
"position": [0.25, 0, 0]
},
"frills_open": {
"scale": 0
},
"leg_left2": {
"rotation": ["-5*Math.cos((query.anim_time-0) * 90 * 2) *0.5", 0, 0]
},
"eye_unamused_left": {
"scale": 1
},
"eye_angry_left": {
"scale": 0
},
"eye_sad_left": {
"scale": 0
},
"eye_happy_left": {
"scale": 0
},
"eye_recoil_left": {
"scale": 0
},
"eye_surprise_left": {
"scale": 0
},
"eye_blink_left": {
"scale": 0
},
"eye_unamused_right": {
"scale": 1
},
"eye_blink_right": {
"scale": 0
},
"eye_angry_right": {
"scale": 0
},
"eye_sad_right": {
"scale": 0
},
"eye_happy_right": {
"scale": 0
},
"eye_recoil_right": {
"scale": 0
},
"eye_surprise_right": {
"scale": 0
},
"leg_right2": {
"rotation": ["-5*Math.cos((query.anim_time-0) * 90 * 2) *0.5", 0, 0]
},
"torso2": {
"rotation": ["-5-2*Math.cos((query.anim_time-0.25) * 90 * 2) *0.5", 0, 0]
},
"neck": {
"rotation": [0, 0, 0]
},
"head": {
"rotation": ["10-4*Math.cos((query.anim_time-0.75) * 90 * 2) *0.5", 0, 0]
},
"jaw": {
"rotation": ["4-4*Math.cos((query.anim_time-0.0) * 90 * 2) *0.5", 0, 0]
},
"neck2": {
"rotation": ["-7.5-2*Math.cos((query.anim_time-0.5) * 90 * 2) *0.5", 0, 0]
}
}
},
"animation.heliolisk.blink": {
"animation_length": 0.1667,
"bones": {
"ditto_eyelid_left": {
"position": {
"0.0": [0, 0, -0.1],
"0.1667": {"pre": [0, 0, -0.1], "post": [0, 0, 0]}
}
},
"ditto_eyelid_right": {
"position": {
"0.0": [0, 0, -0.1],
"0.1667": {"pre": [0, 0, -0.1], "post": [0, 0, 0]}
}
},
"eyelid_right_neutral": {
"position": {
"0.0": [0.1, 0, 0],
"0.1667": {"pre": [0.1, 0, 0], "post": [0, 0, 0]}
}
},
"eyelid_right_closed": {
"position": {
"0.0": [-0.1, 0, 0],
"0.1667": {"pre": [-0.1, 0, 0], "post": [0, 0, 0]}
}
},
"eyelid_left_neutral": {
"position": {
"0.0": [-0.1, 0, 0],
"0.1667": {"pre": [-0.1, 0, 0], "post": [0, 0, 0]}
}
},
"eyelid_left_closed": {
"position": {
"0.0": [0.1, 0, 0],
"0.1667": {"pre": [0.1, 0, 0], "post": [0, 0, 0]}
}
}
}
},
"animation.heliolisk.ditto_face": {
"loop": true,
"bones": {
"eyes": {
"scale": 0
},
"ditto_eye_left": {
"position": [0.1, 0, 0]
},
"ditto_eye_right": {
"position": [-0.1, 0, 0]
}
}
},
"animation.heliolisk.frill_test": {
"loop": "hold_on_last_frame",
"animation_length": 1,
"bones": {
"torso": {
"rotation": {
"0.0": [7.5, 0, 0],
"0.2917": [7.5, 0, 0],
"0.5": [40, 0, 0]
}
},
"tail": {
"rotation": [-50, 0, 0]
},
"tail2": {
"rotation": [22.5, 0, 0]
},
"tail3": {
"rotation": [22.5, 0, 0]
},
"leg_right": {
"rotation": [-45, 35, 0]
},
"foot_right": {
"rotation": [-30, 0, 0]
},
"leg_left": {
"rotation": [-45, -15, -15],
"position": [1, 0, 0]
},
"foot_left": {
"rotation": [-25, -7.5, 0]
},
"frill_down_front": {
"rotation": [-45, 0, 0]
},
"frill_down_back": {
"rotation": [45, 0, 0]
},
"frill_down_left": {
"rotation": [0, 0, -45]
},
"frill_down_right": {
"rotation": [0, 0, 45]
},
"arm_left": {
"rotation": {
"0.0": [1.89098, 19.11433, 44.07649],
"0.2917": [1.89, 19.11, 44.08],
"0.5": [-90, 0, 17.5]
}
},
"arm_left2": {
"rotation": {
"0.0": [0, 40, 0],
"0.3333": [0, 40, 0],
"0.5": [0, 20, 0]
}
},
"hand_left_finger": {
"rotation": [0, 0, 22.5]
},
"hand_left_finger2": {
"rotation": [0, 10, 22.5]
},
"hand_left_finger3": {
"rotation": [0, -10, 22.5]
},
"arm_right": {
"rotation": {
"0.0": [1.89098, -19.11433, -44.07649],
"0.2917": [1.89, -19.11, -44.08],
"0.5": [-90, 0, -17.5]
}
},
"arm_right2": {
"rotation": {
"0.0": [0, -40, 0],
"0.3333": [0, -40, 0],
"0.5": [0, -20, 0]
}
},
"hand_right_finger": {
"rotation": [0, 0, -22.5]
},
"hand_right_finger2": {
"rotation": [0, -10, -22.5]
},
"hand_right_finger3": {
"rotation": [0, 10, -22.5]
},
"tail4": {
"rotation": [22.5, 0, 0]
},
"tail5": {
"rotation": [22.5, 0, 0]
},
"tail6": {
"rotation": [-22.5, 0, 0]
},
"toes_left": {
"rotation": [-15, 0, 0]
},
"toes_right": {
"rotation": [-15, 0, 0]
},
"torso2": {
"rotation": {
"0.0": [0, 0, 0],
"0.2917": [0, 0, 0],
"0.5": [15, 0, 0]
}
},
"frills_down2": {
"rotation": {
"0.0": [0, 0, 0],
"0.2917": [0, 0, 0],
"0.3333": [-7.5, 0, 0]
},
"position": {
"0.0": [0, 0, 0],
"0.2917": [0, 0, 0],
"0.3333": [0, 0.6, 0]
},
"scale": {
"0.0": [1, 1, 1],
"0.2917": [1, 1, 1],
"0.3333": [2, 0.1, 2],
"0.375": {"pre": [2, 0.1, 2], "post": [0, 0, 0]}
}
},
"hand_left": {
"rotation": [0, 0, 22.5],
"position": [-0.25, 0, 0]
},
"hand_right": {
"rotation": [0, 0, -22.5],
"position": [0.25, 0, 0]
},
"frills_down3": {
"scale": {
"0.0": [1, 1, 1],
"0.4583": {"pre": [1, 1, 1], "post": [0, 0, 0]}
}
},
"head": {
"rotation": {
"0.0": [0, 0, 0],
"0.2917": [0, 0, 0],
"0.5": [-35, 0, 0]
}
},
"jaw": {
"rotation": {
"0.0": [0, 0, 0],
"0.2917": [0, 0, 0],
"0.5": [45, 0, 0]
}
},
"frills_open": {
"rotation": {
"0.0": [0, 0, 0],
"0.3333": {
"pre": [-55, 0, 0],
"post": [-55, 0, 0],
"lerp_mode": "catmullrom"
},
"0.4583": {
"post": [0, 0, 0],
"lerp_mode": "catmullrom"
}
},
"position": {
"0.0": [0, 0, 0],
"0.3333": {
"pre": [0, -5.25, 0],
"post": [0, -5.25, 0],
"lerp_mode": "catmullrom"
},
"0.4583": {
"post": [0, 0, 0],
"lerp_mode": "catmullrom"
}
},
"scale": {
"0.0": [0, 0, 0],
"0.3333": {"pre": [0, 0, 0], "post": [1, 1, 1]}
}
},
"leg_left2": {
"rotation": [0, -10, 0]
},
"eye_unamused_left": {
"scale": 1
},
"eye_angry_left": {
"scale": 0
},
"eye_sad_left": {
"scale": 0
},
"eye_happy_left": {
"scale": 0
},
"eye_recoil_left": {
"scale": 0
},
"eye_surprise_left": {
"scale": 0
},
"eye_blink_left": {
"scale": 0
},
"eye_unamused_right": {
"scale": 1
},
"eye_blink_right": {
"scale": 0
},
"eye_angry_right": {
"scale": 0
},
"eye_sad_right": {
"scale": 0
},
"eye_happy_right": {
"scale": 0
},
"eye_recoil_right": {
"scale": 0
},
"eye_surprise_right": {
"scale": 0
},
"frills_down": {
"scale": {
"0.375": [1, 1, 1],
"0.4167": [0, 0, 0]
}
}
}
},
"animation.heliolisk.happy": {
"loop": true,
"bones": {
"jaw": {
"rotation": [30, 0, 0]
},
"eyelid_right_neutral": {
"position": [0.1, 0, 0]
},
"eyelid_right_happy": {
"position": [-0.1, 0, 0]
},
"eyelid_left_neutral": {
"position": [-0.1, 0, 0]
},
"eyelid_left_happy": {
"position": [0.1, 0, 0]
}
}
},
"animation.heliolisk.angry": {
"loop": true,
"bones": {
"eyelid_right_neutral": {
"position": [0.1, 0, 0]
},
"eyelid_right_angry": {
"position": [-0.1, 0, 0]
},
"eyelid_left_neutral": {
"position": [-0.1, 0, 0]
},
"eyelid_left_angry": {
"position": [0.1, 0, 0]
}
}
},
"animation.heliolisk.sad": {
"loop": true,
"bones": {
"eyelid_right_neutral": {
"position": [0.1, 0, 0]
},
"eyelid_right_sad": {
"position": [-0.1, 0, 0]
},
"eyelid_left_neutral": {
"position": [-0.1, 0, 0]
},
"eyelid_left_sad": {
"position": [0.1, 0, 0]
}
}
},
"animation.heliolisk.hurt": {
"loop": true,
"bones": {
"jaw": {
"rotation": [30, 0, 0]
},
"eyelid_right_neutral": {
"position": [0.1, 0, 0]
},
"eyelid_right_hit": {
"position": [-0.1, 0, 0]
},
"eyelid_left_neutral": {
"position": [-0.1, 0, 0]
},
"eyelid_left_hit": {
"position": [0.1, 0, 0]
}
}
},
"animation.heliolisk.annoyed": {
"loop": true,
"bones": {
"eyelid_right_neutral": {
"position": [0.1, 0, 0]
},
"eyelid_right_annoyed": {
"position": [-0.1, 0, 0]
},
"eyelid_left_neutral": {
"position": [-0.1, 0, 0]
},
"eyelid_left_annoyed": {
"position": [0.1, 0, 0]
}
}
}
}
}
@@ -0,0 +1,355 @@
{
"format_version": "1.8.0",
"animations": {
"animation.grubbin.ground_idle": {
"loop": true,
"bones": {
"head": {
"rotation": ["5+math.sin(q.anim_time*90*6)", "0+0.5*math.sin(q.anim_time*90*3)", 0]
},
"tail": {
"rotation": [0, 0, 0]
},
"body": {
"rotation": [0, 0, 0]
},
"midsection": {
"rotation": [0, 0, 0]
}
}
},
"animation.grubbin.ground_walk": {
"loop": true,
"bones": {
"midsection": {
"rotation": ["0-0.5*math.sin(q.anim_time*90*6)*3", 0, 0]
},
"head": {
"rotation": ["0-math.sin(q.anim_time*90*6)*1", 0, 0]
},
"tail": {
"rotation": ["0+math.sin(q.anim_time*90*6)*3", 0, 0]
},
"arm_left": {
"rotation": ["0+math.sin(q.anim_time*90*6-90+180)*15", 0, "0-math.sin(q.anim_time*90*6+33*6)*5"]
},
"arm_right": {
"rotation": ["0+math.sin(q.anim_time*90*6-90+180)*15", 0, "0+math.sin(q.anim_time*90*6+33*6)*5"]
},
"leg_front_right": {
"rotation": ["0+math.sin(q.anim_time*90*6)*15", 0, "0-math.sin(q.anim_time*90*6+33*6+30)*5"]
},
"leg_back_right": {
"rotation": ["0+math.sin(q.anim_time*90*6-90+180+30)*15", 0, "0-math.sin(q.anim_time*90*6+33*6+15)*5"]
},
"leg_front_left": {
"rotation": ["0+math.sin(q.anim_time*90*6)*15", 0, "0+math.sin(q.anim_time*90*6+33*6+30)*5"]
},
"leg_back_left": {
"rotation": ["0+math.sin(q.anim_time*90*6-90+180+30)*15", 0, "0+math.sin(q.anim_time*90*6+33*6+15)*5"]
}
}
},
"animation.grubbin.blink": {
"animation_length": 0.1667,
"bones": {
"eye_right": {
"position": {
"0.0": [0.1, 0, 0],
"0.125": {"pre": [0.1, 0, 0], "post": [0, 0, 0]}
}
},
"eye_left": {
"position": {
"0.0": [-0.1, 0, 0],
"0.125": {"pre": [-0.1, 0, 0], "post": [0, 0, 0]}
}
},
"eyelid_left": {
"position": {
"0.0": [0.1, 0, 0],
"0.125": {"pre": [0.1, 0, 0], "post": [0, 0, 0]}
}
},
"eyelid_right": {
"position": {
"0.0": [-0.1, 0, 0],
"0.125": {"pre": [-0.1, 0, 0], "post": [0, 0, 0]}
}
},
"ditto_eyelid_left": {
"position": {
"0.0": [0.1, 0, 0],
"0.125": {"pre": [0.1, 0, 0], "post": [0, 0, 0]}
}
},
"ditto_eyelid_right": {
"position": {
"0.0": [-0.1, 0, 0],
"0.125": {"pre": [-0.1, 0, 0], "post": [0, 0, 0]}
}
}
}
},
"animation.grubbin.cry": {
"animation_length": 0.75,
"bones": {
"head": {
"rotation": {
"0.0": [0, 0, 0],
"0.125": [-15, 0, 0],
"0.1667": [-17.5, 0, 0],
"0.5417": [-17.78, 0, 0],
"0.625": [-15, 0, 0],
"0.75": [0, 0, 0]
}
},
"mouth_opened": {
"position": {
"0.0": [0, 0, 0],
"0.0417": {"pre": [0, 0, 0], "post": [0, -0.1, -0.1]},
"0.5417": {"pre": [0, -0.1, -0.1], "post": [0, 0, 0]}
}
},
"ditto_mouth": {
"position": {
"0.0": [0, 0, 0],
"0.0417": {"pre": [0, 0, 0], "post": [0, 0, 0.1]},
"0.5417": {"pre": [0, 0, 0.1], "post": [0, 0, 0]}
}
},
"ditto_mouth_open": {
"position": {
"0.0": [0, 0, 0],
"0.0417": {"pre": [0, 0, 0], "post": [0, 0, -0.1]},
"0.5417": {"pre": [0, 0, -0.1], "post": [0, 0, 0]}
}
}
}
},
"animation.grubbin.physical": {
"animation_length": 3,
"bones": {
"body": {
"rotation": {
"0.0": {
"post": [0, 0, 0],
"lerp_mode": "catmullrom"
},
"0.4167": {
"post": [-27.5, 10, 0],
"lerp_mode": "catmullrom"
},
"0.75": {
"post": [0, 22.5, 0],
"lerp_mode": "catmullrom"
},
"1.0417": {
"post": [0, 22.5, 0],
"lerp_mode": "catmullrom"
},
"1.25": {
"post": [0, 42.5, 0],
"lerp_mode": "catmullrom"
}
},
"position": {
"0.0": [0, 0, 0],
"0.4167": [-1, 1.75, 0.5],
"0.75": [0, 0, -1],
"1.0417": [0, 0, -1],
"1.25": [-1.5, 0, 0.25]
}
},
"midsection": {
"rotation": {
"0.0": {
"post": [0, 0, 0],
"lerp_mode": "catmullrom"
},
"0.4167": {
"post": [-2.2978, -6.6486, -3.4787],
"lerp_mode": "catmullrom"
},
"0.5833": {
"post": [-16.2925, -11.2398, -1.9568],
"lerp_mode": "catmullrom"
},
"0.6667": {
"post": [7.5, -15, 0],
"lerp_mode": "catmullrom"
},
"0.8333": {
"post": [0, -15, 0],
"lerp_mode": "catmullrom"
},
"1.0417": {
"post": [0, -15, 0],
"lerp_mode": "catmullrom"
},
"1.1667": {
"post": [-14.8142, -19.5172, 7.932],
"lerp_mode": "catmullrom"
},
"1.25": {
"post": [-23.1652, 9.2223, 1.9727],
"lerp_mode": "catmullrom"
}
},
"position": {
"0.0": [0, 0, 0],
"0.4167": [0, 0, 0],
"1.0417": [0, 0, 0]
}
},
"head": {
"rotation": {
"0.0": {
"post": [5, 0, 0],
"lerp_mode": "catmullrom"
},
"0.4167": {
"post": [-35.4132, -8.1778, 5.7751],
"lerp_mode": "catmullrom"
},
"0.75": {
"post": [12.1359, -10.4967, 1.6011],
"lerp_mode": "catmullrom"
},
"1.0417": {
"post": [12.1359, -10.4967, 1.6011],
"lerp_mode": "catmullrom"
},
"1.125": {
"post": [15.8612, -20.7049, 0.1476],
"lerp_mode": "catmullrom"
},
"1.2083": {
"post": [12.8861, -24.0031, 4.9488],
"lerp_mode": "catmullrom"
},
"1.25": {
"post": [-26.1035, 22.5432, -2.3104],
"lerp_mode": "catmullrom"
}
}
},
"mandible_left": {
"rotation": {
"0.0": [0, 0, 0],
"0.5417": [0, -26.88, 0],
"0.6667": [0, -26.88, 0],
"0.7083": [0, 15, 0],
"1.0833": [0, 15, 0]
}
},
"mandible_right": {
"rotation": {
"0.0": [0, 0, 0],
"0.5417": [0, 26.88, 0],
"0.6667": [0, 26.88, 0],
"0.7083": [0, -15, 0],
"1.0833": [0, -15, 0]
}
},
"arm_left": {
"rotation": {
"0.0": [0, 0, 0],
"1.5": [37.5, 0, 0]
}
},
"arm_right": {
"rotation": {
"0.0": [0, 0, 0],
"1.5": [37.5, 0, 0]
}
},
"leg_front_left": {
"rotation": {
"0.0": [0, 0, 0],
"0.3333": [27.5, 0, 0],
"0.5833": [27.5, 0, 0],
"0.7083": [0, 0, 0]
},
"position": {
"0.0": [0, 0, 0],
"0.3333": [0, -0.44351, 0.23087],
"0.5833": [0, -0.44351, 0.23087],
"0.7083": [0, 0, 0]
}
},
"leg_front_right": {
"rotation": {
"0.0": [0, 0, 0],
"0.3333": [27.5, 0, 0],
"0.5833": [27.5, 0, 0],
"0.7083": [0, 0, 0]
},
"position": {
"0.0": [0, 0, 0],
"0.3333": [0, -0.44351, 0.23087],
"0.5833": [0, -0.44351, 0.23087],
"0.7083": [0, 0, 0]
}
},
"tail": {
"rotation": {
"0.0": {
"post": [0, 0, 0],
"lerp_mode": "catmullrom"
},
"0.4167": {
"post": [27.5, 0, 0],
"lerp_mode": "catmullrom"
},
"0.75": {
"post": [0, 0, 0],
"lerp_mode": "catmullrom"
},
"1.0417": {
"post": [0, 0, 0],
"lerp_mode": "catmullrom"
}
}
}
}
},
"animation.grubbin.new": {
"loop": true,
"bones": {
"grubbin": {
"scale": 0.75
}
}
},
"animation.grubbin.ditto_face": {
"loop": true,
"bones": {
"eye_right": {
"scale": 0
},
"mandible_left": {
"position": [0.5, 0, 0]
},
"mandible_right": {
"position": [-0.5, 0, 0]
},
"ditto_eye_left": {
"position": [0.1, 0, 0]
},
"ditto_mouth": {
"position": [0, 0, -0.1]
},
"ditto_eye_right": {
"position": [-0.1, 0, 0]
},
"ditto_mouth_open": {
"position": [0, 0, -0.1]
},
"face": {
"scale": 0
}
}
}
}
}
@@ -0,0 +1,98 @@
{
"format_version": "1.8.0",
"animations": {
"animation.charjabug.ground_idle": {
"loop": true
},
"animation.charjabug.blink": {
"loop": true
},
"animation.charjabug.cry": {
"animation_length": 0.75,
"bones": {
"mouth_closed": {
"position": {
"0.0": [0, 0, 0],
"0.0833": {"pre": [0, 0, 0], "post": [0, 0, 0.1]},
"0.625": {"pre": [0, 0, 0.1], "post": [0, 0, 0]}
}
},
"ditto_mouth_open": {
"position": {
"0.0": [0, 0, 0],
"0.0833": {"pre": [0, 0, 0], "post": [0, 0, -0.1]},
"0.625": {"pre": [0, 0, -0.1], "post": [0, 0, 0]}
}
},
"mouth_open": {
"position": {
"0.0": [0, 0, 0],
"0.0833": {"pre": [0, 0, 0], "post": [0, 0, -0.1]},
"0.625": {"pre": [0, 0, -0.1], "post": [0, 0, 0]}
}
},
"ditto_mouth": {
"position": {
"0.0": [0, 0, 0],
"0.0833": {"pre": [0, 0, 0], "post": [0, 0, 0.1]},
"0.625": {"pre": [0, 0, 0.1], "post": [0, 0, 0]}
}
}
}
},
"animation.charjabug.ditto_face": {
"animation_length": 0.2083,
"bones": {
"face": {
"scale": 0
},
"ditto_eyes": {
"position": [0, 0, -0.1]
},
"ditto_mouth": {
"position": [0, 0, -0.1]
},
"ditto_mouth_open": {
"position": [0, 0, -0.1]
},
"ditto_mouth_uwu": {
"position": [0, 0, -0.1]
}
}
},
"animation.charjabug..3.": {
"loop": true,
"bones": {
"ditto_eye_left": {
"position": [0, -0.5, 0]
},
"ditto_mouth": {
"position": [0, 0, 0.1]
},
"ditto_eye_right": {
"position": [0, -0.5, 0]
},
"ditto_mouth_uwu": {
"position": [0, 0, -0.1]
}
}
},
"animation.charjabug.hold_item": {
"loop": true,
"bones": {
"locator_item": {
"rotation": [0, 0, -90],
"position": [0, 0.25, 2.5]
}
}
},
"animation.charjabug.hold_tool": {
"loop": true,
"bones": {
"locator_item": {
"position": [0, 0.25, 2.5]
}
}
}
}
}
@@ -0,0 +1,392 @@
{
"format_version": "1.8.0",
"animations": {
"animation.vikavolt.ground_walk": {
"loop": true,
"bones": {
"arm_right": {
"rotation": ["0+math.sin(q.anim_time*90*3+90)*3", 0, 15]
},
"forearm_right": {
"rotation": ["-29+math.sin(q.anim_time*90*3)*8", -15, -8]
},
"leg_right": {
"rotation": ["-20+math.sin(q.anim_time*90*3+90)*2", 0, 0]
},
"foreleg_right": {
"rotation": ["20+math.sin(q.anim_time*90*3)*10", 0, 0]
},
"back_wing_left": {
"rotation": ["4.9967+math.sin(q.anim_time*90*60)*10", 4.54585, "0.416+math.sin(q.anim_time*90*60)*10"]
},
"back_wing_right": {
"rotation": ["4.9967+math.sin(q.anim_time*90*60)*10", -4.5458, "-0.416-math.sin(q.anim_time*90*60)*10"]
},
"front_wing_left": {
"rotation": ["0+math.sin(q.anim_time*90)*5", 0, "0+math.sin(q.anim_time*90)*5"]
},
"front_wing_right": {
"rotation": ["0+math.sin(q.anim_time*90)*5", 0, "0-math.sin(q.anim_time*90)*5"]
},
"foot_claw_right": {
"rotation": ["0-math.sin(q.anim_time*90*3+90)*5", 0, 0]
},
"arm_left": {
"rotation": ["0+math.sin(q.anim_time*90*3)*3", 0, -15]
},
"forearm_left": {
"rotation": ["-29+math.sin(q.anim_time*90*3+90)*8", 15, 8]
},
"leg_left": {
"rotation": ["-20+math.sin(q.anim_time*90*3)*2", 0, 0]
},
"foreleg_left": {
"rotation": ["20+math.sin(q.anim_time*90*3+20)*10", 0, 0]
},
"foot_claw_left": {
"rotation": ["0-math.sin(q.anim_time*90*3)*5", 0, 0]
},
"claw_left": {
"rotation": [32.5, 0, 0]
},
"claw_right": {
"rotation": [32.5, 0, 0]
},
"back_wing_shell_left": {
"rotation": ["59+2*math.sin(q.anim_time*90)*2", 14, 33]
},
"back_wing_shell_right": {
"rotation": ["59+2*math.sin(q.anim_time*90)*2", -14, -33]
},
"body": {
"rotation": ["15+math.sin(q.anim_time*90*2)*2", 0, 0],
"position": ["0+math.sin(q.anim_time*90*1)*0.25", "math.sin(q.anim_time*90*4)*2", "0+math.sin(q.anim_time*90*2)*3"]
},
"mandible_left": {
"rotation": [0, "-2+math.sin(q.anim_time*90)*2", 0]
},
"mandible_right": {
"rotation": [0, "2-math.sin(q.anim_time*90)*2", 0]
},
"elytron_open_left": {
"rotation": ["59+2*math.sin(q.anim_time*90)*2", 14, 43]
},
"elytron_open_right": {
"rotation": ["59+2*math.sin(q.anim_time*90)*2", -14, -43]
},
"elytra_closed": {
"scale": 0
},
"wing_left": {
"rotation": ["4.9967+math.sin(q.anim_time*90*60)*10", 4.54585, "0.416+math.sin(q.anim_time*90*60)*10"]
},
"leg_front_left1": {
"rotation": ["0+math.sin(q.anim_time*90*3)*3 - +42.5", 0, -15]
},
"leg_front_left2": {
"rotation": ["-29+math.sin(q.anim_time*90*3+90)*8 - 2.5", 15, 8]
},
"foot_front_left": {
"rotation": [10, 0, 0]
},
"finger_left1": {
"rotation": [0, -27.5, 0]
},
"finger_left2": {
"rotation": [0, 27.5, 0]
},
"leg_front_right1": {
"rotation": ["0+math.sin(q.anim_time*90*3+90)*3 - +42.5", 0, 15]
},
"leg_front_right2": {
"rotation": ["-29+math.sin(q.anim_time*90*3)*8 - 2.5", -15, -8]
},
"foot_front_right": {
"rotation": [10, 0, 0]
},
"finger_right1": {
"rotation": [0, 27.5, 0]
},
"finger_right2": {
"rotation": [0, -27.5, 0]
},
"leg_back_left1": {
"rotation": ["-20+math.sin(q.anim_time*90*3)*2 - +42.5", 0, 0]
},
"leg_back_left2": {
"rotation": ["20+math.sin(q.anim_time*90*3+20)*10", 0, 0]
},
"toe_left1": {
"rotation": ["0-math.sin(q.anim_time*90*3)*5 - +47.5", 0, 0]
},
"leg_back_right1": {
"rotation": ["-20+math.sin(q.anim_time*90*3+90)*2 - +42.5", 0, 0]
},
"leg_back_right2": {
"rotation": ["20+math.sin(q.anim_time*90*3)*10", 0, 0]
},
"toe_right1": {
"rotation": ["0-math.sin(q.anim_time*90*3+90)*5 - +47.5", 0, 0]
},
"mouth_opened": {
"position": [0, 1, 1]
},
"wing_right": {
"rotation": ["4.9967+math.sin(q.anim_time*90*60)*10", -4.54585, "-0.416-math.sin(q.anim_time*90*60)*10"]
}
}
},
"animation.vikavolt.blink": {
"animation_length": 0.1667,
"bones": {
"eyelid_left": {
"position": {
"0.0": [0.1, 0, -0.1],
"0.125": {"pre": [0.1, 0, -0.1], "post": [0, 0, 0]}
}
},
"eyelid_right": {
"position": {
"0.0": [-0.1, 0, -0.1],
"0.125": {"pre": [-0.1, 0, -0.1], "post": [0, 0, 0]}
}
},
"ditto_eyelid_left": {
"position": {
"0.0": [0, 0, -0.1],
"0.125": {"pre": [0, 0, -0.1], "post": [0, 0, 0]}
}
},
"ditto_eyelid_right": {
"position": {
"0.0": [0, 0, -0.1],
"0.125": {"pre": [0, 0, -0.1], "post": [0, 0, 0]}
}
}
}
},
"animation.vikavolt.elytra_opening": {
"loop": "hold_on_last_frame",
"animation_length": 0.2083,
"bones": {
"elytron_open_left": {
"rotation": {
"0.0833": [-10.2206, -1.5794, 25.815],
"0.125": [40.33, 9.52, 32.21],
"0.2083": [61.82843, 14, 43]
},
"position": {
"0.0": [0, 0, 0],
"0.0833": [2, 0, 0],
"0.125": [0, 0, 0]
},
"scale": {
"0.0": [0, 0, 0],
"0.0833": {"pre": [0, 0, 0], "post": [1.2, 1, 1.1]},
"0.1667": [1, 1, 1]
}
},
"elytron_open_right": {
"rotation": {
"0.0833": [-10.2206, 1.5794, -25.815],
"0.125": [40.33, -9.52, -32.21],
"0.2083": [61.82843, -14, -43]
},
"position": {
"0.0": [0, 0, 0],
"0.0833": [-2, 0, 0],
"0.125": [0, 0, 0]
},
"scale": {
"0.0": [0, 0, 0],
"0.0833": {"pre": [0, 0, 0], "post": [1.2, 1, 1.1]},
"0.1667": [1, 1, 1]
}
},
"elytra_closed": {
"scale": {
"0.0": [1, 1, 1],
"0.0833": {"pre": [1, 1, 1], "post": [0, 0, 0]}
}
},
"wing_left": {
"rotation": {
"0.0833": [-5, 0, 0],
"0.125": [0, 0, 0]
},
"scale": {
"0.0": [0, 0, 0],
"0.0833": {"pre": [0, 0, 0], "post": [0.6, 1, 1]},
"0.125": [1, 1, 1]
}
},
"wing_fold_left1": {
"rotation": {
"0.0833": [-1.3185, -9.9136, 7.6143],
"0.125": [0, 0, 0]
},
"scale": {
"0.0833": [0.8, 1, 0.7],
"0.125": [1, 1, 1]
}
},
"wing_fold_left2": {
"rotation": {
"0.0833": [0, -30, 0],
"0.125": [0, 0, 0]
}
},
"wing_fold_left3": {
"rotation": {
"0.0833": [0, -27.5, 0],
"0.1667": [0, 0, 0]
}
},
"wing_right": {
"rotation": {
"0.0833": [-5, 0, 0],
"0.125": [0, 0, 0]
},
"scale": {
"0.0": [0, 0, 0],
"0.0833": {"pre": [0, 0, 0], "post": [0.6, 1, 1]},
"0.125": [1, 1, 1]
}
},
"wing_fold_right1": {
"rotation": {
"0.0833": [-1.3185, 9.9136, -7.6143],
"0.125": [0, 0, 0]
},
"scale": {
"0.0833": [0.8, 1, 0.7],
"0.125": [1, 1, 1]
}
},
"wing_fold_right2": {
"rotation": {
"0.0833": [0, 30, 0],
"0.125": [0, 0, 0]
}
},
"wing_fold_right3": {
"rotation": {
"0.0833": [0, 27.5, 0],
"0.1667": [0, 0, 0]
}
}
}
},
"animation.vikavolt.ditto_face": {
"loop": true,
"bones": {
"face": {
"scale": 0
},
"ditto_face": {
"position": [0, 0, -1]
}
}
},
"animation.vikavolt.new": {
"loop": true,
"bones": {
"elytron_open_left": {
"rotation": [0, 0, 10]
},
"elytron_open_right": {
"rotation": [0, 0, -10]
},
"leg_front_left1": {
"rotation": [42.5, 0, 0]
},
"leg_front_left2": {
"rotation": [-2.5, 0, 0]
},
"foot_front_left": {
"rotation": [-40, 0, 0]
},
"finger_left1": {
"rotation": [0, -27.5, 0]
},
"finger_left2": {
"rotation": [0, 27.5, 0]
},
"leg_front_right1": {
"rotation": [42.5, 0, 0]
},
"leg_front_right2": {
"rotation": [-2.5, 0, 0]
},
"foot_front_right": {
"rotation": [-40, 0, 0]
},
"finger_right1": {
"rotation": [0, 27.5, 0]
},
"finger_right2": {
"rotation": [0, -27.5, 0]
},
"leg_back_left1": {
"rotation": [42.5, 0, 0]
},
"toe_left1": {
"rotation": [47.5, 0, 0]
},
"leg_back_right1": {
"rotation": [42.5, 0, 0]
},
"toe_right1": {
"rotation": [47.5, 0, 0]
}
}
},
"animation.vikavolt.cry": {
"animation_length": 1,
"bones": {
"head": {
"rotation": {
"0.0": [0, 0, 0],
"0.1667": [-10.5, 0, 0],
"0.5417": [-10.78, 0, 0],
"0.75": [0, 0, 0]
}
},
"mandible_left": {
"rotation": {
"0.0": [0, 0, 0],
"0.1667": [0, -12.5, 0],
"0.5417": [0, -12.5, 0],
"0.75": [0, 0, 0]
}
},
"mandible_right": {
"rotation": {
"0.0": [0, 0, 0],
"0.1667": [0, 12.5, 0],
"0.5417": [0, 12.5, 0],
"0.75": [0, 0, 0]
}
},
"mouth_opened": {
"position": {
"0.0": [0, 0, 0],
"0.125": {"pre": [0, 0, 0], "post": [0, -0.1, -0.1]},
"0.625": {"pre": [0, -0.1, -0.1], "post": [0, 0, 0]}
}
}
}
},
"animation.vikavolt.hold_item": {
"loop": true,
"bones": {
"foot_front_left": {
"rotation": [0, 0, 30]
},
"foot_front_right": {
"rotation": [0, 0, -30]
}
}
}
}
}
@@ -0,0 +1,504 @@
{
"format_version": "1.8.0",
"animations": {
"animation.eternatus.ground_idle": {
"loop": true,
"bones": {
"segment1": {
"rotation": [-32.5, 0, 0]
},
"segment2": {
"rotation": [2.5, 0, 0]
},
"segment3": {
"rotation": [0, 0, 0]
},
"segment4": {
"rotation": [0, 0, 0]
},
"segment5": {
"rotation": [10, 0, 0]
},
"segment6": {
"rotation": [5.00598, 0.23113, 0.0704]
},
"segment7": {
"rotation": [5, 0, 0]
},
"segment8": {
"rotation": [7.5, 0, 0]
},
"segment9": {
"rotation": [10, 0, 0]
},
"segment10": {
"rotation": [5, 0, 0]
},
"segment11": {
"rotation": [7.5, 0, 0]
},
"head": {
"rotation": [10, 0, 0]
},
"tail": {
"rotation": [5, 0, 0]
},
"tail2": {
"rotation": [10, 0, 0]
},
"leg_left": {
"rotation": [29.62165, 4.98093, -43.6822]
},
"leg_left2": {
"rotation": [42.5, 0, 0]
},
"foot_left": {
"rotation": [-57.5, 0, 0]
},
"foot_left_outer_connector": {
"rotation": [5, -5, 0]
},
"foot_left_inner_connector": {
"rotation": [2.5, 5, 0]
},
"tail3": {
"rotation": [7.5, 0, 0]
},
"tail4": {
"rotation": [5, 0, 0]
},
"tail5": {
"rotation": [7.5, 0, 0]
},
"tail6": {
"rotation": [10, 0, 0]
},
"tail7": {
"rotation": [10, 0, 0]
},
"tail8": {
"rotation": [15, 0, 0]
},
"tail9": {
"rotation": [2.5, 0, 0]
},
"tail10": {
"rotation": [-10, 0, 0]
},
"tail11": {
"rotation": [-5, 0, 0]
},
"tail12": {
"rotation": [-12.5, 0, 0]
},
"tail14": {
"rotation": [-17.5, 0, 0]
},
"leg_right": {
"rotation": [29.62165, -4.98093, 43.6822]
},
"leg_right2": {
"rotation": [42.5, 0, 0]
},
"foot_right": {
"rotation": [-57.5, 0, 0]
},
"foot_right_outer_connector": {
"rotation": [5, 5, 0]
},
"foot_right_inner_connector": {
"rotation": [2.5, -5, 0]
},
"shoulder_left": {
"rotation": [14.57882, 4.4989, 6.49638]
},
"arm_left2": {
"rotation": [-87.1353, 13.82792, -26.73636]
},
"hand_left": {
"rotation": [-65, 0, 0]
},
"hand_left_inner_connector": {
"rotation": [17.75313, -9.53274, 14.46487]
},
"hand_left_outer_connector": {
"rotation": [5.04292, 7.4713, -9.3426]
},
"shoulder_right": {
"rotation": [14.57882, -4.4989, -6.49638]
},
"arm_right_rotation": {
"rotation": [-148.22251, -326.24309, 176.48816]
},
"arm_right2": {
"rotation": [-87.1353, -13.82792, 26.73636]
},
"hand_right": {
"rotation": [-65, 0, 0]
},
"hand_right_inner_connector": {
"rotation": [17.75313, 9.53274, -14.46487]
},
"hand_right_outer_connector": {
"rotation": [5.04292, -7.4713, 9.3426]
},
"arm_left_rotation": {
"rotation": [-148.22251, 326.24309, -176.48816]
},
"jaw": {
"rotation": [5, 0, 0]
},
"wing_right": {
"rotation": [12.13627, -5.89979, -1.09342]
},
"wing_right2": {
"rotation": [7.5, 0, 0]
},
"wing_right3": {
"rotation": [-3.26042, 3.83514, 0.08715]
},
"wing_right4": {
"rotation": [-17.5, 0, 0]
},
"wing_right5": {
"rotation": [-15, 0, 0]
},
"wing_right6": {
"rotation": [-20, 0, 0]
},
"wing_right7": {
"rotation": [-27.5, 0, 0]
},
"wing_right8": {
"rotation": [-30, 0, 0]
},
"wing_right9": {
"rotation": [-22.5, 0, 0]
},
"dynamax_core": {
"rotation": [-2.5, 0, 0],
"position": [0, -1, 0]
},
"body": {
"position": [0, 8, 0]
},
"helmet_middle_back": {
"rotation": [-2.5, 0, 0]
},
"helmet_middle_back2": {
"rotation": [-27.5, 0, 0]
},
"helmet_left_back": {
"rotation": [-12.5, 0, 0]
},
"helmet_left_back2": {
"rotation": [-27.5, 0, 0]
},
"helmet_left_side_back": {
"rotation": [-17.5, 0, 0]
},
"helmet_left_side_back2": {
"rotation": [-27.5, 0, 0]
},
"helmet_right_back": {
"rotation": [-12.5, 0, 0]
},
"helmet_right_back2": {
"rotation": [-27.5, 0, 0]
},
"helmet_right_side_back": {
"rotation": [-17.5, 0, 0]
},
"helmet_right_side_back2": {
"rotation": [-27.5, 0, 0]
},
"wing_left": {
"rotation": [12.13627, 5.89979, 1.09342]
},
"wing_left2": {
"rotation": [7.5, 0, 0]
},
"wing_left3": {
"rotation": [-3.26042, -3.83514, -0.08715]
},
"wing_left4": {
"rotation": [-17.5, 0, 0]
},
"wing_left5": {
"rotation": [-15, 0, 0]
},
"wing_left6": {
"rotation": [-20, 0, 0]
},
"wing_left7": {
"rotation": [-27.5, 0, 0]
},
"wing_left8": {
"rotation": [-30, 0, 0]
},
"wing_left9": {
"rotation": [-22.5, 0, 0]
},
"dynamax_core2": {
"rotation": [0, 20, 0]
}
}
},
"animation.eternatus.render": {
"loop": true,
"bones": {
"segment1": {
"rotation": [-32.5, 0, 0]
},
"segment2": {
"rotation": [2.5, 0, 0]
},
"segment3": {
"rotation": [0, 0, 0]
},
"segment4": {
"rotation": [0, 0, 0]
},
"segment5": {
"rotation": [10, 0, 0]
},
"segment6": {
"rotation": [5.04628, -7.24011, -0.58744]
},
"segment7": {
"rotation": [5.59258, -10.10994, -2.64915]
},
"segment8": {
"rotation": [7.56397, -7.43547, -0.98448]
},
"segment9": {
"rotation": [5.15108, -9.84655, -1.75378]
},
"segment10": {
"rotation": [5.019, -4.98093, -0.43688]
},
"segment11": {
"rotation": [7.56397, -7.43547, -0.98448]
},
"head": {
"rotation": [24.93633, 2.01462, 1.76973]
},
"tail": {
"rotation": [12.54624, 4.88119, 1.08482]
},
"tail2": {
"rotation": [10, 0, 0]
},
"leg_left": {
"rotation": [-0.37835, 4.98093, -43.6822]
},
"leg_left2": {
"rotation": [72.5, 0, 0]
},
"foot_left": {
"rotation": [-78.84365, 5.17029, -17.42958]
},
"foot_left_outer_connector": {
"rotation": [5.79056, -4.05734, -9.98684]
},
"foot_left_inner_connector": {
"rotation": [2.5, 5, 0]
},
"tail3": {
"rotation": [17.75313, 9.53274, 3.03513]
},
"tail4": {
"rotation": [5.00474, 2.49048, 0.21803]
},
"tail5": {
"rotation": [7.56397, 7.43547, 0.98448]
},
"tail6": {
"rotation": [10.08453, 7.38542, 1.30962]
},
"tail7": {
"rotation": [10.08453, 7.38542, 1.30962]
},
"tail8": {
"rotation": [15.01365, 2.41476, 0.64743]
},
"tail9": {
"rotation": [2.50238, 2.49762, 0.10912]
},
"tail10": {
"rotation": [-10.03742, 4.92385, -0.87038]
},
"tail11": {
"rotation": [-5, 0, 0]
},
"tail12": {
"rotation": [-12.5, 0, 0]
},
"tail14": {
"rotation": [-17.5, 0, 0]
},
"leg_right": {
"rotation": [4.62165, -4.98093, 43.6822]
},
"leg_right2": {
"rotation": [62.5, 0, 0]
},
"foot_right": {
"rotation": [-57.5, 0, 0]
},
"foot_right_outer_connector": {
"rotation": [5, 5, 0]
},
"foot_right_inner_connector": {
"rotation": [3.13198, -4.631, -7.5175]
},
"shoulder_left": {
"rotation": [14.57882, 4.4989, 6.49638]
},
"arm_left2": {
"rotation": [-63.93039, 38.79021, -25.18356]
},
"hand_left": {
"rotation": [-68.53128, 13.12479, -30.00135]
},
"hand_left_inner_connector": {
"rotation": [0, 0, 15]
},
"hand_left_outer_connector": {
"rotation": [6.78391, 8.82892, -32.03435]
},
"shoulder_right": {
"rotation": [15.17846, -16.58312, -9.7551]
},
"arm_right_rotation": {
"rotation": [-151.61575, -337.07507, 169.37921]
},
"arm_right2": {
"rotation": [-87.1353, -13.82792, 26.73636]
},
"hand_right": {
"rotation": [-64.46949, 11.31255, 5.35254]
},
"hand_right_inner_connector": {
"rotation": [17.75313, 9.53274, -14.46487]
},
"hand_right_outer_connector": {
"rotation": [5.04292, -7.4713, 9.3426]
},
"arm_left_rotation": {
"rotation": [-128.22251, 326.24309, -176.48816]
},
"jaw": {
"rotation": [2.5, 0, 0]
},
"wing_right": {
"rotation": [30.32378, -4.30729, -2.5217]
},
"wing_right2": {
"rotation": [15.0547, 4.82922, 1.29717]
},
"wing_right3": {
"rotation": [19.2159, -3.33473, -2.06573]
},
"wing_right4": {
"rotation": [-17.64168, -7.15102, 2.26708]
},
"wing_right5": {
"rotation": [-15.12353, -7.24305, 1.95155]
},
"wing_right6": {
"rotation": [-20.28356, -9.39129, 3.45118]
},
"wing_right7": {
"rotation": [-27.70212, -6.64851, 3.47875]
},
"wing_right8": {
"rotation": [-30.02363, -2.16489, 1.2506]
},
"wing_right9": {
"rotation": [-22.5, 0, 0]
},
"dynamax_core": {
"rotation": [-2.5, 0, 0],
"position": [0, -1, 0]
},
"body": {
"rotation": [-15.78465, 52.06147, -22.36262],
"position": [0, 8, 0]
},
"helmet_middle_back": {
"rotation": [-2.5, 0, 0]
},
"helmet_middle_back2": {
"rotation": [-27.5, 0, 0]
},
"helmet_left_back": {
"rotation": [-12.5, 0, 0]
},
"helmet_left_back2": {
"rotation": [-27.5, 0, 0]
},
"helmet_left_side_back": {
"rotation": [-17.5, 0, 0]
},
"helmet_left_side_back2": {
"rotation": [-27.5, 0, 0]
},
"helmet_right_back": {
"rotation": [-12.5, 0, 0]
},
"helmet_right_back2": {
"rotation": [-27.5, 0, 0]
},
"helmet_right_side_back": {
"rotation": [-17.5, 0, 0]
},
"helmet_right_side_back2": {
"rotation": [-27.5, 0, 0]
},
"wing_left": {
"rotation": [-0.67748, -3.66641, -1.84018]
},
"wing_left2": {
"rotation": [10, 0, 0]
},
"wing_left3": {
"rotation": [4.23958, -3.83514, -0.08715]
},
"wing_left4": {
"rotation": [-17.5, 0, 0]
},
"wing_left5": {
"rotation": [-15, 0, 0]
},
"wing_left6": {
"rotation": [-20, 0, 0]
},
"wing_left7": {
"rotation": [-27.5, 0, 0]
},
"wing_left8": {
"rotation": [-30, 0, 0]
},
"wing_left9": {
"rotation": [-22.5, 0, 0]
},
"dynamax_core2": {
"rotation": [0, 20, 0]
},
"helmet_middle": {
"rotation": [-12.5, 0, 0]
},
"hand_left_inner": {
"rotation": [20, -12.5, 0]
},
"hand_left_outer": {
"rotation": [0, 27.5, 0]
},
"shoulder_right_rotation": {
"rotation": [7.66443, 10.4648, 24.61406]
}
}
}
}
}
@@ -90,15 +90,6 @@
"rotation": ["0+Math.cos((query.anim_time) * 90 * 1) * 1", -15, 0],
"position": [-6, -8.75, -1]
},
"face": {
"rotation": ["0+Math.cos((query.anim_time) * 90 * 1) * -1", 0, 0]
},
"eyelid_left": {
"position": [0, 0, -0.1]
},
"eyelid_right": {
"position": [0, 0, -0.1]
},
"petal_top_rotation": {
"rotation": [27.5, 0, 0]
},
@@ -106,7 +97,7 @@
"rotation": [37.5, 0, 0]
},
"petal_bottom_rotation": {
"rotation": ["-87.5+Math.cos((query.anim_time) * 90 * 1) * -1", -2, 0]
"rotation": ["-87.5+Math.cos((query.anim_time) * 90 * 1) * -1", 0, 0]
},
"petal_top_left_rotation": {
"rotation": [0, 0, 12.5]
@@ -116,7 +107,7 @@
},
"petal_bottom_left_rotation": {
"rotation": [-28.82946, -40.7758, -7.94616],
"position": [0.5, -1, 0]
"position": [0.5, -0.5, 0]
},
"petal_bottom_left2": {
"rotation": [-20, 0, 0]
@@ -130,7 +121,7 @@
},
"petal_bottom_right1": {
"rotation": [-14.54771, 55.75322, 13.84827],
"position": [-0.25, -1, 0]
"position": [-0.25, -0.5, 0]
},
"petal_bottom_right2": {
"rotation": [-22.5, 0, 0]
@@ -146,6 +137,12 @@
},
"tail": {
"rotation": [-15, 22.5, 0]
},
"eyelid_left": {
"position": [0.75, 0, -0.1]
},
"eyelid_right": {
"position": [-0.75, 0, -0.1]
}
}
},
@@ -259,26 +256,6 @@
"2.25": [1, 1, 1]
}
},
"eyelid_left": {
"position": {
"0.0": [0, 0, 0],
"0.0417": [0, 0, -0.1],
"0.5417": [0, 0, -0.1],
"0.5833": [0, 0, 0],
"2.0": [0, 0, 0],
"2.0417": [0, 0, -0.1]
}
},
"eyelid_right": {
"position": {
"0.0": [0, 0, 0],
"0.0417": [0, 0, -0.1],
"0.5417": [0, 0, -0.1],
"0.5833": [0, 0, 0],
"2.0": [0, 0, 0],
"2.0417": [0, 0, -0.1]
}
},
"petal_top_rotation": {
"rotation": {
"0.0": [0, 0, 0],
@@ -467,30 +444,122 @@
"2.7083": [30, 0, 0],
"2.7917": [27.5, 0, 0]
}
}
}
},
"animation.glimmet.blink": {
"animation_length": 0.16667,
"bones": {
},
"eyelid_left": {
"position": {
"0.0": [0, 0, -0.1],
"0.125": [0, 0, -0.1],
"0.1667": [0, 0, 0]
"0.0": [0, 0, 0],
"0.0417": {"pre": [0, 0, 0], "post": [0.75, 0, -0.1]},
"0.5417": {"pre": [0.75, 0, -0.1], "post": [0.75, 0, -0.1]},
"0.5833": {"pre": [0.75, 0, -0.1], "post": [0, 0, 0]},
"2.0": {"pre": [0, 0, 0], "post": [0, 0, 0]},
"2.0417": {"pre": [0, 0, 0], "post": [0.75, 0, -0.1]}
}
},
"eyelid_right": {
"position": {
"0.0": [0, 0, 0],
"0.0417": {"pre": [0, 0, 0], "post": [-0.75, 0, -0.1]},
"0.5417": {"pre": [-0.75, 0, -0.1], "post": [-0.75, 0, -0.1]},
"0.5833": {"pre": [-0.75, 0, -0.1], "post": [0, 0, 0]},
"2.0": {"pre": [0, 0, 0], "post": [0, 0, 0]},
"2.0417": {"pre": [0, 0, 0], "post": [-0.75, 0, -0.1]}
}
}
}
},
"animation.glimmet.blink": {
"animation_length": 0.1667,
"bones": {
"eye_left": {
"position": {
"0.0": [0, 0, 0.1],
"0.1667": {
"pre": [0, 0, 0.1],
"post": [0, 0, 0.1]
}
}
},
"eyelid_left": {
"position": {
"0.0": [0.75, 0, -0.1],
"0.1667": {
"pre": [0.75, 0, -0.1],
"post": [0, 0, 0]
}
}
},
"eye_right": {
"position": {
"0.0": [0, 0, 0.1],
"0.1667": {
"pre": [0, 0, 0.1],
"post": [0, 0, 0.1]
}
}
},
"eyelid_right": {
"position": {
"0.0": [-0.75, 0, -0.1],
"0.1667": {
"pre": [-0.75, 0, -0.1],
"post": [0, 0, 0]
}
}
},
"eyes_ditto": {
"position": {
"0.0": [0, 0, 0.1],
"0.1667": {
"pre": [0, 0, 0.1],
"post": [0, 0, 0]
}
}
},
"eyes_blink_ditto": {
"position": {
"0.0": [0, 0, -0.1],
"0.125": [0, 0, -0.1],
"0.1667": [0, 0, 0]
"0.1667": {
"pre": [0, 0, -0.1],
"post": [0, 0, 0]
}
}
},
"eye_blink_ditto_right": {
"position": {
"0.0": [-0.1, 0, 0],
"0.1667": {
"pre": [-0.1, 0, 0],
"post": [-0.1, 0, 0]
}
},
"scale": {
"0.0": [0.9, 0.9, 1],
"0.1667": {
"pre": [0.9, 0.9, 1],
"post": [0.9, 0.9, 1]
}
}
},
"eye_blink_ditto_left": {
"position": {
"0.0": [0.1, 0, 0],
"0.1667": {
"pre": [0.1, 0, 0],
"post": [0.1, 0, 0]
}
},
"scale": {
"0.0": [0.9, 0.9, 1],
"0.1667": {
"pre": [0.9, 0.9, 1],
"post": [0.9, 0.9, 1]
}
}
}
}
},
"animation.glimmet.cry": {
"animation_length": 1.33333,
"animation_length": 1.3333,
"bones": {
"body": {
"rotation": {
@@ -549,6 +618,18 @@
"effect": "pokemon.glimmet.cry"
}
}
},
"animation.glimmet.ditto_face": {
"loop": true,
"bones": {
"eyes": {
"position": [0, 0, 0.1],
"scale": 0
},
"face_ditto": {
"position": [0, 0, -0.1]
}
}
}
}
}
@@ -0,0 +1,143 @@
{
"format_version": "1.8.0",
"animations": {
"animation.greavard.ground_idle": {
"loop": true,
"bones": {
"torso": {
"rotation": [-2.5, 0, 0]
},
"head": {
"rotation": [5, 0, 0]
},
"flame": {
"rotation": [-6.396, -1.4932, -3.5407]
},
"jaw": {
"rotation": [5, 0, 0]
},
"tail": {
"rotation": [30, 0, 0]
},
"tail2": {
"rotation": [-25, 0, 0]
},
"leg_back_left": {
"rotation": [0, -10, 0]
},
"leg_front_left": {
"rotation": [0, -10, 0]
},
"ear_left3": {
"rotation": [0, 0, 5]
},
"ear_right3": {
"rotation": [0, 0, -5]
},
"leg_front_right": {
"rotation": [0, 10, 0]
},
"leg_back_right": {
"rotation": [0, 10, 0]
}
}
},
"animation.greavard.blink": {
"animation_length": 0.1667,
"bones": {
"eyes_ditto": {
"position": {
"0.0": [0, 0, 0.1],
"0.1667": {"pre": [0, 0, 0.1], "post": [0, 0, 0.1]}
}
},
"eyes_blink_ditto": {
"position": {
"0.0": [0, 0, -0.1],
"0.1667": {"pre": [0, 0, -0.1], "post": [0, 0, -0.1]}
}
}
}
},
"animation.greavard.ditto_face": {
"loop": true,
"bones": {
"face_ditto": {
"position": [0, 0, -2]
}
}
},
"animation.greavard.render": {
"loop": true,
"bones": {
"body": {
"rotation": [-8.6777, -50.2226, 17.5229]
},
"torso": {
"rotation": [-5, 0, 0]
},
"head": {
"rotation": [-3.6244, 2.5104, -16.9265]
},
"flame": {
"rotation": [-8.7816, 43.1603, -9.7404]
},
"jaw": {
"rotation": [32.5, 0, 0]
},
"tongue": {
"rotation": [-17.5628, 4.768, -1.507],
"position": [0, 0, 1]
},
"fur_flap_back": {
"rotation": [2.5, 0, 0]
},
"tail": {
"rotation": [47.5, 0, 0]
},
"tail2": {
"rotation": [-12.5, 0, 0]
},
"leg_back_left": {
"rotation": [2.5, -10, 0],
"position": [0, -0.5, 0]
},
"foot_back_left": {
"rotation": [45, 0, 0]
},
"leg_front_left": {
"rotation": [-7.5, -10, 0]
},
"foot_front_left": {
"rotation": [32.5767, -9.9616, -0.8804]
},
"ear_right": {
"rotation": [0, 0, 10]
},
"ear_right2": {
"rotation": [0, 0, -5]
},
"ear_right3": {
"rotation": [0, 0, -5]
},
"leg_front_right": {
"rotation": [5, 10, 0]
},
"foot_front_right": {
"rotation": [-37.8662, -8.8899, 10.6778]
},
"leg_back_right": {
"rotation": [10.4241, 9.5567, 2.4967],
"position": [0, -0.5, 0]
},
"foot_back_right": {
"rotation": [5, 0, 0]
},
"tongue2": {
"rotation": [25, 0, 0],
"position": [0, 0, -5]
}
}
}
}
}
@@ -0,0 +1,388 @@
{
"format_version": "1.8.0",
"animations": {
"animation.houndstone.ground_idle": {
"loop": true,
"bones": {
"torso": {
"rotation": [-2, 0, 0]
},
"fur_flaps_side_front_left2": {
"rotation": [0, 0, -8]
},
"fur_flaps_front_left": {
"rotation": [3, 0, 0]
},
"fur_flaps_front_left2": {
"rotation": [-10, 0, 0]
},
"tail": {
"rotation": [55, 0, 0]
},
"tail2": {
"rotation": [-35.5, 0, 0]
},
"head_angle": {
"rotation": [5, 0, 0]
},
"the_houndstone": {
"rotation": [-5, 0, 2]
},
"hair_left": {
"rotation": [-5, 0, -5]
},
"hair_left2": {
"rotation": [-1, 0, 2]
},
"hair_left3": {
"rotation": [0, 0, -18]
},
"jaw": {
"rotation": [10, 0, 0]
},
"leg_front_left": {
"rotation": [0, -5, 0]
},
"toe_front_middle_left": {
"rotation": [8, 0, 0]
},
"toe_front_middle_left2": {
"rotation": [-5, 0, 0]
},
"fur_flaps_back_left": {
"rotation": [-5, 0, 0]
},
"fur_flaps_back_left2": {
"rotation": [13, 0, 0]
},
"fur_flaps_back_right": {
"rotation": [-5, 0, 0]
},
"fur_flaps_back_right2": {
"rotation": [13, 0, 0]
},
"fur_flaps_front_right": {
"rotation": [3, 0, 0]
},
"fur_flaps_front_right2": {
"rotation": [-10, 0, 0]
},
"fur_flaps_side_middle_left": {
"rotation": [0, 0, 2]
},
"fur_flaps_side_middle_left2": {
"rotation": [0, 0, -8]
},
"fur_flaps_side_back_left": {
"rotation": [0, 0, 3]
},
"fur_flaps_side_back_left2": {
"rotation": [0, 0, -3]
},
"fur_flaps_side_front_right2": {
"rotation": [0, 0, 8]
},
"fur_flaps_side_middle_right": {
"rotation": [0, 0, -2]
},
"fur_flaps_side_back_right": {
"rotation": [0, 0, -3]
},
"fur_flaps_side_back_right2": {
"rotation": [0, 0, 3]
},
"hair_right": {
"rotation": [-5, 0, 5]
},
"hair_right2": {
"rotation": [-1, 0, 0]
},
"hair_right3": {
"rotation": [0, 0, 10]
},
"toe_front_inner_left": {
"rotation": [8, 2, 0]
},
"toe_front_inner_left2": {
"rotation": [-5, 0, 0]
},
"toe_front_outer_left": {
"rotation": [8, -2, 0]
},
"toe_front_outer_left2": {
"rotation": [-5, 0, 0]
},
"leg_front_right": {
"rotation": [0, 5, 0]
},
"toe_front_inner_right": {
"rotation": [8, -2, 0]
},
"toe_front_inner_right2": {
"rotation": [-5, 0, 0]
},
"toe_front_middle_right": {
"rotation": [8, 0, 0]
},
"toe_front_middle_right2": {
"rotation": [-5, 0, 0]
},
"toe_front_outer_right": {
"rotation": [8, 2, 0]
},
"toe_front_outer_right2": {
"rotation": [-5, 0, 0]
},
"leg_back_left": {
"rotation": [0, -8, 0]
},
"toe_back_inner_left": {
"rotation": [8, 2, 0]
},
"toe_back_inner_left2": {
"rotation": [-5, 0, 0]
},
"toe_back_middle_left": {
"rotation": [8, 0, 0]
},
"toe_back_middle_left2": {
"rotation": [-5, 0, 0]
},
"toe_back_outer_left": {
"rotation": [8, -2, 0]
},
"toe_back_outer_left2": {
"rotation": [-5, 0, 0]
},
"leg_back_right": {
"rotation": [0, 8, 0]
},
"toe_back_inner_right": {
"rotation": [8, -2, 0]
},
"toe_back_inner_right2": {
"rotation": [-5, 0, 0]
},
"toe_back_middle_right": {
"rotation": [8, 0, 0]
},
"toe_back_middle_right2": {
"rotation": [-5, 0, 0]
},
"toe_back_outer_right": {
"rotation": [8, 2, 0]
},
"toe_back_outer_right2": {
"rotation": [-5, 0, 0]
}
}
},
"animation.houndstone.blink": {
"animation_length": 0.1667,
"bones": {
"eyes_blink_ditto": {
"position": {
"0.0": [0, 0, -0.1],
"0.1667": {"pre": [0, 0, -0.1], "post": [0, 0, 0]}
}
}
}
},
"animation.houndstone.ditto_face": {
"loop": true,
"bones": {
"face_ditto": {
"position": [0, 0, -0.1]
}
}
},
"animation.houndstone.pose": {
"loop": true,
"bones": {
"body": {
"rotation": [0, 45, 0]
},
"torso": {
"rotation": [5, 0, -2]
},
"fur_flaps_side_front_left2": {
"rotation": [0, 0, -8]
},
"fur_flaps_front_left": {
"rotation": [3, 0, 0]
},
"fur_flaps_front_left2": {
"rotation": [-10, 0, 0]
},
"tail": {
"rotation": [61, 15, 23]
},
"tail2": {
"rotation": [-20.5, 12, -4]
},
"head_angle": {
"rotation": [-5, -12, 1]
},
"the_houndstone": {
"rotation": [-8, 0, 2]
},
"hair_left": {
"rotation": [-5, 0, -7]
},
"hair_left2": {
"rotation": [-1, 0, 2]
},
"hair_left3": {
"rotation": [0, 0, -28]
},
"jaw": {
"rotation": [13, 0, 0]
},
"leg_front_left": {
"rotation": [0, -13, 0],
"position": [1, 0, 1]
},
"toe_front_middle_left": {
"rotation": [8, 0, 0]
},
"toe_front_middle_left2": {
"rotation": [-5, 0, 0]
},
"fur_flaps_back_left": {
"rotation": [-5, 0, 0]
},
"fur_flaps_back_left2": {
"rotation": [13, 0, 0]
},
"fur_flaps_back_right": {
"rotation": [-5, 0, 0]
},
"fur_flaps_back_right2": {
"rotation": [13, 0, 0]
},
"fur_flaps_front_right": {
"rotation": [3, 0, 0]
},
"fur_flaps_front_right2": {
"rotation": [-10, 0, 0]
},
"fur_flaps_side_middle_left": {
"rotation": [0, 0, 2]
},
"fur_flaps_side_middle_left2": {
"rotation": [0, 0, -8]
},
"fur_flaps_side_back_left": {
"rotation": [0, 0, 3]
},
"fur_flaps_side_back_left2": {
"rotation": [0, 0, -3]
},
"fur_flaps_side_front_right": {
"rotation": [0, 0, 7.5]
},
"fur_flaps_side_front_right2": {
"rotation": [0, 0, 10]
},
"fur_flaps_side_middle_right": {
"rotation": [0, 0, 5]
},
"fur_flaps_side_middle_right2": {
"rotation": [0, 0, 10]
},
"fur_flaps_side_back_right": {
"rotation": [0, 0, 3]
},
"fur_flaps_side_back_right2": {
"rotation": [0, 0, 10]
},
"hair_right": {
"rotation": [-5, 0, 7]
},
"hair_right2": {
"rotation": [-1, 0, -7]
},
"hair_right3": {
"rotation": [0, 0, 30]
},
"toe_front_inner_left": {
"rotation": [8, 10, 1]
},
"toe_front_inner_left2": {
"rotation": [-5, 0, 0]
},
"toe_front_outer_left": {
"rotation": [8, -10, -1]
},
"toe_front_outer_left2": {
"rotation": [-5, 0, 0]
},
"leg_front_right": {
"rotation": [0, 13, 0],
"position": [-1, 0, 0]
},
"toe_front_inner_right": {
"rotation": [8, -10, -1]
},
"toe_front_inner_right2": {
"rotation": [-5, 0, 0]
},
"toe_front_middle_right": {
"rotation": [8, 0, 0]
},
"toe_front_middle_right2": {
"rotation": [-5, 0, 0]
},
"toe_front_outer_right": {
"rotation": [8, 10, 1]
},
"toe_front_outer_right2": {
"rotation": [-5, 0, 0]
},
"leg_back_left": {
"rotation": [0, -20, 0],
"position": [1, 0, 0]
},
"toe_back_inner_left": {
"rotation": [8, 10, 1]
},
"toe_back_inner_left2": {
"rotation": [-5, 0, 0]
},
"toe_back_middle_left": {
"rotation": [8, 0, 0]
},
"toe_back_middle_left2": {
"rotation": [-5, 0, 0]
},
"toe_back_outer_left": {
"rotation": [8, -10, -1]
},
"toe_back_outer_left2": {
"rotation": [-5, 0, 0]
},
"leg_back_right": {
"rotation": [0, 8, 0]
},
"toe_back_inner_right": {
"rotation": [8, -10, -1]
},
"toe_back_inner_right2": {
"rotation": [-5, 0, 0]
},
"toe_back_middle_right": {
"rotation": [8, 0, 0]
},
"toe_back_middle_right2": {
"rotation": [-5, 0, 0]
},
"toe_back_outer_right": {
"rotation": [8, 10, 1]
},
"toe_back_outer_right2": {
"rotation": [-5, 0, 0]
}
}
}
}
}
@@ -5,7 +5,7 @@
"description": {
"identifier": "geometry.cacnea",
"texture_width": 64,
"texture_height": 32,
"texture_height": 64,
"visible_bounds_width": 3,
"visible_bounds_height": 2.5,
"visible_bounds_offset": [0, 0.75, 0]
@@ -15,173 +15,284 @@
"name": "cacnea",
"pivot": [0, 0, 0]
},
{
"name": "locator_root",
"parent": "cacnea",
"pivot": [0, 0, 0],
"locators": {
"root": [0, 0, 0]
}
},
{
"name": "locator_top",
"parent": "cacnea",
"pivot": [0, 17, 0],
"locators": {
"top": [0, 17, 0]
}
},
{
"name": "body",
"parent": "cacnea",
"pivot": [0, 7.5, 0]
},
{
"name": "body_pivot",
"parent": "body",
"pivot": [0, 0, 0]
},
{
"name": "locator_target",
"parent": "body_pivot",
"pivot": [0, 8, -6],
"locators": {
"target": [0, 8, -6]
}
},
{
"name": "locator_middle",
"parent": "body_pivot",
"pivot": [0, 8, 0],
"locators": {
"middle": [0, 8, 0]
}
},
{
"name": "torso",
"parent": "body",
"parent": "body_pivot",
"pivot": [0, 3.5, 0],
"cubes": [
{"origin": [-4.5, 3, -4.5], "size": [9, 9, 9], "uv": [0, 0]},
{"origin": [-2, 3, -4.51], "size": [4, 3, 0], "uv": [0, 3]},
{"origin": [-2, 3, 4.51], "size": [4, 3, 0], "uv": [0, 0]},
{"origin": [3.25, 10.75, 0], "size": [3, 2, 0], "pivot": [4.5, 12, 0], "rotation": [0, 0, -45], "uv": [58, 0]},
{"origin": [4, 9.25, 0], "size": [2, 1, 0], "pivot": [4.5, 9.75, 0], "rotation": [0, 0, -15], "uv": [48, 1]},
{"origin": [-6.25, 10.75, 0], "size": [3, 2, 0], "pivot": [-4.5, 12, 0], "rotation": [0, 0, 45], "uv": [52, 0]},
{"origin": [-6, 9.25, 0], "size": [2, 1, 0], "pivot": [-4.5, 9.75, 0], "rotation": [0, 0, 15], "uv": [48, 0]}
{"origin": [-5, 3, -5], "size": [10, 10, 10], "uv": [0, 0]},
{"origin": [-0.5, 11.02, -5], "size": [1, 1, 1], "inflate": 0.01, "uv": [0, 1]},
{"origin": [-0.5, 11.02, 4], "size": [1, 1, 1], "inflate": 0.01, "uv": [5, 1]},
{"origin": [-5.75, 11.6, 0], "size": [2, 2, 0], "pivot": [-5, 12.85, 0], "rotation": [0, 0, 40], "uv": [36, 5]},
{"origin": [3.75, 11.6, 0], "size": [2, 2, 0], "pivot": [5, 12.85, 0], "rotation": [0, 0, -40], "uv": [31, 5]},
{"origin": [-6.75, 12.1, 0], "size": [1, 1, 0], "pivot": [-5, 12.85, 0], "rotation": [0, 0, 40], "uv": [37, 3]},
{"origin": [5.75, 12.1, 0], "size": [1, 1, 0], "pivot": [5, 12.85, 0], "rotation": [0, 0, -40], "uv": [32, 3]},
{"origin": [-6, 9.75, 0], "size": [2, 1, 0], "uv": [31, 8]},
{"origin": [4, 9.75, 0], "size": [2, 1, 0], "uv": [36, 8]}
]
},
{
"name": "mouth",
"name": "crown",
"parent": "torso",
"pivot": [0, 7, -4.5]
"pivot": [0, 13, 0],
"cubes": [
{"origin": [-2.5, 13, -2.25], "size": [5, 3, 0], "pivot": [0, 13, -2.25], "rotation": [20, 0, 0], "uv": [42, 60]},
{"origin": [-2.5, 13, 2.25], "size": [5, 3, 0], "pivot": [0, 13, 2.25], "rotation": [-20, 0, 0], "uv": [53, 60]},
{"origin": [2.25, 13, -2.5], "size": [0, 3, 5], "pivot": [2.25, 13, 0], "rotation": [0, 0, 20], "uv": [53, 51]},
{"origin": [-2.25, 13, -2.5], "size": [0, 3, 5], "pivot": [-2.25, 13, 0], "rotation": [0, 0, -20], "uv": [42, 51]},
{"origin": [-2, 12.25, -2], "size": [4, 1, 4], "inflate": 0.25, "uv": [0, 45]}
]
},
{
"name": "face",
"parent": "torso",
"pivot": [0, 9, -5]
},
{
"name": "mouth",
"parent": "face",
"pivot": [0, 6.75, -5]
},
{
"name": "mouth_middle",
"parent": "mouth",
"pivot": [0, 7.5, -4.5],
"pivot": [0, 7, -5],
"cubes": [
{"origin": [-1, 6.5, -4.52], "size": [2, 2, 0], "uv": [54, 18]}
{"origin": [-1, 6.5, -5.01], "size": [2, 2, 1], "uv": [1, 60]}
]
},
{
"name": "mouth_left",
"parent": "mouth",
"pivot": [2.25, 7.5, -4.5],
"pivot": [2.25, 7.25, -5],
"cubes": [
{"origin": [1.25, 6.5, -4.51], "size": [2, 2, 0], "uv": [58, 18]}
{"origin": [1.25, 6.5, -5.21], "size": [2, 2, 1], "inflate": -0.2, "uv": [15, 60]}
]
},
{
"name": "mouth_right",
"parent": "mouth",
"pivot": [-2.25, 7.5, -4.5],
"pivot": [-2.25, 7.25, -5],
"cubes": [
{"origin": [-3.25, 6.5, -4.51], "size": [2, 2, 0], "uv": [50, 18]}
{"origin": [-3.25, 6.5, -5.21], "size": [2, 2, 1], "inflate": -0.2, "uv": [8, 60]}
]
},
{
"name": "mouth_right2",
"parent": "mouth",
"pivot": [-4, 7.75, -4.51],
"cubes": [
{"origin": [-4.5, 7.5, -5.01], "size": [1, 1, 1], "uv": [22, 61]}
]
},
{
"name": "mouth_left2",
"parent": "mouth",
"pivot": [4, 7.75, -4.51],
"cubes": [
{"origin": [3.5, 7.5, -5.01], "size": [1, 1, 1], "uv": [27, 61]}
]
},
{
"name": "eyehole_left",
"parent": "face",
"pivot": [2.5, 10, -5],
"cubes": [
{"origin": [1.5, 9, -4.91], "size": [2, 2, 1], "inflate": 0.1, "uv": [1, 56]}
]
},
{
"name": "eye_left",
"parent": "torso",
"pivot": [2.5, 10, -4.5],
"parent": "eyehole_left",
"pivot": [2.35, 9.85, -5],
"cubes": [
{"origin": [1.5, 9, -4.51], "size": [2, 2, 0], "uv": [4, 6]}
{"origin": [1.85, 9.35, -4.82], "size": [1, 1, 1], "inflate": 0.2, "uv": [8, 57]}
]
},
{
"name": "pupil_left",
"parent": "eye_left",
"pivot": [2.5, 10, -4.5],
"pivot": [2.35, 9.85, -4.63],
"cubes": [
{"origin": [2, 9.5, -4.37], "size": [1, 1, 0], "inflate": 0.15, "uv": [0, 8]},
{"origin": [2, 9.5, -4.53], "size": [1, 1, 0], "uv": [4, 8], "mirror": true}
{"origin": [1.85, 9.35, -5.13], "size": [1, 1, 1], "inflate": -0.1, "uv": [13, 57]}
]
},
{
"name": "locator_eye_left",
"parent": "pupil_left",
"pivot": [2.5, 10, -4.5],
"pivot": [2.35, 9.85, -5],
"locators": {
"eye2": [2.5, 10, -4.5]
"eye2": [2.35, 9.85, -5]
}
},
{
"name": "eye_right",
"parent": "torso",
"pivot": [-2.5, 10, -4.5],
"name": "pupil_happy_left",
"parent": "eye_left",
"pivot": [2.1, 9.85, -4.9],
"cubes": [
{"origin": [-3.5, 9, -4.51], "size": [2, 2, 0], "uv": [0, 6]}
{"origin": [1.6, 9.35, -5.03], "size": [1, 1, 1], "inflate": -0.1, "uv": [28, 57]},
{"origin": [1.85, 9.1, -5.14], "size": [1, 1, 1], "inflate": -0.2, "uv": [33, 57]},
{"origin": [2.1, 9.35, -5.03], "size": [1, 1, 1], "inflate": -0.1, "uv": [23, 57]}
]
},
{
"name": "eye_detail_left",
"parent": "eye_left",
"pivot": [1.95, 10.25, -4.54],
"cubes": [
{"origin": [1.45, 9.75, -5.04], "size": [1, 1, 1], "inflate": -0.1, "uv": [18, 57]}
]
},
{
"name": "eyehole_right",
"parent": "face",
"pivot": [-2.5, 10, -5],
"cubes": [
{"origin": [-3.5, 9, -4.91], "size": [2, 2, 1], "inflate": 0.1, "uv": [1, 52]}
]
},
{
"name": "eye_right",
"parent": "eyehole_right",
"pivot": [-2.35, 9.85, -5],
"cubes": [
{"origin": [-2.85, 9.35, -4.82], "size": [1, 1, 1], "inflate": 0.2, "uv": [8, 53]}
]
},
{
"name": "pupil_right",
"parent": "eye_right",
"pivot": [-2.5, 10, -4.5],
"pivot": [-2.35, 9.85, -5],
"cubes": [
{"origin": [-3, 9.5, -4.37], "size": [1, 1, 0], "inflate": 0.15, "uv": [2, 8]},
{"origin": [-3, 9.5, -4.53], "size": [1, 1, 0], "uv": [6, 8]}
{"origin": [-2.85, 9.35, -5.13], "size": [1, 1, 1], "inflate": -0.1, "uv": [13, 53]}
]
},
{
"name": "locator_eye_right",
"parent": "pupil_right",
"pivot": [-2.5, 10, -4.5],
"pivot": [-2.35, 9.85, -5],
"locators": {
"eye1": [-2.5, 10, -4.5]
"eye1": [-2.35, 9.85, -5]
}
},
{
"name": "crown",
"name": "pupil_happy_right",
"parent": "eye_right",
"pivot": [-2.1, 9.85, -4.9],
"cubes": [
{"origin": [-2.6, 9.35, -5.03], "size": [1, 1, 1], "inflate": -0.1, "uv": [28, 53]},
{"origin": [-2.85, 9.1, -5.14], "size": [1, 1, 1], "inflate": -0.2, "uv": [33, 53]},
{"origin": [-3.1, 9.35, -5.03], "size": [1, 1, 1], "inflate": -0.1, "uv": [23, 53]}
]
},
{
"name": "eye_detail_right",
"parent": "eye_right",
"pivot": [-1.95, 10.25, -4.54],
"cubes": [
{"origin": [-2.45, 9.75, -5.04], "size": [1, 1, 1], "inflate": -0.1, "uv": [18, 53]}
]
},
{
"name": "face_ditto",
"parent": "torso",
"pivot": [0, 12, 0],
"pivot": [0, 8.75, -4.9]
},
{
"name": "eyes_ditto",
"parent": "face_ditto",
"pivot": [0, 9.5, -4.92],
"cubes": [
{"origin": [-2.5, 12, -2.5], "size": [5, 3, 0], "pivot": [0, 12, -2.5], "rotation": [15, 0, 0], "uv": [27, 6]},
{"origin": [-2.5, 12, 2.5], "size": [5, 3, 0], "pivot": [0, 12, 2.5], "rotation": [-15, 0, 0], "uv": [37, 6]},
{"origin": [2.5, 12, -2.5], "size": [0, 3, 5], "pivot": [2.5, 12, 0], "rotation": [0, 0, 15], "uv": [37, 7]},
{"origin": [-2.5, 12, -2.5], "size": [0, 3, 5], "pivot": [-2.5, 12, 0], "rotation": [0, 0, -15], "uv": [37, 4]}
{"origin": [-3.5, 9, -4.92], "size": [7, 1, 0], "uv": [25, 40]}
]
},
{
"name": "arm_left",
"name": "eyes_blink_ditto",
"parent": "face_ditto",
"pivot": [0, 9.5, -4.82],
"cubes": [
{"origin": [-4, 9, -4.82], "size": [8, 1, 0], "uv": [24, 42]},
{"origin": [-3.5, 9.5, -4.83], "size": [7, 1, 0], "uv": [25, 44]}
]
},
{
"name": "mouth_ditto",
"parent": "face_ditto",
"pivot": [0, 7.75, -4.9],
"cubes": [
{"origin": [-3, 7, -4.91], "size": [6, 1, 0], "uv": [26, 48]},
{"origin": [-4, 7.5, -4.91], "size": [8, 1, 0], "uv": [24, 46]}
]
},
{
"name": "mouth_open_ditto",
"parent": "face_ditto",
"pivot": [0, 7.5, -4.81],
"cubes": [
{"origin": [-4, 6.5, -4.81], "size": [8, 2, 0], "uv": [24, 50]}
]
},
{
"name": "mouth_open_ditto2",
"parent": "face_ditto",
"pivot": [0, 7.5, -4.81],
"cubes": [
{"origin": [-1, 6, -4.81], "size": [2, 3, 0], "uv": [17, 41]}
]
},
{
"name": "arms",
"parent": "torso",
"pivot": [4.5, 7.5, 0],
"cubes": [
{"origin": [3.5, 6, -1.5], "size": [5, 3, 3], "uv": [48, 9]}
]
},
{
"name": "arm_left2",
"parent": "arm_left",
"pivot": [8, 7.5, 0],
"cubes": [
{"origin": [7.5, 6, -1.5], "size": [6, 3, 3], "inflate": 0.01, "uv": [18, 18]}
]
},
{
"name": "arm_spike_top_left",
"parent": "arm_left2",
"pivot": [11.5, 9, 0],
"cubes": [
{"origin": [11, 9.015, -0.5], "size": [1, 0, 1], "pivot": [11.5, 9, 0], "rotation": [0, -45, 0], "uv": [55, 15]},
{"origin": [11, 8.5, 0], "size": [1, 2, 0], "uv": [56, 16]}
]
},
{
"name": "arm_spike_bottom_left",
"parent": "arm_left2",
"pivot": [11.5, 6, 0],
"cubes": [
{"origin": [11, 5.985, -0.5], "size": [1, 0, 1], "pivot": [11.5, 6, 0], "rotation": [0, -45, 0], "uv": [59, 15]},
{"origin": [11, 4.5, 0], "size": [1, 2, 0], "uv": [60, 16]}
]
},
{
"name": "arm_spike_front_left",
"parent": "arm_left2",
"pivot": [11.5, 7.5, -1.5],
"cubes": [
{"origin": [11, 7, -1.515], "size": [1, 1, 0], "pivot": [11.5, 7.5, -1.5], "rotation": [0, 0, 45], "uv": [58, 15]},
{"origin": [11, 7.5, -3], "size": [1, 0, 2], "uv": [56, 16]}
]
},
{
"name": "arm_spike_back_left",
"parent": "arm_left2",
"pivot": [11.5, 7.5, 1.5],
"cubes": [
{"origin": [11, 7, 1.515], "size": [1, 1, 0], "pivot": [11.5, 7.5, 1.5], "rotation": [0, 0, 45], "uv": [62, 15]},
{"origin": [11, 7.5, 1], "size": [1, 0, 2], "uv": [60, 16]}
]
"pivot": [0, 7.5, 0]
},
{
"name": "arm_right",
"parent": "torso",
"pivot": [-4.75, 7.5, 0],
"parent": "arms",
"pivot": [-4.5, 7.5, 0],
"cubes": [
{"origin": [-8.5, 6, -1.5], "size": [5, 3, 3], "uv": [48, 3]}
{"origin": [-8.5, 6, -1.5], "size": [5, 3, 3], "uv": [0, 28]}
]
},
{
@@ -189,76 +300,237 @@
"parent": "arm_right",
"pivot": [-8, 7.5, 0],
"cubes": [
{"origin": [-13.5, 6, -1.5], "size": [6, 3, 3], "inflate": 0.01, "uv": [0, 18]}
{"origin": [-13.5, 5.5, -2], "size": [6, 4, 4], "inflate": 0.01, "uv": [0, 20]},
{"origin": [-13.5, 7, -2], "size": [6, 1, 4], "inflate": 0.02, "uv": [44, 0]}
]
},
{
"name": "arm_spike_top_right",
"parent": "arm_right2",
"pivot": [-11.5, 9, 0],
"pivot": [-11.5, 9.5, 0],
"cubes": [
{"origin": [-12, 9.015, -0.5], "size": [1, 0, 1], "pivot": [-11.5, 9, 0], "rotation": [0, 45, 0], "uv": [47, 15]},
{"origin": [-12, 8.5, 0], "size": [1, 2, 0], "uv": [48, 16]}
{"origin": [-12, 10.5, 0], "size": [1, 1, 0], "uv": [46, 11]},
{"origin": [-12, 10.5, 0], "size": [1, 1, 0], "pivot": [-11.5, 11, 0], "rotation": [0, 90, 0], "uv": [46, 13]},
{"origin": [-12.5, 9.5, 0], "size": [2, 1, 0], "uv": [41, 11]},
{"origin": [-12.5, 9.5, 0], "size": [2, 1, 0], "pivot": [-11.5, 10, 0], "rotation": [0, 90, 0], "uv": [41, 13]}
]
},
{
"name": "arm_spike_bottom_right",
"parent": "arm_right2",
"pivot": [-11.5, 6, 0],
"pivot": [-11.5, 5.5, 0],
"cubes": [
{"origin": [-12, 5.985, -0.5], "size": [1, 0, 1], "pivot": [-11.5, 6, 0], "rotation": [0, 45, 0], "uv": [51, 15]},
{"origin": [-12, 4.5, 0], "size": [1, 2, 0], "uv": [52, 16]}
{"origin": [-12, 3.5, 0], "size": [1, 1, 0], "uv": [46, 15]},
{"origin": [-12, 3.5, 0], "size": [1, 1, 0], "pivot": [-11.5, 4, 0], "rotation": [0, 90, 0], "uv": [46, 17]},
{"origin": [-12.5, 4.5, 0], "size": [2, 1, 0], "uv": [41, 15]},
{"origin": [-12.5, 4.5, 0], "size": [2, 1, 0], "pivot": [-11.5, 5, 0], "rotation": [0, 90, 0], "uv": [41, 17]}
]
},
{
"name": "arm_spike_front_right",
"parent": "arm_right2",
"pivot": [-11.5, 7.5, -1.5],
"pivot": [-11.5, 7.5, -2],
"cubes": [
{"origin": [-12, 7, -1.515], "size": [1, 1, 0], "pivot": [-11.5, 7.5, -1.5], "rotation": [0, 0, -45], "uv": [50, 15]},
{"origin": [-12, 7.5, -3], "size": [1, 0, 2], "uv": [48, 16]}
{"origin": [-12, 7.5, -4], "size": [1, 0, 1], "uv": [45, 19]},
{"origin": [-12, 7.5, -4], "size": [1, 0, 1], "pivot": [-11.5, 7.5, -3.5], "rotation": [0, 0, 90], "uv": [45, 21]},
{"origin": [-12.5, 7.5, -3], "size": [2, 0, 1], "uv": [40, 19]},
{"origin": [-12.5, 7.5, -3], "size": [2, 0, 1], "pivot": [-11.5, 7.5, -2.5], "rotation": [0, 0, 90], "uv": [40, 21]}
]
},
{
"name": "arm_spike_back_right",
"parent": "arm_right2",
"pivot": [-11.5, 7.5, 1.5],
"pivot": [-11.5, 7.5, 2],
"cubes": [
{"origin": [-12, 7, 1.515], "size": [1, 1, 0], "pivot": [-11.5, 7.5, 1.5], "rotation": [0, 0, -45], "uv": [54, 15]},
{"origin": [-12, 7.5, 1], "size": [1, 0, 2], "uv": [52, 16]}
{"origin": [-12, 7.5, 3], "size": [1, 0, 1], "uv": [45, 23]},
{"origin": [-12, 7.5, 3], "size": [1, 0, 1], "pivot": [-11.5, 7.5, 3.5], "rotation": [0, 0, 90], "uv": [45, 25]},
{"origin": [-12.5, 7.5, 2], "size": [2, 0, 1], "uv": [40, 23]},
{"origin": [-12.5, 7.5, 2], "size": [2, 0, 1], "pivot": [-11.5, 7.5, 2.5], "rotation": [0, 0, 90], "uv": [40, 25]}
]
},
{
"name": "leg_left",
"parent": "body",
"pivot": [3.5, 3.5, 0],
"name": "locator_hand_primary",
"parent": "arm_right2",
"pivot": [-11.5, 7.5, 0],
"rotation": [0, 90, 0],
"locators": {
"hand_primary": [-11.5, 7.5, 0],
"physical": [-11.5, 7.5, 0]
}
},
{
"name": "locator_item",
"parent": "arm_right2",
"pivot": [-11.5, 5.5, 0],
"locators": {
"item": [-11.5, 5.5, 0]
}
},
{
"name": "arm_left",
"parent": "arms",
"pivot": [4.5, 7.5, 0],
"cubes": [
{"origin": [2, 2, -1.5], "size": [3, 3, 3], "uv": [39, 0]}
{"origin": [3.5, 6, -1.5], "size": [5, 3, 3], "uv": [16, 28]}
]
},
{
"name": "arm_left2",
"parent": "arm_left",
"pivot": [8, 7.5, 0],
"cubes": [
{"origin": [7.5, 5.5, -2], "size": [6, 4, 4], "inflate": 0.01, "uv": [20, 20]},
{"origin": [7.5, 7, -2], "size": [6, 1, 4], "inflate": 0.02, "uv": [44, 5]}
]
},
{
"name": "arm_spike_top_left",
"parent": "arm_left2",
"pivot": [11.5, 9.5, 0],
"cubes": [
{"origin": [11, 10.5, 0], "size": [1, 1, 0], "uv": [54, 11]},
{"origin": [11, 10.5, 0], "size": [1, 1, 0], "pivot": [11.5, 11, 0], "rotation": [0, -90, 0], "uv": [54, 13]},
{"origin": [10.5, 9.5, 0], "size": [2, 1, 0], "uv": [49, 11]},
{"origin": [10.5, 9.5, 0], "size": [2, 1, 0], "pivot": [11.5, 10, 0], "rotation": [0, -90, 0], "uv": [49, 13]}
]
},
{
"name": "arm_spike_bottom_left",
"parent": "arm_left2",
"pivot": [11.5, 5.5, 0],
"cubes": [
{"origin": [11, 3.5, 0], "size": [1, 1, 0], "uv": [54, 15]},
{"origin": [11, 3.5, 0], "size": [1, 1, 0], "pivot": [11.5, 4, 0], "rotation": [0, -90, 0], "uv": [54, 17]},
{"origin": [10.5, 4.5, 0], "size": [2, 1, 0], "uv": [49, 15]},
{"origin": [10.5, 4.5, 0], "size": [2, 1, 0], "pivot": [11.5, 5, 0], "rotation": [0, -90, 0], "uv": [49, 17]}
]
},
{
"name": "arm_spike_front_left",
"parent": "arm_left2",
"pivot": [11.5, 7.5, -2],
"cubes": [
{"origin": [11, 7.5, -4], "size": [1, 0, 1], "uv": [53, 19]},
{"origin": [11, 7.5, -4], "size": [1, 0, 1], "pivot": [11.5, 7.5, -3.5], "rotation": [0, 0, -90], "uv": [53, 21]},
{"origin": [10.5, 7.5, -3], "size": [2, 0, 1], "uv": [48, 19]},
{"origin": [10.5, 7.5, -3], "size": [2, 0, 1], "pivot": [11.5, 7.5, -2.5], "rotation": [0, 0, -90], "uv": [48, 21]}
]
},
{
"name": "arm_spike_back_left",
"parent": "arm_left2",
"pivot": [11.5, 7.5, 2],
"cubes": [
{"origin": [11, 7.5, 3], "size": [1, 0, 1], "uv": [53, 23]},
{"origin": [11, 7.5, 3], "size": [1, 0, 1], "pivot": [11.5, 7.5, 3.5], "rotation": [0, 0, -90], "uv": [53, 25]},
{"origin": [10.5, 7.5, 2], "size": [2, 0, 1], "uv": [48, 23]},
{"origin": [10.5, 7.5, 2], "size": [2, 0, 1], "pivot": [11.5, 7.5, 2.5], "rotation": [0, 0, -90], "uv": [48, 25]}
]
},
{
"name": "locator_hand_secondary",
"parent": "arm_left2",
"pivot": [11.5, 7.5, 0],
"rotation": [0, -90, 0],
"locators": {
"hand_secondary": [11.5, 7.5, 0]
}
},
{
"name": "locator_face",
"parent": "torso",
"pivot": [0, 9, -5],
"locators": {
"face": [0, 9, -5]
}
},
{
"name": "locator_mouth",
"parent": "torso",
"pivot": [0, 7.5, -5],
"locators": {
"mouth": [0, 7.5, -5],
"special": [0, 7.5, -5]
}
},
{
"name": "locator_head",
"parent": "torso",
"pivot": [0, 13, -2.5],
"locators": {
"head": [0, 13, -2.5]
}
},
{
"name": "item_hat",
"parent": "torso",
"pivot": [0, 13, 0],
"locators": {
"item_hat": [0, 14, 0]
}
},
{
"name": "locator_item_face",
"parent": "torso",
"pivot": [0, 10.5, -5],
"locators": {
"item_face": [0, 10.5, -5]
}
},
{
"name": "legs",
"parent": "body_pivot",
"pivot": [0, 3.5, 0]
},
{
"name": "leg_left",
"parent": "legs",
"pivot": [3.75, 3.5, 0],
"cubes": [
{"origin": [2.25, 2, -1.5], "size": [3, 3, 3], "uv": [12, 34]}
]
},
{
"name": "leg_left2",
"parent": "leg_left",
"pivot": [3.5, 2, 0],
"pivot": [3.75, 2, 0],
"cubes": [
{"origin": [2.5, 0, -1], "size": [2, 2, 2], "uv": [42, 16]}
{"origin": [2.75, 0, -1], "size": [2, 2, 2], "uv": [8, 40]}
]
},
{
"name": "locator_foot_secondary",
"parent": "leg_left2",
"pivot": [3.75, 1, 0],
"rotation": [90, 0, 0],
"locators": {
"foot_secondary": [3.75, 1, 0]
}
},
{
"name": "leg_right",
"parent": "body",
"pivot": [-3.5, 3.5, 0],
"parent": "legs",
"pivot": [-3.75, 3.5, 0],
"cubes": [
{"origin": [-5, 2, -1.5], "size": [3, 3, 3], "uv": [27, 0]}
{"origin": [-5.25, 2, -1.5], "size": [3, 3, 3], "uv": [0, 34]}
]
},
{
"name": "leg_right2",
"parent": "leg_right",
"pivot": [-3.5, 2, 0],
"pivot": [-3.75, 2, 0],
"cubes": [
{"origin": [-4.5, 0, -1], "size": [2, 2, 2], "uv": [34, 16]}
{"origin": [-4.75, 0, -1], "size": [2, 2, 2], "uv": [0, 40]}
]
},
{
"name": "locator_foot_primary",
"parent": "leg_right2",
"pivot": [-3.75, 1, 0],
"rotation": [90, 0, 0],
"locators": {
"foot_primary": [-3.75, 1, 0]
}
}
]
}
@@ -15,40 +15,143 @@
"name": "spheal",
"pivot": [0, 0, 0]
},
{
"name": "locator_root",
"parent": "spheal",
"pivot": [0, 0, 0],
"locators": {
"root": [0, 0, 0]
}
},
{
"name": "locator_top",
"parent": "spheal",
"pivot": [0, 14, 0],
"locators": {
"top": [0, 14, 0]
}
},
{
"name": "body",
"parent": "spheal",
"pivot": [0, 6.5, 0]
"pivot": [0, 7, 0]
},
{
"name": "torso",
"parent": "body",
"pivot": [0, 8, 1],
"pivot": [0, 8, 1]
},
{
"name": "body_roll",
"parent": "torso",
"pivot": [0, 7, 0],
"cubes": [
{"origin": [-7, 0, -7], "size": [14, 14, 14], "uv": [0, 0]}
]
},
{
"name": "locator_head",
"parent": "body_roll",
"pivot": [0, 14, -3],
"locators": {
"head": [0, 14, -3]
}
},
{
"name": "locator_item_hat",
"parent": "body_roll",
"pivot": [0, 16.75, 0],
"locators": {
"item_hat": [0, 16.75, 0]
}
},
{
"name": "locator_item_face",
"parent": "body_roll",
"pivot": [0, 11.25, -7.225],
"rotation": [-12.5, 0, 0],
"locators": {
"item_face": [0, 11.25, -7.225]
}
},
{
"name": "ditto_face",
"parent": "body_roll",
"pivot": [0, -2, 2]
},
{
"name": "ditto_eye_left",
"parent": "ditto_face",
"pivot": [3.5, 10.125, -5.45],
"cubes": [
{"origin": [3, 9.5, -6], "size": [1, 1, 1], "inflate": 0.01, "uv": [56, 15]}
]
},
{
"name": "ditto_eyelid_left",
"parent": "ditto_eye_left",
"pivot": [3.5, 10.25, -5.4],
"cubes": [
{"origin": [2.5, 9.5, -5.9], "size": [2, 1, 1], "inflate": 0.01, "uv": [0, 56]},
{"origin": [3, 10, -5.9], "size": [1, 1, 1], "inflate": 0.02, "uv": [56, 17]}
]
},
{
"name": "ditto_eye_right",
"parent": "ditto_face",
"pivot": [-3.5, 10.125, -5.45],
"cubes": [
{"origin": [-4, 9.5, -6], "size": [1, 1, 1], "inflate": 0.01, "uv": [18, 56]}
]
},
{
"name": "ditto_eyelid_right",
"parent": "ditto_eye_right",
"pivot": [-3.5, 10.25, -5.4],
"cubes": [
{"origin": [-4.5, 9.5, -5.9], "size": [2, 1, 1], "inflate": 0.01, "uv": [56, 0]},
{"origin": [-4, 10, -5.9], "size": [1, 1, 1], "inflate": 0.02, "uv": [56, 19]}
]
},
{
"name": "ditto_mouth",
"parent": "ditto_face",
"pivot": [0, 9, -6.01],
"cubes": [
{"origin": [-5, 7.5, -6], "size": [10, 1, 1], "inflate": 0.01, "uv": [30, 44]},
{"origin": [5, 8, -6], "size": [1, 1, 1], "inflate": 0.01, "uv": [56, 21]},
{"origin": [-6, 8, -6], "size": [1, 1, 1], "inflate": 0.01, "uv": [22, 56]}
]
},
{
"name": "ditto_mouth_open",
"parent": "ditto_face",
"pivot": [0, 7.2, -5.91],
"cubes": [
{"origin": [-6, 7, -5.9], "size": [12, 2, 0], "inflate": 0.01, "uv": [30, 37]}
]
},
{
"name": "ear_left",
"parent": "torso",
"pivot": [5, 14, -5],
"parent": "body_roll",
"pivot": [4.7, 14, -5],
"rotation": [12.5, 0, 15],
"cubes": [
{"origin": [3.5, 13, -6], "size": [3, 3, 2], "pivot": [5, 14.5, -5], "rotation": [0, 0, 0], "uv": [0, 5]}
{"origin": [3.2, 13, -6], "size": [3, 3, 2], "uv": [16, 48]}
]
},
{
"name": "ear_right",
"parent": "torso",
"pivot": [-5, 14, -5],
"parent": "body_roll",
"pivot": [-4.7, 14, -5],
"rotation": [12.5, 0, -15],
"cubes": [
{"origin": [-6.5, 13, -6], "size": [3, 3, 2], "pivot": [-5, 14.5, -5], "rotation": [0, 0, 0], "uv": [0, 0]}
{"origin": [-6.2, 13, -6], "size": [3, 3, 2], "uv": [26, 52]}
]
},
{
"name": "tail",
"parent": "torso",
"parent": "body_roll",
"pivot": [0, 1.5, 7],
"rotation": [17.5, 0, 0]
},
@@ -57,17 +160,33 @@
"parent": "tail",
"pivot": [0, 1.5, 7],
"cubes": [
{"origin": [-2.5, 1.55, 6], "size": [5, 0, 10], "uv": [20, 28]},
{"origin": [-2, 1.55, 7], "size": [4, 0, 2], "inflate": 0.005, "uv": [0, 10]}
{"origin": [-2.5, 1.55, 6], "size": [5, 0, 10], "uv": [0, 28]},
{"origin": [-2, 1.55, 7], "size": [4, 0, 2], "inflate": 0.01, "uv": [36, 52]}
]
},
{
"name": "locator_tail",
"parent": "tail2",
"pivot": [0, 1.55, 9.5],
"locators": {
"tail": [0, 1.55, 9.5]
}
},
{
"name": "locator_tail_tip",
"parent": "tail2",
"pivot": [0, 1.55, 15],
"locators": {
"tail_tip": [0, 1.55, 15]
}
},
{
"name": "tail_left",
"parent": "tail",
"pivot": [1.4, 1.5, 7],
"rotation": [0, 27.5, 0],
"cubes": [
{"origin": [-1.1, 1.5, 5.6], "size": [5, 0, 10], "uv": [10, 28]}
{"origin": [-1.1, 1.5, 5.6], "size": [5, 0, 10], "uv": [33, 0]}
]
},
{
@@ -76,98 +195,290 @@
"pivot": [-1.4, 1.5, 7],
"rotation": [0, -27.5, 0],
"cubes": [
{"origin": [-3.9, 1.5, 5.6], "size": [5, 0, 10], "uv": [0, 28]}
{"origin": [-3.9, 1.5, 5.6], "size": [5, 0, 10], "uv": [0, 38]}
]
},
{
"name": "flipper_left",
"parent": "torso",
"pivot": [6, 2, -5.5],
"parent": "body_roll",
"pivot": [6, 1, -5.5],
"cubes": [
{"origin": [5, 1, -7], "size": [5, 2, 3], "inflate": 0.005, "uv": [41, 40]}
{"origin": [5, 1, -7], "size": [5, 2, 3], "inflate": 0.005, "uv": [0, 48]}
]
},
{
"name": "locator_hand_secondary",
"parent": "flipper_left",
"pivot": [9, 2, -5.5],
"rotation": [0, -90, 0],
"locators": {
"hand_secondary": [9, 2, -5.5]
}
},
{
"name": "flipper_right",
"parent": "torso",
"pivot": [-6, 2, -5.5],
"parent": "body_roll",
"pivot": [-6, 1, -5.5],
"cubes": [
{"origin": [-10, 1, -7], "size": [5, 2, 3], "inflate": 0.005, "uv": [40, 31]}
{"origin": [-10, 1, -7], "size": [5, 2, 3], "inflate": 0.005, "uv": [48, 47]}
]
},
{
"name": "locator_item",
"parent": "flipper_right",
"pivot": [-9.5, 1, -5.5],
"locators": {
"item": [-9.5, 1, -5.5]
}
},
{
"name": "locator_hand_primary",
"parent": "flipper_right",
"pivot": [-9, 2, -5.5],
"rotation": [0, 90, 0],
"locators": {
"hand_primary": [-9, 2, -5.5]
}
},
{
"name": "face",
"parent": "torso",
"pivot": [0, -1, 1]
},
{
"name": "open_mouth",
"parent": "face",
"pivot": [0.5, 6.7, -7],
"cubes": [
{"origin": [-4.5, 3.6, -6.9], "size": [9, 5, 0], "inflate": 0.01, "uv": [24, 38]}
]
},
{
"name": "snout",
"parent": "face",
"pivot": [0, 10.5, -7],
"cubes": [
{"origin": [-5.5, 7.71251, -7.7637], "size": [11, 3, 1], "uv": [0, 38]},
{"origin": [-2, 8.71251, -7.7637], "size": [4, 1, 0], "inflate": 0.005, "uv": [0, 12]},
{"origin": [2, 6.7, -7.2], "size": [2, 2, 0], "pivot": [3, 7.7, -7.2], "rotation": [0, 0, 45], "uv": [10, 9]},
{"origin": [-4, 6.7, -7.2], "size": [2, 2, 0], "pivot": [-3, 7.7, -7.2], "rotation": [0, 0, -45], "uv": [10, 7]}
]
"parent": "body_roll",
"pivot": [0, -2, 1]
},
{
"name": "eye_left",
"parent": "face",
"pivot": [4.5, 10.5, -6],
"rotation": [0, 0, 2.5],
"pivot": [4.5, 9.5, -6],
"cubes": [
{"origin": [2.5, 10.5, -7], "size": [2, 2, 0], "inflate": 0.01, "uv": [10, 11]}
{"origin": [2.5, 9.5, -7], "size": [2, 2, 1], "inflate": 0.01, "uv": [8, 53]}
]
},
{
"name": "shine_left",
"parent": "eye_left",
"pivot": [3.2, 10.8, -6.5],
"cubes": [
{"origin": [2.7, 10.3, -7], "size": [1, 1, 1], "inflate": 0.02, "uv": [56, 7]}
]
},
{
"name": "locator_eye_left",
"parent": "eye_left",
"pivot": [3.5, 11.5, -7],
"parent": "shine_left",
"pivot": [3.25, 10.75, -7],
"locators": {
"eye2": [3.5, 11.5, -7]
"eye2": [3.25, 10.75, -7]
}
},
{
"name": "eyelid_left",
"parent": "eye_left",
"pivot": [3.5, 10.5, -6],
"pivot": [3.5, 9.5, -6],
"cubes": [
{"origin": [2.5, 10.5, -6.91], "size": [2, 2, 0], "inflate": 0.01, "uv": [10, 2]}
{"origin": [2.5, 9.5, -6.9], "size": [2, 2, 1], "inflate": 0.03, "uv": [14, 53]}
]
},
{
"name": "eyelid_angry_left",
"parent": "eye_left",
"pivot": [3.5, 9.5, -6],
"cubes": [
{"origin": [2.5, 10.5, -6.9], "size": [1, 1, 1], "inflate": 0.03, "uv": [56, 9]}
]
},
{
"name": "eyelid_sad_left",
"parent": "eye_left",
"pivot": [3.5, 9.5, -6],
"cubes": [
{"origin": [3.5, 10.5, -6.9], "size": [1, 1, 1], "inflate": 0.03, "uv": [10, 56]}
]
},
{
"name": "eyelid_unamused_left",
"parent": "eye_left",
"pivot": [3.5, 9.5, -6],
"cubes": [
{"origin": [2.5, 10.5, -6.9], "size": [2, 1, 1], "inflate": 0.03, "uv": [48, 55]}
]
},
{
"name": "eyelid_recoil_left",
"parent": "eye_left",
"pivot": [3.5, 9.5, -6],
"cubes": [
{"origin": [2.5, 9.5, -6.9], "size": [2, 2, 1], "inflate": 0.03, "uv": [54, 37]}
]
},
{
"name": "eyelid_happy_left",
"parent": "eye_left",
"pivot": [3.5, 9.5, -6],
"cubes": [
{"origin": [2, 9.5, -6.9], "size": [3, 2, 1], "inflate": 0.03, "uv": [48, 52]}
]
},
{
"name": "eye_right",
"parent": "face",
"pivot": [-4.5, 10.5, -6],
"rotation": [0, 0, -2.5],
"pivot": [-4.5, 9.5, -6],
"cubes": [
{"origin": [-4.5, 10.5, -7], "size": [2, 2, 0], "inflate": 0.01, "uv": [8, 5]}
{"origin": [-4.5, 9.5, -7], "size": [2, 2, 1], "inflate": 0.01, "uv": [20, 53]}
]
},
{
"name": "shine_right",
"parent": "eye_right",
"pivot": [-3.2, 10.8, -6.5],
"cubes": [
{"origin": [-3.7, 10.3, -7], "size": [1, 1, 1], "inflate": 0.02, "uv": [56, 11]}
]
},
{
"name": "locator_eye_right",
"parent": "eye_right",
"pivot": [-3.5, 11.5, -7],
"parent": "shine_right",
"pivot": [-3.25, 10.75, -7],
"locators": {
"eye1": [-3.5, 11.5, -7]
"eye1": [-3.25, 10.75, -7]
}
},
{
"name": "eyelid_right",
"parent": "eye_right",
"pivot": [-3.5, 10.5, -6],
"pivot": [-3.5, 9.5, -6],
"cubes": [
{"origin": [-4.5, 10.5, -6.91], "size": [2, 2, 0], "inflate": 0.01, "uv": [8, 0]}
{"origin": [-4.5, 9.5, -6.9], "size": [2, 2, 1], "inflate": 0.03, "uv": [36, 54]}
]
},
{
"name": "eyelid_angry_right",
"parent": "eye_right",
"pivot": [-3.5, 9.5, -6],
"cubes": [
{"origin": [-3.5, 10.5, -6.9], "size": [1, 1, 1], "inflate": 0.03, "uv": [56, 13]}
]
},
{
"name": "eyelid_sad_right",
"parent": "eye_right",
"pivot": [-3.5, 9.5, -6],
"cubes": [
{"origin": [-4.5, 10.5, -6.9], "size": [1, 1, 1], "inflate": 0.03, "uv": [14, 56]}
]
},
{
"name": "eyelid_unamused_right",
"parent": "eye_right",
"pivot": [-3.5, 9.5, -6],
"cubes": [
{"origin": [-4.5, 10.5, -6.9], "size": [2, 1, 1], "inflate": 0.03, "uv": [54, 55]}
]
},
{
"name": "eyelid_recoil_right",
"parent": "eye_right",
"pivot": [-3.5, 9.5, -6],
"cubes": [
{"origin": [-4.5, 9.5, -6.9], "size": [2, 2, 1], "inflate": 0.03, "uv": [42, 54]}
]
},
{
"name": "eyelid_happy_right",
"parent": "eye_right",
"pivot": [-3.5, 9.5, -6],
"cubes": [
{"origin": [-5, 9.5, -6.9], "size": [3, 2, 1], "inflate": 0.03, "uv": [0, 53]}
]
},
{
"name": "snout",
"parent": "face",
"pivot": [0, 9.5, -7],
"cubes": [
{"origin": [-5, 7.75, -7.75], "size": [10, 2, 1], "uv": [30, 41]},
{"origin": [2, 6.2, -7.5], "size": [2, 2, 0], "uv": [56, 5]},
{"origin": [-4, 6.2, -7.5], "size": [2, 2, 0], "uv": [6, 56]}
]
},
{
"name": "locator_face",
"parent": "snout",
"pivot": [0, 9.75, -7.75],
"locators": {
"face": [0, 9.75, -7.75]
}
},
{
"name": "locator_mouth",
"parent": "snout",
"pivot": [0, 7.5, -7],
"locators": {
"mouth": [0, 7.5, -7]
}
},
{
"name": "locator_special",
"parent": "snout",
"pivot": [0, 7.5, -7],
"locators": {
"special": [0, 7.5, -7]
}
},
{
"name": "mouth_frown",
"parent": "face",
"pivot": [0, 7.5, -6.91],
"cubes": [
{"origin": [4.99, 6, -6.91], "size": [2, 3, 0], "uv": [26, 48]},
{"origin": [-6.99, 6, -6.91], "size": [2, 3, 0], "uv": [56, 2]}
]
},
{
"name": "mouth_open_smile",
"parent": "face",
"pivot": [0, 5.2, -6.91],
"cubes": [
{"origin": [-4.5, 2.7, -6.91], "size": [9, 6, 0], "uv": [30, 46]}
]
},
{
"name": "mouth_open_cheesing",
"parent": "face",
"pivot": [0, 8, -6.9],
"cubes": [
{"origin": [-6, 7, -6.9], "size": [12, 2, 0], "inflate": 0.01, "uv": [30, 39]}
]
},
{
"name": "mouth_open_neutral",
"parent": "face",
"pivot": [0, 7.2, -6.91],
"cubes": [
{"origin": [-2.5, 5.7, -6.91], "size": [5, 3, 0], "uv": [52, 41]}
]
},
{
"name": "locator_middle",
"parent": "body",
"pivot": [0, 7, 0],
"locators": {
"middle": [0, 7, 0]
}
},
{
"name": "locator_target",
"parent": "body",
"pivot": [0, 7, -9],
"locators": {
"target": [0, 7, -9]
}
},
{
"name": "locator_physical",
"parent": "body",
"pivot": [0, 7, -9],
"locators": {
"physical": [0, 7, -9]
}
}
]
}
@@ -0,0 +1,470 @@
{
"format_version": "1.12.0",
"minecraft:geometry": [
{
"description": {
"identifier": "geometry.burmy_plant",
"texture_width": 64,
"texture_height": 64,
"visible_bounds_width": 2,
"visible_bounds_height": 3.5,
"visible_bounds_offset": [0, 1.25, 0]
},
"bones": [
{
"name": "burmy_plant",
"pivot": [0, 0, 0]
},
{
"name": "locator_root",
"parent": "burmy_plant",
"pivot": [0, 0, 0],
"locators": {
"root": [0, 0, 0]
}
},
{
"name": "locator_top",
"parent": "burmy_plant",
"pivot": [0, 24, 0],
"locators": {
"top": [0, 24, 0]
}
},
{
"name": "body",
"parent": "burmy_plant",
"pivot": [0, 19, 0]
},
{
"name": "body_rotation",
"parent": "body",
"pivot": [0, 13, 0],
"cubes": [
{"origin": [-3, 9, -2.5], "size": [6, 5, 5], "inflate": -0.1, "uv": [0, 0]}
]
},
{
"name": "locator_middle",
"parent": "body_rotation",
"pivot": [0, 8.5, 0],
"locators": {
"middle": [0, 8.5, 0]
}
},
{
"name": "locator_target",
"parent": "body_rotation",
"pivot": [0, 8.5, -6],
"locators": {
"target": [0, 8.5, -6]
}
},
{
"name": "face",
"parent": "body_rotation",
"pivot": [-0.05, 11.75, -3.41]
},
{
"name": "locator_mouth",
"parent": "face",
"pivot": [0, 10.25, -3.75],
"locators": {
"mouth": [0, 10.25, -3.75]
}
},
{
"name": "locator_item_face",
"parent": "face",
"pivot": [0, 11.75, -3.4],
"locators": {
"item_face": [0, 11.75, -3.4]
}
},
{
"name": "locator_face",
"parent": "face",
"pivot": [0, 11.75, -3.4],
"locators": {
"face": [0, 11.75, -3.4]
}
},
{
"name": "locator_special",
"parent": "face",
"pivot": [0, 10.5, -4.5],
"locators": {
"special": [0, 10.5, -4.5]
}
},
{
"name": "eyes",
"parent": "face",
"pivot": [-0.05, 11.75, -3.41]
},
{
"name": "eye_left",
"parent": "eyes",
"pivot": [1.9, 11.75, -3.41],
"cubes": [
{"origin": [1.4, 10.75, -3.41], "size": [1, 2, 1], "uv": [1, 33]}
]
},
{
"name": "eye_expression_left",
"parent": "eye_left",
"pivot": [1.9, 12.75, -2.82],
"cubes": [
{"origin": [1.4, 12.25, -3.32], "size": [1, 1, 1], "inflate": 0.01, "uv": [1, 37]}
]
},
{
"name": "pupil_left",
"parent": "eye_left",
"pivot": [1.65, 11.75, -3.42],
"cubes": [
{"origin": [1.15, 11.25, -3.42], "size": [1, 1, 1], "uv": [11, 33]}
]
},
{
"name": "locator_eye_left",
"parent": "pupil_left",
"pivot": [1.65, 11.75, -3.4],
"locators": {
"eye2": [1.65, 11.75, -3.4]
}
},
{
"name": "pupil_closed_left",
"parent": "eye_left",
"pivot": [1.75, 11.75, -3.32]
},
{
"name": "pupil_closed_left1",
"parent": "pupil_closed_left",
"pivot": [1.4, 11.75, -3.02],
"cubes": [
{"origin": [0.9, 11.25, -3.52], "size": [1, 1, 1], "inflate": -0.2, "uv": [1, 40]}
]
},
{
"name": "pupil_closed_left2",
"parent": "pupil_closed_left",
"pivot": [2, 11.75, -3.02],
"cubes": [
{"origin": [1.5, 11.25, -3.52], "size": [1, 1, 1], "inflate": -0.2, "uv": [1, 43]}
]
},
{
"name": "pupil_closed_left3",
"parent": "pupil_closed_left",
"pivot": [1.7, 11.45, -2.92],
"cubes": [
{"origin": [1.2, 10.95, -3.42], "size": [1, 1, 1], "inflate": -0.19, "uv": [11, 36]}
]
},
{
"name": "eye_right",
"parent": "eyes",
"pivot": [-1.9, 11.75, -3.41],
"cubes": [
{"origin": [-2.4, 10.75, -3.41], "size": [1, 2, 1], "uv": [6, 33], "mirror": true}
]
},
{
"name": "eye_expression_right",
"parent": "eye_right",
"pivot": [-1.9, 12.75, -2.82],
"cubes": [
{"origin": [-2.4, 12.25, -3.32], "size": [1, 1, 1], "inflate": 0.01, "uv": [6, 37], "mirror": true}
]
},
{
"name": "pupil_right",
"parent": "eye_right",
"pivot": [-1.65, 11.75, -3.42],
"cubes": [
{"origin": [-2.15, 11.25, -3.42], "size": [1, 1, 1], "uv": [16, 33], "mirror": true}
]
},
{
"name": "locator_eye_right",
"parent": "pupil_right",
"pivot": [-1.65, 11.75, -3.4],
"locators": {
"eye1": [-1.65, 11.75, -3.4]
}
},
{
"name": "pupil_closed_right",
"parent": "eye_right",
"pivot": [-1.75, 11.75, -3.32]
},
{
"name": "pupil_closed_right1",
"parent": "pupil_closed_right",
"pivot": [-1.4, 11.75, -3.02],
"cubes": [
{"origin": [-1.9, 11.25, -3.52], "size": [1, 1, 1], "inflate": -0.2, "uv": [6, 40], "mirror": true}
]
},
{
"name": "pupil_closed_right2",
"parent": "pupil_closed_right",
"pivot": [-2, 11.75, -3.02],
"cubes": [
{"origin": [-2.5, 11.25, -3.52], "size": [1, 1, 1], "inflate": -0.2, "uv": [6, 43], "mirror": true}
]
},
{
"name": "pupil_closed_right3",
"parent": "pupil_closed_right",
"pivot": [-1.7, 11.45, -2.92],
"cubes": [
{"origin": [-2.2, 10.95, -3.42], "size": [1, 1, 1], "inflate": -0.19, "uv": [16, 36], "mirror": true}
]
},
{
"name": "beak",
"parent": "face",
"pivot": [0, 11.5, -3.4],
"rotation": [45, 0, 0],
"cubes": [
{"origin": [-0.5, 10.5, -4.4], "size": [1, 1, 1], "uv": [1, 3]}
]
},
{
"name": "jaw",
"parent": "beak",
"pivot": [0, 10.495, -3.15],
"cubes": [
{"origin": [-0.5, 10.5, -3.41], "size": [1, 1, 0], "uv": [4, 17]},
{"origin": [-0.5, 10.5, -4.05], "size": [1, 0, 1], "pivot": [0, 10.5, -3.4], "rotation": [5, 0, 0], "uv": [3, 19]}
]
},
{
"name": "face_ditto",
"parent": "body_rotation",
"pivot": [0, 11.75, -3.3]
},
{
"name": "eyes_ditto",
"parent": "face_ditto",
"pivot": [0, 12.5, -3.32],
"cubes": [
{"origin": [-2, 12, -3.32], "size": [4, 1, 0], "uv": [22, 33]}
]
},
{
"name": "eyes_blink_ditto",
"parent": "face_ditto",
"pivot": [0, 12.5, -3.22],
"cubes": [
{"origin": [-2.5, 12, -3.22], "size": [5, 1, 0], "uv": [21, 35]},
{"origin": [-2, 12.5, -3.23], "size": [4, 1, 0], "uv": [22, 37]}
]
},
{
"name": "mouth_ditto",
"parent": "face_ditto",
"pivot": [0, 10.75, -3.3],
"cubes": [
{"origin": [-1.5, 10, -3.31], "size": [3, 1, 0], "uv": [23, 41]},
{"origin": [-2.5, 10.5, -3.31], "size": [5, 1, 0], "uv": [21, 39]}
]
},
{
"name": "mouth_open_ditto",
"parent": "face_ditto",
"pivot": [0, 10.5, -3.21],
"cubes": [
{"origin": [-2.5, 9.5, -3.21], "size": [5, 2, 0], "uv": [21, 43]}
]
},
{
"name": "segment1",
"parent": "body_rotation",
"pivot": [0, 10.1, 0],
"cubes": [
{"origin": [-2, 6.35, -1.5], "size": [4, 3, 3], "inflate": 0.12, "uv": [0, 10]}
]
},
{
"name": "leg_left1",
"parent": "segment1",
"pivot": [1.5, 7.85, -1.5],
"cubes": [
{"origin": [1, 7.35, -2.5], "size": [1, 1, 1], "inflate": 0.1, "uv": [17, 1]}
]
},
{
"name": "leg_right1",
"parent": "segment1",
"pivot": [-1.5, 7.85, -1.5],
"cubes": [
{"origin": [-2, 7.35, -2.5], "size": [1, 1, 1], "inflate": 0.1, "uv": [17, 3], "mirror": true}
]
},
{
"name": "segment2",
"parent": "segment1",
"pivot": [0, 6.6, 0],
"cubes": [
{"origin": [-2, 3.6, -1.5], "size": [4, 3, 3], "inflate": 0.06, "uv": [14, 10]}
]
},
{
"name": "leg_left2",
"parent": "segment2",
"pivot": [1.45, 5.1, -1.5],
"cubes": [
{"origin": [0.95, 4.6, -2.5], "size": [1, 1, 1], "inflate": 0.1, "uv": [22, 6]}
]
},
{
"name": "leg_right2",
"parent": "segment2",
"pivot": [-1.45, 5.1, -1.5],
"cubes": [
{"origin": [-1.95, 4.6, -2.5], "size": [1, 1, 1], "inflate": 0.1, "uv": [26, 6], "mirror": true}
]
},
{
"name": "segment3",
"parent": "segment2",
"pivot": [0, 4.1, 0],
"cubes": [
{"origin": [-2, 1.1, -1.5], "size": [4, 3, 3], "inflate": 0.01, "uv": [22, 0]}
]
},
{
"name": "leg_left3",
"parent": "segment3",
"pivot": [1.4, 2.6, -1.5],
"cubes": [
{"origin": [0.9, 2.1, -2.5], "size": [1, 1, 1], "inflate": 0.1, "uv": [22, 8]}
]
},
{
"name": "leg_right3",
"parent": "segment3",
"pivot": [-1.4, 2.6, -1.5],
"cubes": [
{"origin": [-1.9, 2.1, -2.5], "size": [1, 1, 1], "inflate": 0.1, "uv": [26, 8], "mirror": true}
]
},
{
"name": "spring",
"parent": "body_rotation",
"pivot": [-1, 14, 1],
"cubes": [
{"origin": [-1.95, 13.5, -2], "size": [4, 2, 4], "inflate": -0.25, "pivot": [0.05, 14.5, 0], "rotation": [2.5, 0, -5], "uv": [36, 0]}
]
},
{
"name": "spring2",
"parent": "spring",
"pivot": [1, 15.25, -1],
"cubes": [
{"origin": [-1.5, 14.75, -1.5], "size": [3, 2, 3], "pivot": [0, 15.75, 0], "rotation": [2.5, 0, -5], "uv": [34, 6]}
]
},
{
"name": "spring3",
"parent": "spring2",
"pivot": [-1, 16.75, 1],
"cubes": [
{"origin": [-1.5, 16.25, -1.5], "size": [3, 2, 3], "inflate": -0.25, "pivot": [0, 17.25, 0], "rotation": [0, 0, -2.5], "uv": [52, 0]}
]
},
{
"name": "spring4",
"parent": "spring3",
"pivot": [0, 18.25, 0],
"rotation": [0, -7.5, -27.5],
"cubes": [
{"origin": [-0.5, 17.75, -1], "size": [2, 1, 2], "uv": [29, 6]}
]
},
{
"name": "cloak_plant",
"parent": "body_rotation",
"pivot": [0, 13, 0],
"cubes": [
{"origin": [-3.5, 5, -3.5], "size": [7, 9, 7], "inflate": 0.005, "uv": [0, 16]},
{"origin": [-3, 2, -3], "size": [6, 3, 6], "inflate": 0.005, "uv": [22, 11]},
{"origin": [-3.5, 5, -3.5], "size": [7, 9, 7], "inflate": 0.35, "uv": [0, 48]},
{"origin": [-3, 2, -3], "size": [6, 3, 6], "inflate": 0.35, "uv": [28, 55]}
]
},
{
"name": "locator_item",
"parent": "cloak_plant",
"pivot": [-3.9, 7, 3.5],
"rotation": [-110, 15, -17.5],
"locators": {
"item": [-3.9, 7, 3.5]
}
},
{
"name": "locator_head",
"parent": "cloak_plant",
"pivot": [0, 14, -3.5],
"locators": {
"head": [0, 14, -3.5]
}
},
{
"name": "locator_item_hat",
"parent": "cloak_plant",
"pivot": [0, 15, 0],
"locators": {
"item_hat": [0, 15, 0]
}
},
{
"name": "locator_physical",
"parent": "cloak_plant",
"pivot": [0, 3.75, 0],
"locators": {
"physical": [0, 3.75, 0]
}
},
{
"name": "cloaked_face",
"parent": "cloak_plant",
"pivot": [0, 11.5, -3.5],
"cubes": [
{"origin": [-3, 9, -3.4], "size": [6, 5, 0], "uv": [30, 22]}
]
},
{
"name": "cloak_plant_bottom",
"parent": "cloak_plant",
"pivot": [0, 2, 0],
"cubes": [
{"origin": [-2.5, 0.25, 0], "size": [5, 2, 0], "uv": [23, 51]}
]
},
{
"name": "plant_cloak_stick_left",
"parent": "cloak_plant",
"pivot": [2.75, 2.25, 0],
"rotation": [0, 0, -20],
"cubes": [
{"origin": [2.25, 0, -0.5], "size": [1, 3, 1], "uv": [56, 60]}
]
},
{
"name": "plant_cloak_stick_right",
"parent": "cloak_plant",
"pivot": [-2.75, 2.25, 0],
"rotation": [0, 0, 20],
"cubes": [
{"origin": [-3.25, 0, -0.5], "size": [1, 3, 1], "uv": [60, 60], "mirror": true}
]
}
]
}
]
}
@@ -0,0 +1,457 @@
{
"format_version": "1.12.0",
"minecraft:geometry": [
{
"description": {
"identifier": "geometry.burmy_sandy",
"texture_width": 64,
"texture_height": 64,
"visible_bounds_width": 2,
"visible_bounds_height": 3.5,
"visible_bounds_offset": [0, 1.25, 0]
},
"bones": [
{
"name": "burmy_sandy",
"pivot": [0, 0, 0]
},
{
"name": "locator_root",
"parent": "burmy_sandy",
"pivot": [0, 0, 0],
"locators": {
"root": [0, 0, 0]
}
},
{
"name": "locator_top",
"parent": "burmy_sandy",
"pivot": [0, 24, 0],
"locators": {
"top": [0, 24, 0]
}
},
{
"name": "body",
"parent": "burmy_sandy",
"pivot": [0, 19, 0]
},
{
"name": "body_rotation",
"parent": "body",
"pivot": [0, 13, 0],
"cubes": [
{"origin": [-3, 9, -2.5], "size": [6, 5, 5], "inflate": -0.1, "uv": [0, 0]}
]
},
{
"name": "locator_middle",
"parent": "body_rotation",
"pivot": [0, 8.5, 0],
"locators": {
"middle": [0, 8.5, 0]
}
},
{
"name": "locator_target",
"parent": "body_rotation",
"pivot": [0, 8.5, -6],
"locators": {
"target": [0, 8.5, -6]
}
},
{
"name": "face",
"parent": "body_rotation",
"pivot": [-0.05, 11.75, -3.41]
},
{
"name": "locator_face",
"parent": "face",
"pivot": [0, 11.75, -3.4],
"locators": {
"face": [0, 11.75, -3.4]
}
},
{
"name": "locator_item_face",
"parent": "face",
"pivot": [0, 11.75, -3.4],
"locators": {
"item_face": [0, 11.75, -3.4]
}
},
{
"name": "locator_mouth",
"parent": "face",
"pivot": [0, 10.25, -3.75],
"locators": {
"mouth": [0, 10.25, -3.75]
}
},
{
"name": "locator_special",
"parent": "face",
"pivot": [0, 10.5, -4.5],
"locators": {
"special": [0, 10.75, -4.5]
}
},
{
"name": "eyes",
"parent": "face",
"pivot": [-0.05, 11.75, -3.41]
},
{
"name": "eye_left",
"parent": "eyes",
"pivot": [1.9, 11.75, -3.41],
"cubes": [
{"origin": [1.4, 10.75, -3.41], "size": [1, 2, 1], "uv": [1, 33]}
]
},
{
"name": "eye_expression_left",
"parent": "eye_left",
"pivot": [1.9, 12.75, -2.82],
"cubes": [
{"origin": [1.4, 12.25, -3.32], "size": [1, 1, 1], "inflate": 0.01, "uv": [1, 37]}
]
},
{
"name": "pupil_left",
"parent": "eye_left",
"pivot": [1.65, 11.75, -3.42],
"cubes": [
{"origin": [1.15, 11.25, -3.42], "size": [1, 1, 1], "uv": [11, 33]}
]
},
{
"name": "locator_eye_left",
"parent": "pupil_left",
"pivot": [1.65, 11.75, -3.4],
"locators": {
"eye2": [1.65, 11.75, -3.4]
}
},
{
"name": "pupil_closed_left",
"parent": "eye_left",
"pivot": [1.75, 11.75, -3.32]
},
{
"name": "pupil_closed_left1",
"parent": "pupil_closed_left",
"pivot": [1.4, 11.75, -3.02],
"cubes": [
{"origin": [0.9, 11.25, -3.52], "size": [1, 1, 1], "inflate": -0.2, "uv": [1, 40]}
]
},
{
"name": "pupil_closed_left2",
"parent": "pupil_closed_left",
"pivot": [2, 11.75, -3.02],
"cubes": [
{"origin": [1.5, 11.25, -3.52], "size": [1, 1, 1], "inflate": -0.2, "uv": [1, 43]}
]
},
{
"name": "pupil_closed_left3",
"parent": "pupil_closed_left",
"pivot": [1.7, 11.45, -2.92],
"cubes": [
{"origin": [1.2, 10.95, -3.42], "size": [1, 1, 1], "inflate": -0.19, "uv": [11, 36]}
]
},
{
"name": "eye_right",
"parent": "eyes",
"pivot": [-1.9, 11.75, -3.41],
"cubes": [
{"origin": [-2.4, 10.75, -3.41], "size": [1, 2, 1], "uv": [6, 33], "mirror": true}
]
},
{
"name": "eye_expression_right",
"parent": "eye_right",
"pivot": [-1.9, 12.75, -2.82],
"cubes": [
{"origin": [-2.4, 12.25, -3.32], "size": [1, 1, 1], "inflate": 0.01, "uv": [6, 37], "mirror": true}
]
},
{
"name": "pupil_right",
"parent": "eye_right",
"pivot": [-1.65, 11.75, -3.42],
"cubes": [
{"origin": [-2.15, 11.25, -3.42], "size": [1, 1, 1], "uv": [16, 33], "mirror": true}
]
},
{
"name": "locator_eye_right",
"parent": "pupil_right",
"pivot": [-1.65, 11.75, -3.4],
"locators": {
"eye1": [-1.65, 11.75, -3.4]
}
},
{
"name": "pupil_closed_right",
"parent": "eye_right",
"pivot": [-1.75, 11.75, -3.32]
},
{
"name": "pupil_closed_right1",
"parent": "pupil_closed_right",
"pivot": [-1.4, 11.75, -3.02],
"cubes": [
{"origin": [-1.9, 11.25, -3.52], "size": [1, 1, 1], "inflate": -0.2, "uv": [6, 40], "mirror": true}
]
},
{
"name": "pupil_closed_right2",
"parent": "pupil_closed_right",
"pivot": [-2, 11.75, -3.02],
"cubes": [
{"origin": [-2.5, 11.25, -3.52], "size": [1, 1, 1], "inflate": -0.2, "uv": [6, 43], "mirror": true}
]
},
{
"name": "pupil_closed_right3",
"parent": "pupil_closed_right",
"pivot": [-1.7, 11.45, -2.92],
"cubes": [
{"origin": [-2.2, 10.95, -3.42], "size": [1, 1, 1], "inflate": -0.19, "uv": [16, 36], "mirror": true}
]
},
{
"name": "beak",
"parent": "face",
"pivot": [0, 11.5, -3.4],
"rotation": [45, 0, 0],
"cubes": [
{"origin": [-0.5, 10.5, -4.4], "size": [1, 1, 1], "uv": [1, 3]}
]
},
{
"name": "jaw",
"parent": "beak",
"pivot": [0, 10.495, -3.15],
"cubes": [
{"origin": [-0.5, 10.5, -3.41], "size": [1, 1, 0], "uv": [4, 17]},
{"origin": [-0.5, 10.5, -4.05], "size": [1, 0, 1], "pivot": [0, 10.5, -3.4], "rotation": [5, 0, 0], "uv": [3, 19]}
]
},
{
"name": "face_ditto",
"parent": "body_rotation",
"pivot": [0, 11.75, -3.3]
},
{
"name": "eyes_ditto",
"parent": "face_ditto",
"pivot": [0, 12.5, -3.32],
"cubes": [
{"origin": [-2, 12, -3.32], "size": [4, 1, 0], "uv": [22, 33]}
]
},
{
"name": "eyes_blink_ditto",
"parent": "face_ditto",
"pivot": [0, 12.5, -3.22],
"cubes": [
{"origin": [-2.5, 12, -3.22], "size": [5, 1, 0], "uv": [21, 35]},
{"origin": [-2, 12.5, -3.23], "size": [4, 1, 0], "uv": [22, 37]}
]
},
{
"name": "mouth_ditto",
"parent": "face_ditto",
"pivot": [0, 10.75, -3.3],
"cubes": [
{"origin": [-1.5, 10, -3.31], "size": [3, 1, 0], "uv": [23, 41]},
{"origin": [-2.5, 10.5, -3.31], "size": [5, 1, 0], "uv": [21, 39]}
]
},
{
"name": "mouth_open_ditto",
"parent": "face_ditto",
"pivot": [0, 10.5, -3.21],
"cubes": [
{"origin": [-2.5, 9.5, -3.21], "size": [5, 2, 0], "uv": [21, 43]}
]
},
{
"name": "segment1",
"parent": "body_rotation",
"pivot": [0, 10.1, 0],
"cubes": [
{"origin": [-2, 6.35, -1.5], "size": [4, 3, 3], "inflate": 0.12, "uv": [0, 10]}
]
},
{
"name": "leg_left1",
"parent": "segment1",
"pivot": [1.5, 7.85, -1.5],
"cubes": [
{"origin": [1, 7.35, -2.5], "size": [1, 1, 1], "inflate": 0.1, "uv": [17, 1]}
]
},
{
"name": "leg_right1",
"parent": "segment1",
"pivot": [-1.5, 7.85, -1.5],
"cubes": [
{"origin": [-2, 7.35, -2.5], "size": [1, 1, 1], "inflate": 0.1, "uv": [17, 3], "mirror": true}
]
},
{
"name": "segment2",
"parent": "segment1",
"pivot": [0, 6.6, 0],
"cubes": [
{"origin": [-2, 3.6, -1.5], "size": [4, 3, 3], "inflate": 0.06, "uv": [14, 10]}
]
},
{
"name": "leg_left2",
"parent": "segment2",
"pivot": [1.45, 5.1, -1.5],
"cubes": [
{"origin": [0.95, 4.6, -2.5], "size": [1, 1, 1], "inflate": 0.1, "uv": [22, 6]}
]
},
{
"name": "leg_right2",
"parent": "segment2",
"pivot": [-1.45, 5.1, -1.5],
"cubes": [
{"origin": [-1.95, 4.6, -2.5], "size": [1, 1, 1], "inflate": 0.1, "uv": [26, 6], "mirror": true}
]
},
{
"name": "segment3",
"parent": "segment2",
"pivot": [0, 4.1, 0],
"cubes": [
{"origin": [-2, 1.1, -1.5], "size": [4, 3, 3], "inflate": 0.01, "uv": [22, 0]}
]
},
{
"name": "leg_left3",
"parent": "segment3",
"pivot": [1.4, 2.6, -1.5],
"cubes": [
{"origin": [0.9, 2.1, -2.5], "size": [1, 1, 1], "inflate": 0.1, "uv": [22, 8]}
]
},
{
"name": "leg_right3",
"parent": "segment3",
"pivot": [-1.4, 2.6, -1.5],
"cubes": [
{"origin": [-1.9, 2.1, -2.5], "size": [1, 1, 1], "inflate": 0.1, "uv": [26, 8], "mirror": true}
]
},
{
"name": "spring",
"parent": "body_rotation",
"pivot": [-1, 14, 1],
"cubes": [
{"origin": [-1.95, 13.5, -2], "size": [4, 2, 4], "inflate": -0.25, "pivot": [0.05, 14.5, 0], "rotation": [2.5, 0, -5], "uv": [36, 0]}
]
},
{
"name": "spring2",
"parent": "spring",
"pivot": [1, 15.25, -1],
"cubes": [
{"origin": [-1.5, 14.75, -1.5], "size": [3, 2, 3], "pivot": [0, 15.75, 0], "rotation": [2.5, 0, -5], "uv": [34, 6]}
]
},
{
"name": "spring3",
"parent": "spring2",
"pivot": [-1, 16.75, 1],
"cubes": [
{"origin": [-1.5, 16.25, -1.5], "size": [3, 2, 3], "inflate": -0.25, "pivot": [0, 17.25, 0], "rotation": [0, 0, -2.5], "uv": [52, 0]}
]
},
{
"name": "spring4",
"parent": "spring3",
"pivot": [0, 18.25, 0],
"rotation": [0, -7.5, -27.5],
"cubes": [
{"origin": [-0.5, 17.75, -1], "size": [2, 1, 2], "uv": [29, 6]}
]
},
{
"name": "cloak_sandy",
"parent": "body_rotation",
"pivot": [0, 13, 0],
"cubes": [
{"origin": [-3.5, 5, -3.5], "size": [7, 9, 7], "inflate": 0.005, "uv": [0, 16]},
{"origin": [-3, 2, -3], "size": [6, 3, 6], "inflate": 0.005, "uv": [22, 11]},
{"origin": [-3.5, 5, -3.5], "size": [7, 9, 7], "inflate": 0.2, "uv": [0, 48]},
{"origin": [-3, 2, -3], "size": [6, 3, 6], "inflate": 0.2, "uv": [28, 55]}
]
},
{
"name": "locator_item_hat",
"parent": "cloak_sandy",
"pivot": [0, 15, 0],
"locators": {
"item_hat": [0, 15, 0]
}
},
{
"name": "locator_head",
"parent": "cloak_sandy",
"pivot": [0, 14, -3.5],
"locators": {
"head": [0, 14, -3.5]
}
},
{
"name": "locator_item",
"parent": "cloak_sandy",
"pivot": [-3.9, 7, 3.5],
"rotation": [-110, 15, -17.5],
"locators": {
"item": [-3.9, 7, 3.5]
}
},
{
"name": "locator_physical",
"parent": "cloak_sandy",
"pivot": [0, 3.75, 0],
"locators": {
"physical": [0, 3.75, 0]
}
},
{
"name": "cloaked_face",
"parent": "cloak_sandy",
"pivot": [0, 11.5, -3.5],
"cubes": [
{"origin": [-3, 9, -3.4], "size": [6, 5, 0], "uv": [30, 22]}
]
},
{
"name": "sand_cloak_stones",
"parent": "cloak_sandy",
"pivot": [0, 9, 0],
"cubes": [
{"origin": [-1, 4.5, -4.1], "size": [2, 2, 1], "uv": [58, 61]},
{"origin": [-2.15, 7.75, -3.95], "size": [1, 1, 1], "inflate": 0.15, "pivot": [-1.65, 8.25, -3.45], "rotation": [0, 0, 5], "uv": [54, 62]},
{"origin": [2, 6.5, -4], "size": [1, 1, 1], "inflate": 0.1, "pivot": [2.5, 7, -3.5], "rotation": [0, 0, -5], "uv": [55, 60]},
{"origin": [1.5, 8.75, 2.975], "size": [1, 1, 1], "inflate": 0.15, "pivot": [2, 9.25, 3.475], "rotation": [0, 0, 5], "uv": [60, 54]},
{"origin": [-2.5, 8, 2.975], "size": [1, 1, 1], "inflate": 0.15, "pivot": [-2, 8.5, 3.475], "rotation": [0, 0, -2.5], "uv": [60, 56]},
{"origin": [0, 4.75, 3.225], "size": [2, 2, 1], "inflate": -0.1, "uv": [58, 58]}
]
}
]
}
]
}
@@ -0,0 +1,472 @@
{
"format_version": "1.12.0",
"minecraft:geometry": [
{
"description": {
"identifier": "geometry.burmy_trash",
"texture_width": 64,
"texture_height": 64,
"visible_bounds_width": 2,
"visible_bounds_height": 3.5,
"visible_bounds_offset": [0, 1.25, 0]
},
"bones": [
{
"name": "burmy_trash",
"pivot": [0, 0, 0]
},
{
"name": "locator_root",
"parent": "burmy_trash",
"pivot": [0, 0, 0],
"locators": {
"root": [0, 0, 0]
}
},
{
"name": "locator_top",
"parent": "burmy_trash",
"pivot": [0, 24, 0],
"locators": {
"top": [0, 24, 0]
}
},
{
"name": "body",
"parent": "burmy_trash",
"pivot": [0, 19, 0]
},
{
"name": "body_rotation",
"parent": "body",
"pivot": [0, 13, 0],
"cubes": [
{"origin": [-3, 9, -2.5], "size": [6, 5, 5], "inflate": -0.1, "uv": [0, 0]}
]
},
{
"name": "locator_middle",
"parent": "body_rotation",
"pivot": [0, 8.5, 0],
"locators": {
"middle": [0, 8.5, 0]
}
},
{
"name": "locator_target",
"parent": "body_rotation",
"pivot": [0, 8.5, -6],
"locators": {
"target": [0, 8.5, -6]
}
},
{
"name": "face",
"parent": "body_rotation",
"pivot": [-0.05, 11.75, -3.41]
},
{
"name": "locator_mouth",
"parent": "face",
"pivot": [0, 10.25, -3.75],
"locators": {
"mouth": [0, 10.25, -3.75]
}
},
{
"name": "locator_item_face",
"parent": "face",
"pivot": [0, 11.75, -3.4],
"locators": {
"item_face": [0, 11.75, -3.4]
}
},
{
"name": "locator_face",
"parent": "face",
"pivot": [0, 11.75, -3.4],
"locators": {
"face": [0, 11.75, -3.4]
}
},
{
"name": "locator_special",
"parent": "face",
"pivot": [0, 10.5, -4.5],
"locators": {
"special": [0, 10.5, -4.5]
}
},
{
"name": "eyes",
"parent": "face",
"pivot": [-0.05, 11.75, -3.41]
},
{
"name": "eye_left",
"parent": "eyes",
"pivot": [1.9, 11.75, -3.41],
"cubes": [
{"origin": [1.4, 10.75, -3.41], "size": [1, 2, 1], "uv": [1, 33]}
]
},
{
"name": "eye_expression_left",
"parent": "eye_left",
"pivot": [1.9, 12.75, -2.82],
"cubes": [
{"origin": [1.4, 12.25, -3.32], "size": [1, 1, 1], "inflate": 0.01, "uv": [1, 37]}
]
},
{
"name": "pupil_left",
"parent": "eye_left",
"pivot": [1.65, 11.75, -3.42],
"cubes": [
{"origin": [1.15, 11.25, -3.42], "size": [1, 1, 1], "uv": [11, 33]}
]
},
{
"name": "locator_eye_left",
"parent": "pupil_left",
"pivot": [1.65, 11.75, -3.4],
"locators": {
"eye2": [1.65, 11.75, -3.4]
}
},
{
"name": "pupil_closed_left",
"parent": "eye_left",
"pivot": [1.75, 11.75, -3.32]
},
{
"name": "pupil_closed_left1",
"parent": "pupil_closed_left",
"pivot": [1.4, 11.75, -3.02],
"cubes": [
{"origin": [0.9, 11.25, -3.52], "size": [1, 1, 1], "inflate": -0.2, "uv": [1, 40]}
]
},
{
"name": "pupil_closed_left2",
"parent": "pupil_closed_left",
"pivot": [2, 11.75, -3.02],
"cubes": [
{"origin": [1.5, 11.25, -3.52], "size": [1, 1, 1], "inflate": -0.2, "uv": [1, 43]}
]
},
{
"name": "pupil_closed_left3",
"parent": "pupil_closed_left",
"pivot": [1.7, 11.45, -2.92],
"cubes": [
{"origin": [1.2, 10.95, -3.42], "size": [1, 1, 1], "inflate": -0.19, "uv": [11, 36]}
]
},
{
"name": "eye_right",
"parent": "eyes",
"pivot": [-1.9, 11.75, -3.41],
"cubes": [
{"origin": [-2.4, 10.75, -3.41], "size": [1, 2, 1], "uv": [6, 33], "mirror": true}
]
},
{
"name": "eye_expression_right",
"parent": "eye_right",
"pivot": [-1.9, 12.75, -2.82],
"cubes": [
{"origin": [-2.4, 12.25, -3.32], "size": [1, 1, 1], "inflate": 0.01, "uv": [6, 37], "mirror": true}
]
},
{
"name": "pupil_right",
"parent": "eye_right",
"pivot": [-1.65, 11.75, -3.42],
"cubes": [
{"origin": [-2.15, 11.25, -3.42], "size": [1, 1, 1], "uv": [16, 33], "mirror": true}
]
},
{
"name": "locator_eye_right",
"parent": "pupil_right",
"pivot": [-1.65, 11.75, -3.4],
"locators": {
"eye1": [-1.65, 11.75, -3.4]
}
},
{
"name": "pupil_closed_right",
"parent": "eye_right",
"pivot": [-1.75, 11.75, -3.32]
},
{
"name": "pupil_closed_right1",
"parent": "pupil_closed_right",
"pivot": [-1.4, 11.75, -3.02],
"cubes": [
{"origin": [-1.9, 11.25, -3.52], "size": [1, 1, 1], "inflate": -0.2, "uv": [6, 40], "mirror": true}
]
},
{
"name": "pupil_closed_right2",
"parent": "pupil_closed_right",
"pivot": [-2, 11.75, -3.02],
"cubes": [
{"origin": [-2.5, 11.25, -3.52], "size": [1, 1, 1], "inflate": -0.2, "uv": [6, 43], "mirror": true}
]
},
{
"name": "pupil_closed_right3",
"parent": "pupil_closed_right",
"pivot": [-1.7, 11.45, -2.92],
"cubes": [
{"origin": [-2.2, 10.95, -3.42], "size": [1, 1, 1], "inflate": -0.19, "uv": [16, 36], "mirror": true}
]
},
{
"name": "beak",
"parent": "face",
"pivot": [0, 11.5, -3.4],
"rotation": [45, 0, 0],
"cubes": [
{"origin": [-0.5, 10.5, -4.4], "size": [1, 1, 1], "uv": [1, 3]}
]
},
{
"name": "jaw",
"parent": "beak",
"pivot": [0, 10.495, -3.15],
"cubes": [
{"origin": [-0.5, 10.5, -3.41], "size": [1, 1, 0], "uv": [4, 17]},
{"origin": [-0.5, 10.5, -4.05], "size": [1, 0, 1], "pivot": [0, 10.5, -3.4], "rotation": [5, 0, 0], "uv": [3, 19]}
]
},
{
"name": "face_ditto",
"parent": "body_rotation",
"pivot": [0, 11.75, -3.3]
},
{
"name": "eyes_ditto",
"parent": "face_ditto",
"pivot": [0, 12.5, -3.32],
"cubes": [
{"origin": [-2, 12, -3.32], "size": [4, 1, 0], "uv": [22, 33]}
]
},
{
"name": "eyes_blink_ditto",
"parent": "face_ditto",
"pivot": [0, 12.5, -3.22],
"cubes": [
{"origin": [-2.5, 12, -3.22], "size": [5, 1, 0], "uv": [21, 35]},
{"origin": [-2, 12.5, -3.23], "size": [4, 1, 0], "uv": [22, 37]}
]
},
{
"name": "mouth_ditto",
"parent": "face_ditto",
"pivot": [0, 10.75, -3.3],
"cubes": [
{"origin": [-1.5, 10, -3.31], "size": [3, 1, 0], "uv": [23, 41]},
{"origin": [-2.5, 10.5, -3.31], "size": [5, 1, 0], "uv": [21, 39]}
]
},
{
"name": "mouth_open_ditto",
"parent": "face_ditto",
"pivot": [0, 10.5, -3.21],
"cubes": [
{"origin": [-2.5, 9.5, -3.21], "size": [5, 2, 0], "uv": [21, 43]}
]
},
{
"name": "segment1",
"parent": "body_rotation",
"pivot": [0, 10.1, 0],
"cubes": [
{"origin": [-2, 6.35, -1.5], "size": [4, 3, 3], "inflate": 0.12, "uv": [0, 10]}
]
},
{
"name": "leg_left1",
"parent": "segment1",
"pivot": [1.5, 7.85, -1.5],
"cubes": [
{"origin": [1, 7.35, -2.5], "size": [1, 1, 1], "inflate": 0.1, "uv": [17, 1]}
]
},
{
"name": "leg_right1",
"parent": "segment1",
"pivot": [-1.5, 7.85, -1.5],
"cubes": [
{"origin": [-2, 7.35, -2.5], "size": [1, 1, 1], "inflate": 0.1, "uv": [17, 3], "mirror": true}
]
},
{
"name": "segment2",
"parent": "segment1",
"pivot": [0, 6.6, 0],
"cubes": [
{"origin": [-2, 3.6, -1.5], "size": [4, 3, 3], "inflate": 0.06, "uv": [14, 10]}
]
},
{
"name": "leg_left2",
"parent": "segment2",
"pivot": [1.45, 5.1, -1.5],
"cubes": [
{"origin": [0.95, 4.6, -2.5], "size": [1, 1, 1], "inflate": 0.1, "uv": [22, 6]}
]
},
{
"name": "leg_right2",
"parent": "segment2",
"pivot": [-1.45, 5.1, -1.5],
"cubes": [
{"origin": [-1.95, 4.6, -2.5], "size": [1, 1, 1], "inflate": 0.1, "uv": [26, 6], "mirror": true}
]
},
{
"name": "segment3",
"parent": "segment2",
"pivot": [0, 4.1, 0],
"cubes": [
{"origin": [-2, 1.1, -1.5], "size": [4, 3, 3], "inflate": 0.01, "uv": [22, 0]}
]
},
{
"name": "leg_left3",
"parent": "segment3",
"pivot": [1.4, 2.6, -1.5],
"cubes": [
{"origin": [0.9, 2.1, -2.5], "size": [1, 1, 1], "inflate": 0.1, "uv": [22, 8]}
]
},
{
"name": "leg_right3",
"parent": "segment3",
"pivot": [-1.4, 2.6, -1.5],
"cubes": [
{"origin": [-1.9, 2.1, -2.5], "size": [1, 1, 1], "inflate": 0.1, "uv": [26, 8], "mirror": true}
]
},
{
"name": "spring",
"parent": "body_rotation",
"pivot": [-1, 14, 1],
"cubes": [
{"origin": [-1.95, 13.5, -2], "size": [4, 2, 4], "inflate": -0.25, "pivot": [0.05, 14.5, 0], "rotation": [2.5, 0, -5], "uv": [36, 0]}
]
},
{
"name": "spring2",
"parent": "spring",
"pivot": [1, 15.25, -1],
"cubes": [
{"origin": [-1.5, 14.75, -1.5], "size": [3, 2, 3], "pivot": [0, 15.75, 0], "rotation": [2.5, 0, -5], "uv": [34, 6]}
]
},
{
"name": "spring3",
"parent": "spring2",
"pivot": [-1, 16.75, 1],
"cubes": [
{"origin": [-1.5, 16.25, -1.5], "size": [3, 2, 3], "inflate": -0.25, "pivot": [0, 17.25, 0], "rotation": [0, 0, -2.5], "uv": [52, 0]}
]
},
{
"name": "spring4",
"parent": "spring3",
"pivot": [0, 18.25, 0],
"rotation": [0, -7.5, -27.5],
"cubes": [
{"origin": [-0.5, 17.75, -1], "size": [2, 1, 2], "uv": [29, 6]}
]
},
{
"name": "cloak_trash",
"parent": "body_rotation",
"pivot": [0, 13, 0],
"cubes": [
{"origin": [-3.5, 5, -3.5], "size": [7, 9, 7], "inflate": 0.005, "uv": [0, 16]},
{"origin": [-3, 2, -3], "size": [6, 3, 6], "inflate": 0.005, "uv": [22, 11]},
{"origin": [-3.5, 5, -3.5], "size": [7, 9, 7], "inflate": 0.35, "uv": [0, 48]},
{"origin": [-3, 2, -3], "size": [6, 3, 6], "inflate": 0.35, "uv": [28, 55]}
]
},
{
"name": "locator_item_hat",
"parent": "cloak_trash",
"pivot": [0, 15, 0],
"locators": {
"item_hat": [0, 15, 0]
}
},
{
"name": "locator_head",
"parent": "cloak_trash",
"pivot": [0, 14, -3.5],
"locators": {
"head": [0, 14, -3.5]
}
},
{
"name": "locator_item",
"parent": "cloak_trash",
"pivot": [-3.9, 7, 3.5],
"rotation": [-110, 15, -17.5],
"locators": {
"item": [-3.9, 7, 3.5]
}
},
{
"name": "locator_physical",
"parent": "cloak_trash",
"pivot": [0, 3.75, 0],
"locators": {
"physical": [0, 3.75, 0]
}
},
{
"name": "cloaked_face",
"parent": "cloak_trash",
"pivot": [0, 11.5, -3.5],
"cubes": [
{"origin": [-3, 9, -3.4], "size": [6, 5, 0], "uv": [30, 22]}
]
},
{
"name": "cloak_trash_bottom",
"parent": "cloak_trash",
"pivot": [0, 2, 0],
"cubes": [
{"origin": [-1.5, -0.25, 0], "size": [3, 3, 0], "uv": [24, 50]}
]
},
{
"name": "trash_cloak_stick_left",
"parent": "cloak_trash",
"pivot": [2.5, 6.25, -3.5],
"rotation": [-32.5, -20, -15],
"cubes": [
{"origin": [2, 4, -4], "size": [1, 3, 1], "uv": [56, 60]},
{"origin": [2, 1, -4.5], "size": [1, 3, 1], "uv": [56, 56]}
]
},
{
"name": "trash_cloak_stick_right",
"parent": "cloak_trash",
"pivot": [-2.5, 6.25, -3.5],
"rotation": [-32.5, 20, 15],
"cubes": [
{"origin": [-3, 4, -4], "size": [1, 3, 1], "uv": [60, 60], "mirror": true},
{"origin": [-3, 1, -4.5], "size": [1, 3, 1], "uv": [60, 56], "mirror": true}
]
}
]
}
]
}
@@ -0,0 +1,580 @@
{
"format_version": "1.12.0",
"minecraft:geometry": [
{
"description": {
"identifier": "geometry.wormadam_plant",
"texture_width": 64,
"texture_height": 64,
"visible_bounds_width": 3,
"visible_bounds_height": 3.5,
"visible_bounds_offset": [0, 1.25, 0]
},
"bones": [
{
"name": "wormadam_plant",
"pivot": [0, 0, 0]
},
{
"name": "locator_top",
"parent": "wormadam_plant",
"pivot": [0, 27.5, 0],
"locators": {
"top": [0, 27.5, 0]
}
},
{
"name": "locator_root",
"parent": "wormadam_plant",
"pivot": [0, 0, 0],
"locators": {
"root": [0, 0, 0]
}
},
{
"name": "body",
"parent": "wormadam_plant",
"pivot": [0, 26.25, 0.25]
},
{
"name": "locator_middle",
"parent": "body",
"pivot": [0, 8.5, 0],
"locators": {
"middle": [0, 8.5, 0]
}
},
{
"name": "locator_target",
"parent": "body",
"pivot": [0, 8.5, -8],
"locators": {
"target": [0, 8.5, -8]
}
},
{
"name": "body_rotation",
"parent": "body",
"pivot": [0, 14.75, 0.25],
"cubes": [
{"origin": [-3, 11.25, -3], "size": [6, 4, 6], "inflate": -0.25, "uv": [0, 0]}
]
},
{
"name": "locator_item_hat",
"parent": "body_rotation",
"pivot": [0, 15.5, 0],
"locators": {
"item_hat": [0, 15.5, 0]
}
},
{
"name": "locator_head",
"parent": "body_rotation",
"pivot": [0, 15, -2.75],
"locators": {
"head": [0, 15, -2.75]
}
},
{
"name": "locator_item_face",
"parent": "body_rotation",
"pivot": [0, 13, -2.75],
"locators": {
"item_face": [0, 13, -2.75]
}
},
{
"name": "locator_face",
"parent": "body_rotation",
"pivot": [0, 13, -2.75],
"locators": {
"face": [0, 13, -2.75]
}
},
{
"name": "locator_special",
"parent": "body_rotation",
"pivot": [0, 11.5, -6.25],
"locators": {
"special": [0, 11.5, -6.25]
}
},
{
"name": "face",
"parent": "body_rotation",
"pivot": [0, 13, -2.75]
},
{
"name": "nose",
"parent": "face",
"pivot": [0, 12.75, -3],
"rotation": [17.5, 0, 0],
"cubes": [
{"origin": [-0.5, 11.75, -6.25], "size": [1, 1, 4], "uv": [54, 3]}
]
},
{
"name": "eyes",
"parent": "face",
"pivot": [-0.05, 12.75, -2.76]
},
{
"name": "eye_left",
"parent": "eyes",
"pivot": [1.8, 12.75, -2.76],
"cubes": [
{"origin": [1.3, 11.75, -2.76], "size": [1, 2, 1], "uv": [1, 11]},
{"origin": [1.1, 13.65, -2.85], "size": [1, 1, 1], "inflate": -0.1, "pivot": [1.6, 14.15, -2.835], "rotation": [0, 1, 0], "uv": [11, 20]}
]
},
{
"name": "eye_expression_left",
"parent": "eye_left",
"pivot": [1.8, 13.75, -2.17],
"cubes": [
{"origin": [1.3, 13.25, -2.67], "size": [1, 1, 1], "inflate": 0.01, "uv": [1, 15]}
]
},
{
"name": "pupil_left",
"parent": "eye_left",
"pivot": [1.55, 12.75, -2.77],
"cubes": [
{"origin": [1.05, 12.25, -2.77], "size": [1, 1, 1], "uv": [1, 24]}
]
},
{
"name": "locator_eye_left",
"parent": "pupil_left",
"pivot": [1.55, 12.75, -2.75],
"locators": {
"eye2": [1.55, 12.75, -2.75]
}
},
{
"name": "pupil_closed_left",
"parent": "eye_left",
"pivot": [1.65, 12.75, -2.67]
},
{
"name": "pupil_closed_left1",
"parent": "pupil_closed_left",
"pivot": [1.3, 12.75, -2.37],
"cubes": [
{"origin": [0.8, 12.25, -2.87], "size": [1, 1, 1], "inflate": -0.2, "uv": [1, 18]}
]
},
{
"name": "pupil_closed_left2",
"parent": "pupil_closed_left",
"pivot": [1.9, 12.75, -2.37],
"cubes": [
{"origin": [1.4, 12.25, -2.87], "size": [1, 1, 1], "inflate": -0.2, "uv": [1, 21]}
]
},
{
"name": "pupil_closed_left3",
"parent": "pupil_closed_left",
"pivot": [1.6, 12.45, -2.27],
"cubes": [
{"origin": [1.1, 11.95, -2.77], "size": [1, 1, 1], "inflate": -0.19, "uv": [1, 27]}
]
},
{
"name": "eye_right",
"parent": "eyes",
"pivot": [-1.8, 12.75, -2.76],
"cubes": [
{"origin": [-2.3, 11.75, -2.76], "size": [1, 2, 1], "uv": [6, 11], "mirror": true},
{"origin": [-2.1, 13.65, -2.85], "size": [1, 1, 1], "inflate": -0.1, "pivot": [-1.6, 14.15, -2.835], "rotation": [0, -1, 0], "uv": [16, 20], "mirror": true}
]
},
{
"name": "eye_expression_right",
"parent": "eye_right",
"pivot": [-1.8, 13.75, -2.17],
"cubes": [
{"origin": [-2.3, 13.25, -2.67], "size": [1, 1, 1], "inflate": 0.01, "uv": [6, 15], "mirror": true}
]
},
{
"name": "pupil_right",
"parent": "eye_right",
"pivot": [-1.55, 12.75, -2.77],
"cubes": [
{"origin": [-2.05, 12.25, -2.77], "size": [1, 1, 1], "uv": [6, 24], "mirror": true}
]
},
{
"name": "locator_eye_right",
"parent": "pupil_right",
"pivot": [-1.55, 12.75, -2.75],
"locators": {
"eye1": [-1.55, 12.75, -2.75]
}
},
{
"name": "pupil_closed_right",
"parent": "eye_right",
"pivot": [-1.65, 12.75, -2.67]
},
{
"name": "pupil_closed_right1",
"parent": "pupil_closed_right",
"pivot": [-1.3, 12.75, -2.37],
"cubes": [
{"origin": [-1.8, 12.25, -2.87], "size": [1, 1, 1], "inflate": -0.2, "uv": [6, 18], "mirror": true}
]
},
{
"name": "pupil_closed_right2",
"parent": "pupil_closed_right",
"pivot": [-1.9, 12.75, -2.37],
"cubes": [
{"origin": [-2.4, 12.25, -2.87], "size": [1, 1, 1], "inflate": -0.2, "uv": [6, 21], "mirror": true}
]
},
{
"name": "pupil_closed_right3",
"parent": "pupil_closed_right",
"pivot": [-1.6, 12.45, -2.27],
"cubes": [
{"origin": [-2.1, 11.95, -2.77], "size": [1, 1, 1], "inflate": -0.19, "uv": [6, 27], "mirror": true}
]
},
{
"name": "face_ditto",
"parent": "body_rotation",
"pivot": [0, 12.85, -2.65]
},
{
"name": "eyes_ditto",
"parent": "face_ditto",
"pivot": [0, 12.85, -2.67],
"cubes": [
{"origin": [-2, 12.35, -2.67], "size": [4, 1, 0], "uv": [12, 23]}
]
},
{
"name": "eyes_blink_ditto",
"parent": "face_ditto",
"pivot": [0, 12.85, -2.57],
"cubes": [
{"origin": [-2.5, 12.35, -2.57], "size": [5, 1, 0], "uv": [11, 25]},
{"origin": [-2, 12.85, -2.58], "size": [4, 1, 0], "uv": [12, 27]}
]
},
{
"name": "antenna",
"parent": "body_rotation",
"pivot": [0, 15.25, 0.25],
"cubes": [
{"origin": [-0.5, 14.25, -0.25], "size": [1, 5, 1], "inflate": 0.03, "uv": [2, 0]}
]
},
{
"name": "antenna2",
"parent": "antenna",
"pivot": [0, 19.25, 0.25],
"cubes": [
{"origin": [-0.5, 18.75, -0.25], "size": [1, 5, 1], "uv": [18, 0]}
]
},
{
"name": "antenna_end",
"parent": "antenna2",
"pivot": [0, 23.5, 0.25],
"rotation": [0, 0, -25],
"cubes": [
{"origin": [-1.75, 22, -1.25], "size": [3, 2, 3], "inflate": -0.25, "uv": [50, 8]}
]
},
{
"name": "antenna_end2",
"parent": "antenna_end",
"pivot": [-0.15, 23.75, 0.25],
"rotation": [0, 0, 35],
"cubes": [
{"origin": [-0.65, 23.4, -0.25], "size": [1, 3, 1], "inflate": 0.05, "uv": [50, 4]}
]
},
{
"name": "ears",
"parent": "body_rotation",
"pivot": [0, 15, 0.25]
},
{
"name": "ear_left",
"parent": "ears",
"pivot": [2, 15, 1],
"cubes": [
{"origin": [2, 15, -0.5], "size": [2, 0, 3], "inflate": 0.01, "uv": [-3, 61]}
]
},
{
"name": "ear_left2",
"parent": "ear_left",
"pivot": [4, 15, 1],
"cubes": [
{"origin": [4, 15, -1.5], "size": [3, 0, 5], "uv": [6, 59]}
]
},
{
"name": "ear_left3",
"parent": "ear_left2",
"pivot": [7, 15, 1],
"cubes": [
{"origin": [7, 15, -1.5], "size": [4, 0, 5], "uv": [23, 59]}
]
},
{
"name": "ear_left4",
"parent": "ear_left3",
"pivot": [11, 15, 1],
"cubes": [
{"origin": [11, 15, -1.5], "size": [3, 0, 5], "uv": [44, 59]}
]
},
{
"name": "ear_back_left",
"parent": "ears",
"pivot": [1.75, 15, 1.5],
"cubes": [
{"origin": [0.75, 15, 1.5], "size": [2, 3, 0], "uv": [0, 57]}
]
},
{
"name": "ear_right",
"parent": "ears",
"pivot": [-2, 15, 1],
"cubes": [
{"origin": [-4, 15, -0.5], "size": [2, 0, 3], "inflate": 0.01, "uv": [2, 61], "mirror": true}
]
},
{
"name": "ear_right2",
"parent": "ear_right",
"pivot": [-4, 15, 1],
"cubes": [
{"origin": [-7, 15, -1.5], "size": [3, 0, 5], "uv": [14, 59], "mirror": true}
]
},
{
"name": "ear_right3",
"parent": "ear_right2",
"pivot": [-7, 15, 1],
"cubes": [
{"origin": [-11, 15, -1.5], "size": [4, 0, 5], "uv": [33, 59], "mirror": true}
]
},
{
"name": "ear_right4",
"parent": "ear_right3",
"pivot": [-11, 15, 1],
"cubes": [
{"origin": [-14, 15, -1.5], "size": [3, 0, 5], "uv": [52, 59], "mirror": true}
]
},
{
"name": "ear_back_right",
"parent": "ears",
"pivot": [-1.75, 15, 1.5],
"cubes": [
{"origin": [-2.75, 15, 1.5], "size": [2, 3, 0], "uv": [5, 57], "mirror": true}
]
},
{
"name": "chest",
"parent": "body_rotation",
"pivot": [0, 14.65, 0.25],
"cubes": [
{"origin": [-6.5, 7.15, -6.25], "size": [13, 5, 13], "pivot": [0, 11.65, 0.25], "rotation": [5, 0, 0], "uv": [11, 0]}
]
},
{
"name": "locator_item",
"parent": "chest",
"pivot": [-6.9, 11.5, 5],
"rotation": [-110, 15, -17.5],
"locators": {
"item": [-6.9, 11.5, 5]
}
},
{
"name": "chest_details",
"parent": "chest",
"pivot": [4, 12.25, 0.5]
},
{
"name": "chest_fluff_left",
"parent": "chest_details",
"pivot": [3, 12.25, 0.5],
"rotation": [5, 0, 0]
},
{
"name": "chest_fluff_left1",
"parent": "chest_fluff_left",
"pivot": [4.5, 12.15, -1],
"rotation": [0, -5, -2.5],
"cubes": [
{"origin": [5, 12.15, -2], "size": [3, 0, 7], "uv": [12, 45]}
]
},
{
"name": "chest_fluff_left2",
"parent": "chest_fluff_left",
"pivot": [6.25, 11, 0.5],
"rotation": [0, -5, 12.5],
"cubes": [
{"origin": [5.75, 11, -7.25], "size": [3, 0, 15], "uv": [-13, 37]}
]
},
{
"name": "chest_fluff_left3",
"parent": "chest_fluff_left",
"pivot": [6.4, 8.75, 0.5],
"rotation": [-2.5, 0, 17.5],
"cubes": [
{"origin": [6.4, 8.75, -5.5], "size": [2, 0, 11], "uv": [42, 41]}
]
},
{
"name": "chest_fluff_left4",
"parent": "chest_fluff_left",
"pivot": [4, 7.5, 0],
"rotation": [0, 5, 15],
"cubes": [
{"origin": [4.5, 7.4, -3], "size": [3, 0, 7], "uv": [29, 45]}
]
},
{
"name": "chest_fluff_right",
"parent": "chest_details",
"pivot": [-3, 12.25, 0.5],
"rotation": [5, 0, 0]
},
{
"name": "chest_fluff_right1",
"parent": "chest_fluff_right",
"pivot": [-4.5, 12.15, -1],
"rotation": [0, 5, 2.5],
"cubes": [
{"origin": [-8, 12.15, -2], "size": [3, 0, 7], "uv": [20, 45], "mirror": true}
]
},
{
"name": "chest_fluff_right2",
"parent": "chest_fluff_right",
"pivot": [-6.25, 10.75, 0.5],
"rotation": [0, 5, -12.5],
"cubes": [
{"origin": [-8.75, 10.75, -7.25], "size": [3, 0, 15], "uv": [-5, 37], "mirror": true}
]
},
{
"name": "chest_fluff_right3",
"parent": "chest_fluff_right",
"pivot": [-6.4, 8.75, 0.5],
"rotation": [-2.5, 0, -17.5],
"cubes": [
{"origin": [-8.4, 8.75, -5.5], "size": [2, 0, 11], "uv": [48, 41], "mirror": true}
]
},
{
"name": "chest_fluff_right4",
"parent": "chest_fluff_right",
"pivot": [-4, 7.5, 0],
"rotation": [0, -5, -15],
"cubes": [
{"origin": [-7.5, 7.4, -3], "size": [3, 0, 7], "uv": [37, 45], "mirror": true}
]
},
{
"name": "flower_front",
"parent": "chest_details",
"pivot": [0, 8.25, -6],
"rotation": [7.5, 0, 0],
"cubes": [
{"origin": [-1.5, 6.25, -6.05], "size": [3, 3, 0], "pivot": [0, 7.75, -6.05], "rotation": [0, 0, 45], "uv": [27, 54]}
]
},
{
"name": "flower_left",
"parent": "chest_details",
"pivot": [4.5, 10.75, -6.275],
"rotation": [0, 0, -15],
"cubes": [
{"origin": [2.75, 9.25, -6.275], "size": [3, 3, 0], "pivot": [4.25, 10.75, -6.275], "rotation": [0, 0, 45], "uv": [11, 54]}
]
},
{
"name": "flower_right",
"parent": "chest_details",
"pivot": [-4.5, 10.75, -6.275],
"rotation": [0, 0, 15],
"cubes": [
{"origin": [-5.75, 9.25, -6.275], "size": [3, 3, 0], "pivot": [-4.25, 10.75, -6.275], "rotation": [0, 0, -45], "uv": [19, 54], "mirror": true}
]
},
{
"name": "torso",
"parent": "chest",
"pivot": [0, 7.15, 0],
"cubes": [
{"origin": [-2.5, 3.25, -2.5], "size": [5, 5, 5], "inflate": 0.1, "uv": [44, 18]}
]
},
{
"name": "locator_physical",
"parent": "torso",
"pivot": [0, 3.65, 0],
"locators": {
"physical": [0, 3.65, 0]
}
},
{
"name": "fluff_plant",
"parent": "torso",
"pivot": [0, 3.15, -1]
},
{
"name": "fluff_plant_front",
"parent": "fluff_plant",
"pivot": [0, 3.15, -1.5],
"rotation": [-27.5, 0, 0],
"cubes": [
{"origin": [-2.5, 0.65, -1.5], "size": [5, 3, 0], "uv": [32, 20]}
]
},
{
"name": "fluff_plant_back",
"parent": "fluff_plant",
"pivot": [0, 3.15, 1.5],
"rotation": [27.5, 0, 0],
"cubes": [
{"origin": [-2.5, 0.65, 1.5], "size": [5, 3, 0], "uv": [32, 25]}
]
},
{
"name": "fluff_plant_left",
"parent": "fluff_plant",
"pivot": [1.5, 3.15, 0],
"rotation": [0, 0, -27.5],
"cubes": [
{"origin": [1.5, 0.65, -2.5], "size": [0, 3, 5], "uv": [40, 49]}
]
},
{
"name": "fluff_plant_right",
"parent": "fluff_plant",
"pivot": [-1.5, 3.15, 0],
"rotation": [0, 0, 27.5],
"cubes": [
{"origin": [-1.5, 0.65, -2.5], "size": [0, 3, 5], "uv": [52, 49], "mirror": true}
]
}
]
}
]
}
@@ -0,0 +1,441 @@
{
"format_version": "1.12.0",
"minecraft:geometry": [
{
"description": {
"identifier": "geometry.wormadam_sandy",
"texture_width": 64,
"texture_height": 64,
"visible_bounds_width": 3,
"visible_bounds_height": 3.5,
"visible_bounds_offset": [0, 1.25, 0]
},
"bones": [
{
"name": "wormadam_sandy",
"pivot": [0, 0, 0]
},
{
"name": "locator_top",
"parent": "wormadam_sandy",
"pivot": [0, 27.5, 0],
"locators": {
"top": [0, 27.5, 0]
}
},
{
"name": "locator_root",
"parent": "wormadam_sandy",
"pivot": [0, 0, 0],
"locators": {
"root": [0, 0, 0]
}
},
{
"name": "body",
"parent": "wormadam_sandy",
"pivot": [0, 26.25, 0.25]
},
{
"name": "locator_middle",
"parent": "body",
"pivot": [0, 8.5, 0],
"locators": {
"middle": [0, 8.5, 0]
}
},
{
"name": "locator_target",
"parent": "body",
"pivot": [0, 8.5, -8],
"locators": {
"target": [0, 8.5, -8]
}
},
{
"name": "body_rotation",
"parent": "body",
"pivot": [0, 14.75, 0.25],
"cubes": [
{"origin": [-3, 11.25, -3], "size": [6, 4, 6], "inflate": -0.25, "uv": [0, 0]}
]
},
{
"name": "locator_face",
"parent": "body_rotation",
"pivot": [0, 13, -2.75],
"locators": {
"face": [0, 13, -2.75]
}
},
{
"name": "locator_item_face",
"parent": "body_rotation",
"pivot": [0, 13, -2.75],
"locators": {
"item_face": [0, 13, -2.75]
}
},
{
"name": "locator_head",
"parent": "body_rotation",
"pivot": [0, 15, -2.75],
"locators": {
"head": [0, 15, -2.75]
}
},
{
"name": "locator_item_hat",
"parent": "body_rotation",
"pivot": [0, 15.5, 0],
"locators": {
"item_hat": [0, 15.5, 0]
}
},
{
"name": "locator_special",
"parent": "body_rotation",
"pivot": [0, 11.5, -6.25],
"locators": {
"special": [0, 11.5, -6.25]
}
},
{
"name": "face",
"parent": "body_rotation",
"pivot": [-0.05, 13, -2.76]
},
{
"name": "eyes",
"parent": "face",
"pivot": [-0.05, 12.75, -2.76]
},
{
"name": "eye_left",
"parent": "eyes",
"pivot": [1.8, 12.75, -2.76],
"cubes": [
{"origin": [1.3, 11.75, -2.76], "size": [1, 2, 1], "uv": [1, 11]},
{"origin": [1.1, 13.65, -2.85], "size": [1, 1, 1], "inflate": -0.1, "pivot": [1.6, 14.15, -2.835], "rotation": [0, 1, 0], "uv": [11, 20]}
]
},
{
"name": "eye_expression_left",
"parent": "eye_left",
"pivot": [1.8, 13.75, -2.17],
"cubes": [
{"origin": [1.3, 13.25, -2.67], "size": [1, 1, 1], "inflate": 0.01, "uv": [1, 15]}
]
},
{
"name": "pupil_left",
"parent": "eye_left",
"pivot": [1.55, 12.75, -2.77],
"cubes": [
{"origin": [1.05, 12.25, -2.77], "size": [1, 1, 1], "uv": [1, 24]}
]
},
{
"name": "locator_eye_left",
"parent": "pupil_left",
"pivot": [1.55, 12.75, -2.75],
"locators": {
"eye2": [1.55, 12.75, -2.75]
}
},
{
"name": "pupil_closed_left",
"parent": "eye_left",
"pivot": [1.65, 12.75, -2.67]
},
{
"name": "pupil_closed_left1",
"parent": "pupil_closed_left",
"pivot": [1.3, 12.75, -2.37],
"cubes": [
{"origin": [0.8, 12.25, -2.87], "size": [1, 1, 1], "inflate": -0.2, "uv": [1, 18]}
]
},
{
"name": "pupil_closed_left2",
"parent": "pupil_closed_left",
"pivot": [1.9, 12.75, -2.37],
"cubes": [
{"origin": [1.4, 12.25, -2.87], "size": [1, 1, 1], "inflate": -0.2, "uv": [1, 21]}
]
},
{
"name": "pupil_closed_left3",
"parent": "pupil_closed_left",
"pivot": [1.6, 12.45, -2.27],
"cubes": [
{"origin": [1.1, 11.95, -2.77], "size": [1, 1, 1], "inflate": -0.19, "uv": [1, 27]}
]
},
{
"name": "eye_right",
"parent": "eyes",
"pivot": [-1.8, 12.75, -2.76],
"cubes": [
{"origin": [-2.3, 11.75, -2.76], "size": [1, 2, 1], "uv": [6, 11], "mirror": true},
{"origin": [-2.1, 13.65, -2.85], "size": [1, 1, 1], "inflate": -0.1, "pivot": [-1.6, 14.15, -2.835], "rotation": [0, -1, 0], "uv": [16, 20], "mirror": true}
]
},
{
"name": "eye_expression_right",
"parent": "eye_right",
"pivot": [-1.8, 13.75, -2.17],
"cubes": [
{"origin": [-2.3, 13.25, -2.67], "size": [1, 1, 1], "inflate": 0.01, "uv": [6, 15], "mirror": true}
]
},
{
"name": "pupil_right",
"parent": "eye_right",
"pivot": [-1.55, 12.75, -2.77],
"cubes": [
{"origin": [-2.05, 12.25, -2.77], "size": [1, 1, 1], "uv": [6, 24], "mirror": true}
]
},
{
"name": "locator_eye_right",
"parent": "pupil_right",
"pivot": [-1.55, 12.75, -2.75],
"locators": {
"eye1": [-1.55, 12.75, -2.75]
}
},
{
"name": "pupil_closed_right",
"parent": "eye_right",
"pivot": [-1.65, 12.75, -2.67]
},
{
"name": "pupil_closed_right1",
"parent": "pupil_closed_right",
"pivot": [-1.3, 12.75, -2.37],
"cubes": [
{"origin": [-1.8, 12.25, -2.87], "size": [1, 1, 1], "inflate": -0.2, "uv": [6, 18], "mirror": true}
]
},
{
"name": "pupil_closed_right2",
"parent": "pupil_closed_right",
"pivot": [-1.9, 12.75, -2.37],
"cubes": [
{"origin": [-2.4, 12.25, -2.87], "size": [1, 1, 1], "inflate": -0.2, "uv": [6, 21], "mirror": true}
]
},
{
"name": "pupil_closed_right3",
"parent": "pupil_closed_right",
"pivot": [-1.6, 12.45, -2.27],
"cubes": [
{"origin": [-2.1, 11.95, -2.77], "size": [1, 1, 1], "inflate": -0.19, "uv": [6, 27], "mirror": true}
]
},
{
"name": "nose",
"parent": "face",
"pivot": [0, 12.75, -3],
"rotation": [17.5, 0, 0],
"cubes": [
{"origin": [-0.5, 11.75, -6.25], "size": [1, 1, 4], "uv": [54, 3]}
]
},
{
"name": "face_ditto",
"parent": "body_rotation",
"pivot": [0, 12.85, -2.65]
},
{
"name": "eyes_ditto",
"parent": "face_ditto",
"pivot": [0, 12.85, -2.67],
"cubes": [
{"origin": [-2, 12.35, -2.67], "size": [4, 1, 0], "uv": [12, 23]}
]
},
{
"name": "eyes_blink_ditto",
"parent": "face_ditto",
"pivot": [0, 12.85, -2.57],
"cubes": [
{"origin": [-2.5, 12.35, -2.57], "size": [5, 1, 0], "uv": [11, 25]},
{"origin": [-2, 12.85, -2.58], "size": [4, 1, 0], "uv": [12, 27]}
]
},
{
"name": "antenna",
"parent": "body_rotation",
"pivot": [0, 15.25, 0.25],
"cubes": [
{"origin": [-0.5, 14.25, -0.25], "size": [1, 5, 1], "inflate": 0.03, "uv": [2, 0]}
]
},
{
"name": "antenna2",
"parent": "antenna",
"pivot": [0, 19.25, 0.25],
"cubes": [
{"origin": [-0.5, 18.75, -0.25], "size": [1, 5, 1], "uv": [18, 0]}
]
},
{
"name": "antenna_end",
"parent": "antenna2",
"pivot": [0, 23.5, 0.25],
"rotation": [0, 0, -25],
"cubes": [
{"origin": [-1.75, 22, -1.25], "size": [3, 2, 3], "inflate": -0.25, "uv": [50, 8]}
]
},
{
"name": "antenna_end2",
"parent": "antenna_end",
"pivot": [-0.15, 23.75, 0.25],
"rotation": [0, 0, 35],
"cubes": [
{"origin": [-0.65, 23.4, -0.25], "size": [1, 3, 1], "inflate": 0.05, "uv": [60, 3]}
]
},
{
"name": "ears",
"parent": "body_rotation",
"pivot": [0, 15, 0.25]
},
{
"name": "ear_left",
"parent": "ears",
"pivot": [2.1, 15, 1],
"cubes": [
{"origin": [1.1, 14.85, 0], "size": [2, 2, 2], "inflate": -0.15, "pivot": [2.1, 15.85, 1.5], "rotation": [0, 0, 5], "uv": [16, 52]}
]
},
{
"name": "ear_detail_left",
"parent": "ear_left",
"pivot": [2.5, 16.6, 1],
"rotation": [0, 0, 5],
"cubes": [
{"origin": [2, 16.7, 0.5], "size": [1, 1, 1], "inflate": 0.05, "pivot": [2.5, 17.2, 1], "rotation": [0, -5, -5], "uv": [60, 58]}
]
},
{
"name": "ear_left2",
"parent": "ear_left",
"pivot": [3, 15.75, 1],
"cubes": [
{"origin": [2.75, 13.75, -0.5], "size": [3, 3, 3], "inflate": -0.2, "pivot": [4.25, 15.25, 1], "rotation": [0, 5, 7.5], "uv": [0, 58]}
]
},
{
"name": "ear_left3",
"parent": "ear_left2",
"pivot": [5.55, 15.25, 1],
"cubes": [
{"origin": [5.4, 13.85, -0.5], "size": [3, 3, 3], "pivot": [6.9, 15.35, 1], "rotation": [0, -5, -2.5], "uv": [24, 58]}
]
},
{
"name": "ear_left4",
"parent": "ear_left3",
"pivot": [8.55, 15.75, 1],
"cubes": [
{"origin": [8.4, 13.75, -1], "size": [4, 4, 4], "inflate": -0.1, "pivot": [10.4, 15.75, 1], "rotation": [0, 0, 5], "uv": [36, 50]}
]
},
{
"name": "ear_right",
"parent": "ears",
"pivot": [-2.1, 15, 1],
"cubes": [
{"origin": [-3.1, 14.85, 0], "size": [2, 2, 2], "inflate": -0.15, "pivot": [-2.1, 15.85, 1.5], "rotation": [0, 0, -5], "uv": [52, 52], "mirror": true}
]
},
{
"name": "ear_detail_right",
"parent": "ear_right",
"pivot": [-2.5, 16.6, 1],
"rotation": [0, 0, -5],
"cubes": [
{"origin": [-3, 16.7, 0.5], "size": [1, 1, 1], "inflate": 0.05, "pivot": [-2.5, 17.2, 1], "rotation": [0, 5, 5], "uv": [60, 56], "mirror": true}
]
},
{
"name": "ear_right2",
"parent": "ear_right",
"pivot": [-3, 15.75, 1],
"cubes": [
{"origin": [-5.75, 13.75, -0.5], "size": [3, 3, 3], "inflate": -0.2, "pivot": [-4.25, 15.25, 1], "rotation": [0, -5, -7.5], "uv": [12, 58], "mirror": true}
]
},
{
"name": "ear_right3",
"parent": "ear_right2",
"pivot": [-5.55, 15.25, 1],
"cubes": [
{"origin": [-8.4, 13.85, -0.5], "size": [3, 3, 3], "pivot": [-6.9, 15.35, 1], "rotation": [0, 5, 2.5], "uv": [36, 58], "mirror": true}
]
},
{
"name": "ear_right4",
"parent": "ear_right3",
"pivot": [-8.55, 15.75, 1],
"cubes": [
{"origin": [-12.4, 13.75, -1], "size": [4, 4, 4], "inflate": -0.1, "pivot": [-10.4, 15.75, 1], "rotation": [0, 0, -5], "uv": [48, 56], "mirror": true}
]
},
{
"name": "chest",
"parent": "body_rotation",
"pivot": [0, 14.65, 0.25],
"cubes": [
{"origin": [-6.5, 7.15, -6.25], "size": [13, 5, 13], "pivot": [0, 11.65, 0.25], "rotation": [5, 0, 0], "uv": [11, 0]},
{"origin": [-6.5, 7.15, -6.25], "size": [13, 5, 13], "inflate": 0.25, "pivot": [0, 11.65, 0.25], "rotation": [5, 0, 0], "uv": [11, 18]}
]
},
{
"name": "locator_item",
"parent": "chest",
"pivot": [-6.9, 11.5, 5],
"rotation": [-110, 15, -17.5],
"locators": {
"item": [-6.9, 11.5, 5]
}
},
{
"name": "chest_details",
"parent": "chest",
"pivot": [4, 12.25, -0.5],
"cubes": [
{"origin": [-1, 6.6, -6.6], "size": [2, 2, 1], "pivot": [0, 8.35, -6], "rotation": [7.5, 0, 0], "uv": [58, 0]},
{"origin": [2.6, 11.05, -6.75], "size": [2, 1, 2], "inflate": 0.1, "pivot": [3, 11.55, -5.75], "rotation": [12.5, -2.5, 2.5], "uv": [50, 0]},
{"origin": [-4.6, 11.05, -6.75], "size": [2, 1, 2], "inflate": 0.1, "pivot": [-3, 11.55, -5.75], "rotation": [12.5, 2.5, -2.5], "uv": [50, 3], "mirror": true},
{"origin": [2.25, 8, -6.5], "size": [1, 1, 1], "inflate": 0.1, "pivot": [2.75, 8.5, -6], "rotation": [-2.5, 0, 12.5], "uv": [50, 6]},
{"origin": [-3.25, 8, -6.5], "size": [1, 1, 1], "inflate": 0.1, "pivot": [-2.75, 8.5, -6], "rotation": [-2.5, 0, -12.5], "uv": [59, 8], "mirror": true}
]
},
{
"name": "torso",
"parent": "chest",
"pivot": [0, 7.15, 0],
"cubes": [
{"origin": [-3.5, 4, -3.5], "size": [7, 4, 7], "uv": [8, 41]},
{"origin": [-2, 1.6, -2], "size": [4, 2, 4], "inflate": 0.2, "uv": [4, 52]},
{"origin": [-3.5, 4, -3.5], "size": [7, 4, 7], "inflate": 0.3, "uv": [36, 39]},
{"origin": [-2, 1.6, -2], "size": [4, 2, 4], "inflate": 0.45, "uv": [20, 52]}
]
},
{
"name": "locator_physical",
"parent": "torso",
"pivot": [0, 3.65, 0],
"locators": {
"physical": [0, 3.65, 0]
}
}
]
}
]
}
@@ -0,0 +1,473 @@
{
"format_version": "1.12.0",
"minecraft:geometry": [
{
"description": {
"identifier": "geometry.wormadam_trash",
"texture_width": 64,
"texture_height": 64,
"visible_bounds_width": 3,
"visible_bounds_height": 3.5,
"visible_bounds_offset": [0, 1.25, 0]
},
"bones": [
{
"name": "wormadam_trash",
"pivot": [0, 0, 0]
},
{
"name": "locator_top",
"parent": "wormadam_trash",
"pivot": [0, 27.5, 0],
"locators": {
"top": [0, 27.5, 0]
}
},
{
"name": "locator_root",
"parent": "wormadam_trash",
"pivot": [0, 0, 0],
"locators": {
"root": [0, 0, 0]
}
},
{
"name": "body",
"parent": "wormadam_trash",
"pivot": [0, 26.25, 0.25]
},
{
"name": "locator_middle",
"parent": "body",
"pivot": [0, 8.5, 0],
"locators": {
"middle": [0, 8.5, 0]
}
},
{
"name": "locator_target",
"parent": "body",
"pivot": [0, 8.5, -8],
"locators": {
"target": [0, 8.5, -8]
}
},
{
"name": "body_rotation",
"parent": "body",
"pivot": [0, 14.75, 0.25],
"cubes": [
{"origin": [-3, 11.25, -3], "size": [6, 4, 6], "inflate": -0.25, "uv": [0, 0]}
]
},
{
"name": "locator_face",
"parent": "body_rotation",
"pivot": [0, 13, -2.75],
"locators": {
"face": [0, 13, -2.75]
}
},
{
"name": "locator_item_face",
"parent": "body_rotation",
"pivot": [0, 13, -2.75],
"locators": {
"item_face": [0, 13, -2.75]
}
},
{
"name": "locator_head",
"parent": "body_rotation",
"pivot": [0, 15, -2.75],
"locators": {
"head": [0, 15, -2.75]
}
},
{
"name": "locator_item_hat",
"parent": "body_rotation",
"pivot": [0, 15.5, 0],
"locators": {
"item_hat": [0, 15.5, 0]
}
},
{
"name": "locator_special",
"parent": "body_rotation",
"pivot": [0, 11.5, -6.25],
"locators": {
"special": [0, 11.5, -6.25]
}
},
{
"name": "face",
"parent": "body_rotation",
"pivot": [-0.05, 13, -2.76]
},
{
"name": "eyes",
"parent": "face",
"pivot": [-0.05, 12.75, -2.76]
},
{
"name": "eye_left",
"parent": "eyes",
"pivot": [1.8, 12.75, -2.76],
"cubes": [
{"origin": [1.3, 11.75, -2.76], "size": [1, 2, 1], "uv": [1, 11]},
{"origin": [1.1, 13.65, -2.85], "size": [1, 1, 1], "inflate": -0.1, "pivot": [1.6, 14.15, -2.835], "rotation": [0, 1, 0], "uv": [11, 20]}
]
},
{
"name": "eye_expression_left",
"parent": "eye_left",
"pivot": [1.8, 13.75, -2.17],
"cubes": [
{"origin": [1.3, 13.25, -2.67], "size": [1, 1, 1], "inflate": 0.01, "uv": [1, 15]}
]
},
{
"name": "pupil_left",
"parent": "eye_left",
"pivot": [1.55, 12.75, -2.77],
"cubes": [
{"origin": [1.05, 12.25, -2.77], "size": [1, 1, 1], "uv": [1, 24]}
]
},
{
"name": "locator_eye_left",
"parent": "pupil_left",
"pivot": [1.55, 12.75, -2.75],
"locators": {
"eye2": [1.55, 12.75, -2.75]
}
},
{
"name": "pupil_closed_left",
"parent": "eye_left",
"pivot": [1.65, 12.75, -2.67]
},
{
"name": "pupil_closed_left1",
"parent": "pupil_closed_left",
"pivot": [1.3, 12.75, -2.37],
"cubes": [
{"origin": [0.8, 12.25, -2.87], "size": [1, 1, 1], "inflate": -0.2, "uv": [1, 18]}
]
},
{
"name": "pupil_closed_left2",
"parent": "pupil_closed_left",
"pivot": [1.9, 12.75, -2.37],
"cubes": [
{"origin": [1.4, 12.25, -2.87], "size": [1, 1, 1], "inflate": -0.2, "uv": [1, 21]}
]
},
{
"name": "pupil_closed_left3",
"parent": "pupil_closed_left",
"pivot": [1.6, 12.45, -2.27],
"cubes": [
{"origin": [1.1, 11.95, -2.77], "size": [1, 1, 1], "inflate": -0.19, "uv": [1, 27]}
]
},
{
"name": "eye_right",
"parent": "eyes",
"pivot": [-1.8, 12.75, -2.76],
"cubes": [
{"origin": [-2.3, 11.75, -2.76], "size": [1, 2, 1], "uv": [6, 11], "mirror": true},
{"origin": [-2.1, 13.65, -2.85], "size": [1, 1, 1], "inflate": -0.1, "pivot": [-1.6, 14.15, -2.835], "rotation": [0, -1, 0], "uv": [16, 20], "mirror": true}
]
},
{
"name": "eye_expression_right",
"parent": "eye_right",
"pivot": [-1.8, 13.75, -2.17],
"cubes": [
{"origin": [-2.3, 13.25, -2.67], "size": [1, 1, 1], "inflate": 0.01, "uv": [6, 15], "mirror": true}
]
},
{
"name": "pupil_right",
"parent": "eye_right",
"pivot": [-1.55, 12.75, -2.77],
"cubes": [
{"origin": [-2.05, 12.25, -2.77], "size": [1, 1, 1], "uv": [6, 24], "mirror": true}
]
},
{
"name": "locator_eye_right",
"parent": "pupil_right",
"pivot": [-1.55, 12.75, -2.75],
"locators": {
"eye1": [-1.55, 12.75, -2.75]
}
},
{
"name": "pupil_closed_right",
"parent": "eye_right",
"pivot": [-1.65, 12.75, -2.67]
},
{
"name": "pupil_closed_right1",
"parent": "pupil_closed_right",
"pivot": [-1.3, 12.75, -2.37],
"cubes": [
{"origin": [-1.8, 12.25, -2.87], "size": [1, 1, 1], "inflate": -0.2, "uv": [6, 18], "mirror": true}
]
},
{
"name": "pupil_closed_right2",
"parent": "pupil_closed_right",
"pivot": [-1.9, 12.75, -2.37],
"cubes": [
{"origin": [-2.4, 12.25, -2.87], "size": [1, 1, 1], "inflate": -0.2, "uv": [6, 21], "mirror": true}
]
},
{
"name": "pupil_closed_right3",
"parent": "pupil_closed_right",
"pivot": [-1.6, 12.45, -2.27],
"cubes": [
{"origin": [-2.1, 11.95, -2.77], "size": [1, 1, 1], "inflate": -0.19, "uv": [6, 27], "mirror": true}
]
},
{
"name": "nose",
"parent": "face",
"pivot": [0, 12.75, -3],
"rotation": [17.5, 0, 0],
"cubes": [
{"origin": [-0.5, 11.75, -6.25], "size": [1, 1, 4], "uv": [54, 3]}
]
},
{
"name": "face_ditto",
"parent": "body_rotation",
"pivot": [0, 12.85, -2.65]
},
{
"name": "eyes_ditto",
"parent": "face_ditto",
"pivot": [0, 12.85, -2.67],
"cubes": [
{"origin": [-2, 12.35, -2.67], "size": [4, 1, 0], "uv": [12, 23]}
]
},
{
"name": "eyes_blink_ditto",
"parent": "face_ditto",
"pivot": [0, 12.85, -2.57],
"cubes": [
{"origin": [-2.5, 12.35, -2.57], "size": [5, 1, 0], "uv": [11, 25]},
{"origin": [-2, 12.85, -2.58], "size": [4, 1, 0], "uv": [12, 27]}
]
},
{
"name": "antenna",
"parent": "body_rotation",
"pivot": [0, 15.25, 0.25],
"cubes": [
{"origin": [-0.5, 14.25, -0.25], "size": [1, 5, 1], "inflate": 0.03, "uv": [2, 0]}
]
},
{
"name": "antenna2",
"parent": "antenna",
"pivot": [0, 19.25, 0.25],
"cubes": [
{"origin": [-0.5, 18.75, -0.25], "size": [1, 5, 1], "uv": [18, 0]}
]
},
{
"name": "antenna_end",
"parent": "antenna2",
"pivot": [0, 23.5, 0.25],
"rotation": [0, 0, -25],
"cubes": [
{"origin": [-1.75, 22, -1.25], "size": [3, 2, 3], "inflate": -0.25, "uv": [50, 8]}
]
},
{
"name": "antenna_end2",
"parent": "antenna_end",
"pivot": [-0.15, 23.75, 0.25],
"rotation": [0, 0, 35],
"cubes": [
{"origin": [-0.65, 23.4, -0.25], "size": [1, 3, 1], "inflate": 0.05, "uv": [50, 4]}
]
},
{
"name": "ears",
"parent": "body_rotation",
"pivot": [0, 15, 0.25]
},
{
"name": "ear_left",
"parent": "ears",
"pivot": [2, 15, 1],
"cubes": [
{"origin": [2, 15, -0.5], "size": [2, 0, 3], "inflate": 0.01, "uv": [-3, 61]}
]
},
{
"name": "ear_left2",
"parent": "ear_left",
"pivot": [4, 15, 1],
"cubes": [
{"origin": [4, 15, -0.5], "size": [2, 0, 3], "uv": [8, 61]}
]
},
{
"name": "ear_left3",
"parent": "ear_left2",
"pivot": [6, 15, 1],
"cubes": [
{"origin": [6, 15, -1], "size": [4, 0, 4], "uv": [20, 60]}
]
},
{
"name": "ear_left4",
"parent": "ear_left3",
"pivot": [10, 15, 1],
"cubes": [
{"origin": [10, 15, -1.5], "size": [4, 0, 5], "uv": [40, 59]}
]
},
{
"name": "ear_back_left",
"parent": "ears",
"pivot": [1.75, 15, 1.5],
"cubes": [
{"origin": [0.75, 15, 1.5], "size": [2, 3, 0], "uv": [0, 57]}
]
},
{
"name": "ear_right",
"parent": "ears",
"pivot": [-2, 15, 1],
"cubes": [
{"origin": [-4, 15, -0.5], "size": [2, 0, 3], "inflate": 0.01, "uv": [2, 61], "mirror": true}
]
},
{
"name": "ear_right2",
"parent": "ear_right",
"pivot": [-4, 15, 1],
"cubes": [
{"origin": [-6, 15, -0.5], "size": [2, 0, 3], "uv": [14, 61], "mirror": true}
]
},
{
"name": "ear_right3",
"parent": "ear_right2",
"pivot": [-6, 15, 1],
"cubes": [
{"origin": [-10, 15, -1], "size": [4, 0, 4], "uv": [30, 60], "mirror": true}
]
},
{
"name": "ear_right4",
"parent": "ear_right3",
"pivot": [-10, 15, 1],
"cubes": [
{"origin": [-14, 15, -1.5], "size": [4, 0, 5], "uv": [50, 59], "mirror": true}
]
},
{
"name": "ear_back_right",
"parent": "ears",
"pivot": [-1.75, 15, 1.5],
"cubes": [
{"origin": [-2.75, 15, 1.5], "size": [2, 3, 0], "uv": [5, 57], "mirror": true}
]
},
{
"name": "chest",
"parent": "body_rotation",
"pivot": [0, 14.65, 0.25],
"cubes": [
{"origin": [-6.5, 7.15, -6.25], "size": [13, 5, 13], "pivot": [0, 11.65, 0.25], "rotation": [5, 0, 0], "uv": [11, 0]},
{"origin": [-6.5, 7.15, -6.25], "size": [13, 5, 13], "inflate": 0.25, "pivot": [0, 11.65, 0.25], "rotation": [5, 0, 0], "uv": [11, 18]}
]
},
{
"name": "locator_item",
"parent": "chest",
"pivot": [-6.9, 11.5, 5],
"rotation": [-110, 15, -17.5],
"locators": {
"item": [-6.9, 11.5, 5]
}
},
{
"name": "torso",
"parent": "chest",
"pivot": [0, 7.15, 0],
"cubes": [
{"origin": [-2.5, 3.25, -2.5], "size": [5, 5, 5], "inflate": 0.1, "uv": [44, 36]}
]
},
{
"name": "locator_physical",
"parent": "torso",
"pivot": [0, 3.65, 0],
"locators": {
"physical": [0, 3.65, 0]
}
},
{
"name": "fluff_trash",
"parent": "torso",
"pivot": [0, 3.15, -1]
},
{
"name": "fluff_trash_middle",
"parent": "fluff_trash",
"pivot": [0, 3.15, 0],
"cubes": [
{"origin": [-1, -0.35, -1], "size": [2, 4, 2], "uv": [29, 36]}
]
},
{
"name": "fluff_trash_front",
"parent": "fluff_trash",
"pivot": [0, 3.15, -1.5],
"rotation": [-17.5, 0, 0],
"cubes": [
{"origin": [-1, 0.4, -2], "size": [2, 3, 1], "inflate": -0.1, "uv": [37, 36]}
]
},
{
"name": "fluff_trash_back",
"parent": "fluff_trash",
"pivot": [0, 3.15, 1.5],
"rotation": [17.5, 0, 0],
"cubes": [
{"origin": [-1, 0.4, 1], "size": [2, 3, 1], "inflate": -0.1, "uv": [43, 36]}
]
},
{
"name": "fluff_trash_left",
"parent": "fluff_trash",
"pivot": [1.5, 3.15, 0],
"rotation": [0, 0, -17.5],
"cubes": [
{"origin": [1, 0.4, -1], "size": [1, 3, 2], "inflate": -0.1, "uv": [32, 42]}
]
},
{
"name": "fluff_trash_right",
"parent": "fluff_trash",
"pivot": [-1.5, 3.15, 0],
"rotation": [0, 0, 17.5],
"cubes": [
{"origin": [-2, 0.4, -1], "size": [1, 3, 2], "inflate": -0.1, "uv": [38, 40], "mirror": true}
]
}
]
}
]
}
@@ -0,0 +1,621 @@
{
"format_version": "1.12.0",
"minecraft:geometry": [
{
"description": {
"identifier": "geometry.mothim",
"texture_width": 64,
"texture_height": 64,
"visible_bounds_width": 5,
"visible_bounds_height": 3.5,
"visible_bounds_offset": [0, 1.25, 0]
},
"bones": [
{
"name": "mothim",
"pivot": [0, 0, 0]
},
{
"name": "locator_top",
"parent": "mothim",
"pivot": [0, 21, 0],
"locators": {
"top": [0, 21, 0]
}
},
{
"name": "locator_root",
"parent": "mothim",
"pivot": [0, 0, 0],
"locators": {
"root": [0, 0, 0]
}
},
{
"name": "body",
"parent": "mothim",
"pivot": [0, 6.5, 0]
},
{
"name": "locator_target",
"parent": "body",
"pivot": [0, 9, -5.5],
"locators": {
"target": [0, 9, -5.5]
}
},
{
"name": "locator_middle",
"parent": "body",
"pivot": [0, 10, 0],
"locators": {
"middle": [0, 10, 0]
}
},
{
"name": "torso",
"parent": "body",
"pivot": [0, 7, 0],
"rotation": [-5, 0, 0],
"cubes": [
{"origin": [-2, 5.75, -2], "size": [4, 5, 4], "inflate": 0.02, "uv": [34, 0]}
]
},
{
"name": "arms",
"parent": "torso",
"pivot": [0, 10.25, -1]
},
{
"name": "arm_left",
"parent": "arms",
"pivot": [2, 10.25, -0.75],
"cubes": [
{"origin": [1.25, 9.75, -1.25], "size": [3, 1, 1], "inflate": 0.1, "uv": [36, 9]}
]
},
{
"name": "locator_hand_secondary",
"parent": "arm_left",
"pivot": [4.1, 10.25, -0.75],
"rotation": [0, -90, 0],
"locators": {
"hand_secondary": [4.1, 10.25, -0.75]
}
},
{
"name": "arm_right",
"parent": "arms",
"pivot": [-2, 10.25, -0.75],
"cubes": [
{"origin": [-4.25, 9.75, -1.25], "size": [3, 1, 1], "inflate": 0.1, "uv": [46, 0], "mirror": true}
]
},
{
"name": "locator_hand_primary",
"parent": "arm_right",
"pivot": [-4.1, 10.25, -0.75],
"rotation": [0, 90, 0],
"locators": {
"hand_primary": [-4.1, 10.25, -0.75]
}
},
{
"name": "locator_item",
"parent": "arm_right",
"pivot": [-4.1, 9.65, -0.75],
"locators": {
"item": [-4.1, 9.65, -0.75]
}
},
{
"name": "neck",
"parent": "torso",
"pivot": [0, 10.75, 0],
"cubes": [
{"origin": [-1.5, 10, -1.5], "size": [3, 2, 3], "inflate": 0.15, "uv": [24, 6]}
]
},
{
"name": "head",
"parent": "neck",
"pivot": [0, 11.5, 0],
"rotation": [5, 0, 0],
"cubes": [
{"origin": [-3, 11.5, -3.5], "size": [6, 6, 6], "uv": [0, 0]},
{"origin": [-0.5, 13.51, -3.51], "size": [1, 4, 1], "uv": [2, 1]}
]
},
{
"name": "locator_item_hat",
"parent": "head",
"pivot": [0, 17.5, -0.5],
"locators": {
"item_hat": [0, 17.5, -0.5]
}
},
{
"name": "locator_head",
"parent": "head",
"pivot": [0, 17.5, -3.5],
"locators": {
"head": [0, 17.5, -3.5]
}
},
{
"name": "locator_mouth",
"parent": "head",
"pivot": [0, 12, -3.5],
"locators": {
"mouth": [0, 12, -3.5]
}
},
{
"name": "locator_item_face",
"parent": "head",
"pivot": [0, 14.5, -3.5],
"locators": {
"item_face": [0, 14.5, -3.5]
}
},
{
"name": "locator_face",
"parent": "head",
"pivot": [0, 14.5, -4],
"locators": {
"face": [0, 14.5, -4]
}
},
{
"name": "locator_special",
"parent": "head",
"pivot": [0, 11.5, -5.25],
"locators": {
"special": [0, 11.5, -5.25]
}
},
{
"name": "locator_physical",
"parent": "head",
"pivot": [0, 17.5, -0.5],
"locators": {
"physical": [0, 17.5, -0.5]
}
},
{
"name": "face",
"parent": "head",
"pivot": [0, 14.5, -3.5]
},
{
"name": "eyes",
"parent": "face",
"pivot": [0, 14.5, -3.51]
},
{
"name": "eye_left",
"parent": "eyes",
"pivot": [0, 14.5, -3.51],
"cubes": [
{"origin": [1, 12.5, -3.51], "size": [1, 4, 1], "uv": [1, 48]},
{"origin": [1.99, 13, -3.51], "size": [1, 3, 1], "uv": [1, 54]}
]
},
{
"name": "eye_open_left",
"parent": "eye_left",
"pivot": [1.75, 14.5, -3.03],
"cubes": [
{"origin": [1.25, 14, -3.53], "size": [1, 1, 1], "uv": [11, 48]}
]
},
{
"name": "locator_eye_left",
"parent": "eye_open_left",
"pivot": [1.75, 14.5, -3.5],
"locators": {
"eye2": [1.75, 14.5, -3.5]
}
},
{
"name": "pupil_expresion_left",
"parent": "eye_open_left",
"pivot": [1.75, 14.5, -2.93],
"cubes": [
{"origin": [1.25, 14, -3.43], "size": [1, 1, 1], "inflate": 0.01, "uv": [1, 59]}
]
},
{
"name": "eye_closed_left",
"parent": "eye_left",
"pivot": [1.85, 14.5, -2.93]
},
{
"name": "eye_closed_left1",
"parent": "eye_closed_left",
"pivot": [1.6, 14.5, -3.03],
"cubes": [
{"origin": [1.1, 14, -3.53], "size": [1, 1, 1], "inflate": -0.1, "uv": [11, 51]}
]
},
{
"name": "eye_closed_left2",
"parent": "eye_closed_left",
"pivot": [2.4, 14.5, -3.03],
"cubes": [
{"origin": [1.9, 14, -3.53], "size": [1, 1, 1], "inflate": -0.1, "uv": [11, 54]}
]
},
{
"name": "eye_closed_left3",
"parent": "eye_closed_left",
"pivot": [2, 14.1, -2.93],
"cubes": [
{"origin": [1.5, 13.6, -3.43], "size": [1, 1, 1], "inflate": -0.09, "uv": [11, 57]}
]
},
{
"name": "eye_right",
"parent": "eyes",
"pivot": [0, 14.5, -3.51],
"cubes": [
{"origin": [-2, 12.5, -3.51], "size": [1, 4, 1], "uv": [6, 48], "mirror": true},
{"origin": [-2.99, 13, -3.51], "size": [1, 3, 1], "uv": [6, 54], "mirror": true}
]
},
{
"name": "eye_open_right",
"parent": "eye_right",
"pivot": [-1.75, 14.5, -3.03],
"cubes": [
{"origin": [-2.25, 14, -3.53], "size": [1, 1, 1], "uv": [16, 48], "mirror": true}
]
},
{
"name": "locator_eye_right",
"parent": "eye_open_right",
"pivot": [-1.75, 14.5, -3.5],
"locators": {
"eye1": [-1.75, 14.5, -3.5]
}
},
{
"name": "pupil_expresion_right",
"parent": "eye_open_right",
"pivot": [-1.75, 14.5, -2.93],
"cubes": [
{"origin": [-2.25, 14, -3.43], "size": [1, 1, 1], "inflate": 0.01, "uv": [6, 59], "mirror": true}
]
},
{
"name": "eye_closed_right",
"parent": "eye_right",
"pivot": [-1.85, 14.5, -2.93]
},
{
"name": "eye_closed_right1",
"parent": "eye_closed_right",
"pivot": [-1.6, 14.5, -3.03],
"cubes": [
{"origin": [-2.1, 14, -3.53], "size": [1, 1, 1], "inflate": -0.1, "uv": [16, 51], "mirror": true}
]
},
{
"name": "eye_closed_right2",
"parent": "eye_closed_right",
"pivot": [-2.4, 14.5, -3.03],
"cubes": [
{"origin": [-2.9, 14, -3.53], "size": [1, 1, 1], "inflate": -0.1, "uv": [16, 54], "mirror": true}
]
},
{
"name": "eye_closed_right3",
"parent": "eye_closed_right",
"pivot": [-2, 14.1, -2.93],
"cubes": [
{"origin": [-2.5, 13.6, -3.43], "size": [1, 1, 1], "inflate": -0.09, "uv": [16, 57], "mirror": true}
]
},
{
"name": "muzzle",
"parent": "face",
"pivot": [0, 15.8, -3.6],
"rotation": [-17.5, 0, 0]
},
{
"name": "muzzle_rotation",
"parent": "muzzle",
"pivot": [0, 12.8, -2.2],
"rotation": [0, 45, 0],
"cubes": [
{"origin": [-1, 12.25, -3.2], "size": [2, 4, 2], "inflate": 0.01, "uv": [18, 0]}
]
},
{
"name": "mouth_left",
"parent": "muzzle_rotation",
"pivot": [1, 12.5, -2.7],
"cubes": [
{"origin": [1, 11.5, -3.2], "size": [0, 1, 1], "uv": [35, -1]}
]
},
{
"name": "mouth_right",
"parent": "muzzle_rotation",
"pivot": [0.5, 12.5, -3.2],
"cubes": [
{"origin": [0, 11.5, -3.2], "size": [1, 1, 0], "uv": [35, 2]}
]
},
{
"name": "face_ditto",
"parent": "head",
"pivot": [0, 14.25, -3.4],
"cubes": [
{"origin": [-2.5, 12.5, -3.4], "size": [5, 4, 1], "inflate": 0.02, "uv": [21, 48]}
]
},
{
"name": "eyes_ditto",
"parent": "face_ditto",
"pivot": [0, 15, -3.42],
"cubes": [
{"origin": [-2.5, 14.5, -3.43], "size": [5, 1, 0], "uv": [35, 48]}
]
},
{
"name": "eyes_blink_ditto",
"parent": "face_ditto",
"pivot": [0, 15, -3.32],
"cubes": [
{"origin": [-3, 14.5, -3.33], "size": [6, 1, 0], "uv": [34, 50]},
{"origin": [-2.5, 15, -3.34], "size": [5, 1, 0], "uv": [35, 52]}
]
},
{
"name": "mouth_ditto",
"parent": "face_ditto",
"pivot": [0, 13.25, -3.4],
"cubes": [
{"origin": [-2, 12.5, -3.43], "size": [4, 1, 0], "uv": [36, 56]},
{"origin": [-3, 13, -3.43], "size": [6, 1, 0], "uv": [34, 54]}
]
},
{
"name": "mouth_open_ditto",
"parent": "face_ditto",
"pivot": [0, 13, -3.31],
"cubes": [
{"origin": [-3, 12, -3.31], "size": [6, 2, 0], "uv": [34, 58]}
]
},
{
"name": "antennae",
"parent": "head",
"pivot": [0, 14.5, -3.5]
},
{
"name": "antenna_left",
"parent": "antennae",
"pivot": [0.5, 17.5, -3.5],
"cubes": [
{"origin": [0.5, 17.5, -3.51], "size": [3, 3, 0], "uv": [38, 42]}
]
},
{
"name": "antenna_left2",
"parent": "antenna_left",
"pivot": [2, 20.5, -3.5],
"cubes": [
{"origin": [0.5, 20.5, -3.51], "size": [3, 4, 0], "uv": [38, 36]}
]
},
{
"name": "antenna_right",
"parent": "antennae",
"pivot": [-0.5, 17.5, -3.5],
"cubes": [
{"origin": [-3.5, 17.5, -3.51], "size": [3, 3, 0], "uv": [46, 42], "mirror": true}
]
},
{
"name": "antenna_right2",
"parent": "antenna_right",
"pivot": [-2, 20.5, -3.5],
"cubes": [
{"origin": [-3.5, 20.5, -3.51], "size": [3, 4, 0], "uv": [46, 36], "mirror": true}
]
},
{
"name": "tail",
"parent": "torso",
"pivot": [0, 5.75, 0]
},
{
"name": "locator_tail",
"parent": "tail",
"pivot": [0, 5.25, 0],
"rotation": [-90, 0, 180],
"locators": {
"tail": [0, 5.25, 0]
}
},
{
"name": "locator_tail_tip",
"parent": "tail",
"pivot": [0, 3, 0],
"rotation": [-90, 0, 180],
"locators": {
"tail_tip": [0, 3, 0]
}
},
{
"name": "tail_left",
"parent": "tail",
"pivot": [0.2, 5.75, 0],
"rotation": [0, 0, -35],
"cubes": [
{"origin": [-0.8, 3, 0], "size": [2, 4, 0], "uv": [59, 1]}
]
},
{
"name": "tail_right",
"parent": "tail",
"pivot": [-0.2, 5.75, 0],
"rotation": [0, 0, 35],
"cubes": [
{"origin": [-1.2, 3, 0.01], "size": [2, 4, 0], "uv": [59, 6], "mirror": true}
]
},
{
"name": "back",
"parent": "torso",
"pivot": [0, 8.75, 2],
"cubes": [
{"origin": [-1.5, 6.74, 1.6], "size": [3, 4, 1], "inflate": 0.01, "uv": [26, 1]}
]
},
{
"name": "wing_upper_left",
"parent": "back",
"pivot": [1.5, 9.75, 2.1],
"rotation": [0, 0, -22.5],
"cubes": [
{"origin": [0.5, 5.25, 2.1], "size": [10, 9, 0], "uv": [2, 14]}
]
},
{
"name": "wing_upper_left2",
"parent": "wing_upper_left",
"pivot": [10.5, 9.75, 2.1],
"cubes": [
{"origin": [10.5, 5.25, 2.1], "size": [9, 9, 0], "uv": [2, 25]}
]
},
{
"name": "locator_wing_left",
"parent": "wing_upper_left2",
"pivot": [15, 13.25, 2.1],
"rotation": [0, -90, 0],
"locators": {
"wing2": [15, 13.25, 2.1]
}
},
{
"name": "wing_upper_left3",
"parent": "wing_upper_left2",
"pivot": [19.5, 9.75, 2.1],
"cubes": [
{"origin": [19.5, 5.25, 2.1], "size": [8, 10, 0], "uv": [2, 36]}
]
},
{
"name": "wing_lower_left",
"parent": "back",
"pivot": [1.5, 8.5, 2.35],
"rotation": [0, 0, 42.5],
"cubes": [
{"origin": [0.5, 5.5, 2.35], "size": [7, 6, 0], "uv": [46, 12]}
]
},
{
"name": "wing_lower_left2",
"parent": "wing_lower_left",
"pivot": [8, 8.5, 2.35],
"cubes": [
{"origin": [7.5, 5, 2.35], "size": [4, 7, 0], "uv": [42, 28]}
]
},
{
"name": "wing_upper_right",
"parent": "back",
"pivot": [-1.5, 9.75, 2.1],
"rotation": [0, 0, 22.5],
"cubes": [
{"origin": [-10.5, 5.25, 2.1], "size": [10, 9, 0], "uv": [24, 14], "mirror": true}
]
},
{
"name": "wing_upper_right2",
"parent": "wing_upper_right",
"pivot": [-10.5, 9.75, 2.1],
"cubes": [
{"origin": [-19.5, 5.25, 2.1], "size": [9, 9, 0], "uv": [22, 25], "mirror": true}
]
},
{
"name": "locator_wing_right",
"parent": "wing_upper_right2",
"pivot": [-15, 13.25, 2.1],
"rotation": [0, 90, 0],
"locators": {
"wing1": [-15, 13.25, 2.1]
}
},
{
"name": "wing_upper_right3",
"parent": "wing_upper_right2",
"pivot": [-19.5, 9.75, 2.1],
"cubes": [
{"origin": [-27.5, 5.25, 2.1], "size": [8, 10, 0], "uv": [20, 36], "mirror": true}
]
},
{
"name": "wing_lower_right",
"parent": "back",
"pivot": [-1.5, 8.5, 2.35],
"rotation": [0, 0, -42.5],
"cubes": [
{"origin": [-7.5, 5.5, 2.35], "size": [7, 6, 0], "uv": [46, 20], "mirror": true}
]
},
{
"name": "wing_lower_right2",
"parent": "wing_lower_right",
"pivot": [-8, 8.5, 2.35],
"cubes": [
{"origin": [-11.5, 5, 2.35], "size": [4, 7, 0], "uv": [52, 28], "mirror": true}
]
},
{
"name": "legs",
"parent": "body",
"pivot": [0, 5.5, -2],
"rotation": [15, 0, 0]
},
{
"name": "leg_left",
"parent": "legs",
"pivot": [1.75, 6.75, -1.25],
"cubes": [
{"origin": [1.25, 6.25, -2.75], "size": [1, 1, 2], "pivot": [1.75, 6.75, -1.75], "rotation": [0, 0, 45], "uv": [52, 0]}
]
},
{
"name": "locator_foot_secondary",
"parent": "leg_left",
"pivot": [1.75, 6.75, -2.5],
"locators": {
"foot_secondary": [1.75, 6.75, -2.5]
}
},
{
"name": "leg_right",
"parent": "legs",
"pivot": [-1.75, 6.75, -1.25],
"cubes": [
{"origin": [-2.25, 6.25, -2.75], "size": [1, 1, 2], "pivot": [-1.75, 6.75, -1.75], "rotation": [0, 0, -45], "uv": [50, 3], "mirror": true}
]
},
{
"name": "locator_foot_primary",
"parent": "leg_right",
"pivot": [-1.75, 6.75, -2.5],
"locators": {
"foot_primary": [-1.75, 6.75, -2.5]
}
}
]
}
]
}
@@ -0,0 +1,518 @@
{
"format_version": "1.12.0",
"minecraft:geometry": [
{
"description": {
"identifier": "geometry.snover_female",
"texture_width": 128,
"texture_height": 64,
"visible_bounds_width": 4,
"visible_bounds_height": 2.5,
"visible_bounds_offset": [0, 0.75, 0]
},
"bones": [
{
"name": "snover",
"pivot": [0, 0, 0]
},
{
"name": "locator_root",
"parent": "snover",
"pivot": [0, 0, 0],
"locators": {
"root": [0, 0, 0]
}
},
{
"name": "locator_top",
"parent": "snover",
"pivot": [0, 23, 0],
"locators": {
"top": [0, 23, 0]
}
},
{
"name": "body",
"parent": "snover",
"pivot": [0, 10, 0]
},
{
"name": "locator_target",
"parent": "body",
"pivot": [0, 10, -8],
"locators": {
"target": [0, 10, -8]
}
},
{
"name": "locator_middle",
"parent": "body",
"pivot": [0, 11, 0],
"locators": {
"middle": [0, 11, 0]
}
},
{
"name": "torso",
"parent": "body",
"pivot": [0, 2.5, 0],
"cubes": [
{"origin": [-6, 1, -6], "size": [12, 7, 12], "uv": [48, 45]}
]
},
{
"name": "berries",
"parent": "torso",
"pivot": [0, 3.8, 0]
},
{
"name": "berry_front",
"parent": "berries",
"pivot": [0, 4.7, -1.5],
"cubes": [
{"origin": [-0.5, 3.5, -2.5], "size": [1, 1, 1], "inflate": 0.2, "uv": [1, 50]}
]
},
{
"name": "berry_front_right",
"parent": "berries",
"pivot": [-1.5, 4.7, 0],
"cubes": [
{"origin": [-2.5, 3.5, -0.5], "size": [1, 1, 1], "inflate": 0.2, "uv": [1, 52]}
]
},
{
"name": "berry_back_right",
"parent": "berries",
"pivot": [-1.5, 4.7, 0],
"cubes": [
{"origin": [-2.5, 3.5, -0.5], "size": [1, 1, 1], "inflate": 0.2, "uv": [1, 54]}
]
},
{
"name": "berry_front_left",
"parent": "berries",
"pivot": [1.5, 4.7, 0],
"cubes": [
{"origin": [1.5, 3.5, -0.5], "size": [1, 1, 1], "inflate": 0.2, "uv": [5, 52], "mirror": true}
]
},
{
"name": "berry_back_left",
"parent": "berries",
"pivot": [1.5, 4.7, 0],
"cubes": [
{"origin": [1.5, 3.5, -0.5], "size": [1, 1, 1], "inflate": 0.2, "uv": [5, 54], "mirror": true}
]
},
{
"name": "tail",
"parent": "torso",
"pivot": [0, 3, 6],
"cubes": [
{"origin": [-2, 1, 5], "size": [4, 4, 5], "uv": [24, 17]}
]
},
{
"name": "locator_tail",
"parent": "tail",
"pivot": [0, 3, 9.5],
"rotation": [-180, 0, 180],
"locators": {
"tail": [0, 3, 9.5]
}
},
{
"name": "tail2",
"parent": "tail",
"pivot": [0, 3, 10],
"cubes": [
{"origin": [-1, 2, 9], "size": [2, 2, 4], "uv": [37, 16]}
]
},
{
"name": "locator_tail_tip",
"parent": "tail2",
"pivot": [0, 3, 13],
"rotation": [-180, 0, 180],
"locators": {
"tail_tip": [0, 3, 13]
}
},
{
"name": "torso2",
"parent": "torso",
"pivot": [0, 7.5, 0],
"cubes": [
{"origin": [-5.5, 7, -5.5], "size": [11, 7, 11], "inflate": 0.01, "uv": [48, 27]}
]
},
{
"name": "locator_special",
"parent": "torso2",
"pivot": [0, 10.5, -7],
"locators": {
"special": [0, 10.5, -7]
}
},
{
"name": "locator_item_face",
"parent": "torso2",
"pivot": [0, 12.5, -5.5],
"locators": {
"item_face": [0, 12.5, -5.5]
}
},
{
"name": "locator_face",
"parent": "torso2",
"pivot": [0, 12, -5.5],
"locators": {
"face": [0, 12, -5.5]
}
},
{
"name": "eyes",
"parent": "torso2",
"pivot": [0, 12.5, -5.5]
},
{
"name": "eye_right",
"parent": "eyes",
"pivot": [-2.5, 12.5, -5.5],
"cubes": [
{"origin": [-3.5, 11.5, -5.5], "size": [2, 3, 1], "inflate": 0.02, "uv": [1, 1]}
]
},
{
"name": "pupil_right",
"parent": "eye_right",
"pivot": [-2.4, 12.5, -5.5],
"cubes": [
{"origin": [-2.9, 11.95, -5.5], "size": [1, 1, 1], "inflate": 0.025, "uv": [8, 4]}
]
},
{
"name": "locator_eye_right",
"parent": "pupil_right",
"pivot": [-2.4, 12.7, -5.5],
"locators": {
"eye1": [-2.4, 12.7, -5.5]
}
},
{
"name": "pupil_top_right",
"parent": "pupil_right",
"pivot": [-2.4, 13.5, -5.5],
"cubes": [
{"origin": [-2.9, 13, -5.5], "size": [1, 1, 1], "inflate": 0.025, "uv": [8, 1]}
]
},
{
"name": "pupil_closed_right",
"parent": "eye_right",
"pivot": [-2.5, 12.35, -5.43],
"cubes": [
{"origin": [-3.5, 11.85, -5.43], "size": [1, 1, 1], "uv": [40, 1]},
{"origin": [-2.5, 11.85, -5.43], "size": [1, 1, 1], "uv": [40, 3]}
]
},
{
"name": "pupil_happy_right",
"parent": "eye_right",
"pivot": [-2.5, 12.55, -5.43],
"cubes": [
{"origin": [-3, 12.45, -5.43], "size": [1, 1, 1], "uv": [0, 26]},
{"origin": [-2, 11.85, -5.43], "size": [1, 1, 1], "uv": [0, 28]},
{"origin": [-4, 11.85, -5.43], "size": [1, 1, 1], "uv": [0, 30]}
]
},
{
"name": "pupil_hurt_right",
"parent": "eye_right",
"pivot": [-2.5, 12.55, -5.43],
"cubes": [
{"origin": [-3.5, 12.45, -5.43], "size": [1, 1, 1], "uv": [0, 32]},
{"origin": [-2.5, 11.85, -5.43], "size": [1, 1, 1], "uv": [0, 34]}
]
},
{
"name": "eye_left",
"parent": "eyes",
"pivot": [2.5, 12.5, -5.5],
"cubes": [
{"origin": [1.5, 11.5, -5.5], "size": [2, 3, 1], "inflate": 0.02, "uv": [1, 6]}
]
},
{
"name": "pupil_left",
"parent": "eye_left",
"pivot": [2.4, 12.5, -5.5],
"cubes": [
{"origin": [1.9, 11.95, -5.5], "size": [1, 1, 1], "inflate": 0.025, "uv": [8, 10]}
]
},
{
"name": "locator_eye_left",
"parent": "pupil_left",
"pivot": [2.4, 12.7, -5.5],
"locators": {
"eye2": [2.4, 12.7, -5.5]
}
},
{
"name": "pupil_top_left",
"parent": "pupil_left",
"pivot": [2.4, 13.5, -5.5],
"cubes": [
{"origin": [1.9, 13, -5.5], "size": [1, 1, 1], "inflate": 0.025, "uv": [8, 7]}
]
},
{
"name": "pupil_closed_left",
"parent": "eye_left",
"pivot": [2.5, 12.35, -5.53],
"cubes": [
{"origin": [2.5, 11.85, -5.43], "size": [1, 1, 1], "uv": [44, 1], "mirror": true},
{"origin": [1.5, 11.85, -5.43], "size": [1, 1, 1], "uv": [44, 3], "mirror": true}
]
},
{
"name": "pupil_happy_left",
"parent": "eye_left",
"pivot": [2.5, 12.55, -5.43],
"cubes": [
{"origin": [2, 12.45, -5.43], "size": [1, 1, 1], "uv": [5, 26], "mirror": true},
{"origin": [1, 11.85, -5.43], "size": [1, 1, 1], "uv": [5, 28], "mirror": true},
{"origin": [3, 11.85, -5.43], "size": [1, 1, 1], "uv": [5, 30], "mirror": true}
]
},
{
"name": "pupil_hurt_left",
"parent": "eye_left",
"pivot": [2.5, 12.55, -5.43],
"cubes": [
{"origin": [2.5, 12.45, -5.43], "size": [1, 1, 1], "uv": [5, 32], "mirror": true},
{"origin": [1.5, 11.85, -5.43], "size": [1, 1, 1], "uv": [5, 34], "mirror": true}
]
},
{
"name": "face_ditto",
"parent": "torso2",
"pivot": [0, 12.5, -5.4]
},
{
"name": "eyes_ditto",
"parent": "face_ditto",
"pivot": [0, 12.5, -5.42],
"cubes": [
{"origin": [-4, 12, -5.42], "size": [8, 1, 0], "uv": [110, 16]}
]
},
{
"name": "eyes_blink_ditto",
"parent": "face_ditto",
"pivot": [0, 12.5, -5.32],
"cubes": [
{"origin": [-4.5, 12, -5.32], "size": [9, 1, 0], "uv": [109, 18]},
{"origin": [-4, 12.5, -5.33], "size": [8, 1, 0], "uv": [110, 20]}
]
},
{
"name": "mouth_ditto",
"parent": "face_ditto",
"pivot": [0, 10.75, -5.4],
"cubes": [
{"origin": [-3.5, 10, -5.42], "size": [7, 1, 0], "uv": [111, 24]},
{"origin": [-4.5, 10.5, -5.42], "size": [9, 1, 0], "uv": [109, 22]}
]
},
{
"name": "mouth_open_ditto",
"parent": "face_ditto",
"pivot": [0, 10.5, -5.31],
"cubes": [
{"origin": [-4.5, 9.5, -5.32], "size": [9, 2, 0], "uv": [109, 26]}
]
},
{
"name": "hat",
"parent": "torso2",
"pivot": [0, 14.5, 0],
"cubes": [
{"origin": [-6.5, 13.5, -6.5], "size": [13, 3, 13], "uv": [0, 0]},
{"origin": [-5, 16.5, -5], "size": [10, 3, 10], "uv": [39, 0]},
{"origin": [-3, 19.5, -3], "size": [6, 3, 6], "uv": [0, 16]},
{"origin": [-3, 19.5, -3], "size": [6, 3, 6], "inflate": 0.25, "uv": [34, 28]},
{"origin": [-1, 19.5, -3], "size": [2, 3, 6], "inflate": 0.5, "uv": [37, 47]}
]
},
{
"name": "locator_head",
"parent": "hat",
"pivot": [0, 19.5, -5],
"locators": {
"head": [0, 19.5, -5]
}
},
{
"name": "locator_item_hat",
"parent": "hat",
"pivot": [0, 22.5, 0],
"locators": {
"item_hat": [0, 22.5, 0]
}
},
{
"name": "back_spike_right",
"parent": "torso2",
"pivot": [-2.25, 11, 5],
"rotation": [10, -12.5, 0],
"cubes": [
{"origin": [-2.25, 9.5, 4.5], "size": [0, 3, 5], "uv": [104, 38], "mirror": true}
]
},
{
"name": "back_spike_left",
"parent": "torso2",
"pivot": [2.25, 11, 5],
"rotation": [10, 12.5, 0],
"cubes": [
{"origin": [2.25, 9.5, 4.5], "size": [0, 3, 5], "uv": [116, 38]}
]
},
{
"name": "arms",
"parent": "torso2",
"pivot": [0, 12.5, 0]
},
{
"name": "arm_right",
"parent": "arms",
"pivot": [-5, 12.5, 0],
"cubes": [
{"origin": [-10, 10, -1.5], "size": [5, 3, 3], "uv": [49, 13]}
]
},
{
"name": "arm_right2",
"parent": "arm_right",
"pivot": [-9, 11.5, 1.5],
"cubes": [
{"origin": [-16, 9.5, -2], "size": [7, 4, 4], "uv": [45, 19]},
{"origin": [-16.5, 13, 0], "size": [4, 2, 0], "pivot": [-12.5, 13.5, 0], "rotation": [0, 0, 9], "uv": [108, 48]},
{"origin": [-16.5, 8, 0], "size": [4, 2, 0], "pivot": [-12.5, 9.5, 0], "rotation": [0, 0, -9], "uv": [108, 56]},
{"origin": [-16.5, 11.5, -3.5], "size": [4, 0, 2], "pivot": [-12.5, 11.5, -2], "rotation": [0, -9, 0], "uv": [106, 52]},
{"origin": [-16.5, 11.5, 1.5], "size": [4, 0, 2], "pivot": [-12.5, 11.5, 2], "rotation": [0, 9, 0], "uv": [106, 60]},
{"origin": [-18, 10, -1.5], "size": [3, 3, 3], "inflate": -0.15, "uv": [69, 0]}
]
},
{
"name": "locator_hand_primary",
"parent": "arm_right2",
"pivot": [-16.5, 11.5, 0],
"rotation": [0, 90, 0],
"locators": {
"hand_primary": [-16.5, 11.5, 0],
"physical": [-16.5, 11.5, 0]
}
},
{
"name": "locator_item",
"parent": "arm_right2",
"pivot": [-16.5, 9.5, 0],
"locators": {
"item": [-16.5, 9.5, 0]
}
},
{
"name": "arm_left",
"parent": "arms",
"pivot": [5, 12.5, 0],
"cubes": [
{"origin": [5, 10, -1.5], "size": [5, 3, 3], "uv": [65, 13], "mirror": true}
]
},
{
"name": "arm_left2",
"parent": "arm_left",
"pivot": [9, 11.5, 1.5],
"cubes": [
{"origin": [9, 9.5, -2], "size": [7, 4, 4], "uv": [67, 19], "mirror": true},
{"origin": [12.5, 13, 0], "size": [4, 2, 0], "pivot": [12.5, 13.5, 0], "rotation": [0, 0, -9], "uv": [118, 48], "mirror": true},
{"origin": [12.5, 8, 0], "size": [4, 2, 0], "pivot": [12.5, 9.5, 0], "rotation": [0, 0, 9], "uv": [118, 56], "mirror": true},
{"origin": [12.5, 11.5, -3.5], "size": [4, 0, 2], "pivot": [12.5, 11.5, -2], "rotation": [0, 9, 0], "uv": [116, 52], "mirror": true},
{"origin": [12.5, 11.5, 1.5], "size": [4, 0, 2], "pivot": [12.5, 11.5, 2], "rotation": [0, -9, 0], "uv": [116, 60], "mirror": true},
{"origin": [15, 10, -1.5], "size": [3, 3, 3], "inflate": -0.15, "uv": [81, 0], "mirror": true}
]
},
{
"name": "locator_hand_secondary",
"parent": "arm_left2",
"pivot": [16.5, 11.5, 0],
"rotation": [0, -90, 0],
"locators": {
"hand_secondary": [16.5, 11.5, 0]
}
},
{
"name": "feet",
"parent": "body",
"pivot": [0, 1.5, -2]
},
{
"name": "foot_left",
"parent": "feet",
"pivot": [3.5, 1.5, -2],
"rotation": [0, -30, 0],
"cubes": [
{"origin": [2, 0, -4], "size": [3, 3, 5], "inflate": 0.01, "uv": [96, 0]}
]
},
{
"name": "foot_left2",
"parent": "foot_left",
"pivot": [3.5, 0, -4],
"cubes": [
{"origin": [2, 0, -8], "size": [3, 3, 4], "uv": [100, 8]}
]
},
{
"name": "locator_foot_secondary",
"parent": "foot_left2",
"pivot": [3.5, 0.5, -4.5],
"rotation": [90, 0, 0],
"locators": {
"foot_secondary": [3.5, 0.5, -4.5]
}
},
{
"name": "foot_right",
"parent": "feet",
"pivot": [-3.5, 1.5, -2],
"rotation": [0, 30, 0],
"cubes": [
{"origin": [-5, 0, -4], "size": [3, 3, 5], "inflate": 0.01, "uv": [112, 0], "mirror": true}
]
},
{
"name": "foot_right2",
"parent": "foot_right",
"pivot": [-3.5, 0, -4],
"cubes": [
{"origin": [-5, 0, -8], "size": [3, 3, 4], "uv": [114, 8], "mirror": true}
]
},
{
"name": "locator_foot_primary",
"parent": "foot_right2",
"pivot": [-3.5, 0.5, -4.5],
"rotation": [90, 0, 0],
"locators": {
"foot_primary": [-3.5, 0.5, -4.5]
}
}
]
}
]
}
@@ -0,0 +1,526 @@
{
"format_version": "1.12.0",
"minecraft:geometry": [
{
"description": {
"identifier": "geometry.snover_male",
"texture_width": 128,
"texture_height": 64,
"visible_bounds_width": 4,
"visible_bounds_height": 2.5,
"visible_bounds_offset": [0, 0.75, 0]
},
"bones": [
{
"name": "snover",
"pivot": [0, 0, 0]
},
{
"name": "locator_root",
"parent": "snover",
"pivot": [0, 0, 0],
"locators": {
"root": [0, 0, 0]
}
},
{
"name": "locator_top",
"parent": "snover",
"pivot": [0, 23, 0],
"locators": {
"top": [0, 23, 0]
}
},
{
"name": "body",
"parent": "snover",
"pivot": [0, 10, 0]
},
{
"name": "locator_target",
"parent": "body",
"pivot": [0, 10, -8],
"locators": {
"target": [0, 10, -8]
}
},
{
"name": "locator_middle",
"parent": "body",
"pivot": [0, 11, 0],
"locators": {
"middle": [0, 11, 0]
}
},
{
"name": "torso",
"parent": "body",
"pivot": [0, 2.5, 0],
"cubes": [
{"origin": [-6, 1, -6], "size": [12, 7, 12], "uv": [0, 45]}
]
},
{
"name": "berries",
"parent": "torso",
"pivot": [1.5, 1.3, 11]
},
{
"name": "berry_front",
"parent": "berries",
"pivot": [0, 5.2, -1.5],
"cubes": [
{"origin": [-0.5, 4, -2.5], "size": [1, 1, 1], "inflate": 0.2, "uv": [1, 50]}
]
},
{
"name": "berry_front_right",
"parent": "berries",
"pivot": [-1.5, 5.2, 0],
"cubes": [
{"origin": [-2.5, 4, -0.5], "size": [1, 1, 1], "inflate": 0.2, "uv": [1, 52]}
]
},
{
"name": "berry_back_right",
"parent": "berries",
"pivot": [-1.5, 5.2, 0],
"cubes": [
{"origin": [-2.5, 4, -0.5], "size": [1, 1, 1], "inflate": 0.2, "uv": [1, 54]}
]
},
{
"name": "berry_front_left",
"parent": "berries",
"pivot": [1.5, 5.2, 0],
"cubes": [
{"origin": [1.5, 4, -0.5], "size": [1, 1, 1], "inflate": 0.2, "uv": [5, 52], "mirror": true}
]
},
{
"name": "berry_back_left",
"parent": "berries",
"pivot": [1.5, 5.2, 0],
"cubes": [
{"origin": [1.5, 4, -0.5], "size": [1, 1, 1], "inflate": 0.2, "uv": [5, 54], "mirror": true}
]
},
{
"name": "berry_back",
"parent": "berries",
"pivot": [0, 5.2, 1.5],
"cubes": [
{"origin": [-0.5, 4, 1.5], "size": [1, 1, 1], "inflate": 0.2, "uv": [5, 50]}
]
},
{
"name": "tail",
"parent": "torso",
"pivot": [0, 3, 6],
"cubes": [
{"origin": [-2, 1, 5], "size": [4, 4, 5], "uv": [24, 17]}
]
},
{
"name": "locator_tail",
"parent": "tail",
"pivot": [0, 3, 9.5],
"rotation": [-180, 0, 180],
"locators": {
"tail": [0, 3, 9.5]
}
},
{
"name": "tail2",
"parent": "tail",
"pivot": [0, 3, 10],
"cubes": [
{"origin": [-1, 2, 9], "size": [2, 2, 4], "uv": [37, 16]}
]
},
{
"name": "locator_tail_tip",
"parent": "tail2",
"pivot": [0, 3, 13],
"rotation": [-180, 0, 180],
"locators": {
"tail_tip": [0, 3, 13]
}
},
{
"name": "torso2",
"parent": "torso",
"pivot": [0, 7.5, 0],
"cubes": [
{"origin": [-5.5, 7, -5.5], "size": [11, 7, 11], "inflate": 0.01, "uv": [0, 27]}
]
},
{
"name": "locator_special",
"parent": "torso2",
"pivot": [0, 10.5, -7],
"locators": {
"special": [0, 10.5, -7]
}
},
{
"name": "locator_item_face",
"parent": "torso2",
"pivot": [0, 12.5, -5.5],
"locators": {
"item_face": [0, 12.5, -5.5]
}
},
{
"name": "locator_face",
"parent": "torso2",
"pivot": [0, 12, -5.5],
"locators": {
"face": [0, 12, -5.5]
}
},
{
"name": "eyes",
"parent": "torso2",
"pivot": [0, 12.5, -5.5]
},
{
"name": "eye_right",
"parent": "eyes",
"pivot": [-2.5, 12.5, -5.5],
"cubes": [
{"origin": [-3.5, 11.5, -5.5], "size": [2, 3, 1], "inflate": 0.02, "uv": [1, 1]}
]
},
{
"name": "pupil_right",
"parent": "eye_right",
"pivot": [-2.4, 12.5, -5.5],
"cubes": [
{"origin": [-2.9, 11.95, -5.5], "size": [1, 1, 1], "inflate": 0.025, "uv": [8, 4]}
]
},
{
"name": "locator_eye_right",
"parent": "pupil_right",
"pivot": [-2.4, 12.7, -5.5],
"locators": {
"eye1": [-2.4, 12.7, -5.5]
}
},
{
"name": "pupil_top_right",
"parent": "pupil_right",
"pivot": [-2.4, 13.5, -5.5],
"cubes": [
{"origin": [-2.9, 13, -5.5], "size": [1, 1, 1], "inflate": 0.025, "uv": [8, 1]}
]
},
{
"name": "pupil_closed_right",
"parent": "eye_right",
"pivot": [-2.5, 12.35, -5.43],
"cubes": [
{"origin": [-3.5, 11.85, -5.43], "size": [1, 1, 1], "uv": [40, 1]},
{"origin": [-2.5, 11.85, -5.43], "size": [1, 1, 1], "uv": [40, 3]}
]
},
{
"name": "pupil_happy_right",
"parent": "eye_right",
"pivot": [-2.5, 12.55, -5.43],
"cubes": [
{"origin": [-3, 12.45, -5.43], "size": [1, 1, 1], "uv": [0, 26]},
{"origin": [-2, 11.85, -5.43], "size": [1, 1, 1], "uv": [0, 28]},
{"origin": [-4, 11.85, -5.43], "size": [1, 1, 1], "uv": [0, 30]}
]
},
{
"name": "pupil_hurt_right",
"parent": "eye_right",
"pivot": [-2.5, 12.55, -5.43],
"cubes": [
{"origin": [-3.5, 12.45, -5.43], "size": [1, 1, 1], "uv": [0, 32]},
{"origin": [-2.5, 11.85, -5.43], "size": [1, 1, 1], "uv": [0, 34]}
]
},
{
"name": "eye_left",
"parent": "eyes",
"pivot": [2.5, 12.5, -5.5],
"cubes": [
{"origin": [1.5, 11.5, -5.5], "size": [2, 3, 1], "inflate": 0.02, "uv": [1, 6]}
]
},
{
"name": "pupil_left",
"parent": "eye_left",
"pivot": [2.4, 12.5, -5.5],
"cubes": [
{"origin": [1.9, 11.95, -5.5], "size": [1, 1, 1], "inflate": 0.025, "uv": [8, 10]}
]
},
{
"name": "locator_eye_left",
"parent": "pupil_left",
"pivot": [2.4, 12.7, -5.5],
"locators": {
"eye2": [2.4, 12.7, -5.5]
}
},
{
"name": "pupil_top_left",
"parent": "pupil_left",
"pivot": [2.4, 13.5, -5.5],
"cubes": [
{"origin": [1.9, 13, -5.5], "size": [1, 1, 1], "inflate": 0.025, "uv": [8, 7]}
]
},
{
"name": "pupil_closed_left",
"parent": "eye_left",
"pivot": [2.5, 12.35, -5.53],
"cubes": [
{"origin": [2.5, 11.85, -5.43], "size": [1, 1, 1], "uv": [44, 1], "mirror": true},
{"origin": [1.5, 11.85, -5.43], "size": [1, 1, 1], "uv": [44, 3], "mirror": true}
]
},
{
"name": "pupil_happy_left",
"parent": "eye_left",
"pivot": [2.5, 12.55, -5.43],
"cubes": [
{"origin": [2, 12.45, -5.43], "size": [1, 1, 1], "uv": [5, 26], "mirror": true},
{"origin": [1, 11.85, -5.43], "size": [1, 1, 1], "uv": [5, 28], "mirror": true},
{"origin": [3, 11.85, -5.43], "size": [1, 1, 1], "uv": [5, 30], "mirror": true}
]
},
{
"name": "pupil_hurt_left",
"parent": "eye_left",
"pivot": [2.5, 12.55, -5.43],
"cubes": [
{"origin": [2.5, 12.45, -5.43], "size": [1, 1, 1], "uv": [5, 32], "mirror": true},
{"origin": [1.5, 11.85, -5.43], "size": [1, 1, 1], "uv": [5, 34], "mirror": true}
]
},
{
"name": "face_ditto",
"parent": "torso2",
"pivot": [0, 12.5, -5.4]
},
{
"name": "eyes_ditto",
"parent": "face_ditto",
"pivot": [0, 12.5, -5.42],
"cubes": [
{"origin": [-4, 12, -5.42], "size": [8, 1, 0], "uv": [110, 16]}
]
},
{
"name": "eyes_blink_ditto",
"parent": "face_ditto",
"pivot": [0, 12.5, -5.32],
"cubes": [
{"origin": [-4.5, 12, -5.32], "size": [9, 1, 0], "uv": [109, 18]},
{"origin": [-4, 12.5, -5.33], "size": [8, 1, 0], "uv": [110, 20]}
]
},
{
"name": "mouth_ditto",
"parent": "face_ditto",
"pivot": [0, 10.75, -5.4],
"cubes": [
{"origin": [-3.5, 10, -5.42], "size": [7, 1, 0], "uv": [111, 24]},
{"origin": [-4.5, 10.5, -5.42], "size": [9, 1, 0], "uv": [109, 22]}
]
},
{
"name": "mouth_open_ditto",
"parent": "face_ditto",
"pivot": [0, 10.5, -5.31],
"cubes": [
{"origin": [-4.5, 9.5, -5.32], "size": [9, 2, 0], "uv": [109, 26]}
]
},
{
"name": "hat",
"parent": "torso2",
"pivot": [0, 14.5, 0],
"cubes": [
{"origin": [-6.5, 13.5, -6.5], "size": [13, 3, 13], "uv": [0, 0]},
{"origin": [-5, 16.5, -5], "size": [10, 3, 10], "uv": [39, 0]},
{"origin": [-3, 19.5, -3], "size": [6, 3, 6], "uv": [0, 16]},
{"origin": [-3, 19.5, -3], "size": [6, 3, 6], "inflate": 0.25, "uv": [34, 28]},
{"origin": [-1, 19.5, -3], "size": [2, 3, 6], "inflate": 0.5, "uv": [37, 47]}
]
},
{
"name": "locator_head",
"parent": "hat",
"pivot": [0, 19.5, -5],
"locators": {
"head": [0, 19.5, -5]
}
},
{
"name": "locator_item_hat",
"parent": "hat",
"pivot": [0, 22.5, 0],
"locators": {
"item_hat": [0, 22.5, 0]
}
},
{
"name": "back_spike_right",
"parent": "torso2",
"pivot": [-2.25, 11, 5],
"rotation": [10, -12.5, 0],
"cubes": [
{"origin": [-2.25, 9.5, 4.5], "size": [0, 3, 5], "uv": [104, 38], "mirror": true}
]
},
{
"name": "back_spike_left",
"parent": "torso2",
"pivot": [2.25, 11, 5],
"rotation": [10, 12.5, 0],
"cubes": [
{"origin": [2.25, 9.5, 4.5], "size": [0, 3, 5], "uv": [116, 38]}
]
},
{
"name": "arms",
"parent": "torso2",
"pivot": [0, 12.5, 0]
},
{
"name": "arm_right",
"parent": "arms",
"pivot": [-5, 12.5, 0],
"cubes": [
{"origin": [-10, 10, -1.5], "size": [5, 3, 3], "uv": [49, 13]}
]
},
{
"name": "arm_right2",
"parent": "arm_right",
"pivot": [-9, 11.5, 1.5],
"cubes": [
{"origin": [-16, 9.5, -2], "size": [7, 4, 4], "uv": [45, 19]},
{"origin": [-16.5, 13, 0], "size": [4, 2, 0], "pivot": [-12.5, 13.5, 0], "rotation": [0, 0, 9], "uv": [108, 48]},
{"origin": [-16.5, 8, 0], "size": [4, 2, 0], "pivot": [-12.5, 9.5, 0], "rotation": [0, 0, -9], "uv": [108, 56]},
{"origin": [-16.5, 11.5, -3.5], "size": [4, 0, 2], "pivot": [-12.5, 11.5, -2], "rotation": [0, -9, 0], "uv": [106, 52]},
{"origin": [-16.5, 11.5, 1.5], "size": [4, 0, 2], "pivot": [-12.5, 11.5, 2], "rotation": [0, 9, 0], "uv": [106, 60]},
{"origin": [-18, 10, -1.5], "size": [3, 3, 3], "inflate": -0.15, "uv": [69, 0]}
]
},
{
"name": "locator_hand_primary",
"parent": "arm_right2",
"pivot": [-16.5, 11.5, 0],
"rotation": [0, 90, 0],
"locators": {
"hand_primary": [-16.5, 11.5, 0],
"physical": [-16.5, 11.5, 0]
}
},
{
"name": "locator_item",
"parent": "arm_right2",
"pivot": [-16.5, 9.5, 0],
"locators": {
"item": [-16.5, 9.5, 0]
}
},
{
"name": "arm_left",
"parent": "arms",
"pivot": [5, 12.5, 0],
"cubes": [
{"origin": [5, 10, -1.5], "size": [5, 3, 3], "uv": [65, 13], "mirror": true}
]
},
{
"name": "arm_left2",
"parent": "arm_left",
"pivot": [9, 11.5, 1.5],
"cubes": [
{"origin": [9, 9.5, -2], "size": [7, 4, 4], "uv": [67, 19], "mirror": true},
{"origin": [12.5, 13, 0], "size": [4, 2, 0], "pivot": [12.5, 13.5, 0], "rotation": [0, 0, -9], "uv": [118, 48], "mirror": true},
{"origin": [12.5, 8, 0], "size": [4, 2, 0], "pivot": [12.5, 9.5, 0], "rotation": [0, 0, 9], "uv": [118, 56], "mirror": true},
{"origin": [12.5, 11.5, -3.5], "size": [4, 0, 2], "pivot": [12.5, 11.5, -2], "rotation": [0, 9, 0], "uv": [116, 52], "mirror": true},
{"origin": [12.5, 11.5, 1.5], "size": [4, 0, 2], "pivot": [12.5, 11.5, 2], "rotation": [0, -9, 0], "uv": [116, 60], "mirror": true},
{"origin": [15, 10, -1.5], "size": [3, 3, 3], "inflate": -0.15, "uv": [81, 0], "mirror": true}
]
},
{
"name": "locator_hand_secondary",
"parent": "arm_left2",
"pivot": [16.5, 11.5, 0],
"rotation": [0, -90, 0],
"locators": {
"hand_secondary": [16.5, 11.5, 0]
}
},
{
"name": "feet",
"parent": "body",
"pivot": [0, 1.5, -2]
},
{
"name": "foot_left",
"parent": "feet",
"pivot": [3.5, 1.5, -2],
"rotation": [0, -30, 0],
"cubes": [
{"origin": [2, 0, -4], "size": [3, 3, 5], "inflate": 0.01, "uv": [96, 0]}
]
},
{
"name": "foot_left2",
"parent": "foot_left",
"pivot": [3.5, 0, -4],
"cubes": [
{"origin": [2, 0, -8], "size": [3, 3, 4], "uv": [100, 8]}
]
},
{
"name": "locator_foot_secondary",
"parent": "foot_left2",
"pivot": [3.5, 0.5, -4.5],
"rotation": [90, 0, 0],
"locators": {
"foot_secondary": [3.5, 0.5, -4.5]
}
},
{
"name": "foot_right",
"parent": "feet",
"pivot": [-3.5, 1.5, -2],
"rotation": [0, 30, 0],
"cubes": [
{"origin": [-5, 0, -4], "size": [3, 3, 5], "inflate": 0.01, "uv": [112, 0], "mirror": true}
]
},
{
"name": "foot_right2",
"parent": "foot_right",
"pivot": [-3.5, 0, -4],
"cubes": [
{"origin": [-5, 0, -8], "size": [3, 3, 4], "uv": [114, 8], "mirror": true}
]
},
{
"name": "locator_foot_primary",
"parent": "foot_right2",
"pivot": [-3.5, 0.5, -4.5],
"rotation": [90, 0, 0],
"locators": {
"foot_primary": [-3.5, 0.5, -4.5]
}
}
]
}
]
}
@@ -0,0 +1,962 @@
{
"format_version": "1.12.0",
"minecraft:geometry": [
{
"description": {
"identifier": "geometry.abomasnow_female",
"texture_width": 256,
"texture_height": 128,
"visible_bounds_width": 7,
"visible_bounds_height": 4.5,
"visible_bounds_offset": [0, 1.75, 0]
},
"bones": [
{
"name": "abomasnow",
"pivot": [0, 0, 0]
},
{
"name": "locator_root",
"parent": "abomasnow",
"pivot": [0, 0, 0],
"locators": {
"root": [0, 0, 0]
}
},
{
"name": "locator_top",
"parent": "abomasnow",
"pivot": [0, 40, 0],
"locators": {
"top": [0, 40, 0]
}
},
{
"name": "body",
"parent": "abomasnow",
"pivot": [0, 24, 0]
},
{
"name": "locator_target",
"parent": "body",
"pivot": [0, 24, -14],
"locators": {
"target": [0, 24, -14]
}
},
{
"name": "locator_middle",
"parent": "body",
"pivot": [0, 24, 0],
"locators": {
"middle": [0, 24, 0]
}
},
{
"name": "torso",
"parent": "body",
"pivot": [0, 14, 1],
"cubes": [
{"origin": [-13, 5, -10.4], "size": [26, 15, 22], "uv": [0, 0]}
]
},
{
"name": "tail",
"parent": "torso",
"pivot": [0, 9, 10],
"cubes": [
{"origin": [-4, 5, 8], "size": [8, 8, 12], "uv": [92, 108]}
]
},
{
"name": "tail2",
"parent": "tail",
"pivot": [0, 9, 19],
"cubes": [
{"origin": [-3, 6, 18], "size": [6, 6, 7], "uv": [99, 95]}
]
},
{
"name": "locator_tail",
"parent": "tail2",
"pivot": [0, 9, 20],
"rotation": [-180, 0, 180],
"locators": {
"tail": [0, 9, 20]
}
},
{
"name": "tail_spikes",
"parent": "tail2",
"pivot": [0, 9, 21]
},
{
"name": "tail_spike_top",
"parent": "tail_spikes",
"pivot": [0, 12, 21],
"cubes": [
{"origin": [0, 12, 20], "size": [0, 3, 6], "uv": [182, 91]}
]
},
{
"name": "tail_spike_right",
"parent": "tail_spikes",
"pivot": [-3, 6, 21],
"rotation": [0, 0, -45],
"cubes": [
{"origin": [-6, 6, 20], "size": [3, 0, 6], "uv": [174, 102]}
]
},
{
"name": "tail_spike_left",
"parent": "tail_spikes",
"pivot": [3, 6, 21],
"rotation": [0, 0, 45],
"cubes": [
{"origin": [3, 6, 20], "size": [3, 0, 6], "uv": [182, 102], "mirror": true}
]
},
{
"name": "tail3",
"parent": "tail2",
"pivot": [0, 9, 24],
"cubes": [
{"origin": [-2, 7, 23], "size": [4, 4, 7], "uv": [120, 109]}
]
},
{
"name": "locator_tail_tip",
"parent": "tail3",
"pivot": [0, 9, 30],
"rotation": [-180, 0, 180],
"locators": {
"tail_tip": [0, 9, 30]
}
},
{
"name": "torso2",
"parent": "torso",
"pivot": [0, 18.5, 0.5],
"cubes": [
{"origin": [-12, 18, -9.5], "size": [24, 12, 20], "uv": [96, 0]}
]
},
{
"name": "spikes_back",
"parent": "torso2",
"pivot": [0, 27.5, 8.5]
},
{
"name": "spike_back_top_right",
"parent": "spikes_back",
"pivot": [-5, 30.5, 8],
"rotation": [10, 0, 0],
"cubes": [
{"origin": [-7.5, 28, 6], "size": [5, 5, 6], "uv": [92, 72], "mirror": true},
{"origin": [-6.5, 29, 12], "size": [3, 3, 3], "uv": [108, 72], "mirror": true}
]
},
{
"name": "spike_back_top_left",
"parent": "spikes_back",
"pivot": [5, 30.5, 8],
"rotation": [10, 0, 0],
"cubes": [
{"origin": [2.5, 28, 6], "size": [5, 5, 6], "uv": [114, 72]},
{"origin": [3.5, 29, 12], "size": [3, 3, 3], "uv": [130, 72]}
]
},
{
"name": "spike_back_bottom_right",
"parent": "spikes_back",
"pivot": [-5, 24, 9],
"cubes": [
{"origin": [-7.5, 21.5, 7], "size": [5, 5, 6], "uv": [92, 83], "mirror": true},
{"origin": [-6.5, 22.5, 13], "size": [3, 3, 3], "uv": [108, 83], "mirror": true}
]
},
{
"name": "spike_back_bottom_left",
"parent": "spikes_back",
"pivot": [5, 24, 9],
"cubes": [
{"origin": [2.5, 21.5, 7], "size": [5, 5, 6], "uv": [114, 83]},
{"origin": [3.5, 22.5, 13], "size": [3, 3, 3], "uv": [130, 83]}
]
},
{
"name": "arms",
"parent": "torso2",
"pivot": [0, 30, 0.5]
},
{
"name": "arm_right",
"parent": "arms",
"pivot": [-12, 30, 0.5],
"cubes": [
{"origin": [-22, 23, -3], "size": [10, 7, 7], "uv": [0, 92], "mirror": true}
]
},
{
"name": "arm_right2",
"parent": "arm_right",
"pivot": [-22, 26.5, 3.5],
"cubes": [
{"origin": [-34, 21.5, -4.5], "size": [13, 10, 10], "uv": [0, 72], "mirror": true}
]
},
{
"name": "locator_hand_primary",
"parent": "arm_right2",
"pivot": [-33.5, 26.5, 0.5],
"rotation": [0, 90, 0],
"locators": {
"hand_primary": [-33.5, 26.5, 0.5],
"physical": [-33.5, 26.5, 0.5]
}
},
{
"name": "locator_item",
"parent": "arm_right2",
"pivot": [-34, 27, 0.5],
"locators": {
"item": [-34, 27, 0.5]
}
},
{
"name": "fingers_right",
"parent": "arm_right2",
"pivot": [-34, 26, 0.5]
},
{
"name": "finger_front_right",
"parent": "fingers_right",
"pivot": [-34, 25, -3.5],
"cubes": [
{"origin": [-38, 23, -5], "size": [5, 4, 4], "uv": [56, 112], "mirror": true},
{"origin": [-41, 23, -3], "size": [3, 4, 0], "pivot": [-39.5, 25, -3], "rotation": [45, 0, 0], "uv": [180, 122], "mirror": true}
]
},
{
"name": "finger_middle_right",
"parent": "fingers_right",
"pivot": [-34, 30.5, 0.5],
"cubes": [
{"origin": [-38, 27.5, -1.5], "size": [4, 4, 4], "uv": [64, 104], "mirror": true},
{"origin": [-41, 27.5, 0.5], "size": [3, 4, 0], "uv": [180, 116], "mirror": true}
]
},
{
"name": "finger_back_right",
"parent": "fingers_right",
"pivot": [-34, 25, 4.5],
"cubes": [
{"origin": [-38, 23, 2], "size": [5, 4, 4], "uv": [56, 120], "mirror": true},
{"origin": [-41, 23, 4], "size": [3, 4, 0], "pivot": [-39.5, 25, 4], "rotation": [-45, 0, 0], "uv": [180, 110], "mirror": true}
]
},
{
"name": "arm_left",
"parent": "arms",
"pivot": [12, 30, 0.5],
"cubes": [
{"origin": [12, 23, -3], "size": [10, 7, 7], "uv": [34, 92]}
]
},
{
"name": "arm_left2",
"parent": "arm_left",
"pivot": [22, 26.5, 3.5],
"cubes": [
{"origin": [21, 21.5, -4.5], "size": [13, 10, 10], "uv": [46, 72]}
]
},
{
"name": "locator_hand_secondary",
"parent": "arm_left2",
"pivot": [33.5, 26.5, 0.5],
"rotation": [0, -90, 0],
"locators": {
"hand_secondary": [33.5, 26.5, 0.5]
}
},
{
"name": "fingers_left",
"parent": "arm_left2",
"pivot": [34, 26, 0.5]
},
{
"name": "finger_front_left",
"parent": "fingers_left",
"pivot": [34, 25, -3.5],
"cubes": [
{"origin": [33, 23, -5], "size": [5, 4, 4], "uv": [74, 112]},
{"origin": [38, 23, -3], "size": [3, 4, 0], "pivot": [39.5, 25, -3], "rotation": [45, 0, 0], "uv": [188, 122]}
]
},
{
"name": "finger_middle_left",
"parent": "fingers_left",
"pivot": [34, 30.5, 0.5],
"cubes": [
{"origin": [34, 27.5, -1.5], "size": [4, 4, 4], "uv": [80, 104]},
{"origin": [38, 27.5, 0.5], "size": [3, 4, 0], "uv": [188, 116]}
]
},
{
"name": "finger_back_left",
"parent": "fingers_left",
"pivot": [34, 25, 4.5],
"cubes": [
{"origin": [33, 23, 2], "size": [5, 4, 4], "uv": [74, 120]},
{"origin": [38, 23, 4], "size": [3, 4, 0], "pivot": [39.5, 25, 4], "rotation": [-45, 0, 0], "uv": [188, 110]}
]
},
{
"name": "head",
"parent": "torso2",
"pivot": [0, 28, -1.5],
"cubes": [
{"origin": [-9, 28, -8.5], "size": [18, 8, 17], "uv": [124, 32]},
{"origin": [-8, 36, -8.5], "size": [16, 4, 15], "uv": [164, 0]}
]
},
{
"name": "locator_item_hat",
"parent": "head",
"pivot": [0, 43, -1],
"locators": {
"item_hat": [0, 43, -1]
}
},
{
"name": "locator_head",
"parent": "head",
"pivot": [0, 40, -8.5],
"locators": {
"head": [0, 40, -8.5]
}
},
{
"name": "locator_mouth",
"parent": "head",
"pivot": [0, 31, -8.5],
"locators": {
"mouth": [0, 31, -8.5],
"special": [0, 31, -8.5]
}
},
{
"name": "locator_item_face",
"parent": "head",
"pivot": [0, 36.5, -8.5],
"locators": {
"item_face": [0, 36.5, -8.5]
}
},
{
"name": "locator_face",
"parent": "head",
"pivot": [0, 36, -8.5],
"locators": {
"face": [0, 36, -8.5]
}
},
{
"name": "beard",
"parent": "head",
"pivot": [0, 33, -8.5],
"rotation": [-12.5, 0, 0]
},
{
"name": "beard_right",
"parent": "beard",
"pivot": [-3, 33, -8.5]
},
{
"name": "beard_tuft_inner_right",
"parent": "beard_right",
"pivot": [0, 33, -8.5],
"rotation": [-15, 0, 7.5],
"cubes": [
{"origin": [-4, 25, -8.5], "size": [4, 8, 0], "uv": [236, 91], "mirror": true}
]
},
{
"name": "beard_tuft_middle_right",
"parent": "beard_right",
"pivot": [-3.5, 33.25, -8.5],
"rotation": [-15, 0, 15],
"cubes": [
{"origin": [-6.5, 26.25, -8.5], "size": [3, 7, 0], "uv": [220, 91], "mirror": true}
]
},
{
"name": "beard_tuft_outer_right",
"parent": "beard_right",
"pivot": [-6, 33.5, -8.5],
"rotation": [-15, 0, 30],
"cubes": [
{"origin": [-9, 27.5, -8.5], "size": [3, 6, 0], "uv": [204, 91], "mirror": true}
]
},
{
"name": "beard_left",
"parent": "beard",
"pivot": [3, 33, -8.5]
},
{
"name": "beard_tuft_inner_left",
"parent": "beard_left",
"pivot": [0, 33, -8.5],
"rotation": [-15, 0, -7.5],
"cubes": [
{"origin": [0, 25, -8.5], "size": [4, 8, 0], "uv": [246, 91]}
]
},
{
"name": "beard_tuft_middle_left",
"parent": "beard_left",
"pivot": [3.5, 33.25, -8.5],
"rotation": [-15, 0, -15],
"cubes": [
{"origin": [3.5, 26.25, -8.5], "size": [3, 7, 0], "uv": [228, 91]}
]
},
{
"name": "beard_tuft_outer_left",
"parent": "beard_left",
"pivot": [6, 33.5, -8.5],
"rotation": [-15, 0, -30],
"cubes": [
{"origin": [6, 27.5, -8.5], "size": [3, 6, 0], "uv": [212, 91]}
]
},
{
"name": "eyebrows",
"parent": "head",
"pivot": [0, 36, -8.51]
},
{
"name": "eyebrow_right",
"parent": "eyebrows",
"pivot": [-1.75, 36, -8.51],
"rotation": [0, 0, -57.5],
"cubes": [
{"origin": [-4.75, 36, -8.54], "size": [8, 11, 0], "uv": [220, 71], "mirror": true}
]
},
{
"name": "eyebrow_left",
"parent": "eyebrows",
"pivot": [1.75, 36, -8.51],
"rotation": [0, 0, 57.5],
"cubes": [
{"origin": [-3.25, 36, -8.54], "size": [8, 11, 0], "uv": [238, 71]}
]
},
{
"name": "eyes",
"parent": "head",
"pivot": [0, 36.25, -8.5]
},
{
"name": "eye_right",
"parent": "eyes",
"pivot": [-3.25, 36.25, -8.5],
"cubes": [
{"origin": [-4.75, 34.75, -8.5], "size": [3, 3, 1], "inflate": 0.01, "uv": [1, 1], "mirror": true}
]
},
{
"name": "pupil_right",
"parent": "eye_right",
"pivot": [-3.15, 36.25, -8.5],
"cubes": [
{"origin": [-3.65, 35.75, -8.5], "size": [1, 1, 1], "inflate": 0.02, "uv": [1, 6], "mirror": true}
]
},
{
"name": "locator_eye_right",
"parent": "pupil_right",
"pivot": [-3.15, 36.25, -8.5],
"locators": {
"eye1": [-3.15, 36.25, -8.5]
}
},
{
"name": "eye_emote_right",
"parent": "eye_right",
"pivot": [-3.75, 37.25, -8.41],
"cubes": [
{"origin": [-4.75, 36.75, -8.41], "size": [2, 1, 1], "inflate": 0.02, "uv": [1, 14], "mirror": true}
]
},
{
"name": "eye_left",
"parent": "eyes",
"pivot": [3.25, 36.25, -8.5],
"cubes": [
{"origin": [1.75, 34.75, -8.5], "size": [3, 3, 1], "inflate": 0.01, "uv": [10, 1]}
]
},
{
"name": "pupil_left",
"parent": "eye_left",
"pivot": [3.15, 36.25, -8.5],
"cubes": [
{"origin": [2.65, 35.75, -8.5], "size": [1, 1, 1], "inflate": 0.02, "uv": [10, 6]}
]
},
{
"name": "locator_eye_left",
"parent": "pupil_left",
"pivot": [3.15, 36.25, -8.5],
"locators": {
"eye2": [3.15, 36.25, -8.5]
}
},
{
"name": "eye_emote_left",
"parent": "eye_left",
"pivot": [3.75, 37.25, -8.41],
"cubes": [
{"origin": [2.75, 36.75, -8.41], "size": [2, 1, 1], "inflate": 0.02, "uv": [10, 14]}
]
},
{
"name": "eyelid_right",
"parent": "eyes",
"pivot": [-3.25, 36.25, -8.4],
"cubes": [
{"origin": [-4.75, 34.75, -8.4], "size": [3, 3, 1], "inflate": 0.01, "uv": [1, 9], "mirror": true}
]
},
{
"name": "eyelid_left",
"parent": "eyes",
"pivot": [3.25, 36.25, -8.4],
"cubes": [
{"origin": [1.75, 34.75, -8.4], "size": [3, 3, 1], "inflate": 0.01, "uv": [10, 9]}
]
},
{
"name": "eyelid_happy_right",
"parent": "eyes",
"pivot": [-3.25, 36.25, -8.4],
"cubes": [
{"origin": [-4.75, 34.75, -8.4], "size": [3, 3, 1], "inflate": 0.01, "uv": [75, 1], "mirror": true}
]
},
{
"name": "eyelid_happy_left",
"parent": "eyes",
"pivot": [3.25, 36.25, -8.4],
"cubes": [
{"origin": [1.75, 34.75, -8.4], "size": [3, 3, 1], "inflate": 0.01, "uv": [84, 1]}
]
},
{
"name": "eyelid_hurt_right",
"parent": "eyes",
"pivot": [-3.25, 36.25, -8.4],
"cubes": [
{"origin": [-4.75, 34.75, -8.4], "size": [3, 3, 1], "inflate": 0.01, "uv": [75, 6], "mirror": true}
]
},
{
"name": "eyelid_hurt_left",
"parent": "eyes",
"pivot": [3.25, 36.25, -8.4],
"cubes": [
{"origin": [1.75, 34.75, -8.4], "size": [3, 3, 1], "inflate": 0.01, "uv": [84, 6]}
]
},
{
"name": "face_ditto",
"parent": "head",
"pivot": [0, 36, -8.4]
},
{
"name": "eyes_ditto",
"parent": "face_ditto",
"pivot": [0, 36, -8.42],
"cubes": [
{"origin": [-4.5, 35.5, -8.42], "size": [9, 1, 0], "uv": [94, 1]}
]
},
{
"name": "eyes_blink_ditto",
"parent": "face_ditto",
"pivot": [0, 36, -8.32],
"cubes": [
{"origin": [-5, 35.5, -8.32], "size": [10, 1, 0], "uv": [93, 3]},
{"origin": [-4.5, 36, -8.33], "size": [9, 1, 0], "uv": [94, 5]}
]
},
{
"name": "mouth_open",
"parent": "head",
"pivot": [0, 30, -8.4],
"cubes": [
{"origin": [-5, 28, -8.41], "size": [10, 4, 1], "uv": [75, 14]}
]
},
{
"name": "body_tufts",
"parent": "torso2",
"pivot": [0, 14.05, 0.5]
},
{
"name": "front_tufts",
"parent": "body_tufts",
"pivot": [0, 24.55, -9.5]
},
{
"name": "tufts_front_right",
"parent": "front_tufts",
"pivot": [-4.5, 22.8, -1],
"rotation": [0, 0, 22.5]
},
{
"name": "tuft_front_inner_right",
"parent": "tufts_front_right",
"pivot": [-4.75, 22.8, -9.5],
"rotation": [-25, 0, 0],
"cubes": [
{"origin": [-6.25, 14.8, -9.5], "size": [3, 8, 0], "uv": [240, 101], "mirror": true}
]
},
{
"name": "tuft_front_middle_inner_right",
"parent": "tufts_front_right",
"pivot": [-6.25, 22.8, -9.5],
"rotation": [-20, 0, 0],
"cubes": [
{"origin": [-9.25, 14.8, -9.5], "size": [3, 8, 0], "pivot": [-6.25, 22.8, -9.5], "rotation": [0, 0, 7.5], "uv": [224, 101], "mirror": true}
]
},
{
"name": "tuft_front_middle_outer_right",
"parent": "tufts_front_right",
"pivot": [-9.25, 22.8, -9.5],
"rotation": [-20, 0, 0],
"cubes": [
{"origin": [-12.25, 15.8, -9.5], "size": [3, 7, 0], "pivot": [-9.25, 22.8, -9.5], "rotation": [0, 0, 20], "uv": [208, 101], "mirror": true}
]
},
{
"name": "tuft_front_outer_right",
"parent": "tufts_front_right",
"pivot": [-12.5, 22.8, -9.5],
"cubes": [
{"origin": [-14.5, 17.8, -9.5], "size": [2, 5, 0], "pivot": [-12.5, 22.8, -9.5], "rotation": [-25, 90, 0], "uv": [196, 101], "mirror": true}
]
},
{
"name": "tufts_front_left",
"parent": "front_tufts",
"pivot": [4.5, 22.8, -1],
"rotation": [0, 0, -22.5]
},
{
"name": "tuft_front_inner_left",
"parent": "tufts_front_left",
"pivot": [4.75, 22.8, -9.5],
"rotation": [-25, 0, 0],
"cubes": [
{"origin": [3.25, 14.8, -9.5], "size": [3, 8, 0], "uv": [248, 101]}
]
},
{
"name": "tuft_front_middle_inner_left",
"parent": "tufts_front_left",
"pivot": [6.25, 22.8, -9.5],
"rotation": [-20, 0, 0],
"cubes": [
{"origin": [6.25, 14.8, -9.5], "size": [3, 8, 0], "pivot": [6.25, 22.8, -9.5], "rotation": [0, 0, -7.5], "uv": [232, 101]}
]
},
{
"name": "tuft_front_middle_outer_left",
"parent": "tufts_front_left",
"pivot": [9.25, 22.8, -9.5],
"rotation": [-20, 0, 0],
"cubes": [
{"origin": [9.25, 15.8, -9.5], "size": [3, 7, 0], "pivot": [9.25, 22.8, -9.5], "rotation": [0, 0, -20], "uv": [216, 101]}
]
},
{
"name": "tuft_front_outer_left",
"parent": "tufts_front_left",
"pivot": [12.5, 22.8, -9.5],
"cubes": [
{"origin": [12.5, 17.8, -9.5], "size": [2, 5, 0], "pivot": [12.5, 22.8, -9.5], "rotation": [-25, -90, 0], "uv": [202, 101]}
]
},
{
"name": "tufts_back",
"parent": "body_tufts",
"pivot": [-4.5, 21.8, 10.5]
},
{
"name": "tufts_back_right",
"parent": "tufts_back",
"pivot": [-4.5, 21.8, 2],
"rotation": [0, 0, 15]
},
{
"name": "tuft_back_inner_right",
"parent": "tufts_back_right",
"pivot": [-4.75, 21.8, 10.5],
"rotation": [36, 0, 0],
"cubes": [
{"origin": [-6.25, 14.8, 10.5], "size": [3, 7, 0], "uv": [240, 119], "mirror": true}
]
},
{
"name": "tuft_back_middle_inner_right",
"parent": "tufts_back_right",
"pivot": [-6.25, 21.8, 10.5],
"rotation": [30, 0, 0],
"cubes": [
{"origin": [-9.25, 14.8, 10.5], "size": [3, 7, 0], "pivot": [-6.25, 21.8, 10.5], "rotation": [0, 0, 7.5], "uv": [224, 119], "mirror": true}
]
},
{
"name": "tuft_back_middle_outer_right",
"parent": "tufts_back_right",
"pivot": [-9.25, 21.8, 10.5],
"rotation": [25, 0, 0],
"cubes": [
{"origin": [-12.25, 15.8, 10.5], "size": [3, 6, 0], "pivot": [-9.25, 21.8, 10.5], "rotation": [0, 0, 20], "uv": [208, 119], "mirror": true}
]
},
{
"name": "tuft_back_outer_right",
"parent": "tufts_back_right",
"pivot": [-12.5, 21.8, 10.5],
"cubes": [
{"origin": [-14.5, 17.8, 10.5], "size": [2, 4, 0], "pivot": [-12.5, 21.8, 10.5], "rotation": [25, -90, 0], "uv": [196, 119], "mirror": true}
]
},
{
"name": "tufts_back_left",
"parent": "tufts_back",
"pivot": [4.5, 21.8, 2],
"rotation": [0, 0, -15]
},
{
"name": "tuft_back_inner_left",
"parent": "tufts_back_left",
"pivot": [4.75, 21.8, 10.5],
"rotation": [36, 0, 0],
"cubes": [
{"origin": [3.25, 14.8, 10.5], "size": [3, 7, 0], "uv": [248, 119]}
]
},
{
"name": "tuft_back_middle_inner_left",
"parent": "tufts_back_left",
"pivot": [6.25, 21.8, 10.5],
"rotation": [30, 0, 0],
"cubes": [
{"origin": [6.25, 14.8, 10.5], "size": [3, 7, 0], "pivot": [6.25, 21.8, 10.5], "rotation": [0, 0, -7.5], "uv": [232, 119]}
]
},
{
"name": "tuft_back_middle_outer_left",
"parent": "tufts_back_left",
"pivot": [9.25, 21.8, 10.5],
"rotation": [25, 0, 0],
"cubes": [
{"origin": [9.25, 15.8, 10.5], "size": [3, 6, 0], "pivot": [9.25, 21.8, 10.5], "rotation": [0, 0, -20], "uv": [216, 119]}
]
},
{
"name": "tuft_back_outer_left",
"parent": "tufts_back_left",
"pivot": [12.5, 21.8, 10.5],
"cubes": [
{"origin": [12.5, 17.8, 10.5], "size": [2, 4, 0], "pivot": [12.5, 21.8, 10.5], "rotation": [25, 90, 0], "uv": [202, 119]}
]
},
{
"name": "legs",
"parent": "body",
"pivot": [0, 14, 1]
},
{
"name": "leg_right",
"parent": "legs",
"pivot": [-9, 14, 1],
"cubes": [
{"origin": [-17, 3, -9], "size": [16, 15, 20], "uv": [0, 37], "mirror": true}
]
},
{
"name": "foot_right",
"parent": "leg_right",
"pivot": [-10, 4, 1],
"cubes": [
{"origin": [-14, 0, -3], "size": [8, 7, 6], "uv": [0, 106], "mirror": true}
]
},
{
"name": "locator_foot_primary",
"parent": "foot_right",
"pivot": [-10, 0.5, 0],
"rotation": [90, 0, 0],
"locators": {
"foot_primary": [-10, 0.5, 0]
}
},
{
"name": "foot_back_right",
"parent": "foot_right",
"pivot": [-10, 1.5, 3],
"cubes": [
{"origin": [-12.5, 0, 3], "size": [5, 3, 3], "uv": [0, 37], "mirror": true},
{"origin": [-10, 0, 6], "size": [0, 3, 3], "uv": [164, 120], "mirror": true}
]
},
{
"name": "foot_tufts_outer_right",
"parent": "foot_right",
"pivot": [-13.8, 2, 2.4],
"rotation": [0, -45, 0],
"cubes": [
{"origin": [-13.5, 0, 2.5], "size": [0, 2, 2], "uv": [168, 105]},
{"origin": [-14, 0, 2.4], "size": [0, 2, 2], "pivot": [-14, 1, 2.4], "rotation": [0, -20, 0], "uv": [168, 109]}
]
},
{
"name": "foot_tufts_inner_right",
"parent": "foot_right",
"pivot": [-6.2, 2, 2.4],
"rotation": [0, 45, 0],
"cubes": [
{"origin": [-6.5, 0, 2.5], "size": [0, 2, 2], "uv": [168, 113], "mirror": true},
{"origin": [-6, 0, 2.4], "size": [0, 2, 2], "pivot": [-6, 1, 2.4], "rotation": [0, 20, 0], "uv": [168, 117], "mirror": true}
]
},
{
"name": "toes_right",
"parent": "foot_right",
"pivot": [-10, 4, 1]
},
{
"name": "toe_inner_right",
"parent": "toes_right",
"pivot": [-7.25, 2, -2],
"rotation": [0, -25, 0],
"cubes": [
{"origin": [-8.75, 0, -6], "size": [3, 2, 4], "inflate": 0.01, "uv": [52, 37], "mirror": true}
]
},
{
"name": "toe_middle_right",
"parent": "toes_right",
"pivot": [-10, 3, -3],
"cubes": [
{"origin": [-12, 0, -8], "size": [4, 3, 5], "uv": [0, 119], "mirror": true}
]
},
{
"name": "toe_outer_right",
"parent": "toes_right",
"pivot": [-12.75, 2, -2],
"rotation": [0, 25, 0],
"cubes": [
{"origin": [-14.25, 0, -6], "size": [3, 2, 4], "inflate": 0.01, "uv": [66, 37], "mirror": true}
]
},
{
"name": "leg_left",
"parent": "legs",
"pivot": [9, 14, 1],
"cubes": [
{"origin": [1, 3, -9], "size": [16, 15, 20], "uv": [72, 37]}
]
},
{
"name": "foot_left",
"parent": "leg_left",
"pivot": [10, 4, 1],
"cubes": [
{"origin": [6, 0, -3], "size": [8, 7, 6], "uv": [28, 106]}
]
},
{
"name": "locator_foot_secondary",
"parent": "foot_left",
"pivot": [10, 0.5, 0],
"rotation": [90, 0, 0],
"locators": {
"foot_secondary": [10, 0.5, 0]
}
},
{
"name": "foot_back_left",
"parent": "foot_left",
"pivot": [10, 1.5, 3],
"cubes": [
{"origin": [7.5, 0, 3], "size": [5, 3, 3], "uv": [0, 43]},
{"origin": [10, 0, 6], "size": [0, 3, 3], "uv": [172, 120]}
]
},
{
"name": "foot_tufts_outer_left",
"parent": "foot_left",
"pivot": [13.8, 2, 2.4],
"rotation": [0, 45, 0],
"cubes": [
{"origin": [13.5, 0, 2.5], "size": [0, 2, 2], "uv": [174, 105], "mirror": true},
{"origin": [14, 0, 2.4], "size": [0, 2, 2], "pivot": [14, 1, 2.4], "rotation": [0, 20, 0], "uv": [174, 109], "mirror": true}
]
},
{
"name": "foot_tufts_inner_left",
"parent": "foot_left",
"pivot": [6.2, 2, 2.4],
"rotation": [0, -45, 0],
"cubes": [
{"origin": [6.5, 0, 2.5], "size": [0, 2, 2], "uv": [174, 113]},
{"origin": [6, 0, 2.4], "size": [0, 2, 2], "pivot": [6, 1, 2.4], "rotation": [0, -20, 0], "uv": [174, 117]}
]
},
{
"name": "toes_left",
"parent": "foot_left",
"pivot": [10, 4, 1]
},
{
"name": "toe_inner_left",
"parent": "toes_left",
"pivot": [7.25, 2, -2],
"rotation": [0, 25, 0],
"cubes": [
{"origin": [5.75, 0, -6], "size": [3, 2, 4], "inflate": 0.01, "uv": [52, 43]}
]
},
{
"name": "toe_middle_left",
"parent": "toes_left",
"pivot": [10, 3, -3],
"cubes": [
{"origin": [8, 0, -8], "size": [4, 3, 5], "uv": [18, 119]}
]
},
{
"name": "toe_outer_left",
"parent": "toes_left",
"pivot": [12.75, 2, -2],
"rotation": [0, -25, 0],
"cubes": [
{"origin": [11.25, 0, -6], "size": [3, 2, 4], "inflate": 0.01, "uv": [66, 43]}
]
}
]
}
]
}
@@ -0,0 +1,963 @@
{
"format_version": "1.12.0",
"minecraft:geometry": [
{
"description": {
"identifier": "geometry.abomasnow_male",
"texture_width": 256,
"texture_height": 128,
"visible_bounds_width": 7,
"visible_bounds_height": 4.5,
"visible_bounds_offset": [0, 1.75, 0]
},
"bones": [
{
"name": "abomasnow",
"pivot": [0, 0, 0]
},
{
"name": "locator_root",
"parent": "abomasnow",
"pivot": [0, 0, 0],
"locators": {
"root": [0, 0, 0]
}
},
{
"name": "locator_top",
"parent": "abomasnow",
"pivot": [0, 40, 0],
"locators": {
"top": [0, 40, 0]
}
},
{
"name": "body",
"parent": "abomasnow",
"pivot": [0, 24, 0]
},
{
"name": "locator_target",
"parent": "body",
"pivot": [0, 24, -14],
"locators": {
"target": [0, 24, -14]
}
},
{
"name": "locator_middle",
"parent": "body",
"pivot": [0, 24, 0],
"locators": {
"middle": [0, 24, 0]
}
},
{
"name": "torso",
"parent": "body",
"pivot": [0, 14, 1],
"cubes": [
{"origin": [-13, 5, -10.4], "size": [26, 15, 22], "uv": [0, 0]}
]
},
{
"name": "tail",
"parent": "torso",
"pivot": [0, 9, 10],
"cubes": [
{"origin": [-4, 5, 8], "size": [8, 8, 12], "uv": [92, 108]}
]
},
{
"name": "tail2",
"parent": "tail",
"pivot": [0, 9, 19],
"cubes": [
{"origin": [-3, 6, 18], "size": [6, 6, 7], "uv": [99, 95]}
]
},
{
"name": "locator_tail",
"parent": "tail2",
"pivot": [0, 9, 20],
"rotation": [-180, 0, 180],
"locators": {
"tail": [0, 9, 20]
}
},
{
"name": "tail_spikes",
"parent": "tail2",
"pivot": [0, 9, 21]
},
{
"name": "tail_spike_top",
"parent": "tail_spikes",
"pivot": [0, 12, 21],
"cubes": [
{"origin": [0, 12, 20], "size": [0, 3, 6], "uv": [182, 91]}
]
},
{
"name": "tail_spike_right",
"parent": "tail_spikes",
"pivot": [-3, 6, 21],
"rotation": [0, 0, -45],
"cubes": [
{"origin": [-6, 6, 20], "size": [3, 0, 6], "uv": [174, 102]}
]
},
{
"name": "tail_spike_left",
"parent": "tail_spikes",
"pivot": [3, 6, 21],
"rotation": [0, 0, 45],
"cubes": [
{"origin": [3, 6, 20], "size": [3, 0, 6], "uv": [182, 102], "mirror": true}
]
},
{
"name": "tail3",
"parent": "tail2",
"pivot": [0, 9, 24],
"cubes": [
{"origin": [-2, 7, 23], "size": [4, 4, 7], "uv": [120, 109]}
]
},
{
"name": "locator_tail_tip",
"parent": "tail3",
"pivot": [0, 9, 30],
"rotation": [-180, 0, 180],
"locators": {
"tail_tip": [0, 9, 30]
}
},
{
"name": "torso2",
"parent": "torso",
"pivot": [0, 18.5, 0.5],
"cubes": [
{"origin": [-12, 18, -9.5], "size": [24, 12, 20], "uv": [96, 0]}
]
},
{
"name": "spikes_back",
"parent": "torso2",
"pivot": [0, 27.5, 8.5]
},
{
"name": "spike_back_top_right",
"parent": "spikes_back",
"pivot": [-5, 30.5, 8],
"rotation": [10, 0, 0],
"cubes": [
{"origin": [-7.5, 28, 6], "size": [5, 5, 6], "uv": [92, 72], "mirror": true},
{"origin": [-6.5, 29, 12], "size": [3, 3, 3], "uv": [108, 72], "mirror": true}
]
},
{
"name": "spike_back_top_left",
"parent": "spikes_back",
"pivot": [5, 30.5, 8],
"rotation": [10, 0, 0],
"cubes": [
{"origin": [2.5, 28, 6], "size": [5, 5, 6], "uv": [114, 72]},
{"origin": [3.5, 29, 12], "size": [3, 3, 3], "uv": [130, 72]}
]
},
{
"name": "spike_back_bottom_right",
"parent": "spikes_back",
"pivot": [-5, 24, 9],
"cubes": [
{"origin": [-7.5, 21.5, 7], "size": [5, 5, 6], "uv": [92, 83], "mirror": true},
{"origin": [-6.5, 22.5, 13], "size": [3, 3, 3], "uv": [108, 83], "mirror": true}
]
},
{
"name": "spike_back_bottom_left",
"parent": "spikes_back",
"pivot": [5, 24, 9],
"cubes": [
{"origin": [2.5, 21.5, 7], "size": [5, 5, 6], "uv": [114, 83]},
{"origin": [3.5, 22.5, 13], "size": [3, 3, 3], "uv": [130, 83]}
]
},
{
"name": "arms",
"parent": "torso2",
"pivot": [0, 30, 0.5]
},
{
"name": "arm_right",
"parent": "arms",
"pivot": [-12, 30, 0.5],
"cubes": [
{"origin": [-22, 23, -3], "size": [10, 7, 7], "uv": [0, 92], "mirror": true}
]
},
{
"name": "arm_right2",
"parent": "arm_right",
"pivot": [-22, 26.5, 3.5],
"cubes": [
{"origin": [-34, 21.5, -4.5], "size": [13, 10, 10], "uv": [0, 72], "mirror": true}
]
},
{
"name": "locator_hand_primary",
"parent": "arm_right2",
"pivot": [-33.5, 26.5, 0.5],
"rotation": [0, 90, 0],
"locators": {
"hand_primary": [-33.5, 26.5, 0.5],
"physical": [-33.5, 26.5, 0.5]
}
},
{
"name": "locator_item",
"parent": "arm_right2",
"pivot": [-34, 27, 0.5],
"locators": {
"item": [-34, 27, 0.5]
}
},
{
"name": "fingers_right",
"parent": "arm_right2",
"pivot": [-34, 26, 0.5]
},
{
"name": "finger_front_right",
"parent": "fingers_right",
"pivot": [-34, 25, -3.5],
"cubes": [
{"origin": [-38, 23, -5], "size": [5, 4, 4], "uv": [56, 112], "mirror": true},
{"origin": [-41, 23, -3], "size": [3, 4, 0], "pivot": [-39.5, 25, -3], "rotation": [45, 0, 0], "uv": [180, 122], "mirror": true}
]
},
{
"name": "finger_middle_right",
"parent": "fingers_right",
"pivot": [-34, 30.5, 0.5],
"cubes": [
{"origin": [-38, 27.5, -1.5], "size": [4, 4, 4], "uv": [64, 104], "mirror": true},
{"origin": [-41, 27.5, 0.5], "size": [3, 4, 0], "uv": [180, 116], "mirror": true}
]
},
{
"name": "finger_back_right",
"parent": "fingers_right",
"pivot": [-34, 25, 4.5],
"cubes": [
{"origin": [-38, 23, 2], "size": [5, 4, 4], "uv": [56, 120], "mirror": true},
{"origin": [-41, 23, 4], "size": [3, 4, 0], "pivot": [-39.5, 25, 4], "rotation": [-45, 0, 0], "uv": [180, 110], "mirror": true}
]
},
{
"name": "arm_left",
"parent": "arms",
"pivot": [12, 30, 0.5],
"cubes": [
{"origin": [12, 23, -3], "size": [10, 7, 7], "uv": [34, 92]}
]
},
{
"name": "arm_left2",
"parent": "arm_left",
"pivot": [22, 26.5, 3.5],
"cubes": [
{"origin": [21, 21.5, -4.5], "size": [13, 10, 10], "uv": [46, 72]}
]
},
{
"name": "locator_hand_secondary",
"parent": "arm_left2",
"pivot": [33.5, 26.5, 0.5],
"rotation": [0, -90, 0],
"locators": {
"hand_secondary": [33.5, 26.5, 0.5]
}
},
{
"name": "fingers_left",
"parent": "arm_left2",
"pivot": [34, 26, 0.5]
},
{
"name": "finger_front_left",
"parent": "fingers_left",
"pivot": [34, 25, -3.5],
"cubes": [
{"origin": [33, 23, -5], "size": [5, 4, 4], "uv": [74, 112]},
{"origin": [38, 23, -3], "size": [3, 4, 0], "pivot": [39.5, 25, -3], "rotation": [45, 0, 0], "uv": [188, 122]}
]
},
{
"name": "finger_middle_left",
"parent": "fingers_left",
"pivot": [34, 30.5, 0.5],
"cubes": [
{"origin": [34, 27.5, -1.5], "size": [4, 4, 4], "uv": [80, 104]},
{"origin": [38, 27.5, 0.5], "size": [3, 4, 0], "uv": [188, 116]}
]
},
{
"name": "finger_back_left",
"parent": "fingers_left",
"pivot": [34, 25, 4.5],
"cubes": [
{"origin": [33, 23, 2], "size": [5, 4, 4], "uv": [74, 120]},
{"origin": [38, 23, 4], "size": [3, 4, 0], "pivot": [39.5, 25, 4], "rotation": [-45, 0, 0], "uv": [188, 110]}
]
},
{
"name": "head",
"parent": "torso2",
"pivot": [0, 28, -1.5],
"cubes": [
{"origin": [-9, 28, -8.5], "size": [18, 8, 17], "uv": [124, 32]},
{"origin": [-8, 36, -8.5], "size": [16, 4, 15], "uv": [164, 0]}
]
},
{
"name": "locator_item_hat",
"parent": "head",
"pivot": [0, 43, -1],
"locators": {
"item_hat": [0, 43, -1]
}
},
{
"name": "locator_head",
"parent": "head",
"pivot": [0, 40, -8.5],
"locators": {
"head": [0, 40, -8.5]
}
},
{
"name": "locator_mouth",
"parent": "head",
"pivot": [0, 31, -8.5],
"locators": {
"mouth": [0, 31, -8.5],
"special": [0, 31, -8.5]
}
},
{
"name": "locator_item_face",
"parent": "head",
"pivot": [0, 36.5, -8.5],
"locators": {
"item_face": [0, 36.5, -8.5]
}
},
{
"name": "locator_face",
"parent": "head",
"pivot": [0, 36, -8.5],
"locators": {
"face": [0, 36, -8.5]
}
},
{
"name": "beard",
"parent": "head",
"pivot": [0, 33, -8.5],
"rotation": [-12.5, 0, 0]
},
{
"name": "beard_right",
"parent": "beard",
"pivot": [-3, 33, -8.5]
},
{
"name": "beard_tuft_inner_right",
"parent": "beard_right",
"pivot": [0, 33, -8.5],
"rotation": [-15, 0, 7.5],
"cubes": [
{"origin": [-4, 25, -8.5], "size": [4, 8, 0], "uv": [236, 91], "mirror": true}
]
},
{
"name": "beard_tuft_middle_right",
"parent": "beard_right",
"pivot": [-3.5, 33.25, -8.5],
"rotation": [-15, 0, 15],
"cubes": [
{"origin": [-6.5, 26.25, -8.5], "size": [3, 7, 0], "uv": [220, 91], "mirror": true}
]
},
{
"name": "beard_tuft_outer_right",
"parent": "beard_right",
"pivot": [-6, 33.5, -8.5],
"rotation": [-15, 0, 30],
"cubes": [
{"origin": [-9, 27.5, -8.5], "size": [3, 6, 0], "uv": [204, 91], "mirror": true}
]
},
{
"name": "beard_left",
"parent": "beard",
"pivot": [3, 33, -8.5]
},
{
"name": "beard_tuft_inner_left",
"parent": "beard_left",
"pivot": [0, 33, -8.5],
"rotation": [-15, 0, -7.5],
"cubes": [
{"origin": [0, 25, -8.5], "size": [4, 8, 0], "uv": [246, 91]}
]
},
{
"name": "beard_tuft_middle_left",
"parent": "beard_left",
"pivot": [3.5, 33.25, -8.5],
"rotation": [-15, 0, -15],
"cubes": [
{"origin": [3.5, 26.25, -8.5], "size": [3, 7, 0], "uv": [228, 91]}
]
},
{
"name": "beard_tuft_outer_left",
"parent": "beard_left",
"pivot": [6, 33.5, -8.5],
"rotation": [-15, 0, -30],
"cubes": [
{"origin": [6, 27.5, -8.5], "size": [3, 6, 0], "uv": [212, 91]}
]
},
{
"name": "eyebrows",
"parent": "head",
"pivot": [0, 36, -8.51]
},
{
"name": "eyebrow_right",
"parent": "eyebrows",
"pivot": [-1.75, 36, -8.51],
"rotation": [0, 0, -57.5],
"cubes": [
{"origin": [-4.75, 36, -8.54], "size": [8, 11, 0], "uv": [220, 71], "mirror": true}
]
},
{
"name": "eyebrow_left",
"parent": "eyebrows",
"pivot": [1.75, 36, -8.51],
"rotation": [0, 0, 57.5],
"cubes": [
{"origin": [-3.25, 36, -8.54], "size": [8, 11, 0], "uv": [238, 71]}
]
},
{
"name": "eyes",
"parent": "head",
"pivot": [0, 36.25, -8.5]
},
{
"name": "eye_right",
"parent": "eyes",
"pivot": [-3.25, 36.25, -8.5],
"cubes": [
{"origin": [-4.75, 34.75, -8.5], "size": [3, 3, 1], "inflate": 0.01, "uv": [1, 1], "mirror": true}
]
},
{
"name": "pupil_right",
"parent": "eye_right",
"pivot": [-3.15, 36.25, -8.5],
"cubes": [
{"origin": [-3.65, 35.75, -8.5], "size": [1, 1, 1], "inflate": 0.02, "uv": [1, 6], "mirror": true}
]
},
{
"name": "locator_eye_right",
"parent": "pupil_right",
"pivot": [-3.15, 36.25, -8.5],
"locators": {
"eye1": [-3.15, 36.25, -8.5]
}
},
{
"name": "eye_emote_right",
"parent": "eye_right",
"pivot": [-3.75, 37.25, -8.41],
"cubes": [
{"origin": [-4.75, 36.75, -8.41], "size": [2, 1, 1], "inflate": 0.02, "uv": [1, 14], "mirror": true}
]
},
{
"name": "eye_left",
"parent": "eyes",
"pivot": [3.25, 36.25, -8.5],
"cubes": [
{"origin": [1.75, 34.75, -8.5], "size": [3, 3, 1], "inflate": 0.01, "uv": [10, 1]}
]
},
{
"name": "pupil_left",
"parent": "eye_left",
"pivot": [3.15, 36.25, -8.5],
"cubes": [
{"origin": [2.65, 35.75, -8.5], "size": [1, 1, 1], "inflate": 0.02, "uv": [10, 6]}
]
},
{
"name": "locator_eye_left",
"parent": "pupil_left",
"pivot": [3.15, 36.25, -8.5],
"locators": {
"eye2": [3.15, 36.25, -8.5]
}
},
{
"name": "eye_emote_left",
"parent": "eye_left",
"pivot": [3.75, 37.25, -8.41],
"cubes": [
{"origin": [2.75, 36.75, -8.41], "size": [2, 1, 1], "inflate": 0.02, "uv": [10, 14]}
]
},
{
"name": "eyelid_right",
"parent": "eyes",
"pivot": [-3.25, 36.25, -8.4],
"cubes": [
{"origin": [-4.75, 34.75, -8.4], "size": [3, 3, 1], "inflate": 0.01, "uv": [1, 9], "mirror": true}
]
},
{
"name": "eyelid_left",
"parent": "eyes",
"pivot": [3.25, 36.25, -8.4],
"cubes": [
{"origin": [1.75, 34.75, -8.4], "size": [3, 3, 1], "inflate": 0.01, "uv": [10, 9]}
]
},
{
"name": "eyelid_happy_right",
"parent": "eyes",
"pivot": [-3.25, 36.25, -8.4],
"cubes": [
{"origin": [-4.75, 34.75, -8.4], "size": [3, 3, 1], "inflate": 0.01, "uv": [75, 1], "mirror": true}
]
},
{
"name": "eyelid_happy_left",
"parent": "eyes",
"pivot": [3.25, 36.25, -8.4],
"cubes": [
{"origin": [1.75, 34.75, -8.4], "size": [3, 3, 1], "inflate": 0.01, "uv": [84, 1]}
]
},
{
"name": "eyelid_hurt_right",
"parent": "eyes",
"pivot": [-3.25, 36.25, -8.4],
"cubes": [
{"origin": [-4.75, 34.75, -8.4], "size": [3, 3, 1], "inflate": 0.01, "uv": [75, 6], "mirror": true}
]
},
{
"name": "eyelid_hurt_left",
"parent": "eyes",
"pivot": [3.25, 36.25, -8.4],
"cubes": [
{"origin": [1.75, 34.75, -8.4], "size": [3, 3, 1], "inflate": 0.01, "uv": [84, 6]}
]
},
{
"name": "face_ditto",
"parent": "head",
"pivot": [0, 36, -8.4]
},
{
"name": "eyes_ditto",
"parent": "face_ditto",
"pivot": [0, 36, -8.42],
"cubes": [
{"origin": [-4.5, 35.5, -8.42], "size": [9, 1, 0], "uv": [94, 1]}
]
},
{
"name": "eyes_blink_ditto",
"parent": "face_ditto",
"pivot": [0, 36, -8.32],
"cubes": [
{"origin": [-5, 35.5, -8.32], "size": [10, 1, 0], "uv": [93, 3]},
{"origin": [-4.5, 36, -8.33], "size": [9, 1, 0], "uv": [94, 5]}
]
},
{
"name": "mouth_open",
"parent": "head",
"pivot": [0, 30, -8.4],
"cubes": [
{"origin": [-5, 28, -8.41], "size": [10, 4, 1], "uv": [75, 14]}
]
},
{
"name": "body_tufts",
"parent": "torso2",
"pivot": [0, 14.05, 0.5]
},
{
"name": "front_tufts",
"parent": "body_tufts",
"pivot": [0, 24.55, -9.5]
},
{
"name": "tufts_front_right",
"parent": "front_tufts",
"pivot": [-4.5, 22.8, -1],
"rotation": [0, 0, 22.5]
},
{
"name": "tuft_front_inner_right",
"parent": "tufts_front_right",
"pivot": [-4.75, 22.8, -9.5],
"rotation": [-25, 0, 0],
"cubes": [
{"origin": [-6.25, 16.8, -9.5], "size": [3, 6, 0], "uv": [240, 111], "mirror": true}
]
},
{
"name": "tuft_front_middle_inner_right",
"parent": "tufts_front_right",
"pivot": [-6.25, 22.8, -9.5],
"rotation": [-20, 0, 0],
"cubes": [
{"origin": [-9.25, 16.8, -9.5], "size": [3, 6, 0], "pivot": [-6.25, 22.8, -9.5], "rotation": [0, 0, 7.5], "uv": [224, 111], "mirror": true}
]
},
{
"name": "tuft_front_middle_outer_right",
"parent": "tufts_front_right",
"pivot": [-9.25, 22.8, -9.5],
"rotation": [-20, 0, 0],
"cubes": [
{"origin": [-12.25, 17.8, -9.5], "size": [3, 5, 0], "pivot": [-9.25, 22.8, -9.5], "rotation": [0, 0, 20], "uv": [208, 111], "mirror": true}
]
},
{
"name": "tuft_front_outer_right",
"parent": "tufts_front_right",
"pivot": [-12.5, 22.8, -9.5],
"cubes": [
{"origin": [-14.5, 18.8, -9.5], "size": [2, 4, 0], "pivot": [-12.5, 22.8, -9.5], "rotation": [-25, 90, 0], "uv": [196, 111], "mirror": true}
]
},
{
"name": "tufts_front_left",
"parent": "front_tufts",
"pivot": [4.5, 22.8, -1],
"rotation": [0, 0, -22.5]
},
{
"name": "tuft_front_inner_left",
"parent": "tufts_front_left",
"pivot": [4.75, 22.8, -9.5],
"rotation": [-25, 0, 0],
"cubes": [
{"origin": [3.25, 16.8, -9.5], "size": [3, 6, 0], "uv": [248, 111]}
]
},
{
"name": "tuft_front_middle_inner_left",
"parent": "tufts_front_left",
"pivot": [6.25, 22.8, -9.5],
"rotation": [-20, 0, 0],
"cubes": [
{"origin": [6.25, 16.8, -9.5], "size": [3, 6, 0], "pivot": [6.25, 22.8, -9.5], "rotation": [0, 0, -7.5], "uv": [232, 111]}
]
},
{
"name": "tuft_front_middle_outer_left",
"parent": "tufts_front_left",
"pivot": [9.25, 22.8, -9.5],
"rotation": [-20, 0, 0],
"cubes": [
{"origin": [9.25, 17.8, -9.5], "size": [3, 5, 0], "pivot": [9.25, 22.8, -9.5], "rotation": [0, 0, -20], "uv": [216, 111]}
]
},
{
"name": "tuft_front_outer_left",
"parent": "tufts_front_left",
"pivot": [12.5, 22.8, -9.5],
"cubes": [
{"origin": [12.5, 18.8, -9.5], "size": [2, 4, 0], "pivot": [12.5, 22.8, -9.5], "rotation": [-25, -90, 0], "uv": [202, 111]}
]
},
{
"name": "tufts_back",
"parent": "body_tufts",
"pivot": [-4.5, 21.8, 10.5]
},
{
"name": "tufts_back_right",
"parent": "tufts_back",
"pivot": [-4.5, 21.8, 2],
"rotation": [0, 0, 15]
},
{
"name": "tuft_back_inner_right",
"parent": "tufts_back_right",
"pivot": [-4.75, 21.8, 10.5],
"rotation": [36, 0, 0],
"cubes": [
{"origin": [-6.25, 14.8, 10.5], "size": [3, 7, 0], "uv": [240, 119], "mirror": true}
]
},
{
"name": "tuft_back_middle_inner_right",
"parent": "tufts_back_right",
"pivot": [-6.25, 21.8, 10.5],
"rotation": [30, 0, 0],
"cubes": [
{"origin": [-9.25, 14.8, 10.5], "size": [3, 7, 0], "pivot": [-6.25, 21.8, 10.5], "rotation": [0, 0, 7.5], "uv": [224, 119], "mirror": true}
]
},
{
"name": "tuft_back_middle_outer_right",
"parent": "tufts_back_right",
"pivot": [-9.25, 21.8, 10.5],
"rotation": [25, 0, 0],
"cubes": [
{"origin": [-12.25, 15.8, 10.5], "size": [3, 6, 0], "pivot": [-9.25, 21.8, 10.5], "rotation": [0, 0, 20], "uv": [208, 119], "mirror": true}
]
},
{
"name": "tuft_back_outer_right",
"parent": "tufts_back_right",
"pivot": [-12.5, 21.8, 10.5],
"cubes": [
{"origin": [-14.5, 17.8, 10.5], "size": [2, 4, 0], "pivot": [-12.5, 21.8, 10.5], "rotation": [25, -90, 0], "uv": [196, 119], "mirror": true}
]
},
{
"name": "tufts_back_left",
"parent": "tufts_back",
"pivot": [4.5, 21.8, 2],
"rotation": [0, 0, -15]
},
{
"name": "tuft_back_inner_left",
"parent": "tufts_back_left",
"pivot": [4.75, 21.8, 10.5],
"rotation": [36, 0, 0],
"cubes": [
{"origin": [3.25, 14.8, 10.5], "size": [3, 7, 0], "uv": [248, 119]}
]
},
{
"name": "tuft_back_middle_inner_left",
"parent": "tufts_back_left",
"pivot": [6.25, 21.8, 10.5],
"rotation": [30, 0, 0],
"cubes": [
{"origin": [6.25, 14.8, 10.5], "size": [3, 7, 0], "pivot": [6.25, 21.8, 10.5], "rotation": [0, 0, -7.5], "uv": [232, 119]}
]
},
{
"name": "tuft_back_middle_outer_left",
"parent": "tufts_back_left",
"pivot": [9.25, 21.8, 10.5],
"rotation": [25, 0, 0],
"cubes": [
{"origin": [9.25, 15.8, 10.5], "size": [3, 6, 0], "pivot": [9.25, 21.8, 10.5], "rotation": [0, 0, -20], "uv": [216, 119]}
]
},
{
"name": "tuft_back_outer_left",
"parent": "tufts_back_left",
"pivot": [12.5, 21.8, 10.5],
"cubes": [
{"origin": [12.5, 17.8, 10.5], "size": [2, 4, 0], "pivot": [12.5, 21.8, 10.5], "rotation": [25, 90, 0], "uv": [202, 119]}
]
},
{
"name": "legs",
"parent": "body",
"pivot": [0, 14, 1]
},
{
"name": "leg_right",
"parent": "legs",
"pivot": [-9, 14, 1],
"cubes": [
{"origin": [-17, 3, -9], "size": [16, 15, 20], "uv": [0, 37], "mirror": true}
]
},
{
"name": "foot_right",
"parent": "leg_right",
"pivot": [-10, 4, 1],
"cubes": [
{"origin": [-14, 0, -3], "size": [8, 7, 6], "uv": [0, 106], "mirror": true}
]
},
{
"name": "locator_foot_primary",
"parent": "foot_right",
"pivot": [-10, 0.5, 0],
"rotation": [90, 0, 0],
"locators": {
"foot_primary": [-10, 0.5, 0]
}
},
{
"name": "foot_back_right",
"parent": "foot_right",
"pivot": [-10, 1.5, 3],
"cubes": [
{"origin": [-12.5, 0, 3], "size": [5, 3, 3], "uv": [0, 37], "mirror": true},
{"origin": [-10, 0, 6], "size": [0, 3, 3], "uv": [164, 120], "mirror": true}
]
},
{
"name": "foot_tufts_outer_right",
"parent": "foot_right",
"pivot": [-13.8, 2, 2.4],
"rotation": [0, -45, 0],
"cubes": [
{"origin": [-13.5, 0, 2.5], "size": [0, 2, 2], "uv": [168, 105]},
{"origin": [-14, 0, 2.4], "size": [0, 2, 2], "pivot": [-14, 1, 2.4], "rotation": [0, -20, 0], "uv": [168, 109]}
]
},
{
"name": "foot_tufts_inner_right",
"parent": "foot_right",
"pivot": [-6.2, 2, 2.4],
"rotation": [0, 45, 0],
"cubes": [
{"origin": [-6.5, 0, 2.5], "size": [0, 2, 2], "uv": [168, 113], "mirror": true},
{"origin": [-6, 0, 2.4], "size": [0, 2, 2], "pivot": [-6, 1, 2.4], "rotation": [0, 20, 0], "uv": [168, 117], "mirror": true}
]
},
{
"name": "toes_right",
"parent": "foot_right",
"pivot": [-10, 4, 1]
},
{
"name": "toe_inner_right",
"parent": "toes_right",
"pivot": [-7.25, 2, -2],
"rotation": [0, -25, 0],
"cubes": [
{"origin": [-8.75, 0, -6], "size": [3, 2, 4], "inflate": 0.01, "uv": [52, 37], "mirror": true}
]
},
{
"name": "toe_middle_right",
"parent": "toes_right",
"pivot": [-10, 3, -3],
"cubes": [
{"origin": [-12, 0, -8], "size": [4, 3, 5], "uv": [0, 119], "mirror": true}
]
},
{
"name": "toe_outer_right",
"parent": "toes_right",
"pivot": [-12.75, 2, -2],
"rotation": [0, 25, 0],
"cubes": [
{"origin": [-14.25, 0, -6], "size": [3, 2, 4], "inflate": 0.01, "uv": [66, 37], "mirror": true}
]
},
{
"name": "leg_left",
"parent": "legs",
"pivot": [9, 14, 1],
"rotation": [0, 0, 0],
"cubes": [
{"origin": [1, 3, -9], "size": [16, 15, 20], "uv": [72, 37]}
]
},
{
"name": "foot_left",
"parent": "leg_left",
"pivot": [10, 4, 1],
"cubes": [
{"origin": [6, 0, -3], "size": [8, 7, 6], "uv": [28, 106]}
]
},
{
"name": "locator_foot_secondary",
"parent": "foot_left",
"pivot": [10, 0.5, 0],
"rotation": [90, 0, 0],
"locators": {
"foot_secondary": [10, 0.5, 0]
}
},
{
"name": "foot_back_left",
"parent": "foot_left",
"pivot": [10, 1.5, 3],
"cubes": [
{"origin": [7.5, 0, 3], "size": [5, 3, 3], "uv": [0, 43]},
{"origin": [10, 0, 6], "size": [0, 3, 3], "uv": [172, 120]}
]
},
{
"name": "foot_tufts_outer_left",
"parent": "foot_left",
"pivot": [13.8, 2, 2.4],
"rotation": [0, 45, 0],
"cubes": [
{"origin": [13.5, 0, 2.5], "size": [0, 2, 2], "uv": [174, 105], "mirror": true},
{"origin": [14, 0, 2.4], "size": [0, 2, 2], "pivot": [14, 1, 2.4], "rotation": [0, 20, 0], "uv": [174, 109], "mirror": true}
]
},
{
"name": "foot_tufts_inner_left",
"parent": "foot_left",
"pivot": [6.2, 2, 2.4],
"rotation": [0, -45, 0],
"cubes": [
{"origin": [6.5, 0, 2.5], "size": [0, 2, 2], "uv": [174, 113]},
{"origin": [6, 0, 2.4], "size": [0, 2, 2], "pivot": [6, 1, 2.4], "rotation": [0, -20, 0], "uv": [174, 117]}
]
},
{
"name": "toes_left",
"parent": "foot_left",
"pivot": [10, 4, 1]
},
{
"name": "toe_inner_left",
"parent": "toes_left",
"pivot": [7.25, 2, -2],
"rotation": [0, 25, 0],
"cubes": [
{"origin": [5.75, 0, -6], "size": [3, 2, 4], "inflate": 0.01, "uv": [52, 43]}
]
},
{
"name": "toe_middle_left",
"parent": "toes_left",
"pivot": [10, 3, -3],
"cubes": [
{"origin": [8, 0, -8], "size": [4, 3, 5], "uv": [18, 119]}
]
},
{
"name": "toe_outer_left",
"parent": "toes_left",
"pivot": [12.75, 2, -2],
"rotation": [0, -25, 0],
"cubes": [
{"origin": [11.25, 0, -6], "size": [3, 2, 4], "inflate": 0.01, "uv": [66, 43]}
]
}
]
}
]
}
@@ -0,0 +1,476 @@
{
"format_version": "1.12.0",
"minecraft:geometry": [
{
"description": {
"identifier": "geometry.tympole",
"texture_width": 64,
"texture_height": 64,
"visible_bounds_width": 3,
"visible_bounds_height": 1.5,
"visible_bounds_offset": [0, 0.25, 0]
},
"bones": [
{
"name": "tympole",
"pivot": [0, 0, 0]
},
{
"name": "locator_root",
"parent": "tympole",
"pivot": [0, 0, 0],
"locators": {
"root": [0, 0, 0]
}
},
{
"name": "locator_top",
"parent": "tympole",
"pivot": [0, 9, 0],
"locators": {
"top": [0, 9, 0]
}
},
{
"name": "body",
"parent": "tympole",
"pivot": [0, 4, 0]
},
{
"name": "locator_target",
"parent": "body",
"pivot": [0, 4, -5],
"locators": {
"target": [0, 4, -5]
}
},
{
"name": "locator_middle",
"parent": "body",
"pivot": [0, 4, 0],
"locators": {
"middle": [0, 4, 0]
}
},
{
"name": "torso",
"parent": "body",
"pivot": [0, 0, 0]
},
{
"name": "torso2",
"parent": "torso",
"pivot": [0, 4, 4],
"cubes": [
{"origin": [-4, 0, -4], "size": [8, 8, 8], "uv": [0, 0]}
]
},
{
"name": "locator_face",
"parent": "torso2",
"pivot": [0, 2.5, -4],
"locators": {
"face": [0, 2.5, -4]
}
},
{
"name": "locator_mouth",
"parent": "torso2",
"pivot": [0, 1, -4],
"locators": {
"mouth": [0, 1, -4]
}
},
{
"name": "locator_special",
"parent": "torso2",
"pivot": [0, 1, -4],
"locators": {
"special": [0, 1, -4]
}
},
{
"name": "locator_head",
"parent": "torso2",
"pivot": [0, 8, -1.5],
"locators": {
"head": [0, 8, -1.5]
}
},
{
"name": "item_hat",
"parent": "torso2",
"pivot": [0, 8, 0],
"locators": {
"item_hat": [0, 8, 0]
}
},
{
"name": "locator_item_face",
"parent": "torso2",
"pivot": [0, 4.25, -4],
"locators": {
"item_face": [0, 4.25, -4]
}
},
{
"name": "face_ditto",
"parent": "torso2",
"pivot": [0, 3.75, -3.9]
},
{
"name": "eyes_ditto",
"parent": "face_ditto",
"pivot": [0, 4.5, -3.92],
"cubes": [
{"origin": [-3, 4, -3.92], "size": [6, 1, 0], "uv": [45, 18]}
]
},
{
"name": "eyes_blink_ditto",
"parent": "face_ditto",
"pivot": [0, 4.5, -3.82],
"cubes": [
{"origin": [-3.5, 4, -3.82], "size": [7, 1, 0], "uv": [44, 20]},
{"origin": [-3, 4.5, -3.83], "size": [6, 1, 0], "uv": [45, 22]}
]
},
{
"name": "mouth_ditto",
"parent": "face_ditto",
"pivot": [0, 2.75, -3.9],
"cubes": [
{"origin": [-2.5, 2, -3.91], "size": [5, 1, 0], "uv": [46, 26]},
{"origin": [-3.5, 2.5, -3.91], "size": [7, 1, 0], "uv": [44, 24]}
]
},
{
"name": "mouth_open_ditto",
"parent": "face_ditto",
"pivot": [0, 2.5, -3.81],
"cubes": [
{"origin": [-3.5, 1.5, -3.81], "size": [7, 2, 0], "uv": [44, 28]}
]
},
{
"name": "face",
"parent": "torso2",
"pivot": [2.75, 3.75, -4.025]
},
{
"name": "eyebrow_left",
"parent": "face",
"pivot": [1.75, 6.5, -4.02],
"cubes": [
{"origin": [0.75, 5.5, -4.02], "size": [2, 1, 1], "uv": [20, 20]},
{"origin": [0.75, 6, -4.02], "size": [2, 1, 1], "inflate": 0.01, "uv": [20, 17]}
]
},
{
"name": "eyebrow_right",
"parent": "face",
"pivot": [-1.75, 6.5, -4.02],
"cubes": [
{"origin": [-2.75, 5.5, -4.02], "size": [2, 1, 1], "uv": [13, 20]},
{"origin": [-2.75, 6, -4.02], "size": [2, 1, 1], "inflate": 0.01, "uv": [13, 17]}
]
},
{
"name": "eyes",
"parent": "face",
"pivot": [2.75, 3.75, -4.025]
},
{
"name": "eye_left",
"parent": "eyes",
"pivot": [2.4, 3.75, -4.225],
"cubes": [
{"origin": [0.85, 2.9, -3.88], "size": [2, 2, 1], "inflate": 0.15, "uv": [8, 50]}
]
},
{
"name": "locator_eye_left",
"parent": "eye_left",
"pivot": [2.4, 3.9, -4],
"locators": {
"eye2": [2.4, 3.9, -4]
}
},
{
"name": "eyelid_left",
"parent": "eyes",
"pivot": [2.25, 3.75, -3.93],
"cubes": [
{"origin": [1.75, 2.75, -3.93], "size": [2, 2, 1], "uv": [26, 40]}
]
},
{
"name": "eyelid_left_emote",
"parent": "eyes",
"pivot": [1.9, 4.9, -3.45],
"cubes": [
{"origin": [1.4, 4.4, -3.95], "size": [1, 1, 1], "uv": [20, 44]}
]
},
{
"name": "eyelid_left_unamused",
"parent": "eyes",
"pivot": [2.35, 4.9, -3.45],
"cubes": [
{"origin": [1.35, 4.4, -3.95], "size": [2, 1, 1], "uv": [8, 44]}
]
},
{
"name": "eye_left_happy",
"parent": "eyes",
"pivot": [2.25, 3.25, -3.93],
"cubes": [
{"origin": [1, 2.75, -3.93], "size": [3, 2, 1], "uv": [10, 40]}
]
},
{
"name": "eye_left_hurt",
"parent": "eyes",
"pivot": [2.25, 2.75, -3.93],
"cubes": [
{"origin": [0.5, 2.25, -3.93], "size": [3, 3, 1], "uv": [42, 40]}
]
},
{
"name": "eye_right",
"parent": "eyes",
"pivot": [-2.35, 3.75, -4.225],
"cubes": [
{"origin": [-2.85, 2.9, -3.88], "size": [2, 2, 1], "inflate": 0.15, "uv": [1, 50]}
]
},
{
"name": "locator_eye_right",
"parent": "eye_right",
"pivot": [-2.4, 3.9, -4],
"locators": {
"eye1": [-2.4, 3.9, -4]
}
},
{
"name": "eyelid_right",
"parent": "eyes",
"pivot": [-2.25, 3.75, -3.93],
"cubes": [
{"origin": [-3.75, 2.75, -3.93], "size": [2, 2, 1], "uv": [19, 40]}
]
},
{
"name": "eyelid_right_emote",
"parent": "eyes",
"pivot": [-1.9, 4.9, -3.45],
"cubes": [
{"origin": [-2.4, 4.4, -3.95], "size": [1, 1, 1], "uv": [15, 44]}
]
},
{
"name": "eyelid_right_unamused",
"parent": "eyes",
"pivot": [-2.35, 4.9, -3.45],
"cubes": [
{"origin": [-3.35, 4.4, -3.95], "size": [2, 1, 1], "uv": [1, 44]}
]
},
{
"name": "eye_right_happy",
"parent": "eyes",
"pivot": [-2, 3.25, -3.93],
"cubes": [
{"origin": [-4, 2.75, -3.93], "size": [3, 2, 1], "uv": [1, 40]}
]
},
{
"name": "eye_right_hurt",
"parent": "eyes",
"pivot": [-2, 2.75, -3.93],
"cubes": [
{"origin": [-3.5, 2.25, -3.93], "size": [3, 3, 1], "uv": [33, 40]}
]
},
{
"name": "expressions",
"parent": "face",
"pivot": [0, 1.5, -4.02]
},
{
"name": "mouth",
"parent": "expressions",
"pivot": [0, 1.75, -4.02],
"cubes": [
{"origin": [-1.5, 1, -4.01], "size": [3, 1, 1], "uv": [36, 50]},
{"origin": [-2, 1.5, -4.02], "size": [4, 1, 1], "uv": [33, 47]}
]
},
{
"name": "mouth_sad",
"parent": "expressions",
"pivot": [0, 1.5, -3.92],
"cubes": [
{"origin": [-1, 1.25, -3.9], "size": [2, 1, 1], "inflate": 0.01, "uv": [15, 47]},
{"origin": [-2, 0.75, -3.92], "size": [4, 1, 1], "uv": [22, 47]}
]
},
{
"name": "mouth_angry",
"parent": "expressions",
"pivot": [0, 1.5, -3.92],
"cubes": [
{"origin": [-0.5, 1.25, -3.9], "size": [1, 1, 1], "inflate": 0.01, "uv": [1, 47]},
{"origin": [-1.5, 0.75, -3.92], "size": [3, 1, 1], "uv": [6, 47]}
]
},
{
"name": "mouth_small",
"parent": "expressions",
"pivot": [0, 1.5, -3.92],
"cubes": [
{"origin": [-0.5, 1, -3.92], "size": [1, 1, 1], "uv": [29, 53]}
]
},
{
"name": "mouth_medium",
"parent": "expressions",
"pivot": [0, 1.5, -3.92],
"cubes": [
{"origin": [-1, 1, -3.92], "size": [2, 1, 1], "uv": [34, 53]}
]
},
{
"name": "mouth_open",
"parent": "expressions",
"pivot": [0, 1.5, -3.92],
"cubes": [
{"origin": [-2, 0.25, -3.92], "size": [4, 2, 1], "uv": [1, 55]},
{"origin": [-1, 1.75, -3.92], "size": [2, 1, 1], "inflate": 0.01, "uv": [29, 50]}
]
},
{
"name": "mouth_open_frown",
"parent": "expressions",
"pivot": [0, 1.25, -3.92],
"cubes": [
{"origin": [-2, 0.25, -3.92], "size": [4, 2, 1], "uv": [12, 55]}
]
},
{
"name": "mouth_open_small",
"parent": "expressions",
"pivot": [0, 1.5, -3.92],
"cubes": [
{"origin": [-0.5, 1, -3.92], "size": [1, 1, 1], "uv": [8, 59]}
]
},
{
"name": "mouth_open_tall",
"parent": "expressions",
"pivot": [0, 1.75, -3.92],
"cubes": [
{"origin": [-1, 0.25, -3.92], "size": [2, 3, 1], "uv": [1, 59]}
]
},
{
"name": "ears",
"parent": "torso2",
"pivot": [0, 4, 0]
},
{
"name": "ear_left",
"parent": "ears",
"pivot": [4.25, 4, 0],
"cubes": [
{"origin": [2.55, 1.5, -2.5], "size": [3, 5, 5], "uv": [22, 18]}
]
},
{
"name": "ear_left_inside",
"parent": "ear_left",
"pivot": [5.75, 4, 0],
"cubes": [
{"origin": [2.5, 1.5, -2.5], "size": [4, 5, 5], "inflate": -0.02, "uv": [0, 29]}
]
},
{
"name": "ear_right",
"parent": "ears",
"pivot": [-4.25, 4, 0],
"cubes": [
{"origin": [-5.55, 1.5, -2.5], "size": [3, 5, 5], "uv": [1, 18]}
]
},
{
"name": "ear_right_inside",
"parent": "ear_right",
"pivot": [-5.75, 4, 0],
"cubes": [
{"origin": [-6.5, 1.5, -2.5], "size": [4, 5, 5], "inflate": -0.02, "uv": [21, 29]}
]
},
{
"name": "locator_item",
"parent": "ear_right_inside",
"pivot": [-6.5, 4.5, 0],
"rotation": [0, 0, -90],
"locators": {
"item": [-6.5, 4.5, 0]
}
},
{
"name": "tail",
"parent": "torso",
"pivot": [0, 4, 4],
"cubes": [
{"origin": [-2.5, 4, 3], "size": [5, 0, 6], "uv": [45, 10]}
]
},
{
"name": "tail2",
"parent": "tail",
"pivot": [0, 4, 9],
"cubes": [
{"origin": [-3.5, 4, 9], "size": [7, 0, 4], "uv": [45, 5]}
]
},
{
"name": "locator_tail",
"parent": "tail2",
"pivot": [0, 4, 10],
"rotation": [-180, 0, 180],
"locators": {
"tail": [0, 4, 10]
}
},
{
"name": "tail3",
"parent": "tail2",
"pivot": [0, 4, 13],
"cubes": [
{"origin": [-2.5, 4, 13], "size": [5, 0, 3], "uv": [48, 1]}
]
},
{
"name": "locator_tail_tip",
"parent": "tail3",
"pivot": [0, 4, 16],
"rotation": [-180, 0, 180],
"locators": {
"tail_tip": [0, 4, 16]
}
},
{
"name": "locator_physical",
"parent": "tail3",
"pivot": [0, 4, 16],
"rotation": [-180, 0, 180],
"locators": {
"physical": [0, 4, 16]
}
}
]
}
]
}
@@ -0,0 +1,770 @@
{
"format_version": "1.12.0",
"minecraft:geometry": [
{
"description": {
"identifier": "geometry.palpitoad",
"texture_width": 64,
"texture_height": 128,
"visible_bounds_width": 6,
"visible_bounds_height": 3.5,
"visible_bounds_offset": [0, 1.25, 0]
},
"bones": [
{
"name": "palpitoad",
"pivot": [0, 0, 0]
},
{
"name": "locator_root",
"parent": "palpitoad",
"pivot": [0, 0, 0],
"locators": {
"root": [0, 0, 0]
}
},
{
"name": "locator_top",
"parent": "palpitoad",
"pivot": [0, 25, 0],
"locators": {
"top": [0, 25, 0]
}
},
{
"name": "body",
"parent": "palpitoad",
"pivot": [0, 6, 0]
},
{
"name": "locator_target",
"parent": "body",
"pivot": [0, 10, -7.5],
"locators": {
"target": [0, 10, -7.5]
}
},
{
"name": "locator_middle",
"parent": "body",
"pivot": [0, 10, 0],
"locators": {
"middle": [0, 10, 0]
}
},
{
"name": "legs",
"parent": "body",
"pivot": [0, 1, 2]
},
{
"name": "leg_left",
"parent": "legs",
"pivot": [-3, 1, 2],
"cubes": [
{"origin": [-4, 0, 1], "size": [2, 1, 2], "inflate": 0.02, "uv": [1, 22]}
]
},
{
"name": "foot_left",
"parent": "leg_left",
"pivot": [-3, 0.5, 1],
"cubes": [
{"origin": [-5, 0, -1], "size": [4, 1, 2], "uv": [0, 0]}
]
},
{
"name": "locator_foot_primary",
"parent": "foot_left",
"pivot": [-3, 0.5, 0],
"rotation": [90, 0, 0],
"locators": {
"foot_primary": [-3, 0.5, 0]
}
},
{
"name": "toes_left",
"parent": "foot_left",
"pivot": [-3, 0, -1],
"cubes": [
{"origin": [-5, 0, -3], "size": [4, 1, 2], "inflate": 0.02, "uv": [0, 6]},
{"origin": [-4.5, 0, -3], "size": [3, 1, 2], "inflate": 0.04, "uv": [28, 47]}
]
},
{
"name": "leg_right",
"parent": "legs",
"pivot": [3, 1, 2],
"cubes": [
{"origin": [2, 0, 1], "size": [2, 1, 2], "inflate": 0.02, "uv": [1, 26]}
]
},
{
"name": "foot_right",
"parent": "leg_right",
"pivot": [3, 0.5, 1],
"cubes": [
{"origin": [1, 0, -1], "size": [4, 1, 2], "uv": [0, 3]}
]
},
{
"name": "locator_foot_secondary",
"parent": "foot_right",
"pivot": [3, 0.5, 0],
"rotation": [90, 0, 0],
"locators": {
"foot_secondary": [3, 0.5, 0]
}
},
{
"name": "toes_right",
"parent": "foot_right",
"pivot": [3, 0, -1],
"cubes": [
{"origin": [1, 0, -3], "size": [4, 1, 2], "inflate": 0.02, "uv": [0, 9]},
{"origin": [1.5, 0, -3], "size": [3, 1, 2], "inflate": 0.04, "uv": [28, 43]}
]
},
{
"name": "torso",
"parent": "body",
"pivot": [0, 4, -0.5],
"cubes": [
{"origin": [-6.5, 1, -6], "size": [13, 9, 12], "uv": [0, 0]}
]
},
{
"name": "mouth_open_big_bottom",
"parent": "torso",
"pivot": [0, 7, -5.915],
"cubes": [
{"origin": [-2.5, 2.92, -5.915], "size": [5, 7, 1], "uv": [1, 103]}
]
},
{
"name": "bumps_torso",
"parent": "torso",
"pivot": [0, 6.5, -2.5]
},
{
"name": "bump_small_left",
"parent": "bumps_torso",
"pivot": [6, 6.5, -2.5],
"cubes": [
{"origin": [5.5, 5, -4], "size": [2, 3, 3], "uv": [39, 0]}
]
},
{
"name": "bump_small_right",
"parent": "bumps_torso",
"pivot": [-6, 6.5, -2.5],
"cubes": [
{"origin": [-7.5, 5, -4], "size": [2, 3, 3], "uv": [49, 0]}
]
},
{
"name": "bump_small_back_left",
"parent": "bumps_torso",
"pivot": [4, 8, 5.5],
"cubes": [
{"origin": [2.5, 6.5, 5], "size": [3, 3, 2], "uv": [49, 6]}
]
},
{
"name": "bump_small_back_right",
"parent": "bumps_torso",
"pivot": [-4, 8, 5.5],
"cubes": [
{"origin": [-5.5, 6.5, 5], "size": [3, 3, 2], "uv": [39, 6]}
]
},
{
"name": "head",
"parent": "torso",
"pivot": [0, 11, 0]
},
{
"name": "head_ai",
"parent": "head",
"pivot": [0, 11, 0]
},
{
"name": "head_angle",
"parent": "head_ai",
"pivot": [0, 11, 0],
"cubes": [
{"origin": [-5.5, 9, -5.5], "size": [11, 10, 11], "uv": [0, 21]}
]
},
{
"name": "locator_face",
"parent": "head_angle",
"pivot": [0, 13.5, -6.25],
"locators": {
"face": [0, 13.5, -6.25]
}
},
{
"name": "locator_mouth",
"parent": "head_angle",
"pivot": [0, 11, -5.5],
"locators": {
"mouth": [0, 11, -5.5]
}
},
{
"name": "locator_special",
"parent": "head_angle",
"pivot": [0, 11, -5.5],
"locators": {
"special": [0, 11, -5.5]
}
},
{
"name": "locator_item_face",
"parent": "head_angle",
"pivot": [0, 13.75, -5.5],
"locators": {
"item_face": [0, 13.75, -5.5]
}
},
{
"name": "bumps_head",
"parent": "head_angle",
"pivot": [0, 18.02, -2.7]
},
{
"name": "bump_top",
"parent": "bumps_head",
"pivot": [0, 18.02, -2.7],
"rotation": [45, 0, 0],
"cubes": [
{"origin": [-4.5, 16.02, -7.2], "size": [9, 5, 8], "uv": [1, 43]}
]
},
{
"name": "bump_top_blue",
"parent": "bump_top",
"pivot": [0, 21.02, -3.2],
"cubes": [
{"origin": [-4.5, 21.02, -7.2], "size": [9, 2, 8], "inflate": -0.01, "uv": [1, 57]}
]
},
{
"name": "item_hat",
"parent": "bump_top_blue",
"pivot": [0, 23, -3.25],
"locators": {
"item_hat": [0, 23, -3.25]
}
},
{
"name": "locator_head",
"parent": "bump_top_blue",
"pivot": [0, 23, -3.25],
"locators": {
"head": [0, 23, -3.25]
}
},
{
"name": "bump_left",
"parent": "bumps_head",
"pivot": [5.75, 14, -0.5],
"cubes": [
{"origin": [4.25, 11, -4.5], "size": [3, 7, 7], "uv": [44, 29]}
]
},
{
"name": "bump_left_blue",
"parent": "bump_left",
"pivot": [6, 14, -0.5],
"cubes": [
{"origin": [5.75, 11, -4.5], "size": [3, 7, 7], "inflate": -0.01, "uv": [44, 58]}
]
},
{
"name": "bump_right",
"parent": "bumps_head",
"pivot": [-5.75, 14, -0.5],
"cubes": [
{"origin": [-7.25, 11, -4.5], "size": [3, 7, 7], "uv": [44, 15]}
]
},
{
"name": "bump_right_blue",
"parent": "bump_right",
"pivot": [-6, 14, -0.5],
"cubes": [
{"origin": [-8.75, 11, -4.5], "size": [3, 7, 7], "inflate": -0.01, "uv": [44, 44]}
]
},
{
"name": "locator_item",
"parent": "bump_right_blue",
"pivot": [-8.75, 14.5, -1],
"rotation": [0, 0, -90],
"locators": {
"item": [-8.75, 14.5, -1]
}
},
{
"name": "face",
"parent": "head_angle",
"pivot": [0, 12.5, -5.5]
},
{
"name": "mouths",
"parent": "face",
"pivot": [0, 11.25, -5.415]
},
{
"name": "mouth_open_big_top",
"parent": "mouths",
"pivot": [0, 11.25, -5.415],
"cubes": [
{"origin": [-2.5, 9.75, -5.415], "size": [5, 3, 1], "uv": [1, 98]}
]
},
{
"name": "mouth_open",
"parent": "mouths",
"pivot": [0, 11, -5.415],
"cubes": [
{"origin": [-2.5, 10, -5.415], "size": [5, 2, 1], "uv": [14, 102]}
]
},
{
"name": "mouth_open_wide",
"parent": "mouths",
"pivot": [0, 11, -5.415],
"cubes": [
{"origin": [-2.5, 10, -5.415], "size": [5, 2, 1], "uv": [14, 98]}
]
},
{
"name": "mouth",
"parent": "mouths",
"pivot": [0, 11.5, -5.515],
"cubes": [
{"origin": [-2.5, 10.5, -5.515], "size": [5, 2, 1], "uv": [14, 106]}
]
},
{
"name": "mouth_open_small",
"parent": "mouths",
"pivot": [0, 11, -5.415],
"cubes": [
{"origin": [-1.5, 10, -5.415], "size": [3, 2, 1], "uv": [27, 98]}
]
},
{
"name": "tongue",
"parent": "mouths",
"pivot": [0, 10.75, -4.75],
"cubes": [
{"origin": [-0.5, 10.75, -9.25], "size": [1, 0, 5], "inflate": 0.01, "uv": [-4, 122]}
]
},
{
"name": "tongue_2",
"parent": "tongue",
"pivot": [0, 10.75, -9.25],
"cubes": [
{"origin": [-0.5, 10.75, -13.25], "size": [1, 0, 4], "uv": [0, 123]}
]
},
{
"name": "tongue_3",
"parent": "tongue_2",
"pivot": [0, 10.75, -13.25],
"cubes": [
{"origin": [-0.5, 10.75, -17.25], "size": [1, 0, 4], "inflate": 0.01, "uv": [3, 123]}
]
},
{
"name": "tongue_4",
"parent": "tongue_3",
"pivot": [0, 10.75, -17.25],
"cubes": [
{"origin": [-0.5, 10.75, -21.25], "size": [1, 0, 4], "uv": [6, 123]}
]
},
{
"name": "tongue_5",
"parent": "tongue_4",
"pivot": [0, 10.75, -21.25],
"cubes": [
{"origin": [-0.5, 10.75, -25.25], "size": [1, 0, 4], "inflate": 0.01, "uv": [9, 123]}
]
},
{
"name": "tongue_6",
"parent": "tongue_5",
"pivot": [0, 10.75, -25.25],
"cubes": [
{"origin": [-0.5, 10.75, -29.25], "size": [1, 0, 4], "uv": [12, 123]}
]
},
{
"name": "tongue_7",
"parent": "tongue_6",
"pivot": [0, 10.75, -29.25],
"cubes": [
{"origin": [-0.5, 10.75, -33.25], "size": [1, 0, 4], "inflate": 0.01, "uv": [15, 123]}
]
},
{
"name": "tongue_8",
"parent": "tongue_7",
"pivot": [0, 10.75, -33.25],
"cubes": [
{"origin": [-0.5, 10.75, -37.25], "size": [1, 0, 4], "uv": [18, 123]}
]
},
{
"name": "tongue_9",
"parent": "tongue_8",
"pivot": [0, 10.75, -37.25],
"cubes": [
{"origin": [-0.5, 10.75, -41.25], "size": [1, 0, 4], "inflate": 0.01, "uv": [21, 123]}
]
},
{
"name": "tongue_10",
"parent": "tongue_9",
"pivot": [0, 10.75, -41.25],
"cubes": [
{"origin": [-0.5, 10.75, -45.25], "size": [1, 0, 4], "uv": [24, 123]}
]
},
{
"name": "tongue_11",
"parent": "tongue_10",
"pivot": [0, 10.75, -45.25],
"cubes": [
{"origin": [-0.5, 10.75, -49.25], "size": [1, 0, 4], "inflate": 0.01, "uv": [27, 123]}
]
},
{
"name": "tongue_12",
"parent": "tongue_11",
"pivot": [0, 10.75, -49.25],
"cubes": [
{"origin": [-1, 10.75, -53.25], "size": [2, 0, 4], "uv": [30, 123]}
]
},
{
"name": "locator_physical",
"parent": "tongue_12",
"pivot": [0, 10.75, -52.25],
"rotation": [-180, 0, 180],
"locators": {
"physical": [0, 10.75, -52.25]
}
},
{
"name": "nose",
"parent": "face",
"pivot": [0, 13.5, -5.5],
"cubes": [
{"origin": [-1.5, 11.5, -6.25], "size": [3, 2, 1], "uv": [34, 22]}
]
},
{
"name": "eyes",
"parent": "face",
"pivot": [0, 6, -1]
},
{
"name": "eye_left",
"parent": "eyes",
"pivot": [3, 14, -5.52],
"cubes": [
{"origin": [1.5, 12.5, -5.52], "size": [3, 3, 1], "uv": [10, 73]}
]
},
{
"name": "pupil_left",
"parent": "eye_left",
"pivot": [3, 14.25, -5.54],
"cubes": [
{"origin": [2, 13.25, -5.64], "size": [2, 2, 1], "inflate": -0.1, "uv": [26, 74]}
]
},
{
"name": "locator_eye_left",
"parent": "pupil_left",
"pivot": [3, 14.25, -5.5],
"locators": {
"eye2": [3, 14.25, -5.5]
}
},
{
"name": "eye_right",
"parent": "eyes",
"pivot": [-3, 14, -5.52],
"cubes": [
{"origin": [-4.5, 12.5, -5.52], "size": [3, 3, 1], "uv": [1, 73]}
]
},
{
"name": "pupil_right",
"parent": "eye_right",
"pivot": [-3, 14.25, -5.54],
"cubes": [
{"origin": [-4, 13.25, -5.64], "size": [2, 2, 1], "inflate": -0.1, "uv": [19, 74]}
]
},
{
"name": "locator_eye_right",
"parent": "pupil_right",
"pivot": [-3, 14.25, -5.5],
"locators": {
"eye1": [-3, 14.25, -5.5]
}
},
{
"name": "eye_right_shocked",
"parent": "eyes",
"pivot": [-3, 14, -5.42],
"cubes": [
{"origin": [-4.5, 12.5, -5.42], "size": [3, 3, 1], "uv": [1, 78]}
]
},
{
"name": "pupil_right_shocked",
"parent": "eye_right_shocked",
"pivot": [-3, 14.25, -5.44],
"cubes": [
{"origin": [-3.5, 13.5, -5.44], "size": [1, 1, 1], "uv": [19, 81]}
]
},
{
"name": "eye_left_shocked",
"parent": "eyes",
"pivot": [3, 14, -5.42],
"cubes": [
{"origin": [1.5, 12.5, -5.42], "size": [3, 3, 1], "uv": [10, 78]}
]
},
{
"name": "pupil_left_shocked",
"parent": "eye_left_shocked",
"pivot": [3, 14.25, -5.44],
"cubes": [
{"origin": [2.5, 13.5, -5.44], "size": [1, 1, 1], "uv": [24, 81]}
]
},
{
"name": "eye_right_angry",
"parent": "eyes",
"pivot": [-3, 14, -5.42],
"cubes": [
{"origin": [-4.5, 12.5, -5.42], "size": [3, 3, 1], "uv": [1, 88]}
]
},
{
"name": "pupil_right_angry",
"parent": "eye_right_angry",
"pivot": [-3, 14.25, -5.44],
"cubes": [
{"origin": [-4, 13.25, -5.54], "size": [2, 2, 1], "inflate": -0.1, "uv": [19, 88]}
]
},
{
"name": "eye_right_sad",
"parent": "eyes",
"pivot": [-3, 14, -5.42],
"cubes": [
{"origin": [-4.5, 12.5, -5.42], "size": [3, 3, 1], "uv": [1, 83]}
]
},
{
"name": "pupil_right_sad",
"parent": "eye_right_sad",
"pivot": [-3, 14.25, -5.44],
"cubes": [
{"origin": [-4, 13.25, -5.54], "size": [2, 2, 1], "inflate": -0.1, "uv": [19, 84]}
]
},
{
"name": "eye_left_sad",
"parent": "eyes",
"pivot": [3, 14, -5.42],
"cubes": [
{"origin": [1.5, 12.5, -5.42], "size": [3, 3, 1], "uv": [10, 83]}
]
},
{
"name": "pupil_left_sad",
"parent": "eye_left_sad",
"pivot": [3, 14.25, -5.44],
"cubes": [
{"origin": [2, 13.25, -5.54], "size": [2, 2, 1], "inflate": -0.1, "uv": [26, 84]}
]
},
{
"name": "eye_left_angry",
"parent": "eyes",
"pivot": [3, 14, -5.42],
"cubes": [
{"origin": [1.5, 12.5, -5.42], "size": [3, 3, 1], "uv": [10, 88]}
]
},
{
"name": "pupil_left_angry",
"parent": "eye_left_angry",
"pivot": [3, 14.25, -5.44],
"cubes": [
{"origin": [2, 13.25, -5.54], "size": [2, 2, 1], "inflate": -0.1, "uv": [26, 88]}
]
},
{
"name": "eyelid_right",
"parent": "eyes",
"pivot": [-3.52828, 13.52828, -5.41],
"cubes": [
{"origin": [-4.5, 12.5, -5.4], "size": [3, 2, 1], "inflate": 0.02, "uv": [1, 94]}
]
},
{
"name": "eyelid_left",
"parent": "eyes",
"pivot": [3.52828, 13.52828, -5.41],
"cubes": [
{"origin": [1.5, 12.5, -5.4], "size": [3, 2, 1], "inflate": 0.02, "uv": [10, 94]}
]
},
{
"name": "eye_right_happy",
"parent": "eyes",
"pivot": [-3, 13.5, -5.42],
"cubes": [
{"origin": [-4, 13.25, -5.43], "size": [2, 1, 1], "uv": [19, 92]}
]
},
{
"name": "eye_right_happy_detail",
"parent": "eye_right_happy",
"pivot": [-3, 13.25, -4.94],
"cubes": [
{"origin": [-3.5, 12.75, -5.44], "size": [1, 1, 1], "uv": [19, 95]}
]
},
{
"name": "eye_left_happy",
"parent": "eyes",
"pivot": [3, 13.5, -5.42],
"cubes": [
{"origin": [2, 13.25, -5.43], "size": [2, 1, 1], "uv": [26, 92]}
]
},
{
"name": "eye_left_happy_detail",
"parent": "eye_left_happy",
"pivot": [3, 13.25, -4.94],
"cubes": [
{"origin": [2.5, 12.75, -5.44], "size": [1, 1, 1], "uv": [24, 95]}
]
},
{
"name": "shine_left",
"parent": "eyes",
"pivot": [3, 14.5, -5.56],
"cubes": [
{"origin": [2.5, 13.75, -5.66], "size": [1, 1, 1], "inflate": -0.1, "uv": [24, 78]}
]
},
{
"name": "shine_right",
"parent": "eyes",
"pivot": [-3, 14.5, -5.56],
"cubes": [
{"origin": [-3.5, 13.75, -5.66], "size": [1, 1, 1], "inflate": -0.1, "uv": [19, 78]}
]
},
{
"name": "face_ditto",
"parent": "head_angle",
"pivot": [0, 13.25, -5.4]
},
{
"name": "eyes_ditto",
"parent": "face_ditto",
"pivot": [0, 14, -5.42],
"cubes": [
{"origin": [-3, 13.5, -5.42], "size": [6, 1, 0], "uv": [36, 73]}
]
},
{
"name": "eyes_blink_ditto",
"parent": "face_ditto",
"pivot": [0, 14, -5.32],
"cubes": [
{"origin": [-3.5, 13.5, -5.32], "size": [7, 1, 0], "uv": [35, 75]},
{"origin": [-3, 14, -5.33], "size": [6, 1, 0], "uv": [36, 77]}
]
},
{
"name": "mouth_ditto",
"parent": "face_ditto",
"pivot": [0, 12.25, -5.4],
"cubes": [
{"origin": [-2.5, 11.5, -5.41], "size": [5, 1, 0], "uv": [37, 81]},
{"origin": [-3.5, 12, -5.41], "size": [7, 1, 0], "uv": [35, 79]}
]
},
{
"name": "mouth_open_ditto",
"parent": "face_ditto",
"pivot": [0, 12, -5.31],
"cubes": [
{"origin": [-3.5, 11, -5.31], "size": [7, 2, 0], "uv": [35, 83]}
]
},
{
"name": "tail",
"parent": "body",
"pivot": [-0.5, 3, 5.5],
"cubes": [
{"origin": [-2.5, 3, 4.5], "size": [5, 0, 5], "uv": [-4, 116]}
]
},
{
"name": "tail2",
"parent": "tail",
"pivot": [-0.5, 3, 9.5],
"cubes": [
{"origin": [-2.5, 3, 9.5], "size": [5, 0, 3], "uv": [9, 118]}
]
},
{
"name": "locator_tail",
"parent": "tail2",
"pivot": [0, 3, 11],
"rotation": [-180, 0, 180],
"locators": {
"tail": [0, 3, 11]
}
},
{
"name": "tail3",
"parent": "tail2",
"pivot": [-0.5, 3, 12.5],
"cubes": [
{"origin": [-2.5, 3, 12.5], "size": [5, 0, 3], "uv": [20, 118]}
]
},
{
"name": "locator_tail_tip",
"parent": "tail3",
"pivot": [0, 3, 15.5],
"rotation": [-180, 0, 180],
"locators": {
"tail_tip": [0, 3, 15.5]
}
}
]
}
]
}
@@ -0,0 +1,978 @@
{
"format_version": "1.12.0",
"minecraft:geometry": [
{
"description": {
"identifier": "geometry.seismitoad",
"texture_width": 256,
"texture_height": 128,
"visible_bounds_width": 8,
"visible_bounds_height": 5.5,
"visible_bounds_offset": [0, 2.25, 0]
},
"bones": [
{
"name": "seismitoad",
"pivot": [0, 0, 0]
},
{
"name": "locator_root",
"parent": "seismitoad",
"pivot": [0, 0, 0],
"locators": {
"root": [0, 0, 0]
}
},
{
"name": "locator_top",
"parent": "seismitoad",
"pivot": [0, 32, 0],
"locators": {
"top": [0, 32, 0]
}
},
{
"name": "body",
"parent": "seismitoad",
"pivot": [0, 13.75, 1]
},
{
"name": "locator_target",
"parent": "body",
"pivot": [0, 18, -10],
"locators": {
"target": [0, 18, -10]
}
},
{
"name": "locator_middle",
"parent": "body",
"pivot": [0, 18, 0],
"locators": {
"middle": [0, 18, 0]
}
},
{
"name": "torso",
"parent": "body",
"pivot": [0, 11.25, 0],
"cubes": [
{"origin": [-10, 7.75, -8], "size": [20, 14, 18], "uv": [0, 0]},
{"origin": [-10, 7.75, -8], "size": [20, 14, 18], "inflate": -0.25, "uv": [0, 33]}
]
},
{
"name": "torso2",
"parent": "torso",
"pivot": [0, 21.25, 6],
"rotation": [35, 0, 0],
"cubes": [
{"origin": [-9, 19.25, -5], "size": [18, 13, 14], "uv": [0, 66]}
]
},
{
"name": "neck",
"parent": "torso2",
"pivot": [0, 31.25, 6.5]
},
{
"name": "neck_ai",
"parent": "neck",
"pivot": [0, 31.25, 6.5]
},
{
"name": "neck_angle",
"parent": "neck_ai",
"pivot": [0, 31.25, 6.5]
},
{
"name": "neck_rotation",
"parent": "neck_angle",
"pivot": [0, 31.25, 6.5],
"rotation": [47.5, 0, 0],
"cubes": [
{"origin": [-7, 30.25, -0.5], "size": [14, 9, 9], "uv": [65, 66]}
]
},
{
"name": "head",
"parent": "neck_rotation",
"pivot": [0, 38.25, 4.5]
},
{
"name": "head_ai",
"parent": "head",
"pivot": [0, 38.25, 4.5]
},
{
"name": "head_angle",
"parent": "head_ai",
"pivot": [0, 38.25, 4.5],
"cubes": [
{"origin": [-6, 35.75, 3], "size": [12, 3, 5], "uv": [77, 48]}
]
},
{
"name": "head_rotation",
"parent": "head_angle",
"pivot": [0, 38.25, 4.5],
"rotation": [-60, 0, 0],
"cubes": [
{"origin": [-7, 35.05, 1.89], "size": [14, 7, 4], "inflate": -0.01, "uv": [77, 0]},
{"origin": [-7, 35.06, 0.91], "size": [14, 2, 1], "inflate": -0.01, "uv": [110, 36]},
{"origin": [-6, 37.06, -0.05], "size": [12, 5, 3], "inflate": 0.01, "uv": [25, 107]},
{"origin": [-6, 37.08942, -3.98575], "size": [12, 3, 4], "inflate": 0.01, "uv": [77, 57]},
{"origin": [6, 37.05, -2.1], "size": [1, 3, 4], "uv": [127, 107]},
{"origin": [-7, 37.05, -2.1], "size": [1, 3, 4], "uv": [142, 9]}
]
},
{
"name": "jaw",
"parent": "head_rotation",
"pivot": [0, 36.6, 1.4],
"cubes": [
{"origin": [-6, 35.05, -3.99], "size": [12, 3, 2], "uv": [56, 110]},
{"origin": [-7, 35.05, -2.1], "size": [14, 3, 4], "inflate": 0.01, "uv": [77, 40]}
]
},
{
"name": "tongue",
"parent": "jaw",
"pivot": [0, 38, 0],
"cubes": [
{"origin": [-0.5, 37, -5], "size": [1, 1, 5], "uv": [140, 120]}
]
},
{
"name": "tongue2",
"parent": "tongue",
"pivot": [0, 37.5, -5],
"cubes": [
{"origin": [-0.5, 37, -10], "size": [1, 1, 5], "uv": [140, 114]}
]
},
{
"name": "tongue3",
"parent": "tongue2",
"pivot": [0, 37.5, -10],
"cubes": [
{"origin": [-0.5, 37, -15], "size": [1, 1, 5], "uv": [140, 108]}
]
},
{
"name": "tongue4",
"parent": "tongue3",
"pivot": [0, 37.5, -15],
"cubes": [
{"origin": [-0.5, 37, -20], "size": [1, 1, 5], "uv": [140, 102]}
]
},
{
"name": "tongue5",
"parent": "tongue4",
"pivot": [0, 37.5, -20],
"cubes": [
{"origin": [-0.5, 37, -25], "size": [1, 1, 5], "uv": [140, 96]}
]
},
{
"name": "tongue_tip",
"parent": "tongue5",
"pivot": [0, 37.5, -25],
"cubes": [
{"origin": [-1, 36.5, -28], "size": [2, 2, 3], "uv": [141, 91]}
]
},
{
"name": "locator_physical",
"parent": "tongue_tip",
"pivot": [0, 37.5, -27],
"locators": {
"physical": [0, 37.5, -27]
}
},
{
"name": "locator_jaw_lower",
"parent": "jaw",
"pivot": [0, 38, -4],
"locators": {
"jaw2": [0, 38, -4]
}
},
{
"name": "locator_head",
"parent": "head_rotation",
"pivot": [0, 42, 1.9],
"locators": {
"head": [0, 42, 1.9]
}
},
{
"name": "head_front_rotation",
"parent": "head_rotation",
"pivot": [0, 42, 0],
"rotation": [-57.5, 0, 0],
"cubes": [
{"origin": [-0.5, 38.5, 0], "size": [1, 2, 1], "inflate": 0.01, "uv": [157, 4]},
{"origin": [-6, 36, 0], "size": [12, 6, 2], "uv": [110, 27]}
]
},
{
"name": "face",
"parent": "head_front_rotation",
"pivot": [0, 38, 0]
},
{
"name": "snout",
"parent": "face",
"pivot": [0, 36, 0],
"rotation": [57.5, 0, 0],
"cubes": [
{"origin": [-1.5, 35, 0], "size": [3, 1, 1], "inflate": 0.01, "uv": [116, 107]},
{"origin": [-2, 34, 0], "size": [4, 2, 1], "uv": [153, 9]}
]
},
{
"name": "locator_jaw_upper",
"parent": "snout",
"pivot": [0, 34, 0],
"locators": {
"jaw1": [0, 34, 0]
}
},
{
"name": "eyes",
"parent": "face",
"pivot": [0, 37, 0]
},
{
"name": "eye_left",
"parent": "eyes",
"pivot": [3.46667, 39, 0.49],
"cubes": [
{"origin": [1.75, 38.25, 0.24], "size": [3, 2, 1], "inflate": 0.26, "uv": [151, 28]}
]
},
{
"name": "pupil_left",
"parent": "eye_left",
"pivot": [3.25, 39.35, 0.555],
"cubes": [
{"origin": [2.25, 38.35, -0.28], "size": [2, 2, 1], "inflate": -0.25, "uv": [135, 0]},
{"origin": [2.75, 38.85, -0.12], "size": [1, 1, 1], "inflate": -0.08, "uv": [204, 14]}
]
},
{
"name": "locator_eye_left",
"parent": "pupil_left",
"pivot": [3.25, 39.35, 0],
"rotation": [35, 0, 0],
"locators": {
"eye2": [3.25, 39.35, 0]
}
},
{
"name": "pupil_left_happy",
"parent": "eye_left",
"pivot": [3.25, 39.5, 0.655],
"cubes": [
{"origin": [2.25, 38.5, 0.07], "size": [2, 1, 1], "uv": [17, 122]}
]
},
{
"name": "pupil_left_happy_detail",
"parent": "pupil_left_happy",
"pivot": [3.25, 38.5, 0.56],
"cubes": [
{"origin": [2.75, 38, 0.06], "size": [1, 1, 1], "uv": [151, 32]}
]
},
{
"name": "pupil_left_shocked",
"parent": "eye_left",
"pivot": [3.25, 39.5, 0.555],
"cubes": [
{"origin": [2.75, 38.5, -0.03], "size": [1, 1, 1], "inflate": -0.1, "uv": [161, 32]}
]
},
{
"name": "eye_left_angry",
"parent": "eyes",
"pivot": [3.46667, 39, 0.59],
"cubes": [
{"origin": [1.75, 38.25, 0.34], "size": [3, 2, 1], "inflate": 0.26, "uv": [133, 45]},
{"origin": [1.75, 38.85, 0.33], "size": [3, 1, 1], "inflate": 0.26, "uv": [133, 70]}
]
},
{
"name": "pupil_left_angry",
"parent": "eye_left_angry",
"pivot": [3.25, 39.35, 0.655],
"cubes": [
{"origin": [2.25, 38.35, -0.19], "size": [2, 2, 1], "inflate": -0.25, "uv": [176, 14]},
{"origin": [2.75, 38.85, -0.03], "size": [1, 1, 1], "inflate": -0.08, "uv": [214, 14]}
]
},
{
"name": "eye_left_sad",
"parent": "eyes",
"pivot": [3.46667, 39, 0.59],
"cubes": [
{"origin": [1.75, 38.25, 0.34], "size": [3, 2, 1], "inflate": 0.26, "uv": [133, 53]},
{"origin": [1.75, 39.1, 0.33], "size": [3, 1, 1], "inflate": 0.26, "uv": [133, 76]}
]
},
{
"name": "pupil_left_sad",
"parent": "eye_left_sad",
"pivot": [3.25, 39.35, 0.655],
"cubes": [
{"origin": [2.25, 38.35, -0.19], "size": [2, 2, 1], "inflate": -0.25, "uv": [190, 14]},
{"origin": [2.75, 38.85, -0.03], "size": [1, 1, 1], "inflate": -0.08, "uv": [224, 15]}
]
},
{
"name": "eye_right",
"parent": "eyes",
"pivot": [-3.46667, 39, 0.49],
"cubes": [
{"origin": [-4.75, 38.25, 0.24], "size": [3, 2, 1], "inflate": 0.26, "uv": [160, 28]}
]
},
{
"name": "pupil_right",
"parent": "eye_right",
"pivot": [-3.25, 39.35, 0.555],
"cubes": [
{"origin": [-3.75, 38.85, -0.12], "size": [1, 1, 1], "inflate": -0.08, "uv": [209, 14]},
{"origin": [-4.25, 38.35, -0.28], "size": [2, 2, 1], "inflate": -0.25, "uv": [135, 12]}
]
},
{
"name": "locator_eye_right",
"parent": "pupil_right",
"pivot": [-3.25, 39.35, 0],
"rotation": [35, 0, 0],
"locators": {
"eye1": [-3.25, 39.35, 0]
}
},
{
"name": "pupil_right_happy",
"parent": "eye_right",
"pivot": [-3.25, 39.5, 0.655],
"cubes": [
{"origin": [-4.25, 38.5, 0.07], "size": [2, 1, 1], "uv": [135, 24]}
]
},
{
"name": "pupil_right_happy_detail",
"parent": "pupil_right_happy",
"pivot": [-3.25, 38.5, 0.56],
"cubes": [
{"origin": [-3.75, 38, 0.06], "size": [1, 1, 1], "uv": [156, 32]}
]
},
{
"name": "pupil_right_shocked",
"parent": "eye_right",
"pivot": [-3.25, 39.5, 0.555],
"cubes": [
{"origin": [-3.75, 38.5, -0.03], "size": [1, 1, 1], "inflate": -0.1, "uv": [166, 32]}
]
},
{
"name": "eye_right_angry",
"parent": "eyes",
"pivot": [-3.46667, 39, 0.59],
"cubes": [
{"origin": [-4.75, 38.25, 0.34], "size": [3, 2, 1], "inflate": 0.26, "uv": [133, 49]},
{"origin": [-4.75, 38.85, 0.33], "size": [3, 1, 1], "inflate": 0.26, "uv": [133, 73]}
]
},
{
"name": "pupil_right_angry",
"parent": "eye_right_angry",
"pivot": [-3.25, 39.35, 0.655],
"cubes": [
{"origin": [-4.25, 38.35, -0.19], "size": [2, 2, 1], "inflate": -0.25, "uv": [183, 14]},
{"origin": [-3.75, 38.85, -0.03], "size": [1, 1, 1], "inflate": -0.08, "uv": [219, 14]}
]
},
{
"name": "eye_right_sad",
"parent": "eyes",
"pivot": [-3.46667, 39, 0.59],
"cubes": [
{"origin": [-4.75, 38.25, 0.34], "size": [3, 2, 1], "inflate": 0.26, "uv": [133, 57]},
{"origin": [-4.75, 39.1, 0.33], "size": [3, 1, 1], "inflate": 0.26, "uv": [153, 13]}
]
},
{
"name": "pupil_right_sad",
"parent": "eye_right_sad",
"pivot": [-3.25, 39.35, 0.655],
"cubes": [
{"origin": [-4.25, 38.35, -0.19], "size": [2, 2, 1], "inflate": -0.25, "uv": [197, 14]},
{"origin": [-3.75, 38.85, -0.03], "size": [1, 1, 1], "inflate": -0.08, "uv": [229, 15]}
]
},
{
"name": "eyelids",
"parent": "eyes",
"pivot": [0, 37, 0]
},
{
"name": "eyelid_left",
"parent": "eyelids",
"pivot": [3.46667, 39, 0.59],
"cubes": [
{"origin": [1.75, 38.25, 0.34], "size": [3, 2, 1], "inflate": 0.26, "uv": [169, 28]}
]
},
{
"name": "eyelid_right",
"parent": "eyelids",
"pivot": [-3.46667, 39, 0.59],
"cubes": [
{"origin": [-4.75, 38.25, 0.34], "size": [3, 2, 1], "inflate": 0.26, "uv": [178, 28]}
]
},
{
"name": "face_ditto",
"parent": "head_front_rotation",
"pivot": [0, 38.25, 0.1]
},
{
"name": "eyes_ditto",
"parent": "face_ditto",
"pivot": [0, 39, 0.08],
"cubes": [
{"origin": [-4, 38.5, 0.08], "size": [8, 1, 0], "uv": [206, 18]}
]
},
{
"name": "eyes_blink_ditto",
"parent": "face_ditto",
"pivot": [0, 39, 0.18],
"cubes": [
{"origin": [-4.5, 38.5, 0.18], "size": [9, 1, 0], "uv": [205, 20]},
{"origin": [-4, 39, 0.17], "size": [8, 1, 0], "uv": [206, 22]}
]
},
{
"name": "locator_face",
"parent": "head_front_rotation",
"pivot": [0, 36, 0],
"rotation": [35, 0, 0],
"locators": {
"face": [0, 36, 0]
}
},
{
"name": "locator_mouth",
"parent": "head_front_rotation",
"pivot": [0, 36.5, 3],
"rotation": [57.5, 0, 0],
"locators": {
"mouth": [0, 36.5, 3],
"special": [0, 36.5, 3]
}
},
{
"name": "locator_item_face",
"parent": "head_front_rotation",
"pivot": [0, 38.5, -0.5],
"rotation": [20, 0, 0],
"locators": {
"item_face": [0, 38.5, -0.5]
}
},
{
"name": "warts_head",
"parent": "head_rotation",
"pivot": [0, 40.5, 1.49]
},
{
"name": "wart_head_left",
"parent": "warts_head",
"pivot": [3.5, 40.5, 1.49],
"rotation": [10, 5, 15],
"cubes": [
{"origin": [0, 40, -2.01], "size": [7, 5, 7], "inflate": -0.25, "uv": [65, 85]},
{"origin": [0, 40, -2.01], "size": [7, 5, 7], "uv": [0, 94]}
]
},
{
"name": "item_hat",
"parent": "wart_head_left",
"pivot": [3.5, 45, 1.5],
"locators": {
"item_hat": [3.5, 45, 1.5]
}
},
{
"name": "wart_head_right",
"parent": "warts_head",
"pivot": [-3.5, 40.5, 1.49],
"rotation": [10, -5, -15],
"cubes": [
{"origin": [-7, 40, -2.01], "size": [7, 5, 7], "inflate": -0.25, "uv": [29, 94]},
{"origin": [-7, 40, -2.01], "size": [7, 5, 7], "uv": [94, 85]}
]
},
{
"name": "arms",
"parent": "torso2",
"pivot": [0, 30.5, 2.75],
"rotation": [-35, 0, 0]
},
{
"name": "shoulder_left",
"parent": "arms",
"pivot": [7.5, 30.25, 2.25],
"cubes": [
{"origin": [6, 27, -1.25], "size": [9, 6, 7], "uv": [77, 12]}
]
},
{
"name": "arm_left",
"parent": "shoulder_left",
"pivot": [14.5, 30.25, 2.25],
"cubes": [
{"origin": [14, 29.25, 1.25], "size": [5, 2, 2], "uv": [67, 116]}
]
},
{
"name": "elbow_left",
"parent": "arm_left",
"pivot": [19, 30.25, 2.25],
"cubes": [
{"origin": [18.5, 28.75, 0.25], "size": [3, 3, 4], "uv": [160, 20]}
]
},
{
"name": "hand_left",
"parent": "elbow_left",
"pivot": [21, 30.25, 2.25],
"cubes": [
{"origin": [20.5, 28.25, -1.25], "size": [7, 4, 7], "uv": [58, 98]}
]
},
{
"name": "wart_hand_left",
"parent": "hand_left",
"pivot": [23, 29.75, 2.75],
"cubes": [
{"origin": [21.5, 31.75, -0.25], "size": [5, 3, 5], "uv": [114, 0]},
{"origin": [21.5, 31.75, -0.25], "size": [5, 3, 5], "inflate": -0.25, "uv": [204, 0]}
]
},
{
"name": "finger_front_left",
"parent": "hand_left",
"pivot": [27, 30.25, 0.25],
"rotation": [0, 22.5, 0],
"cubes": [
{"origin": [26.75, 29.75, -0.25], "size": [3, 1, 1], "inflate": 0.2, "uv": [123, 9]}
]
},
{
"name": "finger_front_left2",
"parent": "finger_front_left",
"pivot": [29.75, 30.35, 0.25],
"cubes": [
{"origin": [29.5, 29.1, -0.75], "size": [2, 2, 2], "uv": [191, 9]}
]
},
{
"name": "finger_middle_left",
"parent": "hand_left",
"pivot": [27, 30.25, 2.25],
"cubes": [
{"origin": [27, 29.75, 1.75], "size": [3, 1, 1], "inflate": 0.2, "uv": [114, 9]}
]
},
{
"name": "finger_middle_left2",
"parent": "finger_middle_left",
"pivot": [30, 30.35, 2.25],
"cubes": [
{"origin": [29.75, 29.1, 1.25], "size": [2, 2, 2], "uv": [173, 9]}
]
},
{
"name": "finger_back_left",
"parent": "hand_left",
"pivot": [27, 30.25, 4.25],
"rotation": [0, -22.5, 0],
"cubes": [
{"origin": [26.75, 29.75, 3.75], "size": [3, 1, 1], "inflate": 0.2, "uv": [132, 9]}
]
},
{
"name": "finger_back_left2",
"parent": "finger_back_left",
"pivot": [29.75, 30.35, 4.25],
"cubes": [
{"origin": [29.5, 29.1, 3.25], "size": [2, 2, 2], "uv": [200, 9]}
]
},
{
"name": "locator_hand_secondary",
"parent": "hand_left",
"pivot": [26.5, 30.25, 2.25],
"rotation": [0, -90, 0],
"locators": {
"hand_secondary": [26.5, 30.25, 2.25]
}
},
{
"name": "wart_shoulder_left",
"parent": "shoulder_left",
"pivot": [8.5, 30.5, 2.75],
"cubes": [
{"origin": [8, 32.5, -0.25], "size": [5, 3, 5], "uv": [112, 70]},
{"origin": [8, 32.5, -0.25], "size": [5, 3, 5], "inflate": -0.25, "uv": [116, 98]}
]
},
{
"name": "shoulder_right",
"parent": "arms",
"pivot": [-7.5, 30.25, 2.25],
"cubes": [
{"origin": [-15, 27, -1.25], "size": [9, 6, 7], "uv": [77, 26]}
]
},
{
"name": "arm_right",
"parent": "shoulder_right",
"pivot": [-14.5, 30.25, 2.25],
"cubes": [
{"origin": [-19, 29.25, 1.25], "size": [5, 2, 2], "uv": [142, 4]}
]
},
{
"name": "elbow_right",
"parent": "arm_right",
"pivot": [-19, 30.25, 2.25],
"cubes": [
{"origin": [-21.5, 28.75, 0.25], "size": [3, 3, 4], "uv": [175, 20]}
]
},
{
"name": "hand_right",
"parent": "elbow_right",
"pivot": [-21, 30.25, 2.25],
"cubes": [
{"origin": [-27.5, 28.25, -1.25], "size": [7, 4, 7], "uv": [87, 98]}
]
},
{
"name": "wart_hand_right",
"parent": "hand_right",
"pivot": [-23, 29.75, 2.75],
"cubes": [
{"origin": [-26.5, 31.75, -0.25], "size": [5, 3, 5], "uv": [25, 116]},
{"origin": [-26.5, 31.75, -0.25], "size": [5, 3, 5], "inflate": -0.25, "uv": [183, 0]}
]
},
{
"name": "finger_front_right",
"parent": "hand_right",
"pivot": [-27, 30.25, 0.25],
"rotation": [0, -22.5, 0],
"cubes": [
{"origin": [-29.75, 29.75, -0.25], "size": [3, 1, 1], "inflate": 0.2, "uv": [133, 64]}
]
},
{
"name": "finger_front_right2",
"parent": "finger_front_right",
"pivot": [-29.75, 30.35, 0.25],
"cubes": [
{"origin": [-31.5, 29.1, -0.75], "size": [2, 2, 2], "uv": [155, 16]}
]
},
{
"name": "finger_middle_right",
"parent": "hand_right",
"pivot": [-27, 30.25, 2.25],
"cubes": [
{"origin": [-30, 29.75, 1.75], "size": [3, 1, 1], "inflate": 0.2, "uv": [133, 61]}
]
},
{
"name": "finger_middle_right2",
"parent": "finger_middle_right",
"pivot": [-30, 30.35, 2.25],
"cubes": [
{"origin": [-31.75, 29.1, 1.25], "size": [2, 2, 2], "uv": [209, 9]}
]
},
{
"name": "finger_back_right",
"parent": "hand_right",
"pivot": [-27, 30.25, 4.25],
"rotation": [0, 22.5, 0],
"cubes": [
{"origin": [-29.75, 29.75, 3.75], "size": [3, 1, 1], "inflate": 0.2, "uv": [133, 67]}
]
},
{
"name": "finger_back_right2",
"parent": "finger_back_right",
"pivot": [-29.75, 30.35, 4.25],
"cubes": [
{"origin": [-31.5, 29.1, 3.25], "size": [2, 2, 2], "uv": [218, 9]}
]
},
{
"name": "locator_hand_primary",
"parent": "hand_right",
"pivot": [-26.5, 30.25, 2.25],
"rotation": [0, 90, 0],
"locators": {
"hand_primary": [-26.5, 30.25, 2.25]
}
},
{
"name": "locator_item",
"parent": "hand_right",
"pivot": [-27, 27.8, 2.25],
"locators": {
"item": [-27, 27.8, 2.25]
}
},
{
"name": "wart_shoulder_right",
"parent": "shoulder_right",
"pivot": [-8.5, 30.5, 2.75],
"cubes": [
{"origin": [-13, 32.5, -0.25], "size": [5, 3, 5], "uv": [46, 116]},
{"origin": [-13, 32.5, -0.25], "size": [5, 3, 5], "inflate": -0.25, "uv": [162, 0]}
]
},
{
"name": "wart_back_top_left",
"parent": "torso2",
"pivot": [4.5, 25.75, 8.75],
"cubes": [
{"origin": [1.5, 22.75, 7], "size": [6, 6, 4], "uv": [85, 110]}
]
},
{
"name": "wart_back_top_right",
"parent": "torso2",
"pivot": [-4.5, 25.75, 8.75],
"cubes": [
{"origin": [-7.5, 22.75, 7], "size": [6, 6, 4], "uv": [112, 59]}
]
},
{
"name": "wart_back_bottom_left",
"parent": "torso",
"pivot": [4.5, 17.25, 9.5],
"cubes": [
{"origin": [1.5, 14.25, 7.75], "size": [6, 6, 4], "uv": [106, 110]}
]
},
{
"name": "wart_back_bottom_right",
"parent": "torso",
"pivot": [-4.5, 17.25, 9.5],
"cubes": [
{"origin": [-7.5, 14.25, 7.75], "size": [6, 6, 4], "uv": [112, 48]}
]
},
{
"name": "legs",
"parent": "body",
"pivot": [8, 11.25, 0]
},
{
"name": "leg_left",
"parent": "legs",
"pivot": [10, 11.25, 0],
"cubes": [
{"origin": [7, 6.25, -3], "size": [6, 8, 6], "uv": [0, 107]}
]
},
{
"name": "knee_left",
"parent": "leg_left",
"pivot": [10, 5.75, -1.5],
"cubes": [
{"origin": [8, 1.25, -2], "size": [4, 6, 4], "uv": [142, 17]}
]
},
{
"name": "foot_left",
"parent": "knee_left",
"pivot": [10, 2, 0],
"cubes": [
{"origin": [8, -0.25, -2], "size": [4, 2, 4], "inflate": 0.01, "uv": [114, 40]}
]
},
{
"name": "toe_out_left",
"parent": "foot_left",
"pivot": [11, 1.25, -1.5],
"rotation": [0, -22.5, 0],
"cubes": [
{"origin": [10.75, 0.25, -3.5], "size": [1, 1, 2], "inflate": 0.25, "uv": [58, 94]}
]
},
{
"name": "toe_out_left2",
"parent": "toe_out_left",
"pivot": [11.25, 1.65, -3.25],
"cubes": [
{"origin": [10.25, -0.35, -5], "size": [2, 2, 2], "uv": [164, 9]}
]
},
{
"name": "toe_in_left",
"parent": "foot_left",
"pivot": [9, 1.25, -1.5],
"rotation": [0, 22.5, 0],
"cubes": [
{"origin": [8.25, 0.25, -3.5], "size": [1, 1, 2], "inflate": 0.25, "uv": [135, 16]}
]
},
{
"name": "toe_in_left2",
"parent": "toe_in_left",
"pivot": [8.75, 1.65, -3.25],
"cubes": [
{"origin": [7.75, -0.35, -5], "size": [2, 2, 2], "uv": [131, 40]}
]
},
{
"name": "toe_back_left",
"parent": "foot_left",
"pivot": [10, 1.25, 1.5],
"cubes": [
{"origin": [9.5, 0.25, 1.5], "size": [1, 1, 2], "inflate": 0.25, "uv": [135, 4]}
]
},
{
"name": "toe_back_left2",
"parent": "toe_back_left",
"pivot": [10, 1.65, 3.25],
"cubes": [
{"origin": [9, -0.35, 3], "size": [2, 2, 2], "uv": [182, 9]}
]
},
{
"name": "locator_foot_secondary",
"parent": "foot_left",
"pivot": [10, 0.75, 0],
"rotation": [90, 0, 0],
"locators": {
"foot_secondary": [10, 0.75, 0]
}
},
{
"name": "wart_knee_left",
"parent": "leg_left",
"pivot": [10, 6.5, -2.75],
"cubes": [
{"origin": [8.5, 5, -3.75], "size": [3, 3, 2], "uv": [112, 79]}
]
},
{
"name": "leg_right",
"parent": "legs",
"pivot": [-10, 11.25, 0],
"cubes": [
{"origin": [-13, 6.25, -3], "size": [6, 8, 6], "uv": [110, 12]}
]
},
{
"name": "knee_right",
"parent": "leg_right",
"pivot": [-10, 5.75, -1.5],
"cubes": [
{"origin": [-12, 1.25, -2], "size": [4, 6, 4], "uv": [123, 79]}
]
},
{
"name": "foot_right",
"parent": "knee_right",
"pivot": [-10, 2, 0],
"cubes": [
{"origin": [-12, -0.25, -2], "size": [4, 2, 4], "inflate": 0.01, "uv": [123, 90]}
]
},
{
"name": "toe_out_right",
"parent": "foot_right",
"pivot": [-11, 1.25, -1.5],
"rotation": [0, 22.5, 0],
"cubes": [
{"origin": [-11.75, 0.25, -3.5], "size": [1, 1, 2], "inflate": 0.25, "uv": [135, 20]}
]
},
{
"name": "toe_out_right2",
"parent": "toe_out_right",
"pivot": [-11.25, 1.65, -3.25],
"cubes": [
{"origin": [-12.25, -0.35, -5], "size": [2, 2, 2], "uv": [227, 5]}
]
},
{
"name": "toe_in_right",
"parent": "foot_right",
"pivot": [-9, 1.25, -1.5],
"rotation": [0, -22.5, 0],
"cubes": [
{"origin": [-9.25, 0.25, -3.5], "size": [1, 1, 2], "inflate": 0.25, "uv": [162, 14]}
]
},
{
"name": "toe_in_right2",
"parent": "toe_in_right",
"pivot": [-8.75, 1.65, -3.25],
"cubes": [
{"origin": [-9.75, -0.35, -5], "size": [2, 2, 2], "uv": [227, 10]}
]
},
{
"name": "toe_back_right",
"parent": "foot_right",
"pivot": [-10, 1.25, 1.5],
"cubes": [
{"origin": [-10.5, 0.25, 1.5], "size": [1, 1, 2], "inflate": 0.25, "uv": [169, 14]}
]
},
{
"name": "toe_back_right2",
"parent": "toe_back_right",
"pivot": [-10, 1.65, 3.25],
"cubes": [
{"origin": [-11, -0.35, 3], "size": [2, 2, 2], "uv": [142, 28]}
]
},
{
"name": "locator_foot_primary",
"parent": "foot_right",
"pivot": [-10, 0.75, 0],
"rotation": [90, 0, 0],
"locators": {
"foot_primary": [-10, 0.75, 0]
}
},
{
"name": "wart_knee_right",
"parent": "leg_right",
"pivot": [-10, 6.5, -2.75],
"cubes": [
{"origin": [-11.5, 5, -3.75], "size": [3, 3, 2], "uv": [127, 115]}
]
}
]
}
]
}
@@ -5,295 +5,728 @@
"description": {
"identifier": "geometry.deerling",
"texture_width": 64,
"texture_height": 32,
"texture_height": 64,
"visible_bounds_width": 3,
"visible_bounds_height": 2.5,
"visible_bounds_offset": [0, 0.75, 0]
"visible_bounds_height": 3.5,
"visible_bounds_offset": [0, 1.25, 0]
},
"bones": [
{
"name": "deerling",
"pivot": [0, 0, 0]
},
{
"name": "locator_root",
"parent": "deerling",
"pivot": [0, 0, 0],
"locators": {
"root": [0, 0, 0]
}
},
{
"name": "locator_top",
"parent": "deerling",
"pivot": [0, 22, 0],
"locators": {
"top": [0, 22, 0]
}
},
{
"name": "body",
"parent": "deerling",
"pivot": [0, 0, 0]
"pivot": [0, 9.5, -0.75]
},
{
"name": "locator_target",
"parent": "body",
"pivot": [0, 11, -10],
"locators": {
"target": [0, 11, -10]
}
},
{
"name": "locator_middle",
"parent": "body",
"pivot": [0, 12, 0],
"locators": {
"middle": [0, 12, 0]
}
},
{
"name": "waist",
"parent": "body",
"pivot": [0, 9.75, 4]
},
{
"name": "torso",
"parent": "body",
"pivot": [0, 8, 2.5],
"parent": "waist",
"pivot": [0, 9.75, 4],
"cubes": [
{"origin": [-2.5, 6, -5.5], "size": [5, 5, 10], "uv": [0, 0]}
{"origin": [-3, 7.25, 0], "size": [6, 5, 5], "uv": [24, 12]},
{"origin": [3.01, 10.75, 0], "size": [0, 1, 2], "uv": [44, 28]},
{"origin": [-3.01, 10.75, 0], "size": [0, 1, 2], "uv": [44, 30], "mirror": true}
]
},
{
"name": "torso2",
"parent": "torso",
"pivot": [0, 9.75, 0.5],
"cubes": [
{"origin": [-2.5, 7.25, -5.5], "size": [5, 5, 6], "inflate": 0.01, "uv": [28, 1]}
]
},
{
"name": "neck",
"parent": "torso",
"pivot": [0, 9, -4],
"rotation": [5, 0, 0],
"parent": "torso2",
"pivot": [0, 11.25, -3.75],
"cubes": [
{"origin": [-1.5, 8, -5.5], "size": [3, 6, 3], "inflate": 0.01, "uv": [30, 10]}
{"origin": [-1.5, 11.25, -5.25], "size": [3, 4, 3], "inflate": 0.01, "uv": [21, 0]}
]
},
{
"name": "head",
"parent": "neck",
"pivot": [0, 12.75, -4],
"pivot": [0, 14, -3.75]
},
{
"name": "head_ai",
"parent": "head",
"pivot": [0, 14, -3.75]
},
{
"name": "head_angle",
"parent": "head_ai",
"pivot": [0, 14, -3.75],
"cubes": [
{"origin": [-2.5, 12.75, -7], "size": [5, 5, 5], "uv": [0, 15]}
{"origin": [-3.5, 14, -8.5], "size": [7, 7, 7], "uv": [0, 0]}
]
},
{
"name": "locator_item_hat",
"parent": "head_angle",
"pivot": [0, 21, -5],
"locators": {
"item_hat": [0, 21, -5]
}
},
{
"name": "locator_head",
"parent": "head_angle",
"pivot": [0, 21, -8.5],
"locators": {
"head": [0, 21, -8.5],
"physical": [0, 21, -8.5]
}
},
{
"name": "locator_mouth",
"parent": "head_angle",
"pivot": [0, 14, -8.5],
"locators": {
"mouth": [0, 14, -8.5],
"special": [0, 14, -8.5]
}
},
{
"name": "locator_item",
"parent": "head_angle",
"pivot": [0, 13.5, -8.5],
"rotation": [0, 45, 0],
"locators": {
"item": [0, 13.5, -8.5]
}
},
{
"name": "locator_item_face",
"parent": "head_angle",
"pivot": [0, 17, -8.5],
"locators": {
"item_face": [0, 17, -8.5]
}
},
{
"name": "locator_face",
"parent": "head_angle",
"pivot": [0, 16.5, -8.5],
"locators": {
"face": [0, 16.5, -8.5]
}
},
{
"name": "face",
"parent": "head_angle",
"pivot": [0, 16.5, -8.5]
},
{
"name": "eyes",
"parent": "head",
"pivot": [0, 15.1, -5.75]
"parent": "face",
"pivot": [0, 16.5, -7.5]
},
{
"name": "eye_right",
"parent": "eyes",
"pivot": [-2.5, 15.1, -5.75],
"pivot": [-2.51, 17, -7.51],
"cubes": [
{"origin": [-2.5, 14.1, -6.75], "size": [0, 2, 2], "inflate": 0.01, "uv": [16, 13], "mirror": true}
{"origin": [-3.52, 15.5, -8.52], "size": [1, 2, 2], "uv": [0, 36], "mirror": true},
{"origin": [-3.51, 17.49, -8.51], "size": [1, 1, 2], "uv": [6, 45], "mirror": true},
{"origin": [-3.51, 15.5, -6.51], "size": [1, 2, 1], "uv": [1, 45], "mirror": true}
]
},
{
"name": "locator_eye_right",
"parent": "eye_right",
"pivot": [-2.5, 15.1, -5.75],
"rotation": [0, 90, 0],
"pivot": [-3, 17, -8.5],
"locators": {
"eye1": [-2.5, 15.1, -5.75]
"eye1": [-3, 17, -8.5]
}
},
{
"name": "eyelid_right",
"name": "eye_angry_right",
"parent": "eye_right",
"pivot": [-1.9, 15.1, -5.75],
"pivot": [-2.42, 17.75, -7.93],
"cubes": [
{"origin": [-2.4, 14.1, -6.75], "size": [1, 2, 2], "inflate": 0.02, "uv": [27, 13], "mirror": true}
{"origin": [-2.42, 16.5, -8.43], "size": [1, 2, 1], "inflate": 0.01, "uv": [19, 47], "mirror": true},
{"origin": [-3.42, 17, -8.43], "size": [1, 2, 1], "inflate": 0.01, "uv": [19, 43], "mirror": true}
]
},
{
"name": "eye_sad_right",
"parent": "eye_right",
"pivot": [-2.92, 18.25, -7.43],
"cubes": [
{"origin": [-3.42, 18, -8.43], "size": [1, 1, 1], "inflate": 0.01, "uv": [7, 49], "mirror": true},
{"origin": [-3.42, 17, -7.43], "size": [1, 2, 1], "inflate": 0.01, "uv": [24, 47], "mirror": true}
]
},
{
"name": "pupil_right",
"parent": "eye_right",
"pivot": [-3.01, 17.5, -8.03],
"cubes": [
{"origin": [-3.51, 17, -8.53], "size": [1, 1, 1], "uv": [7, 38], "mirror": true}
]
},
{
"name": "eye_left",
"parent": "eyes",
"pivot": [2.5, 15.1, -5.75],
"pivot": [2.51, 17, -7.51],
"cubes": [
{"origin": [2.5, 14.1, -6.75], "size": [0, 2, 2], "inflate": 0.01, "uv": [16, 13]}
{"origin": [2.52, 15.5, -8.52], "size": [1, 2, 2], "uv": [0, 31]},
{"origin": [2.51, 17.49, -8.51], "size": [1, 1, 2], "uv": [6, 41]},
{"origin": [2.51, 15.5, -6.51], "size": [1, 2, 1], "uv": [1, 41]}
]
},
{
"name": "locator_eye_left",
"parent": "eye_left",
"pivot": [2.5, 15.1, -5.75],
"rotation": [0, -90, 0],
"pivot": [3, 17, -8.5],
"locators": {
"eye2": [2.5, 15.1, -5.75]
"eye2": [3, 17, -8.5]
}
},
{
"name": "eyelid_left",
"name": "eye_angry_left",
"parent": "eye_left",
"pivot": [1.9, 15.1, -5.75],
"pivot": [2.42, 17.75, -7.93],
"cubes": [
{"origin": [1.4, 14.1, -6.75], "size": [1, 2, 2], "inflate": 0.02, "uv": [20, 13]}
{"origin": [1.42, 16.5, -8.43], "size": [1, 2, 1], "inflate": 0.01, "uv": [14, 47]},
{"origin": [2.42, 17, -8.43], "size": [1, 2, 1], "inflate": 0.01, "uv": [14, 43]}
]
},
{
"name": "eye_sad_left",
"parent": "eye_left",
"pivot": [2.92, 18.25, -7.43],
"cubes": [
{"origin": [2.42, 18, -8.43], "size": [1, 1, 1], "inflate": 0.01, "uv": [1, 49]},
{"origin": [2.42, 17, -7.43], "size": [1, 2, 1], "inflate": 0.01, "uv": [24, 43]}
]
},
{
"name": "pupil_left",
"parent": "eye_left",
"pivot": [3.01, 17.5, -8.03],
"cubes": [
{"origin": [2.51, 17, -8.53], "size": [1, 1, 1], "uv": [7, 33]}
]
},
{
"name": "eyelid_right",
"parent": "eyes",
"pivot": [-2.91, 17, -6.92],
"cubes": [
{"origin": [-3.41, 15.5, -8.41], "size": [1, 3, 3], "uv": [12, 36], "mirror": true}
]
},
{
"name": "eyelid_left",
"parent": "eyes",
"pivot": [2.91, 17, -6.92],
"cubes": [
{"origin": [2.41, 15.5, -8.41], "size": [1, 3, 3], "uv": [12, 30]}
]
},
{
"name": "eyelid_happy_right",
"parent": "eyes",
"pivot": [-2.92, 17, -6.93],
"cubes": [
{"origin": [-3.41, 15.5, -8.41], "size": [1, 3, 3], "uv": [21, 36], "mirror": true}
]
},
{
"name": "eyelid_happy_left",
"parent": "eyes",
"pivot": [2.92, 17, -6.93],
"cubes": [
{"origin": [2.41, 15.5, -8.41], "size": [1, 3, 3], "uv": [21, 30]}
]
},
{
"name": "eyelid_recoil_left",
"parent": "eyes",
"pivot": [2.92, 17, -6.93],
"cubes": [
{"origin": [2.41, 15.5, -8.41], "size": [1, 3, 3], "uv": [30, 30]}
]
},
{
"name": "eyelid_recoil_right",
"parent": "eyes",
"pivot": [-2.92, 17, -6.93],
"cubes": [
{"origin": [-3.41, 15.5, -8.41], "size": [1, 3, 3], "uv": [30, 36], "mirror": true}
]
},
{
"name": "muzzle",
"parent": "head",
"pivot": [0, 12.85, -7],
"rotation": [-7.5, 0, 0],
"parent": "face",
"pivot": [0, 15, -8.25],
"rotation": [2.5, 0, 0],
"cubes": [
{"origin": [-1, 12.85, -9], "size": [2, 2, 2], "uv": [36, 0]}
{"origin": [-1.5, 14, -9.75], "size": [3, 2, 2], "uv": [0, 14]},
{"origin": [-1, 15, -9.76], "size": [2, 1, 1], "uv": [1, 5]}
]
},
{
"name": "ear_right",
"parent": "head",
"pivot": [-2, 17, -3.75],
"rotation": [-17.5, 30, -55],
"name": "mouth",
"parent": "muzzle",
"pivot": [0, 14.09, -8],
"rotation": [-1, 0, 0],
"cubes": [
{"origin": [-3.5, 17, -3.75], "size": [3, 5, 0], "uv": [20, 4]}
{"origin": [-1, 14.06, -9], "size": [2, 0, 2], "uv": [27, 43]}
]
},
{
"name": "ear_left",
"parent": "head",
"pivot": [2, 17, -3.75],
"rotation": [-17.5, -30, 55],
"name": "face_ditto",
"parent": "head_angle",
"pivot": [0, 16.25, -8.45]
},
{
"name": "eyes_ditto",
"parent": "face_ditto",
"pivot": [0, 17, -8.47],
"cubes": [
{"origin": [0.5, 17, -3.75], "size": [3, 5, 0], "uv": [26, 4]}
{"origin": [-3, 16.5, -8.47], "size": [6, 1, 0], "uv": [1, 52]}
]
},
{
"name": "eyes_blink_ditto",
"parent": "face_ditto",
"pivot": [0, 17, -8.37],
"cubes": [
{"origin": [-3.5, 16.5, -8.37], "size": [7, 1, 0], "uv": [0, 54]},
{"origin": [-3, 17, -8.38], "size": [6, 1, 0], "uv": [1, 56]}
]
},
{
"name": "mouth_ditto",
"parent": "face_ditto",
"pivot": [0, 15.25, -8.45],
"cubes": [
{"origin": [-2.5, 14.5, -8.46], "size": [5, 1, 0], "uv": [2, 60]},
{"origin": [-3.5, 15, -8.46], "size": [7, 1, 0], "uv": [0, 58]}
]
},
{
"name": "mouth_open_ditto",
"parent": "face_ditto",
"pivot": [0, 15, -8.36],
"cubes": [
{"origin": [-3.5, 14, -8.36], "size": [7, 2, 0], "uv": [0, 62]}
]
},
{
"name": "flower",
"parent": "head",
"pivot": [0, 18, -4.75],
"rotation": [5, 0, 0]
},
{
"name": "petal",
"parent": "flower",
"pivot": [0, 18, -4.75],
"rotation": [-2.5, 0, 0],
"parent": "head_angle",
"pivot": [0, 21.35, -6],
"rotation": [12.5, 5, 7.5],
"cubes": [
{"origin": [-1, 18, -7.75], "size": [2, 0, 3], "uv": [33, 7]}
{"origin": [-0.5, 20.35, -6.5], "size": [1, 1, 1], "uv": [3, 3]}
]
},
{
"name": "petal2",
"name": "flower_front",
"parent": "flower",
"pivot": [0, 18, -4.75],
"rotation": [0, 60, 0],
"pivot": [0, 21.35, -6]
},
{
"name": "flower_front_rotation",
"parent": "flower_front",
"pivot": [0, 21.35, -6],
"rotation": [-10, 0, 0],
"cubes": [
{"origin": [-1, 18, -7.75], "size": [2, 0, 3], "uv": [-3, 15]}
{"origin": [-1, 21.35, -8], "size": [2, 0, 2], "uv": [43, 0]}
]
},
{
"name": "petal3",
"parent": "flower",
"pivot": [0, 18, -4.75],
"rotation": [0, -60, 0],
"name": "flower_front2",
"parent": "flower_front_rotation",
"pivot": [0, 21.35, -8],
"rotation": [5, 0, 0],
"cubes": [
{"origin": [-1, 18, -7.75], "size": [2, 0, 3], "uv": [29, 7]}
{"origin": [-1, 21.35, -9], "size": [2, 0, 1], "uv": [44, 3]},
{"origin": [-0.5, 21.35, -10], "size": [1, 0, 1], "uv": [44, 5]}
]
},
{
"name": "petal4",
"name": "flower_front_left",
"parent": "flower",
"pivot": [0, 18, -4.75],
"rotation": [0, -140, 0],
"pivot": [0, 21.35, -6],
"rotation": [0, 20, 0]
},
{
"name": "flower_front_left_rotation",
"parent": "flower_front_left",
"pivot": [0, 21.35, -6],
"rotation": [0, 0, -10],
"cubes": [
{"origin": [-1, 18, -7.75], "size": [2, 0, 3], "uv": [33, 4]}
{"origin": [0, 21.35, -7], "size": [2, 0, 2], "uv": [40, 13]}
]
},
{
"name": "petal5",
"parent": "flower",
"pivot": [0, 18, -4.75],
"rotation": [0, 140, 0],
"name": "flower_front_left2",
"parent": "flower_front_left_rotation",
"pivot": [2, 21.35, -6],
"rotation": [0, 0, 5],
"cubes": [
{"origin": [-1, 18, -7.75], "size": [2, 0, 3], "uv": [29, 4]}
{"origin": [2, 21.35, -7], "size": [1, 0, 2], "uv": [58, 0]},
{"origin": [3, 21.35, -6.5], "size": [1, 0, 1], "uv": [49, 1]}
]
},
{
"name": "flower_back_left",
"parent": "flower",
"pivot": [0, 21.35, -6],
"rotation": [0, -50, 0]
},
{
"name": "flower_back_left_rotation",
"parent": "flower_back_left",
"pivot": [0, 21.35, -6],
"rotation": [0, 0, -10],
"cubes": [
{"origin": [0, 21.35, -7], "size": [2, 0, 2], "uv": [58, 17]}
]
},
{
"name": "flower_back_left2",
"parent": "flower_back_left_rotation",
"pivot": [2, 21.35, -6],
"rotation": [0, 0, 5],
"cubes": [
{"origin": [2, 21.35, -7], "size": [1, 0, 2], "uv": [50, 28]},
{"origin": [3, 21.35, -6.5], "size": [1, 0, 1], "uv": [48, 31], "mirror": true}
]
},
{
"name": "flower_front_right",
"parent": "flower",
"pivot": [0, 21.35, -6],
"rotation": [0, -20, 0]
},
{
"name": "flower_front_right_rotation",
"parent": "flower_front_right",
"pivot": [0, 21.35, -6],
"rotation": [0, 0, 10],
"cubes": [
{"origin": [-2, 21.35, -7], "size": [2, 0, 2], "uv": [58, 10], "mirror": true}
]
},
{
"name": "flower_front_right2",
"parent": "flower_front_right_rotation",
"pivot": [-2, 21.35, -6],
"rotation": [0, 0, -5],
"cubes": [
{"origin": [-3, 21.35, -7], "size": [1, 0, 2], "uv": [60, 13], "mirror": true},
{"origin": [-4, 21.35, -6.5], "size": [1, 0, 1], "uv": [56, 10], "mirror": true}
]
},
{
"name": "flower_back_right",
"parent": "flower",
"pivot": [0, 21.35, -6],
"rotation": [0, 50, 0]
},
{
"name": "flower_back_right_rotation",
"parent": "flower_back_right",
"pivot": [0, 21.35, -6],
"rotation": [0, 0, 10],
"cubes": [
{"origin": [-2, 21.35, -7], "size": [2, 0, 2], "uv": [58, 20], "mirror": true}
]
},
{
"name": "flower_back_right2",
"parent": "flower_back_right_rotation",
"pivot": [-2, 21.35, -6],
"rotation": [0, 0, -5],
"cubes": [
{"origin": [-3, 21.35, -7], "size": [1, 0, 2], "uv": [47, 28], "mirror": true},
{"origin": [-4, 21.35, -6.5], "size": [1, 0, 1], "uv": [51, 31], "mirror": true}
]
},
{
"name": "ear_left",
"parent": "head_angle",
"pivot": [3, 20.75, -3.75],
"rotation": [0, 0, -35]
},
{
"name": "ear_left_rotation",
"parent": "ear_left",
"pivot": [3, 20.75, -3.75],
"rotation": [-27.5, -10, 0],
"cubes": [
{"origin": [2.5, 20.75, -5.75], "size": [3, 0, 4], "uv": [37, 25]}
]
},
{
"name": "ear_left2",
"parent": "ear_left_rotation",
"pivot": [5.5, 20.75, -3.75],
"cubes": [
{"origin": [5.5, 20.75, -5.75], "size": [4, 0, 4], "uv": [51, 23]}
]
},
{
"name": "ear_right",
"parent": "head_angle",
"pivot": [-3, 20.75, -3.75],
"rotation": [0, 0, 35]
},
{
"name": "ear_right_rotation",
"parent": "ear_right",
"pivot": [-3, 20.75, -3.75],
"rotation": [-27.5, 10, 0],
"cubes": [
{"origin": [-5.5, 20.75, -5.75], "size": [3, 0, 4], "uv": [44, 23], "mirror": true}
]
},
{
"name": "ear_right2",
"parent": "ear_right_rotation",
"pivot": [-5.5, 20.75, -3.75],
"cubes": [
{"origin": [-9.5, 20.75, -5.75], "size": [4, 0, 4], "uv": [51, 28], "mirror": true}
]
},
{
"name": "tail",
"parent": "torso",
"pivot": [0, 10, 4],
"rotation": [-40, 0, 0],
"pivot": [0, 11, 4.75]
},
{
"name": "tail1",
"parent": "tail",
"pivot": [0, 11, 4.5],
"rotation": [35, 0, 0],
"cubes": [
{"origin": [0, 10, 2], "size": [0, 6, 4], "uv": [0, -4]}
{"origin": [0, 9.5, 4.5], "size": [0, 3, 6], "inflate": 0.005, "uv": [51, 33]}
]
},
{
"name": "leg_front_right",
"parent": "torso",
"pivot": [-2, 7.4, -4],
"rotation": [5, 0, 0],
"name": "locator_tail",
"parent": "tail1",
"pivot": [0, 11, 7],
"rotation": [-180, 0, 180],
"locators": {
"tail": [0, 11, 7]
}
},
{
"name": "locator_tail_tip",
"parent": "tail1",
"pivot": [0, 11, 10.5],
"rotation": [-180, 0, 180],
"locators": {
"tail_tip": [0, 11, 10.5]
}
},
{
"name": "tail2",
"parent": "tail",
"pivot": [0, 11.25, 4.5],
"cubes": [
{"origin": [-3, 3.9, -5], "size": [2, 5, 2], "inflate": 0.01, "uv": [0, 25]}
{"origin": [0, 10.25, 4.5], "size": [0, 1, 4], "uv": [39, 19]}
]
},
{
"name": "leg_front_right2",
"parent": "leg_front_right",
"pivot": [-2, 3.9, -3],
"rotation": [-15, 0, 0],
"cubes": [
{"origin": [-3, 0.9, -5], "size": [2, 3, 2], "uv": [44, 12]}
]
"name": "ftorso2",
"parent": "waist",
"pivot": [0, 9.75, 0.5]
},
{
"name": "leg_front_right3",
"parent": "leg_front_right2",
"pivot": [-2, 1.4, -4],
"rotation": [10, 0, 0],
"cubes": [
{"origin": [-3, -0.35, -5.25], "size": [2, 2, 2], "inflate": 0.01, "uv": [0, 6]}
]
"name": "legs_front",
"parent": "ftorso2",
"pivot": [0, 9.4, -4]
},
{
"name": "leg_front_left",
"parent": "torso",
"pivot": [2, 7.4, -4],
"rotation": [5, 0, 0],
"parent": "legs_front",
"pivot": [2, 9.4, -4],
"cubes": [
{"origin": [1, 3.9, -5], "size": [2, 5, 2], "inflate": 0.01, "uv": [8, 25]}
{"origin": [1, 5.4, -5], "size": [2, 5, 2], "inflate": 0.01, "uv": [0, 18]}
]
},
{
"name": "leg_front_left2",
"parent": "leg_front_left",
"pivot": [2, 3.9, -3],
"rotation": [-15, 0, 0],
"pivot": [2, 5.4, -5],
"cubes": [
{"origin": [1, 0.9, -5], "size": [2, 3, 2], "uv": [44, 17]}
{"origin": [1, 1.4, -5], "size": [2, 4, 2], "uv": [16, 14]}
]
},
{
"name": "leg_front_left3",
"name": "foot_front_left",
"parent": "leg_front_left2",
"pivot": [2, 1.4, -4],
"rotation": [10, 0, 0],
"pivot": [2, 1.5, -4.25],
"cubes": [
{"origin": [1, -0.35, -5.25], "size": [2, 2, 2], "inflate": 0.01, "uv": [33, 19]}
{"origin": [1, 0, -5.25], "size": [2, 2, 2], "inflate": 0.01, "uv": [0, 25]}
]
},
{
"name": "leg_back_right",
"name": "locator_foot_secondary1",
"parent": "foot_front_left",
"pivot": [2, 0.5, -4.25],
"rotation": [90, 0, 0],
"locators": {
"foot_secondary1": [2, 0.5, -4.25]
}
},
{
"name": "leg_front_right",
"parent": "legs_front",
"pivot": [-2, 9.4, -4],
"cubes": [
{"origin": [-3, 5.4, -5], "size": [2, 5, 2], "inflate": 0.01, "uv": [8, 16], "mirror": true}
]
},
{
"name": "leg_front_right2",
"parent": "leg_front_right",
"pivot": [-2, 5.4, -5],
"cubes": [
{"origin": [-3, 1.4, -5], "size": [2, 4, 2], "uv": [14, 24], "mirror": true}
]
},
{
"name": "foot_front_right",
"parent": "leg_front_right2",
"pivot": [-2, 1.5, -4.25],
"cubes": [
{"origin": [-3, 0, -5.25], "size": [2, 2, 2], "inflate": 0.01, "uv": [6, 23], "mirror": true}
]
},
{
"name": "locator_foot_primary",
"parent": "foot_front_right",
"pivot": [-2, 0.5, -4.25],
"rotation": [90, 0, 0],
"locators": {
"foot_primary": [-2, 0.5, -4.25]
}
},
{
"name": "legs_back",
"parent": "body",
"pivot": [-2, 8, 2.5],
"rotation": [5, 0, 0],
"cubes": [
{"origin": [-3, 4.5, 1], "size": [2, 5, 3], "inflate": 0.01, "uv": [52, 8]}
]
},
{
"name": "leg_back_right2",
"parent": "leg_back_right",
"pivot": [-2, 4.25, 3.5],
"rotation": [-15, 0, 0],
"cubes": [
{"origin": [-3, 0.75, 2.5], "size": [2, 4, 2], "uv": [44, 0]}
]
},
{
"name": "leg_back_right3",
"parent": "leg_back_right2",
"pivot": [-2, 1.25, 3.5],
"rotation": [10, 0, 0],
"cubes": [
{"origin": [-3, -0.25, 2.25], "size": [2, 2, 2], "inflate": 0.01, "uv": [28, 0]}
]
"pivot": [0, 9.5, 2.75]
},
{
"name": "leg_back_left",
"parent": "body",
"pivot": [2, 8, 2.5],
"parent": "legs_back",
"pivot": [2, 9.5, 2.75],
"rotation": [5, 0, 0],
"cubes": [
{"origin": [1, 4.5, 1], "size": [2, 5, 3], "inflate": 0.01, "uv": [52, 0]}
{"origin": [0.5, 5, 1.5], "size": [3, 6, 3], "inflate": 0.01, "uv": [50, 0]}
]
},
{
"name": "leg_back_left2",
"parent": "leg_back_left",
"pivot": [2, 4.25, 3.5],
"rotation": [-15, 0, 0],
"pivot": [1.75, 5, 4.5],
"rotation": [-22.5, 0, 0],
"cubes": [
{"origin": [1, 0.75, 2.5], "size": [2, 4, 2], "uv": [44, 6]}
{"origin": [0.75, 1, 3], "size": [2, 4, 2], "uv": [22, 22]}
]
},
{
"name": "leg_back_left3",
"name": "foot_back_left",
"parent": "leg_back_left2",
"pivot": [2, 1.25, 3.5],
"rotation": [10, 0, 0],
"pivot": [1.75, 1, 4],
"rotation": [17.5, 0, 0],
"cubes": [
{"origin": [1, -0.25, 2.25], "size": [2, 2, 2], "inflate": 0.01, "uv": [20, 0]}
{"origin": [0.75, -0.5, 3], "size": [2, 2, 2], "inflate": 0.01, "uv": [6, 27]}
]
},
{
"name": "locator_foot_secondary3",
"parent": "foot_back_left",
"pivot": [1.75, 0.5, 4],
"rotation": [90, 0, 0],
"locators": {
"foot_secondary3": [1.75, 0.5, 4]
}
},
{
"name": "leg_back_right",
"parent": "legs_back",
"pivot": [-2, 9.5, 2.75],
"rotation": [5, 0, 0],
"cubes": [
{"origin": [-3.5, 5, 1.5], "size": [3, 6, 3], "inflate": 0.01, "uv": [47, 9], "mirror": true}
]
},
{
"name": "leg_back_right2",
"parent": "leg_back_right",
"pivot": [-1.75, 5, 4.5],
"rotation": [-22.5, 0, 0],
"cubes": [
{"origin": [-2.75, 1, 3], "size": [2, 4, 2], "uv": [30, 22], "mirror": true}
]
},
{
"name": "foot_back_right",
"parent": "leg_back_right2",
"pivot": [-1.75, 1, 4],
"rotation": [17.5, 0, 0],
"cubes": [
{"origin": [-2.75, -0.5, 3], "size": [2, 2, 2], "inflate": 0.01, "uv": [16, 20], "mirror": true}
]
},
{
"name": "locator_foot_secondary2",
"parent": "foot_back_right",
"pivot": [-1.75, 0.5, 4],
"rotation": [90, 0, 0],
"locators": {
"foot_secondary2": [-1.75, 0.5, 4]
}
}
]
}

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