Compare commits

..
Author SHA1 Message Date
JazzMcNade c5cc57a298 Fixed issues with pokemon drops 2024-06-02 03:18:22 -05:00
Apion fad10da89f Merge branch 'forcespawn_cmd_fix' into 'main'
Fixes #877

Closes #877

See merge request cable-mc/cobblemon!1056
2024-06-01 15:19:06 +00:00
notepadccino 055ce8168c Fixes #877 2024-06-01 15:42:21 +02:00
Hiroku e4da05fd50 we are snapshotting thx 2024-06-01 00:24:30 +00:00
Paul 3a17a88ea2 Changelog stuff [skip-ci] 2024-06-01 09:38:50 +10:00
Hiroku 09abf30421 Merge branch 'no-middle-stage-ha-fix' into 'main'
Hidden Ability slot for cocoons.

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

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

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

Closes #878

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

See merge request cable-mc/cobblemon!1054
2024-05-31 23:34:25 +00:00
dhi_holo dc727fe56d Leeks are Sticks (visually)
Medicinal and Roasted Leeks now reference a new display setting, making them held like sticks/rods.

That's it, that's the entire change, it's a small parity thing, this is what I like doing, okay.
2024-05-31 10:19:06 +10:00
Apion 4db36ef6fa Merge branch 'tmetcalfe89/abstract-shedding' into 'main'
abstracted shedinja logic for datapackability

See merge request cable-mc/cobblemon!1014
2024-05-30 04:02:21 +00:00
Timothy MetcalfeandApion e350d920b5 abstracted shedinja logic for datapackability 2024-05-30 04:02:21 +00:00
Apion 2a0ae1a466 Merge branch 'tumbled-bricks' into 'main'
Tumbled Blocks and Bricks

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

Closes #873

See merge request cable-mc/cobblemon!1053
2024-05-30 00:49:20 +00:00
JazzMcNade 78f25b3f8b Corrected typo in changelog 2024-05-28 17:25:08 -05:00
JazzMcNade 631293e0cd UpdatedChangelog 2024-05-28 17:10:20 -05:00
JazzMcNade 2865b8140a Scaled down Amaura's fetus model to avoid clipping through the tank while animating 2024-05-28 17:07:46 -05:00
notepadccino be34bc4c74 Fixes #878 2024-05-28 19:12:21 +02:00
apion 30070d35f6 Fully moved mulch into block entity 2024-05-26 11:23:47 -04:00
apion 8e3435479a Start trying to move mulch into block entity 2024-05-26 09:39:57 -04:00
apion 37433aa0c5 CHANGELOG.md 2024-05-24 00:34:04 -04:00
apion 1a1cedb3aa Regenned berry data, added bone meal chance 2024-05-23 23:53:42 -04:00
apion b82287f258 Vera berry changes 2024-05-23 09:02:24 -04:00
apion c884c556cb Remove binding soil 2024-05-22 03:37:04 -04:00
apion 9a8b481fa2 Changed berry grow timers per Vera request 2024-05-22 03:26:09 -04:00
apion e2fb31fad3 Merge branch 'refs/heads/main' into berry-changes 2024-05-22 02:39:51 -04:00
Ludichat 7e43a7424e Updated CHANGELOG.md. 2024-05-17 08:26:51 +02:00
Ludichat b718daf0f1 Gives a Hidden Ability slot to middle stage evolution and Ferroseed with a single ability. 2024-05-16 21:49:34 +02:00
apion a3122812e4 Added color to all sprouts 2024-05-15 07:47:43 -04:00
apion 19698fc0ff Merge branch 'refs/heads/main' into berry-changes 2024-05-14 16:36:34 -04:00
apion 743da2817b Added rooted soil 2024-02-27 06:07:24 -05:00
apion ebdf69f496 Rebuilt blockstate jsons 2024-02-27 05:57:41 -05:00
apion 995364c960 Texture updates 2024-02-23 19:53:27 -05:00
apion 289b2ddc7b Berries now stick out of the ground when initially planted 2024-02-23 19:08:03 -05:00
749 changed files with 28080 additions and 1850 deletions
+1
View File
@@ -3,3 +3,4 @@
# are changed when only line endings change.
src/generated/**/.cache/cache text eol=lf
src/generated/**/*.json text eol=lf
CHANGELOG.md merge=union
+23 -1
View File
@@ -1,5 +1,27 @@
# Changelog
## [1.5.3](#1-5-3)
### Fixes
- Scaled down Amaura's fetus model to avoid clipping through the tank while animating
- Added Polished Tumblestone and Tumblestone Brick block sets from Tumblestone, Black Tumblestone, and Sky Tumblestone.
- Fixed the Seafloor spawning context not being a usable context.
- Fixed Pokemon spawning in non-full blocks like slabs.
- Fixed Gilded Chests not dropping the chest itself when broken, only the contents.
- Fixed Pokémon losing their Hidden Ability through evolution if the middle stage did not have a Hidden Ability.
### Additions
- Added extra visuals to early berry growth stages
### Changes
- Altered the item model for Medicinal Leeks and Roasted Leeks to be held like sticks and other rod items.
- Adjusted some berry balance values like yield and growth times
- Changes to mulch buffs/durations
### Developer
### Data Pack & Resource Pack Creators
- Added support for "shedders" similar to Shedinja's evolution logic.
## [1.5.2 (May 27th, 2024)](#1-5-2)
### Fixes
- Fixed Wooloo and Dubwool dyeing making your game start dying. Only if you do it on a server.
@@ -83,7 +105,7 @@
- Fixed a bunch of spam during world generation.
- Fixed a bug in which throwing a Poké Ball at a player owned Pokémon with the ability Illusion would reveal its true species. Hilarious meta strategy.
- Fixed root-part animations not working for JSON posed Pokémon. You didn't notice this but if we didn't fix this in this update then if you use Quick Attack a lot you'd have seen a whole lot of [this](https://cdn.discordapp.com/attachments/1076993968803434627/1242660506783715369/Minecraft__1.20.1_-_Singleplayer_2024-05-21_22-08-17.mp4?ex=66549408&is=66534288&hm=ff95ee293eb15634fd63e6546534ea279540a1c892605e8d561593ca2c5600c5&) which is damn funny but very unintended.
### Developer
- Changed SpawnAction#complete to return a nullable generic R (the spawn action result) instead of a boolean. Provides more information this way.
- Added an event that fires when a fossil is revived, with or without a player.
@@ -371,36 +371,6 @@ object Cobblemon {
BATTLE_VICTORY.subscribe { AdvancementHandler.onWinBattle(it) }
EVOLUTION_COMPLETE.subscribe(Priority.LOWEST) { event ->
AdvancementHandler.onEvolve(event)
val pokemon = event.pokemon
val ninjaskIdentifier = cobblemonResource("ninjask")
// Ensure the config option is enabled and that the result was a ninjask and that shedinja exists
if (this.config.ninjaskCreatesShedinja && pokemon.species.resourceIdentifier == ninjaskIdentifier && PokemonSpecies.getByIdentifier(Pokemon.SHEDINJA) != null) {
val player = pokemon.getOwnerPlayer() ?: return@subscribe
if (player.isCreative || player.inventory.containsAny { it.item is PokeBallItem }) {
var pokeball = Items.AIR
player.inventory.combinedInventory.forEach {
it.forEach {
itemStack -> if (itemStack.item is PokeBallItem && pokeball == Items.AIR) {
pokeball = itemStack.item as PokeBallItem
}
}
}
if (!player.isCreative) {
player.inventory.removeAmountIf(1) { it.item is PokeBallItem }
}
if (pokeball == Items.AIR) {
pokeball = CobblemonItems.POKE_BALL
}
val properties = event.evolution.result.copy()
properties.species = Pokemon.SHEDINJA.toString()
val product = pokemon.clone()
product.removeHeldItem()
properties.apply(product)
product.caughtBall = (pokeball as PokeBallItem).pokeBall
pokemon.storeCoordinates.get()?.store?.add(product)
CobblemonCriteria.EVOLVE_POKEMON.trigger(player, EvolvePokemonContext(event.pokemon.preEvolution!!.species.resourceIdentifier, product.species.resourceIdentifier, playerData.get(player).advancementData.totalEvolvedCount))
}
}
}
LEVEL_UP_EVENT.subscribe { AdvancementHandler.onLevelUp(it) }
TRADE_COMPLETED.subscribe { AdvancementHandler.onTradeCompleted(it) }
@@ -214,6 +214,213 @@ object CobblemonBlocks : PlatformRegistry<Registry<Block>, RegistryKey<Registry<
.instrument(Instrument.BASEDRUM)
))
@JvmField
val POLISHED_TUMBLESTONE = this.create("polished_tumblestone", Block(AbstractBlock.Settings.create()
.mapColor(MapColor.TERRACOTTA_ORANGE)
.strength(1.0F)
.sounds(CobblemonSounds.TUMBLESTONE_BLOCK_SOUNDS)
.requiresTool()
.instrument(Instrument.BASEDRUM)
))
@JvmField
val POLISHED_TUMBLESTONE_STAIRS = this.create("polished_tumblestone_stairs", StairsBlockInvoker.`cobblemon$create`(POLISHED_TUMBLESTONE.defaultState, AbstractBlock.Settings.copy(POLISHED_TUMBLESTONE)))
@JvmField
val POLISHED_TUMBLESTONE_SLAB = this.create("polished_tumblestone_slab", SlabBlock(AbstractBlock.Settings.create()
.mapColor(MapColor.TERRACOTTA_ORANGE)
.strength(1.0F)
.sounds(CobblemonSounds.TUMBLESTONE_BLOCK_SOUNDS)
.requiresTool()
.instrument(Instrument.BASEDRUM)
))
@JvmField
val POLISHED_TUMBLESTONE_WALL = this.create("polished_tumblestone_wall", WallBlock(AbstractBlock.Settings.create()
.mapColor(MapColor.TERRACOTTA_ORANGE)
.strength(1.0F)
.sounds(CobblemonSounds.TUMBLESTONE_BLOCK_SOUNDS)
.requiresTool()
.instrument(Instrument.BASEDRUM)
))
@JvmField
val CHISELED_POLISHED_TUMBLESTONE = this.create("chiseled_polished_tumblestone", Block(AbstractBlock.Settings.create()
.mapColor(MapColor.TERRACOTTA_ORANGE)
.strength(1.0F)
.sounds(CobblemonSounds.TUMBLESTONE_BLOCK_SOUNDS)
.requiresTool()
.instrument(Instrument.BASEDRUM)
))
@JvmField
val TUMBLESTONE_BRICKS = this.create("tumblestone_bricks", Block(AbstractBlock.Settings.create()
.mapColor(MapColor.TERRACOTTA_ORANGE)
.strength(1.0F)
.sounds(CobblemonSounds.TUMBLESTONE_BLOCK_SOUNDS)
.requiresTool()
.instrument(Instrument.BASEDRUM)
))
@JvmField
val TUMBLESTONE_BRICK_STAIRS = this.create("tumblestone_brick_stairs", StairsBlockInvoker.`cobblemon$create`(TUMBLESTONE_BRICKS.defaultState, AbstractBlock.Settings.copy(TUMBLESTONE_BRICKS)))
@JvmField
val TUMBLESTONE_BRICK_SLAB = this.create("tumblestone_brick_slab", SlabBlock(AbstractBlock.Settings.create()
.mapColor(MapColor.TERRACOTTA_ORANGE)
.strength(1.0F)
.sounds(CobblemonSounds.TUMBLESTONE_BLOCK_SOUNDS)
.requiresTool()
.instrument(Instrument.BASEDRUM)
))
@JvmField
val TUMBLESTONE_BRICK_WALL = this.create("tumblestone_brick_wall", WallBlock(AbstractBlock.Settings.create()
.mapColor(MapColor.TERRACOTTA_ORANGE)
.strength(1.0F)
.sounds(CobblemonSounds.TUMBLESTONE_BLOCK_SOUNDS)
.requiresTool()
.instrument(Instrument.BASEDRUM)
))
@JvmField
val CHISELED_TUMBLESTONE_BRICKS = this.create("chiseled_tumblestone_bricks", Block(AbstractBlock.Settings.create()
.mapColor(MapColor.TERRACOTTA_ORANGE)
.strength(1.0F)
.sounds(CobblemonSounds.TUMBLESTONE_BLOCK_SOUNDS)
.requiresTool()
.instrument(Instrument.BASEDRUM)
))
@JvmField
val POLISHED_SKY_TUMBLESTONE = this.create("polished_sky_tumblestone", Block(AbstractBlock.Settings.create()
.mapColor(MapColor.LIGHT_BLUE)
.strength(1.0F)
.sounds(CobblemonSounds.TUMBLESTONE_BLOCK_SOUNDS)
.requiresTool()
.instrument(Instrument.BASEDRUM)
))
@JvmField
val POLISHED_SKY_TUMBLESTONE_STAIRS = this.create("polished_sky_tumblestone_stairs", StairsBlockInvoker.`cobblemon$create`(POLISHED_SKY_TUMBLESTONE.defaultState, AbstractBlock.Settings.copy(POLISHED_SKY_TUMBLESTONE)))
@JvmField
val POLISHED_SKY_TUMBLESTONE_SLAB = this.create("polished_sky_tumblestone_slab", SlabBlock(AbstractBlock.Settings.create()
.mapColor(MapColor.LIGHT_BLUE)
.strength(1.0F)
.sounds(CobblemonSounds.TUMBLESTONE_BLOCK_SOUNDS)
.requiresTool()
.instrument(Instrument.BASEDRUM)
))
@JvmField
val POLISHED_SKY_TUMBLESTONE_WALL = this.create("polished_sky_tumblestone_wall", WallBlock(AbstractBlock.Settings.create()
.mapColor(MapColor.LIGHT_BLUE)
.strength(1.0F)
.sounds(CobblemonSounds.TUMBLESTONE_BLOCK_SOUNDS)
.requiresTool()
.instrument(Instrument.BASEDRUM)
))
@JvmField
val CHISELED_POLISHED_SKY_TUMBLESTONE = this.create("chiseled_polished_sky_tumblestone", Block(AbstractBlock.Settings.create()
.mapColor(MapColor.LIGHT_BLUE)
.strength(1.0F)
.sounds(CobblemonSounds.TUMBLESTONE_BLOCK_SOUNDS)
.requiresTool()
.instrument(Instrument.BASEDRUM)
))
@JvmField
val SKY_TUMBLESTONE_BRICKS = this.create("sky_tumblestone_bricks", Block(AbstractBlock.Settings.create()
.mapColor(MapColor.LIGHT_BLUE)
.strength(1.0F)
.sounds(CobblemonSounds.TUMBLESTONE_BLOCK_SOUNDS)
.requiresTool()
.instrument(Instrument.BASEDRUM)
))
@JvmField
val SKY_TUMBLESTONE_BRICK_STAIRS = this.create("sky_tumblestone_brick_stairs", StairsBlockInvoker.`cobblemon$create`(
SKY_TUMBLESTONE_BRICKS.defaultState, AbstractBlock.Settings.copy(SKY_TUMBLESTONE_BRICKS)))
@JvmField
val SKY_TUMBLESTONE_BRICK_SLAB = this.create("sky_tumblestone_brick_slab", SlabBlock(AbstractBlock.Settings.create()
.mapColor(MapColor.LIGHT_BLUE)
.strength(1.0F)
.sounds(CobblemonSounds.TUMBLESTONE_BLOCK_SOUNDS)
.requiresTool()
.instrument(Instrument.BASEDRUM)
))
@JvmField
val SKY_TUMBLESTONE_BRICK_WALL = this.create("sky_tumblestone_brick_wall", WallBlock(AbstractBlock.Settings.create()
.mapColor(MapColor.LIGHT_BLUE)
.strength(1.0F)
.sounds(CobblemonSounds.TUMBLESTONE_BLOCK_SOUNDS)
.requiresTool()
.instrument(Instrument.BASEDRUM)
))
@JvmField
val CHISELED_SKY_TUMBLESTONE_BRICKS = this.create("chiseled_sky_tumblestone_bricks", Block(AbstractBlock.Settings.create()
.mapColor(MapColor.LIGHT_BLUE)
.strength(1.0F)
.sounds(CobblemonSounds.TUMBLESTONE_BLOCK_SOUNDS)
.requiresTool()
.instrument(Instrument.BASEDRUM)
))
@JvmField
val POLISHED_BLACK_TUMBLESTONE = this.create("polished_black_tumblestone", Block(AbstractBlock.Settings.create()
.mapColor(MapColor.TERRACOTTA_BLACK)
.strength(1.0F)
.sounds(CobblemonSounds.TUMBLESTONE_BLOCK_SOUNDS)
.requiresTool()
.instrument(Instrument.BASEDRUM)
))
@JvmField
val POLISHED_BLACK_TUMBLESTONE_STAIRS = this.create("polished_black_tumblestone_stairs", StairsBlockInvoker.`cobblemon$create`(POLISHED_BLACK_TUMBLESTONE.defaultState, AbstractBlock.Settings.copy(POLISHED_BLACK_TUMBLESTONE)))
@JvmField
val POLISHED_BLACK_TUMBLESTONE_SLAB = this.create("polished_black_tumblestone_slab", SlabBlock(AbstractBlock.Settings.create()
.mapColor(MapColor.TERRACOTTA_BLACK)
.strength(1.0F)
.sounds(CobblemonSounds.TUMBLESTONE_BLOCK_SOUNDS)
.requiresTool()
.instrument(Instrument.BASEDRUM)
))
@JvmField
val POLISHED_BLACK_TUMBLESTONE_WALL = this.create("polished_black_tumblestone_wall", WallBlock(AbstractBlock.Settings.create()
.mapColor(MapColor.TERRACOTTA_BLACK)
.strength(1.0F)
.sounds(CobblemonSounds.TUMBLESTONE_BLOCK_SOUNDS)
.requiresTool()
.instrument(Instrument.BASEDRUM)
))
@JvmField
val CHISELED_POLISHED_BLACK_TUMBLESTONE = this.create("chiseled_polished_black_tumblestone", Block(AbstractBlock.Settings.create()
.mapColor(MapColor.TERRACOTTA_BLACK)
.strength(1.0F)
.sounds(CobblemonSounds.TUMBLESTONE_BLOCK_SOUNDS)
.requiresTool()
.instrument(Instrument.BASEDRUM)
))
@JvmField
val BLACK_TUMBLESTONE_BRICKS = this.create("black_tumblestone_bricks", Block(AbstractBlock.Settings.create()
.mapColor(MapColor.TERRACOTTA_BLACK)
.strength(1.0F)
.sounds(CobblemonSounds.TUMBLESTONE_BLOCK_SOUNDS)
.requiresTool()
.instrument(Instrument.BASEDRUM)
))
@JvmField
val BLACK_TUMBLESTONE_BRICK_STAIRS = this.create("black_tumblestone_brick_stairs", StairsBlockInvoker.`cobblemon$create`(
BLACK_TUMBLESTONE_BRICKS.defaultState, AbstractBlock.Settings.copy(BLACK_TUMBLESTONE_BRICKS)))
@JvmField
val BLACK_TUMBLESTONE_BRICK_SLAB = this.create("black_tumblestone_brick_slab", SlabBlock(AbstractBlock.Settings.create()
.mapColor(MapColor.TERRACOTTA_BLACK)
.strength(1.0F)
.sounds(CobblemonSounds.TUMBLESTONE_BLOCK_SOUNDS)
.requiresTool()
.instrument(Instrument.BASEDRUM)
))
@JvmField
val BLACK_TUMBLESTONE_BRICK_WALL = this.create("black_tumblestone_brick_wall", WallBlock(AbstractBlock.Settings.create()
.mapColor(MapColor.TERRACOTTA_BLACK)
.strength(1.0F)
.sounds(CobblemonSounds.TUMBLESTONE_BLOCK_SOUNDS)
.requiresTool()
.instrument(Instrument.BASEDRUM)
))
@JvmField
val CHISELED_BLACK_TUMBLESTONE_BRICKS = this.create("chiseled_black_tumblestone_bricks", Block(AbstractBlock.Settings.create()
.mapColor(MapColor.TERRACOTTA_BLACK)
.strength(1.0F)
.sounds(CobblemonSounds.TUMBLESTONE_BLOCK_SOUNDS)
.requiresTool()
.instrument(Instrument.BASEDRUM)
))
@JvmField
val BLACK_APRICORN = apricornBlock("black_apricorn", Apricorn.BLACK)
@JvmField
@@ -528,6 +735,7 @@ object CobblemonBlocks : PlatformRegistry<Registry<Block>, RegistryKey<Registry<
val WEPEAR_BERRY = this.berryBlock("wepear")
val WIKI_BERRY = this.berryBlock("wiki")
val YACHE_BERRY = this.berryBlock("yache")
//val BINDING_SOIL = this.create("binding_soil", BindingSoilBlock(AbstractBlock.Settings.create()))
init {
/**
@@ -23,6 +23,7 @@ import com.cobblemon.mod.common.item.armor.CobblemonArmorTrims
import com.cobblemon.mod.common.item.battle.DireHitItem
import com.cobblemon.mod.common.item.battle.GuardSpecItem
import com.cobblemon.mod.common.item.battle.XStatItem
import com.cobblemon.mod.common.item.berry.BerryItem
import com.cobblemon.mod.common.item.berry.FriendshipRaisingBerryItem
import com.cobblemon.mod.common.item.berry.HealingBerryItem
import com.cobblemon.mod.common.item.berry.PPRestoringBerryItem
@@ -932,6 +933,67 @@ object CobblemonItems : PlatformRegistry<Registry<Item>, RegistryKey<Registry<It
@JvmField
val BLACK_TUMBLESTONE_BLOCK = blockItem("black_tumblestone_block", CobblemonBlocks.BLACK_TUMBLESTONE_BLOCK)
@JvmField
val POLISHED_TUMBLESTONE = blockItem("polished_tumblestone", CobblemonBlocks.POLISHED_TUMBLESTONE)
@JvmField
val POLISHED_TUMBLESTONE_STAIRS = blockItem("polished_tumblestone_stairs", CobblemonBlocks.POLISHED_TUMBLESTONE_STAIRS)
@JvmField
val POLISHED_TUMBLESTONE_SLAB = blockItem("polished_tumblestone_slab", CobblemonBlocks.POLISHED_TUMBLESTONE_SLAB)
@JvmField
val POLISHED_TUMBLESTONE_WALL = blockItem("polished_tumblestone_wall", CobblemonBlocks.POLISHED_TUMBLESTONE_WALL)
@JvmField
val CHISELED_POLISHED_TUMBLESTONE = blockItem("chiseled_polished_tumblestone", CobblemonBlocks.CHISELED_POLISHED_TUMBLESTONE)
@JvmField
val TUMBLESTONE_BRICKS = blockItem("tumblestone_bricks", CobblemonBlocks.TUMBLESTONE_BRICKS)
@JvmField
val TUMBLESTONE_BRICK_STAIRS = blockItem("tumblestone_brick_stairs", CobblemonBlocks.TUMBLESTONE_BRICK_STAIRS)
@JvmField
val TUMBLESTONE_BRICK_SLAB = blockItem("tumblestone_brick_slab", CobblemonBlocks.TUMBLESTONE_BRICK_SLAB)
@JvmField
val TUMBLESTONE_BRICK_WALL = blockItem("tumblestone_brick_wall", CobblemonBlocks.TUMBLESTONE_BRICK_WALL)
@JvmField
val CHISELED_TUMBLESTONE_BRICKS = blockItem("chiseled_tumblestone_bricks", CobblemonBlocks.CHISELED_TUMBLESTONE_BRICKS)
@JvmField
val POLISHED_SKY_TUMBLESTONE = blockItem("polished_sky_tumblestone", CobblemonBlocks.POLISHED_SKY_TUMBLESTONE)
@JvmField
val POLISHED_SKY_TUMBLESTONE_STAIRS = blockItem("polished_sky_tumblestone_stairs", CobblemonBlocks.POLISHED_SKY_TUMBLESTONE_STAIRS)
@JvmField
val POLISHED_SKY_TUMBLESTONE_SLAB = blockItem("polished_sky_tumblestone_slab", CobblemonBlocks.POLISHED_SKY_TUMBLESTONE_SLAB)
@JvmField
val POLISHED_SKY_TUMBLESTONE_WALL = blockItem("polished_sky_tumblestone_wall", CobblemonBlocks.POLISHED_SKY_TUMBLESTONE_WALL)
@JvmField
val CHISELED_POLISHED_SKY_TUMBLESTONE = blockItem("chiseled_polished_sky_tumblestone", CobblemonBlocks.CHISELED_POLISHED_SKY_TUMBLESTONE)
@JvmField
val SKY_TUMBLESTONE_BRICKS = blockItem("sky_tumblestone_bricks", CobblemonBlocks.SKY_TUMBLESTONE_BRICKS)
@JvmField
val SKY_TUMBLESTONE_BRICK_STAIRS = blockItem("sky_tumblestone_brick_stairs", CobblemonBlocks.SKY_TUMBLESTONE_BRICK_STAIRS)
@JvmField
val SKY_TUMBLESTONE_BRICK_SLAB = blockItem("sky_tumblestone_brick_slab", CobblemonBlocks.SKY_TUMBLESTONE_BRICK_SLAB)
@JvmField
val SKY_TUMBLESTONE_BRICK_WALL = blockItem("sky_tumblestone_brick_wall", CobblemonBlocks.SKY_TUMBLESTONE_BRICK_WALL)
@JvmField
val CHISELED_SKY_TUMBLESTONE_BRICKS = blockItem("chiseled_sky_tumblestone_bricks", CobblemonBlocks.CHISELED_SKY_TUMBLESTONE_BRICKS)
@JvmField
val POLISHED_BLACK_TUMBLESTONE = blockItem("polished_black_tumblestone", CobblemonBlocks.POLISHED_BLACK_TUMBLESTONE)
@JvmField
val POLISHED_BLACK_TUMBLESTONE_STAIRS = blockItem("polished_black_tumblestone_stairs", CobblemonBlocks.POLISHED_BLACK_TUMBLESTONE_STAIRS)
@JvmField
val POLISHED_BLACK_TUMBLESTONE_SLAB = blockItem("polished_black_tumblestone_slab", CobblemonBlocks.POLISHED_BLACK_TUMBLESTONE_SLAB)
@JvmField
val POLISHED_BLACK_TUMBLESTONE_WALL = blockItem("polished_black_tumblestone_wall", CobblemonBlocks.POLISHED_BLACK_TUMBLESTONE_WALL)
@JvmField
val CHISELED_POLISHED_BLACK_TUMBLESTONE = blockItem("chiseled_polished_black_tumblestone", CobblemonBlocks.CHISELED_POLISHED_BLACK_TUMBLESTONE)
@JvmField
val BLACK_TUMBLESTONE_BRICKS = blockItem("black_tumblestone_bricks", CobblemonBlocks.BLACK_TUMBLESTONE_BRICKS)
@JvmField
val BLACK_TUMBLESTONE_BRICK_STAIRS = blockItem("black_tumblestone_brick_stairs", CobblemonBlocks.BLACK_TUMBLESTONE_BRICK_STAIRS)
@JvmField
val BLACK_TUMBLESTONE_BRICK_SLAB = blockItem("black_tumblestone_brick_slab", CobblemonBlocks.BLACK_TUMBLESTONE_BRICK_SLAB)
@JvmField
val BLACK_TUMBLESTONE_BRICK_WALL = blockItem("black_tumblestone_brick_wall", CobblemonBlocks.BLACK_TUMBLESTONE_BRICK_WALL)
@JvmField
val CHISELED_BLACK_TUMBLESTONE_BRICKS = blockItem("chiseled_black_tumblestone_bricks", CobblemonBlocks.CHISELED_BLACK_TUMBLESTONE_BRICKS)
@JvmField
val AUTOMATON_ARMOR_TRIM_SMITHING_TEMPLATE: SmithingTemplateItem = this.create(
"automaton_armor_trim_smithing_template",
@@ -985,6 +1047,8 @@ object CobblemonItems : PlatformRegistry<Registry<Item>, RegistryKey<Registry<It
val STEEL_GEM = noSettingsItem("steel_gem")
@JvmField
val FAIRY_GEM = noSettingsItem("fairy_gem")
//@JvmField
//val BINDING_SOIL = blockItem("binding_soil", CobblemonBlocks.BINDING_SOIL)
private fun blockItem(name: String, block: Block): BlockItem = this.create(name, BlockItem(block, Item.Settings()))
@@ -16,7 +16,7 @@ import com.cobblemon.mod.common.api.events.berry.BerryYieldCalculationEvent
import com.cobblemon.mod.common.api.mulch.MulchVariant
import com.cobblemon.mod.common.block.BerryBlock
import com.cobblemon.mod.common.block.entity.BerryBlockEntity
import com.cobblemon.mod.common.item.BerryItem
import com.cobblemon.mod.common.item.berry.BerryItem
import com.cobblemon.mod.common.pokemon.Nature
import com.cobblemon.mod.common.util.readBox
import com.cobblemon.mod.common.util.writeBox
@@ -45,9 +45,8 @@ import net.minecraft.world.biome.Biome
* @property identifier The [Identifier] of this berry.
* @property baseYield The [IntRange] possible for the berry tree before [bonusYield] is calculated.
* @property preferredBiomeTags The [TagKey]s of the berries preffered biomes. Determines spawning and yield
* @property growthTime The [IntRange] possible in minutes for how long the berry tree takes to grow.
* @property refreshRate The [IntRange] possible in minutes for how long the berry tree takes to regrow its berries once it has been harvested.
* @depreciated @property lifeCycles The [IntRange] possible for the berry to live for between harvests.
* @property growthTime The [IntRange] possible in minutes for how long the berry tree takes to grow frome age 0 to age 3
* @property refreshRate The [IntRange] possible in minutes for how long the berry tree takes to grow from age 3 to age 5
* @property favoriteMulches The types of mulches that benefit this berries yield
* @property growthFactors An array of [GrowthFactor]s that will affect this berry. The client is not aware of these.
* @property mutations A map of the partner berry as the key and the value as the resulting mutation with this berry.
@@ -60,6 +59,7 @@ import net.minecraft.world.biome.Biome
* @property flowerTexture The [Identifier] for the texture of the berry in flower form. This is resolved into a [ModelPart] on the client.
* @property fruitModelIdentifier The [Identifier] for the model of the berry in flower form. This is resolved into a [ModelPart] on the client.
* @property fruitTexture The [Identifier] for the texture of the berry in flower form.
* @property stageOnePositioning Transformation of the berry model for age 0
*
* @throws IllegalArgumentException if the any yield range argument is not a positive range.
*/
@@ -69,7 +69,6 @@ class Berry(
val preferredBiomeTags: List<TagKey<Biome>>,
val growthTime: IntRange,
val refreshRate: IntRange,
//val lifeCycles: IntRange,
val favoriteMulches: EnumSet<MulchVariant>,
val growthFactors: Collection<GrowthFactor>,
val spawnConditions: List<BerrySpawnCondition>,
@@ -88,7 +87,9 @@ class Berry(
@SerializedName("fruitModel")
val fruitModelIdentifier: Identifier,
val fruitTexture: Identifier,
val weight: Float
val stageOnePositioning: GrowthPoint,
val weight: Float,
val boneMealChance: Float
) {
@Transient
@@ -161,8 +162,9 @@ class Berry(
val bonus = this.bonusYield(world, state, pos)
var yield = base + bonus.first
val treeEntity = world.getBlockEntity(pos) as BerryBlockEntity
if (BerryBlock.getMulch(state) == MulchVariant.RICH) {
yield = min(yield + 1, maxYield())
if (BerryBlock.getMulch(treeEntity) == MulchVariant.RICH) {
//I hope the upper bound isnt exclusive, especially when there's a method called nextBetweenExclusive
yield += world.random.nextBetween(1, 3)
treeEntity.decrementMulchDuration(world, pos, state)
}
val event = BerryYieldCalculationEvent(this, world, state, pos, placer, yield, bonus.second)
@@ -279,6 +281,13 @@ class Berry(
buffer.writeIdentifier(this.flowerTexture)
buffer.writeIdentifier(this.fruitModelIdentifier)
buffer.writeIdentifier(this.fruitTexture)
buffer.writeDouble(stageOnePositioning.position.x)
buffer.writeDouble(stageOnePositioning.position.y)
buffer.writeDouble(stageOnePositioning.position.z)
buffer.writeDouble(stageOnePositioning.rotation.x)
buffer.writeDouble(stageOnePositioning.rotation.y)
buffer.writeDouble(stageOnePositioning.rotation.z)
buffer.writeFloat(boneMealChance)
}
/**
@@ -292,7 +301,8 @@ class Berry(
private fun bonusYield(world: World, state: BlockState, pos: BlockPos): Pair<Int, Collection<GrowthFactor>> {
var bonus = 0
val passed = arrayListOf<GrowthFactor>()
val mulchVariant = BerryBlock.getMulch(state)
val treeEntity = world.getBlockEntity(pos) as? BerryBlockEntity ?: return 0 to passed
val mulchVariant = BerryBlock.getMulch(treeEntity)
val hasBiomeMulch = mulchVariant in favoriteMulches
this.growthFactors.forEach { factor ->
if (factor.isValid(world, state, pos)) {
@@ -339,7 +349,9 @@ class Berry(
val flowerTexture = buffer.readIdentifier()
val fruitModelIdentifier = buffer.readIdentifier()
val fruitTexture = buffer.readIdentifier()
return Berry(identifier, baseYield, emptyList(), growthTime, refreshRate, favMulchs, emptySet(), emptyList(), growthPoints, randomizedGrowthPoints, mutations, sproutShapeBoxes, matureShapeBoxes, flavors, tintIndexes, flowerModelIdentifier, flowerTexture, fruitModelIdentifier, fruitTexture, 0F)
val stageOneYPos = GrowthPoint(Vec3d(buffer.readDouble(), buffer.readDouble(), buffer.readDouble()), Vec3d(buffer.readDouble(), buffer.readDouble(), buffer.readDouble()))
val boneMealChance = buffer.readFloat()
return Berry(identifier, baseYield, emptyList(), growthTime, refreshRate, favMulchs, emptySet(), emptyList(), growthPoints, randomizedGrowthPoints, mutations, sproutShapeBoxes, matureShapeBoxes, flavors, tintIndexes, flowerModelIdentifier, flowerTexture, fruitModelIdentifier, fruitTexture, stageOneYPos, 0F, boneMealChance)
}
}
@@ -8,24 +8,30 @@
package com.cobblemon.mod.common.api.mulch
import com.cobblemon.mod.common.BakingOverride
import com.cobblemon.mod.common.client.CobblemonBakingOverrides
import net.minecraft.util.StringIdentifiable
/**
* Represents the different types of Mulch implemented in the mod.
*
*/
enum class MulchVariant(val duration: Int = -1) : StringIdentifiable {
COARSE,
GROWTH(3),
HUMID,
LOAMY,
PEAT,
RICH(3),
SANDY,
SURPRISE(3),
NONE;
enum class MulchVariant(val model: BakingOverride?, val duration: Int = -1) : StringIdentifiable {
COARSE(CobblemonBakingOverrides.COARSE_MULCH),
GROWTH(CobblemonBakingOverrides.GROWTH_MULCH, 5),
HUMID(CobblemonBakingOverrides.HUMID_MULCH),
LOAMY(CobblemonBakingOverrides.LOAMY_MULCH),
PEAT(CobblemonBakingOverrides.PEAT_MULCH),
RICH(CobblemonBakingOverrides.RICH_MULCH, 5),
SANDY(CobblemonBakingOverrides.SANDY_MULCH),
SURPRISE(CobblemonBakingOverrides.SURPRISE_MULCH, 3),
NONE(null);
override fun asString(): String {
return name.lowercase()
}
companion object {
const val GROWTH_TIME_MULTIPLIER = 0.5
}
}
@@ -8,7 +8,11 @@
package com.cobblemon.mod.common.api.pokemon.evolution
import com.cobblemon.mod.common.Cobblemon.playerData
import com.cobblemon.mod.common.CobblemonItems
import com.cobblemon.mod.common.CobblemonSounds
import com.cobblemon.mod.common.advancement.CobblemonCriteria
import com.cobblemon.mod.common.advancement.criterion.EvolvePokemonContext
import com.cobblemon.mod.common.api.events.CobblemonEvents
import com.cobblemon.mod.common.api.events.pokemon.evolution.EvolutionCompleteEvent
import com.cobblemon.mod.common.api.events.pokemon.evolution.EvolutionTestedEvent
@@ -17,7 +21,9 @@ import com.cobblemon.mod.common.api.moves.MoveTemplate
import com.cobblemon.mod.common.api.pokemon.PokemonProperties
import com.cobblemon.mod.common.api.pokemon.evolution.requirement.EvolutionRequirement
import com.cobblemon.mod.common.api.scheduling.afterOnServer
import com.cobblemon.mod.common.api.tags.CobblemonItemTags
import com.cobblemon.mod.common.entity.generic.GenericBedrockEntity
import com.cobblemon.mod.common.item.PokeBallItem
import com.cobblemon.mod.common.pokemon.Pokemon
import com.cobblemon.mod.common.pokemon.activestate.ShoulderedState
import com.cobblemon.mod.common.pokemon.evolution.variants.ItemInteractionEvolution
@@ -25,6 +31,7 @@ import com.cobblemon.mod.common.pokemon.evolution.variants.LevelUpEvolution
import com.cobblemon.mod.common.pokemon.evolution.variants.TradeEvolution
import com.cobblemon.mod.common.util.cobblemonResource
import com.cobblemon.mod.common.util.lang
import com.cobblemon.mod.common.util.party
import net.minecraft.item.ItemStack
import net.minecraft.sound.SoundCategory
@@ -44,6 +51,11 @@ interface Evolution : EvolutionLike {
*/
val result: PokemonProperties
/**
* The shed result of this evolution.
*/
val shedder: PokemonProperties?
/**
* If this evolution allows the user to choose when to start it or not.
*/
@@ -95,6 +107,36 @@ interface Evolution : EvolutionLike {
return true
}
fun shed(pokemon: Pokemon): Boolean {
val innerShedder = shedder ?: return false
val owner = pokemon.getOwnerPlayer() ?: return false
// If the player has at least one Pokeball in their inventory.
var pokeballStack: ItemStack? = null
if (!owner.isCreative) {
for (i in 0 until owner.inventory.size()) {
val stackI = owner.inventory.getStack(i)
if (stackI.isIn(CobblemonItemTags.POKE_BALLS)) {
pokeballStack = stackI
}
}
if (pokeballStack == null) return false
}
// If the player has at least one empty spot in their party.
val emptySlot = owner.party().getFirstAvailablePosition() ?: return false
// Add shed Pokemon to player's party
val shedPokemon = pokemon.clone()
shedPokemon.removeHeldItem()
innerShedder.apply(shedPokemon)
shedPokemon.caughtBall = ((pokeballStack?.item ?: CobblemonItems.POKE_BALL) as PokeBallItem).pokeBall
pokemon.storeCoordinates.get()?.store?.add(shedPokemon)
CobblemonCriteria.EVOLVE_POKEMON.trigger(owner, EvolvePokemonContext(pokemon.preEvolution!!.species.resourceIdentifier, shedPokemon.species.resourceIdentifier, playerData.get(owner).advancementData.totalEvolvedCount))
// Consume one of the balls
pokeballStack?.decrement(1)
return true
}
/**
* Starts this evolution as soon as possible.
@@ -155,6 +197,7 @@ interface Evolution : EvolutionLike {
// we want to instantly tick for example you might only evolve your Bulbasaur at level 34 so Venusaur should be immediately available
pokemon.lockedEvolutions.filterIsInstance<PassiveEvolution>().forEach { evolution -> evolution.attemptEvolution(pokemon) }
pokemon.getOwnerPlayer()?.playSound(CobblemonSounds.EVOLVING, SoundCategory.NEUTRAL, 1F, 1F)
this.shed(pokemon)
CobblemonEvents.EVOLUTION_COMPLETE.post(EvolutionCompleteEvent(pokemon, this))
}
@@ -10,12 +10,7 @@ package com.cobblemon.mod.common.api.spawning
import com.cobblemon.mod.common.Cobblemon.LOGGER
import com.cobblemon.mod.common.api.entity.Despawner
import com.cobblemon.mod.common.api.spawning.condition.AreaSpawningCondition
import com.cobblemon.mod.common.api.spawning.condition.BasicSpawningCondition
import com.cobblemon.mod.common.api.spawning.condition.GroundedSpawningCondition
import com.cobblemon.mod.common.api.spawning.condition.SpawningCondition
import com.cobblemon.mod.common.api.spawning.condition.SubmergedSpawningCondition
import com.cobblemon.mod.common.api.spawning.condition.SurfaceSpawningCondition
import com.cobblemon.mod.common.api.spawning.condition.*
import com.cobblemon.mod.common.api.spawning.context.AreaContextResolver
import com.cobblemon.mod.common.api.spawning.context.GroundedSpawningContext
import com.cobblemon.mod.common.api.spawning.context.LavafloorSpawningContext
@@ -91,6 +86,7 @@ object BestSpawner {
SpawningCondition.register(SubmergedSpawningCondition.NAME, SubmergedSpawningCondition::class.java)
SpawningCondition.register(GroundedSpawningCondition.NAME, GroundedSpawningCondition::class.java)
SpawningCondition.register(SurfaceSpawningCondition.NAME, SurfaceSpawningCondition::class.java)
SpawningCondition.register(SeafloorSpawningCondition.NAME, SeafloorSpawningCondition::class.java)
LOGGER.info("Loaded ${SpawningCondition.conditionTypes.size} spawning condition types.")
SpawningContextCalculator.register(GroundedSpawningContextCalculator)
@@ -100,7 +96,7 @@ object BestSpawner {
SpawningContextCalculator.register(SurfaceSpawningContextCalculator)
SpawningContext.register(name = "grounded", clazz = GroundedSpawningContext::class.java, defaultCondition = GroundedSpawningCondition.NAME)
SpawningContext.register(name = "seafloor", clazz = SeafloorSpawningContext::class.java, defaultCondition = GroundedSpawningCondition.NAME)
SpawningContext.register(name = "seafloor", clazz = SeafloorSpawningContext::class.java, defaultCondition = SeafloorSpawningCondition.NAME)
SpawningContext.register(name = "lavafloor", clazz = LavafloorSpawningContext::class.java, defaultCondition = GroundedSpawningCondition.NAME)
SpawningContext.register(name = "submerged", clazz = SubmergedSpawningContext::class.java, defaultCondition = SubmergedSpawningCondition.NAME)
SpawningContext.register(name = "surface", clazz = SurfaceSpawningContext::class.java, defaultCondition = SurfaceSpawningCondition.NAME)
@@ -0,0 +1,58 @@
/*
* Copyright (C) 2023 Cobblemon Contributors
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at https://mozilla.org/MPL/2.0/.
*/
package com.cobblemon.mod.common.api.spawning.condition
import com.cobblemon.mod.common.api.conditional.RegistryLikeCondition
import com.cobblemon.mod.common.api.spawning.context.SeafloorSpawningContext
import com.cobblemon.mod.common.util.Merger
import net.minecraft.block.Block
/**
* Base type for a spawning condition that applies to some kind of [SeafloorSpawningContext]. This
* can be extended for subclasses of [SeafloorSpawningContext].
*
* Borrowed the Grounded context code since it was unintentionally spawning Pokémon on the sea floor
* already. Seems to be working fine /shrug
*
* @author FrankTheFarmer
* @since May 22nd, 2024
*/
abstract class SeafloorTypeSpawningCondition<T : SeafloorSpawningContext> : AreaTypeSpawningCondition<T>() {
var neededBaseBlocks: MutableList<RegistryLikeCondition<Block>>? = null
override fun fits(ctx: T): Boolean {
return if (!super.fits(ctx)) {
false
} else if (minHeight != null && ctx.height < minHeight!!) {
return false
} else if (maxHeight != null && ctx.height > maxHeight!!) {
return false
} else !(neededBaseBlocks != null && neededBaseBlocks!!.none { it.fits(ctx.baseBlock.block, ctx.blockRegistry) })
}
override fun copyFrom(other: SpawningCondition<*>, merger: Merger) {
super.copyFrom(other, merger)
if (other is SeafloorTypeSpawningCondition) {
neededBaseBlocks = merger.merge(neededBaseBlocks, other.neededBaseBlocks)?.toMutableList()
}
}
}
/**
* A spawning condition for a [SeafloorSpawningContext].
*
* @author FrankTheFarmer
* @since May 22nd, 2024
*/
open class SeafloorSpawningCondition : SeafloorTypeSpawningCondition<SeafloorSpawningContext>() {
override fun contextClass() = SeafloorSpawningContext::class.java
companion object {
const val NAME = "seafloor"
}
}
@@ -49,7 +49,7 @@ open class AreaSpawningContext(
* This is not considering the provided state as what the entity would be on top of,
* but rather the space its hitbox would fill.
*/
open fun isSafeSpace(world: ServerWorld, pos: BlockPos, state: BlockState): Boolean = !state.isFullCube(world, pos)
open fun isSafeSpace(world: ServerWorld, pos: BlockPos, state: BlockState): Boolean = !state.isSolid
override fun postFilter(detail: SpawnDetail): Boolean {
if (!super.postFilter(detail)) {
@@ -34,7 +34,8 @@ class BestSpawnerConfig {
val contextWeights = mutableMapOf(
"grounded" to 1F,
"submerged" to 0.99F,
"surface" to 0.01F
"surface" to 0.01F,
"seafloor" to 1F
)
val buckets = mutableListOf(
SpawnBucket("common", 93.8F),
@@ -19,6 +19,7 @@ import com.cobblemon.mod.common.api.mulch.MulchVariant
import com.cobblemon.mod.common.api.mulch.Mulchable
import com.cobblemon.mod.common.api.tags.CobblemonBlockTags
import com.cobblemon.mod.common.block.entity.BerryBlockEntity
import dev.lambdaurora.lambdynlights.util.SodiumDynamicLightHandler.pos
import net.minecraft.block.Block
import net.minecraft.block.BlockRenderType
import net.minecraft.block.BlockState
@@ -87,22 +88,31 @@ class BerryBlock(private val berryIdentifier: Identifier, settings: Settings) :
init {
defaultState = this.stateManager.defaultState
.with(WAS_GENERATED, false)
.with(AGE, 0)
.with(MULCH, MulchVariant.NONE)
.with(AGE, 0)
.with(IS_ROOTED, false)
}
override fun grow(world: ServerWorld, random: Random, pos: BlockPos, state: BlockState) {
growHelper(world, random, pos, state, true)
}
//grow, but cooler
fun growHelper(world: ServerWorld, random: Random, pos: BlockPos, state: BlockState, boneMealed: Boolean = false) {
val berry = berry() ?: return
if (boneMealed && random.nextFloat() > berry.boneMealChance) return
val curAge = state.get(AGE)
val newAge = curAge + 1
if (newAge > FRUIT_AGE) return
val newState = state.with(AGE, newAge)
val treeEntity = world.getBlockEntity(pos) as BerryBlockEntity
if (curAge == MATURE_AGE) {
treeEntity.generateGrowthPoints(world, state, pos, null)
determineMutation(world, random, pos, state)
treeEntity.generateGrowthPoints(world, newState, pos, null)
determineMutation(world, random, pos, newState)
}
world.setBlockState(pos, newState, Block.NOTIFY_LISTENERS)
convertMulchToEntity(world, newState, pos)
treeEntity.goToNextStageTimer(FRUIT_AGE - curAge)
treeEntity.markDirty()
}
@@ -122,7 +132,7 @@ class BerryBlock(private val berryIdentifier: Identifier, settings: Settings) :
CobblemonEvents.BERRY_MUTATION_OFFER.post(BerryMutationOfferEvent(berry, world, state, pos, mutations)) { berryMutationOffer ->
if (berryMutationOffer.mutations.isNotEmpty()) {
var mutateChance = 125
if (getMulch(state) == MulchVariant.SURPRISE) {
if (getMulch(treeEntity) == MulchVariant.SURPRISE) {
mutateChance *= 4
treeEntity.decrementMulchDuration(world, pos, state)
}
@@ -143,7 +153,10 @@ class BerryBlock(private val berryIdentifier: Identifier, settings: Settings) :
state: BlockState,
variant: MulchVariant
): Boolean {
return getMulch(state) == MulchVariant.NONE && state.get(AGE) < FLOWER_AGE && world.getBlockState(pos.down()).isOf(Blocks.FARMLAND)
val underBlockState = world.getBlockState(pos.down())
val validSoil = state.get(IS_ROOTED) || underBlockState.isIn(CobblemonBlockTags.BERRY_SOIL)
val treeEntity = world.getBlockEntity(pos) as? BerryBlockEntity ?: return false
return getMulch(treeEntity) == MulchVariant.NONE && state.get(AGE) < FLOWER_AGE && validSoil
}
override fun applyMulch(
@@ -154,18 +167,15 @@ class BerryBlock(private val berryIdentifier: Identifier, settings: Settings) :
variant: MulchVariant
) {
val treeEntity = world.getBlockEntity(pos) as BerryBlockEntity
setMulch(world, pos, state, variant)
treeEntity.mulchDuration = variant.duration
treeEntity.setMulch(variant, world, state, pos)
world.playSound(null, pos, CobblemonSounds.MULCH_PLACE, SoundCategory.BLOCKS, 0.6F, 1F)
treeEntity.refreshTimers(pos)
}
@Deprecated("Deprecated in Java")
override fun onUse(state: BlockState, world: World, pos: BlockPos, player: PlayerEntity, hand: Hand, hit: BlockHitResult): ActionResult {
val treeEntity = world.getBlockEntity(pos) as BerryBlockEntity
if (player.getStackInHand(hand).item is ShovelItem && getMulch(state) != MulchVariant.NONE) {
setMulch(world, pos, state, MulchVariant.NONE)
treeEntity.markDirty()
if (player.getStackInHand(hand).item is ShovelItem && getMulch(treeEntity) != MulchVariant.NONE) {
treeEntity.setMulch(MulchVariant.NONE, world, state, pos)
world.playSound(null, pos, CobblemonSounds.MULCH_REMOVE, SoundCategory.BLOCKS, 0.6F, 1F)
this.spawnBreakParticles(world, player, pos, state.with(AGE, 0))
return ActionResult.SUCCESS
@@ -189,7 +199,7 @@ class BerryBlock(private val berryIdentifier: Identifier, settings: Settings) :
val below = world.getBlockState(pos.down())
return (state.get(WAS_GENERATED) && below.isIn(CobblemonBlockTags.BERRY_WILD_SOIL))
|| below.isIn(CobblemonBlockTags.BERRY_SOIL)
|| below.block is FarmlandBlock
|| state.get(IS_ROOTED)
}
@Deprecated("Deprecated in Java")
@@ -208,6 +218,7 @@ class BerryBlock(private val berryIdentifier: Identifier, settings: Settings) :
builder.add(AGE)
builder.add(WAS_GENERATED)
builder.add(MULCH)
builder.add(IS_ROOTED)
}
override fun getPickStack(world: BlockView?, pos: BlockPos?, state: BlockState?): ItemStack {
@@ -239,6 +250,7 @@ class BerryBlock(private val berryIdentifier: Identifier, settings: Settings) :
val AGE: IntProperty = IntProperty.of("age", 0, FRUIT_AGE)
val MULCH: EnumProperty<MulchVariant> = EnumProperty.of("mulch", MulchVariant::class.java)
val WAS_GENERATED: BooleanProperty = BooleanProperty.of("generated")
val IS_ROOTED: BooleanProperty = BooleanProperty.of("rooted")
// val PLANTED_SHAPE = VoxelShapes.union(
// VoxelShapes.cuboid(0.3125, -0.0625, 0.3125, 0.6875, 0.0, 0.6875),
// VoxelShapes.cuboid(0.375, 0.0, 0.375, 0.625, 0.0625, 0.625)
@@ -301,15 +313,14 @@ class BerryBlock(private val berryIdentifier: Identifier, settings: Settings) :
val TALL_MATURE = listOf(Box(0.0, -1.0, 0.0, 16.0, 24.0, 16.0))
fun getMulch(state: BlockState): MulchVariant {
if (!state.contains(MULCH)) {
return MulchVariant.NONE
}
return state.get(MULCH)
}
fun getMulch(entity: BerryBlockEntity) = entity.mulchVariant
fun setMulch(world: World, pos: BlockPos, state: BlockState, mulch: MulchVariant) {
world.setBlockState(pos, state.with(MULCH, mulch))
fun convertMulchToEntity(world: ServerWorld, state: BlockState, pos: BlockPos) {
val entity = world.getBlockEntity(pos) as? BerryBlockEntity ?: return
if (state.get(MULCH) != MulchVariant.NONE && state.get(MULCH) != entity.mulchVariant) {
entity.mulchVariant = state.get(MULCH)
world.setBlockState(pos, state.with(MULCH, MulchVariant.NONE))
}
}
}
}
@@ -0,0 +1,49 @@
/*
* Copyright (C) 2023 Cobblemon Contributors
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at https://mozilla.org/MPL/2.0/.
*/
package com.cobblemon.mod.common.block
import com.cobblemon.mod.common.block.entity.BerryBlockEntity
import com.cobblemon.mod.common.item.berry.BerryItem
import net.minecraft.block.AbstractBlock
import net.minecraft.block.Block
import net.minecraft.block.BlockState
import net.minecraft.entity.player.PlayerEntity
import net.minecraft.util.ActionResult
import net.minecraft.util.Hand
import net.minecraft.util.hit.BlockHitResult
import net.minecraft.util.math.BlockPos
import net.minecraft.world.World
/**
* @author Apion
* @since February 27, 2024
*/
class BindingSoilBlock(settings: Settings) : Block(settings) {
@Deprecated("Deprecated in Java")
override fun onUse(
state: BlockState,
world: World,
pos: BlockPos,
player: PlayerEntity,
hand: Hand,
hit: BlockHitResult
): ActionResult {
if (!world.isClient) {
val itemStack = player.getStackInHand(hand)
val item = itemStack.item
if (item is BerryItem) {
world.setBlockState(pos, item.block.defaultState.with(BerryBlock.IS_ROOTED, true))
if (!player.isCreative) {
itemStack.decrement(1)
}
}
}
return ActionResult.SUCCESS
}
}
@@ -131,7 +131,6 @@ class GildedChestBlock(settings: Settings, val type: Type = Type.RED) : BlockWit
if (isFake() && (player is ServerPlayerEntity)) {
spawnPokemon(world, pos, state, player)
}
world.setBlockState(pos, if (state.fluidState.isOf(Fluids.WATER)) Blocks.WATER.defaultState else Blocks.AIR.defaultState)
val bEntity = world.getBlockEntity(pos) as? GildedChestBlockEntity
bEntity?.markRemoved()
} else super.onBreak(world, pos, state, player)
@@ -17,7 +17,6 @@ import com.cobblemon.mod.common.api.events.berry.BerryHarvestEvent
import com.cobblemon.mod.common.api.mulch.MulchVariant
import com.cobblemon.mod.common.block.BerryBlock
import com.cobblemon.mod.common.block.BerryBlock.Companion.getMulch
import com.cobblemon.mod.common.block.BerryBlock.Companion.setMulch
import net.minecraft.block.Block
import net.minecraft.block.BlockState
import net.minecraft.block.entity.BlockEntity
@@ -43,8 +42,8 @@ class BerryBlockEntity(pos: BlockPos, state: BlockState) : BlockEntity(Cobblemon
lateinit var berryIdentifier: Identifier
private val ticksPerMinute = 1200
var renderState: RenderState? = null
//The time left for the tree to grow to stage 5
var growthTimer: Int = 72000
//The time left for the tree until its either age 3 or age 5 (check block state, if we are at age 0<x<3 unti 3 otherwise until 5)
var growthTimer: Int = 0
set(value) {
if (value < 0) {
throw IllegalArgumentException("You cannot set the growth time to less than zero")
@@ -55,7 +54,7 @@ class BerryBlockEntity(pos: BlockPos, state: BlockState) : BlockEntity(Cobblemon
field = value
}
//The time left for the tree to grow to the next stage
var stageTimer: Int = growthTimer / BerryBlock.MATURE_AGE
var stageTimer: Int = 0
set(value) {
if (field != value) {
this.markDirty()
@@ -63,6 +62,7 @@ class BerryBlockEntity(pos: BlockPos, state: BlockState) : BlockEntity(Cobblemon
field = value
}
private val growthPoints = arrayListOf<Identifier>()
var mulchVariant = MulchVariant.NONE
/**
* The idea behind the growth point sequence is it's a 16-long string of
@@ -85,20 +85,6 @@ class BerryBlockEntity(pos: BlockPos, state: BlockState) : BlockEntity(Cobblemon
markDirty()
}
fun decrementMulchDuration(world: World, pos: BlockPos, state: BlockState) {
val currentMulch = getMulch(state)
if (currentMulch == MulchVariant.NONE || currentMulch.duration == -1) {
return
}
val newDuration = mulchDuration - 1
mulchDuration = if (newDuration <= 0) {
setMulch(world, pos, state, MulchVariant.NONE)
0
} else {
newDuration
}
}
constructor(pos: BlockPos, state: BlockState, berryIdentifier: Identifier): this(pos, state) {
this.berryIdentifier = berryIdentifier
resetGrowTimers(pos, state)
@@ -107,6 +93,31 @@ class BerryBlockEntity(pos: BlockPos, state: BlockState) : BlockEntity(Cobblemon
}
}
fun decrementMulchDuration(world: World, pos: BlockPos, state: BlockState) {
if (mulchVariant == MulchVariant.NONE || mulchVariant.duration == -1) {
return
}
val newDuration = mulchDuration - 1
mulchDuration = if (newDuration <= 0) {
mulchVariant = MulchVariant.NONE
this.markDirty()
world.updateListeners(pos, state, state, Block.NOTIFY_LISTENERS)
0
} else {
newDuration
}
}
fun setMulch(mulch: MulchVariant, world: World, state: BlockState, pos: BlockPos) {
this.mulchVariant = mulch
this.mulchDuration = mulch.duration
refreshTimers(pos)
world.updateListeners(pos, state, state, Block.NOTIFY_LISTENERS)
this.markDirty()
}
//This function basically runs twice when the berry tree is growing, once when it starts, once when it hits age 3
//Why dont we just go 0-5? Design thinks its annoying to balance the numbers using 0-5 and 3-5
fun resetGrowTimers(pos: BlockPos, state: BlockState) {
val curAge = state.get(BerryBlock.AGE)
if (curAge == 5) {
@@ -119,12 +130,15 @@ class BerryBlockEntity(pos: BlockPos, state: BlockState) : BlockEntity(Cobblemon
val upperGrowthLimit = (if (curAge == 0) berry.growthTime.last else berry.refreshRate.last) * multiplier / 10
val growthRange = lowerGrowthLimit..upperGrowthLimit
this.growthTimer = this.applyMulchModifier(pos, growthRange.random() * ticksPerMinute)
this.goToNextStageTimer(BerryBlock.FRUIT_AGE - curAge)
this.growthTimer = this.applyMulchModifier(pos, growthRange.random() * ticksPerMinute, true)
val stagesLeft = if (curAge < 3) BerryBlock.MATURE_AGE - curAge else BerryBlock.FRUIT_AGE - curAge
this.goToNextStageTimer(stagesLeft)
}
fun goToNextStageTimer(stagesLeft: Int) {
val avgStageTime = growthTimer / stagesLeft
//A number between 80% and 100% the average stage time
//So stages have some variance
stageTimer = this.world?.random?.nextBetween((avgStageTime * 8) / 10, avgStageTime) ?:
(((Math.random() * 0.2) + 0.8) * avgStageTime).toInt()
growthTimer -= stageTimer
@@ -137,7 +151,7 @@ class BerryBlockEntity(pos: BlockPos, state: BlockState) : BlockEntity(Cobblemon
* @param timer Timer to be modified
* @return The modified timer
*/
private fun applyMulchModifier(pos: BlockPos, timer: Int): Int {
private fun applyMulchModifier(pos: BlockPos, timer: Int, decrementMulch: Boolean = false): Int {
val state = world?.getBlockState(pos) ?: return timer
val curAge = state.get(BerryBlock.AGE)
@@ -145,11 +159,15 @@ class BerryBlockEntity(pos: BlockPos, state: BlockState) : BlockEntity(Cobblemon
return timer
}
if (getMulch(state) != MulchVariant.GROWTH) {
if (mulchVariant != MulchVariant.GROWTH) {
return timer
}
return (timer * 0.66).toInt()
if (decrementMulch) {
world?.let {
decrementMulchDuration(it, pos, state)
}
}
return (timer * MulchVariant.GROWTH_TIME_MULTIPLIER).toInt()
}
/**
@@ -157,8 +175,8 @@ class BerryBlockEntity(pos: BlockPos, state: BlockState) : BlockEntity(Cobblemon
* @param pos The position of the block
*/
fun refreshTimers(pos: BlockPos) {
this.growthTimer = this.applyMulchModifier(pos, growthTimer)
this.stageTimer = this.applyMulchModifier(pos, stageTimer)
this.growthTimer = this.applyMulchModifier(pos, growthTimer, false)
this.stageTimer = this.applyMulchModifier(pos, stageTimer, false)
}
/**
@@ -248,6 +266,9 @@ class BerryBlockEntity(pos: BlockPos, state: BlockState) : BlockEntity(Cobblemon
if (nbt.contains(GROWTH_POINTS_SEQUENCE)) {
growthPointSequence = nbt.getString(GROWTH_POINTS_SEQUENCE)
}
if (nbt.contains(MULCH_VARIANT)) {
mulchVariant = MulchVariant.valueOf(nbt.getString(MULCH_VARIANT))
}
this.renderState?.needsRebuild = true
}
@@ -260,6 +281,7 @@ class BerryBlockEntity(pos: BlockPos, state: BlockState) : BlockEntity(Cobblemon
nbt.putString(BERRY, berryIdentifier.toString())
nbt.putInt(MULCH_DURATION, mulchDuration)
nbt.putString(GROWTH_POINTS_SEQUENCE, growthPointSequence)
nbt.putString(MULCH_VARIANT, mulchVariant.toString())
}
override fun markDirty() {
@@ -323,11 +345,12 @@ class BerryBlockEntity(pos: BlockPos, state: BlockState) : BlockEntity(Cobblemon
companion object {
internal val TICKER = BlockEntityTicker<BerryBlockEntity> { world, pos, state, blockEntity ->
if (world.isClient) return@BlockEntityTicker
if (state.get(BerryBlock.IS_ROOTED)) return@BlockEntityTicker
if (blockEntity.stageTimer >= 0) {
blockEntity.stageTimer--
}
if (blockEntity.stageTimer == 0) {
(state.block as BerryBlock).grow(world as ServerWorld, world.random, pos, state)
(state.block as BerryBlock).growHelper(world as ServerWorld, world.random, pos, state)
}
}
//private const val LIFE_CYCLES = "life_cycles"
@@ -337,6 +360,7 @@ class BerryBlockEntity(pos: BlockPos, state: BlockState) : BlockEntity(Cobblemon
private const val STAGE_TIMER = "StageTimer"
private const val BERRY = "Berry"
private const val MULCH_DURATION = "MulchDuration"
private const val MULCH_VARIANT = "MulchVariant"
}
}
@@ -62,6 +62,46 @@ object CobblemonBakingOverrides {
cobblemonModel("restoration_tank_connector", "none")
)
val COARSE_MULCH = registerOverride(
cobblemonResource("block/coarse_mulch"),
cobblemonModel("coarse_mulch", "none")
)
val GROWTH_MULCH = registerOverride(
cobblemonResource("block/growth_mulch"),
cobblemonModel("growth_mulch", "none")
)
val HUMID_MULCH = registerOverride(
cobblemonResource("block/humid_mulch"),
cobblemonModel("humid_mulch", "none")
)
val LOAMY_MULCH = registerOverride(
cobblemonResource("block/loamy_mulch"),
cobblemonModel("loamy_mulch", "none")
)
val PEAT_MULCH = registerOverride(
cobblemonResource("block/peat_mulch"),
cobblemonModel("peat_mulch", "none")
)
val RICH_MULCH = registerOverride(
cobblemonResource("block/rich_mulch"),
cobblemonModel("rich_mulch", "none")
)
val SANDY_MULCH = registerOverride(
cobblemonResource("block/sandy_mulch"),
cobblemonModel("sandy_mulch", "none")
)
val SURPRISE_MULCH = registerOverride(
cobblemonResource("block/surprise_mulch"),
cobblemonModel("surprise_mulch", "none")
)
fun registerOverride(modelLocation: Identifier, modelIdentifier: ModelIdentifier): BakingOverride {
val result = BakingOverride(modelLocation, modelIdentifier)
models.add(result)
@@ -16,6 +16,7 @@ class BerryBlockEntityRenderState : BerryBlockEntity.RenderState {
override var needsRebuild = true
val vbo: VertexBuffer = VertexBuffer(VertexBuffer.Usage.STATIC)
var vboLightLevel: Int = 0
var drawVbo: Boolean = false
override fun close() {
vbo.close()
@@ -23,6 +23,7 @@ import net.minecraft.client.gl.ShaderProgram
import net.minecraft.client.gl.VertexBuffer
import net.minecraft.client.render.GameRenderer
import net.minecraft.client.render.LightmapTextureManager
import net.minecraft.client.render.RenderLayer
import net.minecraft.client.render.Tessellator
import net.minecraft.client.render.VertexConsumerProvider
import net.minecraft.client.render.VertexFormat
@@ -33,6 +34,7 @@ import net.minecraft.client.util.math.MatrixStack
import net.minecraft.util.math.Box
import net.minecraft.util.math.Vec3d
import org.joml.Matrix4f
import org.joml.Vector3f
class BerryBlockRenderer(private val context: BlockEntityRendererFactory.Context) : BlockEntityRenderer<BerryBlockEntity> {
@@ -45,33 +47,88 @@ class BerryBlockRenderer(private val context: BlockEntityRendererFactory.Context
override fun render(entity: BerryBlockEntity, tickDelta: Float, matrices: MatrixStack, vertexConsumers: VertexConsumerProvider, light: Int, overlay: Int) {
if (!isInRenderDistance(entity, entity.pos.toVec3d())) return
val blockState = entity.cachedState
val age = blockState.get(BerryBlock.AGE)
if (age <= BerryBlock.MATURE_AGE) {
return
}
if (entity.renderState == null) {
entity.renderState = BerryBlockEntityRenderState()
}
val renderState = entity.renderState as BerryBlockEntityRenderState
if (renderState.needsRebuild || renderState.vboLightLevel != light) {
renderToBuffer(entity, light, overlay, renderState.vbo)
renderToBuffer(entity, light, overlay, renderState)
renderState.vboLightLevel = light
(entity.renderState as BerryBlockEntityRenderState).needsRebuild = false
}
if (renderState.drawVbo) {
matrices.push()
CobblemonRenderLayers.BERRY_LAYER.startDrawing()
renderState.vbo.bind()
renderState.vbo.draw(
matrices.peek().positionMatrix.mul(RenderSystem.getModelViewMatrix()),
RenderSystem.getProjectionMatrix(),
GameRenderer.getRenderTypeCutoutProgram()
)
VertexBuffer.unbind()
CobblemonRenderLayers.BERRY_LAYER.endDrawing()
matrices.pop()
}
drawMulch(matrices, vertexConsumers, entity, light, overlay)
}
private fun drawMulch(
matrices: MatrixStack,
vertexConsumers: VertexConsumerProvider,
entity: BerryBlockEntity,
light: Int,
overlay: Int
) {
matrices.push()
CobblemonRenderLayers.BERRY_LAYER.startDrawing()
renderState.vbo.bind()
renderState.vbo.draw(
matrices.peek().positionMatrix.mul(RenderSystem.getModelViewMatrix()),
RenderSystem.getProjectionMatrix(),
GameRenderer.getRenderTypeCutoutProgram()
)
VertexBuffer.unbind()
CobblemonRenderLayers.BERRY_LAYER.endDrawing()
//Mulch is rendered on a different layer than the actual berries so
val mulchBuf = vertexConsumers.getBuffer(RenderLayer.getCutout())
val model = entity.mulchVariant.model
model?.let {
it.getModel().getQuads(entity.cachedState, null, entity.world?.random).forEach { quad ->
mulchBuf.quad(matrices.peek(), quad, 1F, 1F, 1F, light, overlay)
}
}
matrices.pop()
}
fun renderToBuffer(entity: BerryBlockEntity, light: Int, overlay: Int, buffer: VertexBuffer) {
fun renderToBuffer(entity: BerryBlockEntity, light: Int, overlay: Int, renderState: BerryBlockEntityRenderState) {
if (entity.cachedState.get(BerryBlock.AGE) == 0) {
renderBabyToBuffer(entity, light, overlay, renderState.vbo)
renderState.drawVbo = true
}
else if (entity.cachedState.get(BerryBlock.AGE) > BerryBlock.MATURE_AGE){
renderAdultToBuffer(entity, light, overlay, renderState.vbo)
renderState.drawVbo = true
}
else {
renderState.drawVbo = false
}
}
fun renderBabyToBuffer(entity: BerryBlockEntity, light: Int, overlay: Int, buffer: VertexBuffer) {
val bufferBuilder = Tessellator.getInstance().buffer
bufferBuilder.begin(CobblemonRenderLayers.BERRY_LAYER.drawMode, CobblemonRenderLayers.BERRY_LAYER.vertexFormat)
val berry = entity.berry() ?: return
val model = BerryModelRepository.modelOf(berry.fruitModelIdentifier) ?: return
val pos = berry.stageOnePositioning.position
model.setPosition(Axis.X_AXIS.ordinal, pos.x.toFloat())
model.setPosition(Axis.Y_AXIS.ordinal, pos.y.toFloat())
model.setPosition(Axis.Z_AXIS.ordinal, pos.z.toFloat())
val rot = berry.stageOnePositioning.rotation
model.setAngles(
Math.toRadians(180 - rot.x).toFloat(),
Math.toRadians(180 + rot.y).toFloat(),
Math.toRadians(rot.z).toFloat()
)
model.render(MatrixStack(), bufferBuilder, light, overlay)
val bufferBuilderFinal = bufferBuilder.end()
buffer.bind()
buffer.upload(bufferBuilderFinal)
VertexBuffer.unbind()
}
fun renderAdultToBuffer(entity: BerryBlockEntity, light: Int, overlay: Int, buffer: VertexBuffer) {
val blockState = entity.cachedState
val age = blockState.get(BerryBlock.AGE)
if (age <= BerryBlock.MATURE_AGE) {
@@ -24,7 +24,6 @@ import com.mojang.brigadier.context.CommandContext
import net.minecraft.server.command.CommandManager
import net.minecraft.server.command.CommandManager.literal
import net.minecraft.server.command.ServerCommandSource
import net.minecraft.text.Text
/**
* Spawn Pokemon From Surrounding Pool
@@ -84,14 +83,15 @@ object SpawnPokemonFromPool {
val spawnAction = result.second.doSpawn(ctx = result.first)
spawnAction.future.thenApply {
if (it is EntitySpawnResult) {
for (entity in it.entities) {
player.sendMessage(commandLang("spawnpokemonfrompool.success", entity.displayName).green())
spawnAction.future
.thenApply {
if (it is EntitySpawnResult) {
for (entity in it.entities) {
player.sendMessage(commandLang("spawnpokemonfrompool", entity.displayName).green())
}
}
}
}
spawnAction.complete()
spawnsTriggered++
}
@@ -171,9 +171,6 @@ class CobblemonConfig {
@NodeCategory(Category.Spawning)
var baseApricornTreeGenerationChance = 0.1F
@NodeCategory(Category.Pokemon)
var ninjaskCreatesShedinja = true
@NodeCategory(Category.Pokemon)
var displayEntityLevelLabel = true
@@ -235,7 +235,7 @@ class PokemonServerDelegate : PokemonSideDelegate {
}
if (entity.deathTime == 60) {
if (entity.owner == null) {
if (entity.pokemon.isWild()) {
entity.world.sendEntityStatus(entity, 60.toByte()) // Sends smoke effect
if(entity.world.gameRules.getBoolean(CobblemonGameRules.DO_POKEMON_LOOT)) {
(entity.drops ?: entity.pokemon.form.drops).drop(entity, entity.world as ServerWorld, entity.pos, entity.killer)
@@ -10,10 +10,9 @@ package com.cobblemon.mod.common.integration.jei.berry
import com.cobblemon.mod.common.CobblemonItems
import com.cobblemon.mod.common.integration.jei.CobblemonJeiProvider
import com.cobblemon.mod.common.item.BerryItem
import com.cobblemon.mod.common.item.berry.BerryItem
import mezz.jei.api.registration.IRecipeCategoryRegistration
import mezz.jei.api.registration.IRecipeRegistration
import net.minecraft.item.ItemStack
class BerryMutationProvider : CobblemonJeiProvider {
override fun registerCategory(registration: IRecipeCategoryRegistration) {
@@ -8,7 +8,7 @@
package com.cobblemon.mod.common.integration.jei.berry
import com.cobblemon.mod.common.item.BerryItem
import com.cobblemon.mod.common.item.berry.BerryItem
//Dont make these ItemStacks, they do not have consistent hash codes, breaks stuff
data class BerryMutationRecipe(
@@ -6,7 +6,7 @@
* file, You can obtain one at https://mozilla.org/MPL/2.0/.
*/
package com.cobblemon.mod.common.item
package com.cobblemon.mod.common.item.berry
import com.cobblemon.mod.common.block.BerryBlock
import net.minecraft.item.AliasedBlockItem
@@ -14,7 +14,6 @@ import com.cobblemon.mod.common.CobblemonSounds
import com.cobblemon.mod.common.api.item.PokemonSelectingItem
import com.cobblemon.mod.common.api.pokemon.stats.Stat
import com.cobblemon.mod.common.block.BerryBlock
import com.cobblemon.mod.common.item.BerryItem
import com.cobblemon.mod.common.pokemon.Pokemon
import com.cobblemon.mod.common.util.genericRuntime
import com.cobblemon.mod.common.util.resolveInt
@@ -15,7 +15,6 @@ import com.cobblemon.mod.common.api.battles.model.actor.BattleActor
import com.cobblemon.mod.common.api.item.PokemonSelectingItem
import com.cobblemon.mod.common.battles.pokemon.BattlePokemon
import com.cobblemon.mod.common.block.BerryBlock
import com.cobblemon.mod.common.item.BerryItem
import com.cobblemon.mod.common.item.battle.BagItem
import com.cobblemon.mod.common.pokemon.Pokemon
import com.cobblemon.mod.common.util.genericRuntime
@@ -16,7 +16,6 @@ import com.cobblemon.mod.common.api.item.PokemonAndMoveSelectingItem
import com.cobblemon.mod.common.api.moves.Move
import com.cobblemon.mod.common.battles.pokemon.BattlePokemon
import com.cobblemon.mod.common.block.BerryBlock
import com.cobblemon.mod.common.item.BerryItem
import com.cobblemon.mod.common.item.battle.BagItem
import com.cobblemon.mod.common.pokemon.Pokemon
import com.cobblemon.mod.common.util.genericRuntime
@@ -15,7 +15,6 @@ import com.cobblemon.mod.common.api.battles.model.actor.BattleActor
import com.cobblemon.mod.common.api.item.PokemonSelectingItem
import com.cobblemon.mod.common.battles.pokemon.BattlePokemon
import com.cobblemon.mod.common.block.BerryBlock
import com.cobblemon.mod.common.item.BerryItem
import com.cobblemon.mod.common.item.battle.BagItem
import com.cobblemon.mod.common.pokemon.Pokemon
import com.cobblemon.mod.common.util.genericRuntime
@@ -15,7 +15,6 @@ import com.cobblemon.mod.common.api.item.PokemonSelectingItem
import com.cobblemon.mod.common.api.pokemon.status.Status
import com.cobblemon.mod.common.battles.pokemon.BattlePokemon
import com.cobblemon.mod.common.block.BerryBlock
import com.cobblemon.mod.common.item.BerryItem
import com.cobblemon.mod.common.item.battle.BagItem
import com.cobblemon.mod.common.pokemon.Pokemon
import net.minecraft.entity.player.PlayerEntity
@@ -14,7 +14,6 @@ import com.cobblemon.mod.common.api.battles.model.actor.BattleActor
import com.cobblemon.mod.common.api.item.PokemonSelectingItem
import com.cobblemon.mod.common.battles.pokemon.BattlePokemon
import com.cobblemon.mod.common.block.BerryBlock
import com.cobblemon.mod.common.item.BerryItem
import com.cobblemon.mod.common.item.battle.BagItem
import com.cobblemon.mod.common.pokemon.Pokemon
import net.minecraft.item.ItemStack
@@ -253,6 +253,37 @@ object CobblemonItemGroups {
entries.add(CobblemonItems.BLACK_TUMBLESTONE_BLOCK)
entries.add(CobblemonItems.SKY_TUMBLESTONE_BLOCK)
entries.add(CobblemonItems.POLISHED_TUMBLESTONE)
entries.add(CobblemonItems.POLISHED_TUMBLESTONE_STAIRS)
entries.add(CobblemonItems.POLISHED_TUMBLESTONE_SLAB)
entries.add(CobblemonItems.POLISHED_TUMBLESTONE_WALL)
entries.add(CobblemonItems.CHISELED_POLISHED_TUMBLESTONE)
entries.add(CobblemonItems.TUMBLESTONE_BRICKS)
entries.add(CobblemonItems.TUMBLESTONE_BRICK_STAIRS)
entries.add(CobblemonItems.TUMBLESTONE_BRICK_SLAB)
entries.add(CobblemonItems.TUMBLESTONE_BRICK_WALL)
entries.add(CobblemonItems.CHISELED_TUMBLESTONE_BRICKS)
entries.add(CobblemonItems.POLISHED_BLACK_TUMBLESTONE)
entries.add(CobblemonItems.POLISHED_BLACK_TUMBLESTONE_STAIRS)
entries.add(CobblemonItems.POLISHED_BLACK_TUMBLESTONE_SLAB)
entries.add(CobblemonItems.POLISHED_BLACK_TUMBLESTONE_WALL)
entries.add(CobblemonItems.CHISELED_POLISHED_BLACK_TUMBLESTONE)
entries.add(CobblemonItems.BLACK_TUMBLESTONE_BRICKS)
entries.add(CobblemonItems.BLACK_TUMBLESTONE_BRICK_STAIRS)
entries.add(CobblemonItems.BLACK_TUMBLESTONE_BRICK_SLAB)
entries.add(CobblemonItems.BLACK_TUMBLESTONE_BRICK_WALL)
entries.add(CobblemonItems.CHISELED_BLACK_TUMBLESTONE_BRICKS)
entries.add(CobblemonItems.POLISHED_SKY_TUMBLESTONE)
entries.add(CobblemonItems.POLISHED_SKY_TUMBLESTONE_STAIRS)
entries.add(CobblemonItems.POLISHED_SKY_TUMBLESTONE_SLAB)
entries.add(CobblemonItems.POLISHED_SKY_TUMBLESTONE_WALL)
entries.add(CobblemonItems.CHISELED_POLISHED_SKY_TUMBLESTONE)
entries.add(CobblemonItems.SKY_TUMBLESTONE_BRICKS)
entries.add(CobblemonItems.SKY_TUMBLESTONE_BRICK_STAIRS)
entries.add(CobblemonItems.SKY_TUMBLESTONE_BRICK_SLAB)
entries.add(CobblemonItems.SKY_TUMBLESTONE_BRICK_WALL)
entries.add(CobblemonItems.CHISELED_SKY_TUMBLESTONE_BRICKS)
entries.add(CobblemonItems.DAWN_STONE_ORE)
entries.add(CobblemonItems.DEEPSLATE_DAWN_STONE_ORE)
entries.add(CobblemonItems.DUSK_STONE_ORE)
@@ -31,6 +31,7 @@ import net.minecraft.world.World
open class BlockClickEvolution(
override val id: String,
override val result: PokemonProperties,
override val shedder: PokemonProperties?,
override val requiredContext: RegistryLikeCondition<Block>,
override var optional: Boolean,
override var consumeHeldItem: Boolean,
@@ -40,6 +41,7 @@ open class BlockClickEvolution(
constructor(): this(
id = "id",
result = PokemonProperties(),
shedder = null,
requiredContext = BlockIdentifierCondition(Identifier("minecraft", "dirt")),
optional = true,
consumeHeldItem = true,
@@ -19,6 +19,7 @@ internal class DummyEvolution : Evolution {
override val id = "dummy"
override val result: PokemonProperties = PokemonProperties()
override val shedder: PokemonProperties? = null
override var optional = false
override var consumeHeldItem = false
override val requirements: MutableSet<EvolutionRequirement> = mutableSetOf()
@@ -32,6 +32,7 @@ import net.minecraft.world.World
open class ItemInteractionEvolution(
override val id: String,
override val result: PokemonProperties,
override val shedder: PokemonProperties?,
override val requiredContext: NbtItemPredicate,
override var optional: Boolean,
override var consumeHeldItem: Boolean,
@@ -41,6 +42,7 @@ open class ItemInteractionEvolution(
constructor(): this(
id = "id",
result = PokemonProperties(),
shedder = null,
requiredContext = NbtItemPredicate(ItemIdentifierCondition(Identifier("minecraft", "fish")), NbtPredicate.ANY),
optional = true,
consumeHeldItem = true,
@@ -25,6 +25,7 @@ import com.cobblemon.mod.common.pokemon.Pokemon
open class LevelUpEvolution(
override val id: String,
override val result: PokemonProperties,
override val shedder: PokemonProperties?,
override var optional: Boolean,
override var consumeHeldItem: Boolean,
override val requirements: MutableSet<EvolutionRequirement>,
@@ -36,6 +37,7 @@ open class LevelUpEvolution(
constructor(): this(
id = "id",
result = PokemonProperties(),
shedder = null,
optional = true,
consumeHeldItem = true,
requirements = mutableSetOf(),
@@ -26,6 +26,7 @@ import com.cobblemon.mod.common.pokemon.Pokemon
open class TradeEvolution(
override val id: String,
override val result: PokemonProperties,
override val shedder: PokemonProperties?,
override val requiredContext: PokemonProperties,
override var optional: Boolean,
override var consumeHeldItem: Boolean,
@@ -35,6 +36,7 @@ open class TradeEvolution(
constructor(): this(
id = "id",
result = PokemonProperties(),
shedder = null,
requiredContext = PokemonProperties(),
optional = true,
consumeHeldItem = true,
@@ -1,5 +1,5 @@
{
"maxScale": 1.0,
"maxScale": 0.8,
"yTranslation": 0.1,
"yGrowthPoint": 0.5625,
"animations": [
@@ -2,7 +2,14 @@
"multipart": [
{
"when": {
"age": "0"
"AND": [
{
"age": 0
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/planted",
@@ -11,16 +18,62 @@
},
{
"when": {
"age": "1"
"AND": [
{
"age": 0
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/sprout",
"model": "cobblemon:block/berries/planted_bound",
"uvlock": false
}
},
{
"when": {
"age": "2"
"AND": [
{
"age": 1
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/aguav_sprout",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 1
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/aguav_sprout",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 2
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/aguav_young",
@@ -29,7 +82,30 @@
},
{
"when": {
"age": "3"
"AND": [
{
"age": 2
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/aguav_young",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 3
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/aguav_mature",
@@ -38,7 +114,14 @@
},
{
"when": {
"age": "4"
"AND": [
{
"age": 3
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/aguav_mature",
@@ -47,7 +130,62 @@
},
{
"when": {
"age": "5"
"AND": [
{
"age": 4
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/aguav_mature",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 4
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/aguav_mature",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 5
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/aguav_mature",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 5
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/aguav_mature",
@@ -2,7 +2,14 @@
"multipart": [
{
"when": {
"age": "0"
"AND": [
{
"age": 0
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/planted",
@@ -11,16 +18,62 @@
},
{
"when": {
"age": "1"
"AND": [
{
"age": 0
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/sprout",
"model": "cobblemon:block/berries/planted_bound",
"uvlock": false
}
},
{
"when": {
"age": "2"
"AND": [
{
"age": 1
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/apicot_sprout",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 1
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/apicot_sprout",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 2
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/apicot_young",
@@ -29,7 +82,30 @@
},
{
"when": {
"age": "3"
"AND": [
{
"age": 2
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/apicot_young",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 3
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/apicot_mature",
@@ -38,7 +114,14 @@
},
{
"when": {
"age": "4"
"AND": [
{
"age": 3
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/apicot_mature",
@@ -47,7 +130,62 @@
},
{
"when": {
"age": "5"
"AND": [
{
"age": 4
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/apicot_mature",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 4
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/apicot_mature",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 5
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/apicot_mature",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 5
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/apicot_mature",
@@ -2,7 +2,14 @@
"multipart": [
{
"when": {
"age": "0"
"AND": [
{
"age": 0
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/planted",
@@ -11,16 +18,62 @@
},
{
"when": {
"age": "1"
"AND": [
{
"age": 0
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/sprout",
"model": "cobblemon:block/berries/planted_bound",
"uvlock": false
}
},
{
"when": {
"age": "2"
"AND": [
{
"age": 1
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/aspear_sprout",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 1
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/aspear_sprout",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 2
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/aspear_young",
@@ -29,7 +82,30 @@
},
{
"when": {
"age": "3"
"AND": [
{
"age": 2
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/aspear_young",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 3
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/aspear_mature",
@@ -38,7 +114,14 @@
},
{
"when": {
"age": "4"
"AND": [
{
"age": 3
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/aspear_mature",
@@ -47,7 +130,62 @@
},
{
"when": {
"age": "5"
"AND": [
{
"age": 4
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/aspear_mature",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 4
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/aspear_mature",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 5
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/aspear_mature",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 5
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/aspear_mature",
@@ -2,7 +2,14 @@
"multipart": [
{
"when": {
"age": "0"
"AND": [
{
"age": 0
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/planted",
@@ -11,16 +18,62 @@
},
{
"when": {
"age": "1"
"AND": [
{
"age": 0
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/sprout",
"model": "cobblemon:block/berries/planted_bound",
"uvlock": false
}
},
{
"when": {
"age": "2"
"AND": [
{
"age": 1
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/babiri_sprout",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 1
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/babiri_sprout",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 2
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/babiri_young",
@@ -29,7 +82,30 @@
},
{
"when": {
"age": "3"
"AND": [
{
"age": 2
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/babiri_young",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 3
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/babiri_mature",
@@ -38,7 +114,14 @@
},
{
"when": {
"age": "4"
"AND": [
{
"age": 3
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/babiri_mature",
@@ -47,7 +130,62 @@
},
{
"when": {
"age": "5"
"AND": [
{
"age": 4
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/babiri_mature",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 4
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/babiri_mature",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 5
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/babiri_mature",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 5
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/babiri_mature",
@@ -2,7 +2,14 @@
"multipart": [
{
"when": {
"age": "0"
"AND": [
{
"age": 0
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/planted",
@@ -11,16 +18,62 @@
},
{
"when": {
"age": "1"
"AND": [
{
"age": 0
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/sprout",
"model": "cobblemon:block/berries/planted_bound",
"uvlock": false
}
},
{
"when": {
"age": "2"
"AND": [
{
"age": 1
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/belue_sprout",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 1
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/belue_sprout",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 2
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/belue_young",
@@ -29,7 +82,30 @@
},
{
"when": {
"age": "3"
"AND": [
{
"age": 2
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/belue_young",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 3
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/belue_mature",
@@ -38,7 +114,14 @@
},
{
"when": {
"age": "4"
"AND": [
{
"age": 3
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/belue_mature",
@@ -47,7 +130,62 @@
},
{
"when": {
"age": "5"
"AND": [
{
"age": 4
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/belue_mature",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 4
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/belue_mature",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 5
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/belue_mature",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 5
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/belue_mature",
@@ -0,0 +1,13 @@
{
"variants": {
"type=bottom": {
"model": "cobblemon:block/black_tumblestone_brick_slab"
},
"type=double": {
"model": "cobblemon:block/black_tumblestone_bricks"
},
"type=top": {
"model": "cobblemon:block/black_tumblestone_brick_slab_top"
}
}
}
@@ -0,0 +1,209 @@
{
"variants": {
"facing=east,half=bottom,shape=inner_left": {
"model": "cobblemon:block/black_tumblestone_brick_stairs_inner",
"uvlock": true,
"y": 270
},
"facing=east,half=bottom,shape=inner_right": {
"model": "cobblemon:block/black_tumblestone_brick_stairs_inner"
},
"facing=east,half=bottom,shape=outer_left": {
"model": "cobblemon:block/black_tumblestone_brick_stairs_outer",
"uvlock": true,
"y": 270
},
"facing=east,half=bottom,shape=outer_right": {
"model": "cobblemon:block/black_tumblestone_brick_stairs_outer"
},
"facing=east,half=bottom,shape=straight": {
"model": "cobblemon:block/black_tumblestone_brick_stairs"
},
"facing=east,half=top,shape=inner_left": {
"model": "cobblemon:block/black_tumblestone_brick_stairs_inner",
"uvlock": true,
"x": 180
},
"facing=east,half=top,shape=inner_right": {
"model": "cobblemon:block/black_tumblestone_brick_stairs_inner",
"uvlock": true,
"x": 180,
"y": 90
},
"facing=east,half=top,shape=outer_left": {
"model": "cobblemon:block/black_tumblestone_brick_stairs_outer",
"uvlock": true,
"x": 180
},
"facing=east,half=top,shape=outer_right": {
"model": "cobblemon:block/black_tumblestone_brick_stairs_outer",
"uvlock": true,
"x": 180,
"y": 90
},
"facing=east,half=top,shape=straight": {
"model": "cobblemon:block/black_tumblestone_brick_stairs",
"uvlock": true,
"x": 180
},
"facing=north,half=bottom,shape=inner_left": {
"model": "cobblemon:block/black_tumblestone_brick_stairs_inner",
"uvlock": true,
"y": 180
},
"facing=north,half=bottom,shape=inner_right": {
"model": "cobblemon:block/black_tumblestone_brick_stairs_inner",
"uvlock": true,
"y": 270
},
"facing=north,half=bottom,shape=outer_left": {
"model": "cobblemon:block/black_tumblestone_brick_stairs_outer",
"uvlock": true,
"y": 180
},
"facing=north,half=bottom,shape=outer_right": {
"model": "cobblemon:block/black_tumblestone_brick_stairs_outer",
"uvlock": true,
"y": 270
},
"facing=north,half=bottom,shape=straight": {
"model": "cobblemon:block/black_tumblestone_brick_stairs",
"uvlock": true,
"y": 270
},
"facing=north,half=top,shape=inner_left": {
"model": "cobblemon:block/black_tumblestone_brick_stairs_inner",
"uvlock": true,
"x": 180,
"y": 270
},
"facing=north,half=top,shape=inner_right": {
"model": "cobblemon:block/black_tumblestone_brick_stairs_inner",
"uvlock": true,
"x": 180
},
"facing=north,half=top,shape=outer_left": {
"model": "cobblemon:block/black_tumblestone_brick_stairs_outer",
"uvlock": true,
"x": 180,
"y": 270
},
"facing=north,half=top,shape=outer_right": {
"model": "cobblemon:block/black_tumblestone_brick_stairs_outer",
"uvlock": true,
"x": 180
},
"facing=north,half=top,shape=straight": {
"model": "cobblemon:block/black_tumblestone_brick_stairs",
"uvlock": true,
"x": 180,
"y": 270
},
"facing=south,half=bottom,shape=inner_left": {
"model": "cobblemon:block/black_tumblestone_brick_stairs_inner"
},
"facing=south,half=bottom,shape=inner_right": {
"model": "cobblemon:block/black_tumblestone_brick_stairs_inner",
"uvlock": true,
"y": 90
},
"facing=south,half=bottom,shape=outer_left": {
"model": "cobblemon:block/black_tumblestone_brick_stairs_outer"
},
"facing=south,half=bottom,shape=outer_right": {
"model": "cobblemon:block/black_tumblestone_brick_stairs_outer",
"uvlock": true,
"y": 90
},
"facing=south,half=bottom,shape=straight": {
"model": "cobblemon:block/black_tumblestone_brick_stairs",
"uvlock": true,
"y": 90
},
"facing=south,half=top,shape=inner_left": {
"model": "cobblemon:block/black_tumblestone_brick_stairs_inner",
"uvlock": true,
"x": 180,
"y": 90
},
"facing=south,half=top,shape=inner_right": {
"model": "cobblemon:block/black_tumblestone_brick_stairs_inner",
"uvlock": true,
"x": 180,
"y": 180
},
"facing=south,half=top,shape=outer_left": {
"model": "cobblemon:block/black_tumblestone_brick_stairs_outer",
"uvlock": true,
"x": 180,
"y": 90
},
"facing=south,half=top,shape=outer_right": {
"model": "cobblemon:block/black_tumblestone_brick_stairs_outer",
"uvlock": true,
"x": 180,
"y": 180
},
"facing=south,half=top,shape=straight": {
"model": "cobblemon:block/black_tumblestone_brick_stairs",
"uvlock": true,
"x": 180,
"y": 90
},
"facing=west,half=bottom,shape=inner_left": {
"model": "cobblemon:block/black_tumblestone_brick_stairs_inner",
"uvlock": true,
"y": 90
},
"facing=west,half=bottom,shape=inner_right": {
"model": "cobblemon:block/black_tumblestone_brick_stairs_inner",
"uvlock": true,
"y": 180
},
"facing=west,half=bottom,shape=outer_left": {
"model": "cobblemon:block/black_tumblestone_brick_stairs_outer",
"uvlock": true,
"y": 90
},
"facing=west,half=bottom,shape=outer_right": {
"model": "cobblemon:block/black_tumblestone_brick_stairs_outer",
"uvlock": true,
"y": 180
},
"facing=west,half=bottom,shape=straight": {
"model": "cobblemon:block/black_tumblestone_brick_stairs",
"uvlock": true,
"y": 180
},
"facing=west,half=top,shape=inner_left": {
"model": "cobblemon:block/black_tumblestone_brick_stairs_inner",
"uvlock": true,
"x": 180,
"y": 180
},
"facing=west,half=top,shape=inner_right": {
"model": "cobblemon:block/black_tumblestone_brick_stairs_inner",
"uvlock": true,
"x": 180,
"y": 270
},
"facing=west,half=top,shape=outer_left": {
"model": "cobblemon:block/black_tumblestone_brick_stairs_outer",
"uvlock": true,
"x": 180,
"y": 180
},
"facing=west,half=top,shape=outer_right": {
"model": "cobblemon:block/black_tumblestone_brick_stairs_outer",
"uvlock": true,
"x": 180,
"y": 270
},
"facing=west,half=top,shape=straight": {
"model": "cobblemon:block/black_tumblestone_brick_stairs",
"uvlock": true,
"x": 180,
"y": 180
}
}
}
@@ -0,0 +1,90 @@
{
"multipart": [
{
"apply": {
"model": "cobblemon:block/black_tumblestone_brick_wall_post"
},
"when": {
"up": "true"
}
},
{
"apply": {
"model": "cobblemon:block/black_tumblestone_brick_wall_side",
"uvlock": true
},
"when": {
"north": "low"
}
},
{
"apply": {
"model": "cobblemon:block/black_tumblestone_brick_wall_side",
"uvlock": true,
"y": 90
},
"when": {
"east": "low"
}
},
{
"apply": {
"model": "cobblemon:block/black_tumblestone_brick_wall_side",
"uvlock": true,
"y": 180
},
"when": {
"south": "low"
}
},
{
"apply": {
"model": "cobblemon:block/black_tumblestone_brick_wall_side",
"uvlock": true,
"y": 270
},
"when": {
"west": "low"
}
},
{
"apply": {
"model": "cobblemon:block/black_tumblestone_brick_wall_side_tall",
"uvlock": true
},
"when": {
"north": "tall"
}
},
{
"apply": {
"model": "cobblemon:block/black_tumblestone_brick_wall_side_tall",
"uvlock": true,
"y": 90
},
"when": {
"east": "tall"
}
},
{
"apply": {
"model": "cobblemon:block/black_tumblestone_brick_wall_side_tall",
"uvlock": true,
"y": 180
},
"when": {
"south": "tall"
}
},
{
"apply": {
"model": "cobblemon:block/black_tumblestone_brick_wall_side_tall",
"uvlock": true,
"y": 270
},
"when": {
"west": "tall"
}
}
]
}
@@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "cobblemon:block/black_tumblestone_bricks"
}
}
}
@@ -2,7 +2,14 @@
"multipart": [
{
"when": {
"age": "0"
"AND": [
{
"age": 0
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/planted",
@@ -11,16 +18,62 @@
},
{
"when": {
"age": "1"
"AND": [
{
"age": 0
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/sprout",
"model": "cobblemon:block/berries/planted_bound",
"uvlock": false
}
},
{
"when": {
"age": "2"
"AND": [
{
"age": 1
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/bluk_sprout",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 1
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/bluk_sprout",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 2
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/bluk_young",
@@ -29,7 +82,30 @@
},
{
"when": {
"age": "3"
"AND": [
{
"age": 2
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/bluk_young",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 3
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/bluk_mature",
@@ -38,7 +114,14 @@
},
{
"when": {
"age": "4"
"AND": [
{
"age": 3
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/bluk_mature",
@@ -47,7 +130,62 @@
},
{
"when": {
"age": "5"
"AND": [
{
"age": 4
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/bluk_mature",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 4
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/bluk_mature",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 5
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/bluk_mature",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 5
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/bluk_mature",
@@ -2,7 +2,14 @@
"multipart": [
{
"when": {
"age": "0"
"AND": [
{
"age": 0
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/planted",
@@ -11,16 +18,62 @@
},
{
"when": {
"age": "1"
"AND": [
{
"age": 0
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/sprout",
"model": "cobblemon:block/berries/planted_bound",
"uvlock": false
}
},
{
"when": {
"age": "2"
"AND": [
{
"age": 1
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/charti_sprout",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 1
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/charti_sprout",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 2
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/charti_young",
@@ -29,7 +82,30 @@
},
{
"when": {
"age": "3"
"AND": [
{
"age": 2
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/charti_young",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 3
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/charti_mature",
@@ -38,7 +114,14 @@
},
{
"when": {
"age": "4"
"AND": [
{
"age": 3
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/charti_mature",
@@ -47,7 +130,62 @@
},
{
"when": {
"age": "5"
"AND": [
{
"age": 4
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/charti_mature",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 4
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/charti_mature",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 5
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/charti_mature",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 5
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/charti_mature",
@@ -2,7 +2,14 @@
"multipart": [
{
"when": {
"age": "0"
"AND": [
{
"age": 0
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/planted",
@@ -11,16 +18,62 @@
},
{
"when": {
"age": "1"
"AND": [
{
"age": 0
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/sprout",
"model": "cobblemon:block/berries/planted_bound",
"uvlock": false
}
},
{
"when": {
"age": "2"
"AND": [
{
"age": 1
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/cheri_sprout",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 1
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/cheri_sprout",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 2
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/cheri_young",
@@ -29,7 +82,30 @@
},
{
"when": {
"age": "3"
"AND": [
{
"age": 2
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/cheri_young",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 3
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/cheri_mature",
@@ -38,7 +114,14 @@
},
{
"when": {
"age": "4"
"AND": [
{
"age": 3
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/cheri_mature",
@@ -47,7 +130,62 @@
},
{
"when": {
"age": "5"
"AND": [
{
"age": 4
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/cheri_mature",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 4
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/cheri_mature",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 5
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/cheri_mature",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 5
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/cheri_mature",
@@ -2,7 +2,14 @@
"multipart": [
{
"when": {
"age": "0"
"AND": [
{
"age": 0
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/planted",
@@ -11,16 +18,62 @@
},
{
"when": {
"age": "1"
"AND": [
{
"age": 0
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/sprout",
"model": "cobblemon:block/berries/planted_bound",
"uvlock": false
}
},
{
"when": {
"age": "2"
"AND": [
{
"age": 1
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/chesto_sprout",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 1
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/chesto_sprout",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 2
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/chesto_young",
@@ -29,7 +82,30 @@
},
{
"when": {
"age": "3"
"AND": [
{
"age": 2
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/chesto_young",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 3
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/chesto_mature",
@@ -38,7 +114,14 @@
},
{
"when": {
"age": "4"
"AND": [
{
"age": 3
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/chesto_mature",
@@ -47,7 +130,62 @@
},
{
"when": {
"age": "5"
"AND": [
{
"age": 4
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/chesto_mature",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 4
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/chesto_mature",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 5
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/chesto_mature",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 5
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/chesto_mature",
@@ -2,7 +2,14 @@
"multipart": [
{
"when": {
"age": "0"
"AND": [
{
"age": 0
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/planted",
@@ -11,16 +18,62 @@
},
{
"when": {
"age": "1"
"AND": [
{
"age": 0
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/sprout",
"model": "cobblemon:block/berries/planted_bound",
"uvlock": false
}
},
{
"when": {
"age": "2"
"AND": [
{
"age": 1
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/chilan_sprout",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 1
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/chilan_sprout",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 2
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/chilan_young",
@@ -29,7 +82,30 @@
},
{
"when": {
"age": "3"
"AND": [
{
"age": 2
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/chilan_young",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 3
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/chilan_mature",
@@ -38,7 +114,14 @@
},
{
"when": {
"age": "4"
"AND": [
{
"age": 3
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/chilan_mature",
@@ -47,7 +130,62 @@
},
{
"when": {
"age": "5"
"AND": [
{
"age": 4
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/chilan_mature",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 4
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/chilan_mature",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 5
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/chilan_mature",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 5
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/chilan_mature",
@@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "cobblemon:block/chiseled_black_tumblestone_bricks"
}
}
}
@@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "cobblemon:block/chiseled_polished_black_tumblestone"
}
}
}
@@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "cobblemon:block/chiseled_polished_sky_tumblestone"
}
}
}
@@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "cobblemon:block/chiseled_polished_tumblestone"
}
}
}
@@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "cobblemon:block/chiseled_sky_tumblestone_bricks"
}
}
}
@@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "cobblemon:block/chiseled_tumblestone_bricks"
}
}
}
@@ -2,7 +2,14 @@
"multipart": [
{
"when": {
"age": "0"
"AND": [
{
"age": 0
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/planted",
@@ -11,16 +18,62 @@
},
{
"when": {
"age": "1"
"AND": [
{
"age": 0
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/sprout",
"model": "cobblemon:block/berries/planted_bound",
"uvlock": false
}
},
{
"when": {
"age": "2"
"AND": [
{
"age": 1
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/chople_sprout",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 1
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/chople_sprout",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 2
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/chople_young",
@@ -29,7 +82,30 @@
},
{
"when": {
"age": "3"
"AND": [
{
"age": 2
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/chople_young",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 3
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/chople_mature",
@@ -38,7 +114,14 @@
},
{
"when": {
"age": "4"
"AND": [
{
"age": 3
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/chople_mature",
@@ -47,7 +130,62 @@
},
{
"when": {
"age": "5"
"AND": [
{
"age": 4
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/chople_mature",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 4
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/chople_mature",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 5
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/chople_mature",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 5
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/chople_mature",
@@ -2,7 +2,14 @@
"multipart": [
{
"when": {
"age": "0"
"AND": [
{
"age": 0
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/planted",
@@ -11,16 +18,62 @@
},
{
"when": {
"age": "1"
"AND": [
{
"age": 0
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/sprout",
"model": "cobblemon:block/berries/planted_bound",
"uvlock": false
}
},
{
"when": {
"age": "2"
"AND": [
{
"age": 1
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/coba_sprout",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 1
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/coba_sprout",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 2
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/coba_young",
@@ -29,7 +82,30 @@
},
{
"when": {
"age": "3"
"AND": [
{
"age": 2
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/coba_young",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 3
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/coba_mature",
@@ -38,7 +114,14 @@
},
{
"when": {
"age": "4"
"AND": [
{
"age": 3
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/coba_mature",
@@ -47,7 +130,62 @@
},
{
"when": {
"age": "5"
"AND": [
{
"age": 4
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/coba_mature",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 4
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/coba_mature",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 5
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/coba_mature",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 5
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/coba_mature",
@@ -2,7 +2,14 @@
"multipart": [
{
"when": {
"age": "0"
"AND": [
{
"age": 0
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/planted",
@@ -11,16 +18,62 @@
},
{
"when": {
"age": "1"
"AND": [
{
"age": 0
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/sprout",
"model": "cobblemon:block/berries/planted_bound",
"uvlock": false
}
},
{
"when": {
"age": "2"
"AND": [
{
"age": 1
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/colbur_sprout",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 1
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/colbur_sprout",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 2
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/colbur_young",
@@ -29,7 +82,30 @@
},
{
"when": {
"age": "3"
"AND": [
{
"age": 2
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/colbur_young",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 3
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/colbur_mature",
@@ -38,7 +114,14 @@
},
{
"when": {
"age": "4"
"AND": [
{
"age": 3
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/colbur_mature",
@@ -47,7 +130,62 @@
},
{
"when": {
"age": "5"
"AND": [
{
"age": 4
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/colbur_mature",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 4
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/colbur_mature",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 5
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/colbur_mature",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 5
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/colbur_mature",
@@ -2,7 +2,14 @@
"multipart": [
{
"when": {
"age": "0"
"AND": [
{
"age": 0
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/planted",
@@ -11,16 +18,62 @@
},
{
"when": {
"age": "1"
"AND": [
{
"age": 0
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/sprout",
"model": "cobblemon:block/berries/planted_bound",
"uvlock": false
}
},
{
"when": {
"age": "2"
"AND": [
{
"age": 1
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/cornn_sprout",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 1
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/cornn_sprout",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 2
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/cornn_young",
@@ -29,7 +82,30 @@
},
{
"when": {
"age": "3"
"AND": [
{
"age": 2
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/cornn_young",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 3
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/cornn_mature",
@@ -38,7 +114,14 @@
},
{
"when": {
"age": "4"
"AND": [
{
"age": 3
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/cornn_mature",
@@ -47,7 +130,62 @@
},
{
"when": {
"age": "5"
"AND": [
{
"age": 4
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/cornn_mature",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 4
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/cornn_mature",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 5
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/cornn_mature",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 5
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/cornn_mature",
@@ -2,7 +2,14 @@
"multipart": [
{
"when": {
"age": "0"
"AND": [
{
"age": 0
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/planted",
@@ -11,16 +18,62 @@
},
{
"when": {
"age": "1"
"AND": [
{
"age": 0
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/sprout",
"model": "cobblemon:block/berries/planted_bound",
"uvlock": false
}
},
{
"when": {
"age": "2"
"AND": [
{
"age": 1
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/custap_sprout",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 1
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/custap_sprout",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 2
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/custap_young",
@@ -29,7 +82,30 @@
},
{
"when": {
"age": "3"
"AND": [
{
"age": 2
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/custap_young",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 3
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/custap_mature",
@@ -38,7 +114,14 @@
},
{
"when": {
"age": "4"
"AND": [
{
"age": 3
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/custap_mature",
@@ -47,7 +130,62 @@
},
{
"when": {
"age": "5"
"AND": [
{
"age": 4
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/custap_mature",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 4
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/custap_mature",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 5
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/custap_mature",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 5
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/custap_mature",
@@ -2,7 +2,14 @@
"multipart": [
{
"when": {
"age": "0"
"AND": [
{
"age": 0
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/planted",
@@ -11,16 +18,62 @@
},
{
"when": {
"age": "1"
"AND": [
{
"age": 0
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/sprout",
"model": "cobblemon:block/berries/planted_bound",
"uvlock": false
}
},
{
"when": {
"age": "2"
"AND": [
{
"age": 1
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/durin_sprout",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 1
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/durin_sprout",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 2
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/durin_young",
@@ -29,7 +82,30 @@
},
{
"when": {
"age": "3"
"AND": [
{
"age": 2
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/durin_young",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 3
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/durin_mature",
@@ -38,7 +114,14 @@
},
{
"when": {
"age": "4"
"AND": [
{
"age": 3
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/durin_mature",
@@ -47,7 +130,62 @@
},
{
"when": {
"age": "5"
"AND": [
{
"age": 4
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/durin_mature",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 4
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/durin_mature",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 5
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/durin_mature",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 5
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/durin_mature",
@@ -2,7 +2,14 @@
"multipart": [
{
"when": {
"age": "0"
"AND": [
{
"age": 0
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/planted",
@@ -11,16 +18,62 @@
},
{
"when": {
"age": "1"
"AND": [
{
"age": 0
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/sprout",
"model": "cobblemon:block/berries/planted_bound",
"uvlock": false
}
},
{
"when": {
"age": "2"
"AND": [
{
"age": 1
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/enigma_sprout",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 1
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/enigma_sprout",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 2
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/enigma_young",
@@ -29,7 +82,30 @@
},
{
"when": {
"age": "3"
"AND": [
{
"age": 2
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/enigma_young",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 3
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/enigma_mature",
@@ -38,7 +114,14 @@
},
{
"when": {
"age": "4"
"AND": [
{
"age": 3
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/enigma_mature",
@@ -47,7 +130,62 @@
},
{
"when": {
"age": "5"
"AND": [
{
"age": 4
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/enigma_mature",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 4
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/enigma_mature",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 5
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/enigma_mature",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 5
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/enigma_mature",
@@ -2,7 +2,14 @@
"multipart": [
{
"when": {
"age": "0"
"AND": [
{
"age": 0
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/planted",
@@ -11,16 +18,62 @@
},
{
"when": {
"age": "1"
"AND": [
{
"age": 0
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/sprout",
"model": "cobblemon:block/berries/planted_bound",
"uvlock": false
}
},
{
"when": {
"age": "2"
"AND": [
{
"age": 1
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/figy_sprout",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 1
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/figy_sprout",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 2
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/figy_young",
@@ -29,7 +82,30 @@
},
{
"when": {
"age": "3"
"AND": [
{
"age": 2
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/figy_young",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 3
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/figy_mature",
@@ -38,7 +114,14 @@
},
{
"when": {
"age": "4"
"AND": [
{
"age": 3
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/figy_mature",
@@ -47,7 +130,62 @@
},
{
"when": {
"age": "5"
"AND": [
{
"age": 4
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/figy_mature",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 4
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/figy_mature",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 5
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/figy_mature",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 5
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/figy_mature",
@@ -2,7 +2,14 @@
"multipart": [
{
"when": {
"age": "0"
"AND": [
{
"age": 0
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/planted",
@@ -11,16 +18,62 @@
},
{
"when": {
"age": "1"
"AND": [
{
"age": 0
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/sprout",
"model": "cobblemon:block/berries/planted_bound",
"uvlock": false
}
},
{
"when": {
"age": "2"
"AND": [
{
"age": 1
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/ganlon_sprout",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 1
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/ganlon_sprout",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 2
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/ganlon_young",
@@ -29,7 +82,30 @@
},
{
"when": {
"age": "3"
"AND": [
{
"age": 2
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/ganlon_young",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 3
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/ganlon_mature",
@@ -38,7 +114,14 @@
},
{
"when": {
"age": "4"
"AND": [
{
"age": 3
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/ganlon_mature",
@@ -47,7 +130,62 @@
},
{
"when": {
"age": "5"
"AND": [
{
"age": 4
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/ganlon_mature",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 4
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/ganlon_mature",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 5
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/ganlon_mature",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 5
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/ganlon_mature",
@@ -2,7 +2,14 @@
"multipart": [
{
"when": {
"age": "0"
"AND": [
{
"age": 0
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/planted",
@@ -11,16 +18,62 @@
},
{
"when": {
"age": "1"
"AND": [
{
"age": 0
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/sprout",
"model": "cobblemon:block/berries/planted_bound",
"uvlock": false
}
},
{
"when": {
"age": "2"
"AND": [
{
"age": 1
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/grepa_sprout",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 1
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/grepa_sprout",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 2
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/grepa_young",
@@ -29,7 +82,30 @@
},
{
"when": {
"age": "3"
"AND": [
{
"age": 2
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/grepa_young",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 3
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/grepa_mature",
@@ -38,7 +114,14 @@
},
{
"when": {
"age": "4"
"AND": [
{
"age": 3
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/grepa_mature",
@@ -47,7 +130,62 @@
},
{
"when": {
"age": "5"
"AND": [
{
"age": 4
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/grepa_mature",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 4
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/grepa_mature",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 5
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/grepa_mature",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 5
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/grepa_mature",
@@ -2,7 +2,14 @@
"multipart": [
{
"when": {
"age": "0"
"AND": [
{
"age": 0
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/planted",
@@ -11,16 +18,62 @@
},
{
"when": {
"age": "1"
"AND": [
{
"age": 0
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/sprout",
"model": "cobblemon:block/berries/planted_bound",
"uvlock": false
}
},
{
"when": {
"age": "2"
"AND": [
{
"age": 1
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/haban_sprout",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 1
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/haban_sprout",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 2
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/haban_young",
@@ -29,7 +82,30 @@
},
{
"when": {
"age": "3"
"AND": [
{
"age": 2
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/haban_young",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 3
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/haban_mature",
@@ -38,7 +114,14 @@
},
{
"when": {
"age": "4"
"AND": [
{
"age": 3
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/haban_mature",
@@ -47,7 +130,62 @@
},
{
"when": {
"age": "5"
"AND": [
{
"age": 4
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/haban_mature",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 4
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/haban_mature",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 5
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/haban_mature",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 5
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/haban_mature",
@@ -2,7 +2,14 @@
"multipart": [
{
"when": {
"age": "0"
"AND": [
{
"age": 0
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/planted",
@@ -11,16 +18,62 @@
},
{
"when": {
"age": "1"
"AND": [
{
"age": 0
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/sprout",
"model": "cobblemon:block/berries/planted_bound",
"uvlock": false
}
},
{
"when": {
"age": "2"
"AND": [
{
"age": 1
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/hondew_sprout",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 1
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/hondew_sprout",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 2
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/hondew_young",
@@ -29,7 +82,30 @@
},
{
"when": {
"age": "3"
"AND": [
{
"age": 2
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/hondew_young",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 3
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/hondew_mature",
@@ -38,7 +114,14 @@
},
{
"when": {
"age": "4"
"AND": [
{
"age": 3
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/hondew_mature",
@@ -47,7 +130,62 @@
},
{
"when": {
"age": "5"
"AND": [
{
"age": 4
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/hondew_mature",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 4
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/hondew_mature",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 5
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/hondew_mature",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 5
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/hondew_mature",
@@ -2,7 +2,14 @@
"multipart": [
{
"when": {
"age": "0"
"AND": [
{
"age": 0
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/planted",
@@ -11,16 +18,62 @@
},
{
"when": {
"age": "1"
"AND": [
{
"age": 0
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/sprout",
"model": "cobblemon:block/berries/planted_bound",
"uvlock": false
}
},
{
"when": {
"age": "2"
"AND": [
{
"age": 1
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/hopo_sprout",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 1
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/hopo_sprout",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 2
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/hopo_young",
@@ -29,7 +82,30 @@
},
{
"when": {
"age": "3"
"AND": [
{
"age": 2
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/hopo_young",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 3
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/hopo_mature",
@@ -38,7 +114,14 @@
},
{
"when": {
"age": "4"
"AND": [
{
"age": 3
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/hopo_mature",
@@ -47,7 +130,62 @@
},
{
"when": {
"age": "5"
"AND": [
{
"age": 4
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/hopo_mature",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 4
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/hopo_mature",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 5
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/hopo_mature",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 5
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/hopo_mature",
@@ -2,7 +2,14 @@
"multipart": [
{
"when": {
"age": "0"
"AND": [
{
"age": 0
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/planted",
@@ -11,16 +18,62 @@
},
{
"when": {
"age": "1"
"AND": [
{
"age": 0
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/sprout",
"model": "cobblemon:block/berries/planted_bound",
"uvlock": false
}
},
{
"when": {
"age": "2"
"AND": [
{
"age": 1
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/iapapa_sprout",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 1
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/iapapa_sprout",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 2
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/iapapa_young",
@@ -29,7 +82,30 @@
},
{
"when": {
"age": "3"
"AND": [
{
"age": 2
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/iapapa_young",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 3
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/iapapa_mature",
@@ -38,7 +114,14 @@
},
{
"when": {
"age": "4"
"AND": [
{
"age": 3
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/iapapa_mature",
@@ -47,7 +130,62 @@
},
{
"when": {
"age": "5"
"AND": [
{
"age": 4
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/iapapa_mature",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 4
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/iapapa_mature",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 5
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/iapapa_mature",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 5
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/iapapa_mature",
@@ -2,7 +2,14 @@
"multipart": [
{
"when": {
"age": "0"
"AND": [
{
"age": 0
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/planted",
@@ -11,16 +18,62 @@
},
{
"when": {
"age": "1"
"AND": [
{
"age": 0
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/sprout",
"model": "cobblemon:block/berries/planted_bound",
"uvlock": false
}
},
{
"when": {
"age": "2"
"AND": [
{
"age": 1
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/jaboca_sprout",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 1
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/jaboca_sprout",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 2
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/jaboca_young",
@@ -29,7 +82,30 @@
},
{
"when": {
"age": "3"
"AND": [
{
"age": 2
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/jaboca_young",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 3
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/jaboca_mature",
@@ -38,7 +114,14 @@
},
{
"when": {
"age": "4"
"AND": [
{
"age": 3
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/jaboca_mature",
@@ -47,7 +130,62 @@
},
{
"when": {
"age": "5"
"AND": [
{
"age": 4
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/jaboca_mature",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 4
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/jaboca_mature",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 5
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/jaboca_mature",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 5
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/jaboca_mature",
@@ -2,7 +2,14 @@
"multipart": [
{
"when": {
"age": "0"
"AND": [
{
"age": 0
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/planted",
@@ -11,16 +18,62 @@
},
{
"when": {
"age": "1"
"AND": [
{
"age": 0
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/sprout",
"model": "cobblemon:block/berries/planted_bound",
"uvlock": false
}
},
{
"when": {
"age": "2"
"AND": [
{
"age": 1
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/kasib_sprout",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 1
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/kasib_sprout",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 2
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/kasib_young",
@@ -29,7 +82,30 @@
},
{
"when": {
"age": "3"
"AND": [
{
"age": 2
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/kasib_young",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 3
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/kasib_mature",
@@ -38,7 +114,14 @@
},
{
"when": {
"age": "4"
"AND": [
{
"age": 3
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/kasib_mature",
@@ -47,7 +130,62 @@
},
{
"when": {
"age": "5"
"AND": [
{
"age": 4
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/kasib_mature",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 4
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/kasib_mature",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 5
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/kasib_mature",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 5
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/kasib_mature",
@@ -2,7 +2,14 @@
"multipart": [
{
"when": {
"age": "0"
"AND": [
{
"age": 0
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/planted",
@@ -11,16 +18,62 @@
},
{
"when": {
"age": "1"
"AND": [
{
"age": 0
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/sprout",
"model": "cobblemon:block/berries/planted_bound",
"uvlock": false
}
},
{
"when": {
"age": "2"
"AND": [
{
"age": 1
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/kebia_sprout",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 1
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/kebia_sprout",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 2
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/kebia_young",
@@ -29,7 +82,30 @@
},
{
"when": {
"age": "3"
"AND": [
{
"age": 2
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/kebia_young",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 3
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/kebia_mature",
@@ -38,7 +114,14 @@
},
{
"when": {
"age": "4"
"AND": [
{
"age": 3
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/kebia_mature",
@@ -47,7 +130,62 @@
},
{
"when": {
"age": "5"
"AND": [
{
"age": 4
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/kebia_mature",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 4
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/kebia_mature",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 5
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/kebia_mature",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 5
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/kebia_mature",
@@ -2,7 +2,14 @@
"multipart": [
{
"when": {
"age": "0"
"AND": [
{
"age": 0
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/planted",
@@ -11,16 +18,62 @@
},
{
"when": {
"age": "1"
"AND": [
{
"age": 0
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/sprout",
"model": "cobblemon:block/berries/planted_bound",
"uvlock": false
}
},
{
"when": {
"age": "2"
"AND": [
{
"age": 1
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/kee_sprout",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 1
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/kee_sprout",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 2
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/kee_young",
@@ -29,7 +82,30 @@
},
{
"when": {
"age": "3"
"AND": [
{
"age": 2
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/kee_young",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 3
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/kee_mature",
@@ -38,7 +114,14 @@
},
{
"when": {
"age": "4"
"AND": [
{
"age": 3
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/kee_mature",
@@ -47,7 +130,62 @@
},
{
"when": {
"age": "5"
"AND": [
{
"age": 4
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/kee_mature",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 4
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/kee_mature",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 5
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/kee_mature",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 5
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/kee_mature",
@@ -2,7 +2,14 @@
"multipart": [
{
"when": {
"age": "0"
"AND": [
{
"age": 0
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/planted",
@@ -11,16 +18,62 @@
},
{
"when": {
"age": "1"
"AND": [
{
"age": 0
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/sprout",
"model": "cobblemon:block/berries/planted_bound",
"uvlock": false
}
},
{
"when": {
"age": "2"
"AND": [
{
"age": 1
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/kelpsy_sprout",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 1
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/kelpsy_sprout",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 2
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/kelpsy_young",
@@ -29,7 +82,30 @@
},
{
"when": {
"age": "3"
"AND": [
{
"age": 2
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/kelpsy_young",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 3
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/kelpsy_mature",
@@ -38,7 +114,14 @@
},
{
"when": {
"age": "4"
"AND": [
{
"age": 3
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/kelpsy_mature",
@@ -47,7 +130,62 @@
},
{
"when": {
"age": "5"
"AND": [
{
"age": 4
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/kelpsy_mature",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 4
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/kelpsy_mature",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 5
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/kelpsy_mature",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 5
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/kelpsy_mature",
@@ -2,7 +2,14 @@
"multipart": [
{
"when": {
"age": "0"
"AND": [
{
"age": 0
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/planted",
@@ -11,16 +18,62 @@
},
{
"when": {
"age": "1"
"AND": [
{
"age": 0
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/sprout",
"model": "cobblemon:block/berries/planted_bound",
"uvlock": false
}
},
{
"when": {
"age": "2"
"AND": [
{
"age": 1
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/lansat_sprout",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 1
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/lansat_sprout",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 2
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/lansat_young",
@@ -29,7 +82,30 @@
},
{
"when": {
"age": "3"
"AND": [
{
"age": 2
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/lansat_young",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 3
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/lansat_mature",
@@ -38,7 +114,14 @@
},
{
"when": {
"age": "4"
"AND": [
{
"age": 3
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/lansat_mature",
@@ -47,7 +130,62 @@
},
{
"when": {
"age": "5"
"AND": [
{
"age": 4
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/lansat_mature",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 4
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/lansat_mature",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 5
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/lansat_mature",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 5
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/lansat_mature",
@@ -2,7 +2,14 @@
"multipart": [
{
"when": {
"age": "0"
"AND": [
{
"age": 0
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/planted",
@@ -11,16 +18,62 @@
},
{
"when": {
"age": "1"
"AND": [
{
"age": 0
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/sprout",
"model": "cobblemon:block/berries/planted_bound",
"uvlock": false
}
},
{
"when": {
"age": "2"
"AND": [
{
"age": 1
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/leppa_sprout",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 1
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/leppa_sprout",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 2
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/leppa_young",
@@ -29,7 +82,30 @@
},
{
"when": {
"age": "3"
"AND": [
{
"age": 2
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/leppa_young",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 3
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/leppa_mature",
@@ -38,7 +114,14 @@
},
{
"when": {
"age": "4"
"AND": [
{
"age": 3
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/leppa_mature",
@@ -47,7 +130,62 @@
},
{
"when": {
"age": "5"
"AND": [
{
"age": 4
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/leppa_mature",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 4
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/leppa_mature",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 5
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/leppa_mature",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 5
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/leppa_mature",
@@ -2,7 +2,14 @@
"multipart": [
{
"when": {
"age": "0"
"AND": [
{
"age": 0
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/planted",
@@ -11,16 +18,62 @@
},
{
"when": {
"age": "1"
"AND": [
{
"age": 0
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/sprout",
"model": "cobblemon:block/berries/planted_bound",
"uvlock": false
}
},
{
"when": {
"age": "2"
"AND": [
{
"age": 1
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/liechi_sprout",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 1
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/liechi_sprout",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 2
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/liechi_young",
@@ -29,7 +82,30 @@
},
{
"when": {
"age": "3"
"AND": [
{
"age": 2
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/liechi_young",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 3
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/liechi_mature",
@@ -38,7 +114,14 @@
},
{
"when": {
"age": "4"
"AND": [
{
"age": 3
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/liechi_mature",
@@ -47,7 +130,62 @@
},
{
"when": {
"age": "5"
"AND": [
{
"age": 4
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/liechi_mature",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 4
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/liechi_mature",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 5
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/liechi_mature",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 5
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/liechi_mature",
@@ -2,7 +2,14 @@
"multipart": [
{
"when": {
"age": "0"
"AND": [
{
"age": 0
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/planted",
@@ -11,16 +18,62 @@
},
{
"when": {
"age": "1"
"AND": [
{
"age": 0
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/sprout",
"model": "cobblemon:block/berries/planted_bound",
"uvlock": false
}
},
{
"when": {
"age": "2"
"AND": [
{
"age": 1
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/lum_sprout",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 1
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/lum_sprout",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 2
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/lum_young",
@@ -29,7 +82,30 @@
},
{
"when": {
"age": "3"
"AND": [
{
"age": 2
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/lum_young",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 3
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/lum_mature",
@@ -38,7 +114,14 @@
},
{
"when": {
"age": "4"
"AND": [
{
"age": 3
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/lum_mature",
@@ -47,7 +130,62 @@
},
{
"when": {
"age": "5"
"AND": [
{
"age": 4
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/lum_mature",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 4
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/lum_mature",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 5
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/lum_mature",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 5
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/lum_mature",
@@ -2,7 +2,14 @@
"multipart": [
{
"when": {
"age": "0"
"AND": [
{
"age": 0
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/planted",
@@ -11,16 +18,62 @@
},
{
"when": {
"age": "1"
"AND": [
{
"age": 0
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/sprout",
"model": "cobblemon:block/berries/planted_bound",
"uvlock": false
}
},
{
"when": {
"age": "2"
"AND": [
{
"age": 1
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/mago_sprout",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 1
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/mago_sprout",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 2
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/mago_young",
@@ -29,7 +82,30 @@
},
{
"when": {
"age": "3"
"AND": [
{
"age": 2
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/mago_young",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 3
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/mago_mature",
@@ -38,7 +114,14 @@
},
{
"when": {
"age": "4"
"AND": [
{
"age": 3
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/mago_mature",
@@ -47,7 +130,62 @@
},
{
"when": {
"age": "5"
"AND": [
{
"age": 4
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/mago_mature",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 4
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/mago_mature",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 5
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/mago_mature",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 5
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/mago_mature",
@@ -2,7 +2,14 @@
"multipart": [
{
"when": {
"age": "0"
"AND": [
{
"age": 0
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/planted",
@@ -11,16 +18,62 @@
},
{
"when": {
"age": "1"
"AND": [
{
"age": 0
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/sprout",
"model": "cobblemon:block/berries/planted_bound",
"uvlock": false
}
},
{
"when": {
"age": "2"
"AND": [
{
"age": 1
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/magost_sprout",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 1
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/magost_sprout",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 2
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/magost_young",
@@ -29,7 +82,30 @@
},
{
"when": {
"age": "3"
"AND": [
{
"age": 2
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/magost_young",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 3
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/magost_mature",
@@ -38,7 +114,14 @@
},
{
"when": {
"age": "4"
"AND": [
{
"age": 3
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/magost_mature",
@@ -47,7 +130,62 @@
},
{
"when": {
"age": "5"
"AND": [
{
"age": 4
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/magost_mature",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 4
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/magost_mature",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 5
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/magost_mature",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 5
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/magost_mature",
@@ -2,7 +2,14 @@
"multipart": [
{
"when": {
"age": "0"
"AND": [
{
"age": 0
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/planted",
@@ -11,16 +18,62 @@
},
{
"when": {
"age": "1"
"AND": [
{
"age": 0
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/sprout",
"model": "cobblemon:block/berries/planted_bound",
"uvlock": false
}
},
{
"when": {
"age": "2"
"AND": [
{
"age": 1
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/maranga_sprout",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 1
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/maranga_sprout",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 2
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/maranga_young",
@@ -29,7 +82,30 @@
},
{
"when": {
"age": "3"
"AND": [
{
"age": 2
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/maranga_young",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 3
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/maranga_mature",
@@ -38,7 +114,14 @@
},
{
"when": {
"age": "4"
"AND": [
{
"age": 3
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/maranga_mature",
@@ -47,7 +130,62 @@
},
{
"when": {
"age": "5"
"AND": [
{
"age": 4
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/maranga_mature",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 4
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/maranga_mature",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 5
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/maranga_mature",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 5
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/maranga_mature",
@@ -2,7 +2,14 @@
"multipart": [
{
"when": {
"age": "0"
"AND": [
{
"age": 0
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/planted",
@@ -11,16 +18,62 @@
},
{
"when": {
"age": "1"
"AND": [
{
"age": 0
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/sprout",
"model": "cobblemon:block/berries/planted_bound",
"uvlock": false
}
},
{
"when": {
"age": "2"
"AND": [
{
"age": 1
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/micle_sprout",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 1
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/micle_sprout",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 2
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/micle_young",
@@ -29,7 +82,30 @@
},
{
"when": {
"age": "3"
"AND": [
{
"age": 2
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/micle_young",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 3
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/micle_mature",
@@ -38,7 +114,14 @@
},
{
"when": {
"age": "4"
"AND": [
{
"age": 3
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/micle_mature",
@@ -47,7 +130,62 @@
},
{
"when": {
"age": "5"
"AND": [
{
"age": 4
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/micle_mature",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 4
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/micle_mature",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 5
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/micle_mature",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 5
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/micle_mature",
@@ -2,7 +2,14 @@
"multipart": [
{
"when": {
"age": "0"
"AND": [
{
"age": 0
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/planted",
@@ -11,16 +18,62 @@
},
{
"when": {
"age": "1"
"AND": [
{
"age": 0
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/sprout",
"model": "cobblemon:block/berries/planted_bound",
"uvlock": false
}
},
{
"when": {
"age": "2"
"AND": [
{
"age": 1
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/nanab_sprout",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 1
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/nanab_sprout",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 2
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/nanab_young",
@@ -29,7 +82,30 @@
},
{
"when": {
"age": "3"
"AND": [
{
"age": 2
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/nanab_young",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 3
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/nanab_mature",
@@ -38,7 +114,14 @@
},
{
"when": {
"age": "4"
"AND": [
{
"age": 3
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/nanab_mature",
@@ -47,7 +130,62 @@
},
{
"when": {
"age": "5"
"AND": [
{
"age": 4
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/nanab_mature",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 4
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/nanab_mature",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 5
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/nanab_mature",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 5
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/nanab_mature",
@@ -2,7 +2,14 @@
"multipart": [
{
"when": {
"age": "0"
"AND": [
{
"age": 0
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/planted",
@@ -11,16 +18,62 @@
},
{
"when": {
"age": "1"
"AND": [
{
"age": 0
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/sprout",
"model": "cobblemon:block/berries/planted_bound",
"uvlock": false
}
},
{
"when": {
"age": "2"
"AND": [
{
"age": 1
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/nomel_sprout",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 1
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/nomel_sprout",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 2
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/nomel_young",
@@ -29,7 +82,30 @@
},
{
"when": {
"age": "3"
"AND": [
{
"age": 2
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/nomel_young",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 3
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/nomel_mature",
@@ -38,7 +114,14 @@
},
{
"when": {
"age": "4"
"AND": [
{
"age": 3
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/nomel_mature",
@@ -47,7 +130,62 @@
},
{
"when": {
"age": "5"
"AND": [
{
"age": 4
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/nomel_mature",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 4
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/nomel_mature",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 5
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/nomel_mature",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 5
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/nomel_mature",
@@ -2,7 +2,14 @@
"multipart": [
{
"when": {
"age": "0"
"AND": [
{
"age": 0
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/planted",
@@ -11,16 +18,62 @@
},
{
"when": {
"age": "1"
"AND": [
{
"age": 0
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/sprout",
"model": "cobblemon:block/berries/planted_bound",
"uvlock": false
}
},
{
"when": {
"age": "2"
"AND": [
{
"age": 1
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/occa_sprout",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 1
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/occa_sprout",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 2
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/occa_young",
@@ -29,7 +82,30 @@
},
{
"when": {
"age": "3"
"AND": [
{
"age": 2
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/occa_young",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 3
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/occa_mature",
@@ -38,7 +114,14 @@
},
{
"when": {
"age": "4"
"AND": [
{
"age": 3
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/occa_mature",
@@ -47,7 +130,62 @@
},
{
"when": {
"age": "5"
"AND": [
{
"age": 4
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/occa_mature",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 4
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/occa_mature",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 5
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/occa_mature",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 5
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/occa_mature",
@@ -2,7 +2,14 @@
"multipart": [
{
"when": {
"age": "0"
"AND": [
{
"age": 0
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/planted",
@@ -11,16 +18,62 @@
},
{
"when": {
"age": "1"
"AND": [
{
"age": 0
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/sprout",
"model": "cobblemon:block/berries/planted_bound",
"uvlock": false
}
},
{
"when": {
"age": "2"
"AND": [
{
"age": 1
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/oran_sprout",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 1
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/oran_sprout",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 2
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/oran_young",
@@ -29,7 +82,30 @@
},
{
"when": {
"age": "3"
"AND": [
{
"age": 2
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/oran_young",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 3
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/oran_mature",
@@ -38,7 +114,14 @@
},
{
"when": {
"age": "4"
"AND": [
{
"age": 3
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/oran_mature",
@@ -47,7 +130,62 @@
},
{
"when": {
"age": "5"
"AND": [
{
"age": 4
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/oran_mature",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 4
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/oran_mature",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 5
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/oran_mature",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 5
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/oran_mature",
@@ -2,7 +2,14 @@
"multipart": [
{
"when": {
"age": "0"
"AND": [
{
"age": 0
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/planted",
@@ -11,16 +18,62 @@
},
{
"when": {
"age": "1"
"AND": [
{
"age": 0
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/sprout",
"model": "cobblemon:block/berries/planted_bound",
"uvlock": false
}
},
{
"when": {
"age": "2"
"AND": [
{
"age": 1
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/pamtre_sprout",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 1
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/pamtre_sprout",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 2
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/pamtre_young",
@@ -29,7 +82,30 @@
},
{
"when": {
"age": "3"
"AND": [
{
"age": 2
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/pamtre_young",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 3
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/pamtre_mature",
@@ -38,7 +114,14 @@
},
{
"when": {
"age": "4"
"AND": [
{
"age": 3
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/pamtre_mature",
@@ -47,7 +130,62 @@
},
{
"when": {
"age": "5"
"AND": [
{
"age": 4
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/pamtre_mature",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 4
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/pamtre_mature",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 5
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/pamtre_mature",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 5
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/pamtre_mature",
@@ -2,7 +2,14 @@
"multipart": [
{
"when": {
"age": "0"
"AND": [
{
"age": 0
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/planted",
@@ -11,16 +18,62 @@
},
{
"when": {
"age": "1"
"AND": [
{
"age": 0
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/sprout",
"model": "cobblemon:block/berries/planted_bound",
"uvlock": false
}
},
{
"when": {
"age": "2"
"AND": [
{
"age": 1
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/passho_sprout",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 1
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/passho_sprout",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 2
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/passho_young",
@@ -29,7 +82,30 @@
},
{
"when": {
"age": "3"
"AND": [
{
"age": 2
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/passho_young",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 3
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/passho_mature",
@@ -38,7 +114,14 @@
},
{
"when": {
"age": "4"
"AND": [
{
"age": 3
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/passho_mature",
@@ -47,7 +130,62 @@
},
{
"when": {
"age": "5"
"AND": [
{
"age": 4
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/passho_mature",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 4
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/passho_mature",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 5
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/passho_mature",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 5
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/passho_mature",
@@ -2,7 +2,14 @@
"multipart": [
{
"when": {
"age": "0"
"AND": [
{
"age": 0
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/planted",
@@ -11,16 +18,62 @@
},
{
"when": {
"age": "1"
"AND": [
{
"age": 0
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/sprout",
"model": "cobblemon:block/berries/planted_bound",
"uvlock": false
}
},
{
"when": {
"age": "2"
"AND": [
{
"age": 1
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/payapa_sprout",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 1
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/payapa_sprout",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 2
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/payapa_young",
@@ -29,7 +82,30 @@
},
{
"when": {
"age": "3"
"AND": [
{
"age": 2
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/payapa_young",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 3
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/payapa_mature",
@@ -38,7 +114,14 @@
},
{
"when": {
"age": "4"
"AND": [
{
"age": 3
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/payapa_mature",
@@ -47,7 +130,62 @@
},
{
"when": {
"age": "5"
"AND": [
{
"age": 4
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/payapa_mature",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 4
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/payapa_mature",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 5
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/payapa_mature",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 5
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/payapa_mature",
@@ -2,7 +2,14 @@
"multipart": [
{
"when": {
"age": "0"
"AND": [
{
"age": 0
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/planted",
@@ -11,16 +18,62 @@
},
{
"when": {
"age": "1"
"AND": [
{
"age": 0
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/sprout",
"model": "cobblemon:block/berries/planted_bound",
"uvlock": false
}
},
{
"when": {
"age": "2"
"AND": [
{
"age": 1
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/pecha_sprout",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 1
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/pecha_sprout",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 2
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/pecha_young",
@@ -29,7 +82,30 @@
},
{
"when": {
"age": "3"
"AND": [
{
"age": 2
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/pecha_young",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 3
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/pecha_mature",
@@ -38,7 +114,14 @@
},
{
"when": {
"age": "4"
"AND": [
{
"age": 3
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/pecha_mature",
@@ -47,7 +130,62 @@
},
{
"when": {
"age": "5"
"AND": [
{
"age": 4
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/pecha_mature",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 4
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/pecha_mature",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 5
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/pecha_mature",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 5
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/pecha_mature",
@@ -2,7 +2,14 @@
"multipart": [
{
"when": {
"age": "0"
"AND": [
{
"age": 0
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/planted",
@@ -11,16 +18,62 @@
},
{
"when": {
"age": "1"
"AND": [
{
"age": 0
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/sprout",
"model": "cobblemon:block/berries/planted_bound",
"uvlock": false
}
},
{
"when": {
"age": "2"
"AND": [
{
"age": 1
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/persim_sprout",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 1
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/persim_sprout",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 2
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/persim_young",
@@ -29,7 +82,30 @@
},
{
"when": {
"age": "3"
"AND": [
{
"age": 2
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/persim_young",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 3
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/persim_mature",
@@ -38,7 +114,14 @@
},
{
"when": {
"age": "4"
"AND": [
{
"age": 3
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/persim_mature",
@@ -47,7 +130,62 @@
},
{
"when": {
"age": "5"
"AND": [
{
"age": 4
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/persim_mature",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 4
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/persim_mature",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 5
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/persim_mature",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 5
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/persim_mature",
@@ -2,7 +2,14 @@
"multipart": [
{
"when": {
"age": "0"
"AND": [
{
"age": 0
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/planted",
@@ -11,16 +18,62 @@
},
{
"when": {
"age": "1"
"AND": [
{
"age": 0
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/sprout",
"model": "cobblemon:block/berries/planted_bound",
"uvlock": false
}
},
{
"when": {
"age": "2"
"AND": [
{
"age": 1
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/petaya_sprout",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 1
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/petaya_sprout",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 2
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/petaya_young",
@@ -29,7 +82,30 @@
},
{
"when": {
"age": "3"
"AND": [
{
"age": 2
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/petaya_young",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 3
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/petaya_mature",
@@ -38,7 +114,14 @@
},
{
"when": {
"age": "4"
"AND": [
{
"age": 3
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/petaya_mature",
@@ -47,7 +130,62 @@
},
{
"when": {
"age": "5"
"AND": [
{
"age": 4
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/petaya_mature",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 4
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/petaya_mature",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 5
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/petaya_mature",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 5
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/petaya_mature",
@@ -2,7 +2,14 @@
"multipart": [
{
"when": {
"age": "0"
"AND": [
{
"age": 0
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/planted",
@@ -11,16 +18,62 @@
},
{
"when": {
"age": "1"
"AND": [
{
"age": 0
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/sprout",
"model": "cobblemon:block/berries/planted_bound",
"uvlock": false
}
},
{
"when": {
"age": "2"
"AND": [
{
"age": 1
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/pinap_sprout",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 1
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/pinap_sprout",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 2
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/pinap_young",
@@ -29,7 +82,30 @@
},
{
"when": {
"age": "3"
"AND": [
{
"age": 2
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/pinap_young",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 3
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/pinap_mature",
@@ -38,7 +114,14 @@
},
{
"when": {
"age": "4"
"AND": [
{
"age": 3
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/pinap_mature",
@@ -47,7 +130,62 @@
},
{
"when": {
"age": "5"
"AND": [
{
"age": 4
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/pinap_mature",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 4
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/pinap_mature",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 5
},
{
"rooted": false
}
]
},
"apply": {
"model": "cobblemon:block/berries/pinap_mature",
"uvlock": false
}
},
{
"when": {
"AND": [
{
"age": 5
},
{
"rooted": true
}
]
},
"apply": {
"model": "cobblemon:block/berries/pinap_mature",
@@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "cobblemon:block/polished_black_tumblestone"
}
}
}
@@ -0,0 +1,13 @@
{
"variants": {
"type=bottom": {
"model": "cobblemon:block/polished_black_tumblestone_slab"
},
"type=double": {
"model": "cobblemon:block/polished_black_tumblestone_slab_double"
},
"type=top": {
"model": "cobblemon:block/polished_black_tumblestone_slab_top"
}
}
}
@@ -0,0 +1,209 @@
{
"variants": {
"facing=east,half=bottom,shape=inner_left": {
"model": "cobblemon:block/polished_black_tumblestone_stairs_inner",
"uvlock": true,
"y": 270
},
"facing=east,half=bottom,shape=inner_right": {
"model": "cobblemon:block/polished_black_tumblestone_stairs_inner"
},
"facing=east,half=bottom,shape=outer_left": {
"model": "cobblemon:block/polished_black_tumblestone_stairs_outer",
"uvlock": true,
"y": 270
},
"facing=east,half=bottom,shape=outer_right": {
"model": "cobblemon:block/polished_black_tumblestone_stairs_outer"
},
"facing=east,half=bottom,shape=straight": {
"model": "cobblemon:block/polished_black_tumblestone_stairs"
},
"facing=east,half=top,shape=inner_left": {
"model": "cobblemon:block/polished_black_tumblestone_stairs_inner",
"uvlock": true,
"x": 180
},
"facing=east,half=top,shape=inner_right": {
"model": "cobblemon:block/polished_black_tumblestone_stairs_inner",
"uvlock": true,
"x": 180,
"y": 90
},
"facing=east,half=top,shape=outer_left": {
"model": "cobblemon:block/polished_black_tumblestone_stairs_outer",
"uvlock": true,
"x": 180
},
"facing=east,half=top,shape=outer_right": {
"model": "cobblemon:block/polished_black_tumblestone_stairs_outer",
"uvlock": true,
"x": 180,
"y": 90
},
"facing=east,half=top,shape=straight": {
"model": "cobblemon:block/polished_black_tumblestone_stairs",
"uvlock": true,
"x": 180
},
"facing=north,half=bottom,shape=inner_left": {
"model": "cobblemon:block/polished_black_tumblestone_stairs_inner",
"uvlock": true,
"y": 180
},
"facing=north,half=bottom,shape=inner_right": {
"model": "cobblemon:block/polished_black_tumblestone_stairs_inner",
"uvlock": true,
"y": 270
},
"facing=north,half=bottom,shape=outer_left": {
"model": "cobblemon:block/polished_black_tumblestone_stairs_outer",
"uvlock": true,
"y": 180
},
"facing=north,half=bottom,shape=outer_right": {
"model": "cobblemon:block/polished_black_tumblestone_stairs_outer",
"uvlock": true,
"y": 270
},
"facing=north,half=bottom,shape=straight": {
"model": "cobblemon:block/polished_black_tumblestone_stairs",
"uvlock": true,
"y": 270
},
"facing=north,half=top,shape=inner_left": {
"model": "cobblemon:block/polished_black_tumblestone_stairs_inner",
"uvlock": true,
"x": 180,
"y": 270
},
"facing=north,half=top,shape=inner_right": {
"model": "cobblemon:block/polished_black_tumblestone_stairs_inner",
"uvlock": true,
"x": 180
},
"facing=north,half=top,shape=outer_left": {
"model": "cobblemon:block/polished_black_tumblestone_stairs_outer",
"uvlock": true,
"x": 180,
"y": 270
},
"facing=north,half=top,shape=outer_right": {
"model": "cobblemon:block/polished_black_tumblestone_stairs_outer",
"uvlock": true,
"x": 180
},
"facing=north,half=top,shape=straight": {
"model": "cobblemon:block/polished_black_tumblestone_stairs",
"uvlock": true,
"x": 180,
"y": 270
},
"facing=south,half=bottom,shape=inner_left": {
"model": "cobblemon:block/polished_black_tumblestone_stairs_inner"
},
"facing=south,half=bottom,shape=inner_right": {
"model": "cobblemon:block/polished_black_tumblestone_stairs_inner",
"uvlock": true,
"y": 90
},
"facing=south,half=bottom,shape=outer_left": {
"model": "cobblemon:block/polished_black_tumblestone_stairs_outer"
},
"facing=south,half=bottom,shape=outer_right": {
"model": "cobblemon:block/polished_black_tumblestone_stairs_outer",
"uvlock": true,
"y": 90
},
"facing=south,half=bottom,shape=straight": {
"model": "cobblemon:block/polished_black_tumblestone_stairs",
"uvlock": true,
"y": 90
},
"facing=south,half=top,shape=inner_left": {
"model": "cobblemon:block/polished_black_tumblestone_stairs_inner",
"uvlock": true,
"x": 180,
"y": 90
},
"facing=south,half=top,shape=inner_right": {
"model": "cobblemon:block/polished_black_tumblestone_stairs_inner",
"uvlock": true,
"x": 180,
"y": 180
},
"facing=south,half=top,shape=outer_left": {
"model": "cobblemon:block/polished_black_tumblestone_stairs_outer",
"uvlock": true,
"x": 180,
"y": 90
},
"facing=south,half=top,shape=outer_right": {
"model": "cobblemon:block/polished_black_tumblestone_stairs_outer",
"uvlock": true,
"x": 180,
"y": 180
},
"facing=south,half=top,shape=straight": {
"model": "cobblemon:block/polished_black_tumblestone_stairs",
"uvlock": true,
"x": 180,
"y": 90
},
"facing=west,half=bottom,shape=inner_left": {
"model": "cobblemon:block/polished_black_tumblestone_stairs_inner",
"uvlock": true,
"y": 90
},
"facing=west,half=bottom,shape=inner_right": {
"model": "cobblemon:block/polished_black_tumblestone_stairs_inner",
"uvlock": true,
"y": 180
},
"facing=west,half=bottom,shape=outer_left": {
"model": "cobblemon:block/polished_black_tumblestone_stairs_outer",
"uvlock": true,
"y": 90
},
"facing=west,half=bottom,shape=outer_right": {
"model": "cobblemon:block/polished_black_tumblestone_stairs_outer",
"uvlock": true,
"y": 180
},
"facing=west,half=bottom,shape=straight": {
"model": "cobblemon:block/polished_black_tumblestone_stairs",
"uvlock": true,
"y": 180
},
"facing=west,half=top,shape=inner_left": {
"model": "cobblemon:block/polished_black_tumblestone_stairs_inner",
"uvlock": true,
"x": 180,
"y": 180
},
"facing=west,half=top,shape=inner_right": {
"model": "cobblemon:block/polished_black_tumblestone_stairs_inner",
"uvlock": true,
"x": 180,
"y": 270
},
"facing=west,half=top,shape=outer_left": {
"model": "cobblemon:block/polished_black_tumblestone_stairs_outer",
"uvlock": true,
"x": 180,
"y": 180
},
"facing=west,half=top,shape=outer_right": {
"model": "cobblemon:block/polished_black_tumblestone_stairs_outer",
"uvlock": true,
"x": 180,
"y": 270
},
"facing=west,half=top,shape=straight": {
"model": "cobblemon:block/polished_black_tumblestone_stairs",
"uvlock": true,
"x": 180,
"y": 180
}
}
}
@@ -0,0 +1,90 @@
{
"multipart": [
{
"apply": {
"model": "cobblemon:block/polished_black_tumblestone_wall_post"
},
"when": {
"up": "true"
}
},
{
"apply": {
"model": "cobblemon:block/polished_black_tumblestone_wall_side",
"uvlock": true
},
"when": {
"north": "low"
}
},
{
"apply": {
"model": "cobblemon:block/polished_black_tumblestone_wall_side",
"uvlock": true,
"y": 90
},
"when": {
"east": "low"
}
},
{
"apply": {
"model": "cobblemon:block/polished_black_tumblestone_wall_side",
"uvlock": true,
"y": 180
},
"when": {
"south": "low"
}
},
{
"apply": {
"model": "cobblemon:block/polished_black_tumblestone_wall_side",
"uvlock": true,
"y": 270
},
"when": {
"west": "low"
}
},
{
"apply": {
"model": "cobblemon:block/polished_black_tumblestone_wall_side_tall",
"uvlock": true
},
"when": {
"north": "tall"
}
},
{
"apply": {
"model": "cobblemon:block/polished_black_tumblestone_wall_side_tall",
"uvlock": true,
"y": 90
},
"when": {
"east": "tall"
}
},
{
"apply": {
"model": "cobblemon:block/polished_black_tumblestone_wall_side_tall",
"uvlock": true,
"y": 180
},
"when": {
"south": "tall"
}
},
{
"apply": {
"model": "cobblemon:block/polished_black_tumblestone_wall_side_tall",
"uvlock": true,
"y": 270
},
"when": {
"west": "tall"
}
}
]
}

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