Items.json - Unariginal/MoreSparkles GitHub Wiki

Items.json

Defines the charm items. A charm boosts whoever carries it, as long as it's anywhere in their inventory. Located at config/MoreSparkles/items.json.

Warning

1.3.0 breaking changes in this file: the top-level shiny_charms key was renamed to charms, and every charm now needs a boost_type. If you're updating from an older version, delete your items.json and let MoreSparkles generate a new one, or update it by hand.

📄 Full default file
{
  "charms": {
    "shiny_charm": {
      "boost_type": "shiny",
      "multiplier": 2.0,
      "lore": [
        "<gray>Having one of these mysterious shining charms makes it more likely you'll encounter Shiny Pokémon in the wild."
      ]
    },
    "exp_charm": {
      "boost_type": "experience",
      "multiplier": 2.0,
      "lore": [
        "<gray>This charm hums with a faint energy that seems to quicken the growth of any Pokémon that battles by your side."
      ]
    },
    "veiled_charm": {
      "boost_type": "hidden_ability",
      "multiplier": 2.0,
      "lore": [
        "<gray>This charm is said to help you notice the subtle traits that set apart Pokémon with rare, hidden abilities."
      ]
    },
    "effort_charm": {
      "boost_type": "EV",
      "multiplier": 2.0,
      "lore": [
        "<gray>Carrying this charm seems to sharpen the effort your Pokémon put into every battle, letting their training take root faster."
      ]
    },
    "iv_charm": {
      "boost_type": "IV",
      "multiplier": 2.0,
      "lore": [
        "<gray>This charm is said to resonate with a Pokémon's innate potential, increasing the odds of encountering exceptionally gifted individuals."
      ]
    },
    "berry_charm": {
      "boost_type": "berry",
      "multiplier": 2.0,
      "lore": [
        "<gray>A faint scent of ripening fruit clings to this charm, encouraging berry trees around you to yield more of their bounty."
      ]
    },
    "catching_charm": {
      "boost_type": "catch_rate",
      "multiplier": 2.0,
      "lore": [
        "<gray>This charm seems to calm wild Pokémon ever so slightly, making them easier to catch."
      ]
    },
    "mark_charm": {
      "boost_type": "mark",
      "multiplier": 2.0,
      "lore": [
        "<gray>Those who carry this charm report crossing paths with Pokémon bearing unusual marks far more often than most trainers do."
      ]
    },
    "alpha_charm": {
      "boost_type": "alpha",
      "multiplier": 2.0,
      "lore": [
        "<gray>A primal energy radiates from this charm, said to draw the attention of towering Alpha Pokémon roaming the wilds."
      ]
    },
    "bucket_charm": {
      "boost_type": "spawn_bucket",
      "multiplier": 2.0,
      "lore": [
        "<gray>This charm seems to stir the natural balance of an area, coaxing a greater variety of Pokémon out from hiding."
      ]
    }
  }
}

Top Level

Field Type Description
charms object A map of charm ID → charm settings. The ID becomes the item ID, e.g. shiny_charm is moresparkles:shiny_charm.

Charm Fields

Field Type Description
boost_type string Which boost type this charm boosts. Case-insensitive.
multiplier number The charm's multiplier.
lore string list Tooltip lines, using MiniMessage formatting. Optional.

Default Charms

Item ID Name Boost Type
moresparkles:shiny_charm Shiny Charm SHINY
moresparkles:exp_charm Experience Charm EXPERIENCE
moresparkles:veiled_charm Veiled Charm HIDDEN_ABILITY
moresparkles:effort_charm Effort Charm EV
moresparkles:iv_charm IV Charm IV
moresparkles:berry_charm Berry Charm BERRY
moresparkles:catching_charm Catching Charm CATCH_RATE
moresparkles:mark_charm Mark Charm MARK
moresparkles:alpha_charm Alpha Charm ALPHA
moresparkles:bucket_charm Bucket Charm SPAWN_BUCKET

You can change any default charm's boost type, multiplier or lore. Removing a charm from this file removes the item from the game.

How Charms Work

  • A charm works from anywhere in the player's inventory. It doesn't need to be held.
  • Charms don't stack; each one is its own item.
  • Players can carry several Shiny charms and all of them apply. For every other type, only one charm of that type counts, even if the player carries more. See How-It-Works.
  • Charms stack with player boosts, global boosts and boost areas.

Getting Charms

  • Creative mode: all charms are in the Charm Items polymer creative tab.
  • Commands: /give <player> moresparkles:<charm_id>, e.g. /give Steve moresparkles:shiny_charm.

You can also hand them out as rewards from other mods (crates, shops, quests, raid rewards) using their item IDs.

Important

Charms are added through Polymer, so players don't need MoreSparkles installed on their client. Their textures are sent through Polymer's server resource pack, which players must accept to see them. If Polymer isn't loaded, no charms are added and the server log shows a warning.

Adding Custom Charms

You can add your own charms by adding new entries under charms:

{
  "charms": {
    "shiny_charm": { ... },
    "super_shiny_charm": {
      "boost_type": "shiny",
      "multiplier": 4.0,
      "lore": [
        "<gray>An especially sparkly charm."
      ]
    }
  }
}
  1. Pick a charm ID using only lowercase letters, numbers and underscores. This becomes the item ID (moresparkles:super_shiny_charm).
  2. Add the entry to items.json.
  3. Restart the server. Charms are registered on startup, so /sparkles reload won't add new ones.
  4. Give your charm a texture and name. Custom charms don't come with either, so they'll show a missing texture and their raw translation key until you add these to a resource pack:
    • assets/moresparkles/models/item/<charm_id>.json, a normal item model, e.g.:
      {
        "parent": "item/generated",
        "textures": {
          "layer0": "moresparkles:item/<charm_id>"
        }
      }
    • assets/moresparkles/textures/item/<charm_id>.png, the texture.
    • assets/moresparkles/lang/en_us.json, with the line "item.moresparkles.<charm_id>": "Your Charm Name".

Note

Changes to a charm's boost_type or multiplier apply with /sparkles reload. Changes to its lore need a restart.

See Also

⚠️ **GitHub.com Fallback** ⚠️