HomeJavaModsXen's Trading Cards
Xen's Trading Cards
[​IMG]
UPDATED FOR 1.16.1. PLEASE REPORT ANY BUGS! This was previously known as xP// Trading Cards. As xP// isn't that relevant to this project any more, I'm giving it a bit of a brand change.

Now over 3,000 lines of code! This plugin is free, and always will be.

Welcome to Trading Cards, a plugin where you can create 'cards' to be dropped by mobs at random with infinite expandability. Highly customizable, lots of collecting and trading fun for any server!

This plugin was created solely by myself, Xenoyia (xPXenoyia in-game), in order to add something fun for the players who like to collect things. Utilizing unique features such as decks (custom inventories which hold cards), booster packs (packs of cards) and scheduled giveaways, this plugin integrates well into pretty much any server.

Big thanks to @zThana for the assistance needed to get a fast update out!

[​IMG]
Cards:

Cards are the plat de résistance of this plugin. Highly configurable with a default 20% drop rate from hostile mobs. They are simply pieces of paper with lore and custom names, which represent the trading cards you configure. By default, we include all of Minecraft's current mobs and some removed legacy mobs for fun.

cards.png

Booster packs:

As a way to show our economy support, booster packs are ways to reward a player's hard work by allowing them to purchase configurable packs of cards. This is completely dictated by you and you can disable them altogether or change the prices as you wish.

63b5f5ecf9a0e408f9c2998dececa7976d036018.png
268c872b90e3fdce1835cd0219efaaa8c5e8fd6b.png

Decks:

Being one of the more difficult aspects of the plugin to create, decks do not fall short in expectations. These are simply custom inventories of either 27 or 54 (configurable) slots, which only hold cards. All other items are ejected from the decks. The point of these is to allow a place where cards will be safely stored and allow tracking of which cards you own. By tracking the cards, using the "/cards list [name]" command, you're able to see your progress in collecting a whole rarity.

817f8683bff8423f02cfff42c0439a1bf1dfb3ca.png

Rewards:

If you have a completed rarity, you can "trade it in" for a configurable prize. For example, trade in a completed set of Common cards for a booster pack containing Uncommon and Rare, or give cash/server groups for it.

[​IMG]
Plugins that are supported:
Code (Text):
Towny
MobArena
MythicMobs
Vault
"How do I make a new card?"

Simple! Under cards, locate the rarity (by default you have Common, Uncommon, Rare, Very Rare and Legendary) you want to associate the card with. Make a new section inside there with the name of your card (underscores will be treated as spaces in-game) and put in the following values:

Series: 'Your Series Here' <- this could be anything like the current year, edition of the card etc so you can have multiple card editions if you wish

Type: 'Your Type Here' <- this is simply the type of card it is, if it's a monster card, you could call it Monster or anything that you want.

Has-Shiny-Version: true/false <- if you want a 'shiny' version of this card to be produced with a low chance, set this to true. The chance is configured earlier in the config.

Info: 'Your Info Here' <- this is simply the card's description. If you don't want to put one, just write "None".

[​IMG]
Commands/Permissions:
Spoiler: Commands/Permissions
Code (Text):
/cards reload (cards.reload)
/cards list (cards.list)
/cards list <player> (cards.list.others)
/cards listpacks (cards.listpacks)
/cards giveaway <rarity> (cards.giveaway)
/cards giverandomcard <mob> <player> (cards.giverandomcard)
/cards giveboosterpack <player> <name> (cards.giveboosterpack)
/cards givecard <rarity> <name> (cards.givecard)
/cards getdeck <number> (cards.getdeck)
/cards giveshinycard <rarity> <name> (cards.giveshinycard)
/cards toggle (cards.toggle)
/cards create <rarity> <name> <series> <type> <hasShiny> <info> (cards.create)
/cards buy pack|(card) (<rarity>) <name> (cards.buy)
/cards worth (cards.worth)
/cards resolve <player> (cards.resolve)
/cards reward <rarity> (cards.reward)
Open a booster pack - (cards.openboosterpack)
Get a specific deck - (cards.decks.#)

Default Config:
Spoiler: config.yml
Code (Text):
General:
  # Server name?
  Server-Name: 'Server'
  # Show debug messages?
  Debug-Mode: false
  # Should we show the command usage in /cards? (what the command does)
  Show-Command-Usage: true
  # If your server is not running the latest MC version, set this to FALSE
  Hide-Enchants: true
  # Whether we should use American date format (07/12/15) or English date format (12/07/15)
  American-Mode: false
  # The material the card will be. Make this something useless for maximum effect.
  Card-Material: PAPER
  # The prefix of the card. This is optional. Will show like: [Trading Card] Zombie
  Card-Prefix: '&7[&fCard&7]&f '
  # What material booster packs should be. Make it something that can't be placed.
  BoosterPack-Material: BOOK
  # The prefix of the booster pack.
  BoosterPack-Prefix: '&7[&fPack&7]&f '
  # Should we be allowed to use decks in creative?
  Decks-In-Creative: false
  # Should we get a deck item or simply open the deck straight away with /cards getdeck #?
  Use-Deck-Item: true
  # Should we have 27 slots in the deck, or 54 (double chest)?
  Use-Large-Decks: false
  # What material decks should be. Make it something that can't be placed.
  Deck-Material: BOOK
  # The prefix of the booster pack.
  Deck-Prefix: '&7[&fDeck&7]&f '
  # What shiny cards should be prefixed with.
  Shiny-Name: 'Shiny'
  # Should a random card be given out every so often to all players online?
  Schedule-Cards: false
  # Should the cards scheduled be 'natural', as in, the same chance as if a mob dropped the card, or a single rarity?
  Schedule-Cards-Natural: false
  # If schedule-cards-natural is true, what mob should we use for the giveaway? Zombie will drop the hostile mob chances, Wither boss chances etc.
  Schedule-Card-Mob: ZOMBIE
  # If schedule-cards-natural is false, what should the giveaway rarity be?
  Schedule-Card-Rarity: Common
  Schedule-Card-Time-In-Hours: 1
  # Should we block cards for mobs from monster spawners?
  Spawner-Block: true
  # In the case of 'true', what should we name the monster with to identify it's from a spawner?
  Spawner-Mob-Name: 'Spawned Mob'
  # Should we automatically add players as cards?
  Auto-Add-Players: false
  Auto-Add-Player-Rarity: Common
  Player-Op-Rarity: Legendary
  Player-Series: '2015'
  Player-Type: 'Player'
  Player-Has-Shiny-Version: true
  # Should the player drop their own card if they're killed in PvP?
  Player-Drops-Card: true
  # Percent of the time where the player drops the card, if the above is true.
  Player-Drops-Card-Rarity: 100
  # How 'long' should each line of the card's info be?
  Info-Line-Length: 25
  # Should we drop items in decks that aren't cards? (if false, it will delete the item)
  Drop-Deck-Items: true
  # Should we allow the collection of rewards for collecting a whole rarity?
  Allow-Rewards: true
  # Should we broadcast to the server when someone's collected a reward?
  Reward-Broadcast: true
  # Should we take shiny cards into account at all when collecting a reward? (recommended false, shiny cards are very rare!)
  Eat-Shiny-Cards: false
  # DO NOT USE
  SQLite: false

World-Blacklist:
  # Don't want cards dropping in certain worlds? Add it here!
  - Creative

Blacklist:
  Whitelist-Mode: false
  Players:
    - Herobrine

PluginSupport:
  Towny:
    Towny-Enabled: false
    Allow-Duplicates: true
    Town-Duplicate-Prefix: ''
    Town-Duplicate-Suffix: '_v%num%'
    Town-Rarity: Common
    Town-Series: 'Towny'
    Town-Type: 'Town'
    Nation-Duplicate-Prefix: ''
    Nation-Duplicate-Suffix: '_v%num%'
    Nation-Rarity: Uncommon
    Nation-Series: 'Towny'
    Nation-Type: 'Nation'
    Has-Shiny: true
  Vault:
    Vault-Enabled: false
    # Is the server running a closed economy? if so, whose account should money go into?
    Closed-Economy: true
    Server-Account: TradingCards-Bank
  MobArena:
    MobArena-Enabled: false
    Disable-In-Arena: true
  MythicMobs:
    MythicMobs-Enabled: false
    # Chance chance/rarity based on the level of the mob?
    Per-Level-Chances: true
    # With this you're able to set the individual rarity chances of every mythic mob level.
    # For example, you could make it so level 100 boss-type mobs always drop shiny legendaries.
    # You can add as many levels as you want, if a mob is higher than the highest level here,
    # its chances will be based on the highest level in this config. E.G. if you only have
    # levels 0-5 here and you kill a level 10 mob, it will use the level 5 chances.
    Levels:
      0:
        Shiny-Version-Chance: 1
        # 'Drop-Chance' is the chance a card will drop AT ALL. This should be chance out of 100 (Drop-Chance: 10 = 10% chance)
        # For rarities: 100,000 = 100% chance, 10,000 = 10% chance, 1000 = 1% chance, 100 = 0.1% chance, 10 = 0.01% chance, 1 = 0.001% chance
        Drop-Chance: 10
        Rarities:
          Common: 100000
          Uncommon: 20000
          Rare: 1000
          Very Rare: 10
          Legendary: 1
      1:
        Shiny-Version-Chance: 1
        Drop-Chance: 20
        Rarities:
          Common: 100000
          Uncommon: 20000
          Rare: 1000
          Very Rare: 10
          Legendary: 1
      2:
        Shiny-Version-Chance: 1
        Drop-Chance: 30
        Rarities:
          Common: 100000
          Uncommon: 20000
          Rare: 1000
          Very Rare: 10
          Legendary: 1
      3:
        Shiny-Version-Chance: 1
        Drop-Chance: 40
        Rarities:
          Common: 100000
          Uncommon: 20000
          Rare: 1000
          Very Rare: 10
          Legendary: 1
      4:
        Shiny-Version-Chance: 1
        Drop-Chance: 50
        Rarities:
          Common: 100000
          Uncommon: 20000
          Rare: 1000
          Very Rare: 10
          Legendary: 1
      5:
        Shiny-Version-Chance: 1
        Drop-Chance: 75
        Rarities:
          Common: 100000
          Uncommon: 20000
          Rare: 1000
          Very Rare: 10
          Legendary: 1

BoosterPacks:
  Starter_Pack:
    NumNormalCards: 9
    NormalCardRarity: Common
    NumSpecialCards: 1
    SpecialCardRarity: Rare
    # 10% chance to upgrade a card to the next highest rarity, set this to 0 to disable
    # 100,000 = 100% chance, 10,000 = 10% chance, 1000 = 1% chance, 100 = 0.1% chance, 10 = 0.01% chance, 1 = 0.001% chance
    UpgradeChance: 10000
    Price: 100.00
  Advanced_Pack:
    NumNormalCards: 12
    NormalCardRarity: Common
    NumExtraCards: 6
    ExtraCardRarity: Uncommon
    NumSpecialCards: 2
    SpecialCardRarity: Rare
    UpgradeChance: 0
    Price: 150.00
  Expert_Pack:
    NumNormalCards: 6
    NormalCardRarity: Uncommon
    NumExtraCards: 4
    ExtraCardRarity: Rare
    NumSpecialCards: 2
    SpecialCardRarity: Very Rare
    UpgradeChance: 0
    Price: 250.00
  Ultimate_Pack:
    NumNormalCards: 5
    NormalCardRarity: Rare
    NumSpecialCards: 1
    SpecialCardRarity: Legendary
    UpgradeChance: 0
    Price: 500.00

Rarities:
  Common:
    Colour: '&7'
    RewardCmd1: 'eco give %player% 100'
    RewardCmd2: 'give %player% diamond 8'
    RewardCmd3: 'None'
  Uncommon:
    Colour: '&9'
    RewardCmd1: 'eco give %player% 200'
    RewardCmd2: 'give %player% diamond 16'
    RewardCmd3: 'None'
  Rare:
    Colour: '&e'
    RewardCmd1: 'eco give %player% 500'
    RewardCmd2: 'give %player% diamond 32'
    RewardCmd3: 'None'
  Very Rare:
    Colour: '&6'
    RewardCmd1: 'eco give %player% 1000'
    RewardCmd2: 'give %player% diamond 64'
    RewardCmd3: 'None'
  Legendary:
    Colour: '&a'
    RewardCmd1: 'eco give %player% 1500'
    RewardCmd2: 'give %player% diamond 64'
    RewardCmd3: 'manuadd %player% Collector'

Colours:
  # Colours for various settings of the card.
  Series: '&a'
  Type: '&b'
  Info: '&e'
  About: '&c'
  Rarity: '&6'
  # Booster pack colourings.
  BoosterPackName: '&a'
  BoosterPackLore: '&7'
  BoosterPackNormalCards: '&e'
  BoosterPackSpecialCards: '&6'
  BoosterPackExtraCards: '&9'
  # What colour should /cards list give to cards owned in decks?
  ListHaveCard: '&a'
  # What colour should /cards list give to shiny cards owned in decks?
  ListHaveShinyCard: '&e&l'
  # What colour should /cards list give to rarities that have been fully collected?
  ListRarityComplete: '&e'

Chances:
  # Drop chances for various types of mobs.
  Hostile-Chance: 20
  Neutral-Chance: 5
  Passive-Chance: 1
  Boss-Chance: 100
  # Should bosses always drop a certain rarity?
  Boss-Drop: false
  Boss-Drop-Rarity: 5
  # Chance that, wherever a card is given, it'll be a 'shiny' version instead, if it has one.
  Shiny-Version-Chance: 1
  # Enter the chances for various rarities below, out of 100,000. 1 = 1 in 100,000 or 0.001%
  # 10,000 = 10% chance, 1000 = 1% chance, 100 = 0.1% chance, 10 = 0.01% chance, 1 = 0.001% chance
  # Chances are in descending order - make sure the chances for Common are higher than Uncommon etcetera.
  # If a type is omitted from this section, the rarity won't drop at ALL from that type.
  Common:
    Hostile: 100000
    Neutral: 100000
    Passive: 100000
  Uncommon:
    Hostile: 20000
    Neutral: 10000
    Passive: 5000
  Rare:
    Hostile: 1000
    Neutral: 500
  Very Rare:
    Hostile: 10
    Boss: 100000
  Legendary:
    Hostile: 1
    Boss: 50000

DisplayNames:
  Cards:
    # Title placeholders:
    # %PREFIX% (the prefix at the start of the config)
    # %COLOUR% (rarity colour)
    # %NAME% (card name)
    # %COST% (card buy-price)
    Title: '%PREFIX%%COLOUR%%NAME%'
    ShinyTitle: '%PREFIX%%COLOUR%%SHINYPREFIX% %NAME%'
    Series: 'Series'
    Type: 'Type'
    Info: 'Info'
    About: 'About'

Default Messages:
Spoiler: messages.yml
Code (Text):
Messages:
  Prefix: '&7[&fCards&7]&7'
  Reload: 'Successfully reloaded config!'
  NoCard: 'No such card exists! Make sure to use the EXACT card name!'
  NoPerms: 'You do not have permission to do this.'
  NoPlayer: 'That player does not exist!'
  NoCmd: 'Invalid command!'
  NoEntity: 'That entity/mob does not exist!'
  NoCreative: 'You cannot open booster packs in creative!'
  NoRarity: 'That rarity does not exist!'
  NoBoosterPack: 'That booster pack does not exist!'
  ScheduledGiveaway: 'A card has been given to everyone on the server!'
  Giveaway: '%player% has given everyone a random card of rarity %rarity%!'
  GiveawayNatural: '%player% has given everyone a random card!'
  GiveawayNaturalBoss: '%player% has given everyone a random boss mob card!'
  GiveawayNaturalHostile: '%player% gave everyone a random hostile mob card!'
  GiveawayNaturalPassive: '%player% gave everyone a random passive mob card!'
  GiveawayNaturalNeutral: '%player% gave everyone a random neutral mob card!'
  GiveawayNaturalBossNoPlayer: 'Everyone''s received a random boss mob card!'
  GiveawayNaturalPassiveNoPlayer: 'Everyone''s received a random passive mob card!'
  GiveawayNaturalHostileNoPlayer: 'Everyone''s received a random hostile mob card!'
  GiveawayNaturalNeutralNoPlayer: 'Everyone''s received a random neutral mob card!'
  GiveawayNaturalNoPlayer: 'Everyone''s received a random card!'
  GiveRandomCard: 'You have been given a random card!'
  GiveRandomCardMsg: 'You have given %player% a random card!'
  GiveBoosterPackUsage: '/cards giveboosterpack <player> <name>'
  GiveBoosterPackHelp: 'Gives a specified booster pack.'
  BoosterPackMsg: 'You have been given a booster pack!'
  OpenBoosterPack: 'You opened a booster pack!'
  ReloadUsage: '/cards reload'
  ReloadHelp: 'Reloads all card config files.'
  ListUsage: '/cards list (<playername> or <rarity>)'
  ListError: '%name% is not online, or is not a rarity!'
  ListHelp: 'Lists all cards on the server.'
  BuyUsage: '/cards buy pack|(card) (<rarity>) <name>'
  BuyHelp: 'Buys the specified pack or card.'
  WorthUsage: '/cards worth'
  WorthHelp: 'Checks how much the card you are holding is worth.'
  CanBuy: 'This card can be bought for %buyAmount%!'
  CanNotBuy: 'This card cannot be bought!'
  ChooseCard: 'Please specify a card!'
  ChooseRarity: 'Please specify a rarity!'
  ChoosePack: 'Please specify a pack!'
  CannotBeBought: 'This cannot be bought!'
  NotEnoughMoney: 'You do not have enough money to buy this!'
  BoughtCard: 'Successfully bought for %amount%!'
  NotACard: 'You need to be holding a card!'
  CardDoesntExist: 'That card does not exist! Make sure to use the exact card and rarity names with proper capitalization.'
  PackDoesntExist: 'That pack does not exist! Make sure to use the exact card and rarity names with proper capitalization.'
  NoVault: 'This server has disabled economy interactions!'
  GiveCardUsage: '/cards givecard <rarity> <name>'
  GiveCardHelp: 'Gives a normal card of the specified rarity.'
  GetDeckUsage: '/cards getdeck <number>'
  DeckCreativeError: 'You are not allowed to use decks in creative!'
  GetDeckHelp: 'Gives you the specified deck item.'
  GiveDeck: 'You got a deck! Hold it and right click to open!'
  AlreadyHaveDeck: 'You already have that deck in your inventory!'
  MaxDecks: 'You do not have permission for this deck!'
  GiveShinyCardUsage: '/cards giveshinycard <rarity> <name>'
  GiveShinyCardHelp: 'Gives a shiny card of the specified rarity.'
  GiveawayUsage: '/cards giveaway <rarity>'
  GiveawayHelp: 'Gives all online players a random card.'
  GiveRandomCardUsage: '/cards giverandomcard <mobname> <name>'
  GiveRandomCardHelp: 'Gives a random card based on a specified mob.'
  CreateUsage: '/cards create <rarity> <name> <series> <type> <hasShiny> <info> <about>'
  CreateHelp: 'Creates a card.'
  CreateNoName: 'Invalid name! Alphanumeric and underscores only!'
  CreateExists: 'That card already exists!'
  CreateSuccess: 'Successfully created %name%, rarity %rarity%!'
  TimerMessage: 'Next card giveaway in %hour% hour(s)!'
  ToggleEnabled: 'Cards are now enabled!'
  ToggleDisabled: 'Cards are now disabled!'
  ToggleUsage: '/cards toggle'
  ToggleHelp: 'Toggles card drops from mobs.'
  ListPacksUsage: '/cards listpacks'
  ListPacksHelp: 'Lists all available booster packs.'
  ResolveUsage: '/cards resolve <playername>'
  ResolveHelp: 'Shows a player''s UUID.'
  ResolveMsg: '%name% = %uuid%'
  ResolveError: '%name% is not online!'
  RewardUsage: '/cards reward <rarity>'
  RewardHelp: 'Collect a reward for collecting a whole rarity.'
  RewardError: 'That rarity does not exist!'
  RewardError2: 'You have not collected all of that rarity!'
  RewardError3: 'You have not collected all of that rarity! %shinyName% cards do not count.'
  RewardBroadcast: '%player% has collected all %rarity% cards!'
  RewardDisabled: 'Rewards have been disabled!'

Default Cards:
Spoiler: cards.yml
Code (Text):
Cards:
  Common:
    Zombie:
      Series: '2016'
      Type: 'Monster'
      Has-Shiny-Version: true
      Info: 'None'
      # If vault is enabled, how much this card is worth. Set to 0 to not allow buying.
      Buy-Price: 100.00
    Skeleton:
      Series: '2016'
      Type: 'Monster'
      Has-Shiny-Version: true
      Info: 'None'
    Creeper:
      Series: '2016'
      Type: 'Monster'
      Has-Shiny-Version: true
      Info: 'None'
    Spider:
      Series: '2016'
      Type: 'Monster'
      Has-Shiny-Version: true
      Info: 'None'
    Enderman:
      Series: '2016'
      Type: 'Monster'
      Has-Shiny-Version: true
      Info: 'None'
    Pig:
      Series: '2016'
      Type: 'Animal'
      Has-Shiny-Version: true
      Info: 'None'
    Cow:
      Series: '2016'
      Type: 'Animal'
      Has-Shiny-Version: true
      Info: 'None'
    Sheep:
      Series: '2016'
      Type: 'Animal'
      Has-Shiny-Version: true
      Info: 'None'
    Chicken:
      Series: '2016'
      Type: 'Animal'
      Has-Shiny-Version: true
      Info: 'None'
    Horse:
      Series: '2016'
      Type: 'Animal'
      Has-Shiny-Version: true
      Info: 'None'
    Donkey:
      Series: '2016'
      Type: 'Animal'
      Has-Shiny-Version: true
      Info: 'None'
    Mule:
      Series: '2016'
      Type: 'Animal'
      Has-Shiny-Version: true
      Info: 'None'
    Squid:
      Series: '2016'
      Type: 'Animal'
      Has-Shiny-Version: true
      Info: 'None'
    Villager:
      Series: '2016'
      Type: 'Animal'
      Has-Shiny-Version: true
      Info: 'None'
  Uncommon:
    Blaze:
      Series: '2016'
      Type: 'Monster'
      Has-Shiny-Version: true
      Info: 'None'
    Ghast:
      Series: '2016'
      Type: 'Monster'
      Has-Shiny-Version: true
      Info: 'None'
    Witch:
      Series: '2016'
      Type: 'Monster'
      Has-Shiny-Version: true
      Info: 'None'
    Zombie_Pigman:
      Series: '2016'
      Type: 'Monster'
      Has-Shiny-Version: true
      Info: 'None'
    Cave_Spider:
      Series: '2016'
      Type: 'Monster'
      Has-Shiny-Version: true
      Info: 'None'
    Wolf:
      Series: '2016'
      Type: 'Animal'
      Has-Shiny-Version: true
      Info: 'None'
    Ocelot:
      Series: '2016'
      Type: 'Animal'
      Has-Shiny-Version: true
      Info: 'None'
    Polar_Bear:
      Series: '2016'
      Type: 'Animal'
      Has-Shiny-Version: true
      Info: 'None'
    Stray_Skeleton:
      Series: '2016'
      Type: 'Monster'
      Has-Shiny-Version: true
      Info: 'None'
    Husk:
      Series: '2016'
      Type: 'Monster'
      Has-Shiny-Version: true
      Info: 'None'
  Rare:
    Guardian:
      Series: '2016'
      Type: 'Monster'
      Has-Shiny-Version: true
      Info: 'None'
    Slime:
      Series: '2016'
      Type: 'Monster'
      Has-Shiny-Version: true
      Info: 'None'
    Wither_Skeleton:
      Series: '2016'
      Type: 'Monster'
      Has-Shiny-Version: true
      Info: 'None'
    Spider_Jockey:
      Series: '2016'
      Type: 'Monster'
      Has-Shiny-Version: true
      Info: 'None'
    Endermite:
      Series: '2016'
      Type: 'Monster'
      Has-Shiny-Version: true
      Info: 'None'
    Mushroom_Cow:
      Series: '2016'
      Type: 'Animal'
      Has-Shiny-Version: true
      Info: 'None'
    Chicken_Jockey:
      Series: '2016'
      Type: 'Animal'
      Has-Shiny-Version: true
      Info: 'None'
    Snow_Golem:
      Series: '2016'
      Type: 'Monster'
      Has-Shiny-Version: true
      Info: 'None'
    Iron_Golem:
      Series: '2016'
      Type: 'Monster'
      Has-Shiny-Version: true
      Info: 'None'
    Shulker:
      Series: '2016'
      Type: 'Monster'
      Has-Shiny-Version: true
      Info: 'None'
  Very Rare:
    Killer_Bunny:
      Series: '2016'
      Type: 'Monster'
      Has-Shiny-Version: true
      Info: 'None'
    Skeleton_Horse:
      Series: '2016'
      Type: 'Monster'
      Has-Shiny-Version: true
      Info: 'None'
    Undead_Horse:
      Series: '2016'
      Type: 'Monster'
      Has-Shiny-Version: true
      Info: 'None'
  Legendary:
    Ender_Dragon:
      Series: '2016'
      Type: 'Boss'
      Has-Shiny-Version: true
      Info: 'None'
    Wither:
      Series: '2016'
      Type: 'Boss'
      Has-Shiny-Version: true
      Info: 'None'
    Elder_Guardian:
      Series: '2016'
      Type: 'Boss'
      Has-Shiny-Version: true
      Info: 'None'
    Giant:
      Series: '2016'
      Type: 'Boss'
      Has-Shiny-Version: true
      Info: 'None'

I am doing this for free because I love developing plugins, however I would appreciate any donations to help keep me motivated and developing.

[​IMG]

GITHUB: https://github.com/Xenoyia/XenTradingCards/

Commands

Plugin details

Read from the plugin's own plugin.yml.

Quick facts

Install steps are the general flow for this file type — see the MC Java Mods guides for the full walkthrough.

Xen's Trading Cards is a free Minecraft Java mod. Compatible with Minecraft 1.14, 1.15, 1.16. Downloaded 16,765 times (via Spigot). Download it and open it directly in the game.

Explore more