Loots

Loots can be used to specify when to drop a particular item.

You can decide to create different loot types:

  • Blocks.

  • Mobs.

  • Fishing.

For example this is the loots category of a .yml file I created.

info:
  namespace: my_loots
loots:
  blocks:
    ruby_ore:
      type: iasurvival:ruby_ore
      items:
        ruby:
          item: iasurvival:ruby
          min_amount: 1
          max_amount: 2
          chance: 100
    nether_quartz_ore:
      type: NETHER_QUARTZ_ORE
      drop_only_first: true
      items:
        crystal:
          item: iasurvival:crystal
          min_amount: 1
          max_amount: 2
          chance: 10
        knowledge_fragment:
          item: iasurvival:knowledge_fragment
          min_amount: 1
          max_amount: 2
          chance: 15

This example has two loots in blocks category.

First one is called ruby_ore (you can call them as you prefer), this will drop a itemsadder:ruby item when you break a custom block of type iasurvival:ruby_ore with a minimum amount of 1 and maximum amount of 2 with 100% chance.

The second one is a loot from a vanilla block. As you imagine it will drop a crystal or a knowledge_fragment when the player breaks a NETHER_QUARTZ_ORE. These drops are decided by ItemsAdder based on chance you set.

Loots Types

Fishing

loots:
  fishing:
    loot_blue_parrotfish:
      biomes:
        - WARM_OCEAN
      items:
        item_1:
          item: iasurvival:blue_parrotfish
          min_amount: 1
          max_amount: 1
          chance: 5
    loot_green_sunfish:
      items:
        item_1:
          item: iasurvival:green_sunfish
          min_amount: 1
          max_amount: 1
          chance: 5
    loot_goldfish:
      items:
        item_1:
          item: iasurvival:goldfish
          min_amount: 1
          max_amount: 1
          chance: 5

Mobs

loots:
  mobs:
    villager:
      type: ZOMBIE
      items:
        item_1:
          item: iawearables:straw_hat
          min_amount: 1
          max_amount: 1
          chance: 100
    ender_dragon:
      type: ENDER_DRAGON
      items:
        item_1:
          item: iawearables:ender_dragon_wings
          min_amount: 1
          max_amount: 1
          chance: 100

Custom entities loots

In order to let ItemsAdder drop an item based on when you kill a custom entity you just have to set type to the custom entity namespaced-id.

loots:
  mobs:
    soul:
      type: custom:ninja_skeleton
      items:
        ruby:
          item: ruby
          min_amount: 1
          max_amount: 1
          chance: 100

Loots Rules

(Blocks) drop_only_first

This special properties allows you to stop drops chance calculation when the first item is successfully dropped. WARNING: this makes your items harder to be dropped.

loots:
  blocks:
    nether_quartz_ore:
      type: NETHER_QUARTZ_ORE
      drop_only_first: true
      items:
        crystal:
          item: iasurvival:crystal
          min_amount: 1
          max_amount: 2
          chance: 10
        knowledge_fragment:
          item: iasurvival:knowledge_fragment
          min_amount: 1
          max_amount: 2
          chance: 15

Biomes

loots:
  blocks:
    ruby_ore:
      type: iasurvival:ruby_ore
      biomes:
        - PLAINS
        - SUNFLOWER_PLAINS
        - MOUNTAINS
      items:
        ruby:
          item: iasurvival:ruby
          min_amount: 1
          max_amount: 2
          chance: 100

Ignore fortune enchant

You can make a loot ignore fortune enchant by adding the ignore_fortune property.

loots:
  blocks:
    ruby_ore:
      type: iasurvival:ruby_ore
      items:
        ruby:
          item: iasurvival:ruby
          ignore_fortune: true # <----- here
          min_amount: 1
          max_amount: 2
          chance: 100

Ignore mobs spawned from spawners

You can make a loot ignore fortune enchant by adding the ignore_fortune property.

loots:
  mobs:
    villager:
      type: ZOMBIE
      ignore_spawner: true # <----- here
      items:
        item_1:
          item: iawearables:straw_hat
          min_amount: 1
          max_amount: 1
          chance: 100

Worlds

loots:
  blocks:
    change_me:
      enabled: true
      type: SAND
      biomes:
        - BEACH
      worlds:  # <----- here
        - "world_*"
        - "!private_*"
        - "example1"
        - "!example2"
      items:
        change_me:
          item: STONE
          min_amount: 1
          max_amount: 1
          chance: 100

Loots will drop in all worlds if you don't specify any world.

The special * character allows any world starting with a particular text. In this example every world starting with world_ will match and will drop loots.

The special ! character denies the loot to be dropped in any world starting with a particular text. In this example every world starting with private_ will match and won't allow dropping loots.

You can also specify precise world names, in this example example2 won't allow loots to be dropped.

You can also specify precise world names, in this example example1 will allow loots to be dropped.

Tile entity NBT data

In this example I will check the NBT data of a spawner.

loots:
  blocks:
    change_me:
      enabled: true
      type: SPAWNER
      nbt:
        spawner_type:
          path: SpawnData.entity.id
          value: minecraft:zombie
          type: string
      items:
        change_me:
          item: ACACIA_BOAT
          min_amount: 1
          max_amount: 1
          chance: 100
          ignore_fortune: false

NBT

In this example I will check the NBT data of a Villager (profession).

As you can see I set profession attribute and specified the NBT attribute path, which in this case is VillagerData.profession. Then I set value to minecraft:farmer, this tells ItemsAdder to match only villagers with attribute VillagerData.profession set to minecraft:farmer.

loots:
  mobs:
    villager:
      type: VILLAGER
      nbt:
        profession:
          path: VillagerData.profession
          value: minecraft:farmer
          type: string
      items:
        item_1:
          item: itemsadder:straw_hat
          min_amount: 1
          max_amount: 1
          chance: 100

Metadata

You can even match metadata, in case some plugin is setting that temporary information.

loots:
  mobs:
    soul:
      type: HUSK
      metadata:
        my_rule_1:
          name: "YourCustomKey"
          value: "ExampleValue"
          type: "string"
      items:
        ruby:
          item: ruby
          min_amount: 1
          max_amount: 1
          chance: 100

Last updated

Was this helpful?