mirror of
https://gitlab.com/cable-mc/cobblemon.git
synced 2026-10-28 13:06:25 -04:00
Compare commits
8
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
bdfabb3724 | ||
|
|
3adb6144a3 | ||
|
|
65bcd118a3 | ||
|
|
bf6f97e740 | ||
|
|
4e48e2ff9b | ||
|
|
faa488b153 | ||
|
|
93dbc015fb | ||
|
|
7edf6669d8 |
No files matched your search
+12
-266
@@ -1,282 +1,28 @@
|
||||
# Changelog
|
||||
## [1.8.x (MONTH xth, 2026)](#1-8-x)
|
||||
## [1.8.5 (MONTH xth, 2026)](#1-8-5)
|
||||
|
||||
### Additions
|
||||
- Added riding statistics: `Distance by Pokémon on Land`, `Distance by Pokémon in Air` and `Distance by Pokémon in Liquid`.
|
||||
- Added the Partner Mark, which party Pokémon have a very small chance to earn as the player walks, provided they have enough friendship.
|
||||
- Added trades for Saccharine Saplings, Hearty Grains, Chipped Pot, and Masterpiece Teacup to the Wandering Trader.
|
||||
- Added brewing recipe for Throat Spray.
|
||||
- Added mood particles! Pokémon now visually react to certain actions:
|
||||
- Angry particles when attacking a mob.
|
||||
- Annoyed particles when a player tries to feed them while they’re already full.
|
||||
- Sweat droplets when they run out of stamina while being ridden.
|
||||
- Added config options to award experience to fainted Pokémon for opponents they helped defeat (`awardExperienceToFaintedPokemon`) and to still award experience for defeated enemies even after battle loss/forfeit (`awardExperienceOnBattleLoss`)
|
||||
- Party Overlay Exp Gained Animation will now display the amount of EXP the Pokémon gained
|
||||
- Added a toast to notify players of how they can scroll through their party. Did you know you can hold R and scroll instead of using arrow keys??!
|
||||
- Added a new layer property that makes a layer scroll in a direction. "scrolling": {"speedU": 0.1, "speedV": 0.1}
|
||||
- Added missing crops to Botany Pots integration
|
||||
- Added a way to obtain Porygon by inserting the Upgrade or Dubious Disc into a data monitor
|
||||
- Added a new `cobblemon:structure`, which is a feature without any restrictions allowing the Builders to place certain structures in much more specific manner.
|
||||
- Added Configs for Infinite Use TMs and Unlocking all TMs
|
||||
- Added Type Gem blocks
|
||||
- Added Type Gem Clusters
|
||||
- Added TMs
|
||||
- Added TM Machine
|
||||
- Added Deepslate Core Block
|
||||
- Added /givetm Command
|
||||
- Added advancement triggers for learning TMs: `cobblemon:has_learn_specific_tm` (per-TM), `cobblemon:has_learn_all_tm` (all TMs learned), and `cobblemon:tms_learned` (count-based), backed by a new `totalTMLearnedCount` on player advancement data.
|
||||
- Added `cobblemon:catch_alpha_pokemon` advancement trigger and `totalAlphaCaptureCount` tracking for capturing Alpha Pokémon.
|
||||
- Added Move Dex to Pokédex
|
||||
- Added the Habitat Block, a spawner block for servers and adventure maps that controls spawning in an area.
|
||||
- Added Disk Rack for storing disks and being an audio sequencer for Noteblocks
|
||||
- Added intrinsic scaling to all Pokémon (+-5%). Some rendering cases, such as shoulder mounting, revert to 1.0 scaling to preserve animation accuracy.
|
||||
- Added scaling to "baby" Pokémon (smaller (-20%) at level 1 → normally sized at level 10)
|
||||
- Added conditional seats for riding. Seats can be gated by molang such as "is_alpha".
|
||||
- Added Alpha Pokémon
|
||||
- Added alpha scaling (alphas are larger than their normal counterparts)
|
||||
- Alphas will always lead herds and will spawn in herds
|
||||
- Alphas spawn with two random TM moves from their learnset
|
||||
- Alpha Pokémon will always defend themselves from players that attack them
|
||||
- Added alpha level matching and stat boost (based on level)
|
||||
- Added pitch-down and reverb to alpha cries
|
||||
- Added alpha Pokémon bait effect
|
||||
- Added alpha eye rendering including eye overlay, bloom, eye trail, and particles.
|
||||
- Added cobweb block slowness immunity for spider Pokémon
|
||||
- Added 49 new habitat structures. 34 as typical Minecraft structures and 15 as structures that get placed as biome features to allow for more natural placement in generation. Structures placed as biome features will not be able to be located with the `/locate structure` command.
|
||||
- Vanilla village house template pools have been adjusted to account for the new abandoned village structure habitat. Weights have changed within the JSON file for every piece to ensure too many habitats don't generate in a single village.
|
||||
- Added 10 new ruin structures.
|
||||
- rooted_arch_ruins & crumbling_arch_ruins have been transferred over to biome features, allowing for better placement in generation.
|
||||
- All ruin structures that did not generate with a gimmighoul/gilded chest before will now generate with one.
|
||||
- All ruin structures gilded chest loot tables have been updated to include a guaranteed TM not learned naturally by any Pokémon through their level-up moveset. Each ruin gets its own specific TM, so you can now go hunting ruins to complete your move dex!
|
||||
- All fossil structures have been transferred over to biome features, allowing for better placement in generation.
|
||||
- The prehistoric_underwater_fissure & prehistoric_submerged_impact fossil structures now use the biome tag `#cobblemon:is_temperate_ocean`.
|
||||
- Gimmighoul towers now generate at ground level rather than sinking one block into the ground.
|
||||
- A new shipwreck cove structure called the "magma_shipwreck_cove" has been added.
|
||||
- Shipwreck coves now generate slightly more frequently.
|
||||
- Added equipment loot tables for shipwreck cove enemies.
|
||||
- Maps from abandoned fishing boats leading to shipwreck coves now will skip explored chunks, allowing the player to find more shipwreck coves easier.
|
||||
- The lush shipwreck cove's phantom mob spawner has been replaced with breezes.
|
||||
- The lush shipwreck cove structure itself has been slightly cleaned up to be less noisy with the blocks it is built out of.
|
||||
- All shipwreck coves' spawners have been adjusted to give compatible mobs enchanted iron or diamond armour and weapons while in its ominous state. The armour given to the mobs will also use the automaton trim. We upped the difficulty because it was too easy now that your Pokémon can fight for you.
|
||||
- One TM of the elemental hyper beams has been added as guaranteed loot to the main treasure chest in every shipwreck cove. (Magma cove gets blast burn, lush cove gets frenzy plant, and submerged cove gets hydro cannon)
|
||||
- Added 7 new advancements
|
||||
- Pressing the inventory key now closes the Pokémon interact wheel GUI
|
||||
- Pokémon cries now play when clicking Pokémon in the summary screen.
|
||||
- Pressing the Summary key while either the starter selection or summary screen are open now closes those screens
|
||||
- Ice type Pokémon are now immune to Packed Snow
|
||||
- Held item visibility can now be controlled by the held_item_visible command argument.
|
||||
|
||||
### New rideable Pokémon
|
||||
- Crobat
|
||||
- Skarmory
|
||||
- Milotic
|
||||
- Archeops
|
||||
- Goodra
|
||||
- Goodra (Hisuian Form)
|
||||
- Drampa
|
||||
- Duraludon
|
||||
- Archaludon
|
||||
### Particles
|
||||
|
||||
### Pokémon Added
|
||||
#### Generation 3
|
||||
- Wurmple
|
||||
- Silcoon
|
||||
- Beautifly
|
||||
- Cascoon
|
||||
- Dustox
|
||||
- Skitty
|
||||
- Delcatty
|
||||
- Seviper
|
||||
- Zangoose
|
||||
|
||||
#### Generation 4
|
||||
- Cherubi
|
||||
- Cherrim
|
||||
- Stunky
|
||||
- Skuntank
|
||||
|
||||
#### Generation 5
|
||||
- Audino
|
||||
- Pawniard
|
||||
- Bisharp
|
||||
|
||||
#### Generation 6
|
||||
- Pancham (+ Cosmetic with Black Glasses)
|
||||
- Pangoro (+ Cosmetic with Black Glasses)
|
||||
|
||||
#### Generation 7
|
||||
- Rockruff
|
||||
- Lycanroc
|
||||
|
||||
#### Generation 8
|
||||
- Rolycoly
|
||||
- Carkol
|
||||
- Coalossal
|
||||
- Runerigus
|
||||
- Snom
|
||||
- Frosmoth
|
||||
- Indeedee
|
||||
- Duraludon
|
||||
- Applin
|
||||
- Flapple
|
||||
- Appletun
|
||||
|
||||
#### Generation 9
|
||||
|
||||
- Nymble
|
||||
- Lokix
|
||||
- Kingambit
|
||||
- Dipplin
|
||||
- Archaludon
|
||||
- Hydrapple
|
||||
|
||||
#### Regional Forms
|
||||
- Sandshrew (Alolan Form)
|
||||
- Sandslash (Alolan Form)
|
||||
- Yamask (Galarian Form)
|
||||
- Avalugg (Hisuian Form)
|
||||
### Cries added/updated for the following Pokémon
|
||||
|
||||
### Model updates for the following Pokémon
|
||||
|
||||
- Sandshrew
|
||||
- Sandslash
|
||||
- Nidoking
|
||||
- Zubat
|
||||
- Golbat
|
||||
- Crobat
|
||||
- Ditto
|
||||
- Porygon
|
||||
- Porygon2
|
||||
- Porygon-Z
|
||||
- Skarmory
|
||||
- Smoochum
|
||||
- Jynx
|
||||
- Popplio
|
||||
- Brionne
|
||||
- Primarina
|
||||
- Fletchling
|
||||
- Fletchinder
|
||||
- Talonflame
|
||||
- Sableye
|
||||
- Mawile
|
||||
- Goomy
|
||||
- Sliggoo
|
||||
- Goodra
|
||||
- Nacli
|
||||
- Naclstack
|
||||
- Garganacl
|
||||
- Bidoof
|
||||
- Cranidos
|
||||
- Chatot
|
||||
- Yamask
|
||||
- Cofagrigus
|
||||
- Tyranitar
|
||||
- Turtonator
|
||||
- Golett
|
||||
- Corsola
|
||||
- Arbok (New Patterns: Angry, Cartoon, Clown, Comedic, Crow, Grin, Ink, Modern, Rain, Scribble, Silence, Sloth, Suspicious, Will)
|
||||
- ... and Substitute
|
||||
|
||||
#### Model changes to the regional bias resource pack:
|
||||
|
||||
- Added Mime Jr. (Galar Bias)
|
||||
- Added Bergmite (Hisui Bias)
|
||||
- Changed models for every existing regional bias
|
||||
|
||||
### Animation updates for the following Pokémon
|
||||
|
||||
- Kakuna
|
||||
- Grimer
|
||||
- Nidoran♀ (+ New shoulder mount)
|
||||
- Nidorina
|
||||
- Nidoran♂ (+ New shoulder mount)
|
||||
- Sandshrew
|
||||
- Diglett
|
||||
- Dugtrio
|
||||
- Graveler
|
||||
- Happiny
|
||||
- Chansey
|
||||
- Blissey
|
||||
- Poliwhirl
|
||||
- Poliwrath
|
||||
- Zubat
|
||||
- Vulpix
|
||||
- Drowzee
|
||||
- Hypno
|
||||
- Noctowl
|
||||
- Skarmory
|
||||
- Skitty
|
||||
- Flygon
|
||||
- Shellos
|
||||
- Riolu
|
||||
- Lucario
|
||||
- Purrloin
|
||||
- Liepard
|
||||
- Joltik
|
||||
- Galvantula
|
||||
- Nidoking
|
||||
- Fletchling
|
||||
- Fletchinder
|
||||
- Talonflame
|
||||
- Archeops
|
||||
- Drampa
|
||||
- Sewaddle
|
||||
- Swadloon
|
||||
- Leavanny
|
||||
- Goomy
|
||||
- Sliggoo
|
||||
- Goodra
|
||||
- Shedinja
|
||||
- Skwovet
|
||||
- Greedent
|
||||
- Bidoof
|
||||
- Cranidos
|
||||
- Chatot
|
||||
- Yamask
|
||||
- Cofagrigus
|
||||
- Luvdisc
|
||||
- Staryu
|
||||
- Starmie
|
||||
- Togetic
|
||||
- Rellor
|
||||
- Rabsca
|
||||
- Yungoos
|
||||
- Gumshoos
|
||||
- Cottonee
|
||||
- Whimsicott
|
||||
- Corsola
|
||||
|
||||
#### Added sounds to the following moves
|
||||
|
||||
- Absorb
|
||||
- Aurora Beam
|
||||
- Double Team
|
||||
- Draco Meteor
|
||||
- Fire Punch
|
||||
- Fire Spin
|
||||
- Flame Charge
|
||||
- Flame Wheel
|
||||
- Giga Drain
|
||||
- Ice Punch
|
||||
- Leech Life
|
||||
- Magical Leaf
|
||||
- Mega Drain
|
||||
- Minimize
|
||||
- Poison Gas
|
||||
- Rock Throw
|
||||
- Scary Face
|
||||
- Seed bomb
|
||||
- Smokescreen
|
||||
- String Shot
|
||||
- Tail Whip
|
||||
|
||||
### Changes
|
||||
|
||||
### Fixes
|
||||
|
||||
### Developer
|
||||
|
||||
### Molang & Datapacks
|
||||
- Added a `loot_table` drop entry type.
|
||||
- Accepts an `id` field, pointing to a vanilla loot table.
|
||||
- All base mod Pokémon have been moved to this new system.
|
||||
- Added the `cobblemon:biome` and `cobblemon:pokemon_properties` loot conditions.
|
||||
- `cobblemon:biome` returns true if the biome of death matches the `biome` field.
|
||||
- `cobblemon:pokemon_properties` returns true if the Pokémon matches the `properties` field.
|
||||
|
||||
### Particles
|
||||
|
||||
### Localization
|
||||
- Updated translations for:
|
||||
### Localization
|
||||
@@ -16,6 +16,7 @@ import com.cobblemon.mod.common.api.drop.CommandDropEntry
|
||||
import com.cobblemon.mod.common.api.drop.DropEntry
|
||||
import com.cobblemon.mod.common.api.drop.EvolutionItemDropEntry
|
||||
import com.cobblemon.mod.common.api.drop.ItemDropEntry
|
||||
import com.cobblemon.mod.common.api.drop.LootTableDropEntry
|
||||
import com.cobblemon.mod.common.api.events.CobblemonEvents
|
||||
import com.cobblemon.mod.common.api.events.CobblemonEvents.DATA_SYNCHRONIZED
|
||||
import com.cobblemon.mod.common.api.habitats.HabitatPools
|
||||
@@ -90,6 +91,7 @@ import com.cobblemon.mod.common.events.EntityCallbackHandler
|
||||
import com.cobblemon.mod.common.events.PokedexHandler
|
||||
import com.cobblemon.mod.common.events.ServerTickHandler
|
||||
import com.cobblemon.mod.common.events.StatHandler
|
||||
import com.cobblemon.mod.common.loot.CobblemonLootItemConditions
|
||||
import com.cobblemon.mod.common.net.messages.client.settings.ServerSettingsPacket
|
||||
import com.cobblemon.mod.common.permission.LaxPermissionValidator
|
||||
import com.cobblemon.mod.common.platform.events.PlatformEvents
|
||||
@@ -225,10 +227,12 @@ object Cobblemon {
|
||||
implementation.registerEntitySubPredicates()
|
||||
implementation.registerMobEffects()
|
||||
DispenserBehaviorRegistry.registerDispenserBehaviors()
|
||||
CobblemonLootItemConditions.touch()
|
||||
|
||||
DropEntry.register("command", CommandDropEntry::class.java)
|
||||
DropEntry.register("item", ItemDropEntry::class.java, isDefault = true)
|
||||
DropEntry.register("evolution", EvolutionItemDropEntry::class.java)
|
||||
DropEntry.register("loot_table", LootTableDropEntry::class.java)
|
||||
|
||||
ExperienceGroups.registerDefaults()
|
||||
CaptureCalculators.registerDefaults()
|
||||
|
||||
@@ -10,9 +10,14 @@ package com.cobblemon.mod.common.api.drop
|
||||
|
||||
import com.cobblemon.mod.common.api.events.CobblemonEvents.LOOT_DROPPED
|
||||
import com.cobblemon.mod.common.api.events.drops.LootDroppedEvent
|
||||
import com.cobblemon.mod.common.entity.pokemon.PokemonEntity
|
||||
import com.cobblemon.mod.common.pokemon.Pokemon
|
||||
import com.cobblemon.mod.common.util.cobblemonResource
|
||||
import net.minecraft.core.registries.Registries
|
||||
import kotlin.random.Random
|
||||
import net.minecraft.network.RegistryFriendlyByteBuf
|
||||
import net.minecraft.resources.ResourceKey
|
||||
import net.minecraft.resources.ResourceLocation
|
||||
import net.minecraft.server.level.ServerLevel
|
||||
import net.minecraft.server.level.ServerPlayer
|
||||
import net.minecraft.world.entity.LivingEntity
|
||||
@@ -105,7 +110,11 @@ class DropTable {
|
||||
) {
|
||||
LOOT_DROPPED.postThen(
|
||||
event = LootDroppedEvent(this, player, entity, drops),
|
||||
ifSucceeded = { it.drops.forEach { it.drop(entity, world, pos, player) } }
|
||||
ifSucceeded = {
|
||||
val pokemon = (entity as? PokemonEntity)?.pokemon?.species?.resourceIdentifier ?: return@postThen
|
||||
it.drops.forEach { it.drop(entity, world, pos, player) }
|
||||
// val lootKey = ResourceKey.create(Registries.LOOT_TABLE, cobblemonResource("pokemon/${pokemon}"))
|
||||
}
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,64 @@
|
||||
package com.cobblemon.mod.common.api.drop
|
||||
|
||||
import net.minecraft.core.registries.Registries
|
||||
import net.minecraft.resources.ResourceKey
|
||||
import net.minecraft.resources.ResourceLocation
|
||||
import net.minecraft.server.level.ServerLevel
|
||||
import net.minecraft.server.level.ServerPlayer
|
||||
import net.minecraft.world.entity.LivingEntity
|
||||
import net.minecraft.world.entity.item.ItemEntity
|
||||
import net.minecraft.world.level.storage.loot.LootParams
|
||||
import net.minecraft.world.level.storage.loot.parameters.LootContextParamSets
|
||||
import net.minecraft.world.level.storage.loot.parameters.LootContextParams
|
||||
import net.minecraft.world.phys.Vec3
|
||||
|
||||
/**
|
||||
* A drop entry that points to a vanilla loot table.
|
||||
*/
|
||||
class LootTableDropEntry(
|
||||
override val percentage: Float,
|
||||
override val quantity: Int,
|
||||
override val maxSelectableTimes: Int,
|
||||
val id: ResourceLocation
|
||||
) : DropEntry {
|
||||
override fun drop(
|
||||
entity: LivingEntity?,
|
||||
world: ServerLevel,
|
||||
pos: Vec3,
|
||||
player: ServerPlayer?
|
||||
) {
|
||||
val key = ResourceKey.create(Registries.LOOT_TABLE, id)
|
||||
val playerEntity = player as? LivingEntity
|
||||
if (entity == null) return
|
||||
if (playerEntity != null) {
|
||||
val params = LootParams.Builder(world)
|
||||
.withParameter(LootContextParams.ATTACKING_ENTITY, playerEntity)
|
||||
.withParameter(LootContextParams.DAMAGE_SOURCE, playerEntity.damageSources().genericKill())
|
||||
.withParameter(LootContextParams.ORIGIN, pos)
|
||||
.withParameter(LootContextParams.THIS_ENTITY, entity)
|
||||
.create(LootContextParamSets.ENTITY)
|
||||
val drops = world.server.reloadableRegistries().getLootTable(key)
|
||||
.getRandomItems(params)
|
||||
for (stack in drops) {
|
||||
if (stack.isEmpty) continue
|
||||
|
||||
val itemEntity = ItemEntity(world, pos.x, pos.y, pos.z, stack)
|
||||
itemEntity.setDefaultPickUpDelay()
|
||||
world.addFreshEntity(itemEntity)
|
||||
}
|
||||
} else {
|
||||
val params = LootParams.Builder(world)
|
||||
.create(LootContextParamSets.EMPTY)
|
||||
val drops = world.server.reloadableRegistries().getLootTable(key)
|
||||
.getRandomItems(params)
|
||||
for (stack in drops) {
|
||||
if (stack.isEmpty) continue
|
||||
|
||||
val itemEntity = ItemEntity(world, pos.x, pos.y, pos.z, stack)
|
||||
itemEntity.setDefaultPickUpDelay()
|
||||
world.addFreshEntity(itemEntity)
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
+3
-7
@@ -92,17 +92,13 @@ interface PokemonAndMoveSelectingItem {
|
||||
}
|
||||
|
||||
fun canUseOnPokemon(stack: ItemStack, pokemon: Pokemon): Boolean {
|
||||
if (pokemon.entity == null && stack.`is`(CobblemonItemTags.POKE_FOOD) && pokemon.isFull()) {
|
||||
return false
|
||||
if (stack.`is`(CobblemonItemTags.POKE_FOOD)) {
|
||||
return !pokemon.isFull()
|
||||
}
|
||||
|
||||
return true
|
||||
}
|
||||
|
||||
fun canUseOnBattlePokemon(stack: ItemStack, battlePokemon: BattlePokemon): Boolean {
|
||||
return bagItem!!.canUse(stack, battlePokemon.actor.battle, battlePokemon)
|
||||
}
|
||||
|
||||
fun canUseOnBattlePokemon(stack: ItemStack, battlePokemon: BattlePokemon): Boolean = bagItem!!.canUse(stack, battlePokemon.actor.battle, battlePokemon)
|
||||
fun canUseOnMove(stack: ItemStack, pokemon: Pokemon, move: Move): Boolean = canUseOnMove(stack, move)
|
||||
fun canUseOnMove(stack: ItemStack, move: Move): Boolean
|
||||
|
||||
|
||||
@@ -107,16 +107,13 @@ interface PokemonSelectingItem {
|
||||
}
|
||||
|
||||
fun canUseOnPokemon(stack: ItemStack, pokemon: Pokemon): Boolean {
|
||||
if (pokemon.entity == null && stack.`is`(CobblemonItemTags.POKE_FOOD) && pokemon.isFull()) {
|
||||
return false
|
||||
if (stack.`is`(CobblemonItemTags.POKE_FOOD)) {
|
||||
return !pokemon.isFull()
|
||||
}
|
||||
|
||||
return true
|
||||
}
|
||||
|
||||
fun canUseOnBattlePokemon(stack: ItemStack, battlePokemon: BattlePokemon): Boolean {
|
||||
return bagItem!!.canUse(stack, battlePokemon.actor.battle, battlePokemon)
|
||||
}
|
||||
fun canUseOnBattlePokemon(stack: ItemStack, battlePokemon: BattlePokemon): Boolean = bagItem!!.canUse(stack, battlePokemon.actor.battle, battlePokemon)
|
||||
|
||||
fun interactWithSpecificBattle(player: ServerPlayer, stack: ItemStack, battlePokemon: BattlePokemon): InteractionResultHolder<ItemStack> {
|
||||
return if (canUseOnBattlePokemon(stack, battlePokemon)) {
|
||||
|
||||
+2
-3
@@ -55,9 +55,8 @@ object PokemonMoLangFunctions : AbstractMoLangFunctionHolder<Pokemon>() {
|
||||
}
|
||||
functions["feed_pokemon"] = { params ->
|
||||
val amount = params.getDouble(0)
|
||||
val playSound = params.getBooleanOrNull(1) != false
|
||||
val playMoodParticles = params.getBooleanOrNull(2) != false
|
||||
DoubleValue(pokemon.feedPokemon(amount.toInt(), playSound, playMoodParticles))
|
||||
val playSound = params.getBooleanOrNull(1) ?: true
|
||||
pokemon.feedPokemon(amount.toInt(), playSound)
|
||||
}
|
||||
functions["behaviour"] = { pokemon.form.behaviour.struct }
|
||||
functions["behavior"] = { pokemon.form.behaviour.struct } // Inferior
|
||||
|
||||
@@ -44,7 +44,6 @@ object ActionEffects : JsonDataRegistry<ActionEffectTimeline> {
|
||||
ActionEffectKeyframe.register<EntityMoLangActionEffectKeyframe>("entity_molang")
|
||||
ActionEffectKeyframe.register<MoLangActionEffectKeyframe>("molang")
|
||||
ActionEffectKeyframe.register<ParallelActionEffectKeyframe>("parallel")
|
||||
ActionEffectKeyframe.register<LoopActionEffectKeyframe>("loop")
|
||||
ActionEffectKeyframe.register<CanInterruptActionEffectKeyframe>("can_interrupt")
|
||||
ActionEffectKeyframe.register<CannotInterruptActionEffectKeyframe>("cannot_interrupt")
|
||||
ActionEffectKeyframe.register<RemoveHoldsActionEffectKeyframe>("remove_holds")
|
||||
|
||||
-39
@@ -1,39 +0,0 @@
|
||||
/*
|
||||
* Copyright (C) 2023 Cobblemon Contributors
|
||||
*
|
||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at https://mozilla.org/MPL/2.0/.
|
||||
*/
|
||||
|
||||
package com.cobblemon.mod.common.api.moves.animations.keyframes
|
||||
|
||||
import com.cobblemon.mod.common.api.moves.animations.ActionEffectContext
|
||||
import java.util.concurrent.CompletableFuture
|
||||
|
||||
class LoopActionEffectKeyframe(
|
||||
val keyframe: ActionEffectKeyframe = PauseActionEffectKeyframe()
|
||||
) : ConditionalActionEffectKeyframe() {
|
||||
override fun playWhenTrue(context: ActionEffectContext): CompletableFuture<Unit> {
|
||||
val future = CompletableFuture<Unit>()
|
||||
runIteration(context, future)
|
||||
return future
|
||||
}
|
||||
|
||||
private fun runIteration(context: ActionEffectContext, future: CompletableFuture<Unit>) {
|
||||
context.currentKeyframes.add(keyframe)
|
||||
keyframe.play(context)
|
||||
.thenRun { context.currentKeyframes.remove(keyframe) }
|
||||
.thenAccept {
|
||||
if (condition.resolveBoolean(context.runtime)) {
|
||||
runIteration(context, future)
|
||||
} else {
|
||||
future.complete(Unit)
|
||||
}
|
||||
}
|
||||
.exceptionally {
|
||||
future.completeExceptionally(it)
|
||||
null
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -9,10 +9,7 @@
|
||||
package com.cobblemon.mod.common.entity.ai
|
||||
|
||||
import com.bedrockk.molang.Expression
|
||||
import com.cobblemon.mod.common.CobblemonMemories
|
||||
import com.cobblemon.mod.common.api.molang.MoLangFunctions.asMostSpecificMoLangValue
|
||||
import com.cobblemon.mod.common.entity.pokemon.PokemonEntity
|
||||
import com.cobblemon.mod.common.util.getMemorySafely
|
||||
import com.cobblemon.mod.common.util.mainThreadRuntime
|
||||
import com.cobblemon.mod.common.util.resolveInt
|
||||
import com.cobblemon.mod.common.util.withQueryValue
|
||||
@@ -32,23 +29,12 @@ object FleeFromAttackerTask {
|
||||
Trigger { _, entity, _ ->
|
||||
val hurtByEntity = it.get(hurtByEntity)
|
||||
val avoidTarget = it.tryGet(avoidTarget).orElse(null)
|
||||
|
||||
if (avoidTarget != null && avoidTarget == hurtByEntity) {
|
||||
if (avoidTarget != null && avoidTarget == hurtByEntity.uuid) {
|
||||
return@Trigger false
|
||||
}
|
||||
|
||||
mainThreadRuntime.withQueryValue("entity", entity.asMostSpecificMoLangValue())
|
||||
val avoidDurationTicks = mainThreadRuntime.resolveInt(avoidDurationTicks)
|
||||
|
||||
val pokemonEntity = entity as? PokemonEntity
|
||||
pokemonEntity?.let {
|
||||
it.after(1.0f) {
|
||||
it.playMoodParticle("mood_stress")
|
||||
}
|
||||
}
|
||||
|
||||
entity.brain.setMemoryWithExpiry(MemoryModuleType.AVOID_TARGET, hurtByEntity, avoidDurationTicks.toLong())
|
||||
|
||||
return@Trigger true
|
||||
}
|
||||
}
|
||||
|
||||
@@ -8,7 +8,6 @@
|
||||
|
||||
package com.cobblemon.mod.common.entity.ai
|
||||
|
||||
import com.cobblemon.mod.common.entity.pokemon.PokemonEntity
|
||||
import net.minecraft.world.entity.LivingEntity
|
||||
import net.minecraft.world.entity.ai.behavior.OneShot
|
||||
import net.minecraft.world.entity.ai.behavior.declarative.BehaviorBuilder
|
||||
@@ -25,16 +24,10 @@ object GetAngryAtAttackerTask {
|
||||
Trigger { _, entity, _ ->
|
||||
val hurtByEntity = it.get(hurtByEntity)
|
||||
val angryAt = it.tryGet(angryAt).orElse(null)
|
||||
|
||||
if (angryAt != null && angryAt == hurtByEntity.uuid) {
|
||||
return@Trigger false
|
||||
}
|
||||
|
||||
val becomingAngry = angryAt == null
|
||||
entity.brain.setMemory(MemoryModuleType.ANGRY_AT, hurtByEntity.uuid)
|
||||
if (becomingAngry) {
|
||||
(entity as PokemonEntity?)?.playMoodParticle("mood_anger_steam")
|
||||
}
|
||||
return@Trigger true
|
||||
}
|
||||
}
|
||||
|
||||
@@ -34,9 +34,6 @@ import com.cobblemon.mod.common.api.molang.MoLangFunctions.addPokemonFunctions
|
||||
import com.cobblemon.mod.common.api.molang.MoLangFunctions.addStandardFunctions
|
||||
import com.cobblemon.mod.common.api.molang.MoLangFunctions.setup
|
||||
import com.cobblemon.mod.common.api.molang.ObjectValue
|
||||
import com.cobblemon.mod.common.api.moves.animations.ActionEffectContext
|
||||
import com.cobblemon.mod.common.api.moves.animations.ActionEffects
|
||||
import com.cobblemon.mod.common.api.moves.animations.UsersProvider
|
||||
import com.cobblemon.mod.common.api.net.serializers.PlatformTypeDataSerializer
|
||||
import com.cobblemon.mod.common.api.net.serializers.PoseTypeDataSerializer
|
||||
import com.cobblemon.mod.common.api.net.serializers.RideBoostsDataSerializer
|
||||
@@ -120,6 +117,7 @@ import net.minecraft.core.BlockPos
|
||||
import net.minecraft.core.Direction
|
||||
import net.minecraft.core.component.DataComponents
|
||||
import net.minecraft.core.registries.BuiltInRegistries
|
||||
import net.minecraft.core.registries.Registries
|
||||
import net.minecraft.nbt.CompoundTag
|
||||
import net.minecraft.nbt.NbtOps
|
||||
import net.minecraft.nbt.NbtUtils
|
||||
@@ -135,6 +133,7 @@ import net.minecraft.network.protocol.game.DebugPackets
|
||||
import net.minecraft.network.syncher.EntityDataAccessor
|
||||
import net.minecraft.network.syncher.EntityDataSerializers
|
||||
import net.minecraft.network.syncher.SynchedEntityData
|
||||
import net.minecraft.resources.ResourceKey
|
||||
import net.minecraft.resources.ResourceLocation
|
||||
import net.minecraft.server.level.ServerEntity
|
||||
import net.minecraft.server.level.ServerLevel
|
||||
@@ -176,6 +175,7 @@ import net.minecraft.world.level.gameevent.GameEvent
|
||||
import net.minecraft.world.level.material.EmptyFluid
|
||||
import net.minecraft.world.level.material.FluidState
|
||||
import net.minecraft.world.level.pathfinder.PathType
|
||||
import net.minecraft.world.level.storage.loot.LootTable
|
||||
import net.minecraft.world.phys.AABB
|
||||
import net.minecraft.world.phys.Vec3
|
||||
import java.util.*
|
||||
@@ -245,6 +245,12 @@ open class PokemonEntity(
|
||||
|
||||
override val schedulingTracker = SchedulingTracker()
|
||||
|
||||
override fun getDefaultLootTable(): ResourceKey<LootTable?>? {
|
||||
println(cobblemonResource("pokemon/${this.pokemon.species.resourceIdentifier.path}"))
|
||||
// return ResourceKey.create(Registries.LOOT_TABLE, )
|
||||
return super.getDefaultLootTable()
|
||||
}
|
||||
|
||||
val form: FormData
|
||||
get() = pokemon.form
|
||||
val behaviour: FormPokemonBehaviour
|
||||
@@ -428,9 +434,6 @@ open class PokemonEntity(
|
||||
|
||||
var occupiedSeats = mutableMapOf<Seat, Entity>()
|
||||
|
||||
var moodParticleLock = false
|
||||
var playedZeroStaminaParticle = false
|
||||
|
||||
init {
|
||||
delegate.initialize(this)
|
||||
delegate.changePokemon(pokemon)
|
||||
@@ -910,27 +913,6 @@ open class PokemonEntity(
|
||||
return future
|
||||
}
|
||||
|
||||
fun playMoodParticle(particleName: String) {
|
||||
if (moodParticleLock) return
|
||||
|
||||
val actionEffect = ActionEffects.actionEffects[cobblemonResource(particleName)] ?: return
|
||||
|
||||
cry()
|
||||
|
||||
val context = ActionEffectContext(
|
||||
actionEffect = actionEffect,
|
||||
providers = mutableListOf(UsersProvider(this)),
|
||||
runtime = runtime,
|
||||
level = level()
|
||||
)
|
||||
actionEffect.run(context)
|
||||
|
||||
moodParticleLock = true
|
||||
after(5.0f) {
|
||||
moodParticleLock = false
|
||||
}
|
||||
}
|
||||
|
||||
override fun saveWithoutId(nbt: CompoundTag): CompoundTag {
|
||||
val tethering = this.tethering
|
||||
if (tethering != null) {
|
||||
@@ -2342,8 +2324,6 @@ open class PokemonEntity(
|
||||
ifRidingAvailable { _, _, state ->
|
||||
state.stamina.set(entityData.get(RIDE_STAMINA))
|
||||
}
|
||||
|
||||
playedZeroStaminaParticle = false
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2372,26 +2352,12 @@ open class PokemonEntity(
|
||||
|
||||
override fun tickRidden(driver: Player, movementInput: Vec3) {
|
||||
super.tickRidden(driver, movementInput)
|
||||
|
||||
ifRidingAvailable { behaviour, settings, state ->
|
||||
behaviour.tick(settings, state, this, driver, movementInput)
|
||||
if (entityData.get(RIDE_STAMINA) == -1F) {
|
||||
state.stamina.set(1F, forced = true)
|
||||
}
|
||||
|
||||
if (!level().isClientSide) {
|
||||
val stamina = state.stamina.get()
|
||||
|
||||
if (stamina <= 0f) {
|
||||
if (!playedZeroStaminaParticle) {
|
||||
playMoodParticle("mood_stress")
|
||||
playedZeroStaminaParticle = true
|
||||
}
|
||||
} else {
|
||||
playedZeroStaminaParticle = false
|
||||
}
|
||||
}
|
||||
|
||||
if (!this.level().isClientSide) {
|
||||
val pose = behaviour.pose(settings, state, this)
|
||||
if (pose != this.entityData.get(POSE_TYPE)) {
|
||||
|
||||
-5
@@ -44,11 +44,6 @@ class DefendOwnerSensor : Sensor<PokemonEntity>(10) {
|
||||
return@findClosest false
|
||||
}.map { mob -> mob as LivingEntity }
|
||||
|
||||
val previousAttacker = entity.brain.getMemorySafely(CobblemonMemories.NEAREST_VISIBLE_ATTACKER)
|
||||
val isNewAttacker = nearestAttacker.isPresent && previousAttacker.isEmpty
|
||||
entity.brain.setMemory(CobblemonMemories.NEAREST_VISIBLE_ATTACKER, nearestAttacker)
|
||||
if (isNewAttacker) {
|
||||
entity.playMoodParticle("mood_anger_steam")
|
||||
}
|
||||
}
|
||||
}
|
||||
-6
@@ -9,7 +9,6 @@
|
||||
package com.cobblemon.mod.common.entity.pokemon.ai.tasks
|
||||
|
||||
import com.cobblemon.mod.common.entity.pokemon.PokemonEntity
|
||||
import com.cobblemon.mod.common.util.getMemorySafely
|
||||
import net.minecraft.world.entity.LivingEntity
|
||||
import net.minecraft.world.entity.Mob
|
||||
import net.minecraft.world.entity.ai.behavior.OneShot
|
||||
@@ -61,12 +60,7 @@ object AttackHostileMobsTask {
|
||||
}
|
||||
|
||||
if (hostile != null) {
|
||||
val isNewTarget = currentTarget == null
|
||||
entity.brain.setMemory(MemoryModuleType.ATTACK_TARGET, hostile)
|
||||
if (isNewTarget) {
|
||||
(entity as? PokemonEntity)?.playMoodParticle("mood_anger_steam")
|
||||
}
|
||||
|
||||
true
|
||||
} else {
|
||||
false
|
||||
|
||||
+1
-1
@@ -91,7 +91,7 @@ class EatHeldItemTask(entity: PokemonEntity) : Behavior<PokemonEntity>(
|
||||
}
|
||||
this.timelastEaten = time
|
||||
if (itemConfig != null && itemConfig.fullnessValue > 0) {
|
||||
entity.pokemon.feedPokemon(itemConfig.fullnessValue, false, false)
|
||||
entity.pokemon.feedPokemon(itemConfig.fullnessValue, false)
|
||||
}
|
||||
// Check if the result item is something that should be dropped
|
||||
resultItemStack = entity.pokemon.heldItem()
|
||||
|
||||
@@ -13,9 +13,7 @@ import com.cobblemon.mod.common.api.apricorn.Apricorn
|
||||
import com.cobblemon.mod.common.api.item.PokemonSelectingItem
|
||||
import com.cobblemon.mod.common.api.riding.stats.RidingStat
|
||||
import com.cobblemon.mod.common.client.pot.CookingQuality
|
||||
import com.cobblemon.mod.common.net.messages.client.effect.SpawnSnowstormEntityParticlePacket
|
||||
import com.cobblemon.mod.common.pokemon.Pokemon
|
||||
import com.cobblemon.mod.common.util.cobblemonResource
|
||||
import net.minecraft.network.chat.Component
|
||||
import net.minecraft.server.level.ServerLevel
|
||||
import net.minecraft.server.level.ServerPlayer
|
||||
@@ -94,9 +92,7 @@ class AprijuiceItem(val type: Apricorn): CobblemonItem(Properties().stacksTo(16)
|
||||
return InteractionResultHolder.fail(stack)
|
||||
}
|
||||
|
||||
if (!pokemon.feedPokemon(1)) {
|
||||
return InteractionResultHolder.fail(stack)
|
||||
}
|
||||
pokemon.feedPokemon(1)
|
||||
|
||||
val boosts = getBoosts(stack)
|
||||
pokemon.addRideBoosts(boosts.mapValues { it.value.toFloat() })
|
||||
|
||||
@@ -96,9 +96,8 @@ class PokePuffItem : Item(Properties().stacksTo(64)), PokemonSelectingItem {
|
||||
return InteractionResultHolder.fail(stack)
|
||||
}
|
||||
|
||||
if (!pokemon.feedPokemon(4)) {
|
||||
return InteractionResultHolder.fail(stack)
|
||||
}
|
||||
// Feed the Pokémon 4 fullness points
|
||||
pokemon.feedPokemon(4)
|
||||
|
||||
val friendshipChange = PokePuffUtils.calculateFriendshipChange(stack, pokemon.nature)
|
||||
|
||||
|
||||
+6
-8
@@ -54,16 +54,14 @@ class FriendshipRaisingBerryItem(block: BerryBlock, val stat: Stat) : BerryItem(
|
||||
val evLowerAmount = max(genericRuntime.resolveInt(CobblemonMechanics.berries.evLowerAmount), 0)
|
||||
val decreasedEVs = pokemon.evs.add(stat, -evLowerAmount, ItemEvSource(player, stack, pokemon)) != 0
|
||||
|
||||
if (!increasedFriendship && !decreasedEVs) {
|
||||
return InteractionResultHolder.pass(stack)
|
||||
}
|
||||
return if (increasedFriendship || decreasedEVs) {
|
||||
pokemon.feedPokemon(1)
|
||||
|
||||
if (!pokemon.feedPokemon(1)) {
|
||||
return InteractionResultHolder.fail(stack)
|
||||
stack.consume(1, player)
|
||||
InteractionResultHolder.success(stack)
|
||||
} else {
|
||||
InteractionResultHolder.pass(stack)
|
||||
}
|
||||
|
||||
stack.consume(1, player)
|
||||
return InteractionResultHolder.success(stack)
|
||||
}
|
||||
|
||||
override fun use(world: Level, user: Player, hand: InteractionHand): InteractionResultHolder<ItemStack> {
|
||||
|
||||
@@ -54,10 +54,7 @@ class HealingBerryItem(block: BerryBlock, val amount: () -> ExpressionLike): Ber
|
||||
return InteractionResultHolder.fail(stack)
|
||||
}
|
||||
|
||||
if (!pokemon.feedPokemon(1)) {
|
||||
return InteractionResultHolder.fail(stack)
|
||||
}
|
||||
|
||||
pokemon.feedPokemon(1)
|
||||
pokemon.currentHealth = Integer.min(pokemon.currentHealth + genericRuntime.resolveInt(amount(), pokemon), pokemon.maxHealth)
|
||||
stack.consume(1, player)
|
||||
return InteractionResultHolder.success(stack)
|
||||
@@ -65,7 +62,7 @@ class HealingBerryItem(block: BerryBlock, val amount: () -> ExpressionLike): Ber
|
||||
|
||||
override fun applyToBattlePokemon(player: ServerPlayer, stack: ItemStack, battlePokemon: BattlePokemon) {
|
||||
super.applyToBattlePokemon(player, stack, battlePokemon)
|
||||
battlePokemon.originalPokemon.feedPokemon(1, playMoodParticle = false)
|
||||
battlePokemon.originalPokemon.feedPokemon(1)
|
||||
}
|
||||
|
||||
override fun use(world: Level, user: Player, hand: InteractionHand): InteractionResultHolder<ItemStack> {
|
||||
|
||||
@@ -48,26 +48,21 @@ class PPRestoringBerryItem(block: BerryBlock, val amount: () -> ExpressionLike):
|
||||
&& super.canUseOnPokemon(stack, pokemon)
|
||||
|
||||
override fun applyToPokemon(player: ServerPlayer, stack: ItemStack, pokemon: Pokemon, move: Move) {
|
||||
if (!canUseOnPokemon(stack, pokemon) && canUseOnMove(stack, move)) {
|
||||
return
|
||||
}
|
||||
if (canUseOnPokemon(stack, pokemon) && canUseOnMove(stack, move)) {
|
||||
pokemon.feedPokemon(1)
|
||||
val moveToRecover = pokemon.moveSet.find { it.template == move.template }
|
||||
if (moveToRecover != null && moveToRecover.currentPp < moveToRecover.maxPp) {
|
||||
moveToRecover.currentPp =
|
||||
min(moveToRecover.maxPp, moveToRecover.currentPp + genericRuntime.resolveInt(amount(), pokemon))
|
||||
|
||||
if (!pokemon.feedPokemon(1)) {
|
||||
return
|
||||
}
|
||||
|
||||
val moveToRecover = pokemon.moveSet.find { it.template == move.template }
|
||||
if (moveToRecover != null && moveToRecover.currentPp < moveToRecover.maxPp) {
|
||||
moveToRecover.currentPp =
|
||||
min(moveToRecover.maxPp, moveToRecover.currentPp + genericRuntime.resolveInt(amount(), pokemon))
|
||||
|
||||
stack.consume(1, player)
|
||||
stack.consume(1, player)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
override fun applyToBattlePokemon(player: ServerPlayer, stack: ItemStack, battlePokemon: BattlePokemon, move: Move) {
|
||||
super.applyToBattlePokemon(player, stack, battlePokemon, move)
|
||||
battlePokemon.originalPokemon.feedPokemon(1, playMoodParticle = false)
|
||||
battlePokemon.originalPokemon.feedPokemon(1)
|
||||
}
|
||||
|
||||
override fun use(world: Level, user: Player, hand: InteractionHand): InteractionResultHolder<ItemStack> {
|
||||
|
||||
+2
-4
@@ -59,9 +59,7 @@ class PortionHealingBerryItem(block: BerryBlock, val canCauseConfusion: Boolean,
|
||||
}
|
||||
|
||||
// count these berries as multiple feedings due to the amount they heal
|
||||
if (!pokemon.feedPokemon(5)) {
|
||||
return InteractionResultHolder.fail(stack)
|
||||
}
|
||||
pokemon.feedPokemon(5)
|
||||
|
||||
var amount = Integer.min(pokemon.currentHealth + (genericRuntime.resolveFloat(portion(), pokemon) * pokemon.maxHealth).toInt(), pokemon.maxHealth)
|
||||
CobblemonEvents.POKEMON_HEALED.postThen(PokemonHealedEvent(pokemon, amount, this), { cancelledEvent -> return InteractionResultHolder.fail(stack)}) { event ->
|
||||
@@ -75,7 +73,7 @@ class PortionHealingBerryItem(block: BerryBlock, val canCauseConfusion: Boolean,
|
||||
|
||||
override fun applyToBattlePokemon(player: ServerPlayer, stack: ItemStack, battlePokemon: BattlePokemon) {
|
||||
super.applyToBattlePokemon(player, stack, battlePokemon)
|
||||
battlePokemon.originalPokemon.feedPokemon(5, playMoodParticle = false)
|
||||
battlePokemon.originalPokemon.feedPokemon(5)
|
||||
}
|
||||
|
||||
override fun use(world: Level, user: Player, hand: InteractionHand): InteractionResultHolder<ItemStack> {
|
||||
|
||||
+8
-12
@@ -58,23 +58,19 @@ class StatusCuringBerryItem(block: BerryBlock, vararg val status: Status): Berry
|
||||
stack: ItemStack,
|
||||
pokemon: Pokemon
|
||||
): InteractionResultHolder<ItemStack>? {
|
||||
if (!canUseOnPokemon(stack, pokemon)) {
|
||||
return InteractionResultHolder.fail(stack)
|
||||
return if (canUseOnPokemon(stack, pokemon)) {
|
||||
pokemon.feedPokemon(1)
|
||||
pokemon.status = null
|
||||
stack.consume(1, player)
|
||||
InteractionResultHolder.success(stack)
|
||||
} else {
|
||||
InteractionResultHolder.fail(stack)
|
||||
}
|
||||
|
||||
if (!pokemon.feedPokemon(1)) {
|
||||
return InteractionResultHolder.fail(stack)
|
||||
}
|
||||
|
||||
pokemon.status = null
|
||||
stack.consume(1, player)
|
||||
|
||||
return InteractionResultHolder.success(stack)
|
||||
}
|
||||
|
||||
override fun applyToBattlePokemon(player: ServerPlayer, stack: ItemStack, battlePokemon: BattlePokemon) {
|
||||
super.applyToBattlePokemon(player, stack, battlePokemon)
|
||||
battlePokemon.originalPokemon.feedPokemon(1, playMoodParticle = false)
|
||||
battlePokemon.originalPokemon.feedPokemon(1)
|
||||
}
|
||||
|
||||
override fun use(world: Level, user: Player, hand: InteractionHand): InteractionResultHolder<ItemStack> {
|
||||
|
||||
@@ -53,10 +53,7 @@ class BerryJuiceItem : CobblemonItem(Properties()), PokemonSelectingItem, Healin
|
||||
if (!canUseOnPokemon(stack, pokemon)) {
|
||||
return InteractionResultHolder.fail(stack)
|
||||
}
|
||||
|
||||
if (!pokemon.feedPokemon(1)) {
|
||||
return InteractionResultHolder.fail(stack)
|
||||
}
|
||||
pokemon.feedPokemon(1)
|
||||
|
||||
var amount = Integer.min(pokemon.currentHealth + 20, pokemon.maxHealth)
|
||||
CobblemonEvents.POKEMON_HEALED.postThen(PokemonHealedEvent(pokemon, amount, this), { cancelledEvent -> return InteractionResultHolder.fail(stack)}) { event ->
|
||||
@@ -77,9 +74,7 @@ class BerryJuiceItem : CobblemonItem(Properties()), PokemonSelectingItem, Healin
|
||||
|
||||
override fun applyToBattlePokemon(player: ServerPlayer, stack: ItemStack, battlePokemon: BattlePokemon) {
|
||||
super.applyToBattlePokemon(player, stack, battlePokemon)
|
||||
|
||||
battlePokemon.originalPokemon.feedPokemon(1, playMoodParticle = false)
|
||||
|
||||
battlePokemon.originalPokemon.feedPokemon(1)
|
||||
if (!player.hasInfiniteMaterials()) {
|
||||
val woodenBowlItemStack = ItemStack(Items.BOWL)
|
||||
if (!player.inventory.add(woodenBowlItemStack)) {
|
||||
|
||||
+1
-3
@@ -33,9 +33,7 @@ class FreshStartMochiItem : CobblemonItem(Properties()), PokemonSelectingItem {
|
||||
return InteractionResultHolder.fail(stack)
|
||||
}
|
||||
|
||||
if (!pokemon.feedPokemon(1)) {
|
||||
return InteractionResultHolder.fail(stack)
|
||||
}
|
||||
pokemon.feedPokemon(1)
|
||||
|
||||
pokemon.evs.forEach {
|
||||
pokemon.setEV(it.key, 0)
|
||||
|
||||
@@ -27,9 +27,7 @@ class MochiItem(override val stat: Stat): CobblemonItem(Properties()), EVIncreas
|
||||
return InteractionResultHolder.fail(stack)
|
||||
}
|
||||
|
||||
if (!pokemon.feedPokemon(1)) {
|
||||
return InteractionResultHolder.fail(stack)
|
||||
}
|
||||
pokemon.feedPokemon(1)
|
||||
|
||||
return super.applyToPokemon(player, stack, pokemon)
|
||||
}
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
package com.cobblemon.mod.common.loot
|
||||
|
||||
import com.cobblemon.mod.common.loot.conditions.BiomeLootItemCondition
|
||||
import com.cobblemon.mod.common.loot.conditions.PokemonPropertiesLootItemCondition
|
||||
import com.cobblemon.mod.common.util.cobblemonResource
|
||||
import net.minecraft.core.Registry
|
||||
import net.minecraft.core.registries.BuiltInRegistries
|
||||
import net.minecraft.world.level.storage.loot.predicates.LootItemConditionType
|
||||
|
||||
object CobblemonLootItemConditions {
|
||||
|
||||
@JvmField
|
||||
val POKEMON_PROPERTIES_CONDITION = Registry.register(
|
||||
BuiltInRegistries.LOOT_CONDITION_TYPE,
|
||||
cobblemonResource("pokemon_properties"),
|
||||
LootItemConditionType(PokemonPropertiesLootItemCondition.CODEC)
|
||||
)
|
||||
|
||||
@JvmField
|
||||
val BIOME_CONDITION = Registry.register(
|
||||
BuiltInRegistries.LOOT_CONDITION_TYPE,
|
||||
cobblemonResource("biome"),
|
||||
LootItemConditionType(BiomeLootItemCondition.CODEC)
|
||||
)
|
||||
|
||||
fun touch() = Unit
|
||||
|
||||
}
|
||||
+38
@@ -0,0 +1,38 @@
|
||||
package com.cobblemon.mod.common.loot.conditions
|
||||
|
||||
import com.cobblemon.mod.common.api.conditional.RegistryLikeCondition
|
||||
import com.cobblemon.mod.common.api.conditional.makeCodecForRegistryLikeCondition
|
||||
import com.cobblemon.mod.common.loot.CobblemonLootItemConditions
|
||||
import com.cobblemon.mod.common.util.toBlockPos
|
||||
import com.mojang.serialization.MapCodec
|
||||
import com.mojang.serialization.codecs.RecordCodecBuilder
|
||||
import net.minecraft.core.registries.Registries
|
||||
import net.minecraft.world.level.biome.Biome
|
||||
import net.minecraft.world.level.storage.loot.LootContext
|
||||
import net.minecraft.world.level.storage.loot.parameters.LootContextParams
|
||||
import net.minecraft.world.level.storage.loot.predicates.LootItemCondition
|
||||
import net.minecraft.world.level.storage.loot.predicates.LootItemConditionType
|
||||
|
||||
class BiomeLootItemCondition(
|
||||
val biome: RegistryLikeCondition<Biome>
|
||||
) : LootItemCondition {
|
||||
override fun getType(): LootItemConditionType {
|
||||
return CobblemonLootItemConditions.BIOME_CONDITION
|
||||
}
|
||||
|
||||
override fun test(t: LootContext): Boolean {
|
||||
val temp = biome.fits(t.level.getBiome(t.getParam(LootContextParams.ORIGIN).toBlockPos()))
|
||||
return temp
|
||||
}
|
||||
|
||||
companion object {
|
||||
private val BIOME_CODEC = makeCodecForRegistryLikeCondition("biome", Registries.BIOME)
|
||||
|
||||
val CODEC: MapCodec<BiomeLootItemCondition> = RecordCodecBuilder.mapCodec { instance ->
|
||||
instance.group(
|
||||
BIOME_CODEC.fieldOf("biome")
|
||||
.forGetter(BiomeLootItemCondition::biome)
|
||||
).apply(instance, ::BiomeLootItemCondition)
|
||||
}
|
||||
}
|
||||
}
|
||||
+33
@@ -0,0 +1,33 @@
|
||||
package com.cobblemon.mod.common.loot.conditions
|
||||
|
||||
import com.cobblemon.mod.common.api.pokemon.PokemonProperties
|
||||
import com.cobblemon.mod.common.entity.pokemon.PokemonEntity
|
||||
import com.cobblemon.mod.common.loot.CobblemonLootItemConditions
|
||||
import com.mojang.serialization.MapCodec
|
||||
import com.mojang.serialization.codecs.RecordCodecBuilder
|
||||
import net.minecraft.world.level.storage.loot.LootContext
|
||||
import net.minecraft.world.level.storage.loot.parameters.LootContextParams
|
||||
import net.minecraft.world.level.storage.loot.predicates.LootItemCondition
|
||||
import net.minecraft.world.level.storage.loot.predicates.LootItemConditionType
|
||||
|
||||
class PokemonPropertiesLootItemCondition(
|
||||
val properties: PokemonProperties
|
||||
) : LootItemCondition {
|
||||
override fun getType(): LootItemConditionType {
|
||||
return CobblemonLootItemConditions.POKEMON_PROPERTIES_CONDITION
|
||||
}
|
||||
|
||||
override fun test(t: LootContext): Boolean {
|
||||
val pokemon = t.getParamOrNull(LootContextParams.THIS_ENTITY) as? PokemonEntity ?: return false
|
||||
return properties.matches(pokemon)
|
||||
}
|
||||
|
||||
companion object {
|
||||
val CODEC: MapCodec<PokemonPropertiesLootItemCondition> = RecordCodecBuilder.mapCodec { instance ->
|
||||
instance.group(
|
||||
PokemonProperties.CODEC.fieldOf("properties")
|
||||
.forGetter(PokemonPropertiesLootItemCondition::properties)
|
||||
).apply(instance, ::PokemonPropertiesLootItemCondition)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -991,10 +991,6 @@ open class Pokemon : ShowdownIdentifiable {
|
||||
this.recall()
|
||||
}
|
||||
|
||||
fun playMoodParticle(particleName: String) {
|
||||
entity?.playMoodParticle(particleName)
|
||||
}
|
||||
|
||||
fun heal() {
|
||||
CobblemonEvents.POKEMON_HEALED.postThen(PokemonHealedEvent(this)) { event ->
|
||||
this.currentHealth = maxHealth
|
||||
@@ -1066,13 +1062,23 @@ open class Pokemon : ShowdownIdentifiable {
|
||||
else -> 0 // For weights less than 0.1
|
||||
}
|
||||
|
||||
fun feedPokemon(feedCount: Int, playSound: Boolean = true, playMoodParticle: Boolean = true): Boolean {
|
||||
playFullnessEffects(playSound, playMoodParticle)
|
||||
fun feedPokemon(feedCount: Int, playSound: Boolean = true) {
|
||||
// play sounds from the entity first (itemstack is consumed outside of this function)
|
||||
if (this.entity != null && playSound) {
|
||||
val fullnessPercent = ((this.currentFullness).toFloat() / (this.getMaxFullness()).toFloat()) * (.5f)
|
||||
|
||||
if (this.currentFullness >= this.getMaxFullness()) {
|
||||
this.entity?.playSound(CobblemonSounds.BERRY_EAT_FULL, 1F, 1F)
|
||||
}
|
||||
else {
|
||||
this.entity?.playSound(CobblemonSounds.BERRY_EAT, 1F, 1F + fullnessPercent)
|
||||
}
|
||||
}
|
||||
|
||||
// if it is already full we don't need to do anything
|
||||
// TODO this can happen when feeding in battle since we are temporarily ignoring fullness checks for pp/hp/status berries
|
||||
if (isFull()) {
|
||||
return false
|
||||
return
|
||||
}
|
||||
|
||||
this.currentFullness = (this.currentFullness + feedCount).coerceIn(0, this.getMaxFullness())
|
||||
@@ -1081,31 +1087,6 @@ open class Pokemon : ShowdownIdentifiable {
|
||||
if (this.currentFullness == 1) {
|
||||
this.resetMetabolismCycle()
|
||||
}
|
||||
|
||||
return true
|
||||
}
|
||||
|
||||
private fun playFullnessEffects(playSound: Boolean = true, playMoodParticle: Boolean = true) {
|
||||
if (!playSound && !playMoodParticle) return
|
||||
|
||||
val pokemonEntity = entity ?: return
|
||||
val fullnessPercent = ((this.currentFullness).toFloat() / (this.getMaxFullness()).toFloat()) * (.5f)
|
||||
|
||||
if (!isFull()) {
|
||||
if (playSound) {
|
||||
pokemonEntity.playSound(CobblemonSounds.BERRY_EAT, 1F, 1F + fullnessPercent)
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
if (playSound) {
|
||||
pokemonEntity.playSound(CobblemonSounds.BERRY_EAT_FULL, 1F, 1F)
|
||||
|
||||
if (playMoodParticle) {
|
||||
pokemonEntity.playMoodParticle("mood_annoyed")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// decrease a pokemon's Fullness value by a certain amount
|
||||
|
||||
-43
@@ -1,43 +0,0 @@
|
||||
{
|
||||
"format_version": "1.10.0",
|
||||
"particle_effect": {
|
||||
"description": {
|
||||
"identifier": "cobblemon:mood_anger_steam",
|
||||
"basic_render_parameters": {
|
||||
"material": "particles_alpha",
|
||||
"texture": "textures/particles/mood/steam_center_double"
|
||||
}
|
||||
},
|
||||
"components": {
|
||||
"minecraft:emitter_rate_instant": {
|
||||
"num_particles": 1
|
||||
},
|
||||
"minecraft:emitter_lifetime_once": {
|
||||
"active_time": 1
|
||||
},
|
||||
"minecraft:emitter_shape_point": {
|
||||
"offset": [0, "math.clamp((v.entity_radius*1.2),0.48,0.96)*0.75", 0]
|
||||
},
|
||||
"minecraft:particle_lifetime_expression": {
|
||||
"max_lifetime": 1
|
||||
},
|
||||
"minecraft:particle_initial_speed": 0,
|
||||
"minecraft:particle_motion_dynamic": {},
|
||||
"minecraft:particle_appearance_billboard": {
|
||||
"size": ["math.clamp((v.entity_radius*1.5),0.9,2.4)", "math.clamp((v.entity_radius*0.5),0.3,0.8)"],
|
||||
"facing_camera_mode": "rotate_xyz",
|
||||
"uv": {
|
||||
"texture_width": 48,
|
||||
"texture_height": 176,
|
||||
"flipbook": {
|
||||
"base_UV": [0, 0],
|
||||
"size_UV": [48, 16],
|
||||
"step_UV": [0, 16],
|
||||
"max_frame": 11,
|
||||
"stretch_to_lifetime": true
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
-64
@@ -1,64 +0,0 @@
|
||||
{
|
||||
"format_version": "1.10.0",
|
||||
"particle_effect": {
|
||||
"description": {
|
||||
"identifier": "cobblemon:mood_anger_veins",
|
||||
"basic_render_parameters": {
|
||||
"material": "particles_alpha",
|
||||
"texture": "textures/particles/mood/vein_red"
|
||||
}
|
||||
},
|
||||
"components": {
|
||||
"minecraft:emitter_initialization": {
|
||||
"creation_expression": "v.particle_size = math.clamp((v.entity_radius*0.75),0.15,0.4);"
|
||||
},
|
||||
"minecraft:emitter_rate_instant": {
|
||||
"num_particles": 1
|
||||
},
|
||||
"minecraft:emitter_lifetime_once": {
|
||||
"active_time": 1
|
||||
},
|
||||
"minecraft:emitter_shape_point": {
|
||||
"direction": ["math.random(-1,1)", 1.5, "math.random(-1,1)"]
|
||||
},
|
||||
"minecraft:particle_lifetime_expression": {
|
||||
"max_lifetime": 1.25
|
||||
},
|
||||
"minecraft:particle_initial_spin": {
|
||||
"rotation": "math.random_integer(-1,2)*90"
|
||||
},
|
||||
"minecraft:particle_initial_speed": "v.particle_size*13",
|
||||
"minecraft:particle_motion_dynamic": {
|
||||
"linear_acceleration": [0, 0.75, 0],
|
||||
"linear_drag_coefficient": "v.particle_size*15"
|
||||
},
|
||||
"minecraft:particle_appearance_billboard": {
|
||||
"size": ["math.clamp((v.entity_radius*0.75),0.15,0.3)", "math.clamp((v.entity_radius*0.75),0.15,0.3)"],
|
||||
"facing_camera_mode": "rotate_xyz",
|
||||
"uv": {
|
||||
"texture_width": 22,
|
||||
"texture_height": 11,
|
||||
"flipbook": {
|
||||
"base_UV": [0, 0],
|
||||
"size_UV": [11, 11],
|
||||
"step_UV": [11, 0],
|
||||
"frames_per_second": 6,
|
||||
"max_frame": 2,
|
||||
"loop": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"minecraft:particle_motion_collision": {},
|
||||
"minecraft:particle_appearance_lighting": {},
|
||||
"minecraft:particle_appearance_tinting": {
|
||||
"color": {
|
||||
"interpolant": "v.particle_age/v.particle_lifetime",
|
||||
"gradient": {
|
||||
"0.86": "#ffffffff",
|
||||
"1.0": "#FF000000"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
-49
@@ -1,49 +0,0 @@
|
||||
{
|
||||
"format_version": "1.10.0",
|
||||
"particle_effect": {
|
||||
"description": {
|
||||
"identifier": "cobblemon:mood_annoyed",
|
||||
"basic_render_parameters": {
|
||||
"material": "particles_alpha",
|
||||
"texture": "textures/particles/mood/scribble_purple"
|
||||
}
|
||||
},
|
||||
"components": {
|
||||
"minecraft:emitter_initialization": {
|
||||
"creation_expression": "v.particle_size = math.clamp((v.entity_radius*0.75),0.2,0.5);"
|
||||
},
|
||||
"minecraft:emitter_rate_instant": {
|
||||
"num_particles": 1
|
||||
},
|
||||
"minecraft:emitter_lifetime_once": {
|
||||
"active_time": 2
|
||||
},
|
||||
"minecraft:emitter_shape_point": {
|
||||
"direction": [0, 1, 0]
|
||||
},
|
||||
"minecraft:particle_lifetime_expression": {
|
||||
"max_lifetime": 1
|
||||
},
|
||||
"minecraft:particle_initial_speed": "v.particle_size*10",
|
||||
"minecraft:particle_motion_dynamic": {
|
||||
"linear_drag_coefficient": 3
|
||||
},
|
||||
"minecraft:particle_appearance_billboard": {
|
||||
"size": ["math.clamp((v.entity_radius*0.75),0.2,0.5)", "math.clamp((v.entity_radius*0.75),0.2,0.5)"],
|
||||
"facing_camera_mode": "rotate_xyz",
|
||||
"uv": {
|
||||
"texture_width": 168,
|
||||
"texture_height": 14,
|
||||
"flipbook": {
|
||||
"base_UV": [0, 0],
|
||||
"size_UV": [14, 14],
|
||||
"step_UV": [14, 0],
|
||||
"frames_per_second": 10,
|
||||
"max_frame": 12
|
||||
}
|
||||
}
|
||||
},
|
||||
"minecraft:particle_appearance_lighting": {}
|
||||
}
|
||||
}
|
||||
}
|
||||
-47
@@ -1,47 +0,0 @@
|
||||
{
|
||||
"format_version": "1.10.0",
|
||||
"particle_effect": {
|
||||
"description": {
|
||||
"identifier": "cobblemon:mood_stress",
|
||||
"basic_render_parameters": {
|
||||
"material": "particles_alpha",
|
||||
"texture": "textures/particles/mood/sweat_blue"
|
||||
}
|
||||
},
|
||||
"components": {
|
||||
"minecraft:emitter_initialization": {
|
||||
"creation_expression": "v.particle_height = math.clamp((v.entity_radius*1.2),0.48,0.96);"
|
||||
},
|
||||
"minecraft:emitter_rate_instant": {
|
||||
"num_particles": 1
|
||||
},
|
||||
"minecraft:emitter_lifetime_looping": {
|
||||
"active_time": 1
|
||||
},
|
||||
"minecraft:emitter_shape_point": {
|
||||
"offset": [0, "math.clamp((v.entity_radius*1.2),0.48,0.96)*0.75", 0]
|
||||
},
|
||||
"minecraft:particle_lifetime_expression": {
|
||||
"max_lifetime": 0.45
|
||||
},
|
||||
"minecraft:particle_initial_speed": 0,
|
||||
"minecraft:particle_motion_dynamic": {},
|
||||
"minecraft:particle_appearance_billboard": {
|
||||
"size": ["math.clamp((v.entity_radius*1.2),0.48,0.96)", "math.clamp((v.entity_radius*0.65),0.26,0.52)"],
|
||||
"facing_camera_mode": "rotate_xyz",
|
||||
"uv": {
|
||||
"texture_width": 216,
|
||||
"texture_height": 13,
|
||||
"flipbook": {
|
||||
"base_UV": [0, 0],
|
||||
"size_UV": [24, 13],
|
||||
"step_UV": [24, 0],
|
||||
"max_frame": 9,
|
||||
"stretch_to_lifetime": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"minecraft:particle_appearance_lighting": {}
|
||||
}
|
||||
}
|
||||
}
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 979 B |
BIN
Binary file not shown.
|
Before Width: | Height: | Size: 744 B |
Binary file not shown.
|
Before Width: | Height: | Size: 589 B |
Binary file not shown.
|
Before Width: | Height: | Size: 290 B |
@@ -1,27 +0,0 @@
|
||||
{
|
||||
"timeline": [
|
||||
{
|
||||
"type": "entity_particles",
|
||||
"effect": "cobblemon:mood_anger_steam",
|
||||
"locators": ["head", "top"]
|
||||
},
|
||||
{
|
||||
"type": "loop",
|
||||
"condition": "q.entity.has_memory_value('minecraft:angry_at') || q.entity.has_memory_value('minecraft:attack_target') || q.entity.has_memory_value('cobblemon:nearest_visible_attacker')",
|
||||
"keyframe": {
|
||||
"type": "sequence",
|
||||
"keyframes": [
|
||||
{
|
||||
"type": "entity_particles",
|
||||
"effect": "cobblemon:mood_anger_veins",
|
||||
"locators": ["head", "top"]
|
||||
},
|
||||
{
|
||||
"type": "pause",
|
||||
"pause": 1
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,9 +0,0 @@
|
||||
{
|
||||
"timeline": [
|
||||
{
|
||||
"type": "entity_particles",
|
||||
"effect": "cobblemon:mood_annoyed",
|
||||
"locators": ["head", "top"]
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,9 +0,0 @@
|
||||
{
|
||||
"timeline": [
|
||||
{
|
||||
"type": "entity_particles",
|
||||
"effect": "cobblemon:mood_stress",
|
||||
"locators": ["head", "top"]
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,112 @@
|
||||
{
|
||||
"type": "minecraft:generic",
|
||||
"pools": [
|
||||
{
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"name": "minecraft:snowball",
|
||||
"functions": [
|
||||
{
|
||||
"function": "set_count",
|
||||
"count": {
|
||||
"min": 0,
|
||||
"max": 2
|
||||
}
|
||||
},
|
||||
{
|
||||
"count": {
|
||||
"type": "minecraft:uniform",
|
||||
"max": 1,
|
||||
"min": 0
|
||||
},
|
||||
"enchantment": "minecraft:looting",
|
||||
"function": "minecraft:enchanted_count_increase"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"name": "minecraft:sweet_berries",
|
||||
"functions": [
|
||||
{
|
||||
"function": "set_count",
|
||||
"count": {
|
||||
"min": 2,
|
||||
"max": 4
|
||||
}
|
||||
},
|
||||
{
|
||||
"count": {
|
||||
"type": "minecraft:uniform",
|
||||
"max": 1,
|
||||
"min": 0
|
||||
},
|
||||
"enchantment": "minecraft:looting",
|
||||
"function": "minecraft:enchanted_count_increase"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"name": "cobblemon:never_melt_ice",
|
||||
"functions": [
|
||||
{
|
||||
"count": {
|
||||
"type": "minecraft:uniform",
|
||||
"max": 1,
|
||||
"min": 0
|
||||
},
|
||||
"enchantment": "minecraft:looting",
|
||||
"function": "minecraft:enchanted_count_increase"
|
||||
}
|
||||
],
|
||||
"conditions": [
|
||||
{
|
||||
"condition": "minecraft:random_chance",
|
||||
"chance": 0.05
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"name": "cobblemon:occa_berry",
|
||||
"functions": [
|
||||
{
|
||||
"count": {
|
||||
"type": "minecraft:uniform",
|
||||
"max": 1,
|
||||
"min": 0
|
||||
},
|
||||
"enchantment": "minecraft:looting",
|
||||
"function": "minecraft:enchanted_count_increase"
|
||||
}
|
||||
],
|
||||
"conditions": [
|
||||
{
|
||||
"condition": "minecraft:random_chance",
|
||||
"chance": 0.05
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"random_sequence": "cobblemon:pokemon/abomasnow"
|
||||
}
|
||||
@@ -0,0 +1,85 @@
|
||||
{
|
||||
"type": "minecraft:generic",
|
||||
"pools": [
|
||||
{
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"name": "minecraft:ender_pearl",
|
||||
"functions": [
|
||||
{
|
||||
"function": "set_count",
|
||||
"count": {
|
||||
"min": 0,
|
||||
"max": 1
|
||||
}
|
||||
},
|
||||
{
|
||||
"count": {
|
||||
"type": "minecraft:uniform",
|
||||
"max": 1,
|
||||
"min": 0
|
||||
},
|
||||
"enchantment": "minecraft:looting",
|
||||
"function": "minecraft:enchanted_count_increase"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"name": "cobblemon:twisted_spoon",
|
||||
"functions": [
|
||||
{
|
||||
"count": {
|
||||
"type": "minecraft:uniform",
|
||||
"max": 1,
|
||||
"min": 0
|
||||
},
|
||||
"enchantment": "minecraft:looting",
|
||||
"function": "minecraft:enchanted_count_increase"
|
||||
}
|
||||
],
|
||||
"conditions": [
|
||||
{
|
||||
"condition": "minecraft:random_chance",
|
||||
"chance": 0.025
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"name": "cobblemon:kasib_berry",
|
||||
"functions": [
|
||||
{
|
||||
"count": {
|
||||
"type": "minecraft:uniform",
|
||||
"max": 1,
|
||||
"min": 0
|
||||
},
|
||||
"enchantment": "minecraft:looting",
|
||||
"function": "minecraft:enchanted_count_increase"
|
||||
}
|
||||
],
|
||||
"conditions": [
|
||||
{
|
||||
"condition": "minecraft:random_chance",
|
||||
"chance": 0.025
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"random_sequence": "cobblemon:pokemon/abra"
|
||||
}
|
||||
@@ -0,0 +1,84 @@
|
||||
{
|
||||
"type": "minecraft:generic",
|
||||
"pools": [
|
||||
{
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"name": "cobblemon:razor_claw",
|
||||
"functions": [
|
||||
{
|
||||
"count": {
|
||||
"type": "minecraft:uniform",
|
||||
"max": 1,
|
||||
"min": 0
|
||||
},
|
||||
"enchantment": "minecraft:looting",
|
||||
"function": "minecraft:enchanted_count_increase"
|
||||
}
|
||||
],
|
||||
"conditions": [
|
||||
{
|
||||
"condition": "minecraft:random_chance",
|
||||
"chance": 0.05
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"name": "cobblemon:life_orb",
|
||||
"functions": [
|
||||
{
|
||||
"count": {
|
||||
"type": "minecraft:uniform",
|
||||
"max": 1,
|
||||
"min": 0
|
||||
},
|
||||
"enchantment": "minecraft:looting",
|
||||
"function": "minecraft:enchanted_count_increase"
|
||||
}
|
||||
],
|
||||
"conditions": [
|
||||
{
|
||||
"condition": "minecraft:random_chance",
|
||||
"chance": 0.05
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"name": "cobblemon:roseli_berry",
|
||||
"functions": [
|
||||
{
|
||||
"count": {
|
||||
"type": "minecraft:uniform",
|
||||
"max": 1,
|
||||
"min": 0
|
||||
},
|
||||
"enchantment": "minecraft:looting",
|
||||
"function": "minecraft:enchanted_count_increase"
|
||||
}
|
||||
],
|
||||
"conditions": [
|
||||
{
|
||||
"condition": "minecraft:random_chance",
|
||||
"chance": 0.05
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"random_sequence": "cobblemon:pokemon/absol"
|
||||
}
|
||||
@@ -0,0 +1,32 @@
|
||||
{
|
||||
"type": "minecraft:generic",
|
||||
"pools": [
|
||||
{
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"name": "cobblemon:shed_shell",
|
||||
"functions": [
|
||||
{
|
||||
"count": {
|
||||
"type": "minecraft:uniform",
|
||||
"max": 1,
|
||||
"min": 0
|
||||
},
|
||||
"enchantment": "minecraft:looting",
|
||||
"function": "minecraft:enchanted_count_increase"
|
||||
}
|
||||
],
|
||||
"conditions": [
|
||||
{
|
||||
"condition": "minecraft:random_chance",
|
||||
"chance": 0.05
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"random_sequence": "cobblemon:pokemon/accelgor"
|
||||
}
|
||||
@@ -0,0 +1,111 @@
|
||||
{
|
||||
"type": "minecraft:generic",
|
||||
"pools": [
|
||||
{
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"name": "minecraft:iron_nugget",
|
||||
"functions": [
|
||||
{
|
||||
"function": "set_count",
|
||||
"count": {
|
||||
"min": 0,
|
||||
"max": 3
|
||||
}
|
||||
},
|
||||
{
|
||||
"count": {
|
||||
"type": "minecraft:uniform",
|
||||
"max": 1,
|
||||
"min": 0
|
||||
},
|
||||
"enchantment": "minecraft:looting",
|
||||
"function": "minecraft:enchanted_count_increase"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"name": "minecraft:iron_sword",
|
||||
"functions": [
|
||||
{
|
||||
"count": {
|
||||
"type": "minecraft:uniform",
|
||||
"max": 1,
|
||||
"min": 0
|
||||
},
|
||||
"enchantment": "minecraft:looting",
|
||||
"function": "minecraft:enchanted_count_increase"
|
||||
}
|
||||
],
|
||||
"conditions": [
|
||||
{
|
||||
"condition": "minecraft:random_chance",
|
||||
"chance": 0.1
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"name": "cobblemon:dusk_stone",
|
||||
"functions": [
|
||||
{
|
||||
"count": {
|
||||
"type": "minecraft:uniform",
|
||||
"max": 1,
|
||||
"min": 0
|
||||
},
|
||||
"enchantment": "minecraft:looting",
|
||||
"function": "minecraft:enchanted_count_increase"
|
||||
}
|
||||
],
|
||||
"conditions": [
|
||||
{
|
||||
"condition": "minecraft:random_chance",
|
||||
"chance": 0.1
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"name": "cobblemon:ability_shield",
|
||||
"functions": [
|
||||
{
|
||||
"count": {
|
||||
"type": "minecraft:uniform",
|
||||
"max": 1,
|
||||
"min": 0
|
||||
},
|
||||
"enchantment": "minecraft:looting",
|
||||
"function": "minecraft:enchanted_count_increase"
|
||||
}
|
||||
],
|
||||
"conditions": [
|
||||
{
|
||||
"condition": "minecraft:random_chance",
|
||||
"chance": 0.1
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"random_sequence": "cobblemon:pokemon/aegislash"
|
||||
}
|
||||
@@ -0,0 +1,59 @@
|
||||
{
|
||||
"type": "minecraft:generic",
|
||||
"pools": [
|
||||
{
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"name": "minecraft:bone",
|
||||
"functions": [
|
||||
{
|
||||
"function": "set_count",
|
||||
"count": {
|
||||
"min": 0,
|
||||
"max": 3
|
||||
}
|
||||
},
|
||||
{
|
||||
"count": {
|
||||
"type": "minecraft:uniform",
|
||||
"max": 1,
|
||||
"min": 0
|
||||
},
|
||||
"enchantment": "minecraft:looting",
|
||||
"function": "minecraft:enchanted_count_increase"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"name": "cobblemon:rocky_helmet",
|
||||
"functions": [
|
||||
{
|
||||
"count": {
|
||||
"type": "minecraft:uniform",
|
||||
"max": 1,
|
||||
"min": 0
|
||||
},
|
||||
"enchantment": "minecraft:looting",
|
||||
"function": "minecraft:enchanted_count_increase"
|
||||
}
|
||||
],
|
||||
"conditions": [
|
||||
{
|
||||
"condition": "minecraft:random_chance",
|
||||
"chance": 0.1
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"random_sequence": "cobblemon:pokemon/aerodactyl"
|
||||
}
|
||||
@@ -0,0 +1,85 @@
|
||||
{
|
||||
"type": "minecraft:generic",
|
||||
"pools": [
|
||||
{
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"name": "minecraft:raw_iron",
|
||||
"functions": [
|
||||
{
|
||||
"function": "set_count",
|
||||
"count": {
|
||||
"min": 0,
|
||||
"max": 3
|
||||
}
|
||||
},
|
||||
{
|
||||
"count": {
|
||||
"type": "minecraft:uniform",
|
||||
"max": 1,
|
||||
"min": 0
|
||||
},
|
||||
"enchantment": "minecraft:looting",
|
||||
"function": "minecraft:enchanted_count_increase"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"name": "cobblemon:hard_stone",
|
||||
"functions": [
|
||||
{
|
||||
"count": {
|
||||
"type": "minecraft:uniform",
|
||||
"max": 1,
|
||||
"min": 0
|
||||
},
|
||||
"enchantment": "minecraft:looting",
|
||||
"function": "minecraft:enchanted_count_increase"
|
||||
}
|
||||
],
|
||||
"conditions": [
|
||||
{
|
||||
"condition": "minecraft:random_chance",
|
||||
"chance": 0.1
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"name": "cobblemon:chople_berry",
|
||||
"functions": [
|
||||
{
|
||||
"count": {
|
||||
"type": "minecraft:uniform",
|
||||
"max": 1,
|
||||
"min": 0
|
||||
},
|
||||
"enchantment": "minecraft:looting",
|
||||
"function": "minecraft:enchanted_count_increase"
|
||||
}
|
||||
],
|
||||
"conditions": [
|
||||
{
|
||||
"condition": "minecraft:random_chance",
|
||||
"chance": 0.1
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"random_sequence": "cobblemon:pokemon/aggron"
|
||||
}
|
||||
@@ -0,0 +1,59 @@
|
||||
{
|
||||
"type": "minecraft:generic",
|
||||
"pools": [
|
||||
{
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"name": "cobblemon:nanab_berry",
|
||||
"functions": [
|
||||
{
|
||||
"count": {
|
||||
"type": "minecraft:uniform",
|
||||
"max": 1,
|
||||
"min": 0
|
||||
},
|
||||
"enchantment": "minecraft:looting",
|
||||
"function": "minecraft:enchanted_count_increase"
|
||||
}
|
||||
],
|
||||
"conditions": [
|
||||
{
|
||||
"condition": "minecraft:random_chance",
|
||||
"chance": 0.025
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:tag",
|
||||
"name": "cobblemon:apricorn_sprouts",
|
||||
"expand": true,
|
||||
"functions": [
|
||||
{
|
||||
"count": {
|
||||
"type": "minecraft:uniform",
|
||||
"max": 1,
|
||||
"min": 0
|
||||
},
|
||||
"enchantment": "minecraft:looting",
|
||||
"function": "minecraft:enchanted_count_increase"
|
||||
}
|
||||
],
|
||||
"conditions": [
|
||||
{
|
||||
"condition": "minecraft:random_chance",
|
||||
"chance": 0.025
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"random_sequence": "cobblemon:pokemon/aipom"
|
||||
}
|
||||
@@ -0,0 +1,85 @@
|
||||
{
|
||||
"type": "minecraft:generic",
|
||||
"pools": [
|
||||
{
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"name": "minecraft:ender_pearl",
|
||||
"functions": [
|
||||
{
|
||||
"function": "set_count",
|
||||
"count": {
|
||||
"min": 0,
|
||||
"max": 3
|
||||
}
|
||||
},
|
||||
{
|
||||
"count": {
|
||||
"type": "minecraft:uniform",
|
||||
"max": 1,
|
||||
"min": 0
|
||||
},
|
||||
"enchantment": "minecraft:looting",
|
||||
"function": "minecraft:enchanted_count_increase"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"name": "cobblemon:twisted_spoon",
|
||||
"functions": [
|
||||
{
|
||||
"count": {
|
||||
"type": "minecraft:uniform",
|
||||
"max": 1,
|
||||
"min": 0
|
||||
},
|
||||
"enchantment": "minecraft:looting",
|
||||
"function": "minecraft:enchanted_count_increase"
|
||||
}
|
||||
],
|
||||
"conditions": [
|
||||
{
|
||||
"condition": "minecraft:random_chance",
|
||||
"chance": 0.1
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"name": "cobblemon:kasib_berry",
|
||||
"functions": [
|
||||
{
|
||||
"count": {
|
||||
"type": "minecraft:uniform",
|
||||
"max": 1,
|
||||
"min": 0
|
||||
},
|
||||
"enchantment": "minecraft:looting",
|
||||
"function": "minecraft:enchanted_count_increase"
|
||||
}
|
||||
],
|
||||
"conditions": [
|
||||
{
|
||||
"condition": "minecraft:random_chance",
|
||||
"chance": 0.1
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"random_sequence": "cobblemon:pokemon/alakazam"
|
||||
}
|
||||
@@ -0,0 +1,59 @@
|
||||
{
|
||||
"type": "minecraft:generic",
|
||||
"pools": [
|
||||
{
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"name": "minecraft:sugar",
|
||||
"functions": [
|
||||
{
|
||||
"function": "set_count",
|
||||
"count": {
|
||||
"min": 0,
|
||||
"max": 2
|
||||
}
|
||||
},
|
||||
{
|
||||
"count": {
|
||||
"type": "minecraft:uniform",
|
||||
"max": 1,
|
||||
"min": 0
|
||||
},
|
||||
"enchantment": "minecraft:looting",
|
||||
"function": "minecraft:enchanted_count_increase"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"name": "minecraft:cake",
|
||||
"functions": [
|
||||
{
|
||||
"count": {
|
||||
"type": "minecraft:uniform",
|
||||
"max": 1,
|
||||
"min": 0
|
||||
},
|
||||
"enchantment": "minecraft:looting",
|
||||
"function": "minecraft:enchanted_count_increase"
|
||||
}
|
||||
],
|
||||
"conditions": [
|
||||
{
|
||||
"condition": "minecraft:random_chance",
|
||||
"chance": 0.05
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"random_sequence": "cobblemon:pokemon/alcremie"
|
||||
}
|
||||
@@ -0,0 +1,121 @@
|
||||
{
|
||||
"type": "minecraft:generic",
|
||||
"pools": [
|
||||
{
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"name": "minecraft:cod",
|
||||
"functions": [
|
||||
{
|
||||
"function": "set_count",
|
||||
"count": {
|
||||
"min": 1,
|
||||
"max": 1
|
||||
}
|
||||
},
|
||||
{
|
||||
"count": {
|
||||
"type": "minecraft:uniform",
|
||||
"max": 1,
|
||||
"min": 0
|
||||
},
|
||||
"enchantment": "minecraft:looting",
|
||||
"function": "minecraft:enchanted_count_increase"
|
||||
},
|
||||
{
|
||||
"conditions": [
|
||||
{
|
||||
"condition": "minecraft:any_of",
|
||||
"terms": [
|
||||
{
|
||||
"condition": "minecraft:entity_properties",
|
||||
"entity": "this",
|
||||
"predicate": {
|
||||
"flags": {
|
||||
"is_on_fire": true
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"condition": "minecraft:entity_properties",
|
||||
"entity": "direct_attacker",
|
||||
"predicate": {
|
||||
"equipment": {
|
||||
"mainhand": {
|
||||
"predicates": {
|
||||
"minecraft:enchantments": [
|
||||
{
|
||||
"enchantments": "#minecraft:smelts_loot"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"function": "minecraft:furnace_smelt"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"name": "minecraft:bone_meal",
|
||||
"functions": [
|
||||
{
|
||||
"count": {
|
||||
"type": "minecraft:uniform",
|
||||
"max": 1,
|
||||
"min": 0
|
||||
},
|
||||
"enchantment": "minecraft:looting",
|
||||
"function": "minecraft:enchanted_count_increase"
|
||||
}
|
||||
],
|
||||
"conditions": [
|
||||
{
|
||||
"condition": "minecraft:random_chance",
|
||||
"chance": 0.05
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"name": "cobblemon:deep_sea_scale",
|
||||
"functions": [
|
||||
{
|
||||
"count": {
|
||||
"type": "minecraft:uniform",
|
||||
"max": 1,
|
||||
"min": 0
|
||||
},
|
||||
"enchantment": "minecraft:looting",
|
||||
"function": "minecraft:enchanted_count_increase"
|
||||
}
|
||||
],
|
||||
"conditions": [
|
||||
{
|
||||
"condition": "minecraft:random_chance",
|
||||
"chance": 0.05
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"random_sequence": "cobblemon:pokemon/alomomola"
|
||||
}
|
||||
@@ -0,0 +1,122 @@
|
||||
{
|
||||
"type": "minecraft:generic",
|
||||
"pools": [
|
||||
{
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"name": "minecraft:white_wool",
|
||||
"functions": [
|
||||
{
|
||||
"function": "set_count",
|
||||
"count": {
|
||||
"min": 0,
|
||||
"max": 2
|
||||
}
|
||||
},
|
||||
{
|
||||
"count": {
|
||||
"type": "minecraft:uniform",
|
||||
"max": 1,
|
||||
"min": 0
|
||||
},
|
||||
"enchantment": "minecraft:looting",
|
||||
"function": "minecraft:enchanted_count_increase"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"name": "minecraft:chicken",
|
||||
"functions": [
|
||||
{
|
||||
"function": "set_count",
|
||||
"count": {
|
||||
"min": 1,
|
||||
"max": 1
|
||||
}
|
||||
},
|
||||
{
|
||||
"count": {
|
||||
"type": "minecraft:uniform",
|
||||
"max": 1,
|
||||
"min": 0
|
||||
},
|
||||
"enchantment": "minecraft:looting",
|
||||
"function": "minecraft:enchanted_count_increase"
|
||||
},
|
||||
{
|
||||
"conditions": [
|
||||
{
|
||||
"condition": "minecraft:any_of",
|
||||
"terms": [
|
||||
{
|
||||
"condition": "minecraft:entity_properties",
|
||||
"entity": "this",
|
||||
"predicate": {
|
||||
"flags": {
|
||||
"is_on_fire": true
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"condition": "minecraft:entity_properties",
|
||||
"entity": "direct_attacker",
|
||||
"predicate": {
|
||||
"equipment": {
|
||||
"mainhand": {
|
||||
"predicates": {
|
||||
"minecraft:enchantments": [
|
||||
{
|
||||
"enchantments": "#minecraft:smelts_loot"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"function": "minecraft:furnace_smelt"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"name": "cobblemon:yache_berry",
|
||||
"functions": [
|
||||
{
|
||||
"count": {
|
||||
"type": "minecraft:uniform",
|
||||
"max": 1,
|
||||
"min": 0
|
||||
},
|
||||
"enchantment": "minecraft:looting",
|
||||
"function": "minecraft:enchanted_count_increase"
|
||||
}
|
||||
],
|
||||
"conditions": [
|
||||
{
|
||||
"condition": "minecraft:random_chance",
|
||||
"chance": 0.05
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"random_sequence": "cobblemon:pokemon/altaria"
|
||||
}
|
||||
@@ -0,0 +1,32 @@
|
||||
{
|
||||
"type": "minecraft:generic",
|
||||
"pools": [
|
||||
{
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"name": "cobblemon:never_melt_ice",
|
||||
"functions": [
|
||||
{
|
||||
"count": {
|
||||
"type": "minecraft:uniform",
|
||||
"max": 1,
|
||||
"min": 0
|
||||
},
|
||||
"enchantment": "minecraft:looting",
|
||||
"function": "minecraft:enchanted_count_increase"
|
||||
}
|
||||
],
|
||||
"conditions": [
|
||||
{
|
||||
"condition": "minecraft:random_chance",
|
||||
"chance": 0.05
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"random_sequence": "cobblemon:pokemon/amaura"
|
||||
}
|
||||
@@ -0,0 +1,59 @@
|
||||
{
|
||||
"type": "minecraft:generic",
|
||||
"pools": [
|
||||
{
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"name": "cobblemon:nanab_berry",
|
||||
"functions": [
|
||||
{
|
||||
"count": {
|
||||
"type": "minecraft:uniform",
|
||||
"max": 1,
|
||||
"min": 0
|
||||
},
|
||||
"enchantment": "minecraft:looting",
|
||||
"function": "minecraft:enchanted_count_increase"
|
||||
}
|
||||
],
|
||||
"conditions": [
|
||||
{
|
||||
"condition": "minecraft:random_chance",
|
||||
"chance": 0.05
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:tag",
|
||||
"name": "cobblemon:apricorn_sprouts",
|
||||
"expand": true,
|
||||
"functions": [
|
||||
{
|
||||
"count": {
|
||||
"type": "minecraft:uniform",
|
||||
"max": 1,
|
||||
"min": 0
|
||||
},
|
||||
"enchantment": "minecraft:looting",
|
||||
"function": "minecraft:enchanted_count_increase"
|
||||
}
|
||||
],
|
||||
"conditions": [
|
||||
{
|
||||
"condition": "minecraft:random_chance",
|
||||
"chance": 0.05
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"random_sequence": "cobblemon:pokemon/ambipom"
|
||||
}
|
||||
@@ -0,0 +1,59 @@
|
||||
{
|
||||
"type": "minecraft:generic",
|
||||
"pools": [
|
||||
{
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"name": "minecraft:red_mushroom",
|
||||
"functions": [
|
||||
{
|
||||
"function": "set_count",
|
||||
"count": {
|
||||
"min": 0,
|
||||
"max": 2
|
||||
}
|
||||
},
|
||||
{
|
||||
"count": {
|
||||
"type": "minecraft:uniform",
|
||||
"max": 1,
|
||||
"min": 0
|
||||
},
|
||||
"enchantment": "minecraft:looting",
|
||||
"function": "minecraft:enchanted_count_increase"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"name": "cobblemon:cheri_berry",
|
||||
"functions": [
|
||||
{
|
||||
"count": {
|
||||
"type": "minecraft:uniform",
|
||||
"max": 1,
|
||||
"min": 0
|
||||
},
|
||||
"enchantment": "minecraft:looting",
|
||||
"function": "minecraft:enchanted_count_increase"
|
||||
}
|
||||
],
|
||||
"conditions": [
|
||||
{
|
||||
"condition": "minecraft:random_chance",
|
||||
"chance": 0.05
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"random_sequence": "cobblemon:pokemon/amoonguss"
|
||||
}
|
||||
@@ -0,0 +1,95 @@
|
||||
{
|
||||
"type": "minecraft:generic",
|
||||
"pools": [
|
||||
{
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"name": "minecraft:mutton",
|
||||
"functions": [
|
||||
{
|
||||
"function": "set_count",
|
||||
"count": {
|
||||
"min": 2,
|
||||
"max": 4
|
||||
}
|
||||
},
|
||||
{
|
||||
"count": {
|
||||
"type": "minecraft:uniform",
|
||||
"max": 1,
|
||||
"min": 0
|
||||
},
|
||||
"enchantment": "minecraft:looting",
|
||||
"function": "minecraft:enchanted_count_increase"
|
||||
},
|
||||
{
|
||||
"conditions": [
|
||||
{
|
||||
"condition": "minecraft:any_of",
|
||||
"terms": [
|
||||
{
|
||||
"condition": "minecraft:entity_properties",
|
||||
"entity": "this",
|
||||
"predicate": {
|
||||
"flags": {
|
||||
"is_on_fire": true
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"condition": "minecraft:entity_properties",
|
||||
"entity": "direct_attacker",
|
||||
"predicate": {
|
||||
"equipment": {
|
||||
"mainhand": {
|
||||
"predicates": {
|
||||
"minecraft:enchantments": [
|
||||
{
|
||||
"enchantments": "#minecraft:smelts_loot"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"function": "minecraft:furnace_smelt"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"name": "cobblemon:cheri_berry",
|
||||
"functions": [
|
||||
{
|
||||
"count": {
|
||||
"type": "minecraft:uniform",
|
||||
"max": 1,
|
||||
"min": 0
|
||||
},
|
||||
"enchantment": "minecraft:looting",
|
||||
"function": "minecraft:enchanted_count_increase"
|
||||
}
|
||||
],
|
||||
"conditions": [
|
||||
{
|
||||
"condition": "minecraft:random_chance",
|
||||
"chance": 0.1
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"random_sequence": "cobblemon:pokemon/ampharos"
|
||||
}
|
||||
@@ -0,0 +1,58 @@
|
||||
{
|
||||
"type": "minecraft:generic",
|
||||
"pools": [
|
||||
{
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"name": "cobblemon:muscle_band",
|
||||
"functions": [
|
||||
{
|
||||
"count": {
|
||||
"type": "minecraft:uniform",
|
||||
"max": 1,
|
||||
"min": 0
|
||||
},
|
||||
"enchantment": "minecraft:looting",
|
||||
"function": "minecraft:enchanted_count_increase"
|
||||
}
|
||||
],
|
||||
"conditions": [
|
||||
{
|
||||
"condition": "minecraft:random_chance",
|
||||
"chance": 0.1
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"name": "cobblemon:payapa_berry",
|
||||
"functions": [
|
||||
{
|
||||
"count": {
|
||||
"type": "minecraft:uniform",
|
||||
"max": 1,
|
||||
"min": 0
|
||||
},
|
||||
"enchantment": "minecraft:looting",
|
||||
"function": "minecraft:enchanted_count_increase"
|
||||
}
|
||||
],
|
||||
"conditions": [
|
||||
{
|
||||
"condition": "minecraft:random_chance",
|
||||
"chance": 0.1
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"random_sequence": "cobblemon:pokemon/annihilape"
|
||||
}
|
||||
@@ -0,0 +1,32 @@
|
||||
{
|
||||
"type": "minecraft:generic",
|
||||
"pools": [
|
||||
{
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"name": "cobblemon:quick_claw",
|
||||
"functions": [
|
||||
{
|
||||
"count": {
|
||||
"type": "minecraft:uniform",
|
||||
"max": 1,
|
||||
"min": 0
|
||||
},
|
||||
"enchantment": "minecraft:looting",
|
||||
"function": "minecraft:enchanted_count_increase"
|
||||
}
|
||||
],
|
||||
"conditions": [
|
||||
{
|
||||
"condition": "minecraft:random_chance",
|
||||
"chance": 0.05
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"random_sequence": "cobblemon:pokemon/anorith"
|
||||
}
|
||||
@@ -0,0 +1,59 @@
|
||||
{
|
||||
"type": "minecraft:generic",
|
||||
"pools": [
|
||||
{
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"name": "cobblemon:sweet_apple",
|
||||
"functions": [
|
||||
{
|
||||
"function": "set_count",
|
||||
"count": {
|
||||
"min": 1,
|
||||
"max": 1
|
||||
}
|
||||
},
|
||||
{
|
||||
"count": {
|
||||
"type": "minecraft:uniform",
|
||||
"max": 1,
|
||||
"min": 0
|
||||
},
|
||||
"enchantment": "minecraft:looting",
|
||||
"function": "minecraft:enchanted_count_increase"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"name": "cobblemon:yache_berry",
|
||||
"functions": [
|
||||
{
|
||||
"count": {
|
||||
"type": "minecraft:uniform",
|
||||
"max": 1,
|
||||
"min": 0
|
||||
},
|
||||
"enchantment": "minecraft:looting",
|
||||
"function": "minecraft:enchanted_count_increase"
|
||||
}
|
||||
],
|
||||
"conditions": [
|
||||
{
|
||||
"condition": "minecraft:random_chance",
|
||||
"chance": 0.05
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"random_sequence": "cobblemon:pokemon/appletun"
|
||||
}
|
||||
@@ -0,0 +1,59 @@
|
||||
{
|
||||
"type": "minecraft:generic",
|
||||
"pools": [
|
||||
{
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"name": "minecraft:apple",
|
||||
"functions": [
|
||||
{
|
||||
"function": "set_count",
|
||||
"count": {
|
||||
"min": 1,
|
||||
"max": 1
|
||||
}
|
||||
},
|
||||
{
|
||||
"count": {
|
||||
"type": "minecraft:uniform",
|
||||
"max": 1,
|
||||
"min": 0
|
||||
},
|
||||
"enchantment": "minecraft:looting",
|
||||
"function": "minecraft:enchanted_count_increase"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"name": "cobblemon:yache_berry",
|
||||
"functions": [
|
||||
{
|
||||
"count": {
|
||||
"type": "minecraft:uniform",
|
||||
"max": 1,
|
||||
"min": 0
|
||||
},
|
||||
"enchantment": "minecraft:looting",
|
||||
"function": "minecraft:enchanted_count_increase"
|
||||
}
|
||||
],
|
||||
"conditions": [
|
||||
{
|
||||
"condition": "minecraft:random_chance",
|
||||
"chance": 0.025
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"random_sequence": "cobblemon:pokemon/applin"
|
||||
}
|
||||
@@ -0,0 +1,84 @@
|
||||
{
|
||||
"type": "minecraft:generic",
|
||||
"pools": [
|
||||
{
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"name": "cobblemon:mystic_water",
|
||||
"functions": [
|
||||
{
|
||||
"count": {
|
||||
"type": "minecraft:uniform",
|
||||
"max": 1,
|
||||
"min": 0
|
||||
},
|
||||
"enchantment": "minecraft:looting",
|
||||
"function": "minecraft:enchanted_count_increase"
|
||||
}
|
||||
],
|
||||
"conditions": [
|
||||
{
|
||||
"condition": "minecraft:random_chance",
|
||||
"chance": 0.05
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"name": "cobblemon:shed_shell",
|
||||
"functions": [
|
||||
{
|
||||
"count": {
|
||||
"type": "minecraft:uniform",
|
||||
"max": 1,
|
||||
"min": 0
|
||||
},
|
||||
"enchantment": "minecraft:looting",
|
||||
"function": "minecraft:enchanted_count_increase"
|
||||
}
|
||||
],
|
||||
"conditions": [
|
||||
{
|
||||
"condition": "minecraft:random_chance",
|
||||
"chance": 0.05
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"name": "cobblemon:wepear_berry",
|
||||
"functions": [
|
||||
{
|
||||
"count": {
|
||||
"type": "minecraft:uniform",
|
||||
"max": 1,
|
||||
"min": 0
|
||||
},
|
||||
"enchantment": "minecraft:looting",
|
||||
"function": "minecraft:enchanted_count_increase"
|
||||
}
|
||||
],
|
||||
"conditions": [
|
||||
{
|
||||
"condition": "minecraft:random_chance",
|
||||
"chance": 0.05
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"random_sequence": "cobblemon:pokemon/araquanid"
|
||||
}
|
||||
@@ -0,0 +1,58 @@
|
||||
{
|
||||
"type": "minecraft:generic",
|
||||
"pools": [
|
||||
{
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"name": "cobblemon:razor_fang",
|
||||
"functions": [
|
||||
{
|
||||
"count": {
|
||||
"type": "minecraft:uniform",
|
||||
"max": 1,
|
||||
"min": 0
|
||||
},
|
||||
"enchantment": "minecraft:looting",
|
||||
"function": "minecraft:enchanted_count_increase"
|
||||
}
|
||||
],
|
||||
"conditions": [
|
||||
{
|
||||
"condition": "minecraft:random_chance",
|
||||
"chance": 0.05
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"name": "cobblemon:shed_shell",
|
||||
"functions": [
|
||||
{
|
||||
"count": {
|
||||
"type": "minecraft:uniform",
|
||||
"max": 1,
|
||||
"min": 0
|
||||
},
|
||||
"enchantment": "minecraft:looting",
|
||||
"function": "minecraft:enchanted_count_increase"
|
||||
}
|
||||
],
|
||||
"conditions": [
|
||||
{
|
||||
"condition": "minecraft:random_chance",
|
||||
"chance": 0.05
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"random_sequence": "cobblemon:pokemon/arbok"
|
||||
}
|
||||
@@ -0,0 +1,84 @@
|
||||
{
|
||||
"type": "minecraft:generic",
|
||||
"pools": [
|
||||
{
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"name": "cobblemon:big_root",
|
||||
"functions": [
|
||||
{
|
||||
"count": {
|
||||
"type": "minecraft:uniform",
|
||||
"max": 1,
|
||||
"min": 0
|
||||
},
|
||||
"enchantment": "minecraft:looting",
|
||||
"function": "minecraft:enchanted_count_increase"
|
||||
}
|
||||
],
|
||||
"conditions": [
|
||||
{
|
||||
"condition": "minecraft:random_chance",
|
||||
"chance": 0.1
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"name": "cobblemon:grassy_seed",
|
||||
"functions": [
|
||||
{
|
||||
"count": {
|
||||
"type": "minecraft:uniform",
|
||||
"max": 1,
|
||||
"min": 0
|
||||
},
|
||||
"enchantment": "minecraft:looting",
|
||||
"function": "minecraft:enchanted_count_increase"
|
||||
}
|
||||
],
|
||||
"conditions": [
|
||||
{
|
||||
"condition": "minecraft:random_chance",
|
||||
"chance": 0.1
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"name": "cobblemon:kebia_berry",
|
||||
"functions": [
|
||||
{
|
||||
"count": {
|
||||
"type": "minecraft:uniform",
|
||||
"max": 1,
|
||||
"min": 0
|
||||
},
|
||||
"enchantment": "minecraft:looting",
|
||||
"function": "minecraft:enchanted_count_increase"
|
||||
}
|
||||
],
|
||||
"conditions": [
|
||||
{
|
||||
"condition": "minecraft:random_chance",
|
||||
"chance": 0.1
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"random_sequence": "cobblemon:pokemon/arboliva"
|
||||
}
|
||||
@@ -0,0 +1,59 @@
|
||||
{
|
||||
"type": "minecraft:generic",
|
||||
"pools": [
|
||||
{
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"name": "minecraft:bone",
|
||||
"functions": [
|
||||
{
|
||||
"function": "set_count",
|
||||
"count": {
|
||||
"min": 0,
|
||||
"max": 2
|
||||
}
|
||||
},
|
||||
{
|
||||
"count": {
|
||||
"type": "minecraft:uniform",
|
||||
"max": 1,
|
||||
"min": 0
|
||||
},
|
||||
"enchantment": "minecraft:looting",
|
||||
"function": "minecraft:enchanted_count_increase"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"name": "cobblemon:rawst_berry",
|
||||
"functions": [
|
||||
{
|
||||
"count": {
|
||||
"type": "minecraft:uniform",
|
||||
"max": 1,
|
||||
"min": 0
|
||||
},
|
||||
"enchantment": "minecraft:looting",
|
||||
"function": "minecraft:enchanted_count_increase"
|
||||
}
|
||||
],
|
||||
"conditions": [
|
||||
{
|
||||
"condition": "minecraft:random_chance",
|
||||
"chance": 0.05
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"random_sequence": "cobblemon:pokemon/arcanine"
|
||||
}
|
||||
@@ -0,0 +1,59 @@
|
||||
{
|
||||
"type": "minecraft:generic",
|
||||
"pools": [
|
||||
{
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"name": "minecraft:bone",
|
||||
"functions": [
|
||||
{
|
||||
"function": "set_count",
|
||||
"count": {
|
||||
"min": 0,
|
||||
"max": 2
|
||||
}
|
||||
},
|
||||
{
|
||||
"count": {
|
||||
"type": "minecraft:uniform",
|
||||
"max": 1,
|
||||
"min": 0
|
||||
},
|
||||
"enchantment": "minecraft:looting",
|
||||
"function": "minecraft:enchanted_count_increase"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"name": "cobblemon:rawst_berry",
|
||||
"functions": [
|
||||
{
|
||||
"count": {
|
||||
"type": "minecraft:uniform",
|
||||
"max": 1,
|
||||
"min": 0
|
||||
},
|
||||
"enchantment": "minecraft:looting",
|
||||
"function": "minecraft:enchanted_count_increase"
|
||||
}
|
||||
],
|
||||
"conditions": [
|
||||
{
|
||||
"condition": "minecraft:random_chance",
|
||||
"chance": 0.05
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"random_sequence": "cobblemon:pokemon/arcanine_hisui"
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"type": "minecraft:generic",
|
||||
"pools": [],
|
||||
"random_sequence": "cobblemon:pokemon/arceus"
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"type": "minecraft:generic",
|
||||
"pools": [],
|
||||
"random_sequence": "cobblemon:pokemon/archaludon"
|
||||
}
|
||||
@@ -0,0 +1,33 @@
|
||||
{
|
||||
"type": "minecraft:generic",
|
||||
"pools": [
|
||||
{
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"name": "minecraft:feather",
|
||||
"functions": [
|
||||
{
|
||||
"function": "set_count",
|
||||
"count": {
|
||||
"min": 0,
|
||||
"max": 2
|
||||
}
|
||||
},
|
||||
{
|
||||
"count": {
|
||||
"type": "minecraft:uniform",
|
||||
"max": 1,
|
||||
"min": 0
|
||||
},
|
||||
"enchantment": "minecraft:looting",
|
||||
"function": "minecraft:enchanted_count_increase"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"random_sequence": "cobblemon:pokemon/archen"
|
||||
}
|
||||
@@ -0,0 +1,33 @@
|
||||
{
|
||||
"type": "minecraft:generic",
|
||||
"pools": [
|
||||
{
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"name": "minecraft:feather",
|
||||
"functions": [
|
||||
{
|
||||
"function": "set_count",
|
||||
"count": {
|
||||
"min": 0,
|
||||
"max": 3
|
||||
}
|
||||
},
|
||||
{
|
||||
"count": {
|
||||
"type": "minecraft:uniform",
|
||||
"max": 1,
|
||||
"min": 0
|
||||
},
|
||||
"enchantment": "minecraft:looting",
|
||||
"function": "minecraft:enchanted_count_increase"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"random_sequence": "cobblemon:pokemon/archeops"
|
||||
}
|
||||
@@ -0,0 +1,32 @@
|
||||
{
|
||||
"type": "minecraft:generic",
|
||||
"pools": [
|
||||
{
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"name": "cobblemon:haban_berry",
|
||||
"functions": [
|
||||
{
|
||||
"count": {
|
||||
"type": "minecraft:uniform",
|
||||
"max": 1,
|
||||
"min": 0
|
||||
},
|
||||
"enchantment": "minecraft:looting",
|
||||
"function": "minecraft:enchanted_count_increase"
|
||||
}
|
||||
],
|
||||
"conditions": [
|
||||
{
|
||||
"condition": "minecraft:random_chance",
|
||||
"chance": 0.1
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"random_sequence": "cobblemon:pokemon/arctibax"
|
||||
}
|
||||
@@ -0,0 +1,96 @@
|
||||
{
|
||||
"type": "minecraft:generic",
|
||||
"pools": [
|
||||
{
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"name": "minecraft:bone",
|
||||
"functions": [
|
||||
{
|
||||
"function": "set_count",
|
||||
"count": {
|
||||
"min": 0,
|
||||
"max": 2
|
||||
}
|
||||
},
|
||||
{
|
||||
"count": {
|
||||
"type": "minecraft:uniform",
|
||||
"max": 1,
|
||||
"min": 0
|
||||
},
|
||||
"enchantment": "minecraft:looting",
|
||||
"function": "minecraft:enchanted_count_increase"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"name": "minecraft:cod",
|
||||
"functions": [
|
||||
{
|
||||
"function": "set_count",
|
||||
"count": {
|
||||
"min": 1,
|
||||
"max": 1
|
||||
}
|
||||
},
|
||||
{
|
||||
"count": {
|
||||
"type": "minecraft:uniform",
|
||||
"max": 1,
|
||||
"min": 0
|
||||
},
|
||||
"enchantment": "minecraft:looting",
|
||||
"function": "minecraft:enchanted_count_increase"
|
||||
},
|
||||
{
|
||||
"conditions": [
|
||||
{
|
||||
"condition": "minecraft:any_of",
|
||||
"terms": [
|
||||
{
|
||||
"condition": "minecraft:entity_properties",
|
||||
"entity": "this",
|
||||
"predicate": {
|
||||
"flags": {
|
||||
"is_on_fire": true
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"condition": "minecraft:entity_properties",
|
||||
"entity": "direct_attacker",
|
||||
"predicate": {
|
||||
"equipment": {
|
||||
"mainhand": {
|
||||
"predicates": {
|
||||
"minecraft:enchantments": [
|
||||
{
|
||||
"enchantments": "#minecraft:smelts_loot"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"function": "minecraft:furnace_smelt"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"random_sequence": "cobblemon:pokemon/arctovish"
|
||||
}
|
||||
@@ -0,0 +1,60 @@
|
||||
{
|
||||
"type": "minecraft:generic",
|
||||
"pools": [
|
||||
{
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"name": "minecraft:bone",
|
||||
"functions": [
|
||||
{
|
||||
"function": "set_count",
|
||||
"count": {
|
||||
"min": 0,
|
||||
"max": 2
|
||||
}
|
||||
},
|
||||
{
|
||||
"count": {
|
||||
"type": "minecraft:uniform",
|
||||
"max": 1,
|
||||
"min": 0
|
||||
},
|
||||
"enchantment": "minecraft:looting",
|
||||
"function": "minecraft:enchanted_count_increase"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"name": "minecraft:feather",
|
||||
"functions": [
|
||||
{
|
||||
"function": "set_count",
|
||||
"count": {
|
||||
"min": 0,
|
||||
"max": 2
|
||||
}
|
||||
},
|
||||
{
|
||||
"count": {
|
||||
"type": "minecraft:uniform",
|
||||
"max": 1,
|
||||
"min": 0
|
||||
},
|
||||
"enchantment": "minecraft:looting",
|
||||
"function": "minecraft:enchanted_count_increase"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"random_sequence": "cobblemon:pokemon/arctozolt"
|
||||
}
|
||||
@@ -0,0 +1,139 @@
|
||||
{
|
||||
"type": "minecraft:generic",
|
||||
"pools": [
|
||||
{
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"name": "minecraft:string",
|
||||
"functions": [
|
||||
{
|
||||
"function": "set_count",
|
||||
"count": {
|
||||
"min": 0,
|
||||
"max": 2
|
||||
}
|
||||
},
|
||||
{
|
||||
"count": {
|
||||
"type": "minecraft:uniform",
|
||||
"max": 1,
|
||||
"min": 0
|
||||
},
|
||||
"enchantment": "minecraft:looting",
|
||||
"function": "minecraft:enchanted_count_increase"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"name": "minecraft:spider_eye",
|
||||
"functions": [
|
||||
{
|
||||
"function": "set_count",
|
||||
"count": {
|
||||
"min": 0,
|
||||
"max": 2
|
||||
}
|
||||
},
|
||||
{
|
||||
"count": {
|
||||
"type": "minecraft:uniform",
|
||||
"max": 1,
|
||||
"min": 0
|
||||
},
|
||||
"enchantment": "minecraft:looting",
|
||||
"function": "minecraft:enchanted_count_increase"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"name": "minecraft:rotten_flesh",
|
||||
"functions": [
|
||||
{
|
||||
"function": "set_count",
|
||||
"count": {
|
||||
"min": 0,
|
||||
"max": 2
|
||||
}
|
||||
},
|
||||
{
|
||||
"count": {
|
||||
"type": "minecraft:uniform",
|
||||
"max": 1,
|
||||
"min": 0
|
||||
},
|
||||
"enchantment": "minecraft:looting",
|
||||
"function": "minecraft:enchanted_count_increase"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"name": "cobblemon:poison_barb",
|
||||
"functions": [
|
||||
{
|
||||
"count": {
|
||||
"type": "minecraft:uniform",
|
||||
"max": 1,
|
||||
"min": 0
|
||||
},
|
||||
"enchantment": "minecraft:looting",
|
||||
"function": "minecraft:enchanted_count_increase"
|
||||
}
|
||||
],
|
||||
"conditions": [
|
||||
{
|
||||
"condition": "minecraft:random_chance",
|
||||
"chance": 0.05
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"name": "cobblemon:shed_shell",
|
||||
"functions": [
|
||||
{
|
||||
"count": {
|
||||
"type": "minecraft:uniform",
|
||||
"max": 1,
|
||||
"min": 0
|
||||
},
|
||||
"enchantment": "minecraft:looting",
|
||||
"function": "minecraft:enchanted_count_increase"
|
||||
}
|
||||
],
|
||||
"conditions": [
|
||||
{
|
||||
"condition": "minecraft:random_chance",
|
||||
"chance": 0.05
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"random_sequence": "cobblemon:pokemon/ariados"
|
||||
}
|
||||
@@ -0,0 +1,58 @@
|
||||
{
|
||||
"type": "minecraft:generic",
|
||||
"pools": [
|
||||
{
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"name": "cobblemon:quick_claw",
|
||||
"functions": [
|
||||
{
|
||||
"count": {
|
||||
"type": "minecraft:uniform",
|
||||
"max": 1,
|
||||
"min": 0
|
||||
},
|
||||
"enchantment": "minecraft:looting",
|
||||
"function": "minecraft:enchanted_count_increase"
|
||||
}
|
||||
],
|
||||
"conditions": [
|
||||
{
|
||||
"condition": "minecraft:random_chance",
|
||||
"chance": 0.1
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"name": "cobblemon:shed_shell",
|
||||
"functions": [
|
||||
{
|
||||
"count": {
|
||||
"type": "minecraft:uniform",
|
||||
"max": 1,
|
||||
"min": 0
|
||||
},
|
||||
"enchantment": "minecraft:looting",
|
||||
"function": "minecraft:enchanted_count_increase"
|
||||
}
|
||||
],
|
||||
"conditions": [
|
||||
{
|
||||
"condition": "minecraft:random_chance",
|
||||
"chance": 0.1
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"random_sequence": "cobblemon:pokemon/armaldo"
|
||||
}
|
||||
@@ -0,0 +1,163 @@
|
||||
{
|
||||
"type": "minecraft:generic",
|
||||
"pools": [
|
||||
{
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"name": "cobblemon:charcoal_stick",
|
||||
"functions": [
|
||||
{
|
||||
"count": {
|
||||
"type": "minecraft:uniform",
|
||||
"max": 1,
|
||||
"min": 0
|
||||
},
|
||||
"enchantment": "minecraft:looting",
|
||||
"function": "minecraft:enchanted_count_increase"
|
||||
}
|
||||
],
|
||||
"conditions": [
|
||||
{
|
||||
"condition": "minecraft:random_chance",
|
||||
"chance": 0.05
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"name": "cobblemon:auspicious_armor",
|
||||
"functions": [
|
||||
{
|
||||
"count": {
|
||||
"type": "minecraft:uniform",
|
||||
"max": 1,
|
||||
"min": 0
|
||||
},
|
||||
"enchantment": "minecraft:looting",
|
||||
"function": "minecraft:enchanted_count_increase"
|
||||
}
|
||||
],
|
||||
"conditions": [
|
||||
{
|
||||
"condition": "minecraft:random_chance",
|
||||
"chance": 0.05
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"name": "cobblemon:rawst_berry",
|
||||
"functions": [
|
||||
{
|
||||
"count": {
|
||||
"type": "minecraft:uniform",
|
||||
"max": 1,
|
||||
"min": 0
|
||||
},
|
||||
"enchantment": "minecraft:looting",
|
||||
"function": "minecraft:enchanted_count_increase"
|
||||
}
|
||||
],
|
||||
"conditions": [
|
||||
{
|
||||
"condition": "minecraft:random_chance",
|
||||
"chance": 0.05
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"name": "minecraft:charcoal",
|
||||
"functions": [
|
||||
{
|
||||
"function": "set_count",
|
||||
"count": {
|
||||
"min": 0,
|
||||
"max": 2
|
||||
}
|
||||
},
|
||||
{
|
||||
"count": {
|
||||
"type": "minecraft:uniform",
|
||||
"max": 1,
|
||||
"min": 0
|
||||
},
|
||||
"enchantment": "minecraft:looting",
|
||||
"function": "minecraft:enchanted_count_increase"
|
||||
}
|
||||
],
|
||||
"conditions": [
|
||||
{
|
||||
"condition": "minecraft:inverted",
|
||||
"term": {
|
||||
"condition": "minecraft:any_of",
|
||||
"terms": [
|
||||
{
|
||||
"condition": "cobblemon:biome",
|
||||
"biome": "#minecraft:is_nether"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"name": "minecraft:blaze_rod",
|
||||
"functions": [
|
||||
{
|
||||
"function": "set_count",
|
||||
"count": {
|
||||
"min": 0,
|
||||
"max": 2
|
||||
}
|
||||
},
|
||||
{
|
||||
"count": {
|
||||
"type": "minecraft:uniform",
|
||||
"max": 1,
|
||||
"min": 0
|
||||
},
|
||||
"enchantment": "minecraft:looting",
|
||||
"function": "minecraft:enchanted_count_increase"
|
||||
}
|
||||
],
|
||||
"conditions": [
|
||||
{
|
||||
"condition": "minecraft:all_of",
|
||||
"terms": [
|
||||
{
|
||||
"condition": "cobblemon:biome",
|
||||
"biome": "#minecraft:is_nether"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"random_sequence": "cobblemon:pokemon/armarouge"
|
||||
}
|
||||
@@ -0,0 +1,84 @@
|
||||
{
|
||||
"type": "minecraft:generic",
|
||||
"pools": [
|
||||
{
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"name": "cobblemon:misty_seed",
|
||||
"functions": [
|
||||
{
|
||||
"count": {
|
||||
"type": "minecraft:uniform",
|
||||
"max": 1,
|
||||
"min": 0
|
||||
},
|
||||
"enchantment": "minecraft:looting",
|
||||
"function": "minecraft:enchanted_count_increase"
|
||||
}
|
||||
],
|
||||
"conditions": [
|
||||
{
|
||||
"condition": "minecraft:random_chance",
|
||||
"chance": 0.05
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"name": "cobblemon:kebia_berry",
|
||||
"functions": [
|
||||
{
|
||||
"count": {
|
||||
"type": "minecraft:uniform",
|
||||
"max": 1,
|
||||
"min": 0
|
||||
},
|
||||
"enchantment": "minecraft:looting",
|
||||
"function": "minecraft:enchanted_count_increase"
|
||||
}
|
||||
],
|
||||
"conditions": [
|
||||
{
|
||||
"condition": "minecraft:random_chance",
|
||||
"chance": 0.05
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"name": "cobblemon:fairy_feather",
|
||||
"functions": [
|
||||
{
|
||||
"count": {
|
||||
"type": "minecraft:uniform",
|
||||
"max": 1,
|
||||
"min": 0
|
||||
},
|
||||
"enchantment": "minecraft:looting",
|
||||
"function": "minecraft:enchanted_count_increase"
|
||||
}
|
||||
],
|
||||
"conditions": [
|
||||
{
|
||||
"condition": "minecraft:random_chance",
|
||||
"chance": 0.05
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"random_sequence": "cobblemon:pokemon/aromatisse"
|
||||
}
|
||||
@@ -0,0 +1,85 @@
|
||||
{
|
||||
"type": "minecraft:generic",
|
||||
"pools": [
|
||||
{
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"name": "minecraft:raw_iron",
|
||||
"functions": [
|
||||
{
|
||||
"function": "set_count",
|
||||
"count": {
|
||||
"min": 0,
|
||||
"max": 1
|
||||
}
|
||||
},
|
||||
{
|
||||
"count": {
|
||||
"type": "minecraft:uniform",
|
||||
"max": 1,
|
||||
"min": 0
|
||||
},
|
||||
"enchantment": "minecraft:looting",
|
||||
"function": "minecraft:enchanted_count_increase"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"name": "cobblemon:hard_stone",
|
||||
"functions": [
|
||||
{
|
||||
"count": {
|
||||
"type": "minecraft:uniform",
|
||||
"max": 1,
|
||||
"min": 0
|
||||
},
|
||||
"enchantment": "minecraft:looting",
|
||||
"function": "minecraft:enchanted_count_increase"
|
||||
}
|
||||
],
|
||||
"conditions": [
|
||||
{
|
||||
"condition": "minecraft:random_chance",
|
||||
"chance": 0.025
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"name": "cobblemon:chople_berry",
|
||||
"functions": [
|
||||
{
|
||||
"count": {
|
||||
"type": "minecraft:uniform",
|
||||
"max": 1,
|
||||
"min": 0
|
||||
},
|
||||
"enchantment": "minecraft:looting",
|
||||
"function": "minecraft:enchanted_count_increase"
|
||||
}
|
||||
],
|
||||
"conditions": [
|
||||
{
|
||||
"condition": "minecraft:random_chance",
|
||||
"chance": 0.025
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"random_sequence": "cobblemon:pokemon/aron"
|
||||
}
|
||||
@@ -0,0 +1,95 @@
|
||||
{
|
||||
"type": "minecraft:generic",
|
||||
"pools": [
|
||||
{
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"name": "minecraft:salmon",
|
||||
"functions": [
|
||||
{
|
||||
"function": "set_count",
|
||||
"count": {
|
||||
"min": 1,
|
||||
"max": 1
|
||||
}
|
||||
},
|
||||
{
|
||||
"count": {
|
||||
"type": "minecraft:uniform",
|
||||
"max": 1,
|
||||
"min": 0
|
||||
},
|
||||
"enchantment": "minecraft:looting",
|
||||
"function": "minecraft:enchanted_count_increase"
|
||||
},
|
||||
{
|
||||
"conditions": [
|
||||
{
|
||||
"condition": "minecraft:any_of",
|
||||
"terms": [
|
||||
{
|
||||
"condition": "minecraft:entity_properties",
|
||||
"entity": "this",
|
||||
"predicate": {
|
||||
"flags": {
|
||||
"is_on_fire": true
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"condition": "minecraft:entity_properties",
|
||||
"entity": "direct_attacker",
|
||||
"predicate": {
|
||||
"equipment": {
|
||||
"mainhand": {
|
||||
"predicates": {
|
||||
"minecraft:enchantments": [
|
||||
{
|
||||
"enchantments": "#minecraft:smelts_loot"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"function": "minecraft:furnace_smelt"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"name": "minecraft:bone_meal",
|
||||
"functions": [
|
||||
{
|
||||
"count": {
|
||||
"type": "minecraft:uniform",
|
||||
"max": 1,
|
||||
"min": 0
|
||||
},
|
||||
"enchantment": "minecraft:looting",
|
||||
"function": "minecraft:enchanted_count_increase"
|
||||
}
|
||||
],
|
||||
"conditions": [
|
||||
{
|
||||
"condition": "minecraft:random_chance",
|
||||
"chance": 0.05
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"random_sequence": "cobblemon:pokemon/arrokuda"
|
||||
}
|
||||
@@ -0,0 +1,123 @@
|
||||
{
|
||||
"type": "minecraft:generic",
|
||||
"pools": [
|
||||
{
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"name": "minecraft:feather",
|
||||
"functions": [
|
||||
{
|
||||
"function": "set_count",
|
||||
"count": {
|
||||
"min": 2,
|
||||
"max": 4
|
||||
}
|
||||
},
|
||||
{
|
||||
"count": {
|
||||
"type": "minecraft:uniform",
|
||||
"max": 1,
|
||||
"min": 0
|
||||
},
|
||||
"enchantment": "minecraft:looting",
|
||||
"function": "minecraft:enchanted_count_increase"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"name": "minecraft:chicken",
|
||||
"functions": [
|
||||
{
|
||||
"function": "set_count",
|
||||
"count": {
|
||||
"min": 1,
|
||||
"max": 1
|
||||
}
|
||||
},
|
||||
{
|
||||
"count": {
|
||||
"type": "minecraft:uniform",
|
||||
"max": 1,
|
||||
"min": 0
|
||||
},
|
||||
"enchantment": "minecraft:looting",
|
||||
"function": "minecraft:enchanted_count_increase"
|
||||
},
|
||||
{
|
||||
"conditions": [
|
||||
{
|
||||
"condition": "minecraft:any_of",
|
||||
"terms": [
|
||||
{
|
||||
"condition": "minecraft:entity_properties",
|
||||
"entity": "this",
|
||||
"predicate": {
|
||||
"flags": {
|
||||
"is_on_fire": true
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"condition": "minecraft:entity_properties",
|
||||
"entity": "direct_attacker",
|
||||
"predicate": {
|
||||
"equipment": {
|
||||
"mainhand": {
|
||||
"predicates": {
|
||||
"minecraft:enchantments": [
|
||||
{
|
||||
"enchantments": "#minecraft:smelts_loot"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"function": "minecraft:furnace_smelt"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"name": "cobblemon:never_melt_ice",
|
||||
"functions": [
|
||||
{
|
||||
"function": "set_count",
|
||||
"count": {
|
||||
"min": 1,
|
||||
"max": 1
|
||||
}
|
||||
},
|
||||
{
|
||||
"count": {
|
||||
"type": "minecraft:uniform",
|
||||
"max": 1,
|
||||
"min": 0
|
||||
},
|
||||
"enchantment": "minecraft:looting",
|
||||
"function": "minecraft:enchanted_count_increase"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"random_sequence": "cobblemon:pokemon/articuno"
|
||||
}
|
||||
@@ -0,0 +1,123 @@
|
||||
{
|
||||
"type": "minecraft:generic",
|
||||
"pools": [
|
||||
{
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"name": "minecraft:feather",
|
||||
"functions": [
|
||||
{
|
||||
"function": "set_count",
|
||||
"count": {
|
||||
"min": 2,
|
||||
"max": 4
|
||||
}
|
||||
},
|
||||
{
|
||||
"count": {
|
||||
"type": "minecraft:uniform",
|
||||
"max": 1,
|
||||
"min": 0
|
||||
},
|
||||
"enchantment": "minecraft:looting",
|
||||
"function": "minecraft:enchanted_count_increase"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"name": "minecraft:chicken",
|
||||
"functions": [
|
||||
{
|
||||
"function": "set_count",
|
||||
"count": {
|
||||
"min": 1,
|
||||
"max": 1
|
||||
}
|
||||
},
|
||||
{
|
||||
"count": {
|
||||
"type": "minecraft:uniform",
|
||||
"max": 1,
|
||||
"min": 0
|
||||
},
|
||||
"enchantment": "minecraft:looting",
|
||||
"function": "minecraft:enchanted_count_increase"
|
||||
},
|
||||
{
|
||||
"conditions": [
|
||||
{
|
||||
"condition": "minecraft:any_of",
|
||||
"terms": [
|
||||
{
|
||||
"condition": "minecraft:entity_properties",
|
||||
"entity": "this",
|
||||
"predicate": {
|
||||
"flags": {
|
||||
"is_on_fire": true
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"condition": "minecraft:entity_properties",
|
||||
"entity": "direct_attacker",
|
||||
"predicate": {
|
||||
"equipment": {
|
||||
"mainhand": {
|
||||
"predicates": {
|
||||
"minecraft:enchantments": [
|
||||
{
|
||||
"enchantments": "#minecraft:smelts_loot"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"function": "minecraft:furnace_smelt"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"name": "cobblemon:twisted_spoon",
|
||||
"functions": [
|
||||
{
|
||||
"function": "set_count",
|
||||
"count": {
|
||||
"min": 1,
|
||||
"max": 1
|
||||
}
|
||||
},
|
||||
{
|
||||
"count": {
|
||||
"type": "minecraft:uniform",
|
||||
"max": 1,
|
||||
"min": 0
|
||||
},
|
||||
"enchantment": "minecraft:looting",
|
||||
"function": "minecraft:enchanted_count_increase"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"random_sequence": "cobblemon:pokemon/articuno_galar"
|
||||
}
|
||||
@@ -0,0 +1,58 @@
|
||||
{
|
||||
"type": "minecraft:generic",
|
||||
"pools": [
|
||||
{
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"name": "cobblemon:oran_berry",
|
||||
"functions": [
|
||||
{
|
||||
"count": {
|
||||
"type": "minecraft:uniform",
|
||||
"max": 1,
|
||||
"min": 0
|
||||
},
|
||||
"enchantment": "minecraft:looting",
|
||||
"function": "minecraft:enchanted_count_increase"
|
||||
}
|
||||
],
|
||||
"conditions": [
|
||||
{
|
||||
"condition": "minecraft:random_chance",
|
||||
"chance": 0.05
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"name": "cobblemon:fairy_feather",
|
||||
"functions": [
|
||||
{
|
||||
"count": {
|
||||
"type": "minecraft:uniform",
|
||||
"max": 1,
|
||||
"min": 0
|
||||
},
|
||||
"enchantment": "minecraft:looting",
|
||||
"function": "minecraft:enchanted_count_increase"
|
||||
}
|
||||
],
|
||||
"conditions": [
|
||||
{
|
||||
"condition": "minecraft:random_chance",
|
||||
"chance": 0.05
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"random_sequence": "cobblemon:pokemon/audino"
|
||||
}
|
||||
@@ -0,0 +1,32 @@
|
||||
{
|
||||
"type": "minecraft:generic",
|
||||
"pools": [
|
||||
{
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"name": "cobblemon:never_melt_ice",
|
||||
"functions": [
|
||||
{
|
||||
"count": {
|
||||
"type": "minecraft:uniform",
|
||||
"max": 1,
|
||||
"min": 0
|
||||
},
|
||||
"enchantment": "minecraft:looting",
|
||||
"function": "minecraft:enchanted_count_increase"
|
||||
}
|
||||
],
|
||||
"conditions": [
|
||||
{
|
||||
"condition": "minecraft:random_chance",
|
||||
"chance": 0.1
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"random_sequence": "cobblemon:pokemon/aurorus"
|
||||
}
|
||||
@@ -0,0 +1,85 @@
|
||||
{
|
||||
"type": "minecraft:generic",
|
||||
"pools": [
|
||||
{
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"name": "minecraft:ice",
|
||||
"functions": [
|
||||
{
|
||||
"function": "set_count",
|
||||
"count": {
|
||||
"min": 0,
|
||||
"max": 3
|
||||
}
|
||||
},
|
||||
{
|
||||
"count": {
|
||||
"type": "minecraft:uniform",
|
||||
"max": 1,
|
||||
"min": 0
|
||||
},
|
||||
"enchantment": "minecraft:looting",
|
||||
"function": "minecraft:enchanted_count_increase"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"name": "cobblemon:never_melt_ice",
|
||||
"functions": [
|
||||
{
|
||||
"count": {
|
||||
"type": "minecraft:uniform",
|
||||
"max": 1,
|
||||
"min": 0
|
||||
},
|
||||
"enchantment": "minecraft:looting",
|
||||
"function": "minecraft:enchanted_count_increase"
|
||||
}
|
||||
],
|
||||
"conditions": [
|
||||
{
|
||||
"condition": "minecraft:random_chance",
|
||||
"chance": 0.05
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"name": "cobblemon:aspear_berry",
|
||||
"functions": [
|
||||
{
|
||||
"count": {
|
||||
"type": "minecraft:uniform",
|
||||
"max": 1,
|
||||
"min": 0
|
||||
},
|
||||
"enchantment": "minecraft:looting",
|
||||
"function": "minecraft:enchanted_count_increase"
|
||||
}
|
||||
],
|
||||
"conditions": [
|
||||
{
|
||||
"condition": "minecraft:random_chance",
|
||||
"chance": 0.05
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"random_sequence": "cobblemon:pokemon/avalugg"
|
||||
}
|
||||
@@ -0,0 +1,85 @@
|
||||
{
|
||||
"type": "minecraft:generic",
|
||||
"pools": [
|
||||
{
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"name": "minecraft:ice",
|
||||
"functions": [
|
||||
{
|
||||
"function": "set_count",
|
||||
"count": {
|
||||
"min": 0,
|
||||
"max": 2
|
||||
}
|
||||
},
|
||||
{
|
||||
"count": {
|
||||
"type": "minecraft:uniform",
|
||||
"max": 1,
|
||||
"min": 0
|
||||
},
|
||||
"enchantment": "minecraft:looting",
|
||||
"function": "minecraft:enchanted_count_increase"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"name": "cobblemon:never_melt_ice",
|
||||
"functions": [
|
||||
{
|
||||
"count": {
|
||||
"type": "minecraft:uniform",
|
||||
"max": 1,
|
||||
"min": 0
|
||||
},
|
||||
"enchantment": "minecraft:looting",
|
||||
"function": "minecraft:enchanted_count_increase"
|
||||
}
|
||||
],
|
||||
"conditions": [
|
||||
{
|
||||
"condition": "minecraft:random_chance",
|
||||
"chance": 0.05
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"name": "cobblemon:babiri_berry",
|
||||
"functions": [
|
||||
{
|
||||
"count": {
|
||||
"type": "minecraft:uniform",
|
||||
"max": 1,
|
||||
"min": 0
|
||||
},
|
||||
"enchantment": "minecraft:looting",
|
||||
"function": "minecraft:enchanted_count_increase"
|
||||
}
|
||||
],
|
||||
"conditions": [
|
||||
{
|
||||
"condition": "minecraft:random_chance",
|
||||
"chance": 0.05
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"random_sequence": "cobblemon:pokemon/avalugg_hisui"
|
||||
}
|
||||
@@ -0,0 +1,58 @@
|
||||
{
|
||||
"type": "minecraft:generic",
|
||||
"pools": [
|
||||
{
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"name": "cobblemon:dragon_fang",
|
||||
"functions": [
|
||||
{
|
||||
"count": {
|
||||
"type": "minecraft:uniform",
|
||||
"max": 1,
|
||||
"min": 0
|
||||
},
|
||||
"enchantment": "minecraft:looting",
|
||||
"function": "minecraft:enchanted_count_increase"
|
||||
}
|
||||
],
|
||||
"conditions": [
|
||||
{
|
||||
"condition": "minecraft:random_chance",
|
||||
"chance": 0.05
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"name": "cobblemon:haban_berry",
|
||||
"functions": [
|
||||
{
|
||||
"count": {
|
||||
"type": "minecraft:uniform",
|
||||
"max": 1,
|
||||
"min": 0
|
||||
},
|
||||
"enchantment": "minecraft:looting",
|
||||
"function": "minecraft:enchanted_count_increase"
|
||||
}
|
||||
],
|
||||
"conditions": [
|
||||
{
|
||||
"condition": "minecraft:random_chance",
|
||||
"chance": 0.05
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"random_sequence": "cobblemon:pokemon/axew"
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"type": "minecraft:generic",
|
||||
"pools": [],
|
||||
"random_sequence": "cobblemon:pokemon/azelf"
|
||||
}
|
||||
@@ -0,0 +1,32 @@
|
||||
{
|
||||
"type": "minecraft:generic",
|
||||
"pools": [
|
||||
{
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"name": "cobblemon:kebia_berry",
|
||||
"functions": [
|
||||
{
|
||||
"count": {
|
||||
"type": "minecraft:uniform",
|
||||
"max": 1,
|
||||
"min": 0
|
||||
},
|
||||
"enchantment": "minecraft:looting",
|
||||
"function": "minecraft:enchanted_count_increase"
|
||||
}
|
||||
],
|
||||
"conditions": [
|
||||
{
|
||||
"condition": "minecraft:random_chance",
|
||||
"chance": 0.1
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"random_sequence": "cobblemon:pokemon/azumarill"
|
||||
}
|
||||
@@ -0,0 +1,32 @@
|
||||
{
|
||||
"type": "minecraft:generic",
|
||||
"pools": [
|
||||
{
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"name": "cobblemon:kebia_berry",
|
||||
"functions": [
|
||||
{
|
||||
"count": {
|
||||
"type": "minecraft:uniform",
|
||||
"max": 1,
|
||||
"min": 0
|
||||
},
|
||||
"enchantment": "minecraft:looting",
|
||||
"function": "minecraft:enchanted_count_increase"
|
||||
}
|
||||
],
|
||||
"conditions": [
|
||||
{
|
||||
"condition": "minecraft:random_chance",
|
||||
"chance": 0.025
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"random_sequence": "cobblemon:pokemon/azurill"
|
||||
}
|
||||
@@ -0,0 +1,84 @@
|
||||
{
|
||||
"type": "minecraft:generic",
|
||||
"pools": [
|
||||
{
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"name": "cobblemon:dragon_fang",
|
||||
"functions": [
|
||||
{
|
||||
"count": {
|
||||
"type": "minecraft:uniform",
|
||||
"max": 1,
|
||||
"min": 0
|
||||
},
|
||||
"enchantment": "minecraft:looting",
|
||||
"function": "minecraft:enchanted_count_increase"
|
||||
}
|
||||
],
|
||||
"conditions": [
|
||||
{
|
||||
"condition": "minecraft:random_chance",
|
||||
"chance": 0.05
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"name": "cobblemon:dragon_scale",
|
||||
"functions": [
|
||||
{
|
||||
"count": {
|
||||
"type": "minecraft:uniform",
|
||||
"max": 1,
|
||||
"min": 0
|
||||
},
|
||||
"enchantment": "minecraft:looting",
|
||||
"function": "minecraft:enchanted_count_increase"
|
||||
}
|
||||
],
|
||||
"conditions": [
|
||||
{
|
||||
"condition": "minecraft:random_chance",
|
||||
"chance": 0.05
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"name": "cobblemon:yache_berry",
|
||||
"functions": [
|
||||
{
|
||||
"count": {
|
||||
"type": "minecraft:uniform",
|
||||
"max": 1,
|
||||
"min": 0
|
||||
},
|
||||
"enchantment": "minecraft:looting",
|
||||
"function": "minecraft:enchanted_count_increase"
|
||||
}
|
||||
],
|
||||
"conditions": [
|
||||
{
|
||||
"condition": "minecraft:random_chance",
|
||||
"chance": 0.05
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"random_sequence": "cobblemon:pokemon/bagon"
|
||||
}
|
||||
@@ -0,0 +1,85 @@
|
||||
{
|
||||
"type": "minecraft:generic",
|
||||
"pools": [
|
||||
{
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"name": "minecraft:clay_ball",
|
||||
"functions": [
|
||||
{
|
||||
"function": "set_count",
|
||||
"count": {
|
||||
"min": 0,
|
||||
"max": 1
|
||||
}
|
||||
},
|
||||
{
|
||||
"count": {
|
||||
"type": "minecraft:uniform",
|
||||
"max": 1,
|
||||
"min": 0
|
||||
},
|
||||
"enchantment": "minecraft:looting",
|
||||
"function": "minecraft:enchanted_count_increase"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"name": "cobblemon:light_clay",
|
||||
"functions": [
|
||||
{
|
||||
"count": {
|
||||
"type": "minecraft:uniform",
|
||||
"max": 1,
|
||||
"min": 0
|
||||
},
|
||||
"enchantment": "minecraft:looting",
|
||||
"function": "minecraft:enchanted_count_increase"
|
||||
}
|
||||
],
|
||||
"conditions": [
|
||||
{
|
||||
"condition": "minecraft:random_chance",
|
||||
"chance": 0.025
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"name": "cobblemon:colbur_berry",
|
||||
"functions": [
|
||||
{
|
||||
"count": {
|
||||
"type": "minecraft:uniform",
|
||||
"max": 1,
|
||||
"min": 0
|
||||
},
|
||||
"enchantment": "minecraft:looting",
|
||||
"function": "minecraft:enchanted_count_increase"
|
||||
}
|
||||
],
|
||||
"conditions": [
|
||||
{
|
||||
"condition": "minecraft:random_chance",
|
||||
"chance": 0.025
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"random_sequence": "cobblemon:pokemon/baltoy"
|
||||
}
|
||||
@@ -0,0 +1,58 @@
|
||||
{
|
||||
"type": "minecraft:generic",
|
||||
"pools": [
|
||||
{
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"name": "minecraft:phantom_membrane",
|
||||
"functions": [
|
||||
{
|
||||
"count": {
|
||||
"type": "minecraft:uniform",
|
||||
"max": 1,
|
||||
"min": 0
|
||||
},
|
||||
"enchantment": "minecraft:looting",
|
||||
"function": "minecraft:enchanted_count_increase"
|
||||
}
|
||||
],
|
||||
"conditions": [
|
||||
{
|
||||
"condition": "minecraft:random_chance",
|
||||
"chance": 0.05
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"name": "cobblemon:spell_tag",
|
||||
"functions": [
|
||||
{
|
||||
"count": {
|
||||
"type": "minecraft:uniform",
|
||||
"max": 1,
|
||||
"min": 0
|
||||
},
|
||||
"enchantment": "minecraft:looting",
|
||||
"function": "minecraft:enchanted_count_increase"
|
||||
}
|
||||
],
|
||||
"conditions": [
|
||||
{
|
||||
"condition": "minecraft:random_chance",
|
||||
"chance": 0.05
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"random_sequence": "cobblemon:pokemon/banette"
|
||||
}
|
||||
@@ -0,0 +1,32 @@
|
||||
{
|
||||
"type": "minecraft:generic",
|
||||
"pools": [
|
||||
{
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"name": "cobblemon:rindo_berry",
|
||||
"functions": [
|
||||
{
|
||||
"count": {
|
||||
"type": "minecraft:uniform",
|
||||
"max": 1,
|
||||
"min": 0
|
||||
},
|
||||
"enchantment": "minecraft:looting",
|
||||
"function": "minecraft:enchanted_count_increase"
|
||||
}
|
||||
],
|
||||
"conditions": [
|
||||
{
|
||||
"condition": "minecraft:random_chance",
|
||||
"chance": 0.05
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"random_sequence": "cobblemon:pokemon/barbaracle"
|
||||
}
|
||||
@@ -0,0 +1,59 @@
|
||||
{
|
||||
"type": "minecraft:generic",
|
||||
"pools": [
|
||||
{
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"name": "minecraft:clay_ball",
|
||||
"functions": [
|
||||
{
|
||||
"function": "set_count",
|
||||
"count": {
|
||||
"min": 0,
|
||||
"max": 1
|
||||
}
|
||||
},
|
||||
{
|
||||
"count": {
|
||||
"type": "minecraft:uniform",
|
||||
"max": 1,
|
||||
"min": 0
|
||||
},
|
||||
"enchantment": "minecraft:looting",
|
||||
"function": "minecraft:enchanted_count_increase"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"name": "cobblemon:rindo_berry",
|
||||
"functions": [
|
||||
{
|
||||
"count": {
|
||||
"type": "minecraft:uniform",
|
||||
"max": 1,
|
||||
"min": 0
|
||||
},
|
||||
"enchantment": "minecraft:looting",
|
||||
"function": "minecraft:enchanted_count_increase"
|
||||
}
|
||||
],
|
||||
"conditions": [
|
||||
{
|
||||
"condition": "minecraft:random_chance",
|
||||
"chance": 0.025
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"random_sequence": "cobblemon:pokemon/barboach"
|
||||
}
|
||||
@@ -0,0 +1,95 @@
|
||||
{
|
||||
"type": "minecraft:generic",
|
||||
"pools": [
|
||||
{
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"name": "minecraft:salmon",
|
||||
"functions": [
|
||||
{
|
||||
"function": "set_count",
|
||||
"count": {
|
||||
"min": 1,
|
||||
"max": 1
|
||||
}
|
||||
},
|
||||
{
|
||||
"count": {
|
||||
"type": "minecraft:uniform",
|
||||
"max": 1,
|
||||
"min": 0
|
||||
},
|
||||
"enchantment": "minecraft:looting",
|
||||
"function": "minecraft:enchanted_count_increase"
|
||||
},
|
||||
{
|
||||
"conditions": [
|
||||
{
|
||||
"condition": "minecraft:any_of",
|
||||
"terms": [
|
||||
{
|
||||
"condition": "minecraft:entity_properties",
|
||||
"entity": "this",
|
||||
"predicate": {
|
||||
"flags": {
|
||||
"is_on_fire": true
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"condition": "minecraft:entity_properties",
|
||||
"entity": "direct_attacker",
|
||||
"predicate": {
|
||||
"equipment": {
|
||||
"mainhand": {
|
||||
"predicates": {
|
||||
"minecraft:enchantments": [
|
||||
{
|
||||
"enchantments": "#minecraft:smelts_loot"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"function": "minecraft:furnace_smelt"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"name": "minecraft:bone_meal",
|
||||
"functions": [
|
||||
{
|
||||
"count": {
|
||||
"type": "minecraft:uniform",
|
||||
"max": 1,
|
||||
"min": 0
|
||||
},
|
||||
"enchantment": "minecraft:looting",
|
||||
"function": "minecraft:enchanted_count_increase"
|
||||
}
|
||||
],
|
||||
"conditions": [
|
||||
{
|
||||
"condition": "minecraft:random_chance",
|
||||
"chance": 0.1
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"random_sequence": "cobblemon:pokemon/barraskewda"
|
||||
}
|
||||
@@ -0,0 +1,95 @@
|
||||
{
|
||||
"type": "minecraft:generic",
|
||||
"pools": [
|
||||
{
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"name": "minecraft:salmon",
|
||||
"functions": [
|
||||
{
|
||||
"function": "set_count",
|
||||
"count": {
|
||||
"min": 1,
|
||||
"max": 1
|
||||
}
|
||||
},
|
||||
{
|
||||
"count": {
|
||||
"type": "minecraft:uniform",
|
||||
"max": 1,
|
||||
"min": 0
|
||||
},
|
||||
"enchantment": "minecraft:looting",
|
||||
"function": "minecraft:enchanted_count_increase"
|
||||
},
|
||||
{
|
||||
"conditions": [
|
||||
{
|
||||
"condition": "minecraft:any_of",
|
||||
"terms": [
|
||||
{
|
||||
"condition": "minecraft:entity_properties",
|
||||
"entity": "this",
|
||||
"predicate": {
|
||||
"flags": {
|
||||
"is_on_fire": true
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"condition": "minecraft:entity_properties",
|
||||
"entity": "direct_attacker",
|
||||
"predicate": {
|
||||
"equipment": {
|
||||
"mainhand": {
|
||||
"predicates": {
|
||||
"minecraft:enchantments": [
|
||||
{
|
||||
"enchantments": "#minecraft:smelts_loot"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"function": "minecraft:furnace_smelt"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"name": "minecraft:bone_meal",
|
||||
"functions": [
|
||||
{
|
||||
"count": {
|
||||
"type": "minecraft:uniform",
|
||||
"max": 1,
|
||||
"min": 0
|
||||
},
|
||||
"enchantment": "minecraft:looting",
|
||||
"function": "minecraft:enchanted_count_increase"
|
||||
}
|
||||
],
|
||||
"conditions": [
|
||||
{
|
||||
"condition": "minecraft:random_chance",
|
||||
"chance": 0.05
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"random_sequence": "cobblemon:pokemon/basculegion"
|
||||
}
|
||||
@@ -0,0 +1,121 @@
|
||||
{
|
||||
"type": "minecraft:generic",
|
||||
"pools": [
|
||||
{
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"name": "minecraft:salmon",
|
||||
"functions": [
|
||||
{
|
||||
"function": "set_count",
|
||||
"count": {
|
||||
"min": 1,
|
||||
"max": 1
|
||||
}
|
||||
},
|
||||
{
|
||||
"count": {
|
||||
"type": "minecraft:uniform",
|
||||
"max": 1,
|
||||
"min": 0
|
||||
},
|
||||
"enchantment": "minecraft:looting",
|
||||
"function": "minecraft:enchanted_count_increase"
|
||||
},
|
||||
{
|
||||
"conditions": [
|
||||
{
|
||||
"condition": "minecraft:any_of",
|
||||
"terms": [
|
||||
{
|
||||
"condition": "minecraft:entity_properties",
|
||||
"entity": "this",
|
||||
"predicate": {
|
||||
"flags": {
|
||||
"is_on_fire": true
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"condition": "minecraft:entity_properties",
|
||||
"entity": "direct_attacker",
|
||||
"predicate": {
|
||||
"equipment": {
|
||||
"mainhand": {
|
||||
"predicates": {
|
||||
"minecraft:enchantments": [
|
||||
{
|
||||
"enchantments": "#minecraft:smelts_loot"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"function": "minecraft:furnace_smelt"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"name": "minecraft:bone_meal",
|
||||
"functions": [
|
||||
{
|
||||
"count": {
|
||||
"type": "minecraft:uniform",
|
||||
"max": 1,
|
||||
"min": 0
|
||||
},
|
||||
"enchantment": "minecraft:looting",
|
||||
"function": "minecraft:enchanted_count_increase"
|
||||
}
|
||||
],
|
||||
"conditions": [
|
||||
{
|
||||
"condition": "minecraft:random_chance",
|
||||
"chance": 0.05
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"name": "cobblemon:deep_sea_tooth",
|
||||
"functions": [
|
||||
{
|
||||
"count": {
|
||||
"type": "minecraft:uniform",
|
||||
"max": 1,
|
||||
"min": 0
|
||||
},
|
||||
"enchantment": "minecraft:looting",
|
||||
"function": "minecraft:enchanted_count_increase"
|
||||
}
|
||||
],
|
||||
"conditions": [
|
||||
{
|
||||
"condition": "minecraft:random_chance",
|
||||
"chance": 0.05
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"random_sequence": "cobblemon:pokemon/basculin"
|
||||
}
|
||||
@@ -0,0 +1,33 @@
|
||||
{
|
||||
"type": "minecraft:generic",
|
||||
"pools": [
|
||||
{
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"name": "minecraft:bone",
|
||||
"functions": [
|
||||
{
|
||||
"function": "set_count",
|
||||
"count": {
|
||||
"min": 0,
|
||||
"max": 2
|
||||
}
|
||||
},
|
||||
{
|
||||
"count": {
|
||||
"type": "minecraft:uniform",
|
||||
"max": 1,
|
||||
"min": 0
|
||||
},
|
||||
"enchantment": "minecraft:looting",
|
||||
"function": "minecraft:enchanted_count_increase"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"random_sequence": "cobblemon:pokemon/bastiodon"
|
||||
}
|
||||
@@ -0,0 +1,32 @@
|
||||
{
|
||||
"type": "minecraft:generic",
|
||||
"pools": [
|
||||
{
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"name": "cobblemon:haban_berry",
|
||||
"functions": [
|
||||
{
|
||||
"count": {
|
||||
"type": "minecraft:uniform",
|
||||
"max": 1,
|
||||
"min": 0
|
||||
},
|
||||
"enchantment": "minecraft:looting",
|
||||
"function": "minecraft:enchanted_count_increase"
|
||||
}
|
||||
],
|
||||
"conditions": [
|
||||
{
|
||||
"condition": "minecraft:random_chance",
|
||||
"chance": 0.25
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"random_sequence": "cobblemon:pokemon/baxcalibur"
|
||||
}
|
||||
@@ -0,0 +1,32 @@
|
||||
{
|
||||
"type": "minecraft:generic",
|
||||
"pools": [
|
||||
{
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"name": "cobblemon:miracle_seed",
|
||||
"functions": [
|
||||
{
|
||||
"count": {
|
||||
"type": "minecraft:uniform",
|
||||
"max": 1,
|
||||
"min": 0
|
||||
},
|
||||
"enchantment": "minecraft:looting",
|
||||
"function": "minecraft:enchanted_count_increase"
|
||||
}
|
||||
],
|
||||
"conditions": [
|
||||
{
|
||||
"condition": "minecraft:random_chance",
|
||||
"chance": 0.1
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"random_sequence": "cobblemon:pokemon/bayleef"
|
||||
}
|
||||
@@ -0,0 +1,122 @@
|
||||
{
|
||||
"type": "minecraft:generic",
|
||||
"pools": [
|
||||
{
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"name": "minecraft:snowball",
|
||||
"functions": [
|
||||
{
|
||||
"function": "set_count",
|
||||
"count": {
|
||||
"min": 0,
|
||||
"max": 2
|
||||
}
|
||||
},
|
||||
{
|
||||
"count": {
|
||||
"type": "minecraft:uniform",
|
||||
"max": 1,
|
||||
"min": 0
|
||||
},
|
||||
"enchantment": "minecraft:looting",
|
||||
"function": "minecraft:enchanted_count_increase"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"name": "minecraft:cod",
|
||||
"functions": [
|
||||
{
|
||||
"function": "set_count",
|
||||
"count": {
|
||||
"min": 0,
|
||||
"max": 2
|
||||
}
|
||||
},
|
||||
{
|
||||
"count": {
|
||||
"type": "minecraft:uniform",
|
||||
"max": 1,
|
||||
"min": 0
|
||||
},
|
||||
"enchantment": "minecraft:looting",
|
||||
"function": "minecraft:enchanted_count_increase"
|
||||
},
|
||||
{
|
||||
"conditions": [
|
||||
{
|
||||
"condition": "minecraft:any_of",
|
||||
"terms": [
|
||||
{
|
||||
"condition": "minecraft:entity_properties",
|
||||
"entity": "this",
|
||||
"predicate": {
|
||||
"flags": {
|
||||
"is_on_fire": true
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"condition": "minecraft:entity_properties",
|
||||
"entity": "direct_attacker",
|
||||
"predicate": {
|
||||
"equipment": {
|
||||
"mainhand": {
|
||||
"predicates": {
|
||||
"minecraft:enchantments": [
|
||||
{
|
||||
"enchantments": "#minecraft:smelts_loot"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"function": "minecraft:furnace_smelt"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"name": "cobblemon:aspear_berry",
|
||||
"functions": [
|
||||
{
|
||||
"count": {
|
||||
"type": "minecraft:uniform",
|
||||
"max": 1,
|
||||
"min": 0
|
||||
},
|
||||
"enchantment": "minecraft:looting",
|
||||
"function": "minecraft:enchanted_count_increase"
|
||||
}
|
||||
],
|
||||
"conditions": [
|
||||
{
|
||||
"condition": "minecraft:random_chance",
|
||||
"chance": 0.05
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"random_sequence": "cobblemon:pokemon/beartic"
|
||||
}
|
||||
Loaded 100 of 2218 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user