Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c74f01bd6d | ||
|
|
199a8ba675 | ||
|
|
556f92e4b0 | ||
|
|
4f395ca47f |
@@ -1,22 +1,57 @@
|
||||
# Changelog
|
||||
## [1.7.2 (MONTH Xth, YEAR)](#1-7-2)
|
||||
## [1.7.1 (MONTH xth, 2025)](#1-7-1)
|
||||
|
||||
### Additions
|
||||
- Added trades for Saccharine Saplings, Hearty Grains, Chipped Pot, and Masterpiece Teacup to the Wandering Trader.
|
||||
- Added brewing recipe for Throat Spray.
|
||||
|
||||
### Changes
|
||||
- Converted the riding freelook button to a configurable keybinding.
|
||||
- Reduced the cost of the Vivichoke Seed trade with the Wandering Trader.
|
||||
|
||||
### Fixes
|
||||
- Fixed orientation not getting reset after crashing while flying and getting back on the Pokémon.
|
||||
- Fixed Furfrou not being trimmable on NeoForge.
|
||||
- Fixed honey from Saccharine Leaves being harvestable at less than the max age.
|
||||
- Items given from interacting with Saccharine Leaves are placed in the active hotbar slot if possible.
|
||||
- Fix all Pokémon being saved to chunks and never despawning.
|
||||
- Prevent displaying ride controls overlay to passengers.
|
||||
- Fixed player suffocation on vanilla mounts experienced on some worlds.
|
||||
- Fixed Poké Snack spawning sounds not coming from the block.
|
||||
- Fix player suffocation on vanilla mounts experienced on some worlds.
|
||||
- Stop passengers from hearing the shiny noise of a ridden shiny Pokémon.
|
||||
- Fixed incorrect camera pivot on Bird, Jet, and Dolphin mounts.
|
||||
- Fixed Poké Snack spawning sound positioning.
|
||||
- Ponigiri can no longer be eaten at full hunger.
|
||||
- Medicinal Brew's Campfire Pot recipe now correctly displays that it can be made using an empty glass bottle or a filled bottle.
|
||||
- Fixed a crash when you place a block in the way of hearty grains 2nd block
|
||||
- Fixed a graphics crash that could occur on some machines when campfires were nearby.
|
||||
- Fixed glass bottle not being returned when honey-ing a saccharine leaf block
|
||||
- Fixed Combees not depositing honey upon leaving a hive if they entered with nectar.
|
||||
- Fixed pastured Combees not moving in night or rain.
|
||||
- Fixed a case in which a Combee might try to path to a flower that no longer exists.
|
||||
- Fixed Combees attempting to enter a full hive.
|
||||
- Fixed a crash involving Combees and hives.
|
||||
- Fixed crashing and rendering issues when opening a PC box with certain wallpapers.
|
||||
- Fixed a crash when opening a PC box with certain wallpapers while using *VulkanMod*.
|
||||
- Fixed a glitch where friendship would reset to the default value when evolving a Pokémon.
|
||||
- Fixed a crashed related to NPC navigation.
|
||||
- Fix player suffocation on vanilla mounts experienced on some worlds.
|
||||
- Stop passengers from hearing the shiny noise of a ridden shiny Pokémon.
|
||||
- Fixed friendship resetting to the default value when evolving a Pokémon.
|
||||
- Fixed a bunch of incompatibilities with NeoForge mods
|
||||
- Fixed a bug where wind charges hitting pasture blocks would recall all pokémon in it.
|
||||
- Home on the Range advancement shouldn't trigger when opening the Pokemon Menu (shift interact one, mr changelog guy)
|
||||
- Recipes using concrete should now work on NeoForge
|
||||
- Fixed saccharine hanging signs sometimes dropping their oak wood counterpart when being broken
|
||||
|
||||
### Developer
|
||||
|
||||
### Molang & Datapacks
|
||||
- Removed automatic generation of PC wallpaper screen glow if no asset is provided; it is now optional.
|
||||
|
||||
### Particles
|
||||
|
||||
### Localization
|
||||
- Updated translations for:
|
||||
- Updated translations for:
|
||||
- French
|
||||
- Japanese
|
||||
- Korean
|
||||
- Brazilian Portuguese
|
||||
- Simplified Chinese
|
||||
- Traditional Chinese
|
||||
@@ -1,61 +0,0 @@
|
||||
# Changelog
|
||||
## [1.7.1 (November 29th, 2025)](#1-7-1)
|
||||
|
||||
### Additions
|
||||
- Added trades for Saccharine Saplings, Hearty Grains, Chipped Pot, and Masterpiece Teacup to the Wandering Trader.
|
||||
- Added brewing recipe for Throat Spray.
|
||||
- Added vanilla sprinting's field of view change to Pokémon land mounts.
|
||||
- Added a customizable keybind for the riding freelook button.
|
||||
- Added double tap to sprint on land mounts.
|
||||
|
||||
### Changes
|
||||
- Made Jet pitch turning 1.5x faster across all Pokémon.
|
||||
- Party Pokémon now attack only mobs that are attacking their owner, instead of randomly targeting unrelated mobs and getting themselves hurt.
|
||||
- Reduced the cost of the Vivichoke Seed trade with the Wandering Trader.
|
||||
|
||||
### Fixes
|
||||
- Fixed incorrect camera pivot on Bird, Jet, and Dolphin mounts, leading to some disorienting riding.
|
||||
- Fixed players suffocating while on vanilla mounts.
|
||||
- Fixed a graphics crash that could occur on some machines when campfire pots were nearby.
|
||||
- Fixed ride controls overlay being displayed to passengers. The passengers probably don't need to know about those.
|
||||
- Fixed mount jumping so that it doesn't switch back to ground animations.
|
||||
- Fixed ridden Pokémon land collision and some issues around stepping up blocks. Land mounts are smoother overall now.
|
||||
- Fixed Furfrou's pink and magenta trims being swapped. Only a man could make that mistake.
|
||||
- Fixed friendship being reset to the default value when evolving a Pokémon.
|
||||
- Fixed Combees not depositing honey upon leaving a hive if they entered it with nectar.
|
||||
- Fixed pastured Combees not moving during the night or in rain.
|
||||
- Fixed a case in which a Combee might try to path to a flower that no longer exists.
|
||||
- Fixed Combees attempting to enter a full hive.
|
||||
- Fixed a crash involving Combees and hives. 500 bee bugs. Bugged bees? We can be bees. Mark, this is good news.
|
||||
- Fixed a crash related to NPC navigation.
|
||||
- Fixed a crash when opening a PC box with certain wallpapers while using *VulkanMod*.
|
||||
- Fixed a crash when you place a block in the way of hearty grains 2nd block.
|
||||
- Fixed passengers hearing the shiny noise of a ridden shiny Pokémon.
|
||||
- Ponigiri can no longer be eaten at full hunger.
|
||||
- Fixed Poké Snack spawning sounds not coming from the block.
|
||||
- Medicinal Brew's Campfire Pot recipe now correctly displays that it can be made using an empty glass bottle or a filled bottle.
|
||||
- Fixed glass bottle not being returned when slathering honey on a saccharine leaf block.
|
||||
- Fixed saccharine hanging signs sometimes dropping their oak wood counterpart when being broken.
|
||||
- Fixed a bunch of incompatibilities with NeoForge mods.
|
||||
- Fixed a bug where wind charges hitting pasture blocks would recall all Pokémon in it.
|
||||
- Fixed the Home on the Range advancement triggering when opening the Pokémon interaction wheel.
|
||||
- Fixed recipes that use concrete not working on NeoForge.
|
||||
- Fixed Boltund's model.
|
||||
- Fixed Cyclizar's textures.
|
||||
|
||||
### Developer
|
||||
|
||||
### Molang & Datapacks
|
||||
- Removed automatic generation of PC wallpaper screen glow if no asset is provided; it is now optional.
|
||||
- This is because there's no practical way to do this without blowing up things like *VulkanMod*.
|
||||
|
||||
### Particles
|
||||
|
||||
### Localization
|
||||
- Updated translations for:
|
||||
- French
|
||||
- Japanese
|
||||
- Korean
|
||||
- Brazilian Portuguese
|
||||
- Simplified Chinese
|
||||
- Traditional Chinese
|
||||
@@ -50,8 +50,16 @@ public abstract class EntityMixin {
|
||||
)
|
||||
)
|
||||
public boolean cobblemon$forceOnGroundForStepUp(Entity entity, Operation<Boolean> original) {
|
||||
if (entity instanceof PokemonEntity vehicle && entity.hasControllingPassenger()) {
|
||||
return true;
|
||||
if (entity instanceof PokemonEntity && entity.hasControllingPassenger()) {
|
||||
BlockPos below = entity.blockPosition().below();
|
||||
Level level = entity.level();
|
||||
var blockStateBelow = level.getBlockState(below);
|
||||
boolean isAirOrLiquid = blockStateBelow.isAir() || !blockStateBelow.getFluidState().isEmpty();
|
||||
boolean canSupportEntity = blockStateBelow.isFaceSturdy(level, below, Direction.UP);
|
||||
boolean standingOnSolid = canSupportEntity && !isAirOrLiquid;
|
||||
if (standingOnSolid) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return original.call(entity);
|
||||
}
|
||||
|
||||
@@ -194,7 +194,6 @@ object Cobblemon {
|
||||
implementation.registerSoundEvents()
|
||||
implementation.registerDataComponents()
|
||||
implementation.registerBlocks()
|
||||
implementation.registerArmorMaterials()
|
||||
implementation.registerItems()
|
||||
implementation.registerEntityTypes()
|
||||
implementation.registerEntityAttributes()
|
||||
|
||||
@@ -1,53 +0,0 @@
|
||||
package com.cobblemon.mod.common
|
||||
|
||||
import com.cobblemon.mod.common.platform.PlatformRegistry
|
||||
import com.cobblemon.mod.common.util.cobblemonResource
|
||||
import net.minecraft.core.Registry
|
||||
import net.minecraft.core.registries.BuiltInRegistries
|
||||
import net.minecraft.core.registries.Registries
|
||||
import net.minecraft.resources.ResourceKey
|
||||
import net.minecraft.sounds.SoundEvents
|
||||
import net.minecraft.world.item.ArmorItem
|
||||
import net.minecraft.world.item.ArmorMaterial
|
||||
import net.minecraft.world.item.Items
|
||||
import net.minecraft.world.item.crafting.Ingredient
|
||||
|
||||
@Suppress("unused")
|
||||
object CobblemonArmorMaterials :
|
||||
PlatformRegistry<Registry<ArmorMaterial>, ResourceKey<Registry<ArmorMaterial>>, ArmorMaterial>() {
|
||||
|
||||
override val registry: Registry<ArmorMaterial> = BuiltInRegistries.ARMOR_MATERIAL
|
||||
override val resourceKey: ResourceKey<Registry<ArmorMaterial>> = Registries.ARMOR_MATERIAL
|
||||
|
||||
@JvmField
|
||||
val MALICIOUS_ARMOR = cosmeticMaterial("malicious_armor")
|
||||
@JvmField
|
||||
val HEAVY_DUTY_BOOTS = cosmeticMaterial("heavy_duty_boots")
|
||||
@JvmField
|
||||
val PROTECTIVE_PADS = cosmeticMaterial("protective_pads")
|
||||
@JvmField
|
||||
val ASSAULT_VEST = cosmeticMaterial("assault_vest")
|
||||
@JvmField
|
||||
val MYSTIC_WATER = cosmeticMaterial("mystic_water")
|
||||
@JvmField
|
||||
val BLACK_BELT = cosmeticMaterial("black_belt")
|
||||
|
||||
private fun cosmeticMaterial(name: String): ArmorMaterial {
|
||||
val armorMaterial = ArmorMaterial(
|
||||
mapOf(
|
||||
ArmorItem.Type.HELMET to 0,
|
||||
ArmorItem.Type.CHESTPLATE to 0,
|
||||
ArmorItem.Type.LEGGINGS to 0,
|
||||
ArmorItem.Type.BOOTS to 0,
|
||||
),
|
||||
0,
|
||||
SoundEvents.ARMOR_EQUIP_GENERIC,
|
||||
{ Ingredient.EMPTY },
|
||||
listOf(ArmorMaterial.Layer(cobblemonResource(name), "", true)),
|
||||
0.0f,
|
||||
0.0f,
|
||||
)
|
||||
|
||||
return create(name, armorMaterial)
|
||||
}
|
||||
}
|
||||
@@ -64,8 +64,6 @@ interface CobblemonImplementation {
|
||||
|
||||
fun registerEntityDataSerializers()
|
||||
|
||||
fun registerArmorMaterials()
|
||||
|
||||
/**
|
||||
* TODO
|
||||
*
|
||||
|
||||
@@ -23,6 +23,7 @@ import com.cobblemon.mod.common.block.MintBlock
|
||||
import com.cobblemon.mod.common.block.MintBlock.MintType
|
||||
import com.cobblemon.mod.common.client.pokedex.PokedexType
|
||||
import com.cobblemon.mod.common.block.campfirepot.CampfirePotColor
|
||||
import com.cobblemon.mod.common.config.CobblemonConfig
|
||||
import com.cobblemon.mod.common.entity.boat.CobblemonBoatType
|
||||
import com.cobblemon.mod.common.item.*
|
||||
import com.cobblemon.mod.common.item.armor.CobblemonArmorTrims
|
||||
@@ -42,23 +43,20 @@ import com.cobblemon.mod.common.item.interactive.ability.AbilityChangeItem
|
||||
import com.cobblemon.mod.common.platform.PlatformRegistry
|
||||
import com.cobblemon.mod.common.pokeball.PokeBall
|
||||
import com.cobblemon.mod.common.pokemon.IVs
|
||||
import com.cobblemon.mod.common.pokemon.Pokemon
|
||||
import com.cobblemon.mod.common.pokemon.helditem.CobblemonHeldItemManager
|
||||
import com.cobblemon.mod.common.util.cobblemonResource
|
||||
import net.minecraft.core.Holder
|
||||
import net.minecraft.core.Registry
|
||||
import net.minecraft.core.registries.BuiltInRegistries
|
||||
import net.minecraft.core.registries.Registries
|
||||
import net.minecraft.network.chat.Component
|
||||
import net.minecraft.resources.ResourceKey
|
||||
import net.minecraft.resources.ResourceLocation
|
||||
import net.minecraft.sounds.SoundEvents
|
||||
import net.minecraft.server.level.ServerPlayer
|
||||
import net.minecraft.world.effect.MobEffectInstance
|
||||
import net.minecraft.world.effect.MobEffects
|
||||
import net.minecraft.world.entity.EquipmentSlot
|
||||
import net.minecraft.world.entity.LivingEntity
|
||||
import net.minecraft.world.food.FoodProperties
|
||||
import net.minecraft.world.item.ArmorItem
|
||||
import net.minecraft.world.item.ArmorMaterial
|
||||
import net.minecraft.world.item.BlockItem
|
||||
import net.minecraft.world.item.HangingSignItem
|
||||
import net.minecraft.world.item.Item
|
||||
@@ -71,6 +69,7 @@ import net.minecraft.world.item.SignItem
|
||||
import net.minecraft.world.item.SmithingTemplateItem
|
||||
import net.minecraft.world.level.Level
|
||||
import net.minecraft.world.level.block.Block
|
||||
import kotlin.math.ceil
|
||||
|
||||
@Suppress("unused", "SameParameterValue")
|
||||
object CobblemonItems : PlatformRegistry<Registry<Item>, ResourceKey<Registry<Item>>, Item>() {
|
||||
@@ -506,6 +505,8 @@ object CobblemonItems : PlatformRegistry<Registry<Item>, ResourceKey<Registry<It
|
||||
@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")
|
||||
@@ -617,7 +618,11 @@ object CobblemonItems : PlatformRegistry<Registry<Item>, ResourceKey<Registry<It
|
||||
|
||||
// Medicine
|
||||
@JvmField
|
||||
val RARE_CANDY = candyItem("rare_candy", Rarity.RARE) { _, pokemon -> pokemon.getExperienceToNextLevel() }
|
||||
val RARE_CANDY = candyItem("rare_candy", Rarity.RARE) { player, pokemon ->
|
||||
if (pokemon != null) return@candyItem pokemon.getExperienceToNextLevel()
|
||||
return@candyItem -1
|
||||
}
|
||||
|
||||
@JvmField
|
||||
val EXPERIENCE_CANDY_XS = candyItem("exp_candy_xs") { _, _ -> CandyItem.DEFAULT_XS_CANDY_YIELD }
|
||||
@JvmField
|
||||
@@ -895,8 +900,7 @@ object CobblemonItems : PlatformRegistry<Registry<Item>, ResourceKey<Registry<It
|
||||
val WATER_STONE = noSettingsItem("water_stone")
|
||||
|
||||
val wearables = mutableListOf<WearableItem>()
|
||||
|
||||
// Wearable items (these items should have a corresponding 3D model)
|
||||
//Wearable items (these items should have a corresponding 3D model)
|
||||
@JvmField val BLACK_GLASSES = wearableItem("black_glasses")
|
||||
@JvmField val CHOICE_BAND = wearableItem("choice_band")
|
||||
@JvmField val CHOICE_SPECS = wearableItem("choice_specs")
|
||||
@@ -907,20 +911,6 @@ object CobblemonItems : PlatformRegistry<Registry<Item>, ResourceKey<Registry<It
|
||||
@JvmField val ROCKY_HELMET = wearableItem("rocky_helmet")
|
||||
@JvmField val SAFETY_GOGGLES = wearableItem("safety_goggles")
|
||||
@JvmField val WISE_GLASSES = wearableItem("wise_glasses")
|
||||
@JvmField val SHELL_HELMET = wearableItem("shell_helmet")
|
||||
|
||||
@JvmField
|
||||
val MALICIOUS_ARMOR = armorItem("malicious_armor", CobblemonArmorMaterials.MALICIOUS_ARMOR, ArmorItem.Type.CHESTPLATE)
|
||||
@JvmField
|
||||
val HEAVY_DUTY_BOOTS = armorItem("heavy_duty_boots", CobblemonArmorMaterials.HEAVY_DUTY_BOOTS, ArmorItem.Type.BOOTS)
|
||||
@JvmField
|
||||
val PROTECTIVE_PADS = armorItem("protective_pads", CobblemonArmorMaterials.PROTECTIVE_PADS, ArmorItem.Type.CHESTPLATE)
|
||||
@JvmField
|
||||
val ASSAULT_VEST = armorItem("assault_vest", CobblemonArmorMaterials.ASSAULT_VEST, ArmorItem.Type.CHESTPLATE)
|
||||
@JvmField
|
||||
val MYSTIC_WATER = armorItem("mystic_water", CobblemonArmorMaterials.MYSTIC_WATER, ArmorItem.Type.CHESTPLATE)
|
||||
@JvmField
|
||||
val BLACK_BELT = armorItem("black_belt", CobblemonArmorMaterials.BLACK_BELT, ArmorItem.Type.CHESTPLATE)
|
||||
|
||||
// Held Items
|
||||
@JvmField
|
||||
@@ -930,10 +920,14 @@ object CobblemonItems : PlatformRegistry<Registry<Item>, ResourceKey<Registry<It
|
||||
@JvmField
|
||||
val AIR_BALLOON = heldItem("air_balloon")
|
||||
@JvmField
|
||||
val ASSAULT_VEST = heldItem("assault_vest")
|
||||
@JvmField
|
||||
val BIG_ROOT = compostableBlockItem("big_root", CobblemonBlocks.BIG_ROOT, 0.30f)
|
||||
@JvmField
|
||||
val BINDING_BAND = heldItem("binding_band")
|
||||
@JvmField
|
||||
val BLACK_BELT = heldItem("black_belt")
|
||||
@JvmField
|
||||
val BLACK_SLUDGE = heldItem("black_sludge")
|
||||
@JvmField
|
||||
val BLUNDER_POLICY = heldItem("blunder_policy")
|
||||
@@ -980,6 +974,8 @@ object CobblemonItems : PlatformRegistry<Registry<Item>, ResourceKey<Registry<It
|
||||
@JvmField
|
||||
val HARD_STONE = heldItem("hard_stone")
|
||||
@JvmField
|
||||
val HEAVY_DUTY_BOOTS = heldItem("heavy_duty_boots")
|
||||
@JvmField
|
||||
val IRON_BALL = heldItem("iron_ball")
|
||||
@JvmField
|
||||
val LAGGING_TAIL = heldItem("lagging_tail")
|
||||
@@ -1004,6 +1000,8 @@ object CobblemonItems : PlatformRegistry<Registry<Item>, ResourceKey<Registry<It
|
||||
@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")
|
||||
@@ -1022,6 +1020,8 @@ object CobblemonItems : PlatformRegistry<Registry<Item>, ResourceKey<Registry<It
|
||||
@JvmField
|
||||
val PSYCHIC_SEED = heldItem("psychic_seed")
|
||||
@JvmField
|
||||
val PROTECTIVE_PADS = heldItem("protective_pads")
|
||||
@JvmField
|
||||
val PUNCHING_GLOVE = heldItem("punching_glove")
|
||||
@JvmField
|
||||
val QUICK_CLAW = heldItem("quick_claw")
|
||||
@@ -1484,7 +1484,7 @@ object CobblemonItems : PlatformRegistry<Registry<Item>, ResourceKey<Registry<It
|
||||
return item
|
||||
}
|
||||
|
||||
private fun candyItem(name: String, rarity: Rarity = Rarity.COMMON, calculator: CandyItem.Calculator): CandyItem = this.create(name, CandyItem(rarity, calculator))
|
||||
private fun candyItem(name: String, rarity: Rarity = Rarity.COMMON, calculator: (ServerPlayer, Pokemon?) -> Int): CandyItem = this.create(name, CandyItem(rarity, calculator))
|
||||
|
||||
private fun pokerodItem(pokeRodId: ResourceLocation, rarity: Rarity = Rarity.COMMON): PokerodItem {
|
||||
val settings = Item.Properties().stacksTo(1).durability(256).rarity(rarity)
|
||||
@@ -1499,13 +1499,9 @@ object CobblemonItems : PlatformRegistry<Registry<Item>, ResourceKey<Registry<It
|
||||
return item
|
||||
}
|
||||
|
||||
private fun wearableItem(
|
||||
name: String,
|
||||
heldItemRemappedName: String? = null,
|
||||
equipmentSlot: EquipmentSlot = EquipmentSlot.HEAD,
|
||||
): CobblemonItem = create(
|
||||
private fun wearableItem(name: String, heldItemRemappedName: String? = null): CobblemonItem = create(
|
||||
name,
|
||||
WearableItem(name, equipmentSlot).also {
|
||||
WearableItem(name).also {
|
||||
wearables.add(it)
|
||||
if (heldItemRemappedName != null) {
|
||||
CobblemonHeldItemManager.registerRemap(it, heldItemRemappedName)
|
||||
@@ -1513,21 +1509,6 @@ object CobblemonItems : PlatformRegistry<Registry<Item>, ResourceKey<Registry<It
|
||||
}
|
||||
)
|
||||
|
||||
private fun armorItem(
|
||||
name: String,
|
||||
armorMaterial: ArmorMaterial,
|
||||
armorType: ArmorItem.Type,
|
||||
durability: Int? = null,
|
||||
): ArmorItem {
|
||||
var properties = Properties()
|
||||
if (durability != null) properties = properties.durability(durability)
|
||||
val armorMaterialHolder = BuiltInRegistries.ARMOR_MATERIAL.wrapAsHolder(armorMaterial)
|
||||
|
||||
val armorItem = ArmorItem(armorMaterialHolder, armorType, properties)
|
||||
|
||||
return create(name, armorItem)
|
||||
}
|
||||
|
||||
private fun campfirePotItem(block: Block, color: CampfirePotColor): CampfirePotItem {
|
||||
val item = create("campfire_pot_${color.suffix}", CampfirePotItem(block, color))
|
||||
campfire_pots.add(item)
|
||||
|
||||
@@ -1,44 +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.api.ai.config.task
|
||||
|
||||
import com.cobblemon.mod.common.CobblemonMemories
|
||||
import com.cobblemon.mod.common.api.ai.BehaviourConfigurationContext
|
||||
import com.cobblemon.mod.common.api.ai.WrapperLivingEntityTask
|
||||
import com.cobblemon.mod.common.api.npc.configuration.MoLangConfigVariable
|
||||
import com.cobblemon.mod.common.entity.pokemon.PokemonEntity
|
||||
import com.cobblemon.mod.common.entity.pokemon.ai.tasks.DefendOwnerTask
|
||||
import net.minecraft.world.entity.LivingEntity
|
||||
import net.minecraft.world.entity.ai.behavior.BehaviorControl
|
||||
import net.minecraft.world.entity.ai.memory.MemoryModuleType
|
||||
|
||||
class DefendOwnerTaskConfig : SingleTaskConfig {
|
||||
|
||||
override fun getVariables(
|
||||
entity: LivingEntity,
|
||||
behaviourConfigurationContext: BehaviourConfigurationContext
|
||||
): List<MoLangConfigVariable> {
|
||||
return emptyList()
|
||||
}
|
||||
|
||||
override fun createTask(
|
||||
entity: LivingEntity,
|
||||
behaviourConfigurationContext: BehaviourConfigurationContext
|
||||
): BehaviorControl<in LivingEntity>? {
|
||||
behaviourConfigurationContext.addMemories(
|
||||
MemoryModuleType.ATTACK_TARGET,
|
||||
CobblemonMemories.NEAREST_VISIBLE_ATTACKER,
|
||||
)
|
||||
|
||||
return WrapperLivingEntityTask(
|
||||
DefendOwnerTask.create(),
|
||||
PokemonEntity::class.java
|
||||
)
|
||||
}
|
||||
}
|
||||
@@ -105,7 +105,6 @@ interface TaskConfig {
|
||||
cobblemonResource("go_to_land") to GoToLandTaskConfig::class.java,
|
||||
cobblemonResource("manage_flight_in_battle") to ManageFlightInBattleTaskConfig::class.java,
|
||||
cobblemonResource("attack_hostile_mobs") to AttackHostileMobsTaskConfig::class.java,
|
||||
cobblemonResource("defend_owner") to DefendOwnerTaskConfig::class.java,
|
||||
cobblemonResource("move_to_sweet_berry_bush") to MoveToSweetBerryBushTaskConfig::class.java,
|
||||
cobblemonResource("stop_moving_to_sweet_berry_bush") to StopTryingToReachSweetBerryBushTaskConfig::class.java,
|
||||
cobblemonResource("harvest_sweet_berry_bush") to HarvestSweetBerryBushTaskConfig::class.java,
|
||||
|
||||
@@ -12,6 +12,7 @@ import com.cobblemon.mod.common.api.battles.model.PokemonBattle
|
||||
import com.cobblemon.mod.common.battles.pokemon.BattlePokemon
|
||||
import net.minecraft.commands.CommandSourceStack
|
||||
import net.minecraft.server.level.ServerPlayer
|
||||
import net.minecraft.world.entity.LivingEntity
|
||||
import net.minecraft.world.item.ItemStack
|
||||
|
||||
/**
|
||||
@@ -25,8 +26,13 @@ interface ExperienceSource {
|
||||
fun isInteraction() = this is CandyExperienceSource
|
||||
fun isCommand() = this is CommandExperienceSource
|
||||
fun isSidemod() = this is SidemodExperienceSource
|
||||
fun isMob() = this is MobExperienceSource
|
||||
}
|
||||
|
||||
open class MobExperienceSource(
|
||||
mob: LivingEntity,
|
||||
) : ExperienceSource
|
||||
|
||||
open class SidemodExperienceSource(
|
||||
val sidemodId: String
|
||||
) : ExperienceSource
|
||||
|
||||
@@ -322,7 +322,7 @@ class JetBehaviour : RidingBehaviour<JetSettings, JetState> {
|
||||
val pitchRot = handling * state.currMouseYForce.get()
|
||||
|
||||
// Roll
|
||||
val rollRot = handling * state.currMouseXForce.get()
|
||||
val rollRot = handling * 1.5 * state.currMouseXForce.get()
|
||||
|
||||
val mouseRotation = Vec3(0.0, pitchRot, rollRot)
|
||||
|
||||
|
||||
@@ -114,10 +114,10 @@ class HorseBehaviour : RidingBehaviour<HorseSettings, HorseState> {
|
||||
input: Vec3
|
||||
) {
|
||||
if (vehicle.level().isClientSide) {
|
||||
handleSprinting(state, driver)
|
||||
handleSprinting(state)
|
||||
inAirCheck(state, vehicle)
|
||||
tickStamina(settings, state, vehicle)
|
||||
state.walking.set(state.rideVelocity.get().horizontalDistance() > 0.01 || driver.zza != 0.0f)
|
||||
state.walking.set(state.rideVelocity.get().horizontalDistance() > 0.01)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -139,24 +139,9 @@ class HorseBehaviour : RidingBehaviour<HorseSettings, HorseState> {
|
||||
}
|
||||
|
||||
fun handleSprinting(
|
||||
state: HorseState,
|
||||
driver: Player
|
||||
state: HorseState
|
||||
) {
|
||||
val sprintTimerTickLength = 7 // Emulate vanillas tick timer length
|
||||
var hasDoubleTapped = false
|
||||
|
||||
// If you are not sprinting and you just pressed down and theres no
|
||||
if (!state.forwardHeldLastTick.get() && Minecraft.getInstance().options.keyUp.isDown() && !state.sprinting.get() && state.sprintTickTimer.get() == 0) {
|
||||
state.sprintTickTimer.set(sprintTimerTickLength)
|
||||
} else if (!state.forwardHeldLastTick.get() && Minecraft.getInstance().options.keyUp.isDown() && state.sprintTickTimer.get() != 0) { // If has double tapped
|
||||
hasDoubleTapped = true
|
||||
}else if(!state.sprinting.get() && state.sprintTickTimer.get() > 0) {
|
||||
state.sprintTickTimer.set(state.sprintTickTimer.get() - 1)
|
||||
} else {
|
||||
state.sprintTickTimer.set(0)
|
||||
}
|
||||
|
||||
val tryingToSprint = (Minecraft.getInstance().options.keySprint.isDown() && Minecraft.getInstance().options.keyUp.isDown()) || hasDoubleTapped
|
||||
val tryingToSprint = Minecraft.getInstance().options.keySprint.isDown() && Minecraft.getInstance().options.keyUp.isDown()
|
||||
|
||||
if (state.stamina.get() <= 0.0f || !Minecraft.getInstance().options.keyUp.isDown()) {
|
||||
// If stamina runs out or the player is not holding forward then stop sprinting
|
||||
@@ -171,9 +156,6 @@ class HorseBehaviour : RidingBehaviour<HorseSettings, HorseState> {
|
||||
// If you are trying to sprint and the toggle allows it then start sprinting and disable toggle
|
||||
state.sprinting.set(true)
|
||||
}
|
||||
|
||||
// Take not of whether forward was held last tick
|
||||
state.forwardHeldLastTick.set(Minecraft.getInstance().options.keyUp.isDown())
|
||||
}
|
||||
|
||||
fun tickStamina(
|
||||
@@ -245,7 +227,7 @@ class HorseBehaviour : RidingBehaviour<HorseSettings, HorseState> {
|
||||
|
||||
// Normalize the current rotation diff
|
||||
val rotDiff = Mth.wrapDegrees(driver.yRot - vehicle.yRot).coerceIn(-maxYawDiff,maxYawDiff)
|
||||
val rotDiffNorm = rotDiff / maxYawDiff//(rotDiff / maxYawDiff).coerceIn(-0.2f, 0.2f)
|
||||
val rotDiffNorm = rotDiff / maxYawDiff
|
||||
|
||||
// Take the square root so that the ride levels out quicker when at lower differences between entity
|
||||
// y and driver y
|
||||
@@ -258,7 +240,7 @@ class HorseBehaviour : RidingBehaviour<HorseSettings, HorseState> {
|
||||
val walkSpeed = getWalkSpeed(vehicle)
|
||||
val w = max(walkSpeed, vehicle.deltaMovement.horizontalDistance())
|
||||
val invRelSpeed = (RidingBehaviour.scaleToRange(w, walkSpeed, topSpeed ) - 1.0f) * -1.0f
|
||||
val turnRate = ((handling.toFloat() / 20.0f) * max(walkHandlingBoost * sqrt(abs(invRelSpeed)), 1.0)).toFloat()
|
||||
val turnRate = ((handling.toFloat() / 20.0f) * max(walkHandlingBoost * invRelSpeed, 1.0)).toFloat()
|
||||
|
||||
// Ensure you only ever rotate as much difference as there is between the angles.
|
||||
val turnSpeed = turnRate * rotDiffMod
|
||||
@@ -291,24 +273,30 @@ class HorseBehaviour : RidingBehaviour<HorseSettings, HorseState> {
|
||||
val rideTopSpeed = vehicle.runtime.resolveDouble(settings.speedExpr ?: globalHorse.speedExpr!!)
|
||||
val walkSpeed = getWalkSpeed(vehicle)
|
||||
val topSpeed = if(canSprint && state.sprinting.get()) rideTopSpeed else walkSpeed
|
||||
val accelTime = if(state.sprinting.get()) (vehicle.runtime.resolveDouble(settings.accelerationExpr ?: globalHorse.accelerationExpr!!) * 20.0) else 0.5 * 20.0
|
||||
val accel = topSpeed / accelTime
|
||||
val accel = topSpeed / (vehicle.runtime.resolveDouble(settings.accelerationExpr ?: globalHorse.accelerationExpr!!) * 20.0)
|
||||
var activeInput = false
|
||||
|
||||
/******************************************************
|
||||
* Gather the previous velocity and check for horizontal
|
||||
* collisions
|
||||
*****************************************************/
|
||||
val dmSpeed = vehicle.deltaMovement.length()
|
||||
val rvSpeed = state.rideVelocity.get().length()
|
||||
var newVelocity = state.rideVelocity.get() //.normalize().scale(vehicle.deltaMovement.horizontalDistance())
|
||||
|
||||
/******************************************************
|
||||
* Gather the previous velocity and check for horizontal
|
||||
* collisions
|
||||
*****************************************************/
|
||||
// if (dmSpeed > rvSpeed) {
|
||||
// // align the velocity vector to be in local vehicle space
|
||||
// newVelocity = vehicle.deltaMovement
|
||||
// val yawAligned = Matrix3f().rotateY(-vehicle.yRot.toRadians())
|
||||
// newVelocity = (newVelocity.toVector3f().mul(yawAligned)).toVec3d()
|
||||
// }
|
||||
|
||||
if (vehicle.horizontalCollision) {
|
||||
var horizontalVec = Vec3(newVelocity.x, 0.0, newVelocity.z)
|
||||
horizontalVec = horizontalVec.normalize().scale(min(horizontalVec.length(), 0.3))
|
||||
newVelocity = Vec3(horizontalVec.x, newVelocity.y, horizontalVec.z)
|
||||
newVelocity = newVelocity.normalize().scale(vehicle.deltaMovement.length())
|
||||
}
|
||||
|
||||
/******************************************************
|
||||
@@ -384,7 +372,7 @@ class HorseBehaviour : RidingBehaviour<HorseSettings, HorseState> {
|
||||
state.jumpTicks.set(state.jumpTicks.get() + 1)
|
||||
}
|
||||
|
||||
// Zero out lateral velocity possibly picked up from a controller transition
|
||||
//Zero out lateral velocity possibly picked up from a controller transition
|
||||
newVelocity = Vec3(0.0, newVelocity.y, newVelocity.z)
|
||||
|
||||
|
||||
@@ -473,7 +461,7 @@ class HorseBehaviour : RidingBehaviour<HorseSettings, HorseState> {
|
||||
vehicle: PokemonEntity,
|
||||
driver: Player
|
||||
): Float {
|
||||
return if (state.sprinting.get()) 1.15f else 1.0f
|
||||
return 1.0f
|
||||
}
|
||||
|
||||
override fun useAngVelSmoothing(
|
||||
@@ -532,14 +520,6 @@ class HorseBehaviour : RidingBehaviour<HorseSettings, HorseState> {
|
||||
return true
|
||||
}
|
||||
|
||||
override fun maxUpStep(
|
||||
settings: HorseSettings,
|
||||
state: HorseState,
|
||||
vehicle: PokemonEntity
|
||||
): Float? {
|
||||
return if (state.inAir.get()) 0.0f else 1.2f
|
||||
}
|
||||
|
||||
override fun getRideSounds(
|
||||
settings: HorseSettings,
|
||||
state: HorseState,
|
||||
@@ -638,8 +618,6 @@ class HorseState : RidingBehaviourState() {
|
||||
var sprintToggleable = ridingState(false, Side.CLIENT)
|
||||
var inAir = ridingState(false, Side.CLIENT)
|
||||
var jumpTicks = ridingState(0, Side.CLIENT)
|
||||
var sprintTickTimer = ridingState(0, Side.CLIENT)
|
||||
var forwardHeldLastTick = ridingState(false, Side.CLIENT)
|
||||
|
||||
override fun encode(buffer: FriendlyByteBuf) {
|
||||
super.encode(buffer)
|
||||
@@ -648,8 +626,6 @@ class HorseState : RidingBehaviourState() {
|
||||
buffer.writeBoolean(sprintToggleable.get())
|
||||
buffer.writeBoolean(inAir.get())
|
||||
buffer.writeInt(jumpTicks.get())
|
||||
buffer.writeInt(sprintTickTimer.get())
|
||||
buffer.writeBoolean(forwardHeldLastTick.get())
|
||||
}
|
||||
|
||||
override fun decode(buffer: FriendlyByteBuf) {
|
||||
@@ -659,8 +635,6 @@ class HorseState : RidingBehaviourState() {
|
||||
sprintToggleable.set(buffer.readBoolean(), forced = true)
|
||||
inAir.set(buffer.readBoolean(), forced = true)
|
||||
jumpTicks.set(buffer.readInt(), forced = true)
|
||||
sprintTickTimer.set(buffer.readInt(), forced = true)
|
||||
forwardHeldLastTick.set(buffer.readBoolean(), forced = true)
|
||||
}
|
||||
|
||||
override fun reset() {
|
||||
@@ -670,8 +644,6 @@ class HorseState : RidingBehaviourState() {
|
||||
sprintToggleable.set(false, forced = true)
|
||||
inAir.set(false, forced = true)
|
||||
jumpTicks.set(0, forced = true)
|
||||
sprintTickTimer.set(0, forced = true)
|
||||
forwardHeldLastTick.set(false, forced = true)
|
||||
}
|
||||
|
||||
override fun copy() = HorseState().also {
|
||||
@@ -682,8 +654,6 @@ class HorseState : RidingBehaviourState() {
|
||||
it.sprintToggleable.set(this.sprintToggleable.get(), forced = true)
|
||||
it.inAir.set(this.inAir.get(), forced = true)
|
||||
it.jumpTicks.set(this.jumpTicks.get(), forced = true)
|
||||
it.sprintTickTimer.set(this.sprintTickTimer.get(), forced = true)
|
||||
it.forwardHeldLastTick.set(this.forwardHeldLastTick.get(), forced = true)
|
||||
}
|
||||
|
||||
override fun shouldSync(previous: RidingBehaviourState): Boolean {
|
||||
|
||||
@@ -88,6 +88,7 @@ abstract class OneToOneFileStoreAdapter<S>(
|
||||
result
|
||||
}
|
||||
else {
|
||||
storeClass.getConstructor(UUID::class.java).newInstance(uuid)
|
||||
var result = storeClass.getConstructor(UUID::class.java).newInstance(uuid)
|
||||
save(storeClass, uuid, serialize(result, registryAccess))
|
||||
oldFile.delete()
|
||||
|
||||
@@ -10,7 +10,6 @@ package com.cobblemon.mod.common.block
|
||||
|
||||
import com.bedrockk.molang.runtime.value.DoubleValue
|
||||
import com.cobblemon.mod.common.entity.MoLangScriptingEntity
|
||||
import com.cobblemon.mod.common.util.isServerSide
|
||||
import net.minecraft.core.BlockPos
|
||||
import net.minecraft.core.Direction
|
||||
import net.minecraft.core.dispenser.DispenseItemBehavior
|
||||
@@ -264,36 +263,21 @@ class SaccharineLeafBlock(settings: Properties) : LeavesBlock(settings) {
|
||||
val isGlassBottle = itemStack.`is`(Items.GLASS_BOTTLE)
|
||||
val isHoneyBottle = itemStack.`is`(Items.HONEY_BOTTLE)
|
||||
|
||||
if (isGlassBottle && isAtMaxAge(state)) {
|
||||
if (level.isClientSide) return ItemInteractionResult.SUCCESS
|
||||
if (isGlassBottle && !isAtMinAge(state)) {
|
||||
// Decrement stack if not in creative mode
|
||||
itemStack.consume(1, player)
|
||||
|
||||
// Give player a honey bottle
|
||||
if (stack.isEmpty) {
|
||||
// Replace the consumed empty bottle with a honey bottle
|
||||
player.setItemInHand(hand, ItemStack(Items.HONEY_BOTTLE));
|
||||
} else {
|
||||
player.addItem(Items.HONEY_BOTTLE.defaultInstance)
|
||||
}
|
||||
// Give player honey bottle for now
|
||||
player.addItem(Items.HONEY_BOTTLE.defaultInstance)
|
||||
|
||||
level.playSound(null, pos, SoundEvents.BOTTLE_FILL, SoundSource.BLOCKS)
|
||||
level.setBlock(pos, state.setValue(AGE, 0), UPDATE_CLIENTS)
|
||||
level.gameEvent(null, GameEvent.BLOCK_CHANGE, pos)
|
||||
return ItemInteractionResult.SUCCESS
|
||||
} else if (isHoneyBottle && !isAtMaxAge(state)) {
|
||||
if (level.isClientSide) return ItemInteractionResult.SUCCESS
|
||||
|
||||
// Decrement stack if not in creative mode
|
||||
if (!player.isCreative) {
|
||||
itemStack.consume(1, player)
|
||||
if (stack.isEmpty) {
|
||||
// Replace the consumed honey bottle with an empty bottle
|
||||
player.setItemInHand(hand, ItemStack(Items.GLASS_BOTTLE));
|
||||
} else {
|
||||
player.addItem(Items.GLASS_BOTTLE.defaultInstance)
|
||||
}
|
||||
}
|
||||
itemStack.consume(1, player)
|
||||
player.addItem(Items.GLASS_BOTTLE.defaultInstance)
|
||||
|
||||
level.playSound(null, pos, SoundEvents.HONEY_BLOCK_PLACE, SoundSource.BLOCKS)
|
||||
level.setBlock(pos, state.setValue(AGE, 2), UPDATE_CLIENTS)
|
||||
|
||||
@@ -592,10 +592,6 @@ class PokemonInfoWidget(val pX: Int, val pY: Int, val updateForm: (PokedexForm)
|
||||
}
|
||||
|
||||
private fun switchForm(nextIndex: Boolean) {
|
||||
if (visibleForms.isEmpty() || currentEntry == null) {
|
||||
return
|
||||
}
|
||||
|
||||
selectedPoseIndex = 0
|
||||
|
||||
if (nextIndex) {
|
||||
@@ -606,8 +602,6 @@ class PokemonInfoWidget(val pX: Int, val pY: Int, val updateForm: (PokedexForm)
|
||||
else selectedFormIndex = visibleForms.lastIndex
|
||||
}
|
||||
|
||||
selectedFormIndex = selectedFormIndex.coerceIn(0, visibleForms.lastIndex)
|
||||
|
||||
setupButtons(currentEntry!!, visibleForms[selectedFormIndex])
|
||||
updateAspects()
|
||||
}
|
||||
|
||||
@@ -16,8 +16,8 @@ import com.mojang.blaze3d.platform.InputConstants
|
||||
|
||||
object RidingFreelookBinding : CobblemonBlockingKeyBinding(
|
||||
"key.cobblemon.ridingfreelook",
|
||||
InputConstants.Type.KEYSYM,
|
||||
InputConstants.KEY_LALT,
|
||||
InputConstants.Type.MOUSE,
|
||||
InputConstants.MOUSE_BUTTON_MIDDLE,
|
||||
KeybindCategories.COBBLEMON_CATEGORY
|
||||
) {
|
||||
override fun onTick() {
|
||||
|
||||
@@ -0,0 +1,120 @@
|
||||
/*
|
||||
* 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.frame.BimanualFrame
|
||||
import com.cobblemon.mod.common.client.render.models.blockbench.frame.BipedFrame
|
||||
import com.cobblemon.mod.common.client.render.models.blockbench.frame.HeadedFrame
|
||||
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 com.cobblemon.mod.common.util.isBattling
|
||||
import net.minecraft.client.model.geom.ModelPart
|
||||
import net.minecraft.world.phys.Vec3
|
||||
|
||||
class TinkatinkModel (root: ModelPart) : PokemonPosableModel(root), HeadedFrame, BipedFrame, BimanualFrame {
|
||||
override val rootPart = root.registerChildWithAllChildren("tinkatink")
|
||||
override val head = getPart("head")
|
||||
override val rightArm = getPart("arm_right")
|
||||
override val leftArm = getPart("arm_left")
|
||||
override val rightLeg = getPart("leg_right")
|
||||
override val leftLeg = getPart("leg_left")
|
||||
|
||||
override var portraitScale = 2.0F
|
||||
override var portraitTranslation = Vec3(0.0, -1.01, 0.0)
|
||||
|
||||
override var profileScale = 1.0F
|
||||
override var profileTranslation = Vec3(0.0, 0.25, 0.0)
|
||||
|
||||
lateinit var standing: Pose
|
||||
lateinit var walking: Pose
|
||||
lateinit var sleep: Pose
|
||||
lateinit var battleidle: Pose
|
||||
lateinit var shoulderLeft: Pose
|
||||
lateinit var shoulderRight: Pose
|
||||
|
||||
val shoulderOffset = 1
|
||||
|
||||
override val cryAnimation = CryProvider { bedrockStateful("tinkatink", "cry") }
|
||||
|
||||
override fun registerPoses() {
|
||||
val blink = quirk { bedrockStateful("tinkatink", "blink") }
|
||||
|
||||
sleep = registerPose(
|
||||
poseType = PoseType.SLEEP,
|
||||
animations = arrayOf(bedrock("tinkatink", "sleep"))
|
||||
)
|
||||
|
||||
standing = registerPose(
|
||||
poseName = "standing",
|
||||
poseTypes = PoseType.STATIONARY_POSES + PoseType.UI_POSES,
|
||||
transformTicks = 10,
|
||||
condition = { !it.isBattling },
|
||||
quirks = arrayOf(blink),
|
||||
animations = arrayOf(
|
||||
singleBoneLook(),
|
||||
bedrock("tinkatink", "ground_idle")
|
||||
)
|
||||
)
|
||||
|
||||
walking = registerPose(
|
||||
poseName = "walking",
|
||||
poseTypes = PoseType.MOVING_POSES,
|
||||
transformTicks = 10,
|
||||
quirks = arrayOf(blink),
|
||||
animations = arrayOf(
|
||||
singleBoneLook(),
|
||||
bedrock("tinkatink", "ground_walk")
|
||||
)
|
||||
)
|
||||
|
||||
battleidle = registerPose(
|
||||
poseName = "battle_idle",
|
||||
poseTypes = PoseType.STATIONARY_POSES,
|
||||
transformTicks = 10,
|
||||
quirks = arrayOf(blink),
|
||||
condition = { it.isBattling },
|
||||
animations = arrayOf(
|
||||
singleBoneLook(),
|
||||
bedrock("tinkatink", "battle_idle")
|
||||
)
|
||||
)
|
||||
|
||||
shoulderLeft = registerPose(
|
||||
poseType = PoseType.SHOULDER_LEFT,
|
||||
quirks = arrayOf(blink),
|
||||
condition = { !it.isBattling },
|
||||
animations = arrayOf(
|
||||
singleBoneLook(),
|
||||
bedrock("tinkatink", "shoulder_left")
|
||||
),
|
||||
transformedParts = arrayOf(
|
||||
rootPart.createTransformation().addPosition(ModelPartTransformation.X_AXIS, shoulderOffset)
|
||||
)
|
||||
)
|
||||
|
||||
shoulderRight = registerPose(
|
||||
poseType = PoseType.SHOULDER_RIGHT,
|
||||
quirks = arrayOf(blink),
|
||||
condition = { !it.isBattling },
|
||||
animations = arrayOf(
|
||||
singleBoneLook(),
|
||||
bedrock("tinkatink", "shoulder_right")
|
||||
),
|
||||
transformedParts = arrayOf(
|
||||
rootPart.createTransformation().addPosition(ModelPartTransformation.X_AXIS, -shoulderOffset)
|
||||
)
|
||||
)
|
||||
}
|
||||
override fun getFaintAnimation(state: PosableState) = if (state.isPosedIn(standing, walking, battleidle, sleep)) bedrockStateful("tinkatink", "faint") else null
|
||||
}
|
||||
@@ -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.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.frame.BimanualFrame
|
||||
import com.cobblemon.mod.common.client.render.models.blockbench.frame.BipedFrame
|
||||
import com.cobblemon.mod.common.client.render.models.blockbench.frame.HeadedFrame
|
||||
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 TinkatuffModel (root: ModelPart) : PokemonPosableModel(root), HeadedFrame, BipedFrame, BimanualFrame {
|
||||
override val rootPart = root.registerChildWithAllChildren("tinkatuff")
|
||||
override val head = getPart("head")
|
||||
override val rightArm = getPart("arm_right")
|
||||
override val leftArm = getPart("arm_left")
|
||||
override val rightLeg = getPart("leg_right")
|
||||
override val leftLeg = getPart("leg_left")
|
||||
|
||||
override var portraitScale = 1.9F
|
||||
override var portraitTranslation = Vec3(0.0, -0.41, 0.0)
|
||||
|
||||
override var profileScale = 0.9F
|
||||
override var profileTranslation = Vec3(0.0, 0.4, 0.0)
|
||||
|
||||
lateinit var standing: Pose
|
||||
lateinit var walking: Pose
|
||||
lateinit var sleep: Pose
|
||||
lateinit var battleidle: Pose
|
||||
|
||||
override val cryAnimation = CryProvider { bedrockStateful("tinkatuff", "cry") }
|
||||
|
||||
override fun registerPoses() {
|
||||
val blink = quirk { bedrockStateful("tinkatuff", "blink") }
|
||||
sleep = registerPose(
|
||||
poseType = PoseType.SLEEP,
|
||||
animations = arrayOf(bedrock("tinkatuff", "sleep"))
|
||||
)
|
||||
|
||||
standing = registerPose(
|
||||
poseName = "standing",
|
||||
poseTypes = PoseType.STATIONARY_POSES + PoseType.UI_POSES,
|
||||
transformTicks = 10,
|
||||
condition = { !it.isBattling },
|
||||
quirks = arrayOf(blink),
|
||||
animations = arrayOf(
|
||||
singleBoneLook(),
|
||||
bedrock("tinkatuff", "ground_idle")
|
||||
)
|
||||
)
|
||||
|
||||
walking = registerPose(
|
||||
poseName = "walking",
|
||||
poseTypes = PoseType.MOVING_POSES,
|
||||
transformTicks = 10,
|
||||
quirks = arrayOf(blink),
|
||||
animations = arrayOf(
|
||||
singleBoneLook(),
|
||||
bedrock("tinkatuff", "ground_walk")
|
||||
)
|
||||
)
|
||||
|
||||
battleidle = registerPose(
|
||||
poseName = "battle_idle",
|
||||
poseTypes = PoseType.STATIONARY_POSES,
|
||||
transformTicks = 10,
|
||||
quirks = arrayOf(blink),
|
||||
condition = { it.isBattling },
|
||||
animations = arrayOf(
|
||||
singleBoneLook(),
|
||||
bedrock("tinkatuff", "battle_idle")
|
||||
)
|
||||
)
|
||||
}
|
||||
override fun getFaintAnimation(state: PosableState) = if (state.isPosedIn(standing, walking, battleidle, sleep)) bedrockStateful("tinkatuff", "faint") else null
|
||||
}
|
||||
@@ -477,6 +477,8 @@ object VaryingModelRepository {
|
||||
inbuilt("illumise", ::IllumiseModel)
|
||||
inbuilt("yamper", ::YamperModel)
|
||||
inbuilt("boltund", ::BoltundModel)
|
||||
inbuilt("tinkatink", ::TinkatinkModel)
|
||||
inbuilt("tinkatuff", ::TinkatuffModel)
|
||||
inbuilt("fuecoco", :: FuecocoModel)
|
||||
inbuilt("crocalor", :: CrocalorModel)
|
||||
inbuilt("skeledirge", :: SkeledirgeModel)
|
||||
|
||||
@@ -344,6 +344,9 @@ class CobblemonConfig {
|
||||
@CobblemonConfigField(Category.Spawning, lang = "despawner_max_age_ticks", SERVER)
|
||||
var despawnerMaxAgeTicks = 3600
|
||||
|
||||
@CobblemonConfigField(Category.World, lang = "mob_experience_conversion_rate", SERVER)
|
||||
var mobExperienceConversionRate = 50.0
|
||||
|
||||
fun clone(): CobblemonConfig {
|
||||
val newConfig = CobblemonConfig()
|
||||
CobblemonConfig::class.memberProperties.forEach { property ->
|
||||
|
||||
@@ -39,16 +39,15 @@ class FollowWalkTargetTask(
|
||||
private var lookTargetPos: BlockPos? = null
|
||||
private var speed = 0f
|
||||
|
||||
override fun checkExtraStartConditions(level: ServerLevel, entity: PathfinderMob): Boolean {
|
||||
override fun checkExtraStartConditions(arg: ServerLevel, arg2: PathfinderMob): Boolean {
|
||||
if (this.pathUpdateCountdownTicks > 0) {
|
||||
--this.pathUpdateCountdownTicks
|
||||
return false
|
||||
} else {
|
||||
val brain = entity.brain
|
||||
val brain = arg2.brain
|
||||
val walkTarget = brain.getMemory(MemoryModuleType.WALK_TARGET).get()
|
||||
val hasReached = this.hasReached(entity, walkTarget)
|
||||
resetPathUpdateCountdownTicks(entity)
|
||||
if (!hasReached && this.hasFinishedPath(entity, walkTarget, level.gameTime)) {
|
||||
val hasReached = this.hasReached(arg2, walkTarget)
|
||||
if (!hasReached && this.hasFinishedPath(arg2, walkTarget, arg.gameTime)) {
|
||||
this.lookTargetPos = walkTarget.target.currentBlockPosition()
|
||||
return true
|
||||
} else {
|
||||
@@ -62,10 +61,6 @@ class FollowWalkTargetTask(
|
||||
}
|
||||
}
|
||||
|
||||
fun resetPathUpdateCountdownTicks(entity: PathfinderMob) {
|
||||
pathUpdateCountdownTicks = entity.random.nextInt(20) + 20
|
||||
}
|
||||
|
||||
override fun canStillUse(arg: ServerLevel, arg2: PathfinderMob, l: Long): Boolean {
|
||||
if (this.path != null && this.lookTargetPos != null) {
|
||||
val optional = arg2.brain.getMemory(MemoryModuleType.WALK_TARGET)
|
||||
@@ -80,7 +75,7 @@ class FollowWalkTargetTask(
|
||||
override fun stop(world: ServerLevel, entity: PathfinderMob, l: Long) {
|
||||
val walkTarget = entity.brain.getMemory(MemoryModuleType.WALK_TARGET).orElse(null)
|
||||
if (walkTarget != null && !this.hasReached(entity, walkTarget) && entity.navigation.isStuck) {
|
||||
resetPathUpdateCountdownTicks(entity)
|
||||
this.pathUpdateCountdownTicks = world.getRandom().nextInt(40)
|
||||
}
|
||||
|
||||
entity.navigation.stop()
|
||||
|
||||
@@ -38,6 +38,7 @@ import com.cobblemon.mod.common.api.net.serializers.PoseTypeDataSerializer
|
||||
import com.cobblemon.mod.common.api.net.serializers.RideBoostsDataSerializer
|
||||
import com.cobblemon.mod.common.api.net.serializers.StringSetDataSerializer
|
||||
import com.cobblemon.mod.common.api.npc.configuration.MoLangConfigVariable
|
||||
import com.cobblemon.mod.common.api.pokemon.experience.MobExperienceSource
|
||||
import com.cobblemon.mod.common.api.pokemon.feature.ChoiceSpeciesFeatureProvider
|
||||
import com.cobblemon.mod.common.api.pokemon.feature.FlagSpeciesFeature
|
||||
import com.cobblemon.mod.common.api.pokemon.feature.SpeciesFeatures
|
||||
@@ -547,11 +548,6 @@ open class PokemonEntity(
|
||||
ifRidingAvailable { _, _, state -> pokemon.rideStamina = state.stamina.get() }
|
||||
ridingController?.context?.state?.reset()
|
||||
ridingAnimationData.clear()
|
||||
|
||||
// reset riding orientation
|
||||
if (this is OrientationControllable) {
|
||||
this.orientationController.reset()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1264,7 +1260,18 @@ open class PokemonEntity(
|
||||
|
||||
override fun doHurtTarget(target: Entity): Boolean {
|
||||
if (beamMode != 0) return false
|
||||
return super.doHurtTarget(target)
|
||||
val result = super.doHurtTarget(target)
|
||||
if (result && !target.isAlive && target is LivingEntity && !level().isClientSide) {
|
||||
val experience = target.getExperienceReward(level() as ServerLevel, this)
|
||||
val source = MobExperienceSource(mob = target)
|
||||
if (this.owner is ServerPlayer) {
|
||||
pokemon.addExperienceWithPlayer(this.owner as ServerPlayer, source, (experience * Cobblemon.config.mobExperienceConversionRate).toInt())
|
||||
}
|
||||
else {
|
||||
pokemon.addExperience(source, (experience * Cobblemon.config.mobExperienceConversionRate).toInt())
|
||||
}
|
||||
}
|
||||
return result
|
||||
}
|
||||
|
||||
override fun hurt(source: DamageSource, amount: Float): Boolean {
|
||||
|
||||
@@ -10,11 +10,8 @@ package com.cobblemon.mod.common.entity.pokemon.ai.sensors
|
||||
|
||||
import com.cobblemon.mod.common.CobblemonMemories
|
||||
import com.cobblemon.mod.common.entity.pokemon.PokemonEntity
|
||||
import com.cobblemon.mod.common.util.getMemorySafely
|
||||
import net.minecraft.server.level.ServerLevel
|
||||
import net.minecraft.server.level.ServerPlayer
|
||||
import net.minecraft.world.entity.LivingEntity
|
||||
import net.minecraft.world.entity.Mob
|
||||
import net.minecraft.world.entity.ai.memory.MemoryModuleType
|
||||
import net.minecraft.world.entity.ai.memory.NearestVisibleLivingEntities
|
||||
import net.minecraft.world.entity.ai.sensing.Sensor
|
||||
@@ -31,17 +28,8 @@ class DefendOwnerSensor : Sensor<PokemonEntity>(10) {
|
||||
}
|
||||
|
||||
private fun setNearestAttacker(entity: PokemonEntity, visibleMobs: NearestVisibleLivingEntities, owner: LivingEntity) {
|
||||
val nearestAttacker = visibleMobs.findClosest { livingEntity ->
|
||||
// Prevents Pokémons from attacking players as owned Pokémons are currently invulnerable
|
||||
if (livingEntity is ServerPlayer) return@findClosest false
|
||||
|
||||
if (livingEntity.lastHurtMob == owner) return@findClosest true
|
||||
if (livingEntity is Mob && livingEntity.target == owner) return@findClosest true
|
||||
|
||||
val mobAttackTarget = livingEntity.brain.getMemorySafely(MemoryModuleType.ATTACK_TARGET)
|
||||
if (mobAttackTarget.isPresent && mobAttackTarget.get() == owner) return@findClosest true
|
||||
|
||||
return@findClosest false
|
||||
val nearestAttacker = visibleMobs.findClosest { mob ->
|
||||
mob.lastHurtMob == owner
|
||||
}.map { mob -> mob as LivingEntity }
|
||||
|
||||
entity.brain.setMemory(CobblemonMemories.NEAREST_VISIBLE_ATTACKER, nearestAttacker)
|
||||
|
||||
@@ -10,10 +10,18 @@ package com.cobblemon.mod.common.entity.pokemon.ai.tasks
|
||||
|
||||
import com.cobblemon.mod.common.CobblemonMemories
|
||||
import com.cobblemon.mod.common.entity.pokemon.PokemonEntity
|
||||
import com.google.common.collect.ImmutableMap
|
||||
import net.minecraft.server.level.ServerLevel
|
||||
import net.minecraft.world.entity.LivingEntity
|
||||
import net.minecraft.world.entity.ai.attributes.Attributes
|
||||
import net.minecraft.world.entity.ai.behavior.Behavior
|
||||
import net.minecraft.world.entity.ai.behavior.OneShot
|
||||
import net.minecraft.world.entity.ai.behavior.declarative.BehaviorBuilder
|
||||
import net.minecraft.world.entity.ai.behavior.declarative.Trigger
|
||||
import net.minecraft.world.entity.ai.memory.MemoryModuleType
|
||||
import net.minecraft.world.entity.ai.memory.MemoryStatus
|
||||
import net.minecraft.world.entity.ai.memory.WalkTarget
|
||||
import net.minecraft.world.entity.ai.targeting.TargetingConditions
|
||||
|
||||
object DefendOwnerTask {
|
||||
fun create(): OneShot<PokemonEntity> {
|
||||
|
||||
@@ -13,10 +13,7 @@ import net.minecraft.resources.ResourceLocation
|
||||
import net.minecraft.world.entity.EquipmentSlot
|
||||
import net.minecraft.world.item.Equipable
|
||||
|
||||
class WearableItem(
|
||||
val name: String,
|
||||
val armorEquipmentSlot: EquipmentSlot = EquipmentSlot.HEAD,
|
||||
): CobblemonItem(Properties()), Equipable {
|
||||
class WearableItem(val name: String): CobblemonItem(Properties()), Equipable {
|
||||
companion object {
|
||||
const val MODEL_PATH = "item/wearable"
|
||||
}
|
||||
@@ -24,7 +21,5 @@ class WearableItem(
|
||||
fun getModel3d(): ResourceLocation = cobblemonResource("${MODEL_PATH}/${this.name}")
|
||||
fun getModel2d(): ResourceLocation = cobblemonResource(this.name)
|
||||
|
||||
override fun getEquipmentSlot(): EquipmentSlot {
|
||||
return armorEquipmentSlot
|
||||
}
|
||||
override fun getEquipmentSlot(): EquipmentSlot { return EquipmentSlot.HEAD }
|
||||
}
|
||||
@@ -8,17 +8,24 @@
|
||||
|
||||
package com.cobblemon.mod.common.item.interactive
|
||||
|
||||
import com.cobblemon.mod.common.Cobblemon
|
||||
import com.cobblemon.mod.common.CobblemonItems
|
||||
import com.cobblemon.mod.common.CobblemonSounds
|
||||
import com.cobblemon.mod.common.api.events.CobblemonEvents
|
||||
import com.cobblemon.mod.common.api.events.pokemon.interaction.ExperienceCandyUseEvent
|
||||
import com.cobblemon.mod.common.api.item.PokemonSelectingItem
|
||||
import com.cobblemon.mod.common.api.pokemon.experience.CandyExperienceSource
|
||||
import com.cobblemon.mod.common.entity.pokemon.PokemonEntity
|
||||
import com.cobblemon.mod.common.item.CobblemonItem
|
||||
import com.cobblemon.mod.common.pokemon.Pokemon
|
||||
import net.minecraft.server.level.ServerPlayer
|
||||
import net.minecraft.sounds.SoundEvents
|
||||
import net.minecraft.world.InteractionHand
|
||||
import net.minecraft.world.InteractionResult
|
||||
import net.minecraft.world.InteractionResultHolder
|
||||
import net.minecraft.world.entity.ExperienceOrb
|
||||
import net.minecraft.world.entity.LivingEntity
|
||||
import net.minecraft.world.entity.player.Player
|
||||
import net.minecraft.world.food.FoodProperties
|
||||
import net.minecraft.world.item.ItemStack
|
||||
import net.minecraft.world.item.Rarity
|
||||
import net.minecraft.world.level.Level
|
||||
@@ -34,22 +41,59 @@ import net.minecraft.world.level.Level
|
||||
*/
|
||||
class CandyItem(
|
||||
val item_rarity: Rarity,
|
||||
val calculator: Calculator
|
||||
val expYield: (ServerPlayer, Pokemon?) -> Int
|
||||
) : CobblemonItem(Properties().apply {
|
||||
rarity(item_rarity)
|
||||
}), PokemonSelectingItem {
|
||||
food(FoodProperties.Builder()
|
||||
.alwaysEdible()
|
||||
.nutrition(0)
|
||||
.saturationModifier(0.0f)
|
||||
.build())
|
||||
}) {
|
||||
|
||||
override val bagItem = null
|
||||
override fun finishUsingItem(stack: ItemStack, level: Level, livingEntity: LivingEntity): ItemStack? {
|
||||
if (livingEntity !is Player) return super.finishUsingItem(stack, level, livingEntity)
|
||||
|
||||
override fun use(world: Level, user: Player, hand: InteractionHand): InteractionResultHolder<ItemStack> {
|
||||
if (user is ServerPlayer) {
|
||||
return use(user, user.getItemInHand(hand))
|
||||
/* Didn't find a good way to determine the XP needed until the beginning of the next level.
|
||||
* This works but is a little jank. Feel free to investigate a better solution.
|
||||
*/
|
||||
if (level.isClientSide && this == CobblemonItems.RARE_CANDY) {
|
||||
val volume = if (livingEntity.experienceLevel > 30) 1.0f else livingEntity.experienceLevel.toFloat() / 30.0f
|
||||
livingEntity.playSound(SoundEvents.PLAYER_LEVELUP, volume * 0.75f, 1.0f)
|
||||
}
|
||||
return InteractionResultHolder.success(user.getItemInHand(hand))
|
||||
|
||||
if (livingEntity !is ServerPlayer) return super.finishUsingItem(stack, level, livingEntity)
|
||||
if (this == CobblemonItems.RARE_CANDY) {
|
||||
livingEntity.setExperienceLevels(livingEntity.experienceLevel + 1)
|
||||
livingEntity.setExperiencePoints(0)
|
||||
}
|
||||
else {
|
||||
val expYield = expYield(livingEntity, null)
|
||||
val playerExperience = (expYield / Cobblemon.config.mobExperienceConversionRate).toInt().coerceAtLeast(1)
|
||||
ExperienceOrb.award(livingEntity.serverLevel(), livingEntity.position(), playerExperience)
|
||||
}
|
||||
return super.finishUsingItem(stack, level, livingEntity)
|
||||
}
|
||||
|
||||
override fun applyToPokemon(player: ServerPlayer, stack: ItemStack, pokemon: Pokemon): InteractionResultHolder<ItemStack>? {
|
||||
val experience = this.calculator.calculate(player, pokemon)
|
||||
override fun interactLivingEntity(
|
||||
stack: ItemStack,
|
||||
player: Player,
|
||||
interactionTarget: LivingEntity,
|
||||
usedHand: InteractionHand
|
||||
): InteractionResult {
|
||||
if (player.level().isClientSide) return InteractionResult.FAIL
|
||||
if (player.isCrouching) return InteractionResult.FAIL
|
||||
if (interactionTarget !is PokemonEntity) return InteractionResult.PASS
|
||||
if (interactionTarget.pokemon.getOwnerPlayer() != player) return InteractionResult.PASS
|
||||
return applyToPokemon(player as ServerPlayer, stack, interactionTarget.pokemon)?.result ?: InteractionResult.FAIL
|
||||
}
|
||||
|
||||
fun applyToPokemon(player: ServerPlayer, stack: ItemStack, pokemon: Pokemon): InteractionResultHolder<ItemStack>? {
|
||||
if (!pokemon.canLevelUpFurther()) {
|
||||
return InteractionResultHolder.fail(stack)
|
||||
}
|
||||
|
||||
val experience = expYield(player, pokemon)
|
||||
CobblemonEvents.EXPERIENCE_CANDY_USE_PRE.postThen(
|
||||
event = ExperienceCandyUseEvent.Pre(player, pokemon, this, experience, experience),
|
||||
ifSucceeded = { preEvent ->
|
||||
@@ -74,29 +118,6 @@ class CandyItem(
|
||||
return InteractionResultHolder.fail(stack)
|
||||
}
|
||||
|
||||
override fun canUseOnPokemon(stack: ItemStack, pokemon: Pokemon): Boolean {
|
||||
return pokemon.isPlayerOwned()
|
||||
}
|
||||
|
||||
/**
|
||||
* Functional interface responsible for resolving the experience a candy will yield.
|
||||
*
|
||||
* @author Licious
|
||||
* @since March 5th, 2022
|
||||
*/
|
||||
fun interface Calculator {
|
||||
|
||||
/**
|
||||
* Resolves the experience the [CandyItem] will give.
|
||||
*
|
||||
* @param player The [ServerPlayer] using the candy.
|
||||
* @param pokemon The [Pokemon] receiving experience.
|
||||
* @return The experience that will be received
|
||||
*/
|
||||
fun calculate(player: ServerPlayer, pokemon: Pokemon): Int
|
||||
|
||||
}
|
||||
|
||||
companion object {
|
||||
const val DEFAULT_XS_CANDY_YIELD = 100
|
||||
const val DEFAULT_S_CANDY_YIELD = 800
|
||||
|
||||
@@ -9,6 +9,7 @@
|
||||
package com.cobblemon.mod.common.pokemon
|
||||
|
||||
import com.cobblemon.mod.common.Cobblemon
|
||||
import com.cobblemon.mod.common.CobblemonItems
|
||||
import com.cobblemon.mod.common.CobblemonNetwork.sendPacket
|
||||
import com.cobblemon.mod.common.CobblemonNetwork.sendPacketToPlayers
|
||||
import com.cobblemon.mod.common.CobblemonSounds
|
||||
@@ -148,6 +149,7 @@ import net.minecraft.util.Mth.ceil
|
||||
import net.minecraft.util.Mth.clamp
|
||||
import net.minecraft.util.StringRepresentable
|
||||
import net.minecraft.world.InteractionHand
|
||||
import net.minecraft.world.entity.ExperienceOrb
|
||||
import net.minecraft.world.entity.LivingEntity
|
||||
import net.minecraft.world.entity.MobSpawnType
|
||||
import net.minecraft.world.entity.player.Player
|
||||
@@ -673,7 +675,7 @@ open class Pokemon : ShowdownIdentifiable {
|
||||
* Whether this Pokémon's held item can be dropped by its AI.
|
||||
*/
|
||||
internal var canDropHeldItem: Boolean = false
|
||||
get() = field && !heldItem.isEmpty
|
||||
get() = field || heldItem.isEmpty
|
||||
|
||||
val riding: RidingProperties
|
||||
get() = this.form.riding
|
||||
@@ -2016,6 +2018,12 @@ open class Pokemon : ShowdownIdentifiable {
|
||||
}
|
||||
)
|
||||
|
||||
val player = getOwnerPlayer()
|
||||
if (player != null && player.inventory.getArmor(3).item == CobblemonItems.EXP_SHARE) {
|
||||
val playerExperience = (appliedXP / Cobblemon.config.mobExperienceConversionRate * Cobblemon.config.experienceShareMultiplier).toInt().coerceAtLeast(1)
|
||||
ExperienceOrb.award(player.serverLevel(), player.position(), playerExperience)
|
||||
}
|
||||
|
||||
experience += appliedXP
|
||||
// Bound is needed here as we can still be allowed to level up but go over the current cap
|
||||
var newLevel = experienceGroup.getLevel(experience).coerceAtMost(Cobblemon.config.maxPokemonLevel)
|
||||
|
||||
@@ -297,11 +297,6 @@
|
||||
"1.0833": [0, 0, 0]
|
||||
}
|
||||
}
|
||||
},
|
||||
"sound_effects": {
|
||||
"0.25": {
|
||||
"effect": "pokemon.ditto.cry"
|
||||
}
|
||||
}
|
||||
},
|
||||
"animation.ditto.blink": {
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
"animations": {
|
||||
"animation.metagross.ground_idle": {
|
||||
"loop": true,
|
||||
"animation_length": 0,
|
||||
"animation_length": 11.4167,
|
||||
"bones": {
|
||||
"body2": {
|
||||
"position": [0, -11.9, 0]
|
||||
|
||||
@@ -299,14 +299,6 @@
|
||||
"rotation": [0, 0, 15]
|
||||
}
|
||||
}
|
||||
},
|
||||
"animation.eelektrik.cry": {
|
||||
"animation_length": 1.25,
|
||||
"sound_effects": {
|
||||
"0.0417": {
|
||||
"effect": "pokemon.eelektrik.cry"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -869,14 +869,6 @@
|
||||
"position": [-0.1, 0, 0]
|
||||
}
|
||||
}
|
||||
},
|
||||
"animation.eelektross.cry": {
|
||||
"animation_length": 1.25,
|
||||
"sound_effects": {
|
||||
"0.0417": {
|
||||
"effect": "pokemon.eelektross.cry"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -84,7 +84,7 @@
|
||||
"position": [0, "0+Math.cos((query.anim_time) * 90 * 8 - 60) * -0.1", 0]
|
||||
},
|
||||
"hair3": {
|
||||
"rotation": ["-2+Math.cos((query.anim_time) * 90 * 8 - 100) * 3", 0, 0]
|
||||
"rotation": ["0+Math.cos((query.anim_time) * 90 * 8 - 100) * 3", 0, 0]
|
||||
},
|
||||
"hair": {
|
||||
"rotation": ["0+Math.cos((query.anim_time) * 90 * 8 - 120) * 10", 12.5, "0+Math.cos((query.anim_time) * 90 * 4 - 180) * 10"]
|
||||
@@ -356,7 +356,7 @@
|
||||
"position": [-1.63659, -1.07651, 3.16823]
|
||||
},
|
||||
"arm_right": {
|
||||
"rotation": [-99.86576, -52.80463, 0.06108]
|
||||
"rotation": [-80.89079, -82.69097, -6.55875]
|
||||
},
|
||||
"finger_right": {
|
||||
"rotation": [0, 0, 17.5]
|
||||
@@ -375,21 +375,6 @@
|
||||
},
|
||||
"arm_hammer_left": {
|
||||
"rotation": [-85, 100, 0]
|
||||
},
|
||||
"hand_right": {
|
||||
"rotation": [0, 0, -22.5]
|
||||
},
|
||||
"brow_right": {
|
||||
"position": [0, -0.75, 0]
|
||||
},
|
||||
"brow_left": {
|
||||
"position": [0, -0.75, 0]
|
||||
},
|
||||
"eyes_ditto": {
|
||||
"position": [0, 0, 0.1]
|
||||
},
|
||||
"eyes_blink_ditto": {
|
||||
"position": [0, 0, -0.1]
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -475,26 +460,40 @@
|
||||
"1.875": [0, 0, 0]
|
||||
}
|
||||
},
|
||||
"eyelid_right": {
|
||||
"position": {
|
||||
"0.375": [0, 0, 0],
|
||||
"0.4167": [0, 0, -0.125],
|
||||
"0.625": [0, 0, -0.125],
|
||||
"0.6667": [0, 0, 0],
|
||||
"0.8333": [0, 0, 0],
|
||||
"0.875": [0, 0, -0.125],
|
||||
"1.5833": [0, 0, -0.125],
|
||||
"1.625": [0, 0, 0],
|
||||
"1.7083": [0, 0, 0],
|
||||
"1.75": [0, 0, -0.125]
|
||||
}
|
||||
},
|
||||
"eyelid_left": {
|
||||
"position": {
|
||||
"0.375": [0, 0, 0],
|
||||
"0.4167": [0, 0, -0.1],
|
||||
"0.625": [0, 0, -0.1],
|
||||
"0.4167": [0, 0, -0.125],
|
||||
"0.625": [0, 0, -0.125],
|
||||
"0.6667": [0, 0, 0],
|
||||
"0.8333": [0, 0, 0],
|
||||
"0.875": [0, 0, -0.1],
|
||||
"1.5833": [0, 0, -0.1],
|
||||
"1.625": [0, 0, 1],
|
||||
"0.875": [0, 0, -0.125],
|
||||
"1.5833": [0, 0, -0.125],
|
||||
"1.625": [0, 0, 0],
|
||||
"1.7083": [0, 0, 0],
|
||||
"1.75": [0, 0, -0.1]
|
||||
"1.75": [0, 0, -0.125]
|
||||
}
|
||||
},
|
||||
"mouth_open_cry": {
|
||||
"mouth_open": {
|
||||
"position": {
|
||||
"0.8333": [0, 0, 0],
|
||||
"0.875": {"pre": [0, 0, 0], "post": [0, 0, -0.1]},
|
||||
"1.875": {"pre": [0, 0, -0.1], "post": [0, 0, -0.1]},
|
||||
"1.9167": {"pre": [0, 0, -0.1], "post": [0, 0, 0]}
|
||||
"0.875": [0, 0, -0.125],
|
||||
"1.875": [0, 0, -0.125],
|
||||
"1.9167": [0, 0, 0]
|
||||
}
|
||||
},
|
||||
"arm_left": {
|
||||
@@ -557,6 +556,13 @@
|
||||
"1.75": [0, 0, 0]
|
||||
}
|
||||
},
|
||||
"eye_right": {
|
||||
"scale": {
|
||||
"1.5833": [1, 1, 1],
|
||||
"1.625": [1.4, 1.4, 3.3],
|
||||
"1.7083": [1, 1, 1]
|
||||
}
|
||||
},
|
||||
"eye_left": {
|
||||
"scale": {
|
||||
"1.5833": [1, 1, 1],
|
||||
@@ -716,55 +722,6 @@
|
||||
"1.7083": [1, 1, 1]
|
||||
}
|
||||
},
|
||||
"leg_left": {
|
||||
"rotation": {
|
||||
"0.0": [0, 0, 0],
|
||||
"0.2917": [0, -20, -2.5],
|
||||
"0.4167": [-5.68, -13.75, -2.5],
|
||||
"0.5833": [-32.36, -7.5, -2.5],
|
||||
"0.7083": [-40.5, 2.5, -2.5],
|
||||
"0.75": [-33.83, 2.5, -2.5],
|
||||
"0.8333": [-30.5, 2.5, -2.5]
|
||||
},
|
||||
"position": {
|
||||
"0.4167": [0, 0, 0],
|
||||
"0.5833": [0, 0, -0.75],
|
||||
"1.5833": [0, 0, -0.75],
|
||||
"1.625": [1.25, 0, -0.75],
|
||||
"1.75": [0, 0, 0]
|
||||
}
|
||||
},
|
||||
"arm_hammer_left": {
|
||||
"rotation": {
|
||||
"0.0": [0, 0, 17.5],
|
||||
"0.25": [0, -25, 5],
|
||||
"0.4167": [0, -32.5, 3.5],
|
||||
"0.5": [-11.25, 40.75, -16.75],
|
||||
"0.5833": [-22.5, 46.75, -37],
|
||||
"0.7083": [-25, 44, -40.75]
|
||||
}
|
||||
},
|
||||
"eye_right": {
|
||||
"scale": {
|
||||
"1.5833": [1, 1, 1],
|
||||
"1.625": [1.4, 1.4, 3.3],
|
||||
"1.7083": [1, 1, 1]
|
||||
}
|
||||
},
|
||||
"eyelid_right": {
|
||||
"position": {
|
||||
"0.375": [0, 0, 0],
|
||||
"0.4167": [0, 0, -0.1],
|
||||
"0.625": [0, 0, -0.1],
|
||||
"0.6667": [0, 0, 0],
|
||||
"0.8333": [0, 0, 0],
|
||||
"0.875": [0, 0, -0.1],
|
||||
"1.5833": [0, 0, -0.1],
|
||||
"1.625": [0, 0, 1],
|
||||
"1.7083": [0, 0, 0],
|
||||
"1.75": [0, 0, -0.1]
|
||||
}
|
||||
},
|
||||
"arm_right": {
|
||||
"rotation": {
|
||||
"0.0": [0, 0, -20],
|
||||
@@ -796,6 +753,24 @@
|
||||
"finger_right3": {
|
||||
"rotation": [0, 0, -22.5]
|
||||
},
|
||||
"leg_left": {
|
||||
"rotation": {
|
||||
"0.0": [0, 0, 0],
|
||||
"0.2917": [0, -20, -2.5],
|
||||
"0.4167": [-5.68, -13.75, -2.5],
|
||||
"0.5833": [-32.36, -7.5, -2.5],
|
||||
"0.7083": [-40.5, 2.5, -2.5],
|
||||
"0.75": [-33.83, 2.5, -2.5],
|
||||
"0.8333": [-30.5, 2.5, -2.5]
|
||||
},
|
||||
"position": {
|
||||
"0.4167": [0, 0, 0],
|
||||
"0.5833": [0, 0, -0.75],
|
||||
"1.5833": [0, 0, -0.75],
|
||||
"1.625": [1.25, 0, -0.75],
|
||||
"1.75": [0, 0, 0]
|
||||
}
|
||||
},
|
||||
"leg_right": {
|
||||
"rotation": {
|
||||
"0.0": [0, 0, 0],
|
||||
@@ -814,146 +789,33 @@
|
||||
"1.75": [-0.5, 0, 0]
|
||||
}
|
||||
},
|
||||
"brow_left": {
|
||||
"position": {
|
||||
"0.375": [0, 0, 0],
|
||||
"0.4167": [0, -0.75, 0],
|
||||
"0.625": [0, -0.75, 0],
|
||||
"0.6667": [0, 0, 0],
|
||||
"0.8333": [0, 0, 0],
|
||||
"0.875": [0, -0.75, 0],
|
||||
"1.5833": [0, -0.75, 0],
|
||||
"1.625": [0, 0, 0],
|
||||
"1.7083": [0, 0, 0],
|
||||
"1.75": [0, -0.75, 0]
|
||||
}
|
||||
},
|
||||
"brow_right": {
|
||||
"position": {
|
||||
"0.375": [0, 0, 0],
|
||||
"0.4167": [0, -0.75, 0],
|
||||
"0.625": [0, -0.75, 0],
|
||||
"0.6667": [0, 0, 0],
|
||||
"0.8333": [0, 0, 0],
|
||||
"0.875": [0, -0.75, 0],
|
||||
"1.5833": [0, -0.75, 0],
|
||||
"1.625": [0, 0, 0],
|
||||
"1.7083": [0, 0, 0],
|
||||
"1.75": [0, -0.75, 0]
|
||||
}
|
||||
},
|
||||
"mouth_closed": {
|
||||
"position": {
|
||||
"0.8333": [0, 0, 0],
|
||||
"0.875": {"pre": [0, 0, 0], "post": [0, -0.5, 0]},
|
||||
"1.875": {"pre": [0, -0.5, 0], "post": [0, -0.5, 0]},
|
||||
"1.9167": {"pre": [0, -0.5, 0], "post": [0, 0, 0]}
|
||||
}
|
||||
},
|
||||
"mouth_lip_top": {
|
||||
"position": {
|
||||
"0.8333": [0, 0, 0],
|
||||
"0.875": {"pre": [0, 0, 0], "post": [0, 0, 0.1]},
|
||||
"1.875": {"pre": [0, 0, 0.1], "post": [0, 0, 0.1]},
|
||||
"1.9167": {"pre": [0, 0, 0.1], "post": [0, 0, 0]}
|
||||
}
|
||||
},
|
||||
"eyes_ditto": {
|
||||
"position": {
|
||||
"0.375": [0, 0, 0],
|
||||
"0.4167": {"pre": [0, 0, 0], "post": [0, 0, 0.1]},
|
||||
"0.625": {"pre": [0, 0, 0.1], "post": [0, 0, 0.1]},
|
||||
"0.6667": {"pre": [0, 0, 0.1], "post": [0, 0, 0]},
|
||||
"0.8333": {"pre": [0, 0, 0], "post": [0, 0, 0]},
|
||||
"0.875": {"pre": [0, 0, 0], "post": [0, 0, 0.1]},
|
||||
"1.5833": {"pre": [0, 0, 0.1], "post": [0, 0, 0]},
|
||||
"1.75": {"pre": [0, 0, 0], "post": [0, 0, 0.1]}
|
||||
},
|
||||
"scale": {
|
||||
"1.5833": [1, 1, 1],
|
||||
"1.625": [1.4, 1.4, 3.3],
|
||||
"1.7083": [1, 1, 1]
|
||||
}
|
||||
},
|
||||
"eyes_blink_ditto": {
|
||||
"position": {
|
||||
"0.375": [0, 0, 0],
|
||||
"0.4167": {"pre": [0, 0, 0], "post": [0, 0, -0.1]},
|
||||
"0.625": {"pre": [0, 0, -0.1], "post": [0, 0, -0.1]},
|
||||
"0.6667": {"pre": [0, 0, -0.1], "post": [0, 0, 0]},
|
||||
"0.8333": {"pre": [0, 0, 0], "post": [0, 0, 0]},
|
||||
"0.875": {"pre": [0, 0, 0], "post": [0, 0, -0.1]},
|
||||
"1.5833": {"pre": [0, 0, -0.1], "post": [0, 0, 0]},
|
||||
"1.75": {"pre": [0, 0, 0], "post": [0, 0, -0.1]}
|
||||
}
|
||||
},
|
||||
"mouth_ditto": {
|
||||
"position": {
|
||||
"0.8333": [0, 0, 0],
|
||||
"0.875": {"pre": [0, 0, 0], "post": [0, 0, 0.1]},
|
||||
"1.875": {"pre": [0, 0, 0.1], "post": [0, 0, 0.1]},
|
||||
"1.9167": {"pre": [0, 0, 0.1], "post": [0, 0, 0]}
|
||||
}
|
||||
},
|
||||
"mouth_open_ditto": {
|
||||
"position": {
|
||||
"0.8333": [0, 0, 0],
|
||||
"0.875": {"pre": [0, 0, 0], "post": [0, 0, -0.1]},
|
||||
"1.875": {"pre": [0, 0, -0.1], "post": [0, 0, -0.1]},
|
||||
"1.9167": {"pre": [0, 0, -0.1], "post": [0, 0, 0]}
|
||||
"arm_hammer_left": {
|
||||
"rotation": {
|
||||
"0.0": [0, 0, 17.5],
|
||||
"0.25": [0, -25, 5],
|
||||
"0.4167": [0, -32.5, 3.5],
|
||||
"0.5": [-11.25, 40.75, -16.75],
|
||||
"0.5833": [-22.5, 46.75, -37],
|
||||
"0.7083": [-25, 44, -40.75]
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"animation.tinkatink.blink": {
|
||||
"animation_length": 0.1667,
|
||||
"animation_length": 0.16667,
|
||||
"bones": {
|
||||
"eyelid_right": {
|
||||
"position": {
|
||||
"0.0": [0, 0, -0.1],
|
||||
"0.1667": {"pre": [0, 0, -0.1], "post": [0, 0, 0]}
|
||||
"0.125": [0, 0, -0.1],
|
||||
"0.1667": [0, 0, 0]
|
||||
}
|
||||
},
|
||||
"eyelid_left": {
|
||||
"position": {
|
||||
"0.0": [0, 0, -0.1],
|
||||
"0.1667": {"pre": [0, 0, -0.1], "post": [0, 0, 0]}
|
||||
}
|
||||
},
|
||||
"brow_left": {
|
||||
"position": {
|
||||
"0.0": [0, 0, 0.1],
|
||||
"0.1667": {"pre": [0, 0, 0.1], "post": [0, 0, 0]}
|
||||
}
|
||||
},
|
||||
"brow_right": {
|
||||
"position": {
|
||||
"0.0": [0, 0, 0.1],
|
||||
"0.1667": {"pre": [0, 0, 0.1], "post": [0, 0, 0]}
|
||||
}
|
||||
},
|
||||
"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]}
|
||||
}
|
||||
},
|
||||
"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.125": [0, 0, -0.1],
|
||||
"0.1667": [0, 0, 0]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -961,6 +823,38 @@
|
||||
"animation.tinkatink.cry": {
|
||||
"animation_length": 1.5,
|
||||
"bones": {
|
||||
"neck": {
|
||||
"rotation": {
|
||||
"0.0": [0, 0, 0],
|
||||
"0.25": [10, 0, 0],
|
||||
"1.25": [10, 0, 0],
|
||||
"1.5": [0, 0, 0]
|
||||
}
|
||||
},
|
||||
"mouth": {
|
||||
"position": {
|
||||
"0.0": [0, 0, 0],
|
||||
"0.25": [0, -2, 0],
|
||||
"1.25": [0, -2, 0],
|
||||
"1.5": [0, 0, 0]
|
||||
}
|
||||
},
|
||||
"mouth2": {
|
||||
"position": {
|
||||
"0.0": [0, 0, 0],
|
||||
"0.25": [0, -5, 0],
|
||||
"1.25": [0, -5, 0],
|
||||
"1.5": [0, 0, 0]
|
||||
}
|
||||
},
|
||||
"jaw": {
|
||||
"position": {
|
||||
"0.0": [0, 0, 0],
|
||||
"0.25": [0, -3, 0],
|
||||
"1.25": [0, -3, 0],
|
||||
"1.5": [0, 0, 0]
|
||||
}
|
||||
},
|
||||
"head": {
|
||||
"rotation": {
|
||||
"0.0": [0, 0, 0],
|
||||
@@ -969,12 +863,60 @@
|
||||
"1.5": [0, 0, 0]
|
||||
}
|
||||
},
|
||||
"mouth_open_cry": {
|
||||
"head2": {
|
||||
"rotation": {
|
||||
"0.0": [0, 0, 0],
|
||||
"0.25": [-15, 0, 0],
|
||||
"1.25": [-15, 0, 0],
|
||||
"1.5": [0, 0, 0]
|
||||
}
|
||||
},
|
||||
"mouth_closed2": {
|
||||
"position": {
|
||||
"0.25": [0, 0, -0.1],
|
||||
"0.3333": [0, 0, 0],
|
||||
"1.1667": [0, 0, 0],
|
||||
"1.25": [0, 0, -0.1]
|
||||
}
|
||||
},
|
||||
"mouth_open2": {
|
||||
"position": {
|
||||
"0.0": [0, 0, 0.1],
|
||||
"0.25": [0, 0, 0],
|
||||
"1.25": [0, 0, 0],
|
||||
"1.5": [0, 0, 0.1]
|
||||
}
|
||||
},
|
||||
"head3": {
|
||||
"rotation": {
|
||||
"0.0": [0, 0, 0],
|
||||
"0.25": [-15, 0, 0],
|
||||
"1.25": [-15, 0, 0],
|
||||
"1.5": [0, 0, 0]
|
||||
}
|
||||
},
|
||||
"mouth_closed3": {
|
||||
"position": {
|
||||
"0.25": [0, 0, -0.1],
|
||||
"0.3333": [0, 0, 0],
|
||||
"1.1667": [0, 0, 0],
|
||||
"1.25": [0, 0, -0.1]
|
||||
}
|
||||
},
|
||||
"mouth_open3": {
|
||||
"position": {
|
||||
"0.0": [0, 0, 0.1],
|
||||
"0.25": [0, 0, 0],
|
||||
"1.25": [0, 0, 0],
|
||||
"1.5": [0, 0, 0.1]
|
||||
}
|
||||
},
|
||||
"mouth_open": {
|
||||
"position": {
|
||||
"0.0833": [0, 0, 0],
|
||||
"0.1667": {"pre": [0, 0, 0], "post": [0, 0, -0.1]},
|
||||
"1.25": {"pre": [0, 0, -0.1], "post": [0, 0, -0.1]},
|
||||
"1.3333": {"pre": [0, 0, -0.1], "post": [0, 0, 0]}
|
||||
"0.1667": [0, 0, -0.15],
|
||||
"1.25": [0, 0, -0.15],
|
||||
"1.3333": [0, 0, 0]
|
||||
}
|
||||
},
|
||||
"arm_left": {
|
||||
@@ -1006,38 +948,10 @@
|
||||
"1.25": [0, 0, -2.4],
|
||||
"1.5": [0, 0, 0]
|
||||
}
|
||||
},
|
||||
"mouth_closed": {
|
||||
"position": {
|
||||
"0.0": [0, 0, 0],
|
||||
"0.1667": {"pre": [0, 0, 0], "post": [0, -0.5, 0]},
|
||||
"1.3333": {"pre": [0, -0.5, 0], "post": [0, 0, 0]}
|
||||
}
|
||||
},
|
||||
"mouth_lip_top": {
|
||||
"position": {
|
||||
"0.0": [0, 0, 0],
|
||||
"0.1667": {"pre": [0, 0, 0], "post": [0, 0, 0.1]},
|
||||
"1.3333": {"pre": [0, 0, 0.1], "post": [0, 0, 0]}
|
||||
}
|
||||
},
|
||||
"mouth_ditto": {
|
||||
"position": {
|
||||
"0.0": [0, 0, 0],
|
||||
"0.1667": {"pre": [0, 0, 0], "post": [0, 0, 0.1]},
|
||||
"1.3333": {"pre": [0, 0, 0.1], "post": [0, 0, 0]}
|
||||
}
|
||||
},
|
||||
"mouth_open_ditto": {
|
||||
"position": {
|
||||
"0.0": [0, 0, 0],
|
||||
"0.1667": {"pre": [0, 0, 0], "post": [0, 0, -0.1]},
|
||||
"1.3333": {"pre": [0, 0, -0.1], "post": [0, 0, 0]}
|
||||
}
|
||||
}
|
||||
},
|
||||
"sound_effects": {
|
||||
"0.0": {
|
||||
"0.25": {
|
||||
"effect": "pokemon.tinkatink.cry"
|
||||
}
|
||||
}
|
||||
@@ -1148,128 +1062,6 @@
|
||||
"rotation": [0, 0, 32.5]
|
||||
}
|
||||
}
|
||||
},
|
||||
"animation.tinkatink.ditto_face": {
|
||||
"loop": true,
|
||||
"bones": {
|
||||
"face": {
|
||||
"position": [0, 0, 0.1],
|
||||
"scale": 0
|
||||
},
|
||||
"face_ditto": {
|
||||
"position": [0, 0, -0.1]
|
||||
}
|
||||
}
|
||||
},
|
||||
"animation.tinkatink.happy": {
|
||||
"loop": true,
|
||||
"bones": {
|
||||
"brow_left": {
|
||||
"position": [0, 0, 0.1]
|
||||
},
|
||||
"brow_right": {
|
||||
"position": [0, 0, 0.1]
|
||||
},
|
||||
"eye_left": {
|
||||
"position": [0, 0, 0.1]
|
||||
},
|
||||
"eye_right": {
|
||||
"position": [0, 0, 0.1]
|
||||
},
|
||||
"mouth_closed": {
|
||||
"position": [0, 0, 0.1]
|
||||
},
|
||||
"mouth_lip_top": {
|
||||
"position": [0, 0, 0.1]
|
||||
},
|
||||
"mouth_open_happy": {
|
||||
"position": [0, 0, -0.1]
|
||||
},
|
||||
"eyelid_happy_left": {
|
||||
"position": [0, 0, -0.1]
|
||||
},
|
||||
"eyelid_happy_right": {
|
||||
"position": [0, 0, -0.1]
|
||||
}
|
||||
}
|
||||
},
|
||||
"animation.tinkatink.angry": {
|
||||
"loop": true,
|
||||
"bones": {
|
||||
"eye_emote_left": {
|
||||
"scale": [1, 0.5, 1]
|
||||
},
|
||||
"eye_emote_right": {
|
||||
"scale": [1, 0.5, 1]
|
||||
},
|
||||
"eye_emote_left2": {
|
||||
"position": [0.25, 0, 0],
|
||||
"scale": [0.5, 1, 1]
|
||||
},
|
||||
"eye_emote_right2": {
|
||||
"position": [-0.25, 0, 0],
|
||||
"scale": [0.5, 1, 1]
|
||||
}
|
||||
}
|
||||
},
|
||||
"animation.tinkatink.very_sad": {
|
||||
"loop": true,
|
||||
"bones": {
|
||||
"eye_emote_left": {
|
||||
"scale": [1, 0.5, 1]
|
||||
},
|
||||
"eye_emote_right": {
|
||||
"scale": [1, 0.5, 1]
|
||||
},
|
||||
"eye_emote_left2": {
|
||||
"position": [-0.25, 0, 0],
|
||||
"scale": [0.5, 1, 1]
|
||||
},
|
||||
"eye_emote_right2": {
|
||||
"position": [0.25, 0, 0],
|
||||
"scale": [0.5, 1, 1]
|
||||
}
|
||||
}
|
||||
},
|
||||
"animation.tinkatink.hurt": {
|
||||
"loop": true,
|
||||
"bones": {
|
||||
"brow_left": {
|
||||
"position": [0, 0, 0.1]
|
||||
},
|
||||
"brow_right": {
|
||||
"position": [0, 0, 0.1]
|
||||
},
|
||||
"eye_left": {
|
||||
"position": [0, 0, 0.1]
|
||||
},
|
||||
"eye_right": {
|
||||
"position": [0, 0, 0.1]
|
||||
},
|
||||
"eyelid_hurt_left": {
|
||||
"position": [0, 0, -0.1]
|
||||
},
|
||||
"eyelid_hurt_right": {
|
||||
"position": [0, 0, -0.1]
|
||||
}
|
||||
}
|
||||
},
|
||||
"animation.tinkatink.disinterested": {
|
||||
"loop": true,
|
||||
"bones": {
|
||||
"eye_emote_left": {
|
||||
"scale": [1, 0.5, 1]
|
||||
},
|
||||
"eye_emote_right": {
|
||||
"scale": [1, 0.5, 1]
|
||||
},
|
||||
"eye_emote_left2": {
|
||||
"position": [0, 0, 0.1]
|
||||
},
|
||||
"eye_emote_right2": {
|
||||
"position": [0, 0, 0.1]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -4,6 +4,12 @@
|
||||
"animation.tinkatuff.ground_idle": {
|
||||
"loop": true,
|
||||
"bones": {
|
||||
"tail": {
|
||||
"rotation": [12.5, 0, 0]
|
||||
},
|
||||
"tail2": {
|
||||
"rotation": [12.5, 0, 0]
|
||||
},
|
||||
"arm_right": {
|
||||
"rotation": [55.98303, 0.22836, "-40.7651+Math.cos((query.anim_time) * 90 * 2 - 120) * 1"],
|
||||
"position": [-0.25, -0.5, 0]
|
||||
@@ -15,8 +21,7 @@
|
||||
"rotation": [0, 0, -5]
|
||||
},
|
||||
"finger_right2": {
|
||||
"rotation": [0, -17.5, 37.5],
|
||||
"position": [-0.25, 0, 0]
|
||||
"rotation": [0, -10, 37.5]
|
||||
},
|
||||
"arm_left": {
|
||||
"rotation": [-84.39003, 4.58778, "53.5046+Math.cos((query.anim_time) * 90 * 2 - 120) * 1"]
|
||||
@@ -25,11 +30,17 @@
|
||||
"rotation": [0, -15, 55]
|
||||
},
|
||||
"finger_left": {
|
||||
"rotation": [0, 0, -40]
|
||||
"rotation": [0, 0, -25]
|
||||
},
|
||||
"finger_left2": {
|
||||
"rotation": [20, 0, 0]
|
||||
},
|
||||
"hand_left": {
|
||||
"rotation": [0, 17.5, 0]
|
||||
},
|
||||
"hand_right": {
|
||||
"rotation": [0, -17.5, 0]
|
||||
},
|
||||
"leg_left": {
|
||||
"rotation": [0, -12.5, -5]
|
||||
},
|
||||
@@ -37,7 +48,7 @@
|
||||
"rotation": [0, 12.5, 5]
|
||||
},
|
||||
"finger_left3": {
|
||||
"rotation": [0, 0, 67.5]
|
||||
"rotation": [0, 0, 57.5]
|
||||
},
|
||||
"finger_right3": {
|
||||
"rotation": [0, 0, -20]
|
||||
@@ -67,6 +78,9 @@
|
||||
"head": {
|
||||
"rotation": ["12.5+Math.cos((query.anim_time) * 90 * 2 - 50) * 2", 0, 0]
|
||||
},
|
||||
"mouth_closed": {
|
||||
"position": [0, 0, 0]
|
||||
},
|
||||
"ponytail": {
|
||||
"rotation": ["0+Math.cos((query.anim_time) * 90 * 2 - 120) * 1", 0, 0]
|
||||
},
|
||||
@@ -173,24 +187,10 @@
|
||||
}
|
||||
},
|
||||
"finger_right2": {
|
||||
"rotation": [7.5, 0, 42.5],
|
||||
"position": [-0.25, 0.25, 0]
|
||||
"rotation": [7.5, 0, 10]
|
||||
},
|
||||
"finger_right3": {
|
||||
"rotation": [-0.88045, -9.96156, 5.07673]
|
||||
},
|
||||
"finger_left": {
|
||||
"rotation": [0, 0, -55],
|
||||
"position": [0, 0.5, 0]
|
||||
},
|
||||
"finger_left2": {
|
||||
"rotation": [0, 0, -17.5]
|
||||
},
|
||||
"finger_left3": {
|
||||
"rotation": [0, 0, 22.5]
|
||||
},
|
||||
"finger_right": {
|
||||
"rotation": [0, 0, 20]
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -210,7 +210,7 @@
|
||||
"rotation": [-15, -2.5, 62.5]
|
||||
},
|
||||
"finger_left3": {
|
||||
"rotation": [0, 0, 22.5]
|
||||
"rotation": [0, 0, 52.5]
|
||||
},
|
||||
"arm_right": {
|
||||
"rotation": [22.5, -10, -35],
|
||||
@@ -299,29 +299,18 @@
|
||||
},
|
||||
"arm_hammer_right2": {
|
||||
"rotation": [0, -70, 0]
|
||||
},
|
||||
"finger_left": {
|
||||
"rotation": [0, 0, -52.5],
|
||||
"position": [0, 0.75, 0]
|
||||
},
|
||||
"finger_left2": {
|
||||
"rotation": [0, 0, -15]
|
||||
},
|
||||
"finger_right": {
|
||||
"rotation": [0, 0, 20]
|
||||
},
|
||||
"finger_right2": {
|
||||
"rotation": [7.5, 0, 37.5],
|
||||
"position": [-0.25, 0.25, 0]
|
||||
},
|
||||
"finger_right3": {
|
||||
"rotation": [0, 0, -32.5]
|
||||
}
|
||||
}
|
||||
},
|
||||
"animation.tinkatuff.battle_idle": {
|
||||
"loop": true,
|
||||
"bones": {
|
||||
"tail": {
|
||||
"rotation": [12.5, 0, 0]
|
||||
},
|
||||
"tail2": {
|
||||
"rotation": [12.5, 0, 0]
|
||||
},
|
||||
"arm_right": {
|
||||
"rotation": [40.98303, 0.22836, "-45.7651+Math.cos((query.anim_time) * 90 * 2 - 40) * 2"]
|
||||
},
|
||||
@@ -329,8 +318,7 @@
|
||||
"rotation": [0, -52.5, 0]
|
||||
},
|
||||
"finger_right": {
|
||||
"rotation": [0, 0, 37.5],
|
||||
"position": [0, 0.25, 0]
|
||||
"rotation": [0, 0, -5]
|
||||
},
|
||||
"finger_right2": {
|
||||
"rotation": [0, 0, 37.5]
|
||||
@@ -342,12 +330,17 @@
|
||||
"rotation": [0, 0, "55+Math.cos((query.anim_time) * 90 * 2 - 40) * -2"]
|
||||
},
|
||||
"finger_left": {
|
||||
"rotation": [0, 0, -47.5],
|
||||
"position": [0, 0.5, 0]
|
||||
"rotation": [0, 0, -25]
|
||||
},
|
||||
"finger_left2": {
|
||||
"rotation": [20, 0, 0]
|
||||
},
|
||||
"hand_left": {
|
||||
"rotation": [0, 17.5, 0]
|
||||
},
|
||||
"hand_right": {
|
||||
"rotation": [0, -17.5, 0]
|
||||
},
|
||||
"leg_left": {
|
||||
"rotation": ["-11.2025+Math.cos((query.anim_time) * 90 * 2) * 3", -21.49336, -9.33448]
|
||||
},
|
||||
@@ -355,11 +348,10 @@
|
||||
"rotation": ["-13.5954+Math.cos((query.anim_time) * 90 * 2) * 3", 22.38126, 10.45107]
|
||||
},
|
||||
"finger_left3": {
|
||||
"rotation": [0, 0, 42.5],
|
||||
"position": [-0.5, -0.25, 0]
|
||||
"rotation": [0, 0, 57.5]
|
||||
},
|
||||
"finger_right3": {
|
||||
"rotation": [0, 0, -40]
|
||||
"rotation": [0, 0, -20]
|
||||
},
|
||||
"hammer": {
|
||||
"rotation": [-12.18122, -2.58318, 113.79667]
|
||||
@@ -424,8 +416,7 @@
|
||||
"position": [-0.5, 0, 0]
|
||||
},
|
||||
"hammer": {
|
||||
"rotation": [15, 0, 0],
|
||||
"position": [0, 0.5, 3.75]
|
||||
"rotation": [15, 0, 0]
|
||||
},
|
||||
"hammer2": {
|
||||
"rotation": ["90+Math.cos((query.anim_time) * 90 * 1) * -1", 0, 0],
|
||||
@@ -465,18 +456,43 @@
|
||||
},
|
||||
"leg_right": {
|
||||
"rotation": [-90, 20, 0]
|
||||
},
|
||||
"eyes_ditto": {
|
||||
"position": [0, 0, 0.1]
|
||||
},
|
||||
"eyes_blink_ditto": {
|
||||
"position": [0, 0, -0.1]
|
||||
}
|
||||
}
|
||||
},
|
||||
"animation.tinkatuff.faint": {
|
||||
"animation_length": 3,
|
||||
"bones": {
|
||||
"arm_right": {
|
||||
"rotation": {
|
||||
"0.0": [40.98303, 0.22836, -45.7651],
|
||||
"0.2083": [5.98, 0.23, -45.77],
|
||||
"0.2917": [35.98, 0.23, -45.77],
|
||||
"0.75": [18.48, 5.23, -23.27],
|
||||
"0.9167": [60.98, -12.27, -35.77],
|
||||
"1.2083": [30.98, -59.77, -35.77],
|
||||
"1.3333": [32.05, -62.98, -35.77],
|
||||
"1.5": [33.48, -67.27, -35.77],
|
||||
"1.8333": [15.98, -79.77, -35.77],
|
||||
"1.9167": [67.65, -129.77, -110.77],
|
||||
"1.9583": [93.48, -154.77, -148.27],
|
||||
"2.0833": [93.48, -174.77, -168.27],
|
||||
"2.3333": [93.48, -169.77, -168.27]
|
||||
}
|
||||
},
|
||||
"arm_right2": {
|
||||
"rotation": {
|
||||
"0.0": [0, -52.5, 0],
|
||||
"1.0": [0, -52.5, 0],
|
||||
"1.2083": [0, -57.5, 0],
|
||||
"1.5": [0, -30, 0]
|
||||
}
|
||||
},
|
||||
"finger_right": {
|
||||
"rotation": [0, 0, -5]
|
||||
},
|
||||
"finger_right2": {
|
||||
"rotation": [0, 0, 37.5]
|
||||
},
|
||||
"arm_left": {
|
||||
"rotation": {
|
||||
"0.0": [-84.39003, 24.58778, 53.5046],
|
||||
@@ -531,9 +547,30 @@
|
||||
"2.375": [-30.37, 0, -5]
|
||||
}
|
||||
},
|
||||
"leg_right": {
|
||||
"rotation": {
|
||||
"0.0": [-13.6, 22.38, 10.45],
|
||||
"0.1667": [-31.1, 22.38, 10.45],
|
||||
"0.25": [-26.1, 22.38, 10.45],
|
||||
"0.5": [-3.6, 22.38, 10.45],
|
||||
"0.7917": [6.4, 22.38, 10.45],
|
||||
"0.9167": [-31.1, 22.38, 10.45],
|
||||
"1.2083": [-31.1, 42.38, 10.45],
|
||||
"1.375": [-30, 0, 0],
|
||||
"1.6667": [-30, 0, 5],
|
||||
"1.875": [70, 0, 5],
|
||||
"2.0417": [40.36, 0, 5],
|
||||
"2.1667": [-30, 0, 5],
|
||||
"2.25": [-45, 0, 5],
|
||||
"2.375": [-35, 0, 5]
|
||||
}
|
||||
},
|
||||
"finger_left3": {
|
||||
"rotation": [0, 0, 57.5]
|
||||
},
|
||||
"finger_right3": {
|
||||
"rotation": [0, 0, -20]
|
||||
},
|
||||
"hammer": {
|
||||
"rotation": {
|
||||
"0.0": [-0.78, -6.26, 38.97],
|
||||
@@ -556,6 +593,9 @@
|
||||
"skirt_left": {
|
||||
"rotation": [0, 0, -15]
|
||||
},
|
||||
"skirt_right": {
|
||||
"rotation": [-10, 0, 15]
|
||||
},
|
||||
"leg_left2": {
|
||||
"rotation": {
|
||||
"0.0": [20, 0, 0],
|
||||
@@ -571,6 +611,18 @@
|
||||
"2.0417": [15, 0, 0]
|
||||
}
|
||||
},
|
||||
"leg_right2": {
|
||||
"rotation": {
|
||||
"0.0": [15, 0, -10],
|
||||
"0.1667": [35, 0, -10],
|
||||
"0.25": [-10, 0, -10],
|
||||
"0.5": [27.5, 0, 5],
|
||||
"0.7917": [5, 0, 5],
|
||||
"0.9167": [35, 0, 5],
|
||||
"1.375": [35, 0, 0],
|
||||
"1.6667": [22.5, 0, 0]
|
||||
}
|
||||
},
|
||||
"body": {
|
||||
"rotation": {
|
||||
"0.9167": [0, 0, 0],
|
||||
@@ -799,517 +851,132 @@
|
||||
},
|
||||
"eyelid_left": {
|
||||
"position": {
|
||||
"0.0": [0, 0, 0],
|
||||
"0.25": {
|
||||
"pre": [0, 0, 0],
|
||||
"post": [0, 0, -0.1]
|
||||
},
|
||||
"0.4167": {
|
||||
"pre": [0, 0, -0.1],
|
||||
"post": [0, 0, 0]
|
||||
},
|
||||
"0.9583": {
|
||||
"pre": [0, 0, 0],
|
||||
"post": [0, 0, -0.1]
|
||||
},
|
||||
"1.7917": {
|
||||
"pre": [0, 0, -0.1],
|
||||
"post": [0, 0, 0]
|
||||
},
|
||||
"2.0417": {
|
||||
"pre": [0, 0, 0],
|
||||
"post": [0, 0, -0.1]
|
||||
}
|
||||
}
|
||||
},
|
||||
"mouth_top": {
|
||||
"position": {
|
||||
"0.0": [0, 0, 0],
|
||||
"0.25": {
|
||||
"pre": [0, 0, 0],
|
||||
"post": [0, 0.5, 0]
|
||||
},
|
||||
"0.9167": {
|
||||
"pre": [0, 0.5, 0],
|
||||
"post": [0, 0, 0]
|
||||
},
|
||||
"1.2917": {
|
||||
"pre": [0, 0, 0],
|
||||
"post": [0, 0.5, 0]
|
||||
},
|
||||
"2.0417": {
|
||||
"pre": [0, 0.5, 0],
|
||||
"post": [0, 0, 0]
|
||||
}
|
||||
"0.2083": [0, 0, 0],
|
||||
"0.25": [0, 0, -0.15],
|
||||
"0.375": [0, 0, -0.15],
|
||||
"0.4167": [0, 0, 0],
|
||||
"0.9167": [0, 0, 0],
|
||||
"0.9583": [0, 0, -0.15],
|
||||
"1.75": [0, 0, -0.15],
|
||||
"1.7917": [0, 0, 0],
|
||||
"2.0": [0, 0, 0],
|
||||
"2.0417": [0, 0, -0.15]
|
||||
}
|
||||
},
|
||||
"eyelid_right": {
|
||||
"position": {
|
||||
"0.0": [0, 0, 0],
|
||||
"0.25": {
|
||||
"pre": [0, 0, 0],
|
||||
"post": [0, 0, -0.1]
|
||||
},
|
||||
"0.4167": {
|
||||
"pre": [0, 0, -0.1],
|
||||
"post": [0, 0, 0]
|
||||
},
|
||||
"0.9583": {
|
||||
"pre": [0, 0, 0],
|
||||
"post": [0, 0, -0.1]
|
||||
},
|
||||
"1.7917": {
|
||||
"pre": [0, 0, -0.1],
|
||||
"post": [0, 0, 0]
|
||||
},
|
||||
"2.0417": {
|
||||
"pre": [0, 0, 0],
|
||||
"post": [0, 0, -0.1]
|
||||
}
|
||||
"0.2083": [0, 0, 0],
|
||||
"0.25": [0, 0, -0.15],
|
||||
"0.375": [0, 0, -0.15],
|
||||
"0.4167": [0, 0, 0],
|
||||
"0.9167": [0, 0, 0],
|
||||
"0.9583": [0, 0, -0.15],
|
||||
"1.75": [0, 0, -0.15],
|
||||
"1.7917": [0, 0, 0],
|
||||
"2.0": [0, 0, 0],
|
||||
"2.0417": [0, 0, -0.15]
|
||||
}
|
||||
},
|
||||
"mouth_open": {
|
||||
"position": {
|
||||
"0.0": [0, 0, 0],
|
||||
"0.25": {
|
||||
"pre": [0, 0, 0],
|
||||
"post": [0, 0, -0.1]
|
||||
},
|
||||
"0.9167": {
|
||||
"pre": [0, 0, -0.1],
|
||||
"post": [0, 0, 0]
|
||||
},
|
||||
"1.2917": {
|
||||
"pre": [0, 0, 0],
|
||||
"post": [0, 0, -0.1]
|
||||
},
|
||||
"2.0417": {
|
||||
"pre": [0, 0, -0.1],
|
||||
"post": [0, 0, 0]
|
||||
}
|
||||
"0.2083": [0, 0, 0],
|
||||
"0.25": [0, 0, -0.15],
|
||||
"0.875": [0, 0, -0.15],
|
||||
"0.9167": [0, 0, 0],
|
||||
"1.25": [0, 0, 0],
|
||||
"1.2917": [0, 0, -0.15],
|
||||
"2.0": [0, 0, -0.15],
|
||||
"2.0417": [0, 0, 0]
|
||||
}
|
||||
},
|
||||
"arm_right": {
|
||||
"rotation": {
|
||||
"0.0": [40.98303, 0.22836, -45.7651],
|
||||
"0.2083": [5.98, 0.23, -45.77],
|
||||
"0.2917": [35.98, 0.23, -45.77],
|
||||
"0.75": [18.48, 5.23, -23.27],
|
||||
"0.9167": [60.98, -12.27, -35.77],
|
||||
"1.2083": [30.98, -59.77, -35.77],
|
||||
"1.3333": [32.05, -62.98, -35.77],
|
||||
"1.5": [33.48, -67.27, -35.77],
|
||||
"1.8333": [15.98, -79.77, -35.77],
|
||||
"1.9167": [67.65, -129.77, -110.77],
|
||||
"1.9583": [93.48, -154.77, -148.27],
|
||||
"2.0833": [93.48, -174.77, -168.27],
|
||||
"2.3333": [93.48, -169.77, -168.27]
|
||||
}
|
||||
},
|
||||
"arm_right2": {
|
||||
"rotation": {
|
||||
"0.0": [0, -52.5, 0],
|
||||
"1.0": [0, -52.5, 0],
|
||||
"1.2083": [0, -57.5, 0],
|
||||
"1.5": [0, -30, 0]
|
||||
}
|
||||
},
|
||||
"finger_right": {
|
||||
"rotation": [0, 0, -5]
|
||||
},
|
||||
"finger_right2": {
|
||||
"rotation": [0, 0, 37.5]
|
||||
},
|
||||
"finger_right3": {
|
||||
"rotation": [0, 0, -20]
|
||||
},
|
||||
"skirt_right": {
|
||||
"rotation": [-10, 0, 15]
|
||||
},
|
||||
"leg_right": {
|
||||
"rotation": {
|
||||
"0.0": [-13.6, 22.38, 10.45],
|
||||
"0.1667": [-31.1, 22.38, 10.45],
|
||||
"0.25": [-26.1, 22.38, 10.45],
|
||||
"0.5": [-3.6, 22.38, 10.45],
|
||||
"0.7917": [6.4, 22.38, 10.45],
|
||||
"0.9167": [-31.1, 22.38, 10.45],
|
||||
"1.2083": [-31.1, 42.38, 10.45],
|
||||
"1.375": [-30, 0, 0],
|
||||
"1.6667": [-30, 0, 5],
|
||||
"1.875": [70, 0, 5],
|
||||
"2.0417": [40.36, 0, 5],
|
||||
"2.1667": [-30, 0, 5],
|
||||
"2.25": [-45, 0, 5],
|
||||
"2.375": [-35, 0, 5]
|
||||
}
|
||||
},
|
||||
"leg_right2": {
|
||||
"rotation": {
|
||||
"0.0": [15, 0, -10],
|
||||
"0.1667": [35, 0, -10],
|
||||
"0.25": [-10, 0, -10],
|
||||
"0.5": [27.5, 0, 5],
|
||||
"0.7917": [5, 0, 5],
|
||||
"0.9167": [35, 0, 5],
|
||||
"1.375": [35, 0, 0],
|
||||
"1.6667": [22.5, 0, 0]
|
||||
}
|
||||
},
|
||||
"brow_left": {
|
||||
"mouth_closed": {
|
||||
"position": {
|
||||
"0.0": [0, 0, 0],
|
||||
"0.25": {
|
||||
"pre": [0, 0, 0],
|
||||
"post": [0, 0, 0.1]
|
||||
},
|
||||
"0.4167": {
|
||||
"pre": [0, 0, 0.1],
|
||||
"post": [0, 0, 0]
|
||||
},
|
||||
"0.9583": {
|
||||
"pre": [0, 0, 0],
|
||||
"post": [0, 0, 0.1]
|
||||
},
|
||||
"1.7917": {
|
||||
"pre": [0, 0, 0.1],
|
||||
"post": [0, 0, 0]
|
||||
},
|
||||
"2.0417": {
|
||||
"pre": [0, 0, 0],
|
||||
"post": [0, 0, 0.1]
|
||||
}
|
||||
"0.2083": [0, 0, 0],
|
||||
"0.25": [0, 0, 0.1],
|
||||
"0.875": [0, 0, 0.1],
|
||||
"0.9167": [0, 0, 0],
|
||||
"1.25": [0, 0, 0],
|
||||
"1.2917": [0, 0, 0.1],
|
||||
"2.0": [0, 0, 0.1],
|
||||
"2.0417": [0, 0, 0]
|
||||
}
|
||||
},
|
||||
"brow_right": {
|
||||
"position": {
|
||||
"0.0": [0, 0, 0],
|
||||
"0.25": {
|
||||
"pre": [0, 0, 0],
|
||||
"post": [0, 0, 0.1]
|
||||
},
|
||||
"0.4167": {
|
||||
"pre": [0, 0, 0.1],
|
||||
"post": [0, 0, 0]
|
||||
},
|
||||
"0.9583": {
|
||||
"pre": [0, 0, 0],
|
||||
"post": [0, 0, 0.1]
|
||||
},
|
||||
"1.7917": {
|
||||
"pre": [0, 0, 0.1],
|
||||
"post": [0, 0, 0]
|
||||
},
|
||||
"2.0417": {
|
||||
"pre": [0, 0, 0],
|
||||
"post": [0, 0, 0.1]
|
||||
}
|
||||
}
|
||||
},
|
||||
"mouth_bottom": {
|
||||
"position": {
|
||||
"0.0": [0, 0, 0],
|
||||
"0.25": {
|
||||
"pre": [0, 0, 0],
|
||||
"post": [0, -0.5, 0]
|
||||
},
|
||||
"0.9167": {
|
||||
"pre": [0, -0.5, 0],
|
||||
"post": [0, 0, 0]
|
||||
},
|
||||
"1.2917": {
|
||||
"pre": [0, 0, 0],
|
||||
"post": [0, -0.5, 0]
|
||||
},
|
||||
"2.0417": {
|
||||
"pre": [0, -0.5, 0],
|
||||
"post": [0, 0, 0]
|
||||
}
|
||||
}
|
||||
},
|
||||
"eye_emote_left": {
|
||||
"position": {
|
||||
"0.0": [0, 0, 0],
|
||||
"0.25": {
|
||||
"pre": [0, 0, 0],
|
||||
"post": [0, 0, 0.1]
|
||||
},
|
||||
"0.4167": {
|
||||
"pre": [0, 0, 0.1],
|
||||
"post": [0, 0, 0]
|
||||
},
|
||||
"0.9583": {
|
||||
"pre": [0, 0, 0],
|
||||
"post": [0, 0, 0.1]
|
||||
},
|
||||
"1.7917": {
|
||||
"pre": [0, 0, 0.1],
|
||||
"post": [0, 0, 0]
|
||||
},
|
||||
"2.0417": {
|
||||
"pre": [0, 0, 0],
|
||||
"post": [0, 0, 0.1]
|
||||
}
|
||||
}
|
||||
},
|
||||
"eye_emote_right": {
|
||||
"position": {
|
||||
"0.0": [0, 0, 0],
|
||||
"0.25": {
|
||||
"pre": [0, 0, 0],
|
||||
"post": [0, 0, 0.1]
|
||||
},
|
||||
"0.4167": {
|
||||
"pre": [0, 0, 0.1],
|
||||
"post": [0, 0, 0]
|
||||
},
|
||||
"0.9583": {
|
||||
"pre": [0, 0, 0],
|
||||
"post": [0, 0, 0.1]
|
||||
},
|
||||
"1.7917": {
|
||||
"pre": [0, 0, 0.1],
|
||||
"post": [0, 0, 0]
|
||||
},
|
||||
"2.0417": {
|
||||
"pre": [0, 0, 0],
|
||||
"post": [0, 0, 0.1]
|
||||
}
|
||||
}
|
||||
},
|
||||
"eyes_ditto": {
|
||||
"position": {
|
||||
"0.0": [0, 0, 0],
|
||||
"0.25": {
|
||||
"pre": [0, 0, 0],
|
||||
"post": [0, 0, 0.1]
|
||||
},
|
||||
"0.4167": {
|
||||
"pre": [0, 0, 0.1],
|
||||
"post": [0, 0, 0]
|
||||
},
|
||||
"0.9583": {
|
||||
"pre": [0, 0, 0],
|
||||
"post": [0, 0, 0.1]
|
||||
},
|
||||
"1.7917": {
|
||||
"pre": [0, 0, 0.1],
|
||||
"post": [0, 0, 0]
|
||||
},
|
||||
"2.0417": {
|
||||
"pre": [0, 0, 0],
|
||||
"post": [0, 0, 0.1]
|
||||
}
|
||||
}
|
||||
},
|
||||
"eyes_blink_ditto": {
|
||||
"position": {
|
||||
"0.0": [0, 0, 0],
|
||||
"0.25": {
|
||||
"pre": [0, 0, 0],
|
||||
"post": [0, 0, -0.1]
|
||||
},
|
||||
"0.4167": {
|
||||
"pre": [0, 0, -0.1],
|
||||
"post": [0, 0, 0]
|
||||
},
|
||||
"0.9583": {
|
||||
"pre": [0, 0, 0],
|
||||
"post": [0, 0, -0.1]
|
||||
},
|
||||
"1.7917": {
|
||||
"pre": [0, 0, -0.1],
|
||||
"post": [0, 0, 0]
|
||||
},
|
||||
"2.0417": {
|
||||
"pre": [0, 0, 0],
|
||||
"post": [0, 0, -0.1]
|
||||
}
|
||||
}
|
||||
},
|
||||
"mouth_ditto": {
|
||||
"position": {
|
||||
"0.0": [0, 0, 0],
|
||||
"0.25": {
|
||||
"pre": [0, 0, 0],
|
||||
"post": [0, 0, 0.1]
|
||||
},
|
||||
"0.9167": {
|
||||
"pre": [0, 0, 0.1],
|
||||
"post": [0, 0, 0]
|
||||
},
|
||||
"1.2917": {
|
||||
"pre": [0, 0, 0],
|
||||
"post": [0, 0, 0.1]
|
||||
},
|
||||
"2.0417": {
|
||||
"pre": [0, 0, 0.1],
|
||||
"post": [0, 0, 0]
|
||||
}
|
||||
}
|
||||
},
|
||||
"mouth_open_ditto": {
|
||||
"position": {
|
||||
"0.0": [0, 0, 0],
|
||||
"0.25": {
|
||||
"pre": [0, 0, 0],
|
||||
"post": [0, 0, -0.1]
|
||||
},
|
||||
"0.9167": {
|
||||
"pre": [0, 0, -0.1],
|
||||
"post": [0, 0, 0]
|
||||
},
|
||||
"1.2917": {
|
||||
"pre": [0, 0, 0],
|
||||
"post": [0, 0, -0.1]
|
||||
},
|
||||
"2.0417": {
|
||||
"pre": [0, 0, -0.1],
|
||||
"post": [0, 0, 0]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"animation.tinkatuff.cry": {
|
||||
"animation_length": 1.5,
|
||||
"bones": {
|
||||
"head": {
|
||||
"rotation": {
|
||||
"0.0": [0, 0, 0],
|
||||
"0.25": [-15, 0, 0],
|
||||
"1.25": [-15, 0, 0],
|
||||
"1.5": [0, 0, 0]
|
||||
}
|
||||
},
|
||||
"mouth_open": {
|
||||
"position": {
|
||||
"0.0": [0, 0, 0],
|
||||
"0.25": {"pre": [0, 0, 0], "post": [0, 0, -0.1]},
|
||||
"1.3333": {"pre": [0, 0, -0.1], "post": [0, 0, 0]}
|
||||
}
|
||||
},
|
||||
"mouth_top": {
|
||||
"position": {
|
||||
"0.0": [0, 0, 0],
|
||||
"0.25": {"pre": [0, 0, 0], "post": [0, 0.5, 0]},
|
||||
"1.3333": {"pre": [0, 0.5, 0], "post": [0, 0, 0]}
|
||||
}
|
||||
},
|
||||
"mouth_bottom": {
|
||||
"position": {
|
||||
"0.0": [0, 0, 0],
|
||||
"0.25": {"pre": [0, 0, 0], "post": [0, -0.5, 0]},
|
||||
"1.3333": {"pre": [0, -0.5, 0], "post": [0, 0, 0]}
|
||||
}
|
||||
},
|
||||
"mouth_ditto": {
|
||||
"position": {
|
||||
"0.0": [0, 0, 0],
|
||||
"0.25": {"pre": [0, 0, 0], "post": [0, 0, 0.1]},
|
||||
"1.3333": {"pre": [0, 0, 0.1], "post": [0, 0, 0]}
|
||||
}
|
||||
},
|
||||
"mouth_open_ditto": {
|
||||
"position": {
|
||||
"0.0": [0, 0, 0],
|
||||
"0.25": {"pre": [0, 0, 0], "post": [0, 0, -0.1]},
|
||||
"1.3333": {"pre": [0, 0, -0.1], "post": [0, 0, 0]}
|
||||
}
|
||||
}
|
||||
},
|
||||
"sound_effects": {
|
||||
"0.0": {
|
||||
"effect": "pokemon.tinkatuff.cry"
|
||||
}
|
||||
}
|
||||
},
|
||||
"animation.tinkatuff.blink": {
|
||||
"animation_length": 0.1667,
|
||||
"animation_length": 0.16667,
|
||||
"bones": {
|
||||
"eyelid_right": {
|
||||
"position": {
|
||||
"0.0": [0, 0, -0.1],
|
||||
"0.1667": {
|
||||
"pre": [0, 0, -0.1],
|
||||
"post": [0, 0, 0]
|
||||
}
|
||||
"0.125": [0, 0, -0.1],
|
||||
"0.1667": [0, 0, 0]
|
||||
}
|
||||
},
|
||||
"eyelid_left": {
|
||||
"position": {
|
||||
"0.0": [0, 0, -0.1],
|
||||
"0.1667": {
|
||||
"pre": [0, 0, -0.1],
|
||||
"post": [0, 0, 0]
|
||||
}
|
||||
}
|
||||
},
|
||||
"brow_left": {
|
||||
"position": {
|
||||
"0.0": [0, 0, 0.1],
|
||||
"0.1667": {
|
||||
"pre": [0, 0, 0.1],
|
||||
"post": [0, 0, 0]
|
||||
}
|
||||
}
|
||||
},
|
||||
"brow_right": {
|
||||
"position": {
|
||||
"0.0": [0, 0, 0.1],
|
||||
"0.1667": {
|
||||
"pre": [0, 0, 0.1],
|
||||
"post": [0, 0, 0]
|
||||
}
|
||||
}
|
||||
},
|
||||
"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]
|
||||
}
|
||||
}
|
||||
},
|
||||
"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.125": [0, 0, -0.1],
|
||||
"0.1667": [0, 0, 0]
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"animation.tinkatuff.ditto_face": {
|
||||
"loop": true,
|
||||
"animation.tinkatuff.cry": {
|
||||
"animation_length": 0.91667,
|
||||
"bones": {
|
||||
"face": {
|
||||
"position": [0, 0, 0.1],
|
||||
"scale": 0
|
||||
"head": {
|
||||
"rotation": {
|
||||
"0.0": {
|
||||
"post": [0, 0, 0],
|
||||
"lerp_mode": "catmullrom"
|
||||
},
|
||||
"0.25": {
|
||||
"post": [-15, 0, 0],
|
||||
"lerp_mode": "catmullrom"
|
||||
},
|
||||
"0.6667": {
|
||||
"post": [-15, 0, 0],
|
||||
"lerp_mode": "catmullrom"
|
||||
},
|
||||
"0.9167": {
|
||||
"post": [0, 0, 0],
|
||||
"lerp_mode": "catmullrom"
|
||||
}
|
||||
}
|
||||
},
|
||||
"face_ditto": {
|
||||
"position": [0, 0, -0.1]
|
||||
"mouth_closed": {
|
||||
"position": {
|
||||
"0.25": [0, 0, 0],
|
||||
"0.3333": [0, 0, 0.1],
|
||||
"0.5833": [0, 0, 0.1],
|
||||
"0.6667": [0, 0, 0]
|
||||
}
|
||||
},
|
||||
"mouth_open": {
|
||||
"position": {
|
||||
"0.0": {
|
||||
"post": [0, 0, 0],
|
||||
"lerp_mode": "catmullrom"
|
||||
},
|
||||
"0.25": {
|
||||
"post": [0, 0, -0.1],
|
||||
"lerp_mode": "catmullrom"
|
||||
},
|
||||
"0.6667": {
|
||||
"post": [0, 0, -0.1],
|
||||
"lerp_mode": "catmullrom"
|
||||
},
|
||||
"0.9167": {
|
||||
"post": [0, 0, 0],
|
||||
"lerp_mode": "catmullrom"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"sound_effects": {
|
||||
"0.1667": {
|
||||
"effect": "pokemon.tinkatuff.cry"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -90,7 +90,7 @@
|
||||
"parent": "chest",
|
||||
"pivot": [0, 17, -5],
|
||||
"cubes": [
|
||||
{"origin": [-2.25, 16, -7.5], "size": [5, 5, 5], "uv": [22, 0]},
|
||||
{"origin": [-2.75, 16, -7.5], "size": [5.5, 5, 5], "uv": [22, 0]},
|
||||
{"origin": [0, 18, -2.5], "size": [0, 4, 2], "uv": [30, 37]}
|
||||
]
|
||||
},
|
||||
|
||||
@@ -486,7 +486,7 @@
|
||||
"parent": "eye_left",
|
||||
"pivot": [4.2, 34.1, -10.53],
|
||||
"cubes": [
|
||||
{"origin": [4.98, 34.01, -10.53], "size": [3, 1, 1], "inflate": 0.01, "uv": [132, 116]}
|
||||
{"origin": [4.98, 33.99, -10.53], "size": [3, 1, 1], "inflate": 0.01, "uv": [132, 116]}
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -782,7 +782,7 @@
|
||||
"parent": "eye_right",
|
||||
"pivot": [-4.2, 34.1, -10.53],
|
||||
"cubes": [
|
||||
{"origin": [-7.98, 34.01, -10.53], "size": [3, 1, 1], "inflate": 0.01, "uv": [140, 116]}
|
||||
{"origin": [-7.98, 33.99, -10.53], "size": [3, 1, 1], "inflate": 0.01, "uv": [140, 116]}
|
||||
]
|
||||
},
|
||||
{
|
||||
|
||||
@@ -15,58 +15,18 @@
|
||||
"name": "tinkatink",
|
||||
"pivot": [0, 0, 0]
|
||||
},
|
||||
{
|
||||
"name": "locator_root",
|
||||
"parent": "tinkatink",
|
||||
"pivot": [0, 0, 0],
|
||||
"locators": {
|
||||
"root": [0, 0, 0]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "locator_top",
|
||||
"parent": "tinkatink",
|
||||
"pivot": [0, 14, 0],
|
||||
"locators": {
|
||||
"top": [0, 14, 0]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "locator_special",
|
||||
"parent": "tinkatink",
|
||||
"pivot": [0, 6, -7],
|
||||
"locators": {
|
||||
"special": [0, 6, -7]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "body",
|
||||
"parent": "tinkatink",
|
||||
"pivot": [0, 3.75, 0]
|
||||
},
|
||||
{
|
||||
"name": "locator_target",
|
||||
"parent": "body",
|
||||
"pivot": [0, 6, -6],
|
||||
"locators": {
|
||||
"target": [0, 6, -6]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "locator_middle",
|
||||
"parent": "body",
|
||||
"pivot": [0, 6, 0],
|
||||
"locators": {
|
||||
"middle": [0, 6, 0]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "torso",
|
||||
"parent": "body",
|
||||
"pivot": [0, 2.5, -0.25],
|
||||
"pivot": [0, 1.75, -0.25],
|
||||
"cubes": [
|
||||
{"origin": [-1.5, 2, -1.5], "size": [3, 3, 3], "uv": [30, 6]},
|
||||
{"origin": [-1, 1.5, -2.5], "size": [2, 2, 1], "pivot": [0, 2.5, -2], "rotation": [0, 0, 45], "uv": [47, 12]}
|
||||
{"origin": [-2, 1.5, -2], "size": [4, 3, 4], "uv": [0, 12]},
|
||||
{"origin": [-1, 2, -2.75], "size": [2, 2, 1], "pivot": [0, 3, -2.25], "rotation": [0, 0, 45], "uv": [12, 12]}
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -74,509 +34,199 @@
|
||||
"parent": "torso",
|
||||
"pivot": [0, 4.25, -0.25],
|
||||
"cubes": [
|
||||
{"origin": [-4, 4.25, -3.75], "size": [8, 7, 7], "uv": [0, 0]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "locator_item_hat",
|
||||
"parent": "head",
|
||||
"pivot": [0, 12.25, -0.25],
|
||||
"locators": {
|
||||
"item_hat": [0, 12.25, -0.25]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "locator_head",
|
||||
"parent": "head",
|
||||
"pivot": [0, 11.25, -3.25],
|
||||
"locators": {
|
||||
"head": [0, 11.25, -3.25]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "locator_mouth",
|
||||
"parent": "head",
|
||||
"pivot": [0, 5.7, -3.75],
|
||||
"locators": {
|
||||
"mouth": [0, 5.7, -3.75]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "locator_item_face",
|
||||
"parent": "head",
|
||||
"pivot": [0, 8.25, -3.75],
|
||||
"locators": {
|
||||
"item_face": [0, 8.25, -3.75]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "locator_face",
|
||||
"parent": "head",
|
||||
"pivot": [0, 7.25, -3.75],
|
||||
"locators": {
|
||||
"face": [0, 7.25, -3.75]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "face_ditto",
|
||||
"parent": "head",
|
||||
"pivot": [0, 7, -3.65]
|
||||
},
|
||||
{
|
||||
"name": "eyes_ditto",
|
||||
"parent": "face_ditto",
|
||||
"pivot": [0, 7.75, -3.67],
|
||||
"cubes": [
|
||||
{"origin": [-3, 7.25, -3.67], "size": [6, 1, 0], "uv": [51, 23]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "eyes_blink_ditto",
|
||||
"parent": "face_ditto",
|
||||
"pivot": [0, 7.75, -3.57],
|
||||
"cubes": [
|
||||
{"origin": [-3.5, 7.25, -3.57], "size": [7, 1, 0], "uv": [49, 27]},
|
||||
{"origin": [-3, 7.75, -3.58], "size": [6, 1, 0], "uv": [51, 21]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "mouth_ditto",
|
||||
"parent": "face_ditto",
|
||||
"pivot": [0, 6, -3.65],
|
||||
"cubes": [
|
||||
{"origin": [-2.5, 5.25, -3.66], "size": [5, 1, 0], "uv": [53, 19]},
|
||||
{"origin": [-3.5, 5.75, -3.66], "size": [7, 1, 0], "uv": [49, 25]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "mouth_open_ditto",
|
||||
"parent": "face_ditto",
|
||||
"pivot": [0, 5.75, -3.56],
|
||||
"cubes": [
|
||||
{"origin": [-3.5, 4.75, -3.56], "size": [7, 2, 0], "uv": [49, 29]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "face",
|
||||
"parent": "head",
|
||||
"pivot": [0, 6.75, -3.75]
|
||||
},
|
||||
{
|
||||
"name": "eyes",
|
||||
"parent": "face",
|
||||
"pivot": [0, 6.75, -3.26]
|
||||
},
|
||||
{
|
||||
"name": "brow_left",
|
||||
"parent": "eyes",
|
||||
"pivot": [2.25, 8.5, -3.25],
|
||||
"cubes": [
|
||||
{"origin": [1.75, 8, -3.75], "size": [1, 1, 1], "inflate": 0.01, "pivot": [2.25, 8.5, -3.25], "rotation": [0, 0, 5], "uv": [32, 29]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "brow_right",
|
||||
"parent": "eyes",
|
||||
"pivot": [-2.25, 8.5, -3.25],
|
||||
"cubes": [
|
||||
{"origin": [-2.75, 8, -3.75], "size": [1, 1, 1], "inflate": 0.01, "pivot": [-2.25, 8.5, -3.25], "rotation": [0, 0, -5], "uv": [32, 25]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "eye_left",
|
||||
"parent": "eyes",
|
||||
"pivot": [2.5, 7.75, -3.26],
|
||||
"cubes": [
|
||||
{"origin": [2, 6.75, -3.75], "size": [1, 1, 1], "inflate": 0.01, "uv": [28, 29]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "locator_eye_left",
|
||||
"parent": "eye_left",
|
||||
"pivot": [2.5, 7.7, -3.75],
|
||||
"locators": {
|
||||
"eye2": [2.5, 7.7, -3.75]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "eye_emote_left",
|
||||
"parent": "eye_left",
|
||||
"pivot": [2.5, 7.75, -3.75],
|
||||
"cubes": [
|
||||
{"origin": [2, 7.75, -3.75], "size": [1, 1, 1], "inflate": 0.025, "uv": [24, 29]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "eye_emote_left2",
|
||||
"parent": "eye_left",
|
||||
"pivot": [2.5, 7.75, -3.75],
|
||||
"cubes": [
|
||||
{"origin": [2, 7.75, -3.75], "size": [1, 1, 1], "inflate": 0.02, "uv": [20, 29]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "eye_right",
|
||||
"parent": "eyes",
|
||||
"pivot": [-2.5, 7.75, -3.26],
|
||||
"cubes": [
|
||||
{"origin": [-3, 6.75, -3.75], "size": [1, 1, 1], "inflate": 0.01, "uv": [28, 25]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "locator_eye_right",
|
||||
"parent": "eye_right",
|
||||
"pivot": [-2.5, 7.7, -3.75],
|
||||
"locators": {
|
||||
"eye1": [-2.5, 7.7, -3.75]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "eye_emote_right",
|
||||
"parent": "eye_right",
|
||||
"pivot": [-2.5, 7.75, -3.75],
|
||||
"cubes": [
|
||||
{"origin": [-3, 7.75, -3.75], "size": [1, 1, 1], "inflate": 0.025, "uv": [24, 25]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "eye_emote_right2",
|
||||
"parent": "eye_right",
|
||||
"pivot": [-2.5, 7.75, -3.75],
|
||||
"cubes": [
|
||||
{"origin": [-3, 7.75, -3.75], "size": [1, 1, 1], "inflate": 0.02, "uv": [20, 25]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "eyelid_left",
|
||||
"parent": "eyes",
|
||||
"pivot": [2.5, 7.75, -3.16],
|
||||
"cubes": [
|
||||
{"origin": [1.5, 6.75, -3.65], "size": [2, 2, 1], "inflate": 0.03, "uv": [0, 28]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "eyelid_right",
|
||||
"parent": "eyes",
|
||||
"pivot": [-2.5, 7.75, -3.16],
|
||||
"cubes": [
|
||||
{"origin": [-3.5, 6.75, -3.65], "size": [2, 2, 1], "inflate": 0.03, "uv": [0, 24]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "eyelid_happy_left",
|
||||
"parent": "eyes",
|
||||
"pivot": [2.5, 7.75, -3.16],
|
||||
"cubes": [
|
||||
{"origin": [1, 6.75, -3.66], "size": [3, 2, 1], "uv": [12, 28]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "eyelid_happy_right",
|
||||
"parent": "eyes",
|
||||
"pivot": [-2.5, 7.75, -3.16],
|
||||
"cubes": [
|
||||
{"origin": [-4, 6.75, -3.66], "size": [3, 2, 1], "uv": [12, 24]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "eyelid_hurt_left",
|
||||
"parent": "eyes",
|
||||
"pivot": [2.5, 7.75, -3.16],
|
||||
"cubes": [
|
||||
{"origin": [1.5, 6.75, -3.65], "size": [2, 2, 1], "inflate": 0.03, "uv": [6, 28]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "eyelid_hurt_right",
|
||||
"parent": "eyes",
|
||||
"pivot": [-2.5, 7.75, -3.16],
|
||||
"cubes": [
|
||||
{"origin": [-3.5, 6.75, -3.65], "size": [2, 2, 1], "inflate": 0.03, "uv": [6, 24]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "mouths",
|
||||
"parent": "face",
|
||||
"pivot": [0, 4.25, -0.75]
|
||||
},
|
||||
{
|
||||
"name": "mouth_closed",
|
||||
"parent": "mouths",
|
||||
"pivot": [0, 5.75, -3.25],
|
||||
"cubes": [
|
||||
{"origin": [-1.5, 4.75, -3.76], "size": [3, 1, 1], "inflate": 0.02, "uv": [38, 13]},
|
||||
{"origin": [-0.5, 5.25, -3.76], "size": [1, 1, 1], "inflate": 0.04, "uv": [46, 16]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "mouth_lip_top",
|
||||
"parent": "mouth_closed",
|
||||
"pivot": [0, 6.25, -3.25],
|
||||
"cubes": [
|
||||
{"origin": [-1, 5.75, -3.77], "size": [2, 1, 1], "uv": [39, 16]},
|
||||
{"origin": [-2, 5.25, -3.76], "size": [4, 1, 1], "uv": [29, 22]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "mouth_open_cry",
|
||||
"parent": "mouths",
|
||||
"pivot": [0.4, 4.25, -1.75],
|
||||
"cubes": [
|
||||
{"origin": [-2, 4.75, -3.65], "size": [4, 2, 1], "inflate": 0.01, "uv": [29, 19]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "mouth_open_happy",
|
||||
"parent": "mouths",
|
||||
"pivot": [0.4, 4.25, -1.75],
|
||||
"cubes": [
|
||||
{"origin": [-2, 4.75, -3.65], "size": [4, 2, 1], "inflate": 0.01, "uv": [40, 19]},
|
||||
{"origin": [-1.5, 4.75, -3.65], "size": [3, 1, 1], "inflate": 0.02, "uv": [40, 22]},
|
||||
{"origin": [-0.5, 5.4, -3.65], "size": [1, 1, 1], "inflate": 0.03, "uv": [42, 7]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "hair_main",
|
||||
"parent": "head",
|
||||
"pivot": [0, 10.75, -0.75]
|
||||
},
|
||||
{
|
||||
"name": "hair",
|
||||
"parent": "hair_main",
|
||||
"pivot": [0, 10.75, -0.75],
|
||||
"rotation": [12.5, 0, 0],
|
||||
"cubes": [
|
||||
{"origin": [-0.5, 10.25, -1.75], "size": [1, 2, 1], "uv": [25, 15]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "hair2",
|
||||
"parent": "hair",
|
||||
"pivot": [1, 12.25, -0.75],
|
||||
"rotation": [35, 0, 0],
|
||||
"cubes": [
|
||||
{"origin": [-1, 12.25, -2.25], "size": [2, 3, 2], "inflate": 0.01, "uv": [30, 13]}
|
||||
{"origin": [-3.5, 4.25, -3.25], "size": [7, 6, 6], "uv": [0, 0]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "hair3",
|
||||
"parent": "hair_main",
|
||||
"pivot": [0, 11.25, -0.75],
|
||||
"rotation": [-2.5, 0, 0],
|
||||
"parent": "head",
|
||||
"pivot": [0, 10.25, -0.25],
|
||||
"rotation": [-5, 0, 0],
|
||||
"cubes": [
|
||||
{"origin": [-2.5, 11.25, -3.75], "size": [5, 0, 3], "uv": [34, 25]}
|
||||
{"origin": [-2.5, 10.25, -3.25], "size": [5, 0, 3], "uv": [11, 21]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "hair4",
|
||||
"parent": "hair3",
|
||||
"pivot": [0, 11.25, -3.75],
|
||||
"rotation": [-7.5, 0, 0],
|
||||
"pivot": [0, 10.25, -3.25],
|
||||
"rotation": [-15, 0, 0],
|
||||
"cubes": [
|
||||
{"origin": [-3, 9.25, -3.75], "size": [6, 2, 0], "uv": [36, 29]},
|
||||
{"origin": [-0.5, 9.25, -3.75], "size": [1, 2, 0], "inflate": 0.01, "uv": [43, 10]}
|
||||
{"origin": [-2.5, 8.25, -3.25], "size": [5, 2, 0], "uv": [43, 0]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "arms",
|
||||
"parent": "torso",
|
||||
"pivot": [0, 3.25, 0]
|
||||
},
|
||||
{
|
||||
"name": "arm_left",
|
||||
"parent": "arms",
|
||||
"pivot": [1.5, 3.25, 0],
|
||||
"name": "eye_right",
|
||||
"parent": "head",
|
||||
"pivot": [-2.75, 6.5, -2.76],
|
||||
"rotation": [0, 0, -5],
|
||||
"cubes": [
|
||||
{"origin": [1.25, 2.25, -1], "size": [2, 2, 2], "uv": [8, 19]}
|
||||
{"origin": [-2.75, 6, -3.26], "size": [1, 2, 1], "uv": [51, 2]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "hand_left",
|
||||
"parent": "arm_left",
|
||||
"pivot": [3.25, 3.25, 0],
|
||||
"name": "eyelid_right",
|
||||
"parent": "eye_right",
|
||||
"pivot": [-0.5, 3.5, -0.15],
|
||||
"cubes": [
|
||||
{"origin": [3.25, 2.25, -1.5], "size": [3, 2, 3], "inflate": 0.25, "uv": [12, 14]}
|
||||
{"origin": [-2.75, 6, -3.16], "size": [1, 2, 1], "inflate": 0.01, "uv": [47, 2]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "locator_hand_secondary",
|
||||
"parent": "hand_left",
|
||||
"pivot": [6, 3.25, 0],
|
||||
"rotation": [0, -90, 0],
|
||||
"locators": {
|
||||
"hand_secondary": [6, 3.25, 0]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "fingers_left",
|
||||
"parent": "hand_left",
|
||||
"pivot": [6.5, 3.85, 0]
|
||||
},
|
||||
{
|
||||
"name": "finger_left",
|
||||
"parent": "fingers_left",
|
||||
"pivot": [6.5, 3.85, 0],
|
||||
"name": "eye_left",
|
||||
"parent": "head",
|
||||
"pivot": [2.75, 6.5, -2.76],
|
||||
"rotation": [0, 0, 5],
|
||||
"cubes": [
|
||||
{"origin": [6.5, 2.85, -0.5], "size": [1, 1, 1], "inflate": 0.1, "uv": [20, 21]}
|
||||
{"origin": [1.75, 6, -3.26], "size": [1, 2, 1], "uv": [26, 7]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "finger_left2",
|
||||
"parent": "fingers_left",
|
||||
"pivot": [6.5, 3.85, -0.6],
|
||||
"rotation": [0, 17.5, 0],
|
||||
"name": "eyelid_left",
|
||||
"parent": "eye_left",
|
||||
"pivot": [0.5, 3.5, -0.15],
|
||||
"cubes": [
|
||||
{"origin": [6.5, 2.85, -1.7], "size": [1, 1, 1], "inflate": 0.1, "uv": [16, 21]}
|
||||
{"origin": [1.75, 6, -3.16], "size": [1, 2, 1], "inflate": 0.01, "uv": [32, 8]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "finger_left3",
|
||||
"parent": "fingers_left",
|
||||
"pivot": [6.5, 3.85, 0.6],
|
||||
"rotation": [0, -17.5, 0],
|
||||
"name": "hair",
|
||||
"parent": "head",
|
||||
"pivot": [0, 10.25, 0.25],
|
||||
"rotation": [12.5, 0, 0],
|
||||
"cubes": [
|
||||
{"origin": [6.5, 2.85, 0.7], "size": [1, 1, 1], "inflate": 0.1, "uv": [24, 21]}
|
||||
{"origin": [0, 9.75, -0.75], "size": [0, 2, 1], "uv": [4, 0]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "arm_right",
|
||||
"parent": "arms",
|
||||
"pivot": [-1.5, 3.25, 0],
|
||||
"name": "hair2",
|
||||
"parent": "hair",
|
||||
"pivot": [0, 11.75, 0.25],
|
||||
"rotation": [22.5, 0, 0],
|
||||
"cubes": [
|
||||
{"origin": [-3.25, 2.25, -1], "size": [2, 2, 2], "uv": [0, 19]}
|
||||
{"origin": [0, 11.75, -1.75], "size": [0, 3, 2], "inflate": 0.01, "uv": [0, 10]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "hand_right",
|
||||
"parent": "arm_right",
|
||||
"pivot": [-3.25, 3.25, 0],
|
||||
"name": "mouth_closed",
|
||||
"parent": "head",
|
||||
"pivot": [0, 4.25, -0.25],
|
||||
"cubes": [
|
||||
{"origin": [-6.25, 2.25, -1.5], "size": [3, 2, 3], "inflate": 0.25, "uv": [0, 14]}
|
||||
{"origin": [-2.5, 4.75, -3.2575], "size": [5, 2, 0], "inflate": 0.001, "uv": [26, 5]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "locator_hand_primary",
|
||||
"parent": "hand_right",
|
||||
"pivot": [-6, 3.25, 0],
|
||||
"rotation": [0, 90, 0],
|
||||
"locators": {
|
||||
"hand_primary": [-6, 3.25, 0]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "locator_item",
|
||||
"parent": "hand_right",
|
||||
"pivot": [-6, 2.25, 0],
|
||||
"locators": {
|
||||
"item": [-6, 2.25, 0]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "fingers_right",
|
||||
"parent": "hand_right",
|
||||
"pivot": [-6.5, 3.85, 0]
|
||||
},
|
||||
{
|
||||
"name": "finger_right",
|
||||
"parent": "fingers_right",
|
||||
"pivot": [-6.5, 3.85, 0],
|
||||
"name": "mouth_open",
|
||||
"parent": "head",
|
||||
"pivot": [-0.1, 4.25, -1.25],
|
||||
"cubes": [
|
||||
{"origin": [-7.5, 2.85, -0.5], "size": [1, 1, 1], "inflate": 0.1, "uv": [20, 19]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "finger_right2",
|
||||
"parent": "fingers_right",
|
||||
"pivot": [-6.5, 3.85, -0.6],
|
||||
"rotation": [0, -17.5, 0],
|
||||
"cubes": [
|
||||
{"origin": [-7.5, 2.85, -1.7], "size": [1, 1, 1], "inflate": 0.1, "uv": [16, 19]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "finger_right3",
|
||||
"parent": "fingers_right",
|
||||
"pivot": [-6.5, 3.85, 0.6],
|
||||
"rotation": [0, 17.5, 0],
|
||||
"cubes": [
|
||||
{"origin": [-7.5, 2.85, 0.7], "size": [1, 1, 1], "inflate": 0.1, "uv": [24, 19]}
|
||||
{"origin": [-1.5, 4.75, -3.1575], "size": [3, 2, 0], "uv": [25, 12]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "arm_hammer_left",
|
||||
"parent": "arms",
|
||||
"pivot": [1.5, 3.25, 0]
|
||||
"parent": "torso",
|
||||
"pivot": [2, 3.25, 0]
|
||||
},
|
||||
{
|
||||
"name": "hammer",
|
||||
"parent": "arm_hammer_left",
|
||||
"pivot": [7.25, 3, -0.5]
|
||||
"pivot": [6.75, 3, -0.5]
|
||||
},
|
||||
{
|
||||
"name": "hammer2",
|
||||
"parent": "hammer",
|
||||
"pivot": [7.5, 7.41875, -0.525],
|
||||
"pivot": [6.75, 7.41875, -0.525],
|
||||
"cubes": [
|
||||
{"origin": [7, 1.25, -1], "size": [1, 4, 1], "uv": [54, 12]},
|
||||
{"origin": [7, 1.25, -1], "size": [1, 4, 1], "inflate": 0.1, "uv": [59, 12]}
|
||||
{"origin": [5.25, 5.25, -2], "size": [3, 6, 3], "uv": [16, 12]},
|
||||
{"origin": [6.25, 1.75, -1], "size": [1, 4, 1], "uv": [0, 0]},
|
||||
{"origin": [5.75, 7, -5.65], "size": [2, 0, 2], "pivot": [6.5, 6.4375, -2.575], "rotation": [-90, 0, 0], "uv": [22, 22]},
|
||||
{"origin": [6.25, 6.925, -5.8], "size": [1, 0, 1], "pivot": [6.5, 6.4375, -2.575], "rotation": [-90, 0, 0], "uv": [23, 21]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "rattle",
|
||||
"parent": "hammer2",
|
||||
"pivot": [7.5, 9.75, -2],
|
||||
"name": "arm_left",
|
||||
"parent": "torso",
|
||||
"pivot": [2, 3.25, 0],
|
||||
"cubes": [
|
||||
{"origin": [7, 9.25, -2.5], "size": [1, 1, 1], "inflate": 0.01, "pivot": [7.5, 9.75, -2], "rotation": [0, 0, 45], "uv": [60, 1]},
|
||||
{"origin": [6.5, 7.25, -2.4], "size": [2, 2, 1], "inflate": 0.11, "pivot": [7.5, 8.25, -1.9], "rotation": [0, 0, 45], "uv": [46, 0]},
|
||||
{"origin": [5.5, 4.75, -2.5], "size": [4, 7, 4], "uv": [48, 0]}
|
||||
{"origin": [2, 2.25, -1.5], "size": [4, 2, 3], "uv": [0, 19]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "locator_physical",
|
||||
"parent": "rattle",
|
||||
"pivot": [7.5, 11.75, -0.5],
|
||||
"locators": {
|
||||
"physical": [7.5, 11.75, -0.5]
|
||||
}
|
||||
"name": "finger_left",
|
||||
"parent": "arm_left",
|
||||
"pivot": [6, 3.5, 0],
|
||||
"cubes": [
|
||||
{"origin": [6, 2.5, -0.5], "size": [1, 1, 1], "uv": [26, 10]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "legs",
|
||||
"parent": "body",
|
||||
"pivot": [0, 1.5, 0]
|
||||
"name": "finger_left2",
|
||||
"parent": "arm_left",
|
||||
"pivot": [6, 3.5, -0.5],
|
||||
"rotation": [0, 12.5, 0],
|
||||
"cubes": [
|
||||
{"origin": [6, 2.5, -1.5], "size": [1, 1, 1], "uv": [43, 2]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "finger_left3",
|
||||
"parent": "arm_left",
|
||||
"pivot": [6, 3.5, 0.5],
|
||||
"rotation": [0, -12.5, 0],
|
||||
"cubes": [
|
||||
{"origin": [6, 2.5, 0.5], "size": [1, 1, 1], "uv": [11, 19]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "arm_right",
|
||||
"parent": "torso",
|
||||
"pivot": [-2, 3.25, 0],
|
||||
"cubes": [
|
||||
{"origin": [-6, 2.25, -1.5], "size": [4, 2, 3], "uv": [20, 0]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "finger_right",
|
||||
"parent": "arm_right",
|
||||
"pivot": [-6, 3.5, 0],
|
||||
"cubes": [
|
||||
{"origin": [-7, 2.5, -0.5], "size": [1, 1, 1], "uv": [28, 14]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "finger_right2",
|
||||
"parent": "arm_right",
|
||||
"pivot": [-6, 3.5, -0.5],
|
||||
"rotation": [0, -12.5, 0],
|
||||
"cubes": [
|
||||
{"origin": [-7, 2.5, -1.5], "size": [1, 1, 1], "uv": [56, 9]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "finger_right3",
|
||||
"parent": "arm_right",
|
||||
"pivot": [-6, 3.5, 0.5],
|
||||
"rotation": [0, 12.5, 0],
|
||||
"cubes": [
|
||||
{"origin": [-7, 2.5, 0.5], "size": [1, 1, 1], "uv": [52, 9]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "leg_left",
|
||||
"parent": "legs",
|
||||
"pivot": [1.25, 1.5, 0],
|
||||
"parent": "body",
|
||||
"pivot": [0.75, 1.5, 0],
|
||||
"cubes": [
|
||||
{"origin": [-0.25, -0.25, -1.5], "size": [3, 3, 3], "inflate": -0.25, "uv": [35, 0]}
|
||||
{"origin": [0.25, 0, -2], "size": [2, 2, 4], "inflate": 0.01, "uv": [35, 0]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "locator_foot_secondary",
|
||||
"parent": "leg_left",
|
||||
"pivot": [1.4, 0.5, 0.1],
|
||||
"rotation": [90, 0, 0],
|
||||
"locators": {
|
||||
"foot_secondary": [1.4, 0.5, 0.1]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "leg_right",
|
||||
"parent": "legs",
|
||||
"pivot": [-1.25, 1.5, 0],
|
||||
"parent": "body",
|
||||
"pivot": [-0.75, 1.5, 0],
|
||||
"cubes": [
|
||||
{"origin": [-2.75, -0.25, -1.5], "size": [3, 3, 3], "inflate": -0.25, "uv": [23, 0]}
|
||||
{"origin": [-2.25, 0, -2], "size": [2, 2, 4], "inflate": 0.01, "uv": [52, 3]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "locator_foot_primary",
|
||||
"parent": "leg_right",
|
||||
"pivot": [-1.4, 0.5, 0.1],
|
||||
"rotation": [90, 0, 0],
|
||||
"locators": {
|
||||
"foot_primary": [-1.4, 0.5, 0.1]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -0,0 +1,233 @@
|
||||
{
|
||||
"format_version": "1.12.0",
|
||||
"minecraft:geometry": [
|
||||
{
|
||||
"description": {
|
||||
"identifier": "geometry.tinkatink_dot",
|
||||
"texture_width": 64,
|
||||
"texture_height": 32,
|
||||
"visible_bounds_width": 2,
|
||||
"visible_bounds_height": 2.5,
|
||||
"visible_bounds_offset": [0, 0.75, 0]
|
||||
},
|
||||
"bones": [
|
||||
{
|
||||
"name": "tinkatink",
|
||||
"pivot": [0, 0, 0]
|
||||
},
|
||||
{
|
||||
"name": "body",
|
||||
"parent": "tinkatink",
|
||||
"pivot": [0, 3.75, 0]
|
||||
},
|
||||
{
|
||||
"name": "torso",
|
||||
"parent": "body",
|
||||
"pivot": [0, 1.75, -0.25],
|
||||
"cubes": [
|
||||
{"origin": [-2, 1.5, -2], "size": [4, 3, 4], "uv": [0, 12]},
|
||||
{"origin": [-1, 2, -2.75], "size": [2, 2, 1], "pivot": [0, 3, -2.25], "rotation": [0, 0, 45], "uv": [12, 12]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "head",
|
||||
"parent": "torso",
|
||||
"pivot": [0, 4.25, -0.25],
|
||||
"cubes": [
|
||||
{"origin": [-3.5, 4.25, -3.25], "size": [7, 6, 6], "uv": [0, 0]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "hair3",
|
||||
"parent": "head",
|
||||
"pivot": [0, 10.25, -0.25],
|
||||
"rotation": [-5, 0, 0],
|
||||
"cubes": [
|
||||
{"origin": [-2.5, 10.25, -3.25], "size": [5, 0, 3], "uv": [11, 21]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "hair4",
|
||||
"parent": "hair3",
|
||||
"pivot": [0, 10.25, -3.25],
|
||||
"rotation": [-15, 0, 0],
|
||||
"cubes": [
|
||||
{"origin": [-2.5, 8.25, -3.25], "size": [5, 2, 0], "uv": [43, 0]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "eye_right",
|
||||
"parent": "head",
|
||||
"pivot": [-2.75, 6.5, -2.76],
|
||||
"rotation": [0, 0, -5],
|
||||
"cubes": [
|
||||
{"origin": [-2.75, 6, -3.26], "size": [1, 2, 1], "uv": [51, 2]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "eyelid_right",
|
||||
"parent": "eye_right",
|
||||
"pivot": [-0.5, 3.5, -0.15],
|
||||
"cubes": [
|
||||
{"origin": [-2.75, 6, -3.16], "size": [1, 2, 1], "inflate": 0.01, "uv": [47, 2]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "eye_left",
|
||||
"parent": "head",
|
||||
"pivot": [2.75, 6.5, -2.76],
|
||||
"rotation": [0, 0, 5],
|
||||
"cubes": [
|
||||
{"origin": [1.75, 6, -3.26], "size": [1, 2, 1], "uv": [26, 7]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "eyelid_left",
|
||||
"parent": "eye_left",
|
||||
"pivot": [0.5, 3.5, -0.15],
|
||||
"cubes": [
|
||||
{"origin": [1.75, 6, -3.16], "size": [1, 2, 1], "inflate": 0.01, "uv": [32, 8]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "hair",
|
||||
"parent": "head",
|
||||
"pivot": [0, 10.25, 0.25],
|
||||
"rotation": [12.5, 0, 0],
|
||||
"cubes": [
|
||||
{"origin": [0, 9.75, -0.75], "size": [0, 2, 1], "uv": [4, 0]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "hair2",
|
||||
"parent": "hair",
|
||||
"pivot": [0, 11.75, 0.25],
|
||||
"rotation": [22.5, 0, 0],
|
||||
"cubes": [
|
||||
{"origin": [0, 11.75, -1.75], "size": [0, 3, 2], "inflate": 0.01, "uv": [0, 10]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "mouth_closed",
|
||||
"parent": "head",
|
||||
"pivot": [0, 4.25, -0.25],
|
||||
"cubes": [
|
||||
{"origin": [-2.5, 4.75, -3.2575], "size": [5, 2, 0], "inflate": 0.001, "uv": [26, 5]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "mouth_open",
|
||||
"parent": "head",
|
||||
"pivot": [-0.1, 4.25, -1.25],
|
||||
"cubes": [
|
||||
{"origin": [-1.5, 4.75, -3.1575], "size": [3, 2, 0], "uv": [25, 12]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "arm_hammer_left",
|
||||
"parent": "torso",
|
||||
"pivot": [2, 3.25, 0]
|
||||
},
|
||||
{
|
||||
"name": "hammer",
|
||||
"parent": "arm_hammer_left",
|
||||
"pivot": [6.75, 3, -0.5]
|
||||
},
|
||||
{
|
||||
"name": "hammer2",
|
||||
"parent": "hammer",
|
||||
"pivot": [6.75, 7.41875, -0.525],
|
||||
"cubes": [
|
||||
{"origin": [5.25, 5.25, -2], "size": [3, 6, 3], "uv": [16, 12]},
|
||||
{"origin": [6.25, 1.75, -1], "size": [1, 4, 1], "uv": [0, 0]},
|
||||
{"origin": [5.75, 8.2625, -3.0125], "size": [2, 0, 2], "pivot": [6.75, 8.2625, -2.0125], "rotation": [-90, 0, 45], "uv": [-2, 24]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "arm_left",
|
||||
"parent": "torso",
|
||||
"pivot": [2, 3.25, 0],
|
||||
"cubes": [
|
||||
{"origin": [2, 2.25, -1.5], "size": [4, 2, 3], "uv": [0, 19]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "finger_left",
|
||||
"parent": "arm_left",
|
||||
"pivot": [6, 3.5, 0],
|
||||
"cubes": [
|
||||
{"origin": [6, 2.5, -0.5], "size": [1, 1, 1], "uv": [26, 10]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "finger_left2",
|
||||
"parent": "arm_left",
|
||||
"pivot": [6, 3.5, -0.5],
|
||||
"rotation": [0, 12.5, 0],
|
||||
"cubes": [
|
||||
{"origin": [6, 2.5, -1.5], "size": [1, 1, 1], "uv": [43, 2]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "finger_left3",
|
||||
"parent": "arm_left",
|
||||
"pivot": [6, 3.5, 0.5],
|
||||
"rotation": [0, -12.5, 0],
|
||||
"cubes": [
|
||||
{"origin": [6, 2.5, 0.5], "size": [1, 1, 1], "uv": [11, 19]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "arm_right",
|
||||
"parent": "torso",
|
||||
"pivot": [-2, 3.25, 0],
|
||||
"cubes": [
|
||||
{"origin": [-6, 2.25, -1.5], "size": [4, 2, 3], "uv": [20, 0]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "finger_right",
|
||||
"parent": "arm_right",
|
||||
"pivot": [-6, 3.5, 0],
|
||||
"cubes": [
|
||||
{"origin": [-7, 2.5, -0.5], "size": [1, 1, 1], "uv": [28, 14]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "finger_right2",
|
||||
"parent": "arm_right",
|
||||
"pivot": [-6, 3.5, -0.5],
|
||||
"rotation": [0, -12.5, 0],
|
||||
"cubes": [
|
||||
{"origin": [-7, 2.5, -1.5], "size": [1, 1, 1], "uv": [56, 9]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "finger_right3",
|
||||
"parent": "arm_right",
|
||||
"pivot": [-6, 3.5, 0.5],
|
||||
"rotation": [0, 12.5, 0],
|
||||
"cubes": [
|
||||
{"origin": [-7, 2.5, 0.5], "size": [1, 1, 1], "uv": [52, 9]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "leg_left",
|
||||
"parent": "body",
|
||||
"pivot": [0.75, 1.5, 0],
|
||||
"cubes": [
|
||||
{"origin": [0.25, 0, -2], "size": [2, 2, 4], "inflate": 0.01, "uv": [35, 0]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "leg_right",
|
||||
"parent": "body",
|
||||
"pivot": [-0.75, 1.5, 0],
|
||||
"cubes": [
|
||||
{"origin": [-2.25, 0, -2], "size": [2, 2, 4], "inflate": 0.01, "uv": [52, 3]}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -4,7 +4,7 @@
|
||||
{
|
||||
"description": {
|
||||
"identifier": "geometry.tinkatuff",
|
||||
"texture_width": 128,
|
||||
"texture_width": 64,
|
||||
"texture_height": 64,
|
||||
"visible_bounds_width": 3,
|
||||
"visible_bounds_height": 2.5,
|
||||
@@ -15,680 +15,289 @@
|
||||
"name": "tinkatuff",
|
||||
"pivot": [0, 0, 0]
|
||||
},
|
||||
{
|
||||
"name": "locator_root",
|
||||
"parent": "tinkatuff",
|
||||
"pivot": [0, 0, 0],
|
||||
"locators": {
|
||||
"root": [0, 0, 0]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "locator_top",
|
||||
"parent": "tinkatuff",
|
||||
"pivot": [0, 22, 0],
|
||||
"locators": {
|
||||
"top": [0, 22, 0]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "locator_special",
|
||||
"parent": "tinkatuff",
|
||||
"pivot": [0, 8, -8],
|
||||
"locators": {
|
||||
"special": [0, 8, -8]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "body",
|
||||
"parent": "tinkatuff",
|
||||
"pivot": [0, 6.25, 0]
|
||||
},
|
||||
{
|
||||
"name": "locator_target",
|
||||
"parent": "body",
|
||||
"pivot": [0, 8, -6],
|
||||
"locators": {
|
||||
"target": [0, 8, -6]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "locator_middle",
|
||||
"parent": "body",
|
||||
"pivot": [0, 9, 0],
|
||||
"locators": {
|
||||
"middle": [0, 9, 0]
|
||||
}
|
||||
"pivot": [0, 6, 0]
|
||||
},
|
||||
{
|
||||
"name": "torso",
|
||||
"parent": "body",
|
||||
"pivot": [0, 4.5, 0],
|
||||
"pivot": [0, 4.25, 0],
|
||||
"cubes": [
|
||||
{"origin": [-2.5, 3.25, -2], "size": [5, 3, 4], "inflate": 0.25, "uv": [0, 14]},
|
||||
{"origin": [-2.5, 3.25, -2], "size": [5, 3, 4], "inflate": 0.5, "uv": [18, 14]}
|
||||
{"origin": [-2, 7.5, -1.5], "size": [4, 3, 3], "uv": [41, 41]},
|
||||
{"origin": [-2.5, 3, -2], "size": [5, 5, 4], "uv": [36, 0]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "chest",
|
||||
"name": "skirt_left",
|
||||
"parent": "torso",
|
||||
"pivot": [0, 6, 0],
|
||||
"pivot": [2.5, 3, 0],
|
||||
"rotation": [0, 0, 45],
|
||||
"cubes": [
|
||||
{"origin": [-2, 5.75, -2], "size": [4, 4, 4], "uv": [24, 0]}
|
||||
{"origin": [2.5, 3, -1.5], "size": [3, 0, 3], "uv": [6, 15]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "head",
|
||||
"parent": "chest",
|
||||
"pivot": [0, 8.75, 0.5],
|
||||
"name": "skirt_right",
|
||||
"parent": "torso",
|
||||
"pivot": [-2.5, 3, 0],
|
||||
"rotation": [0, 0, -45],
|
||||
"cubes": [
|
||||
{"origin": [-4, 8.75, -4], "size": [8, 6, 8], "uv": [0, 0]}
|
||||
{"origin": [-5.5, 3, -1.5], "size": [3, 0, 3], "uv": [0, 15]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "locator_mouth",
|
||||
"parent": "head",
|
||||
"pivot": [0, 9.75, -4],
|
||||
"locators": {
|
||||
"mouth": [0, 9.75, -4]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "locator_item_face",
|
||||
"parent": "head",
|
||||
"pivot": [0, 12.25, -4],
|
||||
"locators": {
|
||||
"item_face": [0, 12.25, -4]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "locator_face",
|
||||
"parent": "head",
|
||||
"pivot": [0, 11.75, -4],
|
||||
"locators": {
|
||||
"face": [0, 11.75, -4]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "face_ditto",
|
||||
"parent": "head",
|
||||
"pivot": [0, 11, -3.9]
|
||||
},
|
||||
{
|
||||
"name": "eyes_ditto",
|
||||
"parent": "face_ditto",
|
||||
"pivot": [0, 11.75, -3.92],
|
||||
"cubes": [
|
||||
{"origin": [-3, 11.25, -3.92], "size": [6, 1, 0], "uv": [22, 49]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "eyes_blink_ditto",
|
||||
"parent": "face_ditto",
|
||||
"pivot": [0, 11.75, -3.82],
|
||||
"cubes": [
|
||||
{"origin": [-3.5, 11.25, -3.82], "size": [7, 1, 0], "uv": [21, 51]},
|
||||
{"origin": [-3, 11.75, -3.83], "size": [6, 1, 0], "uv": [22, 53]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "mouth_ditto",
|
||||
"parent": "face_ditto",
|
||||
"pivot": [0, 10, -3.9],
|
||||
"cubes": [
|
||||
{"origin": [-2.5, 9.25, -3.91], "size": [5, 1, 0], "uv": [23, 57]},
|
||||
{"origin": [-3.5, 9.75, -3.91], "size": [7, 1, 0], "uv": [21, 55]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "mouth_open_ditto",
|
||||
"parent": "face_ditto",
|
||||
"pivot": [0, 9.75, -3.81],
|
||||
"cubes": [
|
||||
{"origin": [-3.5, 8.75, -3.81], "size": [7, 2, 0], "uv": [21, 59]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "face",
|
||||
"parent": "head",
|
||||
"pivot": [0, 11.75, -4.01]
|
||||
},
|
||||
{
|
||||
"name": "eyes",
|
||||
"parent": "face",
|
||||
"pivot": [0, 12, -3.51]
|
||||
},
|
||||
{
|
||||
"name": "brow_left",
|
||||
"parent": "eyes",
|
||||
"pivot": [2.25, 12.75, -3.5],
|
||||
"cubes": [
|
||||
{"origin": [1.75, 12.25, -4], "size": [1, 1, 1], "inflate": 0.01, "uv": [16, 52]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "brow_right",
|
||||
"parent": "eyes",
|
||||
"pivot": [-2.25, 12.75, -3.5],
|
||||
"cubes": [
|
||||
{"origin": [-2.75, 12.25, -4], "size": [1, 1, 1], "inflate": 0.01, "uv": [11, 52], "mirror": true}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "eye_left",
|
||||
"parent": "eyes",
|
||||
"pivot": [2.5, 12, -3.51],
|
||||
"cubes": [
|
||||
{"origin": [2, 11, -4], "size": [1, 1, 1], "inflate": 0.01, "uv": [6, 52]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "locator_eye_left",
|
||||
"parent": "eye_left",
|
||||
"pivot": [2.5, 12, -4],
|
||||
"locators": {
|
||||
"eye2": [2.5, 12, -4]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "eye_emote_left",
|
||||
"parent": "eye_left",
|
||||
"pivot": [2.5, 12, -4],
|
||||
"cubes": [
|
||||
{"origin": [2, 12, -4], "size": [1, 1, 1], "inflate": 0.025, "uv": [6, 49]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "eye_emote_left2",
|
||||
"parent": "eye_left",
|
||||
"pivot": [2.5, 12, -4],
|
||||
"cubes": [
|
||||
{"origin": [2, 12, -4], "size": [1, 1, 1], "inflate": 0.02, "uv": [16, 49]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "eye_right",
|
||||
"parent": "eyes",
|
||||
"pivot": [-2.5, 12, -3.51],
|
||||
"cubes": [
|
||||
{"origin": [-3, 11, -4], "size": [1, 1, 1], "inflate": 0.01, "uv": [1, 52], "mirror": true}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "locator_eye_right",
|
||||
"parent": "eye_right",
|
||||
"pivot": [-2.5, 12, -4],
|
||||
"locators": {
|
||||
"eye1": [-2.5, 12, -4]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "eye_emote_right",
|
||||
"parent": "eye_right",
|
||||
"pivot": [-2.5, 12, -4],
|
||||
"cubes": [
|
||||
{"origin": [-3, 12, -4], "size": [1, 1, 1], "inflate": 0.025, "uv": [1, 49], "mirror": true}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "eye_emote_right2",
|
||||
"parent": "eye_right",
|
||||
"pivot": [-2.5, 12, -4],
|
||||
"cubes": [
|
||||
{"origin": [-3, 12, -4], "size": [1, 1, 1], "inflate": 0.02, "uv": [11, 49], "mirror": true}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "eyelid_left",
|
||||
"parent": "eyes",
|
||||
"pivot": [2.5, 12, -3.41],
|
||||
"cubes": [
|
||||
{"origin": [1.5, 11, -3.9], "size": [2, 2, 1], "inflate": 0.03, "uv": [8, 45]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "eyelid_right",
|
||||
"parent": "eyes",
|
||||
"pivot": [-2.5, 12, -3.41],
|
||||
"cubes": [
|
||||
{"origin": [-3.5, 11, -3.9], "size": [2, 2, 1], "inflate": 0.03, "uv": [1, 45], "mirror": true}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "eyelid_hurt_left",
|
||||
"parent": "eyes",
|
||||
"pivot": [2.5, 12, -3.41],
|
||||
"cubes": [
|
||||
{"origin": [1.5, 11, -3.9], "size": [2, 2, 1], "inflate": 0.03, "uv": [22, 45]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "eyelid_hurt_right",
|
||||
"parent": "eyes",
|
||||
"pivot": [-2.5, 12, -3.41],
|
||||
"cubes": [
|
||||
{"origin": [-3.5, 11, -3.9], "size": [2, 2, 1], "inflate": 0.03, "uv": [15, 45], "mirror": true}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "eyelid_happy_left",
|
||||
"parent": "eyes",
|
||||
"pivot": [2.5, 12, -3.41],
|
||||
"cubes": [
|
||||
{"origin": [1, 11, -3.91], "size": [3, 2, 1], "uv": [38, 45]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "eyelid_happy_right",
|
||||
"parent": "eyes",
|
||||
"pivot": [-2.5, 12, -3.41],
|
||||
"cubes": [
|
||||
{"origin": [-4, 11, -3.91], "size": [3, 2, 1], "uv": [29, 45], "mirror": true}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "mouths",
|
||||
"parent": "face",
|
||||
"pivot": [0, 10.25, -3.91],
|
||||
"cubes": [
|
||||
{"origin": [-1.5, 9.75, -4], "size": [3, 1, 1], "inflate": 0.01, "uv": [1, 55]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "mouth_top",
|
||||
"parent": "mouths",
|
||||
"pivot": [0, 11.25, -4.01],
|
||||
"cubes": [
|
||||
{"origin": [-0.5, 10.27, -4], "size": [1, 1, 1], "inflate": 0.03, "uv": [10, 55]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "mouth_bottom",
|
||||
"parent": "mouths",
|
||||
"pivot": [0, 10.25, -4.01],
|
||||
"cubes": [
|
||||
{"origin": [-0.5, 9.23, -4], "size": [1, 1, 1], "inflate": 0.03, "uv": [10, 59]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "mouth_open",
|
||||
"parent": "mouths",
|
||||
"pivot": [0, 10.25, -3.91],
|
||||
"cubes": [
|
||||
{"origin": [-1.5, 9.25, -3.9], "size": [3, 2, 1], "inflate": 0.02, "uv": [1, 58]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "hair",
|
||||
"parent": "head",
|
||||
"pivot": [0, 17.25, 0.7],
|
||||
"rotation": [-10, 0, 0],
|
||||
"cubes": [
|
||||
{"origin": [4.5, 10.25, -3.8], "size": [0, 3, 9], "pivot": [4.5, 13.25, 0.7], "rotation": [0, 0, 9], "uv": [49, 47]},
|
||||
{"origin": [-4.5, 10.25, -3.8], "size": [0, 3, 9], "pivot": [-4.5, 13.25, 0.7], "rotation": [0, 0, -9], "uv": [49, 51], "mirror": true},
|
||||
{"origin": [-4.5, 13.25, -3.8], "size": [9, 4, 9], "uv": [33, 0]},
|
||||
{"origin": [-2.5, 10.25, -3.8], "size": [5, 3, 0], "pivot": [0, 13.25, -3.8], "rotation": [13.5, 0, 0], "uv": [53, 48]},
|
||||
{"origin": [0.5, 10.25, 5.2], "size": [4, 3, 0], "pivot": [4.5, 13.25, 5.2], "rotation": [0, 0, 9], "uv": [49, 52]},
|
||||
{"origin": [-4.5, 10.25, 5.2], "size": [4, 3, 0], "pivot": [-4.5, 13.25, 5.2], "rotation": [0, 0, -9], "uv": [59, 52], "mirror": true}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "locator_head",
|
||||
"parent": "hair",
|
||||
"pivot": [0, 16.25, -3.8],
|
||||
"locators": {
|
||||
"head": [0, 16.25, -3.8]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "locator_item_hat",
|
||||
"parent": "hair",
|
||||
"pivot": [0, 17.25, 0.7],
|
||||
"locators": {
|
||||
"item_hat": [0, 17.25, 0.7]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "hair2",
|
||||
"parent": "hair",
|
||||
"pivot": [4.5, 14.25, -0.8],
|
||||
"rotation": [22.5, -90, 0]
|
||||
},
|
||||
{
|
||||
"name": "hair3",
|
||||
"parent": "hair2",
|
||||
"pivot": [4.5, 14.25, -0.8],
|
||||
"cubes": [
|
||||
{"origin": [2.5, 14.25, -0.8], "size": [4, 7, 0], "uv": [40, 56]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "ponytail",
|
||||
"parent": "hair",
|
||||
"pivot": [0, 16.25, 1.2],
|
||||
"rotation": [-20, 0, 0],
|
||||
"cubes": [
|
||||
{"origin": [-4, 15.25, 0.2], "size": [8, 7, 7], "uv": [37, 13]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "ponytail2",
|
||||
"parent": "ponytail",
|
||||
"pivot": [0, 18.25, 6.7],
|
||||
"rotation": [-22.5, 0, 0],
|
||||
"cubes": [
|
||||
{"origin": [-3, 15.75, 5.2], "size": [6, 5, 7], "uv": [39, 27]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "ponytail3",
|
||||
"parent": "ponytail2",
|
||||
"pivot": [0, 17.75, 11.2],
|
||||
"rotation": [52.5, 0, 0],
|
||||
"cubes": [
|
||||
{"origin": [-1.5, 16.25, 10.7], "size": [3, 3, 5], "uv": [60, 0]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "arms",
|
||||
"parent": "chest",
|
||||
"pivot": [0, 7.5, 0]
|
||||
},
|
||||
{
|
||||
"name": "arm_left",
|
||||
"parent": "arms",
|
||||
"pivot": [2, 7.5, 0],
|
||||
"parent": "torso",
|
||||
"pivot": [2, 8, 0],
|
||||
"cubes": [
|
||||
{"origin": [1, 6.5, -1.5], "size": [4, 2, 3], "uv": [14, 28]}
|
||||
{"origin": [1, 7, -1], "size": [4, 2, 2], "uv": [35, 47]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "arm_left2",
|
||||
"parent": "arm_left",
|
||||
"pivot": [5, 8.5, 1],
|
||||
"pivot": [5, 9, 1],
|
||||
"cubes": [
|
||||
{"origin": [5, 6, -2], "size": [4, 3, 4], "inflate": 0.001, "uv": [16, 21]}
|
||||
{"origin": [5, 7, -1.5], "size": [4, 2, 3], "inflate": 0.001, "uv": [44, 35]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "locator_hand_secondary",
|
||||
"parent": "arm_left2",
|
||||
"pivot": [8.5, 7.45, 0],
|
||||
"rotation": [0, -90, 0],
|
||||
"locators": {
|
||||
"hand_secondary": [8.5, 7.45, 0]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "fingers_left",
|
||||
"parent": "arm_left2",
|
||||
"pivot": [9, 7.25, -0.5]
|
||||
},
|
||||
{
|
||||
"name": "finger_left",
|
||||
"parent": "fingers_left",
|
||||
"pivot": [9, 7.75, -0.75],
|
||||
"parent": "arm_left2",
|
||||
"pivot": [9, 7.75, -0.5],
|
||||
"rotation": [0, 12.5, 0],
|
||||
"cubes": [
|
||||
{"origin": [9, 7.75, -1.75], "size": [1, 1, 1], "inflate": 0.25, "uv": [0, 23]}
|
||||
{"origin": [9, 7.75, -1.5], "size": [1, 1, 1], "uv": [33, 44]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "finger_left2",
|
||||
"parent": "fingers_left",
|
||||
"pivot": [9, 7.75, 0.75],
|
||||
"parent": "arm_left2",
|
||||
"pivot": [9, 7.75, 0.5],
|
||||
"rotation": [0, -12.5, 0],
|
||||
"cubes": [
|
||||
{"origin": [9, 7.75, 0.75], "size": [1, 1, 1], "inflate": 0.25, "uv": [12, 23]}
|
||||
{"origin": [9, 7.75, 0.5], "size": [1, 1, 1], "uv": [40, 30]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "finger_left3",
|
||||
"parent": "fingers_left",
|
||||
"pivot": [9, 7.25, 0],
|
||||
"parent": "arm_left2",
|
||||
"pivot": [9, 8, 0],
|
||||
"cubes": [
|
||||
{"origin": [9, 6.25, -0.5], "size": [1, 1, 1], "inflate": 0.25, "uv": [16, 23]}
|
||||
{"origin": [9, 7, -0.5], "size": [1, 1, 1], "uv": [36, 30]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "arm_hammer_right",
|
||||
"parent": "torso",
|
||||
"pivot": [-2, 8, 0]
|
||||
},
|
||||
{
|
||||
"name": "arm_hammer_right2",
|
||||
"parent": "arm_hammer_right",
|
||||
"pivot": [-5, 9, 1]
|
||||
},
|
||||
{
|
||||
"name": "hammer",
|
||||
"parent": "arm_hammer_right2",
|
||||
"pivot": [-9.75, 8, 0]
|
||||
},
|
||||
{
|
||||
"name": "hammer2",
|
||||
"parent": "hammer",
|
||||
"pivot": [-9.55, 7.9675, -9.0675],
|
||||
"cubes": [
|
||||
{"origin": [-11, 6.5, -20], "size": [3, 3, 6], "uv": [30, 9]},
|
||||
{"origin": [-10.5, 6.475, -18.25], "size": [2, 0, 2], "uv": [-1, 54]},
|
||||
{"origin": [-10, 6.4, -18.4], "size": [1, 0, 1], "uv": [-1, 54]},
|
||||
{"origin": [-11, 6.5, -12.5], "size": [3, 3, 3], "uv": [0, 47]},
|
||||
{"origin": [-10, 7.5, -14.5], "size": [1, 1, 18], "inflate": 0.001, "uv": [0, 0]},
|
||||
{"origin": [-15.5, 4.025, -18.525], "size": [12, 11, 0], "pivot": [-9.5, 9.525, -18.525], "rotation": [-90, -180, 0], "uv": [0, 36]},
|
||||
{"origin": [-15.5, 3.5, -30.5], "size": [0, 8, 5], "pivot": [-9.5, 12.25, -22.775], "rotation": [90, 0, 0], "uv": [34, 31]},
|
||||
{"origin": [-15.5, 3.5, -30.5], "size": [3, 8, 0], "pivot": [-9.5, 12.25, -22.775], "rotation": [90, 0, 0], "uv": [47, 47]},
|
||||
{"origin": [-7.5, 2.5, -30.5], "size": [4, 9, 0], "pivot": [-9.5, 12.25, -22.775], "rotation": [90, 0, 0], "uv": [12, 47]},
|
||||
{"origin": [-3.5, 2.525, -20.025], "size": [0, 9, 5], "pivot": [-3.5, 7.025, -17.525], "rotation": [90, 180, 0], "uv": [24, 31]},
|
||||
{"origin": [-13.5, 12.5, -29.5], "size": [8, 1, 0], "pivot": [-9.5, 12.25, -22.775], "rotation": [90, 0, 0], "uv": [0, 7]},
|
||||
{"origin": [-13.5, 7.525, -26.025], "size": [8, 0, 4], "pivot": [-9.5, 7.525, -24.025], "rotation": [90, 180, 0], "uv": [17, 19]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "arm_right",
|
||||
"parent": "arms",
|
||||
"pivot": [-2, 7.5, 0],
|
||||
"parent": "torso",
|
||||
"pivot": [-2, 8, 0],
|
||||
"cubes": [
|
||||
{"origin": [-5, 6.5, -1.5], "size": [4, 2, 3], "uv": [0, 28], "mirror": true}
|
||||
{"origin": [-5, 7, -1], "size": [4, 2, 2], "uv": [0, 32]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "arm_right2",
|
||||
"parent": "arm_right",
|
||||
"pivot": [-5, 8.5, 1.5],
|
||||
"pivot": [-5, 9, 1],
|
||||
"cubes": [
|
||||
{"origin": [-9, 6, -2], "size": [4, 3, 4], "inflate": 0.001, "uv": [0, 21], "mirror": true}
|
||||
{"origin": [-9, 7, -1.5], "size": [4, 2, 3], "inflate": 0.001, "uv": [44, 30]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "locator_hand_primary",
|
||||
"parent": "arm_right2",
|
||||
"pivot": [-8.5, 7.45, 0],
|
||||
"rotation": [0, 90, 0],
|
||||
"locators": {
|
||||
"hand_primary": [-8.5, 7.45, 0]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "fingers_right",
|
||||
"parent": "arm_right2",
|
||||
"pivot": [-9, 7.25, -0.5]
|
||||
},
|
||||
{
|
||||
"name": "finger_right",
|
||||
"parent": "fingers_right",
|
||||
"pivot": [-9, 7.75, -0.75],
|
||||
"parent": "arm_right2",
|
||||
"pivot": [-9, 7.75, -0.5],
|
||||
"rotation": [0, -12.5, 0],
|
||||
"cubes": [
|
||||
{"origin": [-10, 7.75, -1.75], "size": [1, 1, 1], "inflate": 0.25, "uv": [0, 21], "mirror": true}
|
||||
{"origin": [-10, 7.75, -1.5], "size": [1, 1, 1], "uv": [36, 2]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "finger_right2",
|
||||
"parent": "fingers_right",
|
||||
"pivot": [-9, 7.75, 0.75],
|
||||
"parent": "arm_right2",
|
||||
"pivot": [-9, 7.75, 0.5],
|
||||
"rotation": [0, 12.5, 0],
|
||||
"cubes": [
|
||||
{"origin": [-10, 7.75, 0.75], "size": [1, 1, 1], "inflate": 0.25, "uv": [12, 21], "mirror": true}
|
||||
{"origin": [-10, 7.75, 0.5], "size": [1, 1, 1], "uv": [36, 0]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "finger_right3",
|
||||
"parent": "fingers_right",
|
||||
"pivot": [-9, 7.25, 0],
|
||||
"parent": "arm_right2",
|
||||
"pivot": [-9, 8, 0],
|
||||
"cubes": [
|
||||
{"origin": [-10, 6.25, -0.5], "size": [1, 1, 1], "inflate": 0.25, "uv": [16, 21], "mirror": true}
|
||||
{"origin": [-10, 7, -0.5], "size": [1, 1, 1], "uv": [10, 32]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "arm_hammer_right",
|
||||
"parent": "arms",
|
||||
"pivot": [-2, 7.5, 0]
|
||||
},
|
||||
{
|
||||
"name": "arm_hammer_right2",
|
||||
"parent": "arm_hammer_right",
|
||||
"pivot": [-5, 8.5, 1.5]
|
||||
},
|
||||
{
|
||||
"name": "hammer",
|
||||
"parent": "arm_hammer_right2",
|
||||
"pivot": [-10, 7.5, 0]
|
||||
},
|
||||
{
|
||||
"name": "hammer2",
|
||||
"parent": "hammer",
|
||||
"pivot": [-10.05, 7.5, -11.25],
|
||||
"cubes": [
|
||||
{"origin": [-11, 6.5, -11.85], "size": [2, 2, 16], "inflate": -0.1, "uv": [91, 18]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "ball",
|
||||
"parent": "hammer2",
|
||||
"pivot": [-10, 7.5, -14.75],
|
||||
"cubes": [
|
||||
{"origin": [-11.5, 6, -14.75], "size": [3, 3, 3], "uv": [94, 27]},
|
||||
{"origin": [-11.5, 6, -14.75], "size": [3, 3, 3], "inflate": 0.1, "uv": [112, 27]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "rattle",
|
||||
"parent": "hammer2",
|
||||
"pivot": [-10, 7.5, -15.25],
|
||||
"cubes": [
|
||||
{"origin": [-11.5, 6, -22.75], "size": [3, 3, 6], "uv": [84, 37]},
|
||||
{"origin": [-10.5, 7, -16.75], "size": [1, 1, 2], "uv": [97, 23]},
|
||||
{"origin": [-10.5, 6, -21.25], "size": [1, 1, 1], "inflate": 0.02, "pivot": [-10, 6.5, -20.75], "rotation": [0, -45, 0], "uv": [97, 40]},
|
||||
{"origin": [-11, 6, -20.25], "size": [2, 1, 2], "inflate": 0.02, "pivot": [-10, 6.5, -19.25], "rotation": [0, -45, 0], "uv": [81, 38]},
|
||||
{"origin": [-11, 6, -20.75], "size": [2, 1, 2], "inflate": 0.01, "uv": [114, 23]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "locator_item",
|
||||
"parent": "rattle",
|
||||
"pivot": [-10, 5.3, -19],
|
||||
"locators": {
|
||||
"item": {
|
||||
"offset": [-10, 5.3, -19],
|
||||
"rotation": [0, 135, 0]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "plates",
|
||||
"parent": "hammer2",
|
||||
"pivot": [-10, 9.025, -20.275]
|
||||
},
|
||||
{
|
||||
"name": "plate_top",
|
||||
"parent": "plates",
|
||||
"pivot": [-3.5, 9.525, -20.275],
|
||||
"cubes": [
|
||||
{"origin": [-4, 4.5, -20.26], "size": [6, 8, 0], "pivot": [-4, 10, -20.25], "rotation": [-90, -180, 0], "uv": [115, 46]},
|
||||
{"origin": [0, -1.5, -20.26], "size": [4, 8, 0], "pivot": [-2, 4, -20.25], "rotation": [-90, -180, 0], "uv": [117, 37]},
|
||||
{"origin": [8, 4.5, -20.26], "size": [0, 8, 6], "pivot": [2, 10, -20.25], "rotation": [-90, -180, 0], "uv": [115, 49]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "plate_middle",
|
||||
"parent": "plates",
|
||||
"pivot": [-6.5, 9.525, -21.775],
|
||||
"cubes": [
|
||||
{"origin": [-10, 4.5, -21.75], "size": [8, 9, 0], "pivot": [-8, 10, -21.75], "rotation": [-90, -180, 0], "uv": [85, 47]},
|
||||
{"origin": [-10, 4.5, -30.75], "size": [8, 0, 6], "pivot": [-8, 10, -30.75], "rotation": [-90, -180, 0], "uv": [79, 57]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "plate_bottom",
|
||||
"parent": "plates",
|
||||
"pivot": [-16.5, 10.525, -20.775],
|
||||
"cubes": [
|
||||
{"origin": [-21, 4.5, -20.74], "size": [5, 8, 0], "pivot": [-16, 10, -20.75], "rotation": [-90, 180, 0], "uv": [103, 46]},
|
||||
{"origin": [-24, -1.5, -20.74], "size": [4, 8, 0], "pivot": [-18, 4, -20.75], "rotation": [-90, 180, 0], "uv": [104, 37], "mirror": true},
|
||||
{"origin": [-28, 4.5, -20.74], "size": [0, 8, 6], "pivot": [-22, 10, -20.75], "rotation": [-90, 180, 0], "uv": [102, 49], "mirror": true}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "locator_physical",
|
||||
"parent": "plate_bottom",
|
||||
"pivot": [-16, 7, -19],
|
||||
"locators": {
|
||||
"physical": [-16, 7, -19]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "bandage",
|
||||
"parent": "plates",
|
||||
"pivot": [-8, 10, -22.25],
|
||||
"cubes": [
|
||||
{"origin": [-10.75, 10.2, -23.25], "size": [2, 0, 6], "pivot": [-9.75, 13, -20.25], "rotation": [0, 45, 0], "uv": [74, 57]},
|
||||
{"origin": [-10.75, 10.1, -23.25], "size": [2, 0, 6], "pivot": [-9.75, 13, -20.25], "rotation": [0, -55, 0], "uv": [69, 57]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "skirt",
|
||||
"name": "head",
|
||||
"parent": "torso",
|
||||
"pivot": [0, 3, 0]
|
||||
},
|
||||
{
|
||||
"name": "skirt_left",
|
||||
"parent": "skirt",
|
||||
"pivot": [2.7, 3, -0.5],
|
||||
"rotation": [0, 0, 30],
|
||||
"pivot": [0, 9, 0.5],
|
||||
"cubes": [
|
||||
{"origin": [2.7, 3, -2], "size": [3, 0, 3], "uv": [65, 60]}
|
||||
{"origin": [-3.5, 9, -3.5], "size": [7, 6, 7], "uv": [0, 19]},
|
||||
{"origin": [-4, 17.30092, -3.63266], "size": [8, 0, 8], "pivot": [0, 13.80092, 0.36734], "rotation": [-7.5, 0, 0], "uv": [12, 0]},
|
||||
{"origin": [4, 10.30092, -3.63266], "size": [0, 7, 8], "pivot": [0, 13.80092, 0.36734], "rotation": [-7.5, 0, 0], "uv": [20, 0]},
|
||||
{"origin": [-4, 10.30092, 4.36734], "size": [8, 7, 0], "pivot": [0, 13.80092, 0.36734], "rotation": [-7.5, 0, 0], "uv": [0, 0]},
|
||||
{"origin": [-4, 11.30092, -3.63266], "size": [8, 6, 0], "pivot": [0, 13.80092, 0.36734], "rotation": [-7.5, 0, 0], "uv": [42, 9]},
|
||||
{"origin": [-4, 10.30092, -3.63266], "size": [0, 7, 8], "pivot": [0, 13.80092, 0.36734], "rotation": [-7.5, 0, 0], "uv": [0, 0]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "skirt_right",
|
||||
"parent": "skirt",
|
||||
"pivot": [-2.7, 3, -0.5],
|
||||
"rotation": [0, 0, -30],
|
||||
"name": "eye_left",
|
||||
"parent": "head",
|
||||
"pivot": [2.25, 12.25, -3.01],
|
||||
"rotation": [0, 0, -7.5],
|
||||
"cubes": [
|
||||
{"origin": [-5.7, 3, -2], "size": [3, 0, 3], "uv": [65, 56], "mirror": true}
|
||||
{"origin": [1.75, 11.25, -3.51], "size": [1, 2, 1], "uv": [21, 23]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "legs",
|
||||
"parent": "body",
|
||||
"pivot": [-0.2, 4.5, 0]
|
||||
"name": "eyelid_left",
|
||||
"parent": "eye_left",
|
||||
"pivot": [2.25, 12.25, -2.91],
|
||||
"cubes": [
|
||||
{"origin": [1.75, 11.25, -3.41], "size": [1, 2, 1], "inflate": 0.01, "uv": [26, 15]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "eye_right",
|
||||
"parent": "head",
|
||||
"pivot": [-2.25, 12.25, -3.01],
|
||||
"rotation": [0, 0, 7.5],
|
||||
"cubes": [
|
||||
{"origin": [-2.75, 11.25, -3.51], "size": [1, 2, 1], "uv": [0, 21]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "eyelid_right",
|
||||
"parent": "eye_right",
|
||||
"pivot": [-2.25, 12.25, -2.91],
|
||||
"cubes": [
|
||||
{"origin": [-2.75, 11.25, -3.41], "size": [1, 2, 1], "inflate": 0.01, "uv": [3, 23]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "mouth_open",
|
||||
"parent": "head",
|
||||
"pivot": [0, 10.5, -3.41],
|
||||
"cubes": [
|
||||
{"origin": [-1.5, 9.5, -3.41], "size": [3, 2, 0], "uv": [20, 15]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "mouth_closed",
|
||||
"parent": "head",
|
||||
"pivot": [0, 10.5, -3.51],
|
||||
"cubes": [
|
||||
{"origin": [-1.5, 9.5, -3.51], "size": [3, 2, 0], "uv": [0, 19]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "ponytail",
|
||||
"parent": "head",
|
||||
"pivot": [0, 16.81524, 1.82582],
|
||||
"rotation": [2.5, 0, 0],
|
||||
"cubes": [
|
||||
{"origin": [-2, 16.62133, -0.28751], "size": [4, 4, 8], "uv": [20, 24]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "ponytail2",
|
||||
"parent": "ponytail",
|
||||
"pivot": [0, 16.62133, 3.71249],
|
||||
"cubes": [
|
||||
{"origin": [-2, 9.62133, 3.71249], "size": [4, 7, 4], "inflate": -0.001, "uv": [36, 19]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "ponytail3",
|
||||
"parent": "ponytail2",
|
||||
"pivot": [0, 11.62133, 7.71249],
|
||||
"cubes": [
|
||||
{"origin": [-2, 9.62133, 7.71249], "size": [4, 2, 3], "inflate": -0.002, "uv": [21, 45]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "hair2",
|
||||
"parent": "head",
|
||||
"pivot": [3.25, 16.625, -1.925],
|
||||
"rotation": [-30, 0, 27.5]
|
||||
},
|
||||
{
|
||||
"name": "hair3",
|
||||
"parent": "hair2",
|
||||
"pivot": [3.25, 16.625, -1.925],
|
||||
"cubes": [
|
||||
{"origin": [1.25, 16.625, -1.925], "size": [4, 6, 0], "uv": [48, 15]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "leg_left",
|
||||
"parent": "legs",
|
||||
"pivot": [1.55, 4, 0],
|
||||
"parent": "body",
|
||||
"pivot": [1.25, 4, 0],
|
||||
"cubes": [
|
||||
{"origin": [0.05, 1.5, -1.5], "size": [3, 3, 3], "inflate": -0.25, "uv": [12, 33]}
|
||||
{"origin": [0.25, 2, -1], "size": [2, 2, 2], "uv": [28, 50]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "leg_left2",
|
||||
"parent": "leg_left",
|
||||
"pivot": [1.55, 1.7, -1.4],
|
||||
"pivot": [1.25, 2, -1],
|
||||
"cubes": [
|
||||
{"origin": [0.05, 0, -1.5], "size": [3, 2, 3], "uv": [12, 39]}
|
||||
{"origin": [0.25, 0, -1], "size": [2, 2, 2], "inflate": 0.2, "uv": [50, 0]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "locator_foot_secondary",
|
||||
"parent": "leg_left2",
|
||||
"pivot": [1.6, 0.5, 0],
|
||||
"rotation": [90, 0, 0],
|
||||
"locators": {
|
||||
"foot_secondary": [1.6, 0.5, 0]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "leg_right",
|
||||
"parent": "legs",
|
||||
"pivot": [-1.55, 4, 0],
|
||||
"parent": "body",
|
||||
"pivot": [-1.25, 4, 0],
|
||||
"cubes": [
|
||||
{"origin": [-3.05, 1.5, -1.5], "size": [3, 3, 3], "inflate": -0.25, "uv": [0, 33], "mirror": true}
|
||||
{"origin": [-2.25, 2, -1], "size": [2, 2, 2], "uv": [20, 50]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "leg_right2",
|
||||
"parent": "leg_right",
|
||||
"pivot": [-1.55, 1.7, -1.4],
|
||||
"pivot": [-1.25, 2, -1],
|
||||
"cubes": [
|
||||
{"origin": [-3.05, 0, -1.5], "size": [3, 2, 3], "uv": [0, 39], "mirror": true}
|
||||
{"origin": [-2.25, 0, -1], "size": [2, 2, 2], "inflate": 0.2, "uv": [12, 32]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "locator_foot_primary",
|
||||
"parent": "leg_right2",
|
||||
"pivot": [-1.6, 0.5, 0],
|
||||
"rotation": [90, 0, 0],
|
||||
"locators": {
|
||||
"foot_primary": [-1.6, 0.5, 0]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -0,0 +1,305 @@
|
||||
{
|
||||
"format_version": "1.12.0",
|
||||
"minecraft:geometry": [
|
||||
{
|
||||
"description": {
|
||||
"identifier": "geometry.tinkatuff_dot",
|
||||
"texture_width": 64,
|
||||
"texture_height": 64,
|
||||
"visible_bounds_width": 3,
|
||||
"visible_bounds_height": 2.5,
|
||||
"visible_bounds_offset": [0, 0.75, 0]
|
||||
},
|
||||
"bones": [
|
||||
{
|
||||
"name": "tinkatuff",
|
||||
"pivot": [0, 0, 0]
|
||||
},
|
||||
{
|
||||
"name": "body",
|
||||
"parent": "tinkatuff",
|
||||
"pivot": [0, 6, 0]
|
||||
},
|
||||
{
|
||||
"name": "torso",
|
||||
"parent": "body",
|
||||
"pivot": [0, 4.25, 0],
|
||||
"cubes": [
|
||||
{"origin": [-2, 7.5, -1.5], "size": [4, 3, 3], "uv": [41, 41]},
|
||||
{"origin": [-2.5, 3, -2], "size": [5, 5, 4], "uv": [36, 0]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "skirt_left",
|
||||
"parent": "torso",
|
||||
"pivot": [2.5, 3, 0],
|
||||
"rotation": [0, 0, 45],
|
||||
"cubes": [
|
||||
{"origin": [2.5, 3, -1.5], "size": [3, 0, 3], "uv": [6, 15]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "skirt_right",
|
||||
"parent": "torso",
|
||||
"pivot": [-2.5, 3, 0],
|
||||
"rotation": [0, 0, -45],
|
||||
"cubes": [
|
||||
{"origin": [-5.5, 3, -1.5], "size": [3, 0, 3], "uv": [0, 15]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "arm_left",
|
||||
"parent": "torso",
|
||||
"pivot": [2, 8, 0],
|
||||
"cubes": [
|
||||
{"origin": [1, 7, -1], "size": [4, 2, 2], "uv": [35, 47]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "arm_left2",
|
||||
"parent": "arm_left",
|
||||
"pivot": [5, 9, 1],
|
||||
"cubes": [
|
||||
{"origin": [5, 7, -1.5], "size": [4, 2, 3], "inflate": 0.001, "uv": [44, 35]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "finger_left",
|
||||
"parent": "arm_left2",
|
||||
"pivot": [9, 7.75, -0.5],
|
||||
"rotation": [0, 12.5, 0],
|
||||
"cubes": [
|
||||
{"origin": [9, 7.75, -1.5], "size": [1, 1, 1], "uv": [33, 44]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "finger_left2",
|
||||
"parent": "arm_left2",
|
||||
"pivot": [9, 7.75, 0.5],
|
||||
"rotation": [0, -12.5, 0],
|
||||
"cubes": [
|
||||
{"origin": [9, 7.75, 0.5], "size": [1, 1, 1], "uv": [40, 30]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "finger_left3",
|
||||
"parent": "arm_left2",
|
||||
"pivot": [9, 8, 0],
|
||||
"cubes": [
|
||||
{"origin": [9, 7, -0.5], "size": [1, 1, 1], "uv": [36, 30]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "arm_hammer_right",
|
||||
"parent": "torso",
|
||||
"pivot": [-2, 8, 0]
|
||||
},
|
||||
{
|
||||
"name": "arm_hammer_right2",
|
||||
"parent": "arm_hammer_right",
|
||||
"pivot": [-5, 9, 1]
|
||||
},
|
||||
{
|
||||
"name": "hammer",
|
||||
"parent": "arm_hammer_right2",
|
||||
"pivot": [-9.75, 8, 0]
|
||||
},
|
||||
{
|
||||
"name": "hammer2",
|
||||
"parent": "hammer",
|
||||
"pivot": [-9.55, 7.9675, -9.0675],
|
||||
"cubes": [
|
||||
{"origin": [-11, 6.5, -20], "size": [3, 3, 6], "uv": [30, 9]},
|
||||
{"origin": [-10.5, 6.475, -18], "size": [2, 0, 2], "pivot": [-9.5, 6.475, -17], "rotation": [0, 45, 0], "uv": [-1, 54]},
|
||||
{"origin": [-11, 6.5, -12.5], "size": [3, 3, 3], "uv": [0, 47]},
|
||||
{"origin": [-10, 7.5, -14.5], "size": [1, 1, 18], "inflate": 0.001, "uv": [0, 0]},
|
||||
{"origin": [-15.5, 4.025, -18.525], "size": [12, 11, 0], "pivot": [-9.5, 9.525, -18.525], "rotation": [-90, -180, 0], "uv": [0, 36]},
|
||||
{"origin": [-15, 6.53, -18.04], "size": [7, 7, 0], "pivot": [-11, 9.53, -18.04], "rotation": [90, -45, -180], "uv": [42, 56]},
|
||||
{"origin": [-15.5, 3.5, -30.5], "size": [0, 8, 5], "pivot": [-9.5, 12.25, -22.775], "rotation": [90, 0, 0], "uv": [34, 31]},
|
||||
{"origin": [-15.5, 3.5, -30.5], "size": [3, 8, 0], "pivot": [-9.5, 12.25, -22.775], "rotation": [90, 0, 0], "uv": [47, 47]},
|
||||
{"origin": [-7.5, 2.5, -30.5], "size": [4, 9, 0], "pivot": [-9.5, 12.25, -22.775], "rotation": [90, 0, 0], "uv": [12, 47]},
|
||||
{"origin": [-3.5, 2.525, -20.025], "size": [0, 9, 5], "pivot": [-3.5, 7.025, -17.525], "rotation": [90, 180, 0], "uv": [24, 31]},
|
||||
{"origin": [-13.5, 12.5, -29.5], "size": [8, 1, 0], "pivot": [-9.5, 12.25, -22.775], "rotation": [90, 0, 0], "uv": [0, 7]},
|
||||
{"origin": [-13.5, 7.525, -26.025], "size": [8, 0, 4], "pivot": [-9.5, 7.525, -24.025], "rotation": [90, 180, 0], "uv": [17, 19]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "arm_right",
|
||||
"parent": "torso",
|
||||
"pivot": [-2, 8, 0],
|
||||
"cubes": [
|
||||
{"origin": [-5, 7, -1], "size": [4, 2, 2], "uv": [0, 32]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "arm_right2",
|
||||
"parent": "arm_right",
|
||||
"pivot": [-5, 9, 1],
|
||||
"cubes": [
|
||||
{"origin": [-9, 7, -1.5], "size": [4, 2, 3], "inflate": 0.001, "uv": [44, 30]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "finger_right",
|
||||
"parent": "arm_right2",
|
||||
"pivot": [-9, 7.75, -0.5],
|
||||
"rotation": [0, -12.5, 0],
|
||||
"cubes": [
|
||||
{"origin": [-10, 7.75, -1.5], "size": [1, 1, 1], "uv": [36, 2]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "finger_right2",
|
||||
"parent": "arm_right2",
|
||||
"pivot": [-9, 7.75, 0.5],
|
||||
"rotation": [0, 12.5, 0],
|
||||
"cubes": [
|
||||
{"origin": [-10, 7.75, 0.5], "size": [1, 1, 1], "uv": [36, 0]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "finger_right3",
|
||||
"parent": "arm_right2",
|
||||
"pivot": [-9, 8, 0],
|
||||
"cubes": [
|
||||
{"origin": [-10, 7, -0.5], "size": [1, 1, 1], "uv": [10, 32]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "head",
|
||||
"parent": "torso",
|
||||
"pivot": [0, 9, 0.5],
|
||||
"cubes": [
|
||||
{"origin": [-3.5, 9, -3.5], "size": [7, 6, 7], "uv": [0, 19]},
|
||||
{"origin": [-4, 17.30092, -3.63266], "size": [8, 0, 8], "pivot": [0, 13.80092, 0.36734], "rotation": [-7.5, 0, 0], "uv": [12, 0]},
|
||||
{"origin": [4, 10.30092, -3.63266], "size": [0, 7, 8], "pivot": [0, 13.80092, 0.36734], "rotation": [-7.5, 0, 0], "uv": [20, 0]},
|
||||
{"origin": [-4, 10.30092, 4.36734], "size": [8, 7, 0], "pivot": [0, 13.80092, 0.36734], "rotation": [-7.5, 0, 0], "uv": [0, 0]},
|
||||
{"origin": [-4, 11.30092, -3.63266], "size": [8, 6, 0], "pivot": [0, 13.80092, 0.36734], "rotation": [-7.5, 0, 0], "uv": [42, 9]},
|
||||
{"origin": [-4, 10.30092, -3.63266], "size": [0, 7, 8], "pivot": [0, 13.80092, 0.36734], "rotation": [-7.5, 0, 0], "uv": [0, 0]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "eye_left",
|
||||
"parent": "head",
|
||||
"pivot": [2.25, 12.25, -3.01],
|
||||
"rotation": [0, 0, -7.5],
|
||||
"cubes": [
|
||||
{"origin": [1.75, 11.25, -3.51], "size": [1, 2, 1], "uv": [21, 23]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "eyelid_left",
|
||||
"parent": "eye_left",
|
||||
"pivot": [2.25, 12.25, -2.91],
|
||||
"cubes": [
|
||||
{"origin": [1.75, 11.25, -3.41], "size": [1, 2, 1], "inflate": 0.01, "uv": [26, 15]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "eye_right",
|
||||
"parent": "head",
|
||||
"pivot": [-2.25, 12.25, -3.01],
|
||||
"rotation": [0, 0, 7.5],
|
||||
"cubes": [
|
||||
{"origin": [-2.75, 11.25, -3.51], "size": [1, 2, 1], "uv": [0, 21]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "eyelid_right",
|
||||
"parent": "eye_right",
|
||||
"pivot": [-2.25, 12.25, -2.91],
|
||||
"cubes": [
|
||||
{"origin": [-2.75, 11.25, -3.41], "size": [1, 2, 1], "inflate": 0.01, "uv": [3, 23]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "mouth_open",
|
||||
"parent": "head",
|
||||
"pivot": [0, 10.5, -3.41],
|
||||
"cubes": [
|
||||
{"origin": [-1.5, 9.5, -3.41], "size": [3, 2, 0], "uv": [20, 15]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "mouth_closed",
|
||||
"parent": "head",
|
||||
"pivot": [0, 10.5, -3.51],
|
||||
"cubes": [
|
||||
{"origin": [-1.5, 9.5, -3.51], "size": [3, 2, 0], "uv": [0, 19]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "ponytail",
|
||||
"parent": "head",
|
||||
"pivot": [0, 16.81524, 1.82582],
|
||||
"rotation": [2.5, 0, 0],
|
||||
"cubes": [
|
||||
{"origin": [-2, 16.62133, -0.28751], "size": [4, 4, 8], "uv": [20, 24]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "ponytail2",
|
||||
"parent": "ponytail",
|
||||
"pivot": [0, 16.62133, 3.71249],
|
||||
"cubes": [
|
||||
{"origin": [-2, 9.62133, 3.71249], "size": [4, 7, 4], "inflate": -0.001, "uv": [36, 19]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "ponytail3",
|
||||
"parent": "ponytail2",
|
||||
"pivot": [0, 11.62133, 7.71249],
|
||||
"cubes": [
|
||||
{"origin": [-2, 9.62133, 7.71249], "size": [4, 2, 3], "inflate": -0.002, "uv": [21, 45]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "hair2",
|
||||
"parent": "head",
|
||||
"pivot": [3.25, 16.625, -1.925],
|
||||
"rotation": [-30, 0, 27.5]
|
||||
},
|
||||
{
|
||||
"name": "hair3",
|
||||
"parent": "hair2",
|
||||
"pivot": [3.25, 16.625, -1.925],
|
||||
"cubes": [
|
||||
{"origin": [1.25, 16.625, -1.925], "size": [4, 6, 0], "uv": [48, 15]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "leg_left",
|
||||
"parent": "body",
|
||||
"pivot": [1.25, 4, 0],
|
||||
"cubes": [
|
||||
{"origin": [0.25, 2, -1], "size": [2, 2, 2], "uv": [28, 50]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "leg_left2",
|
||||
"parent": "leg_left",
|
||||
"pivot": [1.25, 2, -1],
|
||||
"cubes": [
|
||||
{"origin": [0.25, 0, -1], "size": [2, 2, 2], "inflate": 0.2, "uv": [50, 0]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "leg_right",
|
||||
"parent": "body",
|
||||
"pivot": [-1.25, 4, 0],
|
||||
"cubes": [
|
||||
{"origin": [-2.25, 2, -1], "size": [2, 2, 2], "uv": [20, 50]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "leg_right2",
|
||||
"parent": "leg_right",
|
||||
"pivot": [-1.25, 2, -1],
|
||||
"cubes": [
|
||||
{"origin": [-2.25, 0, -1], "size": [2, 2, 2], "inflate": 0.2, "uv": [12, 32]}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,650 @@
|
||||
{
|
||||
"format_version": "1.12.0",
|
||||
"minecraft:geometry": [
|
||||
{
|
||||
"description": {
|
||||
"identifier": "geometry.tinkaton_dot",
|
||||
"texture_width": 128,
|
||||
"texture_height": 128,
|
||||
"visible_bounds_width": 5,
|
||||
"visible_bounds_height": 4.5,
|
||||
"visible_bounds_offset": [0, 1.75, 0]
|
||||
},
|
||||
"bones": [
|
||||
{
|
||||
"name": "bb_main",
|
||||
"pivot": [0, 0, 0],
|
||||
"cubes": [
|
||||
{"origin": [-2, 0, 0], "size": [2, 2, 2], "uv": [0, 0]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "tinkaton",
|
||||
"pivot": [0, 0, 0]
|
||||
},
|
||||
{
|
||||
"name": "body_hammer",
|
||||
"parent": "tinkaton",
|
||||
"pivot": [0, 7, 0]
|
||||
},
|
||||
{
|
||||
"name": "torso_hammer",
|
||||
"parent": "body_hammer",
|
||||
"pivot": [0, 4, 0]
|
||||
},
|
||||
{
|
||||
"name": "arms_hammer",
|
||||
"parent": "torso_hammer",
|
||||
"pivot": [0, 7, 0]
|
||||
},
|
||||
{
|
||||
"name": "arm_hammer_right",
|
||||
"parent": "arms_hammer",
|
||||
"pivot": [-1.5, 6.5, 0]
|
||||
},
|
||||
{
|
||||
"name": "hand_hammer_right",
|
||||
"parent": "arm_hammer_right",
|
||||
"pivot": [-4.5, 6.5, 1.5]
|
||||
},
|
||||
{
|
||||
"name": "hammer",
|
||||
"parent": "hand_hammer_right",
|
||||
"pivot": [-8, 5.125, -0.5]
|
||||
},
|
||||
{
|
||||
"name": "hammer_handle",
|
||||
"parent": "hammer",
|
||||
"pivot": [-8, 5.375, -15.75],
|
||||
"cubes": [
|
||||
{"origin": [-8, 1.25, -23], "size": [0, 4, 4], "uv": [64, 48]},
|
||||
{"origin": [-9.5, 5.25, -23], "size": [3, 4, 5], "inflate": -0.001, "uv": [87, 0]},
|
||||
{"origin": [-9.5, 3.25, -19], "size": [3, 5, 4], "uv": [88, 34]},
|
||||
{"origin": [-9, 4.25, -15], "size": [2, 2, 21], "uv": [0, 27]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "hammer_middle",
|
||||
"parent": "hammer_handle",
|
||||
"pivot": [-8.8, 5.25, -29],
|
||||
"cubes": [
|
||||
{"origin": [-14, 12.252, -35], "size": [12, 0, 12], "inflate": 0.001, "uv": [37, 27]},
|
||||
{"origin": [-14, -0.752, -35], "size": [12, 0, 12], "inflate": 0.001, "uv": [13, 27]},
|
||||
{"origin": [-14, -0.75, -35], "size": [12, 13, 0], "inflate": 0.001, "uv": [80, 60]},
|
||||
{"origin": [-14, -0.75, -35], "size": [0, 13, 12], "inflate": 0.001, "uv": [24, 50]},
|
||||
{"origin": [-14, -0.75, -23], "size": [12, 13, 0], "inflate": 0.001, "uv": [20, 75]},
|
||||
{"origin": [-2, -0.75, -35], "size": [0, 13, 12], "inflate": 0.001, "uv": [0, 38]},
|
||||
{"origin": [-8, -2.75, -46], "size": [0, 12, 11], "uv": [48, 51]},
|
||||
{"origin": [-9.3375, 5.7875, -30.025], "size": [2, 0, 2], "pivot": [-8.3375, 5.7875, -29.025], "rotation": [0, -45, -90], "uv": [93, 14]},
|
||||
{"origin": [-13, -0.75, -24], "size": [10, 13, 0], "uv": [68, 83]},
|
||||
{"origin": [-13, -0.75, -34], "size": [0, 13, 10], "uv": [0, 53]},
|
||||
{"origin": [-3, -0.75, -34], "size": [0, 13, 10], "uv": [0, 17]},
|
||||
{"origin": [-13, -0.75, -34], "size": [10, 13, 0], "uv": [0, 76]},
|
||||
{"origin": [-13, -0.75, -34], "size": [10, 0, 10], "uv": [47, 0]},
|
||||
{"origin": [-13, 12.25, -34], "size": [10, 0, 10], "uv": [36, 39]},
|
||||
{"origin": [-10.5, 0.75, -28], "size": [1, 8, 1], "pivot": [-10, 5.75, -27.5], "rotation": [90, 0, 0], "uv": [20, 63]},
|
||||
{"origin": [-11.5, 2.75, -30.5], "size": [3, 6, 3], "pivot": [-10, 5.75, -29], "rotation": [90, 0, -90], "uv": [57, 10]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "hammer_front",
|
||||
"parent": "hammer_middle",
|
||||
"pivot": [-7.4, 12.3, -28.5],
|
||||
"cubes": [
|
||||
{"origin": [-12, 12.25, -33], "size": [8, 3, 8], "uv": [64, 41]},
|
||||
{"origin": [-17.5, 15.25, -38.25], "size": [19, 8, 19], "uv": [0, 0]},
|
||||
{"origin": [-17.5, 15.25, -40.25], "size": [0, 8, 2], "uv": [16, 38]},
|
||||
{"origin": [-17.5, 15.25, -40.25], "size": [5, 0, 2], "uv": [0, 46]},
|
||||
{"origin": [-17.5, 23.25, -40.25], "size": [5, 0, 2], "uv": [0, 17]},
|
||||
{"origin": [-17.5, 15.25, -40.25], "size": [15, 8, 0], "uv": [73, 52]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "nail",
|
||||
"parent": "hammer_front",
|
||||
"pivot": [-5.5, 20.25, -38.25],
|
||||
"rotation": [10, 0, 0],
|
||||
"cubes": [
|
||||
{"origin": [-6.5, 19.25, -42.25], "size": [2, 2, 5], "uv": [88, 73]},
|
||||
{"origin": [-8, 17.75, -43.25], "size": [5, 5, 1], "uv": [24, 56]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "locator_hammer",
|
||||
"parent": "hammer_front",
|
||||
"pivot": [-8, 23, -28.75],
|
||||
"rotation": [90, 0, 0],
|
||||
"locators": {
|
||||
"hammer": [-8, 23, -28.75],
|
||||
"physical": [-8, 23, -28.75],
|
||||
"special2": [-8, 23, -28.75]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "hammer_back",
|
||||
"parent": "hammer_middle",
|
||||
"pivot": [-8, -1, -29],
|
||||
"cubes": [
|
||||
{"origin": [-11, -3.75, -32], "size": [6, 3, 6], "uv": [44, 77]},
|
||||
{"origin": [-12.5, -7.75, -33.5], "size": [9, 4, 9], "uv": [37, 49]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "seat_1_locator",
|
||||
"parent": "hammer_middle",
|
||||
"pivot": [-8, 0, -35],
|
||||
"rotation": [105, 0, 0],
|
||||
"locators": {
|
||||
"seat_1": [-8, 0, -35]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "body",
|
||||
"parent": "tinkaton",
|
||||
"pivot": [0, 7, 0]
|
||||
},
|
||||
{
|
||||
"name": "torso",
|
||||
"parent": "body",
|
||||
"pivot": [0, 4, 0],
|
||||
"cubes": [
|
||||
{"origin": [-2, 6.5, -1.5], "size": [4, 3, 3], "inflate": 0.001, "uv": [88, 43]},
|
||||
{"origin": [-2.5, 3, -2], "size": [5, 4, 4], "uv": [0, 0]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "skirt_front_right",
|
||||
"parent": "torso",
|
||||
"pivot": [-1.75, 3, -1.25],
|
||||
"rotation": [30, 45, 0],
|
||||
"cubes": [
|
||||
{"origin": [-3.25, 3, -4.25], "size": [3, 0, 3], "uv": [37, 50]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "skirt_front_left",
|
||||
"parent": "torso",
|
||||
"pivot": [1.75, 3, -1.25],
|
||||
"rotation": [30, -45, 0],
|
||||
"cubes": [
|
||||
{"origin": [0.25, 3, -4.25], "size": [3, 0, 3], "uv": [36, 45]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "skirt_back_left",
|
||||
"parent": "torso",
|
||||
"pivot": [1.75, 3, 1.25],
|
||||
"rotation": [-30, 45, 0],
|
||||
"cubes": [
|
||||
{"origin": [0.25, 3, 1.25], "size": [3, 0, 3], "uv": [36, 42]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "skirt_back_right",
|
||||
"parent": "torso",
|
||||
"pivot": [-1.75, 3, 1.25],
|
||||
"rotation": [-30, -45, 0],
|
||||
"cubes": [
|
||||
{"origin": [-3.25, 3, 1.25], "size": [3, 0, 3], "uv": [36, 39]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "head",
|
||||
"parent": "torso",
|
||||
"pivot": [0, 7.75, 0],
|
||||
"cubes": [
|
||||
{"origin": [-3.5, 7.75, -3.5], "size": [7, 7, 7], "uv": [73, 20]},
|
||||
{"origin": [-3.5, 9.25, -4], "size": [0, 6, 8], "inflate": 0.01, "uv": [24, 42]},
|
||||
{"origin": [3.5, 9.25, -4], "size": [0, 6, 8], "inflate": 0.01, "uv": [0, 32]},
|
||||
{"origin": [-3.5, 8.25, 4], "size": [7, 7, 0], "inflate": 0.01, "uv": [88, 80]},
|
||||
{"origin": [-3.5, 11.25, -4], "size": [7, 4, 0], "inflate": 0.01, "uv": [28, 88]},
|
||||
{"origin": [-3.5, 15.25, -4], "size": [7, 0, 8], "inflate": 0.01, "uv": [17, 39]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "ear_left",
|
||||
"parent": "head",
|
||||
"pivot": [0, 14.75, 0],
|
||||
"rotation": [0, 0, 10],
|
||||
"cubes": [
|
||||
{"origin": [0, 14.75, -1], "size": [3, 6, 2], "uv": [0, 89]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "ear_left2",
|
||||
"parent": "head",
|
||||
"pivot": [3, 14.75, 0],
|
||||
"rotation": [0, 0, 20],
|
||||
"cubes": [
|
||||
{"origin": [3, 13.75, 0], "size": [2, 3, 0], "uv": [44, 78]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "ear_right",
|
||||
"parent": "head",
|
||||
"pivot": [0, 14.75, 0],
|
||||
"rotation": [0, 0, -10],
|
||||
"cubes": [
|
||||
{"origin": [-3, 14.75, -1], "size": [3, 6, 2], "uv": [88, 87]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "ear_right2",
|
||||
"parent": "head",
|
||||
"pivot": [-3, 14.75, 0],
|
||||
"cubes": [
|
||||
{"origin": [-5, 13.75, 0], "size": [2, 3, 0], "pivot": [-3, 14.75, -0.5], "rotation": [0, 0, -20], "uv": [76, 22]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "eye_left",
|
||||
"parent": "head",
|
||||
"pivot": [2.5, 11.25, -3.025],
|
||||
"cubes": [
|
||||
{"origin": [2, 10.25, -3.525], "size": [1, 2, 1], "uv": [14, 0]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "eyelid_left",
|
||||
"parent": "eye_left",
|
||||
"pivot": [2.5, 11.25, -2.925],
|
||||
"cubes": [
|
||||
{"origin": [2, 10.25, -3.425], "size": [1, 2, 1], "inflate": 0.01, "uv": [76, 19]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "locator_eye_left",
|
||||
"parent": "eye_left",
|
||||
"pivot": [-2.5, 11.25, -3.5],
|
||||
"locators": {
|
||||
"eye1": [-2.5, 11.25, -3.5]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "eye_right",
|
||||
"parent": "head",
|
||||
"pivot": [-2.5, 11.25, -3.025],
|
||||
"cubes": [
|
||||
{"origin": [-3, 10.25, -3.525], "size": [1, 2, 1], "uv": [0, 0]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "eyelid_right",
|
||||
"parent": "eye_right",
|
||||
"pivot": [-2.5, 11.25, -2.925],
|
||||
"cubes": [
|
||||
{"origin": [-3, 10.25, -3.425], "size": [1, 2, 1], "inflate": 0.01, "uv": [20, 72]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "locator_eye_right",
|
||||
"parent": "eye_right",
|
||||
"pivot": [2.5, 11.25, -3.5],
|
||||
"locators": {
|
||||
"eye2": [2.5, 11.25, -3.5]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "mouths",
|
||||
"parent": "head",
|
||||
"pivot": [0, 9.25, -3.525]
|
||||
},
|
||||
{
|
||||
"name": "mouth_open",
|
||||
"parent": "mouths",
|
||||
"pivot": [0, 9.25, -3.61],
|
||||
"cubes": [
|
||||
{"origin": [-2.5, 8.25, -3.41], "size": [5, 2, 0], "uv": [77, 0]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "locator_mouth",
|
||||
"parent": "mouth_open",
|
||||
"pivot": [0, 9.25, -3.5],
|
||||
"locators": {
|
||||
"mouth": [0, 9.25, -3.5]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "mouth_closed",
|
||||
"parent": "mouths",
|
||||
"pivot": [0, 9.25, -3.41],
|
||||
"cubes": [
|
||||
{"origin": [-3.5, 8.25, -3.51], "size": [7, 2, 0], "uv": [48, 74]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "hair_right",
|
||||
"parent": "head",
|
||||
"pivot": [-3.5, 13.75, 0],
|
||||
"cubes": [
|
||||
{"origin": [-7, 9.75, -3], "size": [4, 5, 6], "uv": [14, 88]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "hair_right2",
|
||||
"parent": "hair_right",
|
||||
"pivot": [-3, 9.5, 0],
|
||||
"cubes": [
|
||||
{"origin": [-8, 0.75, -4], "size": [5, 9, 8], "uv": [69, 2]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "hair_right3",
|
||||
"parent": "hair_right2",
|
||||
"pivot": [-5.5, 0.75, 0],
|
||||
"cubes": [
|
||||
{"origin": [-5.5, -3.25, -4.5], "size": [0, 4, 9], "uv": [0, 4]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "hair_left",
|
||||
"parent": "head",
|
||||
"pivot": [3.5, 14.25, 0],
|
||||
"cubes": [
|
||||
{"origin": [3, 10.25, -3], "size": [4, 5, 6], "uv": [38, 86]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "hair_left2",
|
||||
"parent": "hair_left",
|
||||
"pivot": [3, 10, 0],
|
||||
"cubes": [
|
||||
{"origin": [3, 1.25, -4], "size": [5, 9, 8], "uv": [62, 66]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "hair_left3",
|
||||
"parent": "hair_left2",
|
||||
"pivot": [5.5, 1.25, 0],
|
||||
"cubes": [
|
||||
{"origin": [5.5, -2.75, -4.5], "size": [0, 4, 9], "uv": [0, 0]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "locator_head",
|
||||
"parent": "head",
|
||||
"pivot": [0, 15.25, -2.5],
|
||||
"locators": {
|
||||
"head": [0, 15.25, -2.5]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "locator_item_hat",
|
||||
"parent": "head",
|
||||
"pivot": [0, 16.25, 0],
|
||||
"locators": {
|
||||
"item_hat": [0, 16.25, 0]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "locator_tera_hat",
|
||||
"parent": "head",
|
||||
"pivot": [0, 15.25, 0],
|
||||
"locators": {
|
||||
"tera_hat": [0, 15.25, 0]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "locator_face",
|
||||
"parent": "head",
|
||||
"pivot": [0, 10.25, -3.5],
|
||||
"locators": {
|
||||
"face": [0, 10.25, -3.5]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "locator_item_face",
|
||||
"parent": "head",
|
||||
"pivot": [0, 11.5, -3.5],
|
||||
"locators": {
|
||||
"item_face": [0, 11.5, -3.5]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "arms",
|
||||
"parent": "torso",
|
||||
"pivot": [0, 7, 0]
|
||||
},
|
||||
{
|
||||
"name": "arm_left",
|
||||
"parent": "arms",
|
||||
"pivot": [1.5, 6.5, 0],
|
||||
"cubes": [
|
||||
{"origin": [1.5, 5.5, -1.5], "size": [3, 2, 3], "uv": [94, 16]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "hand_left",
|
||||
"parent": "arm_left",
|
||||
"pivot": [4.5, 6.5, 1.5],
|
||||
"cubes": [
|
||||
{"origin": [4.5, 5.5, -2], "size": [4, 2, 4], "inflate": 0.01, "uv": [52, 86]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "locator_hand_secondary",
|
||||
"parent": "hand_left",
|
||||
"pivot": [7.75, 6.5, 0],
|
||||
"rotation": [0, -90, 0],
|
||||
"locators": {
|
||||
"hand_secondary": [7.75, 6.5, 0]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "locator_item",
|
||||
"parent": "hand_left",
|
||||
"pivot": [9.5, 5.75, 0],
|
||||
"locators": {
|
||||
"item": [9.5, 5.75, 0]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "finger_left",
|
||||
"parent": "hand_left",
|
||||
"pivot": [8.25, 7, -1.5],
|
||||
"rotation": [0, 17.5, 0],
|
||||
"cubes": [
|
||||
{"origin": [8.25, 6, -2], "size": [2, 1, 1], "uv": [44, 76]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "finger_left2",
|
||||
"parent": "hand_left",
|
||||
"pivot": [8.5, 7, -0.5],
|
||||
"rotation": [0, 5, 0],
|
||||
"cubes": [
|
||||
{"origin": [8.5, 6, -1], "size": [2, 1, 1], "uv": [73, 60]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "finger_left3",
|
||||
"parent": "hand_left",
|
||||
"pivot": [8.5, 7, 0.5],
|
||||
"rotation": [0, -5, 0],
|
||||
"cubes": [
|
||||
{"origin": [8.5, 6, 0], "size": [2, 1, 1], "uv": [66, 47]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "finger_left4",
|
||||
"parent": "hand_left",
|
||||
"pivot": [8.25, 7, 1.5],
|
||||
"rotation": [0, -17.5, 0],
|
||||
"cubes": [
|
||||
{"origin": [8.25, 6, 1], "size": [2, 1, 1], "uv": [66, 45]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "thumb_left",
|
||||
"parent": "hand_left",
|
||||
"pivot": [5, 5.5, -0.5],
|
||||
"rotation": [0, 0, 42.5],
|
||||
"cubes": [
|
||||
{"origin": [5, 5.5, -1.5], "size": [2, 1, 2], "inflate": 0.01, "uv": [94, 24]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "arm_right",
|
||||
"parent": "arms",
|
||||
"pivot": [-1.5, 6.5, 0],
|
||||
"cubes": [
|
||||
{"origin": [-4.5, 5.5, -1.5], "size": [3, 2, 3], "uv": [58, 93]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "hand_right",
|
||||
"parent": "arm_right",
|
||||
"pivot": [-4.5, 6.5, 1.5],
|
||||
"cubes": [
|
||||
{"origin": [-8.5, 5.5, -2], "size": [4, 2, 4], "inflate": 0.01, "uv": [69, 35]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "locator_hand_primary",
|
||||
"parent": "hand_right",
|
||||
"pivot": [-7.75, 6.5, 0],
|
||||
"rotation": [0, 90, 0],
|
||||
"locators": {
|
||||
"hand_primary": [-7.75, 6.5, 0]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "finger_right",
|
||||
"parent": "hand_right",
|
||||
"pivot": [-8.25, 7, -1.5],
|
||||
"rotation": [0, -17.5, 0],
|
||||
"cubes": [
|
||||
{"origin": [-10.25, 6, -2], "size": [2, 1, 1], "uv": [66, 43]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "finger_right2",
|
||||
"parent": "hand_right",
|
||||
"pivot": [-8.5, 7, -0.5],
|
||||
"rotation": [0, -5, 0],
|
||||
"cubes": [
|
||||
{"origin": [-10.5, 6, -1], "size": [2, 1, 1], "uv": [66, 41]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "finger_right3",
|
||||
"parent": "hand_right",
|
||||
"pivot": [-8.5, 7, 0.5],
|
||||
"rotation": [0, 5, 0],
|
||||
"cubes": [
|
||||
{"origin": [-10.5, 6, 0], "size": [2, 1, 1], "uv": [64, 56]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "finger_right4",
|
||||
"parent": "hand_right",
|
||||
"pivot": [-8.25, 7, 1.5],
|
||||
"rotation": [0, 17.5, 0],
|
||||
"cubes": [
|
||||
{"origin": [-10.25, 6, 1], "size": [2, 1, 1], "uv": [12, 17]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "thumb_right",
|
||||
"parent": "hand_right",
|
||||
"pivot": [-5, 5.5, -0.5],
|
||||
"rotation": [0, 0, -42.5],
|
||||
"cubes": [
|
||||
{"origin": [-7, 5.5, -1.5], "size": [2, 1, 2], "inflate": 0.01, "uv": [94, 21]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "leg_right",
|
||||
"parent": "body",
|
||||
"pivot": [-1.25, 4, 0],
|
||||
"cubes": [
|
||||
{"origin": [-2.25, 2, -1], "size": [2, 2, 2], "uv": [10, 89]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "leg_right2",
|
||||
"parent": "leg_right",
|
||||
"pivot": [-1.25, 2, -1],
|
||||
"cubes": [
|
||||
{"origin": [-2.25, 0, -1], "size": [2, 2, 2], "inflate": 0.2, "uv": [81, 34]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "locator_foot_primary",
|
||||
"parent": "leg_right2",
|
||||
"pivot": [-1.25, 0.5, 0],
|
||||
"rotation": [90, 0, 0],
|
||||
"locators": {
|
||||
"foot_primary": [-1.25, 0.5, 0]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "leg_left",
|
||||
"parent": "body",
|
||||
"pivot": [1.25, 4, 0],
|
||||
"cubes": [
|
||||
{"origin": [0.25, 2, -1], "size": [2, 2, 2], "uv": [70, 62]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "leg_left2",
|
||||
"parent": "leg_left",
|
||||
"pivot": [1.25, 2, -1],
|
||||
"cubes": [
|
||||
{"origin": [0.25, 0, -1], "size": [2, 2, 2], "inflate": 0.2, "uv": [38, 54]}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "locator_foot_secondary",
|
||||
"parent": "leg_left2",
|
||||
"pivot": [1.25, 0.5, 0],
|
||||
"rotation": [90, 0, 0],
|
||||
"locators": {
|
||||
"foot_secondary": [1.25, 0.5, 0]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "locator_middle",
|
||||
"parent": "body",
|
||||
"pivot": [0, 7, 0],
|
||||
"locators": {
|
||||
"middle": [0, 7, 0]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "locator_target",
|
||||
"parent": "body",
|
||||
"pivot": [0, 7, -6],
|
||||
"locators": {
|
||||
"target": [0, 7, -6]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "locator_root",
|
||||
"parent": "tinkaton",
|
||||
"pivot": [0, 0, 0],
|
||||
"locators": {
|
||||
"root": [0, 0, 0]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "locator_special",
|
||||
"parent": "tinkaton",
|
||||
"pivot": [0, 7, -8],
|
||||
"locators": {
|
||||
"special": [0, 7, -8]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "locator_top",
|
||||
"parent": "tinkaton",
|
||||
"pivot": [0, 23, 0],
|
||||
"locators": {
|
||||
"top": [0, 23, 0]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -41,7 +41,7 @@
|
||||
},
|
||||
"walking": {
|
||||
"poseTypes": ["WALK", "SWIM"],
|
||||
"condition": "!q.in_air && !q.is_sprinting",
|
||||
"condition": "!q.in_air && q.has_entity ? !q.is_sprinting : 1.0",
|
||||
"animations": [
|
||||
"q.bedrock('heracross', 'ground_walk')",
|
||||
{
|
||||
@@ -53,7 +53,7 @@
|
||||
},
|
||||
"running": {
|
||||
"poseTypes": ["WALK", "SWIM"],
|
||||
"condition": "!q.in_air && q.is_sprinting",
|
||||
"condition": "!q.in_air && q.has_entity ? q.is_sprinting : 0.0",
|
||||
"animations": [
|
||||
"q.bedrock('heracross', 'ground_run')",
|
||||
{
|
||||
|
||||
@@ -5,7 +5,8 @@
|
||||
"profileTranslation": [0, 0.46, 0],
|
||||
"rootBone": "mudkip",
|
||||
"animations": {
|
||||
"cry": "q.bedrock_stateful('mudkip', 'cry')"
|
||||
"cry": "q.bedrock_stateful('mudkip', 'cry')",
|
||||
"recoil": "q.bedrock_stateful('mudkip', 'recoil')"
|
||||
},
|
||||
"poses": {
|
||||
"standing": {
|
||||
|
||||
@@ -5,7 +5,8 @@
|
||||
"profileTranslation": [0, 0.65, 0],
|
||||
"rootBone": "marshtomp",
|
||||
"animations": {
|
||||
"cry": "q.bedrock_stateful('marshtomp', 'cry')"
|
||||
"cry": "q.bedrock_stateful('marshtomp', 'cry')",
|
||||
"recoil": "q.bedrock_stateful('marshtomp', 'recoil')"
|
||||
},
|
||||
"poses": {
|
||||
"standing": {
|
||||
|
||||
@@ -5,7 +5,8 @@
|
||||
"profileTranslation": [0, 0.96, 0],
|
||||
"rootBone": "swampert",
|
||||
"animations": {
|
||||
"cry": "q.bedrock_stateful('swampert', 'cry')"
|
||||
"cry": "q.bedrock_stateful('swampert', 'cry')",
|
||||
"recoil": "q.bedrock_stateful('swampert', 'recoil')"
|
||||
},
|
||||
"poses": {
|
||||
"standing": {
|
||||
|
||||
@@ -1,8 +1,16 @@
|
||||
{
|
||||
"portraitScale": 2.48,
|
||||
"portraitTranslation": [-0.33, -0.93, 0],
|
||||
"portraitTranslation": [
|
||||
-0.33,
|
||||
-0.93,
|
||||
0
|
||||
],
|
||||
"profileScale": 0.7,
|
||||
"profileTranslation": [0.02, 0.76, 0],
|
||||
"profileTranslation": [
|
||||
0.02,
|
||||
0.76,
|
||||
0
|
||||
],
|
||||
"rootBone": "rufflet",
|
||||
"animations": {
|
||||
"cry": "q.bedrock_stateful('rufflet', 'cry')",
|
||||
@@ -10,7 +18,13 @@
|
||||
},
|
||||
"poses": {
|
||||
"standing": {
|
||||
"poseTypes": ["STAND", "NONE", "PORTRAIT", "PROFILE"],
|
||||
"poseTypes": [
|
||||
"STAND",
|
||||
"NONE",
|
||||
"PORTRAIT",
|
||||
"PROFILE"
|
||||
],
|
||||
"isBattle": false,
|
||||
"animations": [
|
||||
"q.look('head')",
|
||||
"q.bedrock('rufflet', 'ground_idle')"
|
||||
@@ -22,7 +36,10 @@
|
||||
]
|
||||
},
|
||||
"walking": {
|
||||
"poseTypes": ["WALK", "SWIM"],
|
||||
"poseTypes": [
|
||||
"WALK",
|
||||
"SWIM"
|
||||
],
|
||||
"animations": [
|
||||
"q.look('head')",
|
||||
"q.bedrock('rufflet', 'ground_walk')"
|
||||
@@ -34,7 +51,9 @@
|
||||
]
|
||||
},
|
||||
"hover": {
|
||||
"poseTypes": ["HOVER"],
|
||||
"poseTypes": [
|
||||
"HOVER"
|
||||
],
|
||||
"animations": [
|
||||
"q.pitch_tilt('body', 1)",
|
||||
"q.look('head')",
|
||||
@@ -46,7 +65,9 @@
|
||||
]
|
||||
},
|
||||
"fly": {
|
||||
"poseTypes": ["FLY"],
|
||||
"poseTypes": [
|
||||
"FLY"
|
||||
],
|
||||
"animations": [
|
||||
"q.pitch_tilt('body', 1)",
|
||||
"q.look('head')",
|
||||
@@ -60,9 +81,6 @@
|
||||
},
|
||||
"sleep": {
|
||||
"poseTypes": ["SLEEP"],
|
||||
"namedAnimations": {
|
||||
"cry": "q.bedrock_stateful('dummy', 'cry')"
|
||||
},
|
||||
"animations": ["q.bedrock('rufflet', 'sleep')"],
|
||||
"transformTicks": 10
|
||||
}
|
||||
|
||||
@@ -22,6 +22,7 @@
|
||||
"poses": {
|
||||
"standing": {
|
||||
"poseTypes": ["STAND", "NONE", "PORTRAIT", "PROFILE"],
|
||||
"isBattle": false,
|
||||
"animations": [
|
||||
"q.look('neck1', 1, 1, 5, -5, 10, -10)",
|
||||
"q.look('neck2', 1, 1, 35, -10, 15, -15)",
|
||||
@@ -95,9 +96,6 @@
|
||||
},
|
||||
"sleep": {
|
||||
"poseTypes": ["SLEEP"],
|
||||
"namedAnimations": {
|
||||
"cry": "q.bedrock_stateful('dummy', 'cry')"
|
||||
},
|
||||
"animations": ["q.bedrock('braviary', 'sleep')"],
|
||||
"transformTicks": 10
|
||||
}
|
||||
|
||||
@@ -22,6 +22,7 @@
|
||||
"poses": {
|
||||
"standing": {
|
||||
"poseTypes": ["STAND", "NONE", "PORTRAIT", "PROFILE"],
|
||||
"isBattle": false,
|
||||
"animations": [
|
||||
"q.look('neck', 1, 1, 3, -20, 10, -10)",
|
||||
"q.look('neck2', 1, 1, 1, -35, 15, -15)",
|
||||
@@ -95,9 +96,6 @@
|
||||
},
|
||||
"sleep": {
|
||||
"poseTypes": ["SLEEP"],
|
||||
"namedAnimations": {
|
||||
"cry": "q.bedrock_stateful('dummy', 'cry')"
|
||||
},
|
||||
"animations": ["q.bedrock('braviary_hisuian', 'sleep')"],
|
||||
"transformTicks": 10
|
||||
}
|
||||
|
||||
@@ -19,9 +19,28 @@
|
||||
"cry": "q.bedrock_stateful('mudsdale', 'cry')"
|
||||
},
|
||||
"poses": {
|
||||
"standing": {
|
||||
"poseName": "standing",
|
||||
"poseTypes": ["STAND", "FLOAT", "NONE", "PORTRAIT", "PROFILE"],
|
||||
"condition": "q.has_entity ? !q.in_air : 1.0",
|
||||
"animations": [
|
||||
"q.look('neck', 0.5, 0.5, 15, -15, 30, -30)",
|
||||
"q.look('neck2', 0.5, 0.5, 10, -10, 25, -25)",
|
||||
"q.look('head', 0.4, 0.25, 5, -5, 10, -10)",
|
||||
"q.bedrock('mudsdale', 'ground_idle')",
|
||||
"q.bedrock_stateful('mudsdale', 'blink')"
|
||||
],
|
||||
"transformTicks": 10
|
||||
},
|
||||
"sleep": {
|
||||
"poseName": "sleep",
|
||||
"poseTypes": ["SLEEP"],
|
||||
"animations": ["q.bedrock('mudsdale', 'sleep')"]
|
||||
},
|
||||
"in-air": {
|
||||
"poseTypes": ["STAND", "WALK"],
|
||||
"condition": "q.in_air",
|
||||
"isBattle": false,
|
||||
"animations": [
|
||||
"q.look('neck', 0.5, 0.5, 15, -15, 30, -30)",
|
||||
"q.look('neck2', 0.5, 0.5, 10, -10, 25, -25)",
|
||||
@@ -33,37 +52,10 @@
|
||||
"transformTicks": 5,
|
||||
"transformToTicks": 5
|
||||
},
|
||||
"standing": {
|
||||
"poseTypes": ["STAND", "FLOAT", "NONE", "PORTRAIT", "PROFILE"],
|
||||
"condition": "!q.in_air",
|
||||
"animations": [
|
||||
"q.look('neck', 0.5, 0.5, 15, -15, 30, -30)",
|
||||
"q.look('neck2', 0.5, 0.5, 10, -10, 25, -25)",
|
||||
"q.look('head', 0.4, 0.25, 5, -5, 10, -10)",
|
||||
"q.bedrock('mudsdale', 'ground_idle')",
|
||||
"q.bedrock_stateful('mudsdale', 'blink')"
|
||||
],
|
||||
"transformTicks": 5
|
||||
},
|
||||
"run": {
|
||||
"poseTypes": ["WALK", "SWIM"],
|
||||
"condition": "!q.in_air && q.is_sprinting",
|
||||
"animations": [
|
||||
"q.look('neck', 0.5, 0.5, 15, -15, 30, -30)",
|
||||
"q.look('neck2', 0.5, 0.5, 10, -10, 25, -25)",
|
||||
"q.look('head', 0.4, 0.25, 5, -5, 10, -10)",
|
||||
"q.bedrock('mudsdale', 'ground_run')",
|
||||
"q.bedrock_stateful('mudsdale', 'blink')",
|
||||
{
|
||||
"condition": "q.is_ridden && q.has_entity && !q.in_air",
|
||||
"animation": "q.bedrock('mudsdale', 'ride_ground_run')"
|
||||
}
|
||||
],
|
||||
"transformTicks": 5
|
||||
},
|
||||
"walk": {
|
||||
"poseName": "walk",
|
||||
"poseTypes": ["WALK", "SWIM"],
|
||||
"condition": "!q.in_air && !q.is_sprinting",
|
||||
"condition": "!q.is_sprinting",
|
||||
"animations": [
|
||||
"q.look('neck', 0.5, 0.5, 15, -15, 30, -30)",
|
||||
"q.look('neck2', 0.5, 0.5, 10, -10, 25, -25)",
|
||||
@@ -75,14 +67,23 @@
|
||||
"animation": "q.bedrock('mudsdale', 'ride_ground_walk')"
|
||||
}
|
||||
],
|
||||
"transformTicks": 5
|
||||
"transformTicks": 10
|
||||
},
|
||||
"sleep": {
|
||||
"poseTypes": ["SLEEP"],
|
||||
"namedAnimations": {
|
||||
"cry": "q.bedrock_stateful('dummy', 'cry')"
|
||||
},
|
||||
"animations": ["q.bedrock('mudsdale', 'sleep')"]
|
||||
"run": {
|
||||
"poseTypes": ["WALK", "SWIM"],
|
||||
"condition": "q.is_sprinting",
|
||||
"animations": [
|
||||
"q.look('neck', 0.5, 0.5, 15, -15, 30, -30)",
|
||||
"q.look('neck2', 0.5, 0.5, 10, -10, 25, -25)",
|
||||
"q.look('head', 0.4, 0.25, 5, -5, 10, -10)",
|
||||
"q.bedrock('mudsdale', 'ground_run')",
|
||||
"q.bedrock_stateful('mudsdale', 'blink')",
|
||||
{
|
||||
"condition": "q.is_ridden && q.has_entity && !q.in_air",
|
||||
"animation": "q.bedrock('mudsdale', 'ride_ground_run')"
|
||||
}
|
||||
],
|
||||
"transformTicks": 10
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -38,7 +38,7 @@
|
||||
"q.bedrock_quirk('ceruledge', 'blink')"
|
||||
],
|
||||
"transitions": {
|
||||
"battle-standing": "q.bedrock_primary('ceruledge', 'battle_intro', q.curve('one'))"
|
||||
"battle-standing": "q.bedrock_primary('ceruledge', 'battle_intro')q.curve('symmetrical_wide'))"
|
||||
}
|
||||
},
|
||||
"walking": {
|
||||
|
||||
@@ -1,66 +0,0 @@
|
||||
{
|
||||
"portraitScale": 2,
|
||||
"portraitTranslation": [0, -1.01, 0.0],
|
||||
"profileScale": 1,
|
||||
"profileTranslation": [0.0, 0.25, 0.0],
|
||||
"rootBone": "tinkatink",
|
||||
"animations": {
|
||||
"faint": "q.bedrock_primary('tinkatink', 'faint', q.curve('one'))",
|
||||
"cry": "q.bedrock_stateful('tinkatink', 'cry')"
|
||||
},
|
||||
"poses": {
|
||||
"battle-standing": {
|
||||
"poseTypes": ["STAND"],
|
||||
"isBattle": true,
|
||||
"animations": [
|
||||
"q.look('head')",
|
||||
"q.bedrock('tinkatink', 'battle_idle')"
|
||||
],
|
||||
"quirks": ["q.bedrock_quirk('tinkatink', 'blink')"]
|
||||
},
|
||||
"standing": {
|
||||
"poseTypes": ["STAND", "NONE", "PORTRAIT", "PROFILE"],
|
||||
"isBattle": false,
|
||||
"animations": [
|
||||
"q.look('head')",
|
||||
"q.bedrock('tinkatink', 'ground_idle')"
|
||||
],
|
||||
"quirks": ["q.bedrock_quirk('tinkatink', 'blink')"]
|
||||
},
|
||||
"walking": {
|
||||
"poseTypes": ["WALK"],
|
||||
"animations": [
|
||||
"q.look('head')",
|
||||
"q.bedrock('tinkatink', 'ground_walk')"
|
||||
],
|
||||
"quirks": ["q.bedrock_quirk('tinkatink', 'blink')"]
|
||||
},
|
||||
"sleeping": {
|
||||
"poseTypes": ["SLEEP"],
|
||||
"animations": ["q.bedrock('tinkatink', 'sleep')"],
|
||||
"namedAnimations": {
|
||||
"cry": "q.bedrock_stateful('dummy', 'cry')"
|
||||
}
|
||||
},
|
||||
"shoulder_left": {
|
||||
"poseTypes": ["SHOULDER_LEFT"],
|
||||
"animations": [
|
||||
"q.look('head')",
|
||||
"q.bedrock('tinkatink', 'shoulder_left')"
|
||||
],
|
||||
"quirks": [
|
||||
"q.bedrock_quirk('tinkatink', 'blink')"
|
||||
]
|
||||
},
|
||||
"shoulder_right": {
|
||||
"poseTypes": ["SHOULDER_RIGHT"],
|
||||
"animations": [
|
||||
"q.look('head')",
|
||||
"q.bedrock('tinkatink', 'shoulder_right')"
|
||||
],
|
||||
"quirks": [
|
||||
"q.bedrock_quirk('tinkatink', 'blink')"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,46 +0,0 @@
|
||||
{
|
||||
"portraitScale": 1.9,
|
||||
"portraitTranslation": [0, -0.41, 0.0],
|
||||
"profileScale": 0.9,
|
||||
"profileTranslation": [0.0, 0.4, 0.0],
|
||||
"rootBone": "tinkatuff",
|
||||
"animations": {
|
||||
"faint": "q.bedrock_primary('tinkatuff', 'faint', q.curve('one'))",
|
||||
"cry": "q.bedrock_stateful('tinkatuff', 'cry')"
|
||||
},
|
||||
"poses": {
|
||||
"battle-standing": {
|
||||
"poseTypes": ["STAND"],
|
||||
"isBattle": true,
|
||||
"animations": [
|
||||
"q.look('head')",
|
||||
"q.bedrock('tinkatuff', 'battle_idle')"
|
||||
],
|
||||
"quirks": ["q.bedrock_quirk('tinkatuff', 'blink')"]
|
||||
},
|
||||
"standing": {
|
||||
"poseTypes": ["STAND", "NONE", "PORTRAIT", "PROFILE"],
|
||||
"isBattle": false,
|
||||
"animations": [
|
||||
"q.look('head')",
|
||||
"q.bedrock('tinkatuff', 'ground_idle')"
|
||||
],
|
||||
"quirks": ["q.bedrock_quirk('tinkatuff', 'blink')"]
|
||||
},
|
||||
"walking": {
|
||||
"poseTypes": ["WALK"],
|
||||
"animations": [
|
||||
"q.look('head')",
|
||||
"q.bedrock('tinkatuff', 'ground_walk')"
|
||||
],
|
||||
"quirks": ["q.bedrock_quirk('tinkatuff', 'blink')"]
|
||||
},
|
||||
"sleeping": {
|
||||
"poseTypes": ["SLEEP"],
|
||||
"animations": ["q.bedrock('tinkatuff', 'sleep')"],
|
||||
"namedAnimations": {
|
||||
"cry": "q.bedrock_stateful('dummy', 'cry')"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -5,11 +5,6 @@
|
||||
"profileTranslation": [0.0, 0.3, 0.0],
|
||||
"rootBone": "tinkaton",
|
||||
"animations": {
|
||||
"physical": "q.bedrock_primary('tinkaton', 'physical', q.curve('symmetrical_wide'))",
|
||||
"special": "q.bedrock_primary('tinkaton', 'special', q.curve('symmetrical_wide'))",
|
||||
"status": "q.bedrock_primary('tinkaton', 'status', q.curve('symmetrical_wide'))",
|
||||
"gigatonhammer": "q.bedrock_primary('tinkaton', 'signature', q.curve('symmetrical_wide'))",
|
||||
"recoil": "q.bedrock_stateful('tinkaton', 'recoil')",
|
||||
"faint": "q.bedrock_primary('tinkaton', 'faint', q.curve('one'))",
|
||||
"cry": "q.bedrock_stateful('tinkaton', 'cry')"
|
||||
},
|
||||
@@ -18,65 +13,32 @@
|
||||
"poseName": "battle-standing",
|
||||
"poseTypes": ["STAND"],
|
||||
"isBattle": true,
|
||||
"animations": [
|
||||
"q.look('head')",
|
||||
"q.bedrock('tinkaton', 'battle_idle')",
|
||||
{
|
||||
"condition": "q.is_wearing_hat",
|
||||
"animation": "q.bedrock('tinkaton', 'hat')"
|
||||
}
|
||||
],
|
||||
"quirks": ["q.bedrock_quirk('tinkaton', 'blink')"],
|
||||
"namedAnimations": {
|
||||
"cry": "q.bedrock_primary('tinkaton', 'battle_cry')"
|
||||
}
|
||||
"animations": ["q.look('head')", "q.bedrock('tinkaton', 'battle_idle')"],
|
||||
"quirks": ["q.bedrock_quirk('tinkaton', 'blink')"]
|
||||
},
|
||||
"standing": {
|
||||
"poseName": "standing",
|
||||
"poseTypes": ["STAND", "NONE", "PORTRAIT", "PROFILE"],
|
||||
"isBattle": false,
|
||||
"animations": [
|
||||
"q.look('head')",
|
||||
"q.bedrock('tinkaton', 'ground_idle')",
|
||||
{
|
||||
"condition": "q.is_wearing_hat",
|
||||
"animation": "q.bedrock('tinkaton', 'hat')"
|
||||
}
|
||||
],
|
||||
"animations": ["q.look('head')", "q.bedrock('tinkaton', 'ground_idle')"],
|
||||
"quirks": ["q.bedrock_quirk('tinkaton', 'blink')"],
|
||||
"transitions": {
|
||||
"sleeping": "q.bedrock_primary('tinkaton', 'sleep_transition', q.curve('one'))"
|
||||
"sleeping": "q.bedrock_primary('tinkaton', 'sleep_transition')"
|
||||
}
|
||||
},
|
||||
"walking": {
|
||||
"poseName": "walking",
|
||||
"poseTypes": ["WALK"],
|
||||
"animations": [
|
||||
"q.look('head')",
|
||||
"q.bedrock('tinkaton', 'ground_walk')",
|
||||
{
|
||||
"condition": "q.is_wearing_hat",
|
||||
"animation": "q.bedrock('tinkaton', 'hat')"
|
||||
}
|
||||
],
|
||||
"animations": ["q.look('head')", "q.bedrock('tinkaton', 'ground_walk')"],
|
||||
"quirks": ["q.bedrock_quirk('tinkaton', 'blink')"],
|
||||
"transitions": {
|
||||
"sleeping": "q.bedrock_primary('tinkaton', 'sleep_transition', q.curve('one'))"
|
||||
"sleeping": "q.bedrock_primary('tinkaton', 'sleep_transition')"
|
||||
}
|
||||
},
|
||||
"sleeping": {
|
||||
"poseName": "sleeping",
|
||||
"poseTypes": ["SLEEP"],
|
||||
"animations": [
|
||||
"q.bedrock('tinkaton', 'sleep')",
|
||||
{
|
||||
"condition": "q.is_wearing_hat",
|
||||
"animation": "q.bedrock('tinkaton', 'hat')"
|
||||
}
|
||||
],
|
||||
"namedAnimations": {
|
||||
"cry": "q.bedrock_stateful('dummy', 'cry')"
|
||||
}
|
||||
"animations": ["q.bedrock('tinkaton', 'sleep')"]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -65,28 +65,6 @@
|
||||
"animations": ["q.bedrock('gholdengo', 'sleep')"],
|
||||
"quirks": []
|
||||
},
|
||||
"hover": {
|
||||
"poseTypes": ["HOVER"],
|
||||
"isTouchingWater": false,
|
||||
"animations": [
|
||||
"q.look('head')",
|
||||
"q.bedrock('gholdengo', 'surfacewater_idle')"
|
||||
],
|
||||
"quirks": [
|
||||
"q.bedrock_quirk('gholdengo', 'blink')"
|
||||
]
|
||||
},
|
||||
"fly": {
|
||||
"poseTypes": ["FLY"],
|
||||
"isTouchingWater": false,
|
||||
"animations": [
|
||||
"q.look('head')",
|
||||
"q.bedrock('gholdengo', 'surfacewater_swim')"
|
||||
],
|
||||
"quirks": [
|
||||
"q.bedrock_quirk('gholdengo', 'blink')"
|
||||
]
|
||||
},
|
||||
"surfacewater-standing": {
|
||||
"poseTypes": ["STAND", "FLOAT"],
|
||||
"isTouchingWater": true,
|
||||
|
||||
@@ -15,10 +15,12 @@
|
||||
},
|
||||
{
|
||||
"aspects": ["cosmetic_item-music"],
|
||||
"model": "cobblemon:tinkatink_dot.geo",
|
||||
"texture": "cobblemon:textures/pokemon/0957_tinkatink/tinkatink_dot.png"
|
||||
},
|
||||
{
|
||||
"aspects": ["cosmetic_item-music", "shiny"],
|
||||
"model": "cobblemon:tinkatink_dot.geo",
|
||||
"texture": "cobblemon:textures/pokemon/0957_tinkatink/tinkatink_dot_shiny.png"
|
||||
}
|
||||
]
|
||||
|
||||
@@ -15,10 +15,12 @@
|
||||
},
|
||||
{
|
||||
"aspects": ["cosmetic_item-music"],
|
||||
"model": "cobblemon:tinkatuff_dot.geo",
|
||||
"texture": "cobblemon:textures/pokemon/0958_tinkatuff/tinkatuff_dot.png"
|
||||
},
|
||||
{
|
||||
"aspects": ["cosmetic_item-music", "shiny"],
|
||||
"model": "cobblemon:tinkatuff_dot.geo",
|
||||
"texture": "cobblemon:textures/pokemon/0958_tinkatuff/tinkatuff_dot_shiny.png"
|
||||
}
|
||||
]
|
||||
|
||||
@@ -15,10 +15,12 @@
|
||||
},
|
||||
{
|
||||
"aspects": ["cosmetic_item-music"],
|
||||
"model": "cobblemon:tinkaton_dot.geo",
|
||||
"texture": "cobblemon:textures/pokemon/0959_tinkaton/tinkaton_dot.png"
|
||||
},
|
||||
{
|
||||
"aspects": ["cosmetic_item-music", "shiny"],
|
||||
"model": "cobblemon:tinkaton_dot.geo",
|
||||
"texture": "cobblemon:textures/pokemon/0959_tinkaton/tinkaton_dot_shiny.png"
|
||||
}
|
||||
]
|
||||
|
||||
@@ -2621,6 +2621,8 @@
|
||||
"cobblemon.config.ui.infinite_ride_stamina.tooltip": "Whether rideable Pokémon have infinite stamina.",
|
||||
"cobblemon.config.ui.remember_riding_camera": "Remember Riding Camera",
|
||||
"cobblemon.config.ui.remember_riding_camera.tooltip": "Whether the camera mode will automatically switch to the last used camera mode when mounting a rideable Pokémon.",
|
||||
"cobblemon.config.ui.mob_experience_conversion_rate": "Mob Experience Conversion Rate",
|
||||
"cobblemon.config.ui.mob_experience_conversion_rate.tooltip": "The conversion rate for mob experience to pokemon experience when a Pokemon kills a mob.",
|
||||
|
||||
"cobblemon.config.ui.allow_starter_on_join": "Allow Starter on Join",
|
||||
"cobblemon.config.ui.prompt_starter_once_only": "Prompt Starter Once Only",
|
||||
@@ -3847,9 +3849,6 @@
|
||||
"cobblemon.behaviour.attack_hostile_mobs.name": "Attacks Hostile Mobs",
|
||||
"cobblemon.behaviour.attack_hostile_mobs.desc": "Attacks hostile mobs that are nearby, even if unprovoked.",
|
||||
|
||||
"cobblemon.behaviour.defend_owner.name": "Defend Owner",
|
||||
"cobblemon.behaviour.defend_owner.desc": "Defends its owner when they are attacked.",
|
||||
|
||||
"cobblemon.behaviour.pokemon_bee.name": "Pollinates Flowers",
|
||||
"cobblemon.behaviour.pokemon_bee.desc": "Pollinates flowers and adds honey to hives and Saccharine tree leaves.",
|
||||
|
||||
|
||||
@@ -1,235 +0,0 @@
|
||||
{
|
||||
"format_version": "1.21.6",
|
||||
"credit": "Made with Blockbench",
|
||||
"texture_size": [64, 24],
|
||||
"textures": {
|
||||
"0": "cobblemon:item/wearable/shell_helmet",
|
||||
"particle": "cobblemon:item/wearable/shell_helmet"
|
||||
},
|
||||
"elements": [
|
||||
{
|
||||
"from": [4, 1, 7],
|
||||
"to": [12, 4, 10],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [7, 2, 12]},
|
||||
"faces": {
|
||||
"north": {"uv": [4, 0, 6, 2], "texture": "#0"},
|
||||
"east": {"uv": [4, 2, 4.75, 4], "texture": "#0"},
|
||||
"south": {"uv": [1.75, 12.66667, 3.75, 14.66667], "texture": "#0"},
|
||||
"west": {"uv": [4.75, 2, 5.5, 4], "texture": "#0"},
|
||||
"up": {"uv": [4, 2, 2, 0], "texture": "#0"},
|
||||
"down": {"uv": [4, 2, 2, 4.66667], "texture": "#0"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [11, 0, 7],
|
||||
"to": [12, 1, 7],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [7, -3, 9]},
|
||||
"faces": {
|
||||
"north": {"uv": [5.5, 3.33333, 5.75, 4], "texture": "#0"},
|
||||
"east": {"uv": [0, 0, 0, 0.66667], "texture": "#0"},
|
||||
"south": {"uv": [5.75, 3.33333, 6, 4], "texture": "#0"},
|
||||
"west": {"uv": [0, 0, 0, 0.66667], "texture": "#0"},
|
||||
"up": {"uv": [0.25, 0, 0, 0], "texture": "#0"},
|
||||
"down": {"uv": [0.25, 0, 0, 0], "texture": "#0"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [4, 0, 7],
|
||||
"to": [5, 1, 7],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [0, -3, 9]},
|
||||
"faces": {
|
||||
"north": {"uv": [4, 4, 4.25, 4.66667], "texture": "#0"},
|
||||
"east": {"uv": [0, 0, 0, 0.66667], "texture": "#0"},
|
||||
"south": {"uv": [3.75, 12.66667, 4, 13.33333], "texture": "#0"},
|
||||
"west": {"uv": [0, 0, 0, 0.66667], "texture": "#0"},
|
||||
"up": {"uv": [0.25, 0, 0, 0], "texture": "#0"},
|
||||
"down": {"uv": [0.25, 0, 0, 0], "texture": "#0"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [12, -1, 7],
|
||||
"to": [12, 1, 9],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [7, 2, 11]},
|
||||
"faces": {
|
||||
"north": {"uv": [0, 0, 0, 1.33333], "texture": "#0"},
|
||||
"east": {"uv": [4.25, 6.66667, 4.75, 8], "texture": "#0"},
|
||||
"south": {"uv": [0, 0, 0, 1.33333], "texture": "#0"},
|
||||
"west": {"uv": [5.5, 2, 6, 3.33333], "texture": "#0"},
|
||||
"up": {"uv": [0, 3.33333, 0, 0], "texture": "#0"},
|
||||
"down": {"uv": [0, 0, 0, 3.33333], "texture": "#0"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [4, -1, 7],
|
||||
"to": [4, 1, 9],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [7, 2, 11]},
|
||||
"faces": {
|
||||
"north": {"uv": [0, 0, 0, 1.33333], "texture": "#0"},
|
||||
"east": {"uv": [4, 10, 4.5, 11.33333], "texture": "#0"},
|
||||
"south": {"uv": [0, 0, 0, 1.33333], "texture": "#0"},
|
||||
"west": {"uv": [4.75, 6.66667, 5.25, 8], "texture": "#0"},
|
||||
"up": {"uv": [0, 3.33333, 0, 0], "texture": "#0"},
|
||||
"down": {"uv": [0, 0, 0, 3.33333], "texture": "#0"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [5, 2, 4],
|
||||
"to": [11, 4, 7],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [7, 2, 12]},
|
||||
"faces": {
|
||||
"north": {"uv": [4.25, 4, 5.75, 5.33333], "texture": "#0"},
|
||||
"east": {"uv": [6, 2.66667, 6.75, 4], "texture": "#0"},
|
||||
"south": {"uv": [4.25, 5.33333, 5.75, 6.66667], "texture": "#0"},
|
||||
"west": {"uv": [5.75, 4, 6.5, 5.33333], "texture": "#0"},
|
||||
"up": {"uv": [5.5, 13.33333, 4, 11.33333], "texture": "#0"},
|
||||
"down": {"uv": [5.25, 13.33333, 3.75, 15.33333], "texture": "#0"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [5, 2, 7],
|
||||
"to": [11, 2, 10],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [7, 2, 12]},
|
||||
"faces": {
|
||||
"north": {"uv": [4.25, 4, 5.75, 5.33333], "texture": "#0"},
|
||||
"east": {"uv": [6, 2.66667, 6.75, 4], "texture": "#0"},
|
||||
"south": {"uv": [4.25, 5.33333, 5.75, 6.66667], "texture": "#0"},
|
||||
"west": {"uv": [5.75, 4, 6.5, 5.33333], "texture": "#0"},
|
||||
"up": {"uv": [5.5, 13.33333, 4, 11.33333], "texture": "#0"},
|
||||
"down": {"uv": [3.75, 15.33333, 5.25, 13.33333], "texture": "#0"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [11, 0, 4],
|
||||
"to": [11, 2, 7],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [7, 2, 12]},
|
||||
"faces": {
|
||||
"north": {"uv": [0, 0, 0, 1.33333], "texture": "#0"},
|
||||
"east": {"uv": [5.75, 5.33333, 6.5, 6.66667], "texture": "#0"},
|
||||
"south": {"uv": [0, 0, 0, 1.33333], "texture": "#0"},
|
||||
"west": {"uv": [6, 1.33333, 6.75, 2.66667], "texture": "#0"},
|
||||
"up": {"uv": [0, 2, 0, 0], "texture": "#0"},
|
||||
"down": {"uv": [0, 0, 0, 2], "texture": "#0"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [5, 0, 4],
|
||||
"to": [5, 2, 7],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [7, 2, 12]},
|
||||
"faces": {
|
||||
"north": {"uv": [0, 0, 0, 1.33333], "texture": "#0"},
|
||||
"east": {"uv": [6, 0, 6.75, 1.33333], "texture": "#0"},
|
||||
"south": {"uv": [0, 0, 0, 1.33333], "texture": "#0"},
|
||||
"west": {"uv": [5.25, 6.66667, 6, 8], "texture": "#0"},
|
||||
"up": {"uv": [0, 2, 0, 0], "texture": "#0"},
|
||||
"down": {"uv": [0, 0, 0, 2], "texture": "#0"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [4, 1, 10],
|
||||
"to": [12, 4, 15],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [7, 0, 12]},
|
||||
"faces": {
|
||||
"north": {"uv": [0, 10.66667, 1.75, 14], "texture": "#0"},
|
||||
"east": {"uv": [3.25, 8, 4.5, 10], "texture": "#0"},
|
||||
"south": {"uv": [1.75, 10.66667, 4, 12.66667], "texture": "#0"},
|
||||
"west": {"uv": [2, 8, 3.25, 10], "texture": "#0"},
|
||||
"up": {"uv": [6.5, 11.33333, 4.5, 8], "texture": "#0"},
|
||||
"down": {"uv": [4.25, 4.66667, 2, 8], "texture": "#0"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [4, -4, 9],
|
||||
"to": [12, 1, 15],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [4, -3, 13]},
|
||||
"faces": {
|
||||
"north": {"uv": [10.75, 3.33333, 12.75, 6.66667], "texture": "#0"},
|
||||
"east": {"uv": [12.75, 0, 14.25, 3.33333], "texture": "#0"},
|
||||
"south": {"uv": [10.75, 0, 12.75, 3.33333], "texture": "#0"},
|
||||
"west": {"uv": [14.25, 0, 15.75, 3.33333], "texture": "#0"},
|
||||
"up": {"uv": [8.75, 4, 10.75, 8], "texture": "#0"},
|
||||
"down": {"uv": [8.75, 0, 10.75, 4], "texture": "#0"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [6, -1.3, 10.5],
|
||||
"to": [10, 6.7, 18.5],
|
||||
"rotation": {"angle": 45, "axis": "x", "origin": [7.5, 1.65, 13.5]},
|
||||
"faces": {
|
||||
"north": {"uv": [12.75, 3.33333, 13.75, 8.66667], "texture": "#0"},
|
||||
"east": {"uv": [2, 0, 0, 5.33333], "texture": "#0"},
|
||||
"south": {"uv": [13.75, 3.33333, 14.75, 8.66667], "texture": "#0"},
|
||||
"west": {"uv": [0, 0, 2, 5.33333], "texture": "#0"},
|
||||
"up": {"uv": [12.75, 8.66667, 13.75, 14], "texture": "#0"},
|
||||
"down": {"uv": [13.75, 8.66667, 14.75, 14], "texture": "#0"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [4, -1.4, 7.4],
|
||||
"to": [12, -1.4, 18.4],
|
||||
"rotation": {"angle": 45, "axis": "x", "origin": [7.5, 1.65, 13.5]},
|
||||
"faces": {
|
||||
"north": {"uv": [12.75, 3.33333, 13.75, 8.66667], "texture": "#0"},
|
||||
"east": {"uv": [0, 5.33333, 2, 10.66667], "texture": "#0"},
|
||||
"south": {"uv": [13.75, 3.33333, 14.75, 8.66667], "texture": "#0"},
|
||||
"west": {"uv": [0, 0, 2, 5.33333], "texture": "#0"},
|
||||
"up": {"uv": [12.75, 8.66667, 13.75, 14], "texture": "#0"},
|
||||
"down": {"uv": [6.75, 0, 8.75, 6.66667], "texture": "#0"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [4.01, -4, 7],
|
||||
"to": [4.01, 4, 15],
|
||||
"faces": {
|
||||
"north": {"uv": [0, 0, 0, 5.33333], "texture": "#0"},
|
||||
"east": {"uv": [8.75, 8, 10.75, 13.33333], "texture": "#0"},
|
||||
"south": {"uv": [0, 0, 0, 5.33333], "texture": "#0"},
|
||||
"west": {"uv": [6.5, 6.66667, 8.5, 12], "texture": "#0"},
|
||||
"up": {"uv": [0, 0, 0, 5.33333], "texture": "#0"},
|
||||
"down": {"uv": [0, 0, 0, 5.33333], "texture": "#0"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [11.99, -4, 7],
|
||||
"to": [11.99, 4, 15],
|
||||
"faces": {
|
||||
"north": {"uv": [0, 0, 0, 5.33333], "texture": "#0"},
|
||||
"east": {"uv": [6.5, 6.66667, 8.5, 12], "texture": "#0"},
|
||||
"south": {"uv": [0, 0, 0, 5.33333], "texture": "#0"},
|
||||
"west": {"uv": [10.75, 9.33333, 12.75, 14.66667], "texture": "#0"},
|
||||
"up": {"uv": [0, 0, 0, 5.33333], "texture": "#0"},
|
||||
"down": {"uv": [0, 0, 0, 5.33333], "texture": "#0"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [4, 0, 7.01],
|
||||
"to": [12, 4, 7.01],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [7, -3, 9]},
|
||||
"faces": {
|
||||
"north": {"uv": [10.75, 3.33333, 12.75, 6.66667], "texture": "#0"},
|
||||
"east": {"uv": [0, 0, 0, 0.66667], "texture": "#0"},
|
||||
"south": {"uv": [10.75, 6.66667, 12.75, 9.33333], "texture": "#0"},
|
||||
"west": {"uv": [0, 0, 0, 0.66667], "texture": "#0"},
|
||||
"up": {"uv": [0.25, 0, 0, 0], "texture": "#0"},
|
||||
"down": {"uv": [0.25, 0, 0, 0], "texture": "#0"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [4, -3.99, 12],
|
||||
"to": [12, -3.99, 15],
|
||||
"faces": {
|
||||
"north": {"uv": [0, 0, 2, 0], "texture": "#0"},
|
||||
"east": {"uv": [0, 0, 0.75, 0], "texture": "#0"},
|
||||
"south": {"uv": [0, 0, 2, 0], "texture": "#0"},
|
||||
"west": {"uv": [0, 0, 0.75, 0], "texture": "#0"},
|
||||
"up": {"uv": [10.75, 8.66667, 12.75, 6.66667], "texture": "#0"},
|
||||
"down": {"uv": [10.75, 4.66667, 12.75, 6.66667], "texture": "#0"}
|
||||
}
|
||||
}
|
||||
],
|
||||
"display": {
|
||||
"head": {
|
||||
"translation": [0, 15.25, -6],
|
||||
"scale": [1.9, 1.9, 1.9]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Before Width: | Height: | Size: 863 B |
|
Before Width: | Height: | Size: 582 B |
|
Before Width: | Height: | Size: 245 B |
|
Before Width: | Height: | Size: 415 B |
|
Before Width: | Height: | Size: 847 B |
|
Before Width: | Height: | Size: 268 B |
|
Before Width: | Height: | Size: 308 B |
|
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 1.2 KiB |
|
Before Width: | Height: | Size: 1.7 KiB After Width: | Height: | Size: 1.3 KiB |
|
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.3 KiB |
|
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 1.2 KiB |
|
Before Width: | Height: | Size: 3.8 KiB After Width: | Height: | Size: 3.0 KiB |
|
Before Width: | Height: | Size: 3.9 KiB After Width: | Height: | Size: 2.9 KiB |
|
Before Width: | Height: | Size: 3.9 KiB After Width: | Height: | Size: 2.9 KiB |
|
Before Width: | Height: | Size: 3.8 KiB After Width: | Height: | Size: 3.0 KiB |
|
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 8.1 KiB |
|
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 7.9 KiB |
|
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 7.9 KiB |
|
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 8.2 KiB |
|
Before Width: | Height: | Size: 7.5 KiB After Width: | Height: | Size: 7.4 KiB |
|
Before Width: | Height: | Size: 7.5 KiB After Width: | Height: | Size: 7.4 KiB |
@@ -142,11 +142,11 @@
|
||||
},
|
||||
{
|
||||
"type": "molang",
|
||||
"expressions": "q.pokemon.cosmetic_item.is_of('minecraft:magenta_dye') ? (q.pokemon.apply('poodle_trim=matron') + q.pokemon.spawn_bedrock_particles('cobblemon:poodle_hair_magenta', 'middle')) : 0"
|
||||
"expressions": "q.pokemon.cosmetic_item.is_of('minecraft:magenta_dye') ? (q.pokemon.apply('poodle_trim=heart') + q.pokemon.spawn_bedrock_particles('cobblemon:poodle_hair_magenta', 'middle')) : 0"
|
||||
},
|
||||
{
|
||||
"type": "molang",
|
||||
"expressions": "q.pokemon.cosmetic_item.is_of('minecraft:pink_dye') ? (q.pokemon.apply('poodle_trim=heart') + q.pokemon.spawn_bedrock_particles('cobblemon:poodle_hair_pink', 'middle')) : 0"
|
||||
"expressions": "q.pokemon.cosmetic_item.is_of('minecraft:pink_dye') ? (q.pokemon.apply('poodle_trim=matron') + q.pokemon.spawn_bedrock_particles('cobblemon:poodle_hair_pink', 'middle')) : 0"
|
||||
},
|
||||
{
|
||||
"type": "molang",
|
||||
|
||||
@@ -1,33 +0,0 @@
|
||||
{
|
||||
"name": "cobblemon.behaviour.defend_owner.name",
|
||||
"description": "cobblemon.behaviour.defend_owner.desc",
|
||||
"configurations": [
|
||||
{
|
||||
"type": "add_tasks_to_activity",
|
||||
"activity": "core",
|
||||
"tasksByPriority": {
|
||||
"0": [
|
||||
"defend_owner"
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "add_tasks_to_activity",
|
||||
"activity": "idle",
|
||||
"tasksByPriority": {
|
||||
"1": [
|
||||
"switch_to_fight"
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "add_tasks_to_activity",
|
||||
"activity": "fight",
|
||||
"tasksByPriority": {
|
||||
"3": [
|
||||
"switch_from_fight"
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -17,26 +17,10 @@
|
||||
},
|
||||
{
|
||||
"type": "apply_behaviours",
|
||||
"condition": "!q.entity.is_wild && (q.entity.is_pastured && q.entity.pasture_conflict_enabled == 1)",
|
||||
"condition": "!q.entity.is_wild && (q.entity.is_pastured && q.entity.pasture_conflict_enabled == 1) || (q.entity.is_in_party && q.entity.behaviour.combat.will_defend_owner)",
|
||||
"behaviours": [
|
||||
"cobblemon:attack_hostile_mobs"
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "apply_behaviours",
|
||||
"condition": "!q.entity.is_wild && q.entity.is_in_party && q.entity.behaviour.combat.will_defend_owner",
|
||||
"behaviours": [
|
||||
"cobblemon:defend_owner"
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "add_memories_and_sensors",
|
||||
"condition": "!q.entity.is_wild && q.entity.is_in_party && q.entity.behaviour.combat.will_defend_owner",
|
||||
"memories": [
|
||||
"cobblemon:nearest_visible_attacker"
|
||||
],
|
||||
"sensors": [
|
||||
"cobblemon:pokemon_owner_under_attack"
|
||||
"cobblemon:attack_hostile_mobs",
|
||||
"cobblemon:fights_melee"
|
||||
]
|
||||
}
|
||||
]
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
"requirements": [
|
||||
{
|
||||
"variant": "owner_held_item",
|
||||
"itemCondition": "#c:tools/shear"
|
||||
"itemCondition": "#c:tools/shears"
|
||||
}
|
||||
],
|
||||
"effects": [
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
"lookYawLimit": "90.0",
|
||||
"speedExpr": "q.get_ride_stats('SPEED', 'LAND', 1.2, 0.1)",
|
||||
"accelerationExpr": "q.get_ride_stats('ACCELERATION', 'LAND', 0.1, 12.0)",
|
||||
"staminaExpr": "q.get_ride_stats('STAMINA', 'LAND', 120.0, 4.0)",
|
||||
"staminaExpr": "q.get_ride_stats('STAMINA', 'LAND', 60.0, 4.0)",
|
||||
"jumpExpr": "q.get_ride_stats('JUMP', 'LAND', 1.6, 0.2)",
|
||||
"handlingExpr": "q.get_ride_stats('SKILL', 'LAND', 90.0, 30.0)"
|
||||
}
|
||||
@@ -4,7 +4,7 @@
|
||||
"deccelRate": "0.005",
|
||||
"minSpeedFactor": "0.50",
|
||||
"handlingYawExpr": "q.get_ride_stats('SKILL', 'AIR', 50.0, 25.0)",
|
||||
"handlingExpr": "q.get_ride_stats('SKILL', 'AIR', 120.0, 15.0)",
|
||||
"handlingExpr": "q.get_ride_stats('SKILL', 'AIR', 80.0, 10.0)",
|
||||
"speedExpr": "q.get_ride_stats('SPEED', 'AIR', 24.0, 4.0)",
|
||||
"accelerationExpr": "q.get_ride_stats('ACCELERATION', 'AIR', 2.0, 8.0)",
|
||||
"jumpExpr": "q.get_ride_stats('JUMP', 'AIR', 2.0, 1.0)",
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "caterpie-valencian-2",
|
||||
"id": "caterpie-valencian-3",
|
||||
"pokemon": "caterpie valencian",
|
||||
"presets": [
|
||||
"natural",
|
||||
@@ -55,7 +55,7 @@
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "caterpie-valencian-3",
|
||||
"id": "caterpie-valencian-4",
|
||||
"pokemon": "caterpie valencian",
|
||||
"type": "pokemon",
|
||||
"spawnablePositionType": "grounded",
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "metapod-valencian-2",
|
||||
"id": "metapod-valencian-3",
|
||||
"pokemon": "metapod valencian",
|
||||
"presets": [
|
||||
"natural",
|
||||
@@ -55,7 +55,7 @@
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "metapod-valencian-3",
|
||||
"id": "metapod-valencian-4",
|
||||
"pokemon": "metapod valencian",
|
||||
"type": "pokemon",
|
||||
"spawnablePositionType": "grounded",
|
||||
|
||||
@@ -43,7 +43,7 @@
|
||||
"spawnablePositionType": "grounded",
|
||||
"bucket": "uncommon",
|
||||
"level": "16-32",
|
||||
"weight": 0.304,
|
||||
"weight": 1.84,
|
||||
"weightMultiplier": {
|
||||
"multiplier": 5.0,
|
||||
"condition": {
|
||||
|
||||
@@ -43,7 +43,7 @@
|
||||
"spawnablePositionType": "grounded",
|
||||
"bucket": "uncommon",
|
||||
"level": "27-49",
|
||||
"weight": 0.016,
|
||||
"weight": 0.16,
|
||||
"weightMultiplier": {
|
||||
"multiplier": 5.0,
|
||||
"condition": {
|
||||
|
||||
@@ -10,15 +10,16 @@
|
||||
"water"
|
||||
],
|
||||
"type": "pokemon",
|
||||
"spawnablePositionType": "surface",
|
||||
"spawnablePositionType": "submerged",
|
||||
"bucket": "common",
|
||||
"level": "9-34",
|
||||
"weight": 9.0,
|
||||
"condition": {
|
||||
"canSeeSky": true,
|
||||
"biomes": [
|
||||
"#cobblemon:is_ocean"
|
||||
]
|
||||
"#cobblemon:is_deep_ocean"
|
||||
],
|
||||
"maxY": 48
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -29,6 +30,30 @@
|
||||
],
|
||||
"type": "pokemon",
|
||||
"spawnablePositionType": "submerged",
|
||||
"bucket": "common",
|
||||
"level": "9-34",
|
||||
"weight": 5.4,
|
||||
"condition": {
|
||||
"canSeeSky": true,
|
||||
"biomes": [
|
||||
"#cobblemon:is_ocean"
|
||||
],
|
||||
"maxY": 48
|
||||
},
|
||||
"anticondition": {
|
||||
"biomes": [
|
||||
"#cobblemon:is_deep_ocean"
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "tentacool-3",
|
||||
"pokemon": "tentacool",
|
||||
"presets": [
|
||||
"water"
|
||||
],
|
||||
"type": "pokemon",
|
||||
"spawnablePositionType": "submerged",
|
||||
"bucket": "uncommon",
|
||||
"level": "9-34",
|
||||
"weight": 8.4,
|
||||
@@ -38,7 +63,8 @@
|
||||
"maxSkyLight": 7,
|
||||
"biomes": [
|
||||
"#cobblemon:is_overworld"
|
||||
]
|
||||
],
|
||||
"maxY": 48
|
||||
},
|
||||
"anticondition": {
|
||||
"structures": [
|
||||
@@ -53,16 +79,16 @@
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "tentacool-3",
|
||||
"id": "tentacool-4",
|
||||
"pokemon": "tentacool",
|
||||
"presets": [
|
||||
"water"
|
||||
],
|
||||
"type": "pokemon",
|
||||
"spawnablePositionType": "submerged",
|
||||
"bucket": "common",
|
||||
"spawnablePositionType": "surface",
|
||||
"bucket": "uncommon",
|
||||
"level": "9-34",
|
||||
"weight": 1.8,
|
||||
"weight": 8.4,
|
||||
"condition": {
|
||||
"minSkyLight": 8,
|
||||
"maxSkyLight": 15,
|
||||
@@ -72,7 +98,7 @@
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "tentacool-4",
|
||||
"id": "tentacool-5",
|
||||
"pokemon": "tentacool",
|
||||
"type": "pokemon",
|
||||
"spawnablePositionType": "fishing",
|
||||
@@ -87,7 +113,7 @@
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "tentacool-5",
|
||||
"id": "tentacool-6",
|
||||
"pokemon": "tentacool",
|
||||
"type": "pokemon",
|
||||
"spawnablePositionType": "fishing",
|
||||
@@ -122,7 +148,7 @@
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "tentacool-6",
|
||||
"id": "tentacool-7",
|
||||
"pokemon": "tentacool",
|
||||
"type": "pokemon",
|
||||
"spawnablePositionType": "fishing",
|
||||
@@ -139,7 +165,7 @@
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "tentacool-7",
|
||||
"id": "tentacool-8",
|
||||
"pokemon": "tentacool",
|
||||
"presets": [
|
||||
"water"
|
||||
@@ -162,7 +188,7 @@
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "tentacool-8",
|
||||
"id": "tentacool-9",
|
||||
"pokemon": "tentacool",
|
||||
"type": "pokemon",
|
||||
"spawnablePositionType": "fishing",
|
||||
|
||||
@@ -10,15 +10,16 @@
|
||||
"water"
|
||||
],
|
||||
"type": "pokemon",
|
||||
"spawnablePositionType": "surface",
|
||||
"spawnablePositionType": "submerged",
|
||||
"bucket": "common",
|
||||
"level": "30-52",
|
||||
"weight": 1.0,
|
||||
"condition": {
|
||||
"canSeeSky": true,
|
||||
"biomes": [
|
||||
"#cobblemon:is_ocean"
|
||||
]
|
||||
"#cobblemon:is_deep_ocean"
|
||||
],
|
||||
"maxY": 48
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -29,6 +30,30 @@
|
||||
],
|
||||
"type": "pokemon",
|
||||
"spawnablePositionType": "submerged",
|
||||
"bucket": "common",
|
||||
"level": "30-52",
|
||||
"weight": 0.6,
|
||||
"condition": {
|
||||
"canSeeSky": true,
|
||||
"biomes": [
|
||||
"#cobblemon:is_ocean"
|
||||
],
|
||||
"maxY": 48
|
||||
},
|
||||
"anticondition": {
|
||||
"biomes": [
|
||||
"#cobblemon:is_deep_ocean"
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "tentacruel-3",
|
||||
"pokemon": "tentacruel",
|
||||
"presets": [
|
||||
"water"
|
||||
],
|
||||
"type": "pokemon",
|
||||
"spawnablePositionType": "submerged",
|
||||
"bucket": "uncommon",
|
||||
"level": "30-52",
|
||||
"weight": 1.6,
|
||||
@@ -38,7 +63,8 @@
|
||||
"maxSkyLight": 7,
|
||||
"biomes": [
|
||||
"#cobblemon:is_overworld"
|
||||
]
|
||||
],
|
||||
"maxY": 48
|
||||
},
|
||||
"anticondition": {
|
||||
"structures": [
|
||||
@@ -53,16 +79,16 @@
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "tentacruel-3",
|
||||
"id": "tentacruel-4",
|
||||
"pokemon": "tentacruel",
|
||||
"presets": [
|
||||
"water"
|
||||
],
|
||||
"type": "pokemon",
|
||||
"spawnablePositionType": "submerged",
|
||||
"bucket": "common",
|
||||
"spawnablePositionType": "surface",
|
||||
"bucket": "uncommon",
|
||||
"level": "30-52",
|
||||
"weight": 0.2,
|
||||
"weight": 1.6,
|
||||
"condition": {
|
||||
"minSkyLight": 8,
|
||||
"maxSkyLight": 15,
|
||||
@@ -72,7 +98,7 @@
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "tentacruel-4",
|
||||
"id": "tentacruel-5",
|
||||
"pokemon": "tentacruel",
|
||||
"type": "pokemon",
|
||||
"spawnablePositionType": "fishing",
|
||||
@@ -87,7 +113,7 @@
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "tentacruel-5",
|
||||
"id": "tentacruel-6",
|
||||
"pokemon": "tentacruel",
|
||||
"type": "pokemon",
|
||||
"spawnablePositionType": "fishing",
|
||||
@@ -122,7 +148,7 @@
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "tentacruel-6",
|
||||
"id": "tentacruel-7",
|
||||
"pokemon": "tentacruel",
|
||||
"type": "pokemon",
|
||||
"spawnablePositionType": "fishing",
|
||||
@@ -139,7 +165,7 @@
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "tentacruel-7",
|
||||
"id": "tentacruel-8",
|
||||
"pokemon": "tentacruel",
|
||||
"presets": [
|
||||
"water"
|
||||
@@ -162,7 +188,7 @@
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "tentacruel-8",
|
||||
"id": "tentacruel-9",
|
||||
"pokemon": "tentacruel",
|
||||
"type": "pokemon",
|
||||
"spawnablePositionType": "fishing",
|
||||
|
||||
@@ -15,26 +15,14 @@
|
||||
"bucket": "rare",
|
||||
"level": "25-50",
|
||||
"weight": 10.0,
|
||||
"weightMultiplier": {
|
||||
"multiplier": 1.5,
|
||||
"condition": {
|
||||
"timeRange": "night"
|
||||
}
|
||||
},
|
||||
"condition": {
|
||||
"minSkyLight": 8,
|
||||
"maxSkyLight": 15,
|
||||
"biomes": [
|
||||
"#cobblemon:is_jungle",
|
||||
"aether:skyroot_forest",
|
||||
"aether:skyroot_woodland",
|
||||
"#cobblemon:is_tropical_island"
|
||||
]
|
||||
},
|
||||
"anticondition": {
|
||||
"neededNearbyBlocks": [
|
||||
"#cobblemon:saccharine_trees"
|
||||
]
|
||||
],
|
||||
"timeRange": "night"
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -45,29 +33,15 @@
|
||||
],
|
||||
"type": "pokemon",
|
||||
"spawnablePositionType": "grounded",
|
||||
"bucket": "uncommon",
|
||||
"bucket": "rare",
|
||||
"level": "25-50",
|
||||
"weight": 2.0,
|
||||
"weightMultiplier": {
|
||||
"multiplier": 1.5,
|
||||
"condition": {
|
||||
"timeRange": "night"
|
||||
}
|
||||
},
|
||||
"weight": 10.0,
|
||||
"condition": {
|
||||
"minSkyLight": 8,
|
||||
"maxSkyLight": 15,
|
||||
"biomes": [
|
||||
"#aether:is_aether",
|
||||
"#cobblemon:is_overworld"
|
||||
],
|
||||
"neededNearbyBlocks": [
|
||||
"#cobblemon:saccharine_trees"
|
||||
]
|
||||
},
|
||||
"anticondition": {
|
||||
"biomes": [
|
||||
"#cobblemon:is_freezing"
|
||||
"aether:skyroot_forest",
|
||||
"aether:skyroot_woodland"
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
@@ -18,39 +18,11 @@
|
||||
"minSkyLight": 8,
|
||||
"maxSkyLight": 15,
|
||||
"biomes": [
|
||||
"aether:skyroot_forest",
|
||||
"aether:skyroot_woodland",
|
||||
"#cobblemon:is_snowy_forest",
|
||||
"#cobblemon:is_forest",
|
||||
"#cobblemon:is_hills",
|
||||
"aether:skyroot_forest",
|
||||
"aether:skyroot_woodland"
|
||||
]
|
||||
},
|
||||
"anticondition": {
|
||||
"neededNearbyBlocks": [
|
||||
"#cobblemon:saccharine_trees"
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "snorlax-2",
|
||||
"pokemon": "snorlax",
|
||||
"presets": [
|
||||
"natural"
|
||||
],
|
||||
"type": "pokemon",
|
||||
"spawnablePositionType": "grounded",
|
||||
"bucket": "uncommon",
|
||||
"level": "34-54",
|
||||
"weight": 0.32,
|
||||
"condition": {
|
||||
"minSkyLight": 8,
|
||||
"maxSkyLight": 15,
|
||||
"biomes": [
|
||||
"#aether:is_aether",
|
||||
"#cobblemon:is_overworld"
|
||||
],
|
||||
"neededNearbyBlocks": [
|
||||
"#cobblemon:saccharine_trees"
|
||||
"#cobblemon:is_hills"
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
@@ -21,11 +21,6 @@
|
||||
"#cobblemon:is_overworld"
|
||||
],
|
||||
"maxY": 32
|
||||
},
|
||||
"anticondition": {
|
||||
"biomes": [
|
||||
"#cobblemon:is_deep_dark"
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -46,11 +41,6 @@
|
||||
"#cobblemon:is_overworld"
|
||||
],
|
||||
"maxY": 32
|
||||
},
|
||||
"anticondition": {
|
||||
"biomes": [
|
||||
"#cobblemon:is_deep_dark"
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -88,11 +78,6 @@
|
||||
"#cobblemon:is_overworld"
|
||||
],
|
||||
"maxY": 32
|
||||
},
|
||||
"anticondition": {
|
||||
"biomes": [
|
||||
"#cobblemon:is_deep_dark"
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
|
||||
@@ -21,11 +21,6 @@
|
||||
"#cobblemon:is_overworld"
|
||||
],
|
||||
"maxY": 32
|
||||
},
|
||||
"anticondition": {
|
||||
"biomes": [
|
||||
"#cobblemon:is_deep_dark"
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -46,11 +41,6 @@
|
||||
"#cobblemon:is_overworld"
|
||||
],
|
||||
"maxY": 32
|
||||
},
|
||||
"anticondition": {
|
||||
"biomes": [
|
||||
"#cobblemon:is_deep_dark"
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -88,11 +78,6 @@
|
||||
"#cobblemon:is_overworld"
|
||||
],
|
||||
"maxY": 32
|
||||
},
|
||||
"anticondition": {
|
||||
"biomes": [
|
||||
"#cobblemon:is_deep_dark"
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
|
||||
@@ -24,11 +24,6 @@
|
||||
"neededNearbyBlocks": [
|
||||
"minecraft:water"
|
||||
]
|
||||
},
|
||||
"anticondition": {
|
||||
"biomes": [
|
||||
"#cobblemon:is_deep_dark"
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -86,11 +81,6 @@
|
||||
"#cobblemon:is_overworld"
|
||||
],
|
||||
"maxY": 32
|
||||
},
|
||||
"anticondition": {
|
||||
"biomes": [
|
||||
"#cobblemon:is_deep_dark"
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
|
||||
@@ -32,39 +32,6 @@
|
||||
"#cobblemon:is_spooky"
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "pichu-alola-2",
|
||||
"pokemon": "pichu region_bias=alola",
|
||||
"presets": [
|
||||
"natural"
|
||||
],
|
||||
"type": "pokemon",
|
||||
"spawnablePositionType": "grounded",
|
||||
"bucket": "uncommon",
|
||||
"level": "16-32",
|
||||
"weight": 1.68,
|
||||
"weightMultiplier": {
|
||||
"multiplier": 5.0,
|
||||
"condition": {
|
||||
"isThundering": true
|
||||
}
|
||||
},
|
||||
"condition": {
|
||||
"minSkyLight": 8,
|
||||
"maxSkyLight": 15,
|
||||
"biomes": [
|
||||
"#cobblemon:is_beach",
|
||||
"aether:skyroot_forest",
|
||||
"aether:skyroot_woodland",
|
||||
"#cobblemon:is_tropical_island"
|
||||
]
|
||||
},
|
||||
"anticondition": {
|
||||
"biomes": [
|
||||
"#cobblemon:is_freezing"
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -30,9 +30,6 @@
|
||||
]
|
||||
},
|
||||
"anticondition": {
|
||||
"neededNearbyBlocks": [
|
||||
"#cobblemon:saccharine_trees"
|
||||
],
|
||||
"biomes": [
|
||||
"#cobblemon:is_freezing",
|
||||
"#cobblemon:is_spooky"
|
||||
@@ -63,15 +60,8 @@
|
||||
"maxSkyLight": 15,
|
||||
"biomes": [
|
||||
"#cobblemon:is_jungle",
|
||||
"aether:skyroot_forest",
|
||||
"aether:skyroot_woodland",
|
||||
"#cobblemon:is_tropical_island"
|
||||
]
|
||||
},
|
||||
"anticondition": {
|
||||
"neededNearbyBlocks": [
|
||||
"#cobblemon:saccharine_trees"
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -83,29 +73,15 @@
|
||||
],
|
||||
"type": "pokemon",
|
||||
"spawnablePositionType": "grounded",
|
||||
"bucket": "uncommon",
|
||||
"bucket": "rare",
|
||||
"level": "25-50",
|
||||
"weight": 2.0,
|
||||
"weightMultiplier": {
|
||||
"multiplier": 5.0,
|
||||
"condition": {
|
||||
"timeRange": "twilight"
|
||||
}
|
||||
},
|
||||
"condition": {
|
||||
"minSkyLight": 8,
|
||||
"maxSkyLight": 15,
|
||||
"biomes": [
|
||||
"#aether:is_aether",
|
||||
"#cobblemon:is_overworld"
|
||||
],
|
||||
"neededNearbyBlocks": [
|
||||
"#cobblemon:saccharine_trees"
|
||||
]
|
||||
},
|
||||
"anticondition": {
|
||||
"biomes": [
|
||||
"#cobblemon:is_freezing"
|
||||
"aether:skyroot_forest",
|
||||
"aether:skyroot_woodland"
|
||||
]
|
||||
}
|
||||
},
|
||||
|
||||