Skip to content

Breeding Tickets

Makes every Day Care breeding cost one Breeding Ticket. Tickets are sold in the server shop, which turns breeding into a money sink.

What it does

  • Every new Day Care breeding box needs exactly one Breeding Ticket, whatever the parents' types. The ticket is used up when breeding starts.
  • Copper, Gold and Diamond Hourglasses normally skip Day Care requirements. With this mod they first use up the ticket for every box they affect. If the player does not have enough tickets, the hourglass does nothing and nothing is used up. Silver Hourglasses are unchanged, because they only work after breeding has started.
  • A ticket is a Pixelmon Berry Bag with a hidden marker. A normal Berry Bag, even one renamed in an anvil, does not count. No recipe, loot, trade or drop makes tickets. Only the shop does.

Server-side only. It adds no new item, so the client modpack does not change.

How players use it

  1. Buy a Breeding Ticket in /shop (Breeding Supplies).
  2. Keep it in your inventory and put two parents in the Day Care as usual. Pixelmon lists 1x Breeding Ticket as a requirement, and takes the ticket when breeding begins.
  3. To speed things up with a Copper, Gold or Diamond Hourglass, carry one ticket for each box it will affect.

If an hourglass fails, the player sees "A Breeding Ticket is required before this hourglass can be used."

Staff guide

There are no commands. To give a player a ticket (for example as compensation), give the exact marked item. Anything less is just a Berry Bag:

/give <player> pixelmon:berry_bag[minecraft:custom_data={snowbird_breeding_ticket:1b},minecraft:custom_name='{"text":"Breeding Ticket","color":"gold","italic":false}',minecraft:lore=['{"text":"Required for all Pokémon breeding.","color":"gray","italic":false}','{"text":"Consumed when breeding begins.","color":"dark_gray","italic":false}']]

The price is set in the EconomyShopGUI Breeding_Tickets shop files, not in this mod. A shop change goes live with /sreload.

Configuration

None in the mod. The requirement is a Pixelmon Day Care condition shipped inside the jar at data/pixelmon/daycare/breeding_ticket.json. The shop listing is EconomyShopGUI config.

Data and storage

None. Tickets are ordinary items.

Troubleshooting

Symptom Cause Fix
Server stops at boot with a BreedingTickets validation error Pixelmon loaded zero or more than one ticket requirement, or the duration entry is missing Check for another datapack changing Day Care conditions. Do not remove the zero-second duration
A player's old Day Care box does not ask for a ticket Boxes keep the conditions from when the parents went in Withdraw both parents and put them back
A ticket is not accepted It is not the marked item (renamed Berry Bag, or edited) Give a real ticket from the shop or the /give above
Players are charged two tickets Should never happen; the validator checks for exactly one Report it with the boot log

Boot lines that show it loaded correctly:

[BreedingTickets] Registered daycare ticket enforcement
[BreedingTickets] Validated exactly one ticket requirement across 19 daycare conditions

Maintainer notes

  • Why one wildcard condition. Stock Day Care conditions are per primary type. Two parents of different types get two conditions, so putting the ticket into all 18 stock files would charge two tickets for many pairs. The mod adds one separate condition with spec minlevel:1. Every parent is at least level 1, so it attaches exactly once to every box.
  • The zero-second add duration changes nothing about breeding time. Pixelmon's login Pokedex sync requires every matching condition to have a duration entry, so it must stay.
  • A startup validator fails the boot if Pixelmon loads anything other than exactly one ticket requirement of amount one with the no-op duration.
  • The hourglass wrapper handles DayCareEvent.HourGlassUsed.Pre. It counts tickets for all affected boxes first and only takes them if the player has enough.
  • Deploy bundle and acceptance test: manual_uploads/2026-08-13-breeding-tickets/ in the ops repo. On mcnet the jar and shop files live in mcnet/overlays/main/.

Building

./gradlew build

Output: build/libs/breedingtickets-<version>.jar. Java 21.

Full command, permission and config tables: Reference.