ItemsAdder

The plugin does not handle any texture. ItemsAdder provides the items, the plugin handles all the logic. The full guide and the list of the 102 expected IDs are in docs/ITEMSADDER.md.

Four ready-to-install packs are provided: itemsadder-pack/ (English textures: card name plates and pack labels in English), itemsadder-pack-fr/ (French), itemsadder-pack-es/ (Spanish) and itemsadder-pack-de/ (German). Item IDs are identical: install only one of them into plugins/ItemsAdder/contents/, then run /iazip. Each pack contains the textures of the 90 cards (item and large versions) and their holo versions, the 5 packs, the 7 boosters, the full-screen opening animation images, and textured menu backgrounds (binder cover and pages).

In short:

  • Expected IDs: tcg:<collection>_pack for packs, tcg:<card id> for cards (e.g. tcg:nature_panda) and tcg:<booster id> for boosters. Optional: tcg:<card id>_holo for holo versions.
  • A ready-to-use template is copied to plugins/TCG/itemsadder/tcg_items.yml.
  • When ItemsAdder items are loaded (and after each /iareload), TCG lists in the console the expected IDs that cannot be found. Those use the fallback item.
  • Without ItemsAdder, the plugin works fully with vanilla items (paper for cards, enchanted book for packs).
  • itemsadder.recognize_raw_items: true: an ItemsAdder item given outside the plugin (/iagive tcg:nature_pack, loot table...) is also recognized as a valid pack or card.

The ItemsAdder API is called through reflection, only from fr.tcg.itemsadder.ItemsAdderHook. No compile-time dependency, and no ItemsAdder call anywhere else in the code.

Version française

Every pack, booster and card can be an ItemsAdder item. The plugin fetches it by its ID, adds its PDC mark (tcg:card_id / tcg:pack_id / tcg:booster_id, plus tcg:holo for a holo card) and, by default, its lore (rarity, collection, number). Four complete ready-to-install packs are provided: itemsadder-pack/ (English textures: card name plates and pack labels in English), itemsadder-pack-fr/ (French), itemsadder-pack-es/ (Spanish) and itemsadder-pack-de/ (German). The IDs are identical: install only one of them into plugins/ItemsAdder/contents/, then run /iazip.

Setup

With one of the provided packs, steps 1 and 2 are already done. To create your own items:

  1. Copy the template plugins/TCG/itemsadder/tcg_items.yml (created on first startup, also in src/main/resources/itemsadder/) to: plugins/ItemsAdder/contents/tcg/configs/tcg_items.yml
  2. Put the PNG textures at the paths given in the file, under plugins/ItemsAdder/contents/tcg/textures/:
    • item/packs/<collection>_pack.png (5 packs)
    • item/boosters/<booster>.png (7 boosters)
    • item/cards/<collection>/<mob>.png (90 cards)
    • item/cards_holo/<collection>/<mob>.png (90 holo versions, optional)
    • item/cards/unknown.png (optional placeholder)
  3. /iazip then /iareload (or restart).
  4. When the items are loaded, TCG prints in the console:
    • a message confirming that all 102 expected items are present (101 on 1.21.11 / 26.1, where the Sulfur Cube card is hidden), or
    • the exact list of IDs that cannot be found. Those use the vanilla fallback item in the meantime.

Example ItemsAdder entry:

info:
  namespace: tcg
items:
  nature_panda:
    display_name: "Panda"
    resource:
      material: PAPER
      generate: true
      textures:
        - item/cards/nature/panda.png

Rules

  • IDs come from groups.yml (pack_itemsadder) and cards.yml (itemsadder_item, default <itemsadder.default_namespace>:<card id>). Changing an ItemsAdder ID does not break cards already handed out: they are identified by their TCG card ID, not by the ItemsAdder ID.
  • items.override_itemsadder_name: false (default) keeps the name defined in ItemsAdder; true forces the name from cards.yml.
  • items.apply_lore: true adds the TCG lore after any ItemsAdder lore.
  • Placeholder for undiscovered cards: items.unknown_card_itemsadder: "tcg:unknown_card" (optional).
  • Collection icon in the menu: icon_itemsadder in groups.yml (optional).
  • itemsadder.recognize_raw_items: true: a tcg:... item obtained outside the plugin (/iagive, loot table, store) is accepted as a pack, booster or card (not as a holo card: use /tcg give <card> 1 holo).
  • Boosters: boosters.yml > itemsadder (default tcg:<booster id>).
  • Holo cards: item <card item><holo.itemsadder_suffix> (default tcg:nature_cow_holo). Optional and not part of the expected items list: without it, the holo card keeps the normal texture with the enchantment glint and an iridescent name.
  • ItemsAdder loads its items after the plugins have started. Until it is done, TCG uses the fallback items, then switches automatically (ItemsAdderLoadDataEvent event).

Full list of expected IDs

Optional placeholder: tcg:unknown_card

Packs

CollectionItemsAdder ID
Naturetcg:nature_pack
Monsterstcg:monsters_pack
Nethertcg:nether_pack
Endtcg:end_pack
Specialtcg:special_pack

Boosters

BoosterID
Booster x3tcg:booster_3
Premium Booster x5tcg:booster_5
Nature Boostertcg:booster_nature
Monsters Boostertcg:booster_monsters
Nether Boostertcg:booster_nether
End Boostertcg:booster_end
Special Boostertcg:booster_special

Full-screen opening animation (font images, 1.4)

Shown one at a time in the subtitle, 64x64 px (scale_ratio: 64, y_position: 44). If one of them is missing, TCG uses the text animation instead (enable debug to see which one).

Font imageWhen
tcg:<pack>_open_idle, _open_shake_l, _open_shake_r, _open_glow, _open_tear_1, _open_tear_2, _open_burstfor every pack and booster (<pack> = its ItemsAdder id without namespace, e.g. booster_nature, nature_pack)
tcg:card_back_open, tcg:card_back_open_flip, tcg:card_back_<rarity>_openeach card: back, back glowing in its rarity color, flip
tcg:<card>_open, tcg:<card>_holo_open, tcg:<card>_holo_open_2card face, holo face (two frames that alternate)

A custom booster or card needs its own frames to use the full-screen animation.

Cards

Nature (nature, 35 cards)

Pack: tcg:nature_pack

#ItemsAdder IDCardMobRarity
1tcg:nature_cowCowCOWCOMMON
2tcg:nature_pigPigPIGCOMMON
3tcg:nature_sheepSheepSHEEPCOMMON
4tcg:nature_chickenChickenCHICKENCOMMON
5tcg:nature_rabbitRabbitRABBITCOMMON
6tcg:nature_horseHorseHORSECOMMON
7tcg:nature_donkeyDonkeyDONKEYCOMMON
8tcg:nature_codCodCODCOMMON
9tcg:nature_salmonSalmonSALMONCOMMON
10tcg:nature_squidSquidSQUIDCOMMON
11tcg:nature_batBatBATCOMMON
12tcg:nature_tropical_fishTropical FishTROPICAL_FISHCOMMON
13tcg:nature_muleMuleMULERARE
14tcg:nature_llamaLlamaLLAMARARE
15tcg:nature_goatGoatGOATRARE
16tcg:nature_wolfWolfWOLFRARE
17tcg:nature_foxFoxFOXRARE
18tcg:nature_catCatCATRARE
19tcg:nature_ocelotOcelotOCELOTRARE
20tcg:nature_beeBeeBEERARE
21tcg:nature_turtleTurtleTURTLERARE
22tcg:nature_glow_squidGlow SquidGLOW_SQUIDRARE
23tcg:nature_pufferfishPufferfishPUFFERFISHRARE
24tcg:nature_frogFrogFROGRARE
25tcg:nature_tadpoleTadpoleTADPOLERARE
26tcg:nature_camelCamelCAMELRARE
27tcg:nature_parrotParrotPARROTEPIC
28tcg:nature_pandaPandaPANDAEPIC
29tcg:nature_polar_bearPolar BearPOLAR_BEAREPIC
30tcg:nature_dolphinDolphinDOLPHINEPIC
31tcg:nature_axolotlAxolotlAXOLOTLEPIC
32tcg:nature_armadilloArmadilloARMADILLOEPIC
33tcg:nature_mooshroomMooshroomMOOSHROOMEPIC
34tcg:nature_nautilusNautilusNAUTILUSEPIC
35tcg:nature_snifferSnifferSNIFFERLEGENDARY

Monsters (monsters, 29 cards)

Pack: tcg:monsters_pack

#ItemsAdder IDCardMobRarity
1tcg:monsters_zombieZombieZOMBIECOMMON
2tcg:monsters_skeletonSkeletonSKELETONCOMMON
3tcg:monsters_creeperCreeperCREEPERCOMMON
4tcg:monsters_spiderSpiderSPIDERCOMMON
5tcg:monsters_huskHuskHUSKCOMMON
6tcg:monsters_drownedDrownedDROWNEDCOMMON
7tcg:monsters_strayStraySTRAYCOMMON
8tcg:monsters_slimeSlimeSLIMECOMMON
9tcg:monsters_cave_spiderCave SpiderCAVE_SPIDERRARE
10tcg:monsters_endermanEndermanENDERMANRARE
11tcg:monsters_witchWitchWITCHRARE
12tcg:monsters_phantomPhantomPHANTOMRARE
13tcg:monsters_pillagerPillagerPILLAGERRARE
14tcg:monsters_silverfishSilverfishSILVERFISHRARE
15tcg:monsters_endermiteEndermiteENDERMITERARE
16tcg:monsters_guardianGuardianGUARDIANRARE
17tcg:monsters_boggedBoggedBOGGEDRARE
18tcg:monsters_parchedParchedPARCHEDRARE
19tcg:monsters_vindicatorVindicatorVINDICATOREPIC
20tcg:monsters_evokerEvokerEVOKEREPIC
21tcg:monsters_vexVexVEXEPIC
22tcg:monsters_ravagerRavagerRAVAGEREPIC
23tcg:monsters_breezeBreezeBREEZEEPIC
24tcg:monsters_creakingCreakingCREAKINGEPIC
25tcg:monsters_zombie_nautilusZombie NautilusZOMBIE_NAUTILUSEPIC
26tcg:monsters_camel_huskCamel HuskCAMEL_HUSKEPIC
27tcg:monsters_sulfur_cubeSulfur CubeSULFUR_CUBEEPIC
28tcg:monsters_elder_guardianElder GuardianELDER_GUARDIANLEGENDARY
29tcg:monsters_wardenWardenWARDENLEGENDARY

Nether (nether, 11 cards)

Pack: tcg:nether_pack

#ItemsAdder IDCardMobRarity
1tcg:nether_zombified_piglinZombified PiglinZOMBIFIED_PIGLINCOMMON
2tcg:nether_magma_cubeMagma CubeMAGMA_CUBECOMMON
3tcg:nether_piglinPiglinPIGLINCOMMON
4tcg:nether_striderStriderSTRIDERCOMMON
5tcg:nether_blazeBlazeBLAZERARE
6tcg:nether_ghastGhastGHASTRARE
7tcg:nether_hoglinHoglinHOGLINRARE
8tcg:nether_wither_skeletonWither SkeletonWITHER_SKELETONEPIC
9tcg:nether_piglin_brutePiglin BrutePIGLIN_BRUTEEPIC
10tcg:nether_zoglinZoglinZOGLINEPIC
11tcg:nether_witherWitherWITHERLEGENDARY

End (end, 4 cards)

Pack: tcg:end_pack

#ItemsAdder IDCardMobRarity
1tcg:end_endermanEnd EndermanENDERMANCOMMON
2tcg:end_endermiteEnd EndermiteENDERMITERARE
3tcg:end_shulkerShulkerSHULKEREPIC
4tcg:end_ender_dragonEnder DragonENDER_DRAGONLEGENDARY

Special (special, 11 cards)

Pack: tcg:special_pack

#ItemsAdder IDCardMobRarity
1tcg:special_villagerVillagerVILLAGERCOMMON
2tcg:special_snow_golemSnow GolemSNOW_GOLEMCOMMON
3tcg:special_zombie_villagerZombie VillagerZOMBIE_VILLAGERCOMMON
4tcg:special_wandering_traderWandering TraderWANDERING_TRADERRARE
5tcg:special_trader_llamaTrader LlamaTRADER_LLAMARARE
6tcg:special_iron_golemIron GolemIRON_GOLEMRARE
7tcg:special_copper_golemCopper GolemCOPPER_GOLEMRARE
8tcg:special_allayAllayALLAYEPIC
9tcg:special_skeleton_horseSkeleton HorseSKELETON_HORSEEPIC
10tcg:special_zombie_horseZombie HorseZOMBIE_HORSEEPIC
11tcg:special_happy_ghastHappy GhastHAPPY_GHASTLEGENDARY

tcg:monsters_sulfur_cube (mob added in Minecraft 26.2) is only used on 26.2 and newer servers.