Orbs Data

So in the end, the structure of an orb should look something of the sort:

{
  "OrbData": {
    "type": "healing",
    "effectMultiplier": 2,
    "texture": "pickableorbs:textures/entity/plain_orb.png",
    "color": "#FF0046",
    "blockList": ["minecraft:spawner"],
    "blockListType": "whitelist",
    "blockDropChance": 30.0,
    "entityList": ["minecraft:pig", "minecraft:sheep"],
    "entityListType": "blacklist",
    "entityDropChance": 15.5
  },
  "ExtraData": {
    "pickup-message": "You've picked up a health orb!",
    "animation": false,
    "sound": true,
    "follow-player": false,
    "pickup-delay": 10
  }
}

Orbs Data - what do they mean????

Well let's start with the OrbData field first, there we can have:

"name": "<name>" -> The default name that an orb receives is the name of the file, but you can change that by adding this parameter
"type": "<type>" -> At the moment there are 8 types of orbs, **healing**, **poisonous**, **damaging**, **jumping**, **speedster**, **confusion**, **levitation** and **fire_resistance**.
"effectMultiplier": "<number value>", -> Sets the multiplier of the effect
"effectDuration": "<number value>", -> Sets the duration of the effect, unavailable for the **healing** and **damaging** types.
"texture": "pickableorbs:textures/entity/plain_orb.png", -> Sets what texture the orb should use, you could add custom ones by using something like KubeJS and then setting the appropriate texture location as an resource id in the field.
"color": "<color hex code>", -> Sets the color that should be applied over the plain texture of an orb, just use any color picker you can find on google that also offers you an hex code.
"blockList": [<list of block tags and id's>], -> Sets the blocks that should/shouldn't have a chance of spawning this Orb when they're broken, ex: "blockList": ["forge:storage_blocks/netherite", "minecraft:dirt"]
"blockListType": "<whitelist/blacklist>", -> Sets the type of the **blockList** and **blockNames** lists.
"blockDropChance": <number ranging from 0.0 to 100.0>, -> Sets the chance of the orb to spawn then one of the blocks in the block lists are broken.
"entityList": [<list of entity id's>], -> Sets the entities that should/shouldn't have a chance of spawning this Orb when they're killed, ex: "entityList": ["minecraft:skeleton", "minecraft:chicken"]
"entityListType": "<whitelist/blacklist>", -> Sets the type of the **entityList** and **entityNames** lists.
"entityDropChance": <number ranging from 0.0 to 100.0>, -> Sets the chance of the orb to spawn then one of the entities in the entity lists are killed.

Ok that's all for that field, let's do the ExtraData field now:

"pickup-message": "<string message>", -> Sets the message that the player should receive when he pickups up this orb.
"animation": <true/false>, -> Toggles the animation for this orb.
"sound": <true/false>, -> Toggles the sound for this orb.
"follow-player": <true/false>, -> Toggles the follow player function (exactly how an Experience Orb does in vanilla) for this orb.
"pickup-delay": <time in ticks (20 ticks = 1 second)> -> Sets the pickup delay(the amount of time that has to pass after the orb was spawned so that a player can pick it up) of this orb.

Last updated