🧺 Cobblemon Picnic
Stop roaming. Bring the spawns to you.
Put down a picnic table, right-click it, and the wild Pokémon around you are swept away and replaced with a fresh batch. Hunt a shiny, hunt a species, hunt from a chair — without walking a thousand blocks to reset the neighbourhood.
Then sit down. A full table doubles your shiny odds.
✨ What you get
- 🔄 Spawn re-roll on demand — right-click the table. Every re-roll eats bread, so keep its basket stocked — or a picnic basket nearby — and the table stays fed. A short cooldown keeps it from being spammed. Your own Pokémon are never touched.
- ✨ Shiny aura — every occupied seat raises the odds; a full table doubles them.
- 🪑 Six tables — Basic, Advanced and Expert, plus Diving, Hot and Strange for underwater, the Nether and the End. Each one carries its home with it, and makes everywhere else regret it.
- 🎨 Your table, your table — built from 176 cloth-and-wood combinations, a bench per seat, and its own basket. Dye the cloth in place. No two picnics look alike.
- 🧽 Care for your team — wash them, play fetch, earn friendship. The tools are crafted once and last forever.
- ⚔️ Battle Seeker — drop one in an Expert table and the re-roll summons a trainer instead.
- 📊 Statistics — every re-roll logged, every shiny counted.
Everything is configurable in game, and the re-roll has a master switch for servers that want the picnic without the spawn manipulation.
🧩 Requirements
- Cobblemon (CurseForge) for Minecraft 1.21.1.
- Fabric: Fabric API + Fabric Language Kotlin.
- NeoForge: Architectury API + Kotlin For Forge.
Plays nicely with Handcrafted (CurseForge) and CobbleFurnies (CurseForge) — their furniture works in the recipe, and the duplicates quietly step aside.
📖 Everything else
Settings, commands and the full feature reference live on the wiki.
Found a bug or have an idea? The Discord picks reports up automatically and replies in your thread when the fix ships.
The mod is free and stays free — you can sponsor the author if it makes your hunts comfier.
License: "If you make money, I make money" — free to use and redistribute for free; commercial use needs a revenue-sharing agreement. Full terms.
All Versions
+ Add Version| Name | Game version | Platforms | Published | Downloads | Actions |
|---|---|---|---|---|---|
| 9d ago | 1 | ||||
| 9d ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 1mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 4mo ago | 1 | ||||
| 4mo ago | 1 | ||||
| 4mo ago | 1 | ||||
| 4mo ago | 1 | ||||
| 4mo ago | 1 | ||||
| 4mo ago | 1 | ||||
| 4mo ago | 1 | ||||
| 4mo ago | 1 | ||||
| 4mo ago | 1 | ||||
| 5mo ago | 1 | ||||
| 5mo ago | 1 |
### Re-rolls
- A re-roll spawns on flat ground again with Cobblemon 1.8.2.** Cobblemon 1.8.2 changed how it
that area ended up just above the grass, so the table said there was nowhere to spawn while wild
Pokémon spawned there on their own. Each search now checks with Cobblemon where its area will land
and keeps the ground inside it.
- A re-roll no longer comes back empty where only rare Pokémon live.** Cobblemon picks a rarity
try came up empty. When the rarity it picks has nothing here, the re-roll now tries the others,
keeping Cobblemon's odds between them.
- Nothing spawns on top of the table anymore.** On a small platform the re-roll searches right
off-limits, and so is a small clearance around you (2 blocks by default, set in the config).
- Flying Pokémon spawn already in the air.** They used to appear on the ground and then jump up in
- Every re-roll is written to
latest.log.** One line says what the table cleared and spawned, and
happened. It can be turned off in the config.
### The table screen
- The table screen is redrawn in Cobblemon's style.** A charcoal frame with grey panels, the same
- Each table shows its tier in the header.** Three stripes in the top corner take the table's
purple for Strange.
- The count buttons light up on hover and grey out when they would do nothing.** At zero the two
shows how close you are to that cap.
- Each slot is labelled on its own side.** "Bread" sits to the left of the bread slot and "Seeker"
take a Battle Seeker, its slot shows a padlock.
### Bug reports
- Bug reports from Discord get exactly one reply when they are closed.** An old workflow that
the current bot, while still running every six hours. It is gone; the intake bot posts the
closing message on its own, and the thread is no longer locked.
### Re-rolls
- A re-roll spawns on flat ground again with Cobblemon 1.8.2.** Cobblemon 1.8.2 changed how it
that area ended up just above the grass, so the table said there was nowhere to spawn while wild
Pokémon spawned there on their own. Each search now checks with Cobblemon where its area will land
and keeps the ground inside it.
- A re-roll no longer comes back empty where only rare Pokémon live.** Cobblemon picks a rarity
try came up empty. When the rarity it picks has nothing here, the re-roll now tries the others,
keeping Cobblemon's odds between them.
- Nothing spawns on top of the table anymore.** On a small platform the re-roll searches right
off-limits, and so is a small clearance around you (2 blocks by default, set in the config).
- Flying Pokémon spawn already in the air.** They used to appear on the ground and then jump up in
- Every re-roll is written to
latest.log.** One line says what the table cleared and spawned, and
happened. It can be turned off in the config.
### The table screen
- The table screen is redrawn in Cobblemon's style.** A charcoal frame with grey panels, the same
- Each table shows its tier in the header.** Three stripes in the top corner take the table's
purple for Strange.
- The count buttons light up on hover and grey out when they would do nothing.** At zero the two
shows how close you are to that cap.
- Each slot is labelled on its own side.** "Bread" sits to the left of the bread slot and "Seeker"
take a Battle Seeker, its slot shows a padlock.
### Bug reports
- Bug reports from Discord get exactly one reply when they are closed.** An old workflow that
the current bot, while still running every six hours. It is gone; the intake bot posts the
closing message on its own, and the thread is no longer locked.
it with wild Pokémon. 🧺
- A table on a flat, built-up platform now fills it.** Put a table on a platform you built and the
it on their own without trouble. The table was looking for somewhere to put them in a way that only
ever worked on natural, uneven ground: on a flat surface there was nowhere it would accept. It now
looks where you are standing, and a platform in the sky populates like any other ground.
- Re-rolls stay at the table's height.** High above the world, the Pokémon used to appear on the
around itself, nothing ever cleared them away again. A re-roll now keeps to your own altitude.
- No more Pokémon statues.** A re-roll could leave a frozen model standing where a Pokémon used to
just appeared. Nothing is left standing now.
- A well-stocked table no longer crashes the game.** An Advanced table holds three stacks of bread
the table brought the game down the moment the world saved. The bread is stored as a count now, the
way a loose picnic basket has always stored its own, and your existing tables carry theirs over
untouched. Bread renamed on an anvil goes back to being ordinary bread.
- The re-roll area is yours to set.** How far a table reaches was the one per-tier number that could
/picnic config reroll radius expert 96 widens an Expert table, each rung isset on its own, and
default puts it back to 32 / 48 / 64. It moves both halves of a re-roll: thearea that clears and the area that repopulates.
- The table tells you when the ground is the problem.** A re-roll that found nothing always said
not spawn on built blocks — planks, bricks, quartz, concrete, glass, wool — and a platform made of
them can never hold any. The table now says so, and names what does work: grass, dirt, stone or
sand.
- Built for Cobblemon 1.8.** The mod is now compiled against the Cobblemon you are running.
it with wild Pokémon. 🧺
- A table on a flat, built-up platform now fills it.** Put a table on a platform you built and the
it on their own without trouble. The table was looking for somewhere to put them in a way that only
ever worked on natural, uneven ground: on a flat surface there was nowhere it would accept. It now
looks where you are standing, and a platform in the sky populates like any other ground.
- Re-rolls stay at the table's height.** High above the world, the Pokémon used to appear on the
around itself, nothing ever cleared them away again. A re-roll now keeps to your own altitude.
- No more Pokémon statues.** A re-roll could leave a frozen model standing where a Pokémon used to
just appeared. Nothing is left standing now.
- A well-stocked table no longer crashes the game.** An Advanced table holds three stacks of bread
the table brought the game down the moment the world saved. The bread is stored as a count now, the
way a loose picnic basket has always stored its own, and your existing tables carry theirs over
untouched. Bread renamed on an anvil goes back to being ordinary bread.
- The re-roll area is yours to set.** How far a table reaches was the one per-tier number that could
/picnic config reroll radius expert 96 widens an Expert table, each rung isset on its own, and
default puts it back to 32 / 48 / 64. It moves both halves of a re-roll: thearea that clears and the area that repopulates.
- The table tells you when the ground is the problem.** A re-roll that found nothing always said
not spawn on built blocks — planks, bricks, quartz, concrete, glass, wool — and a platform made of
them can never hold any. The table now says so, and names what does work: grass, dirt, stone or
sand.
- Built for Cobblemon 1.8.** The mod is now compiled against the Cobblemon you are running.
> **Heads up — the command changed.** Settings live under
/picnic config <feature> <setting> now.>
/picnic reroll false is /picnic config reroll enabled false, and /picnic spawncap expert 16 is>
/picnic config reroll spawncap expert 16. Type /picnic config to see every feature with its> settings.
/picnic, /picnic stats, reload and reset are unchanged.- Turn off any feature, and tune every one.**
/picnic configcovers the re-roll, the shiny aura,
dimension hazards and the table itself. Every setting takes
default, and/picnic config <feature> reset puts a whole feature back.- Five new switches.** Washing, playing fetch, the Battle Seeker, party TM teaching and dimension
table burning in the Nether, the Hot table scorching, the Diving table spilling and the End moving
a table. Switching off the Battle Seeker locks its slot, and chests stop holding one after the next
/reload.- The interaction wheel follows the server.** Wash and Play used to show or hide based on your own
when the server has switched them off.
- The settings screen tells you when it isn't the one in charge.** On a server, the Mod Menu screen
table reads — so a fuel cost changed there never showed up on the table. The screen now says so at
the top. Operators change the server's settings with
/picnic.- A config file the mod can't read is no longer quietly replaced.** If
config/cobblemon_picnic.json has a typo, the mod says so — in the log, at the top of the settingsscreen, and when you run
/picnic reload — and leaves the file alone until you fix it. Before, it ranon the defaults and wrote them over your values the next time any setting changed.
- Pokémon no longer take damage around a picnic table.** The table's parts are solid blocks, and
inside one took damage every moment it stayed there. The table is still solid to walk on and bump
into. It just can't hurt anything anymore.
- The store page says what a re-roll costs.** It presented the re-roll as a free button. It now
stops spam.
> **Heads up — the command changed.** Settings live under
/picnic config <feature> <setting> now.>
/picnic reroll false is /picnic config reroll enabled false, and /picnic spawncap expert 16 is>
/picnic config reroll spawncap expert 16. Type /picnic config to see every feature with its> settings.
/picnic, /picnic stats, reload and reset are unchanged.- Turn off any feature, and tune every one.**
/picnic configcovers the re-roll, the shiny aura,
dimension hazards and the table itself. Every setting takes
default, and/picnic config <feature> reset puts a whole feature back.- Five new switches.** Washing, playing fetch, the Battle Seeker, party TM teaching and dimension
table burning in the Nether, the Hot table scorching, the Diving table spilling and the End moving
a table. Switching off the Battle Seeker locks its slot, and chests stop holding one after the next
/reload.- The interaction wheel follows the server.** Wash and Play used to show or hide based on your own
when the server has switched them off.
- The settings screen tells you when it isn't the one in charge.** On a server, the Mod Menu screen
table reads — so a fuel cost changed there never showed up on the table. The screen now says so at
the top. Operators change the server's settings with
/picnic.- A config file the mod can't read is no longer quietly replaced.** If
config/cobblemon_picnic.json has a typo, the mod says so — in the log, at the top of the settingsscreen, and when you run
/picnic reload — and leaves the file alone until you fix it. Before, it ranon the defaults and wrote them over your values the next time any setting changed.
- Pokémon no longer take damage around a picnic table.** The table's parts are solid blocks, and
inside one took damage every moment it stayed there. The table is still solid to walk on and bump
into. It just can't hurt anything anymore.
- The store page says what a re-roll costs.** It presented the re-roll as a free button. It now
stops spam.
- Picnic tables are no longer pitch black on NeoForge.** Each table has an invisible block under the
on NeoForge that block drew as a solid black cube over the whole table.
- Picnic tables are no longer pitch black on NeoForge.** Each table has an invisible block under the
on NeoForge that block drew as a solid black cube over the whole table.
icon that shows the table you actually built. 🧺
> **Heads up — break and re-place your tables.** A picnic table is a **3x3** structure now, one cell
> wider and one deeper than before, because the basket has a cell of its own at the end of it. Tables
> already in your world keep working but were built to the old shape, so they have no basket.
>
> **The controls moved too.** Left-clicking a table used to re-roll; it mines the table now, like any
> other block. **Right-click the table to re-roll** — whatever you are holding — and **right-click the
> basket to open the screen**. The screen no longer opens from the table itself.
### Added
- 🧺 **The table carries its own basket**, standing beside it on a cell of its own, drawn from the very
look different, and the basket lands in the same place whichever way you place the table.
- 🎨 **Dye the cloth with sneak + right-click.** A picnic table is two tables side by side and the dye
works on the table's basket and on a loose one, which keeps the bread inside. Wood never takes a dye,
and neither does a bench.
- 🪵 **A table's inventory icon is the table you built** — its cloth, its wood, a bench per seat and its
share one flat icon.
- ⛏️ **Tables can be mined.** Better ones take longer: Basic, Advanced, then Expert — and the Diving,
### Changed
- Two slots instead of one**: bread on the left, Battle Seeker on the right. They shared a
then any loose basket within five blocks.
- 🍞 **A better table is a bigger pantry.** The bread slot holds **one stack on a Basic table, three on
loaded once and left alone. The Diving, Hot and Strange tables hold five, like the Expert they are a
variant of.
- The screen was redrawn**: taller, its controls on a dark panel, every label on it white. The old
- One click, one job.** The table re-rolls, the basket opens the screen, a bench seats you. Nothing is
- 🧺 **All seven picnic baskets redrawn**. The wicker body is the same on every one, the way real
with the basket sitting beside a table.
### Fixed
- With LumyMon installed, our Battle Seeker no longer appears in the creative tab or in treasure chests,
always has — and a seeker you already owned keeps working.
- Re-rolling no longer fights with mining: it moved off the left click entirely, which is what had
- The "not enough space" message quoted the wrong footprint.
### Internal
- The table's drawing was pulled out of the block-entity renderer so the inventory icon can reuse it,
removed, and stale comments corrected — including a config tooltip and a startup log line that still
told players to left-click.
icon that shows the table you actually built. 🧺
> **Heads up — break and re-place your tables.** A picnic table is a **3x3** structure now, one cell
> wider and one deeper than before, because the basket has a cell of its own at the end of it. Tables
> already in your world keep working but were built to the old shape, so they have no basket.
>
> **The controls moved too.** Left-clicking a table used to re-roll; it mines the table now, like any
> other block. **Right-click the table to re-roll** — whatever you are holding — and **right-click the
> basket to open the screen**. The screen no longer opens from the table itself.
### Added
- 🧺 **The table carries its own basket**, standing beside it on a cell of its own, drawn from the very
look different, and the basket lands in the same place whichever way you place the table.
- 🎨 **Dye the cloth with sneak + right-click.** A picnic table is two tables side by side and the dye
works on the table's basket and on a loose one, which keeps the bread inside. Wood never takes a dye,
and neither does a bench.
- 🪵 **A table's inventory icon is the table you built** — its cloth, its wood, a bench per seat and its
share one flat icon.
- ⛏️ **Tables can be mined.** Better ones take longer: Basic, Advanced, then Expert — and the Diving,
### Changed
- Two slots instead of one**: bread on the left, Battle Seeker on the right. They shared a
then any loose basket within five blocks.
- 🍞 **A better table is a bigger pantry.** The bread slot holds **one stack on a Basic table, three on
loaded once and left alone. The Diving, Hot and Strange tables hold five, like the Expert they are a
variant of.
- The screen was redrawn**: taller, its controls on a dark panel, every label on it white. The old
- One click, one job.** The table re-rolls, the basket opens the screen, a bench seats you. Nothing is
- 🧺 **All seven picnic baskets redrawn**. The wicker body is the same on every one, the way real
with the basket sitting beside a table.
### Fixed
- With LumyMon installed, our Battle Seeker no longer appears in the creative tab or in treasure chests,
always has — and a seeker you already owned keeps working.
- Re-rolling no longer fights with mining: it moved off the left click entirely, which is what had
- The "not enough space" message quoted the wrong footprint.
### Internal
- The table's drawing was pulled out of the block-entity renderer so the inventory icon can reuse it,
removed, and stale comments corrected — including a config tooltip and a startup log line that still
told players to left-click.
their home with them, and the fetchball is something you can just throw. 🪵
> **Heads up:** a Hot table outside the Nether now sets fire to the ground around it and burns
> whatever stands near it, your own party included. It was harmless anywhere but the Nether before.
> The Strange table moves off on you everywhere except the End, and the Diving table no longer needs
> water to be placed — it brings its own.
### Added
- 🪵 **Tables come in 11 woods.** A table is crafted from wool and planks, so now it is that wool
- and* that wood:
Spruce Red Table,Cherry Black Table, 176 in all. The oak ones keep the names
- 🍽️ **The picnic table is drawn from the very items you built it with** — the cloth and the wood of
Two benches of different woods come out as two different seats.
- 🪑 **The bench you spend on an upgrade becomes the seat it adds.** Going Basic → Advanced → Expert
- 🔍 **Hold Shift on a picnic table** to read what it is made of: its table, basket, pot, campfire and
- 🧽 **Right-click a Pokémon with the poke-sponge** to wash it there and then, without opening the
- 🎾 **Throw the fetchball whenever you like.** No Pokémon to pick first, no table to stand at: it
that — but let one of your Pokémon fetch it and they bring it back to your hand, and that is worth
friendship. It waits on the ground indefinitely, so it still counts if you send someone out after
the throw. Water is no obstacle; lava is, and a Pokémon that would have to reach into it turns
around and goes back where it was standing.
- 🔥 **The Hot table brings the Nether with it.** Away from the Nether it sets the ground alight
It is fireproof wherever it stands, and it can be sunk into lava.
- 🌊 **The Diving table brings the water with it.** Placed on dry land it fills the ring of blocks
goes up in flames on the spot.
- 🪑 **Dining benches and tables are furniture again.** You can **sit on a bench**, and a row of
there as separate blocks. Benches also waterlog properly.
### Changed
- 🍳 **Nothing extra to gather.** The recipe is what it always was: basket, vivichoke, two tables,
- 🤝 **Handcrafted and CobbleFurnies furniture works in the recipe**, all of it: every CobbleFurnies
is drawn in whichever wood and cloth the one you used is made of.
- 🧹 **With those mods installed, the duplicates step aside.** Handcrafted provides the dining
ones do too. The 160 wood-and-colour combinations stay, because nothing else provides them, and
nothing you already built ever disappears.
- 🌌 **A table is restless wherever it does not belong.** The End moves any table that is not the
stay put anywhere else.
- 🛋️ **A table from an older world keeps working.** It renders in oak with one bench for every seat,
### Fixed
- 🔥 **Fire on a burning table sits on top of it** instead of clinging to its sides and edges. A
flame onto whatever is next to it.
- 🎨 **The item icons say which table they are.** They used to differ only by the tablecloth colour,
three rungs now carry 1, 2 or 3 notches on the basket's handle, and the cloth in the icon is
neutral because it was never yours to promise.
- 💬 **Two refusals printed their own message id** instead of a sentence, when washing or playing
- Advanced** table, and standing next to a Basic one was never going to work.
their home with them, and the fetchball is something you can just throw. 🪵
> **Heads up:** a Hot table outside the Nether now sets fire to the ground around it and burns
> whatever stands near it, your own party included. It was harmless anywhere but the Nether before.
> The Strange table moves off on you everywhere except the End, and the Diving table no longer needs
> water to be placed — it brings its own.
### Added
- 🪵 **Tables come in 11 woods.** A table is crafted from wool and planks, so now it is that wool
- and* that wood:
Spruce Red Table,Cherry Black Table, 176 in all. The oak ones keep the names
- 🍽️ **The picnic table is drawn from the very items you built it with** — the cloth and the wood of
Two benches of different woods come out as two different seats.
- 🪑 **The bench you spend on an upgrade becomes the seat it adds.** Going Basic → Advanced → Expert
- 🔍 **Hold Shift on a picnic table** to read what it is made of: its table, basket, pot, campfire and
- 🧽 **Right-click a Pokémon with the poke-sponge** to wash it there and then, without opening the
- 🎾 **Throw the fetchball whenever you like.** No Pokémon to pick first, no table to stand at: it
that — but let one of your Pokémon fetch it and they bring it back to your hand, and that is worth
friendship. It waits on the ground indefinitely, so it still counts if you send someone out after
the throw. Water is no obstacle; lava is, and a Pokémon that would have to reach into it turns
around and goes back where it was standing.
- 🔥 **The Hot table brings the Nether with it.** Away from the Nether it sets the ground alight
It is fireproof wherever it stands, and it can be sunk into lava.
- 🌊 **The Diving table brings the water with it.** Placed on dry land it fills the ring of blocks
goes up in flames on the spot.
- 🪑 **Dining benches and tables are furniture again.** You can **sit on a bench**, and a row of
there as separate blocks. Benches also waterlog properly.
### Changed
- 🍳 **Nothing extra to gather.** The recipe is what it always was: basket, vivichoke, two tables,
- 🤝 **Handcrafted and CobbleFurnies furniture works in the recipe**, all of it: every CobbleFurnies
is drawn in whichever wood and cloth the one you used is made of.
- 🧹 **With those mods installed, the duplicates step aside.** Handcrafted provides the dining
ones do too. The 160 wood-and-colour combinations stay, because nothing else provides them, and
nothing you already built ever disappears.
- 🌌 **A table is restless wherever it does not belong.** The End moves any table that is not the
stay put anywhere else.
- 🛋️ **A table from an older world keeps working.** It renders in oak with one bench for every seat,
### Fixed
- 🔥 **Fire on a burning table sits on top of it** instead of clinging to its sides and edges. A
flame onto whatever is next to it.
- 🎨 **The item icons say which table they are.** They used to differ only by the tablecloth colour,
three rungs now carry 1, 2 or 3 notches on the basket's handle, and the cloth in the icon is
neutral because it was never yours to promise.
- 💬 **Two refusals printed their own message id** instead of a sentence, when washing or playing
- Advanced** table, and standing next to a Basic one was never going to work.
re-roll that works on a mountain. 🏔️
### Added
- 🔥 **Hot Picnic Table** — a picnic table that can live in the Nether, and the only one that can: it
be placed **only in the Nether**.
- 🌌 **Strange Picnic Table** — the same step sideways with an **eye of ender**, placeable **only in the
re-roll, a 64-block radius, 4 seats, 3 bread.
- 🎾 **Fetchball** — a slime ball wrapped in leather and string. Use it for the "Play" interaction and
with string in the four corners, leather on the four sides and a slime ball in the middle. The plain
slime ball still works exactly as before, splatter chance and all.
- 🧽 **Poke-sponge** — a permanent bath sponge. Use it for the "Wash" interaction and it is **never
corners, string in the other two, sponge (**wet or dry**) on the four sides and a slime ball in the
middle. The wet sponge still works and is still used up.
- ⚙️ **Party deploy distance is configurable** —
/picnic deploydistance <min> <max>, and in - Mod Menu → General**. Defaults to 4–7 blocks.
- 🕊️ **Re-rolled Pokémon that can fly come out flying** — genuinely in flight, holding their altitude
up, and a flier that spawned on ground **below you climbs to your own altitude**, so on a peak they
circle the table instead of sitting somewhere down the mountainside. Clear air always has the final
say, so nothing is parked inside the terrain. Tune it with
/picnic flyingspawnlift <blocks> (0keeps them grounded). This only moves what already spawned: **which** Pokémon a re-roll produces is
still Cobblemon's call alone, so natural rates, biome conditions and
poke_snack bias are untouched.- 🔎 **
/picnic statstakes filters** —player <name>,dimension <id>,species <name>and
shiny. Each replays the re-roll log and reports that slice on its own: how many re-rolls, whatcame out of them, the shiny rate, and for shinies the species, level and coordinates of each one.
Open to everyone, like the plain summary.
- ⏱️ **Wash and Play have cooldowns**, 3 seconds each by default and **counted per Pokémon** — look after
/picnic washcooldown <seconds> and /picnic playcooldown <seconds>.### Changed
- 🖱️ **The picnic table's controls were split by mouse button**. **Right-click a table cell always
re-rolls while you are just trying to load bread. **Left-click a table cell re-rolls.** Benches are
untouched: right-click to sit. To break the structure, hit a **bench** — table cells no longer take
mining damage, so a table can't be destroyed by the button that re-rolls it.
- 🌄 **The re-roll now spawns around your table**. It used to hand the job to Cobblemon's own
altitude** — on a mountain top that box is thin air in nearly every direction, so the re-roll found
nowhere to spawn and gave up on its first empty pass. The search box is now placed **inside the
table's radius** (6 blocks out to the tier's own 32/48/64), and its **base corner is set down on the
ground** of the column it picked — the corner being exactly the point Cobblemon tests for solid
footing before it will use a box at all. A peak, a ledge and a slope all work now.
The search also **prefers ground close to your own altitude**, so standing on a summit fills the
summit rather than the valley 60 blocks below, and only settles for lower ground when there is
nothing else within reach. Underground and underwater re-rolls keep using your own altitude, so
caves and diving tables are unaffected.
- 🐾 **Sitting down gives your party more room.** Party members now come out 4–7 blocks from the table
- 🎾 **Play looks like a game of fetch.** The Pokémon **sprints** after the ball, re-aiming as it
once it has it. It used to run to a fixed spot guessed at throw time and jog home at the same speed
either way.
- 🧽 **Wash and Play only appear on the wheel when you're at a picnic.** The options are hidden unless a
washrequirestable orslimeballrequirestable off brings them back everywhere, as before.- 🔥 **An ordinary picnic table left in the Nether catches fire.** Every second it has a 30% chance of a
still be put out. The Hot Picnic Table is immune, and is the way to hold a picnic down there.
- 🌌 **No table may be placed in the End** except the Strange Picnic Table. The game says which table
### Fixed
- 🔁 **A re-roll no longer gives up after one unlucky pass**. A single empty search box ended the
tells you plainly when a spot genuinely has nowhere to spawn.
- 📊 Re-roll statistics no longer miss Pokémon that spawned on ground well below the table.
re-roll that works on a mountain. 🏔️
### Added
- 🔥 **Hot Picnic Table** — a picnic table that can live in the Nether, and the only one that can: it
be placed **only in the Nether**.
- 🌌 **Strange Picnic Table** — the same step sideways with an **eye of ender**, placeable **only in the
re-roll, a 64-block radius, 4 seats, 3 bread.
- 🎾 **Fetchball** — a slime ball wrapped in leather and string. Use it for the "Play" interaction and
with string in the four corners, leather on the four sides and a slime ball in the middle. The plain
slime ball still works exactly as before, splatter chance and all.
- 🧽 **Poke-sponge** — a permanent bath sponge. Use it for the "Wash" interaction and it is **never
corners, string in the other two, sponge (**wet or dry**) on the four sides and a slime ball in the
middle. The wet sponge still works and is still used up.
- ⚙️ **Party deploy distance is configurable** —
/picnic deploydistance <min> <max>, and in - Mod Menu → General**. Defaults to 4–7 blocks.
- 🕊️ **Re-rolled Pokémon that can fly come out flying** — genuinely in flight, holding their altitude
up, and a flier that spawned on ground **below you climbs to your own altitude**, so on a peak they
circle the table instead of sitting somewhere down the mountainside. Clear air always has the final
say, so nothing is parked inside the terrain. Tune it with
/picnic flyingspawnlift <blocks> (0keeps them grounded). This only moves what already spawned: **which** Pokémon a re-roll produces is
still Cobblemon's call alone, so natural rates, biome conditions and
poke_snack bias are untouched.- 🔎 **
/picnic statstakes filters** —player <name>,dimension <id>,species <name>and
shiny. Each replays the re-roll log and reports that slice on its own: how many re-rolls, whatcame out of them, the shiny rate, and for shinies the species, level and coordinates of each one.
Open to everyone, like the plain summary.
- ⏱️ **Wash and Play have cooldowns**, 3 seconds each by default and **counted per Pokémon** — look after
/picnic washcooldown <seconds> and /picnic playcooldown <seconds>.### Changed
- 🖱️ **The picnic table's controls were split by mouse button**. **Right-click a table cell always
re-rolls while you are just trying to load bread. **Left-click a table cell re-rolls.** Benches are
untouched: right-click to sit. To break the structure, hit a **bench** — table cells no longer take
mining damage, so a table can't be destroyed by the button that re-rolls it.
- 🌄 **The re-roll now spawns around your table**. It used to hand the job to Cobblemon's own
altitude** — on a mountain top that box is thin air in nearly every direction, so the re-roll found
nowhere to spawn and gave up on its first empty pass. The search box is now placed **inside the
table's radius** (6 blocks out to the tier's own 32/48/64), and its **base corner is set down on the
ground** of the column it picked — the corner being exactly the point Cobblemon tests for solid
footing before it will use a box at all. A peak, a ledge and a slope all work now.
The search also **prefers ground close to your own altitude**, so standing on a summit fills the
summit rather than the valley 60 blocks below, and only settles for lower ground when there is
nothing else within reach. Underground and underwater re-rolls keep using your own altitude, so
caves and diving tables are unaffected.
- 🐾 **Sitting down gives your party more room.** Party members now come out 4–7 blocks from the table
- 🎾 **Play looks like a game of fetch.** The Pokémon **sprints** after the ball, re-aiming as it
once it has it. It used to run to a fixed spot guessed at throw time and jog home at the same speed
either way.
- 🧽 **Wash and Play only appear on the wheel when you're at a picnic.** The options are hidden unless a
washrequirestable orslimeballrequirestable off brings them back everywhere, as before.- 🔥 **An ordinary picnic table left in the Nether catches fire.** Every second it has a 30% chance of a
still be put out. The Hot Picnic Table is immune, and is the way to hold a picnic down there.
- 🌌 **No table may be placed in the End** except the Strange Picnic Table. The game says which table
### Fixed
- 🔁 **A re-roll no longer gives up after one unlucky pass**. A single empty search box ended the
tells you plainly when a spot genuinely has nowhere to spawn.
- 📊 Re-roll statistics no longer miss Pokémon that spawned on ground well below the table.
### Added
- 🔁 **A master switch for the spawn re-roll.** Turn it off and right-clicking a table never despawns
the care interactions all keep working. Handy for servers that want the picnic furniture and the
social side without the spawn manipulation. In **Mod Menu → General → "Spawn re-roll enabled"**, or
/picnic reroll <true|false>.### Fixed
- 🪑 **Placed dining benches are bench-height again.** They had no collision box of their own, so the
a whole block above the seat. They now use the model's real shape (seat top at 9/16).
### Changed
- ⌨️ **One short command:
/picnic.**/cobblemonpicnicconfigand/cobblemonpicnicstatsare - gone** (no aliases — update any command blocks, macros or server scripts), and the
setkeyword
``
/picnic # every setting — open to everyone now
/picnic light 12 # was /cobblemonpicnicconfig set light 12
/picnic light default # NEW: put one setting back the way it shipped
/picnic spawncap glamping 16
/picnic stats # was /cobblemonpicnicstats
/picnic reload /picnic reset
`
default works on every attribute**, so you never have to look up a shipped value. Reading the settings no longer needs operator rank — the numbers you're playing under aren't a secret.
- ✦ **The Shiny Aura is now a plain multiplier on your shiny odds.** A **full table doubles them**
(×2.00), and every seat is worth an equal share of that bonus, so a 4-seat table goes
- ×1.25 → ×1.50 → ×1.75 → ×2.00** as people sit down. It multiplies whatever odds you already
have — server shiny rate, Shiny Charm — instead of overriding them, and it can never lower them.
Tables with fewer seats simply stop earlier (a Basic table tops out at ×1.50).
- ✦ **You can see it.** The HUD readout now reads **"Shiny Aura ✦ ×1.50 odds"** with
- "2/4 seated · 1 in 5461"** under it — the real server-side numbers, pushed to your client, not a
guess from your own config file. Sitting down (or a friend joining you) also prints one line in
chat telling you the new multiplier and what it works out to.
### Removed
- ⚠️ **
aurabase and auramax are gone**, replaced by the single setting **auramultiplier** (/picnicconfig set auramultiplier 2.0, or the **"Shiny odds at a full table (×)"** field
in Mod Menu, which draws the whole ladder under it). Those two options set an *absolute* shiny
probability that replaced your odds outright — impossible to reason about, and it quietly ignored
every other shiny bonus you had. **Existing configs pick up the new default (×2.00) on first load.**
Setting the multiplier to 1.0 turns the aura off just like shinyaura false`.### Added
- 🔁 **A master switch for the spawn re-roll.** Turn it off and right-clicking a table never despawns
the care interactions all keep working. Handy for servers that want the picnic furniture and the
social side without the spawn manipulation. In **Mod Menu → General → "Spawn re-roll enabled"**, or
/picnic reroll <true|false>.### Fixed
- 🪑 **Placed dining benches are bench-height again.** They had no collision box of their own, so the
a whole block above the seat. They now use the model's real shape (seat top at 9/16).
### Changed
- ⌨️ **One short command:
/picnic.**/cobblemonpicnicconfigand/cobblemonpicnicstatsare - gone** (no aliases — update any command blocks, macros or server scripts), and the
setkeyword
``
/picnic # every setting — open to everyone now
/picnic light 12 # was /cobblemonpicnicconfig set light 12
/picnic light default # NEW: put one setting back the way it shipped
/picnic spawncap glamping 16
/picnic stats # was /cobblemonpicnicstats
/picnic reload /picnic reset
`
default works on every attribute**, so you never have to look up a shipped value. Reading the settings no longer needs operator rank — the numbers you're playing under aren't a secret.
- ✦ **The Shiny Aura is now a plain multiplier on your shiny odds.** A **full table doubles them**
(×2.00), and every seat is worth an equal share of that bonus, so a 4-seat table goes
- ×1.25 → ×1.50 → ×1.75 → ×2.00** as people sit down. It multiplies whatever odds you already
have — server shiny rate, Shiny Charm — instead of overriding them, and it can never lower them.
Tables with fewer seats simply stop earlier (a Basic table tops out at ×1.50).
- ✦ **You can see it.** The HUD readout now reads **"Shiny Aura ✦ ×1.50 odds"** with
- "2/4 seated · 1 in 5461"** under it — the real server-side numbers, pushed to your client, not a
guess from your own config file. Sitting down (or a friend joining you) also prints one line in
chat telling you the new multiplier and what it works out to.
### Removed
- ⚠️ **
aurabase and auramax are gone**, replaced by the single setting **auramultiplier** (/picnicconfig set auramultiplier 2.0, or the **"Shiny odds at a full table (×)"** field
in Mod Menu, which draws the whole ladder under it). Those two options set an *absolute* shiny
probability that replaced your odds outright — impossible to reason about, and it quietly ignored
every other shiny bonus you had. **Existing configs pick up the new default (×2.00) on first load.**
Setting the multiplier to 1.0 turns the aura off just like shinyaura false`.### Added
- 🎓 **Picnic move lessons** — every reroll now has a small chance (**5%**) that two of your party
actually learn — never an illegal one — so it's a fun little surprise, not a cheat.
New setting:
tmteachchance <0..1> (set to 0 to switch it off).- ⏲️ **Reroll cooldown** — the table takes a short breather (**5 seconds** by default) between rerolls,
wasted. Slipping over to another table won't dodge the wait either.
New setting:
rerollcooldown <seconds> (set to 0 to remove the wait).### Changed
- 🍞 **New bread prices** — a reroll now costs **7 / 5 / 3 / 3** bread (Basic / Camping / Glamping /
/cobblemonpicnicconfig reset to pick up the new prices.### Added
- 🎓 **Picnic move lessons** — every reroll now has a small chance (**5%**) that two of your party
actually learn — never an illegal one — so it's a fun little surprise, not a cheat.
New setting:
tmteachchance <0..1> (set to 0 to switch it off).- ⏲️ **Reroll cooldown** — the table takes a short breather (**5 seconds** by default) between rerolls,
wasted. Slipping over to another table won't dodge the wait either.
New setting:
rerollcooldown <seconds> (set to 0 to remove the wait).### Changed
- 🍞 **New bread prices** — a reroll now costs **7 / 5 / 3 / 3** bread (Basic / Camping / Glamping /
/cobblemonpicnicconfig reset to pick up the new prices.- Fabric: using a Picnic Table no longer crashes the server** (
NoSuchMethodError: PokemonEntity.getId()). The multiloader Fabric jar wasn't remapping the vanilla methods Cobblemon types inherit (getId/discard), so the re-roll's despawn step crashed instantly. (NeoForge was unaffected.) This is the first working Fabric build to also carry the **1.25.1** recall-keybind fix. *(Reported on Discord.)*
- Fabric: using a Picnic Table no longer crashes the server** (
NoSuchMethodError: PokemonEntity.getId()). The multiloader Fabric jar wasn't remapping the vanilla methods Cobblemon types inherit (getId/discard), so the re-roll's despawn step crashed instantly. (NeoForge was unaffected.) This is the first working Fabric build to also carry the **1.25.1** recall-keybind fix. *(Reported on Discord.)*
- The "Recall Party" keybind no longer clashes with Cobblemon's controls.** It defaulted to **R** - Cobblemon's own send-out/recall key - so pressing R (e.g. when entering a battle) recalled your whole party, and on the client it only removed the models, leaving battles running with invisible Pokemon. The keybind is now **unbound by default** (assign one in Controls if you want it), and the party recall **never touches a Pokemon that's in a battle**. *(Reported on Discord.)*
- NeoForge build of 1.25.0** — same features as the Fabric build.
### Added
- Config: protect rare wild Pokémon from the re-roll despawn** — four independent, **opt-in**
protectShiny, protectLegendary,protectMythical, protectUltraBeast (/cobblemonpicnicconfig set protect… <true|false>).- Peaceful picnic (
disableSeatedAggro, default ON)** — while someone is seated at a picnic table,
seatedRepelRadius, default 30 blocks) lose their targetand **flee** the table, like a creeper bolting from a cat. Both are editable via the command **and**
the Mod Menu screen (every command option now has a matching Mod Menu entry).
### Fixed
- Bundled furniture no longer renders as purple/magenta blocks.** Two causes, both fixed:
pixels showed as opaque magenta; (b) the **bench models failed to load entirely** — their imported
source used ±5° element rotations, which vanilla rejects (only ±45/±22.5/0 are allowed), so they fell
back to the missing-texture. Registered the furniture on cutout and snapped the bench rotations to 0.
- Picnic basket break particles now match the basket's color.** The shared model hard-coded the red
- Picnic basket names display correctly** instead of the raw
block.cobblemon_picnic.…key (the
- Recall Party no longer crashes when the keybind is pressed.** The empty
recall_partypacket was
StreamCodec.unit against a throwaway template instance, so the client failed to- encode* the packet (
IllegalStateException: Can't encode RecallPartyPayload) and died with a
instances so it encodes correctly. (The server-side recall is also guarded defensively.)
- Re-rolls no longer leave behind frozen "ghost" Pokémon.** Despawned wild Pokémon are removed
could keep a frozen model on screen until a restart. The re-roll now also sends an explicit
remove-entities packet to nearby players so they vanish immediately.
### Changed
- Picnic baskets now store unlimited bread** (the 64-bread cap is gone).
- Config: protect rare wild Pokémon from the re-roll despawn** — four independent, **opt-in**
protectShiny, protectLegendary,protectMythical, protectUltraBeast (/cobblemonpicnicconfig set protect… <true|false>).- Peaceful picnic (
disableSeatedAggro, default ON)** — while someone is seated at a picnic table,
seatedRepelRadius, default 30 blocks) lose their targetand **flee** the table, like a creeper bolting from a cat. Both are editable via the command **and**
the Mod Menu screen (every command option now has a matching Mod Menu entry).
### Fixed
- Bundled furniture no longer renders as purple/magenta blocks.** Two causes, both fixed:
pixels showed as opaque magenta; (b) the **bench models failed to load entirely** — their imported
source used ±5° element rotations, which vanilla rejects (only ±45/±22.5/0 are allowed), so they fell
back to the missing-texture. Registered the furniture on cutout and snapped the bench rotations to 0.
- Picnic basket break particles now match the basket's color.** The shared model hard-coded the red
- Picnic basket names display correctly** instead of the raw
block.cobblemon_picnic.…key (the
- Recall Party no longer crashes when the keybind is pressed.** The empty
recall_partypacket was
StreamCodec.unit against a throwaway template instance, so the client failed to- encode* the packet (
IllegalStateException: Can't encode RecallPartyPayload) and died with a
instances so it encodes correctly. (The server-side recall is also guarded defensively.)
- Re-rolls no longer leave behind frozen "ghost" Pokémon.** Despawned wild Pokémon are removed
could keep a frozen model on screen until a restart. The re-roll now also sends an explicit
remove-entities packet to nearby players so they vanish immediately.
### Changed
- Picnic baskets now store unlimited bread** (the 64-bread cap is gone).
- Picnic baskets are placeable and store bread**: right-click a placed basket with bread to deposit,
- Picnic tables draw fuel from nearby baskets**: if a table's own fuel slot is short, the reroll
### Changed
- Any wood bench** can be used to craft the picnic tables (recipes now use a
dining_benchestag). - Picnic tables render in the cloth color and bench wood they were crafted with** (the variant system
furniture set, you can now make tables in any cloth color + any bench wood.
### Added
- Self-contained crafting**: the picnic table's crafting ingredients now live inside the mod, so
red_table/green_table/yellow_table/blue_table— craftable, placeable furniture
oak_dining_bench— craftable, placeable furniture (oak slabs + planks → 2), bundled bench model.apricorn_box— item crafted from Cobblemon apricorn items (replaceslumymon:apricorn_box).- The picnic table recipes and the
cobblemon_picnic:tablestag now point at these mod-owned items;
## [1.20.1] - 2026-06-14
### Fixed
- Two adjacent tables**: breaking one table no longer destroys a second table touching it. The
"break one, both vanish" bug).
### Changed
- License switched to a custom **"If you make money, I make money"** license (see
LICENSE). - Added
README.md(English) andtesting.md(per-version test checklist, English); initialized a
## [1.20.0] - 2026-06-13
### Added / Changed
- Standalone render (independent of CobbleFurnies/Handcrafted)**: the table and bench models,
cobblemon_picnic) andare drawn via the mod's own render-only blocks. Previously, without those mods the table was
- invisible**; now it renders on its own.
- Color by tier**: Basic=red, Camping=green, Glamping=yellow, Diving=blue (table and particles).
- Particles on hit/break** are now **tinted to the tier's color** (dedicated particle texture per
- Mod icon**: the supplied logo (
cobblemon-picnic-logo.png) is used asicon.png. - Test environment changed to
...COBBLEVERSE - Pokemon Adventure [Cobblemon]\(without(2)).
### Notes
- The east/west rotation ("autorotate") was the
facingsync bug already fixed in 1.19.1. - The borrowed "variants" system was deprecated for rendering (color is now fixed per tier).
## [1.19.1] - 2026-06-06
### Fixed
- Tables facing east/west**: rendering and functional cells were scrambled because the table's
facing **was not synced to the client** (the client defaulted to NORTH). North/south happenedto match by chance; east/west did not. The BlockEntity now sends its state to the client
(
getUpdateTag/getUpdatePacket + update on placement).### Changed
- The aura particle ring is **~50% wider**.
### Added
- Shiny Aura Toggle**: Full feature toggle (odds + buff + particles) via Mod Menu and
/cobblemonpicnicconfig set shinyaura <true|false>. - HUD Aura Level**: "Shiny Aura ✦ N" indicator shown when seated; now displays level 1.
- Flammable Tables**: Wooden tables are now flammable.
### Changed
- Aura Particles**: Increased height and expanded ring radius for better visibility.
## [1.18.0] - 2026-06-06
### Added
- Mod Menu Integration**: Full configuration GUI for all parameters.
- Stats Command**:
/cobblemonpicnicstatsto track rerolls, spawns, shiny/legendary ratios, snacks, and species rarity. - UI Placeholders**: Dimmed icons for bread/Battle Seeker in empty fuel slots.
- Anti-Spam**: Added 0.5s cooldown to "play catch" with slimeballs.
### Changed
- Aura Location**: Shiny aura now centers on the table instead of the player.
- HUD Buff**: Added a visible *Shiny Aura* status effect icon while seated.
- GUI Polish**: Segmented inventory slots and fixed seat capacity (no longer configurable).
## [1.17.0] - 2026-06-05
### Added / Changed
- Visual Aura**: Active shiny aura now renders as a rotating ring of particles around the table.
- Refined GUI**: Improved panel design with a clear
N / maxcounter and "Free" fuel labels.
## [1.16.1] - 2026-06-03
### Added
- Configurable Level Gap**: Added
trainerLevelGap(default 8) via command:/cobblemonpicnicconfig set trainerlevelgap <n>.
- Configurable Battle Seeker**: Added
trainerLevelGapto configuration (default 8) to control the allowed level difference for summoned trainers.
## 1.16.0
- Appropriate Level Trainers**: New config option
spawnAppropriateLvlTrainer(default TRUE). When enabled, the Battle Seeker will attempt to summon a trainer with a team level matching your active party's average level (±8).
## 1.15.1
- Improved Combat Flow**: The summoned trainer now spawns 12+ blocks away, facing the player, and no longer initiates battle automatically—you choose when to engage.
- Trainer Persistence**: Each reroll will now despawn the previous trainer from that table, ensuring only one active trainer per table.
## 1.15.0
- Battle Seeker Integration**: Added Phase 4 support for the **LumyMon Battle Seeker**. Placing it in the fuel slot of a Glamping table now summons a trainer from the RCT (Radical Cobblemon Trainers) roster to battle you.
## 1.14.0
- Data Analytics**: Added automatic logging of reroll events. Stats are tracked in
cobblemon_picnic_stats.json, with detailed granular events (spawned/despawned Pokémon data, IVs, natures, etc.) saved incobblemon_picnic_events.jsonl.