# Hub

Welcome to our documentation!

Welcome to our documentation website. Here you can find most things about our projects - such as:

* Installation assistance
* Tutorials on how to understand a feature.
* All permissions and commands.

## Getting Started

To get started click on the tab that you have questions about and see if it is answered there. Be sure to check every section, especially if you find yourself confused about something. Your questions are likely to be solved.

If you have questions that aren't answered here, please reach out to us on our [Discord](https://discord.gg/f3WE2F8) server.

## Notice

{% hint style="info" %}
Staff positions are open! Open a ticket in our discord to get started.
{% endhint %}

{% hint style="info" %}
Beta Tester positions are open! Open a ticket in our discord to get started.
{% endhint %}

## Quick Links

GitHub: <https://github.com/flrping>

Discord: <https://discord.gg/f3WE2F8>

Documentation: <https://wiki.flrp.dev>

Economobs: <https://www.spigotmc.org/resources/economobs.90004/>

Econoblocks: <https://www.spigotmc.org/resources/econoblocks.91161/>

Tracker: <https://www.spigotmc.org/resources/tracker.90727/>

Tracker+: <https://www.spigotmc.org/resources/tracker.108425/>

## Partners

[BisectHosting](https://bisecthosting.com/flrp) - Save 25% on any of their servers for your first month with code "flrp"!

[NordVPN](https://nordvpn.flrp.dev) - Save up to 69% off 2-year plans + a Saily eSIM data gift!\ <br>

<figure><img src="/files/C6Q60Zdgn5fidYQZKEL4" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/Ca3iB7jb4xDdB6lFiUcM" alt=""><figcaption></figcaption></figure>


# Tracker


# Installation & Dependencies

## Download

You can download Tracker from [Craftaro](https://craftaro.com/marketplace/product/tracker.384) | [SpigotMC](https://www.spigotmc.org/resources/tracker.90727/) | [BuiltByBit](https://builtbybit.com/resources/tracker.30505/) | [Polymart](https://polymart.org/resource/tracker.563)

## Version Support

Tracker only supports versions 1.8.8 and above. Support for 1.7 and below will most likely never be added.

## Dependencies

Tracker **requires** [Item-NBT-API](https://github.com/tr7zw/Item-NBT-API) to function. The plugin will not load if it isn't present on the server.

## Supports & Hooks

* WildStacker (Allows for accurate tracking for killing stacks of mobs)
* StackMob (Allows for accurate tracking for killing stacks of mobs)


# Permissions & Commands

| Command         | Permission    | Description                      |
| --------------- | ------------- | -------------------------------- |
| /tracker        | Default       | Brings up an in-game help guide. |
| /tracker reload | tracker.admin | Reloads the plugin.              |


# Files

The default files by Tracker.

```yaml
# What stacker should the plugin look for?
# Current list: NONE, WILDSTACKER, STACKMOB
stacker: NONE

# Everything dealing with the counter process.
counter:
  # The tag that will appear on the items display.
  tag: "&8[&7%stats%&8]"

  # Allow the counter to be formatted?
  format:
    enabled: true

  # Sounds that will play on mine or kill.
  sounds:
    enabled: true
    sound: BLOCK_NOTE_BLOCK_BELL

# List of tools that will be applied to either block breaking or killing an entity.
# Adding an item in both lists will share the counter tag.
stats:
  # Is block tracking enabled?
  blocks:
    enabled: true
    list:
      - WOODEN_PICKAXE
      - WOODEN_AXE
      - WOODEN_SHOVEL
      - STONE_PICKAXE
      - STONE_AXE
      - STONE_SHOVEL
      - IRON_PICKAXE
      - IRON_AXE
      - IRON_SHOVEL
      - GOLDEN_PICKAXE
      - GOLDEN_AXE
      - GOLDEN_SHOVEL
      - DIAMOND_PICKAXE
      - DIAMOND_AXE
      - DIAMOND_SHOVEL
      - NETHERITE_PICKAXE
      - NETHERITE_AXE
      - NETHERITE_SHOVEL

  kills:
    # Is kill tracking enabled?
    enabled: true
    list:
      - WOODEN_SWORD
      - STONE_SWORD
      - IRON_SWORD
      - GOLDEN_SWORD
      - DIAMOND_SWORD
      - NETHERITE_SWORD
```

```yaml
# Head over to https://docs.axelli.net/ and see what the values print.
prefix: "&8[&cTracker&8] "
```

```yaml
# whitelist.yml

# Use a valid name according to your server version.
# To disable whitelisting, just use [].
blocks:
  - "STONE"
  - "COBBLESTONE"
  - "DEEPSLATE"
  - "COPPER_ORE"
  - "DEEPSLATE_COPPER_ORE"
  - "COAL_ORE"
  - "DEEPSLATE_COAL_ORE"
  - "IRON_ORE"
  - "DEEPSLATE_IRON_ORE"
  - "REDSTONE_ORE"
  - "DEEPSLATE_REDSTONE_ORE"
  - "LAPIS_ORE"
  - "DEEPSLATE_LAPIS_ORE"
  - "GOLD_ORE"
  - "DEEPSLATE_GOLD_ORE"
  - "DIAMOND_ORE"
  - "DEEPSLATE_DIAMOND_ORE"
  - "EMERALD_ORE"
  - "DEEPSLATE_EMERALD_ORE"
  - "NETHER_QUARTZ_ORE"
  - "NETHER_GOLD_ORE"
  - "ANCIENT_DEBRIS"
mobs: []
```


# Economobs


# Installation & Dependencies

What you need to install the plugin.

## Download

You can download Economobs from Songoda Marketplace | [Spigot](https://www.spigotmc.org/resources/economobs.90004/) | Polymart

## Version Support

**Economobs** only supports versions 1.8.8 and above. Support for 1.7 and below will most likely never be added.

## Dependencies

**Economobs** currently depends on Vault and an appropriate Economy Manager to fully function. Meaning, you must have it installed in order for the plugin to work.

Some other plugins you may use to enhance your experience are:&#x20;

* StackMob - Allow the correct amount of money to be given when stacks die.
* MythicMobs - Add custom amounts for your MythicMobs.
* WildStacker - Allow the correct amount of money to be given when stacks die.
* ItemsAdder - Add custom amounts to your ItemsAdder mobs and give custom multipliers for them.
* TokenManager - Supported economy.
* PlayerPoints - Supported economy.
* PlaceholderAPI - Multiplier placeholders.


# Permissions, Commands, & Placeholders

Lists of commands and permissions can be found here.

<table data-header-hidden><thead><tr><th width="217">Command</th><th width="193">Permission</th><th>Description</th></tr></thead><tbody><tr><td>Command</td><td>Permission</td><td>Description</td></tr><tr><td>/economobs</td><td>default</td><td>Brings up an in-game help guide.</td></tr><tr><td>/economobs toggle</td><td>default</td><td>Toggles messaging features.</td></tr><tr><td>/economobs profile &#x3C;player></td><td>economobs.profile</td><td>Checks the multiplier profile of a user.</td></tr><tr><td>/economobs check &#x3C;mob/custom> &#x3C;entity></td><td>economobs.check</td><td>Checks the loot tables of an entity.</td></tr><tr><td>/economobs multiplier add &#x3C;user> &#x3C;entity/tool/world/custom_entity/custom_tool> &#x3C;context> &#x3C;multiplier></td><td>economobs.multiplier</td><td>Adds a multiplier to a user.</td></tr><tr><td>/economobs multiplier remove &#x3C;user> &#x3C;entity/tool/world/custom_entity/custom_tool> &#x3C;context></td><td>economobs.multiplier</td><td>Removes a multiplier from a user.</td></tr><tr><td>/economobs reload</td><td>economobs.reload</td><td>Reloads the plugin.</td></tr><tr><td>All</td><td>economobs.admin</td><td>Gives access to all commands.</td></tr></tbody></table>

| Permission               | Description                              |
| ------------------------ | ---------------------------------------- |
| economobs.group.\<group> | Adds a multiplier group to a user/group. |

<table><thead><tr><th width="358">Placeholder</th><th width="255">Description</th><th>Default Value</th></tr></thead><tbody><tr><td>%economobs_multiplier_entity_&#x3C;entity>%</td><td>Prints the players multiplier of an entity.</td><td>1.0</td></tr><tr><td>%economobs_multiplier_tool_&#x3C;tool>%</td><td>Prints the players multiplier of a tool.</td><td>1.0</td></tr><tr><td>%economobs_multiplier_world_&#x3C;world>%</td><td>Prints the players multiplier of a world.</td><td>1.0</td></tr></tbody></table>


# Files

Default files for Economobs.

## Configuration

{% tabs %}
{% tab title="2.0.0" %}

```yaml
# Configuration of Economobs. For help, visit https://wiki.flrp.dev
config-version: 6

# Allow the plugin to check for updates?
check-for-updates: true

# Allow players to be killed for money?
# This system currently doesn't contain any countermeasures for repeat kills.
reward-pvp: false

# What stacker should the plugin look for?
# Current list: NONE (Default), WILD_STACKER, STACK_MOB, ULTIMATE_STACKER, ROSE_STACKER
stacker: NONE

# Reward handling.
rewards:
  limit:
    # Should rewards be limited? This is to aid with stackers.
    enabled: true
    # The max amount of rewards that are rolled.
    amount: 10

# Message handling.
message:
  # Should the plugin send messages about money gained?
  enabled: true

  # How should the plugin display messages when a player is given money?
  # NOTE: Some options will only work with select versions. You can see which below.
  # OPTIONS: CHAT, ACTION_BAR (1.12+), HOLOGRAM (1.12+), TITLE (1.12+)
  message-type: CHAT

  # HOLOGRAMS
  # This will only work if you have holograms set as your type.
  holograms:
    # This option will affect animations.
    # How long should the hologram stay? This is in seconds.
    duration: 1

  # This will only work if you have title set as your type.
  title:
    # How long should the title stay? This is in seconds.
    stay: 3
    # How long should the title fade in? This is in seconds.
    fade-in: 1
    # How long should the title fade out? This is in seconds.
    fade-out: 1
    # Naturally, the money message will be displayed in the subtitle.
    # You can change the title to whatever you want here. Placeholders are supported.
    title: "&a&lREWARD"

# Hook management.
hooks:
  entity:
    # Enable MythicMobs support? Adds the ability to earn rewards from custom mobs, and enables multipliers for custom entities.
    MythicMobs: true
    # Enable LevelledMobs support? Adds the ability to add money per level to the base amount (before applying multipliers).
    LevelledMobs: true
    # Enable InfernalMobs support? Adds the ability to add money per modifier to the base amount (before applying multipliers).
    InfernalMobs: true
    # Enable ItemsAdder support? Allows players to earn rewards from custom mobs, and enables multipliers for custom entities.
    ItemsAdder: true
    # Enable Sentinels support? Adds the ability for Sentinels to reward their owners.
    Sentinel: true
  item:
    # Enable Oraxen support? Adds the ability to have multipliers for custom items.
    Oraxen: true
    # Enable ItemsAdder support? Adds the ability to have multipliers for custom items.
    ItemsAdder: true
    # Enable MMOItems support? Adds the ability to have multipliers for custom items.
    MMOItems: true

# Multiplier handling.
# Down below are configurable multiplier groups.
# If any conditions are true, they will be considered towards the output amount.
# Make sure to balance this properly if you use multipliers. You can leave any category empty with [] if you wish not to use it.
multipliers:
  example:
    # Higher the number, heavier the group, higher priority.
    weight: 1
    # Specific mob multipliers.
    mobs:
      - CHICKEN 1.1
      - PIG 1.1
      - COW 1.1
    # The tool used to kill the mob.
    weapons:
      - DIAMOND_SWORD 1.2
    # The world the mob died in.
    worlds:
      - real_world 1.1
  # More examples...
  coal:
    weight: 2
    mobs:
      - COW 1.5
    weapons:
      - DIAMOND_SWORD 1.5
  diamond:
    weight: 3
    mobs:
      - COW 2
    weapons:
      - DIAMOND_SWORD 2.5

# A list of worlds where money won't be given.
world-blacklist:
  - world2
```

{% endtab %}

{% tab title="1.0.0+ (Older)" %}

```yaml
# Configuration of Economobs. For help, visit https://wiki.flrp.dev
config-version: 5

# Allow the plugin to check for updates?
check-for-updates: true

# Allow players to be killed for money?
# This system currently doesn't contain any countermeasures for repeat kills.
reward-pvp: false

# What currency should the plugin use?
# Current list: VAULT (Default), PLAYER_POINTS, TOKEN_MANAGER
economy: VAULT

# What stacker should the plugin look for?
# Current list: NONE (Default), WILDSTACKER, STACKMOB, ULTIMATESTACKER, ROSESTACKER
stacker: NONE

# Message handling.
message:
  # Should the plugin send messages about money gained?
  enabled: true

  # How should the plugin display messages when a player is given money?
  # NOTE: Some options will only work with select versions. You can see which below.
  # OPTIONS: CHAT, ACTION_BAR (1.12+), HOLOGRAM (1.12+)
  message-type: CHAT

  # HOLOGRAMS
  # This will only work if you have holograms set as your type.
  holograms:
    # OPTIONS: STAY, FLOAT, BOUNCE
    animation: STAY
    # This option will affect animations.
    # How long should the hologram stay? This is in seconds.
    duration: 1

# Hook management.
hooks:
  # Enable MythicMobs support? Adds the ability to earn money from custom mobs.
  MythicMobs: true
  # Enable LevelledMobs support? Adds the ability to add money per level to the base amount (before applying multipliers).
  LevelledMobs: true
  # Enable InfernalMobs support? Adds the ability to add money per modifier to the base amount (before applying multipliers).
  InfernalMobs: true
  #Enable ItemsAdder support? Allows players to earn money from custom entities, and enabled multipliers for custom items and entities.
  ItemsAdder: true

# Multiplier handling.
# Down below are configurable multiplier groups.
# If any conditions are true, they will be considered towards the output amount.
# Make sure to balance this properly if you use multipliers. You can leave any category empty with [] if you wish not to use it.
multipliers:
  example:
    # Higher the number, heavier the group, higher priority.
    weight: 1
    # Specific mob multipliers.
    mobs:
      - CHICKEN 1.1
      - PIG 1.1
      - COW 1.1
    # The tool used to kill the mob.
    weapons:
      - DIAMOND_SWORD 1.2
    # The world the mob died in.
    worlds:
      - real_world 1.1
  # More examples...
  coal:
    weight: 2
    mobs:
      - COW 1.5
    weapons:
      - DIAMOND_SWORD 1.5
  diamond:
    weight: 3
    mobs:
      - COW 2
    weapons:
      - DIAMOND_SWORD 2.5

# A list of worlds where money won't be given.
world-blacklist:
  - world2
```

{% endtab %}
{% endtabs %}

## Language

{% tabs %}
{% tab title="2.0.0" %}

<pre class="language-yaml"><code class="lang-yaml"><strong># New placeholders from v2 - OLD PLACEHOLDERS ARE NOT SUPPORTED ANYMORE.
</strong># {base} prints out base amount.
# {multiplier} prints out multiplier.
# {mob} prints out mob name.
# {amount} prints out amount.
# {item} prints out item name.
# {effect} prints out potion effect given.
# {amplifier} prints out potion amplifier.
# {duration} prints out potion duration.
# {command} prints out command used.
# {weight} prints out weight.

# {loot} prints out the loot identifier.
# {loot_table} prints out the loot table identifier.
# {loot_prefix} prints out the loot prefix.

prefix: "&#x26;8[&#x26;aEconomobs&#x26;8] "
command-denied: "&#x26;cYou do not have permission to run this command"

economy-given: "&#x26;7You've earned &#x26;f${amount} &#x26;7by killing a {mob}. &#x26;7&#x26;o({base} x {multiplier})"
economy-max: "&#x26;cYou can't earn more money due to a maximum balance."
item-given: "&#x26;7You have found &#x26;fx{amount} {item} &#x26;7by killing a {mob}."
custom-item-given: "&#x26;7You have found &#x26;fx{amount} {item} &#x26;7by killing a {mob}."
potion-given: "&#x26;7You have been enchanted with {effect} {amplifier} for {duration} seconds &#x26;7by killing a {mob}."
command-given: "&#x26;7Killing a {mob} caused &#x26;f{command} &#x26;7to be ran {amount} times."

reward-toggle: "&#x26;7Toggled messages."
</code></pre>

{% endtab %}

{% tab title="1.0.0+ (Older)" %}

```yaml
prefix: "&8[&aEconomobs&8] "
command-denied: "&cYou do not have permission to run this command"
# {0} prints out the money made.
# {1} prints out the base value.
# {2} prints out the multiplier.
economy-given: "&7You've earned &f${0} &7by killing this mob. &7&o({1} x {2})"
economy-max: "&cYou can't earn more money due to a maximum balance."
economy-toggle: "&7Toggled income messages."
```

{% endtab %}
{% endtabs %}

## Loot

```yaml
tables:
  money_table:
    weight: 100
    drops:
      1:
        weight: 60
        type: ECONOMY
        from: VAULT
        min: 10
        max: 20
      2:
        weight: 30
        type: ECONOMY
        from: VAULT
        min: 20
        max: 30
      3:
        weight: 10
        type: ECONOMY
        from: VAULT
        min: 50
        max: 80
  item_table:
    weight: 100
    drops:
      1:
        weight: 500
        type: ITEM
        min: 1
        max: 1
        material: DIAMOND
      2:
        weight: 50
        type: ITEM
        material: DIAMOND_PICKAXE
        min: 1
        max: 1
        name: '&aDiamond Pickaxe'
        lore:
          - '&7This is a diamond pickaxe'
          - '&7that you got from killing a mob.'
      3:
        weight: 10
        type: ITEM
        material: DIAMOND_PICKAXE
        name: '&aEnchanted Diamond Pickaxe'
        min: 1
        max: 1
        enchantments:
          - unbreaking:3
          - efficiency:3
          - fortune:3
        lore:
          - '&7This is an enchanted diamond pickaxe'
          - '&7that you got from killing a mob.'
  full_table:
    weight: 100
    drops:
      '1':
        weight: 100
        type: ECONOMY
        from: VAULT
        min: 10
        max: 30
      '2':
        weight: 10
        type: ITEM
        min: 1
        max: 1
        material: DIAMOND
      '3':
        weight: 1
        type: ITEM
        material: DIAMOND_PICKAXE
        min: 1
        max: 1
        name: '&aDiamond Pickaxe'
        lore:
          - '&7This is a diamond pickaxe'
          - '&7that you got from killing a mob.'
      '4':
        weight: 1
        type: CUSTOM_ITEM
        from: ITEMS_ADDER
        item: 'GOLD_FRAGMENT'
        min: 3
        max: 5
      '5':
        weight: 5
        type: POTION
        effect: SPEED
        amplifier: 1
        min: 80
        max: 120
      '6':
        weight: 10
        type: COMMAND
        min: 1
        max: 1
        command: 'give {player} diamond 1'
        message: '&7You have been given a diamond.'
```


# Tutorials

A collection of tutorials for Economobs


# Understanding Loot and Loot Tables

Explaining loot and loot tables

## Introduction

With 2.0.0 comes a huge expansion on the rewards system. Not only can you give rewards and have multipliers like usual, but you may now have items, commands, potion effects, and even custom items as loot.\
\
Let's take a look at how loot tables are structured and made.

## Loot Table

Here's a bit of the default loot table **money\_table** that is generated with a fresh install of the plugin.

```yaml
money_table:
  weight: 100
  drops:
    '1':
      weight: 60
      type: ECONOMY
      from: VAULT
      min: 10
      max: 20
```

If you are experienced with Economobs it may seem familiar. Loot now has way more options for you to use and make your servers unique. Here is the breakdown and available options.

```yaml
TABLE_NAME:
  weight: 100
  drops:
    LOOT_ID:
      weight: 60
      type: ECONOMY
      from: VAULT
      min: 10
      max: 20
      message: Set custom message here
```

{% hint style="info" %}
Weight is a piece of distribution.\
\
When the plugin rolls and picks an outcome, it uses "total weight" - adding all the reward weights together.\
\
For example: A reward with a weight of 20 in a total weight of 200, means it will have a 10% chance of dropping said reward.\
\
These weight values **do not** need to be within a 100 total weight. Use this weight system to your advantage.\
\
*When no weight is defined, it will assume 100 weight.* \
*When the total is under 100, this allows rewards to not be given.*
{% endhint %}

* TABLE\_NAME - name of the loot table. These must be unique across your tables; you will be using this name to assign your mobs loot tables.
* LOOT\_ID - id of the loot inside the table, these must be unique within the table.\
  TYPE is the type of loot. This can be ECONOMY, ITEM, CUSTOM\_ITEM, POTION, or COMMAND
* FROM **-** where the loot is sourced from. When it comes to economy, this should be an Economy hook. When it comes to custom items, it should be a custom item hook.
* MIN and MAX - the ranges of the amount the loot will distribute.
* MESSAGE **-** sets a custom message for the loot. If not defined, the plugin will use the message in language.yml.

## Examples

Basic economy reward that will come from your server's main economy.

```yaml
example_table:
  weight: 100
  drops:
    '1':
      weight: 60
      type: ECONOMY
      from: VAULT
      min: 10
      max: 20
```

Item reward that drops an enchanted, named pickaxe.&#x20;

```yaml
example_table:
  weight: 100
  drops:
    '1':
      weight: 10
      type: ITEM
      material: DIAMOND_PICKAXE
      name: "&aEnchanted Diamond Pickaxe"
      min: 1
      max: 1
      enchantments:
        - unbreaking:3
        - efficiency:3
        - fortune:3
      lore:
        - "&7This is an enchanted diamond pickaxe"
        - "&7that you got from killing a mob."
```

Custom item reward that drops ruby shards from the plugin ItemsAdder.

```yaml
example_table:
  weight: 100
  drops:
    '1':
      weight: 10
      type: CUSTOM_ITEM
      from: ITEMS_ADDER
      item: RUBY_SHARD
      min: 3
      max: 5
```

Potion effect reward that gives you Speed 2.

```yaml
example_table:
  weight: 100
  drops:
    '1':
      weight: 5
      type: POTION
      effect: SPEED
      amplifier: 2
      min: 80
      max: 120
```

A reward that runs a command.

```yaml
example_table:
  weight: 100
  drops:
    '1':
      weight: 10
      type: COMMAND
      min: 1
      max: 1
      command: give {player} diamond 1
      message: "&7You have been given a diamond."
```


# Assigning Loot Tables

How to assign loot tables to entities

## Introduction

With 2.0.0, the mobs.yml has completely changed and expanded. You now have to assign each mob a loot table (or use the wildcard).

## Assignment

In mobs.yml, you can assign mobs multiple loot tables. Each bundle of Loot Tables makes a Loot Container, which you may see logged on startup.\
\
This is the format to assign loot tables to mobs.&#x20;

```yaml
mobs:  
  PIG:
    tables:
      '1':
        table: money_table
```

Every loot table that you define in this file should be an existing loot table in loot.yml. The plugin creates the loot tables, then assigns each loot table to their respective loot containers.

To list multiple tables, you can do something as simple as this.

```yaml
mobs:  
  PIG:
    tables:
      '1':
        table: money_table
      '2':
        table: item_table
      '3':
        table: full_table
```

## Wildcard Table (Default Loot Table)

This table is not enabled by default, and it is something you have to add in to enable. This option allows you to easily assign a set of tables for mobs that share the same loot tables to avoid redundancy.\
\
Here is how it should be structured:

```yaml
default:
  tables:
    '1':
      table: money_table
```

In mobs.yml (or any hook file that supports table assigning) you should make a new section that starts with default. **This does not go in the list of mobs; this is its own section.**

You can add exclusions to the list as well, if you do not want a mob to have any drops at all.&#x20;

```yaml
default:
  tables:
    '1':
      table: money_table
  excludes:
    - 'PIG'  
```

## Example File

```yaml
default:
  tables:
    '1':
      table: money_table
  excludes:
    - 'PIG'  
mobs:  
  COW:
    tables:
      '1':
        table: money_table_2
  SHEEP:
    tables:
      '1':
        table: money_table_2
```


# Loot Table Conditionals and Overrides

Advanced loot customization with conditionals and overrides

## Introduction

You can expand on loot tables with conditionals. These allow you to have certain drops in certain areas, or if an entity was killed with a specific item, and more. Weight overrides allow you to dynamically adjust the drop rate.

## Adding Conditionals

Adding conditionals to a loot table is relatively simple. To assign conditionals, you have to do it when you assign tables to entities. This allows you to flexibly control where conditionals are.  \
\
Below where you define the table for that entry, below you put the conditions section. Then you list all the conditions the table should have. For example:&#x20;

```yaml
mobs:  
  ZOMBIE:
    tables:
      '1':
        table: money_table
        conditions:
          - '[permission] example.permission'
```

To clarify, you simply list what type of condition it is and then the context.&#x20;

```
conditions:
  - "[type] context"
```

The list of supported conditionals is:

* Permission - The player needs a permission.
* World - The player needs to be in a specific world.
* With - The player needs to kill the entity with a certain item.
* Biome - The player needs to be in a specific biome.

{% hint style="info" %}
When using the \[with] conditional, if you decide to use a custom item - be sure to include the hook/plugin where it is from. For example:\
\
An Emerald Sword from ItemsAdder would look like:\
\- "\[with] items\_adder:emerald\_sword"
{% endhint %}

## Example Table with Conditionals

```yaml
mobs:  
  PIG:
    tables:
      '1':
        table: money_table
        conditions:
          - '[permission] example.permission'
          - '[world] world'
          - '[with] DIAMOND_SWORD'
          - '[with] items_adder:emerald_sword'
          - '[biome] PLAINS'
```

***

## Weight Overrides

Along with conditionals, you can define a weight override for the loot table. If you have a collection of tables assigned to an entity, you may want to adjust the weight depending on how difficult it is to kill or its rarity.\
\
Let's say money\_table has a defined weight of 100 in loot.yml and you want to change it to 200 for Pigs.

```yaml
mobs:  
  PIG:
    tables:
      '1':
        table: money_table
        weight: 200
      '2':
        table: item_table
      '3':
        table: full_table
```

Just add a weight section and define it's new weight.


# Managing Multiplier Groups

## Understanding the Format

To start off, here's the format for group multipliers.

```yaml
multipliers:
  GROUP_NAME:
    weight: NUMBER
    mobs:
      - ENTITY MULTIPLIER # Decimals are supported.
    weapons:
      - MATERIAL MULTIPLIER
    worlds:
      - WORLD_NAME MULTIPLIER
```

**GROUP\_NAME** is the name of the group. This will be used in the permission node economobs.groups\<group\_name>.

**WEIGHT** is the weight of that group. The higher the number, the higher priority of that group.&#x20;

**MULTIPLIER** is the multiplier an entity, weapon, or world provides within that group.&#x20;

## Using the Format

When you fill this out, it should look something like this:

```yaml
 multipliers:
   legendary:
    weight: 5
    mobs:
      - PIG 1.1
    weapons:
      - DIAMOND_SWORD 1.2
    worlds:
      - real_world 1.2
```

Not all tags are required, you may remove any section if you don't wish to use it. For example, you can remove the "worlds" section from the group if you have no world-based multipliers.

```yaml
 multipliers:
   weight: 5
   legendary:
    mobs:
      - PIG 1.1
    weapons:
      - DIAMOND_SWORD 1.2
```

## Dealing With Multiple Groups

When you assign multiple ranks to a user, the plugin depends on the weights you have set to your groups. The higher the number the higher priority for the group over others.

By determining weight, such as the **default being 0**, and for example - **legendary being 5**; legendary has **higher priority** than default.


# 1.0.0 Tutorials


# Managing Rewards & Drop Weight

## Explanation

First, let's understand how the format works.

```yaml
mobs:
  ENTITY_TYPE: 
   - 'PAY WEIGHT' 
```

**ENTITY\_TYPE** would be something like PIG or COW. You can find a list of valid entities [here](https://hub.spigotmc.org/javadocs/spigot/org/bukkit/entity/EntityType.html).

**PAY** would be what the player would be paid if the roll lands.&#x20;

**WEIGHT** would be the distribution value (or chance) of that reward.&#x20;

{% hint style="info" %}
To explain weight further, a weight is a piece of distribution.\
\
When the plugin rolls and picks a reward, it uses a "total weight" - adding all the reward weights together.\
\
For example: A reward with a weight of 20 in a total weight of 200, means it will have a 10% chance of dropping said reward.\
\
These weight values **do not** need to be within a 100 total weight. Use this weight system to your advantage.
{% endhint %}

## Examples

```yaml
mobs:
  PIG:
   - '10' 
# $10 with a weight of 100, will always drop
```

{% hint style="info" %}
Values with no weight defined will assume **Weight = 100**
{% endhint %}

```yaml
mobs:
  PIG:
   - '10' # $10 with a weight of 100
   - '20' # $20 with a weight of 100 
   
# 200 total weight | each value is 50% chance
```

```yaml
mobs:
  PIG:
   - '10 80' # $10 with a weight of 80
   - '20 20' # $20 with a weight of 20 

# 100 total weight | $10 80% chance | $20 20% chance
```

```yaml
mobs:
  PIG:
   - '10 10' # $10 with a weight of 10
   - '20 5' # $20 with a weight of 5 
   
# 15 total weight BUT set to 100 | $10 10% chance | $20 5% chance | $0 85% chance
```

{% hint style="info" %}
Total weight under 100 will assume **Total Weight = 100**\
This allows nothing to be dropped.
{% endhint %}


# Econoblocks


# Installation & Dependencies

What you need to install the plugin.

## Download

You can download Econoblocks from Spigot and Songoda Marketplace.

## Version Support

**Econoblocks** only supports versions 1.8.8 and above. Support for 1.7 and below will most likely never be added.

## Dependencies

**Econoblocks** currently depends on Vault and an appropriate Economy Manager to fully function. Meaning, you must have it installed in order for the plugin to work.

Some other plugins you may add to enhance the experience:

* ItemsAdder
* Oraxen
* MMOItems
* TokenManager
* PlayerPoints
* DecentHolograms
* PlaceholderAPI


# Permissions & Commands

Lists of commands and permissions can be found here.

<table data-header-hidden><thead><tr><th width="234.4887892376682">Command</th><th>Permission</th><th>Description</th></tr></thead><tbody><tr><td>/econoblocks</td><td>default</td><td>Brings up an in-game help guide.</td></tr><tr><td>/econoblocks toggle</td><td>econoblocks.toggle</td><td>Toggles messaging features.</td></tr><tr><td>/econoblocks profile &#x3C;user></td><td>econoblocks.profile</td><td>Checks the multipliers of a user.</td></tr><tr><td>/econoblocks check &#x3C;block/custom> &#x3C;context</td><td>econoblocks.check</td><td>Checks the loot of a block.</td></tr><tr><td>/econoblocks multiplier add &#x3C;user> &#x3C;block/tool/world/custom_block/custom_tool> &#x3C;context> &#x3C;multiplier></td><td>econoblocks.multiplier</td><td>Adds a multiplier to a user.</td></tr><tr><td>/econoblocks multiplier remove &#x3C;user> &#x3C;block/tool/world/custom_block/custom_tool> &#x3C;context></td><td>econoblocks.multiplier</td><td>Removes a multiplier from a user.</td></tr><tr><td>/econoblocks reload</td><td>econoblocks.reload</td><td>Reloads the plugin.</td></tr><tr><td>All commands</td><td>econoblocks.admin</td><td>Grants all commands.</td></tr></tbody></table>

<table><thead><tr><th>Permission</th><th width="233.33333333333326">Description</th></tr></thead><tbody><tr><td>econoblocks.group.&#x3C;group></td><td>Adds a multiplier group to a user/group.</td></tr></tbody></table>

<table><thead><tr><th width="360">Placeholder</th><th>Description</th><th>Default Value</th></tr></thead><tbody><tr><td>%econoblocks_multiplier_block_&#x3C;block>%</td><td>Prints the players multiplier of a block.</td><td>1.0</td></tr><tr><td>%econoblocks_multiplier_tool_&#x3C;tool>%</td><td>Prints the players multiplier of a tool.</td><td>1.0</td></tr><tr><td>%econoblocks_multiplier_world_&#x3C;world>%</td><td>Prints the players multiplier of a world.</td><td>1.0</td></tr></tbody></table>


# Files

Default files for Econoblocks.

## Config

{% tabs %}
{% tab title="2.0.0" %}

```yaml
# Configuration of Econoblocks. For help, visit https://wiki.flrp.dev/
config-version: 6

# Allow the plugin to check for updates?
check-for-updates: true

# Gamemode settings.
gamemode:
  # Should people in creative mode get rewards?
  creative-rewards: false

# Message handling.
message:
  # Should the plugin send messages about money gained?
  enabled: true

  # How should the plugin display messages when a player is given money?
  # NOTE: Some options will only work with select versions. You can see which below.
  # OPTIONS: CHAT, ACTION_BAR (1.12+), HOLOGRAM (1.12+), TITLE (1.12+)
  message-type: CHAT

  # HOLOGRAMS
  # This will only work if you have holograms set as your type.
  holograms:
    # How long should the hologram stay? This is in seconds.
    duration: 1

  # This will only work if you have title set as your type.
  title:
    # How long should the title stay? This is in seconds.
    stay: 3
    # How long should the title fade in? This is in seconds.
    fade-in: 1
    # How long should the title fade out? This is in seconds.
    fade-out: 1
    # Naturally, the money message will be displayed in the subtitle.
    # You can change the title to whatever you want here. Placeholders are supported.
    title: "&a&lREWARD"

# The check system provides methods to help make sure players can't duplicate rewards.
checks:
  # This option uses SQLite. SQL support will come later.
  storage:
    # Should blocks be stored in a database? This will keep all block data across restarts. Setting this option to false will still keep track of blocks,
    # but they will NOT be saved across restarts.
    enabled: true
    # How long will blocks be stored for until they expire? This will help clear up space in the database.
    # To disable this, just set it to 0. This is in days.
    expiry: 3

# Hook management.
hooks:
  block:
    # Enable ItemsAdder support? This adds the ability to earn money from custom blocks.
    ItemsAdder: true
    # Enable Oraxen support? This adds the ability to earn money from custom blocks.
    Oraxen: true
  item:
    # Enable ItemsAdder support? This adds the ability to have multipliers for custom items.
    ItemsAdder: true
    # Enable Oraxen support? This adds the ability to have multipliers for custom items.
    Oraxen: true
    # Enable MMOItems support? This adds the ability to have multipliers for custom items.
    MMOItems: true

# Multiplier handling.
# Down below are configurable multiplier groups.
# When given permission, a user will gain specific multipliers.
# If any conditions are true, they will be considered towards the output amount.
# Make sure to balance this properly if you use multipliers. You can leave any category empty with [] if you wish not to use it.
multipliers:
  # econoblocks.group.example
  example:
    # Higher the number, heavier the group, higher priority.
    weight: 1
    # Specific block multipliers.
    blocks:
      - COAL_ORE 1.5
      - IRON_ORE 1.5
    # Specific tool multipliers.
    tools:
      - IRON_PICKAXE 1.05
      - GOLDEN_PICKAXE 1.1
      - DIAMOND_PICKAXE 1.2
    # The world the block was mined in.
    worlds:
      - real_world 1.1
  # More examples...
  coal:
    weight: 2
    tools:
      - IRON_PICKAXE 1.1
  diamond:
    weight: 3
    blocks:
      - DIAMOND_ORE 1.5
    tools:
      - IRON_PICKAXE 1.15

# A list of worlds where money won't be given.
world-blacklist:
  - world2
```

{% endtab %}

{% tab title="1.0.0" %}

```yaml
# Configuration of Econoblocks. For help, visit https://wiki.flrp.dev/
check-for-updates: true

# Gamemode settings.
gamemode:
  # Should people in creative mode get rewards?
  creative-rewards: false

# Message handling.
message:
  # Should the plugin send messages about money gained?
  enabled: true

  # How should the plugin display messages when a player is given money?
  # NOTE: Some options will only work with select versions. You can see which below.
  # OPTIONS: CHAT, ACTION_BAR (1.12+), HOLOGRAM (1.12+)
  message-type: CHAT

  # HOLOGRAMS
  # This will only work if you have holograms set as your type.
  holograms:
    # OPTIONS: STAY, FLOAT, BOUNCE
    animation: STAY
    # This option will affect animations.
    # How long should the hologram stay? This is in seconds.
    duration: 1

# The check system provides methods to help make sure players can't duplicate rewards.
checks:
  # This option uses SQLite. SQL support will come later.
  storage:
    # Should blocks be stored in a database? This will keep all block data across restarts. Setting this option to false will still keep track of blocks,
    # but they will NOT be saved across restarts.
    enabled: true
    # How long will blocks be stored for until they expire? This will help clear up space in the database.
    # To disable this, just set it to 0. This is in days.
    expiry: 3
    
# Hook management.
hooks:
  # Enable ItemsAdder support? This adds the ability to earn money from custom blocks.
  ItemsAdder: true
  
# Multiplier handling.
# Down below are configurable multiplier groups.
# When given permission, a user will gain specific multipliers.
# If any conditions are true, they will be considered towards the output amount.
# Make sure to balance this properly if you use multipliers. You can leave any category empty with [] if you wish not to use it.
multipliers:
  # econoblocks.group.example
  example:
    # Higher the number, heavier the group, higher priority.
    weight: 1
    # Specific block multipliers.
    blocks:
      - COAL_ORE 1.5
      - IRON_ORE 1.5
    # Specific tool multipliers.
    tools:
      - IRON_PICKAXE 1.05
      - GOLDEN_PICKAXE 1.1
      - DIAMOND_PICKAXE 1.2
    # The world the block was mined in.
    worlds:
      - real_world 1.1
  # More examples...
  coal:
    weight: 2
    tools:
      - IRON_PICKAXE 1.1
  diamond:
    weight: 3
    blocks:
      - DIAMOND_ORE 1.5
    tools:
      - IRON_PICKAXE 1.15

# A list of worlds where money won't be given.
world-blacklist:
  - world
```

{% endtab %}
{% endtabs %}

## Blocks

{% tabs %}
{% tab title="2.0.0" %}

```yaml
blocks:
  COAL_ORE:
    tables:
      '1':
        table: money_table
  DEEPSLATE_COAL_ORE:
    tables:
      '1':
        table: money_table
  COPPER_ORE:
    tables:
      '1':
        table: money_table
  DEEPSLATE_COPPER_ORE:
    tables:
      '1':
        table: money_table
  IRON_ORE:
    tables:
      '1':
        table: money_table
  DEEPSLATE_IRON_ORE:
    tables:
      '1':
        table: money_table
  GOLD_ORE:
    tables:
      '1':
        table: money_table
  DEEPSLATE_GOLD_ORE:
    tables:
      '1':
        table: money_table
  REDSTONE_ORE:
    tables:
      '1':
        table: money_table
  DEEPSLATE_REDSTONE_ORE:
    tables:
      '1':
        table: money_table
  LAPIS_ORE:
    tables:
      '1':
        table: money_table
  DEEPSLATE_LAPIS_ORE:
    tables:
      '1':
        table: money_table
  DIAMOND_ORE:
    tables:
      '1':
        table: money_table
  DEEPSLATE_DIAMOND_ORE:
    tables:
      '1':
        table: money_table
  EMERALD_ORE:
    tables:
      '1':
        table: money_table
  DEEPSLATE_EMERALD_ORE:
    tables:
      '1':
        table: money_table
  NETHER_QUARTZ_ORE:
    tables:
      '1':
        table: money_table
  NETHER_GOLD_ORE:
    tables:
      '1':
        table: money_table
  ANCIENT_DEBRIS:
    tables:
      '1':
        table: money_table
```

{% endtab %}

{% tab title="1.0.0" %}

```yaml
# Blocks.yml

# Format - "<amount> (chance)"
# Setting a chance is completely optional. Leaving it blank will set it to 100%.
blocks:
  COAL_ORE: 10
  IRON_ORE: 10
  GOLD_ORE: 100 30
  REDSTONE_ORE: 50 30
  LAPIS_ORE: 50 30
  DIAMOND_ORE: 100 20
  EMERALD_ORE: 200 10
```

{% endtab %}
{% endtabs %}

## Language

{% tabs %}
{% tab title="2.0.0" %}

```yaml
# New placeholders from v2 - OLD PLACEHOLDERS ARE NOT SUPPORTED ANYMORE.
# {base} prints out base amount.
# {multiplier} prints out multiplier.
# {block} prints out block name.
# {amount} prints out amount.
# {item} prints out item name.
# {effect} prints out potion effect given.
# {amplifier} prints out potion amplifier.
# {duration} prints out potion duration.
# {command} prints out command used.
# {weight} prints out weight.

# {loot} prints out the loot identifier.
# {loot_table} prints out the loot table identifier.
# {loot_prefix} prints out the loot prefix.

prefix: "&8[&6Econoblocks&8] "
command-denied: "&cYou do not have permission to run this command"

economy-given: "&7You've earned &f${amount} &7by mining {block}. &7&o({base} x {multiplier})"
economy-max: "&cYou can't earn more money due to a maximum balance."
item-given: "&7You have found &fx{amount} {item} &7by mining {block}."
custom-item-given: "&7You have found &fx{amount} {item} &7by mining {block}."
potion-given: "&7You have been enchanted with {effect} {amplifier} for {duration} seconds &7by mining {block}."
command-given: "&7Mining {block} caused &f{command} &7to be ran {amount} times."

reward-toggle: "&7Toggled messages."
```

{% endtab %}

{% tab title="1.0.0" %}

```yaml
# Language.yml

prefix: "&8[&6Econoblocks&8] "
command-denied: "&cYou do not have permission to run this command"
# {0} prints out the money made.
economy-given: "&7You've earned &f${0} &7by mining this block."
economy-max: "&cYou can't earn more money due to a maximum balance."
economy-failed: "&cUnable to add money to your balance."
economy-toggle: "&7Toggled income messages."
```

{% endtab %}
{% endtabs %}

## Loot

```yaml
tables:
  money_table:
    weight: 100
    drops:
      1:
        weight: 60
        type: ECONOMY
        from: VAULT
        min: 10
        max: 20
      2:
        weight: 30
        type: ECONOMY
        from: VAULT
        min: 20
        max: 30
      3:
        weight: 10
        type: ECONOMY
        from: VAULT
        min: 50
        max: 80
  item_table:
    weight: 100
    drops:
      1:
        weight: 500
        type: ITEM
        min: 1
        max: 1
        material: DIAMOND
      2:
        weight: 50
        type: ITEM
        material: DIAMOND_PICKAXE
        min: 1
        max: 1
        name: '&aDiamond Pickaxe'
        lore:
          - '&7This is a diamond pickaxe'
          - '&7that you got from mining a block.'
      3:
        weight: 10
        type: ITEM
        material: DIAMOND_PICKAXE
        name: '&aEnchanted Diamond Pickaxe'
        min: 1
        max: 1
        enchantments:
          - unbreaking:3
          - efficiency:3
          - fortune:3
        lore:
          - '&7This is an enchanted diamond pickaxe'
          - '&7that you got from mining a block.'
  full_table:
    weight: 100
    drops:
      '1':
        weight: 100
        type: ECONOMY
        from: VAULT
        min: 10
        max: 30
      '2':
        weight: 10
        type: ITEM
        min: 1
        max: 1
        material: DIAMOND
      '3':
        weight: 1
        type: ITEM
        material: DIAMOND_PICKAXE
        min: 1
        max: 1
        name: '&aDiamond Pickaxe'
        lore:
          - '&7This is a diamond pickaxe'
          - '&7that you got from mining a block.'
      '4':
        weight: 1
        type: CUSTOM_ITEM
        from: ITEMS_ADDER
        item: 'GOLD_FRAGMENT'
        min: 3
        max: 5
      '5':
        weight: 5
        type: POTION
        effect: SPEED
        amplifier: 1
        min: 80
        max: 120
      '6':
        weight: 10
        type: COMMAND
        min: 1
        max: 1
        command: 'give {player} diamond 1'
        message: '&7You have been given a diamond.'
```


# Frequently Asked Questions

## Group multipliers aren't recognized in ItemsAdder.yml

This is an issue from a generation issue from version 1.4.1 (Fixed in 1.4.2 - files generate correctly). To fix this issue, adjust your values as so:\
\
**INCORRECT**<br>

```yaml
multipliers:
  example:
    blocks:
      carved_wood_block: '1.2'
```

**CORRECT**

```yaml
multipliers:
  example:
    blocks:
    - carved_wood_block 1.2
```

For the plugin to be able to read the multipliers there should be no colons ( : ) or apostrophe ( ' )\
This rule applies for every other multiplier in the plugin.


# Tutorials


# Understanding Loot and Loot Tables

Explaining loot and loot tables

## Introduction

With 2.0.0 comes a huge expansion on the rewards system. Not only can you give rewards and have multipliers like usual, but you may now have items, commands, potion effects, and even custom items as loot.

Let's take a look at how loot tables are structured and made.

## Loot Table <a href="#loot-table" id="loot-table"></a>

Here's a bit of the default loot table **money\_table** that is generated with a fresh install of the plugin.

```yaml
money_table:
  weight: 100
  drops:
    '1':
      weight: 60
      type: ECONOMY
      from: VAULT
      min: 10
      max: 20
```

If you are experienced with Econoblocks it may seem familiar. Loot now has way more options for you to use and make your servers unique. Here is the breakdown and available options.

```yaml
TABLE_NAME:
  weight: 100
  drops:
    LOOT_ID:
      weight: 60
      type: ECONOMY
      from: VAULT
      min: 10
      max: 20
      message: Set custom message here
```

{% hint style="info" %}
Weight is a piece of distribution.

When the plugin rolls and picks an outcome, it uses "total weight" - adding all the reward weights together.&#x20;

For example: A reward with a weight of 20 in a total weight of 200, means it will have a 10% chance of dropping said reward.&#x20;

These weight values **do not** need to be within a 100 total weight. Use this weight system to your advantage.&#x20;

*When no weight is defined, it will assume 100 weight.* \
*When the total is under 100, this allows rewards to not be given.*
{% endhint %}

* TABLE\_NAME - name of the loot table. These must be unique across your tables; you will be using this name to assign your blocks loot tables.
* LOOT\_ID - id of the loot inside the table, these must be unique within the table. TYPE is the type of loot. This can be ECONOMY, ITEM, CUSTOM\_ITEM, POTION, or COMMAND
* FROM **-** where the loot is sourced from. When it comes to economy, this should be an Economy hook. When it comes to custom items, it should be a custom item hook.
* MIN and MAX - the ranges of the amount the loot will distribute.
* MESSAGE **-** sets a custom message for the loot. If not defined, the plugin will use the message in language.yml.

## Examples <a href="#examples" id="examples"></a>

Basic economy reward that will come from your server's main economy.

```yaml
example_table:
  weight: 100
  drops:
    '1':
      weight: 60
      type: ECONOMY
      from: VAULT
      min: 10
      max: 20
```

Item reward that drops an enchanted, named pickaxe.

```yaml
example_table:
  weight: 100
  drops:
    '1':
      weight: 10
      type: ITEM
      material: DIAMOND_PICKAXE
      name: "&aEnchanted Diamond Pickaxe"
      min: 1
      max: 1
      enchantments:
        - unbreaking:3
        - efficiency:3
        - fortune:3
      lore:
        - "&7This is an enchanted diamond pickaxe"
        - "&7that you got from mining a block."
```

Custom item reward that drops ruby shards from the plugin ItemsAdder.

```yaml
example_table:
  weight: 100
  drops:
    '1':
      weight: 10
      type: CUSTOM_ITEM
      from: ITEMS_ADDER
      item: RUBY_SHARD
      min: 3
      max: 5
```

Potion effect reward that gives you Speed 2.

```yaml
example_table:
  weight: 100
  drops:
    '1':
      weight: 5
      type: POTION
      effect: SPEED
      amplifier: 2
      min: 80
      max: 120
```

A reward that runs a command.

```yaml
example_table:
  weight: 100
  drops:
    '1':
      weight: 10
      type: COMMAND
      min: 1
      max: 1
      command: give {player} diamond 1
      message: "&7You have been given a diamond."
```


# Assigning Loot Tables

How to assign loot tables to blocks

## Introduction <a href="#introduction" id="introduction"></a>

With 2.0.0, the blocks.yml has completely changed and expanded. You now have to assign each block a loot table (or use the wildcard).

## Assignment <a href="#assignment" id="assignment"></a>

In blocks.yml, you can assign blocks multiple loot tables. Each bundle of Loot Tables makes a Loot Container, which you may see logged on startup. This is the format to assign loot tables to blocks.

This is the format to assign loot tables to blocks.

```yaml
blocks:  
  COAL_ORE:
    tables:
      '1':
        table: money_table
```

Every loot table that you define in this file should be an existing loot table in loot.yml. The plugin creates the loot tables, then assigns each loot table to their respective loot containers.

To list multiple tables, you can do something as simple as this.

```yaml
blocks:  
  COAL_ORE:
    tables:
      '1':
        table: money_table
      '2':
        table: item_table
      '3':
        table: full_table
```

### Wildcard Table (Default Loot Table) <a href="#wildcard-table-default-loot-table" id="wildcard-table-default-loot-table"></a>

This table is not enabled by default, and it is something you have to add in to enable. This option allows you to easily assign a set of tables for blocks that share the same loot tables to avoid redundancy. Here is how it should be structured:

```yaml
default:
  tables:
    '1':
      table: money_table
```

In blocks.yml (or any hook file that supports table assigning) you should make a new section that starts with default. **This does not go in the list of blocks; this is its own section.**

You can add exclusions to the list as well, if you do not want a block to have any drops at all.

```yaml
default:
  tables:
    '1':
      table: money_table
  excludes:
    - 'STONE'  
```

### Example File <a href="#example-file" id="example-file"></a>

```yaml
default:
  tables:
    '1':
      table: money_table
  excludes:
    - 'STONE'  
blocks:  
  COAL_ORE:
    tables:
      '1':
        table: money_table_2
  OAK_LOG:
    tables:
      '1':
        table: money_table_2
```


# Loot Table Conditionals and Overrides

Advanced loot customization with conditionals and overrides

## Introduction <a href="#introduction" id="introduction"></a>

You can expand on loot tables with conditionals. These allow you to have certain drops in certain areas, or if a block was broken with a specific item, and more. Weight overrides allow you to dynamically adjust the drop rate.

## Adding Conditionals <a href="#adding-conditionals" id="adding-conditionals"></a>

Adding conditionals to a loot table is relatively simple. To assign conditionals, you have to do it when you assign tables to blocks. This allows you to flexibly control where conditionals are. Below where you define the table for that entry, below you put the conditions section. Then you list all the conditions the table should have. For example:

```yaml
blocks:  
  STONE:
    tables:
      '1':
        table: money_table
        conditions:
          - '[permission] example.permission'
```

To clarify, you simply list what type of condition it is and then the context.

```yaml
conditions:
  - "[type] context"
```

The list of supported conditionals is:

* Permission - The player needs a permission.
* World - The player needs to be in a specific world.
* With - The player needs to break a block with a certain item.
* Biome - The player needs to be in a specific biome.

{% hint style="info" %}
When using the \[with] conditional, if you decide to use a custom item - be sure to include the hook/plugin where it is from.&#x20;

For example: An Emerald Pickaxe from ItemsAdder would look like:&#x20;

\- "\[with] items\_adder:emerald\_pickaxe"
{% endhint %}

### Example Table with Conditionals <a href="#example-table-with-conditionals" id="example-table-with-conditionals"></a>

```yaml
blocks:  
  COAL_ORE:
    tables:
      '1':
        table: money_table
        conditions:
          - '[permission] example.permission'
          - '[world] world'
          - '[with] DIAMOND_PICKAXE'
          - '[with] items_adder:emerald_pickaxe'
          - '[biome] PLAINS'
```

***

### Weight Overrides <a href="#weight-overrides" id="weight-overrides"></a>

Along with conditionals, you can define a weight override for the loot table. If you have a collection of tables assigned to a block, you may want to adjust the weight depending on how difficult it is to mine or its rarity. Let's say money\_table has a defined weight of 100 in loot.yml and you want to change it to 200 for Deepslate Diamonds.

Copy

```yaml
blocks:  
  DEEPSLATE_DIAMOND_ORE:
    tables:
      '1':
        table: money_table
        weight: 200
      '2':
        table: item_table
      '3':
        table: full_table
```

Just add a weight section and define it's new weight.


# Managing Multiplier Groups

## Understanding the Format

To start off, here's the format for group multipliers.

```yaml
multipliers:
  GROUP_NAME:
    weight: NUMBER
    blocks:
      - MATERIAL MULTIPLIER # Decimals are supported.
    tools:
      - MATERIAL MULTIPLIER
    worlds:
      - WORLD_NAME MULTIPLIER
```

{% hint style="warning" %}
Don't be confused by double materials. A material can pretty much be anything that's not an entity. Diamonds are materials. Tools are materials. Blocks (types) are materials. Pretty much anything that can be in your hot bar is a material/has a material name.
{% endhint %}

When you fill this out, it should look something like this:

```yaml
multipliers:
  coal:
    weight: 1
    blocks:
      - COAL_ORE 1.2 # Decimals are supported.
    tools:
      - STONE_PICKAXE 1.2
    worlds:
      - real_world 1.5
```

Not all tags are required, you may remove any section if you don't wish to use it. For example, you can remove the "worlds" section from the group if you have no world-based multipliers.

```yaml
multipliers:
  coal:
    weight: 1
    blocks:
      - COAL_ORE 1.2 # Decimals are supported.
    tools:
      - STONE_PICKAXE 1.2
```

## Dealing with Multiple Groups

When you assign multiple ranks to a user, the plugin depends on the weights you have set to your groups. The higher the number the higher priority for the group over others.

By determining weight, such as the **default being 0**, and for example - **coal being 1**; coal has **higher priority** than default.


# 1.0.0 Tutorials


# Managing Rewards & Drop Weight

## Explanation

First, let's understand how the format works.

```yaml
mobs:
  BLOCK: 
   - 'PAY WEIGHT' 
```

**BLOCK** would be something like STONE or COAL\_ORE. You can find a list of valid blocks [here](https://hub.spigotmc.org/javadocs/spigot/org/bukkit/Material.html).

**PAY** would be what the player would be paid if the roll lands.&#x20;

**WEIGHT** would be the distribution value (or chance) of that reward.&#x20;

{% hint style="info" %}
To explain weight further, a weight is a piece of distribution.\
\
When the plugin rolls and picks a reward, it uses a "total weight" - adding all the reward weights together.\
\
For example: A reward with a weight of 20 in a total weight of 200, means it will have a 10% chance of dropping said reward.\
\
These weight values **do not** need to be within a 100 total weight. Use this weight system to your advantage.
{% endhint %}

## Examples

```yaml
blocks:
  COAL_ORE:
   - '10' 
# $10 with a weight of 100, will always drop
```

{% hint style="info" %}
Values with no weight defined will assume **Weight = 100**
{% endhint %}

```yaml
blocks:
  COAL_ORE:
   - '10' # $10 with a weight of 100
   - '20' # $20 with a weight of 100 
   
# 200 total weight | each value is 50% chance
```

```yaml
blocks:
  COAL_ORE:
   - '10 80' # $10 with a weight of 80
   - '20 20' # $20 with a weight of 20 

# 100 total weight | $10 80% chance | $20 20% chance
```

```yaml
blocks:
  COAL_ORE:
   - '10 10' # $10 with a weight of 10
   - '20 5' # $20 with a weight of 5 
   
# 15 total weight BUT set to 100 | $10 10% chance | $20 5% chance | $0 85% chance
```

{% hint style="info" %}
Total weight under 100 will assume **Total Weight = 100**\
This allows nothing to be dropped.
{% endhint %}


# TrackerPlus


# Installation & Dependencies

## Download

You can buy and download Tracker+ from [Craftaro](https://craftaro.com/marketplace/product/trackerplus.383) | [SpigotMC](https://www.spigotmc.org/resources/tracker.108425/) | [BuiltByBit](https://builtbybit.com/resources/trackerplus.19509/) | [Polymart](https://polymart.org/resource/tracker.562)

## Version Support

Tracker only supports versions 1.8.8 and above. Support for 1.7 and below will most likely never be added.

## Dependencies

Tracker **requires** [Item-NBT-API](https://github.com/tr7zw/Item-NBT-API) to function. The plugin will not load if it isn't present on the server.

## Supports & Hooks

* WildStacker (Allows for accurate tracking for killing stacks of mobs)
* StackMob (Allows for accurate tracking for killing stacks of mobs)


# Permissions & Commands

| Command                 | Permission         | Description                                                    |
| ----------------------- | ------------------ | -------------------------------------------------------------- |
| /tracker                | Default            | Brings up an in-game help guide.                               |
| /tracker progress       | tracker.progress   | Displays the progress for the tools current goal if available. |
| /tracker milestones     | tracker.milestones | Displays all the milestones for the current held tool.         |
| /tracker reload         | tracker.admin      | Reloads the plugin.                                            |
| /tracker give \<player> | tracker.admin      | Gives a player a tracker module.                               |


# Files

The default files by Tracker.

```yaml
# config.yml

# What stacker should the plugin look for?
# Current list: NONE, WILDSTACKER, STACKMOB
stacker: NONE

# Everything dealing with the counter process.
counter:
  # The tag that will appear on the items display.
  tag: "&8[&7%stats%&8]"

  # Enable formatting the counter tag? Ex. 1234 will turn into 1.23k
  format:
    enabled: false

  # Sounds that will play on mine or kill.
  sounds:
    enabled: true
    sound: BLOCK_NOTE_BLOCK_BELL

  # Are milestones enabled?
  milestones:
    enabled: true

# List of tools that will be applied to either block breaking or killing an entity.
# Adding an item in both lists will share the counter tag.
stats:
  # Is block tracking enabled?
  blocks:
    enabled: true
    list:
      - WOODEN_PICKAXE
      - WOODEN_AXE
      - WOODEN_SHOVEL
      - STONE_PICKAXE
      - STONE_AXE
      - STONE_SHOVEL
      - IRON_PICKAXE
      - IRON_AXE
      - IRON_SHOVEL
      - GOLDEN_PICKAXE
      - GOLDEN_AXE
      - GOLDEN_SHOVEL
      - DIAMOND_PICKAXE
      - DIAMOND_AXE
      - DIAMOND_SHOVEL
      - NETHERITE_PICKAXE
      - NETHERITE_AXE
      - NETHERITE_SHOVEL

  kills:
    # Is kill tracking enabled?
    enabled: true
    list:
      - WOODEN_SWORD
      - STONE_SWORD
      - IRON_SWORD
      - GOLDEN_SWORD
      - DIAMOND_SWORD
      - NETHERITE_SWORD

# This module allows your players to get a tracker enchantment book; which
# can be applied to allow tracking on the item.
# NOTE: Enabling this module will only track tools that have the module.
module:
  # Is this module enabled?
  enabled: false

  # Sounds related to module events.
  sounds:
    enabled: true
    receive: BLOCK_NOTE_BLOCK_BELL
    fail: BLOCK_ANVIL_LAND
    success: BLOCK_NOTE_BLOCK_BELL

  # This section represents the enchantment item.
  item:
    material: NETHER_STAR
    title: "&a&lTracker Module"
    lore:
      - "&7Add an objective tracker on your tool."
      
# This section is for limiting he max value an enchant can be upgraded to.
# Remember to use the proper names for the minecraft version.
limits:
  enchantments:
    - looting:10
```

```yaml
# milestones.yml (previously goals.yml)

# Tool type examples: ALL (For all tools), EVERY_PICKAXE (Only Pickaxes), DIAMOND_PICKAXE (Only this tool)
# Specifying a type other than ALL will bypass it.
# Priorities Example (Highest to Lowest) : DIAMOND_PICKAXE -> EVERY_PICKAXE -> ALL
# Head over to https://docs.axelli.net/ to see more info.
milestones:
  DIAMOND_PICKAXE:
    # Happens only when x amount of blocks is reached.
    once:
      # The amount of blocks
      1000:
        # Console Commands that will run.
        commands:
          - "eco give %player% 1000"
        # The enchants that will be added or buffed.
        enchants:
          - efficiency:1
      10000:
        # You can leave options out if you want.
        enchants:
          - efficiency:2
    # Happens every x amount of blocks.
    interval:
      5000:
        commands:
          - "eco give %player% 1000"
        enchants:
          - efficiency:1
  EVERY_SWORD:
    once:
      1000:
        commands:
          - "eco give %player% 1000"
        enchants:
          - sharpness:1
          - unbreaking:1
  EVERY_AXE:
    interval:
      1000:
        commands:
          - "eco give %player% 1000"
  ALL:
    interval:
      1000:
        enchants:
          - unbreaking:1
```

```yaml
# language.yml

# Head over to https://docs.axelli.net/ and see what the values print.
prefix: "&8[&cTrackerPlus&8] "
tool_not_supported: "&cThis item can't be used for tracking."
# Boolean values if reached or not.
milestone-not-reached: "&c&lNOT REACHED"
milestone-reached: "&a&lREACHED"
# 0 - Prints amount needed
# 1 - Type of unit (kills or blocks)
current-milestone: "&7The current milestone for this tool is &f{0} &7{1}."
no-milestones-left: "&7This tool has reached all it's milestones."
no-milestones-exist-total: "&cThis tool doesn't have any milestones it can achieve for it's total amount."
no-milestones-exist: "&cThis tool doesn't have any milestones it can achieve."
# 0 - Prints amount needed
# 1 - Type of unit (kills or blocks)
# 2 - REACHED or NOT REACHED
milestone-once-header: "&cOnce"
milestone-once-entry: "&8- &7Reach a total of &f{0} &7{1} &8|&r {2}"
milestone-interval-header: "&cRepeating"
milestone-interval-entry: "&8- &7Every &f{0} &7{1}"
# 0 - prints entry
milestone-list:
  - "&c&lMILESTONES"
  - "&7The current milestones for this tool are:"
  - "&7"
  - "{0}"
# 0 - prints the milestone amount
# 1 - Type of unit (kills or blocks)
milestone-achieved-once: "&7You reached &f{0} &7{1}! Here are some rewards for reaching this milestone."
milestone-achieved-interval: "&7You hit another &f{0} &7{1}! Here are some rewards for reaching this milestone."
# 0 - prints level
# 1 - prints enchant
milestone-reward-entry: " &c+{0} &l{1}"
# 0 - prints the list of enchants applied
milestone-reward-list:
  - "&7Your tool has received the following:"
  - "{0}"
  - "&7"
module-give-player: "&7You successfully gave &f{0} &7a Tracker Module."
module-received: "&7You received a &fTracker Module&7."
module-applied: "&aYou successfully applied a Tracker Module to this tool."
module-exists: "&7A Tracker Module already exists on this item."
```

```yaml
# whitelist.yml

# Use a valid name according to your server version.
# To disable whitelisting, just use [].
blocks:
  - "STONE"
  - "COBBLESTONE"
  - "DEEPSLATE"
  - "COPPER_ORE"
  - "DEEPSLATE_COPPER_ORE"
  - "COAL_ORE"
  - "DEEPSLATE_COAL_ORE"
  - "IRON_ORE"
  - "DEEPSLATE_IRON_ORE"
  - "REDSTONE_ORE"
  - "DEEPSLATE_REDSTONE_ORE"
  - "LAPIS_ORE"
  - "DEEPSLATE_LAPIS_ORE"
  - "GOLD_ORE"
  - "DEEPSLATE_GOLD_ORE"
  - "DIAMOND_ORE"
  - "DEEPSLATE_DIAMOND_ORE"
  - "EMERALD_ORE"
  - "DEEPSLATE_EMERALD_ORE"
  - "NETHER_QUARTZ_ORE"
  - "NETHER_GOLD_ORE"
  - "ANCIENT_DEBRIS"
mobs: []
```


# Frequently Asked Questions

Questions you and other people may have.

## Q: Why are my enchants being wiped when a goal is reached?

**A: You have an invalid enchantment in milestones.yml.** The default configuration is built for 1.19.3, so you need to use enchants that are valid for your server version.\
\
For example, efficiency would be:\
**1.8** DIG\_SPEED:1\
**1.16** efficiency:1\
\
Use the Bukkit names for 1.8-1.12\
Use the actual names for 1.13+

## Q: Why is the tracker getting stuck?

A: For the same reason listed above!


# Tutorials

A coillection of tutorials for Tracker

## Don't see what you're looking for? Suggest it at our discord.


# Creating a Reward

## Understanding the Format

This is a general explanation of what each section means and does.

```yaml
# MATERIAL - You know, something like DIAMOND_SWORD.
# MILESTONE_TYPE - This can either be once or interval. 
#     Once are ONE TIME rewards, interval happens every x blocks.
# AMOUNT - the amount of blocks or kills needed for this reward.
# REWARD_TYPE - This can either be commands: or enchants:
#
# for example:
# enchants:
#    - sharpness:1

milestones:
    <MATERIAL>:
        <MILESTONE_TYPE>:
            <AMOUNT>:
                <REWARD_TYPE>:
                    - "context"
```

{% hint style="info" %}
These values are for 1.13+. Please use the correct values for anything below that version.
{% endhint %}

## Diamond Pickaxe Example Reward

Lets make a reward for a diamond pickaxe, that gives a player 100 bucks and efficiency on their pickaxe when they reach 100 blocks.

```yaml
milestones:
    DIAMOND_PICKAXE: # <- Material
        once: # <- Since we want to give the player rewards when they hti 100 blocks,
              # we will use once since it's a one time thing.
            100: # <- the 100 blocks we want the player to reach.
                commands: # <- The commands that will run
                    - "eco give %player% 100" # <- give the player 100 bucks.
                enchants: # <- the enchantments that will apply to the item
                    - effeciency:1 # <- give the tool efficiency.
```

## Reward That Applies to Every Sword

This time, lets make a reward that applies to every sword available. The reward will give the player $100 for every 50 mobs they kill.

```yaml
milestones:
    EVERY_SWORD: # <- EVERY_ keyword.
        interval: # <- Since we want to give the player rewards each time they kill 
              # 50 mobs, we will use interval since it's repeating.
            50: # <- the 50 kills we want the player to reach.
                commands: # <- The commands that will run
                    - "eco give %player% 100" # <- give the player 100 bucks.
```

{% hint style="info" %}
The EVERY\_ keyword will work with most tool types.
{% endhint %}


# Challenges


