Configuration
This page has extensive information on how to configure the different aspects of the plugin. All default files in the plugin come with thorough comments to help get you started configuring. This page will break down the sections of the config for more in-depth of what they do and help. Some text may have annotations you can click on for more info, others may have comments that you can also read. To just view default files view here.
Main Config
The first file to look over is the main file config.yml
. This just contains basic options
that apply throughout the plugin.
config.yml | |
---|---|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
|
-
This represents the chance out of 100 of getting a custom reward. This means if this is set to 100, then every catch will be a custom fishing reward.
-
This is the amount of experience points to give when NOT FINDING A CUSTOM REWARD.
Reward Config
Each custom reward is defined in it's own unique file in the /rewards
directory. This section will
go over each section in the reward config.
demo_reward.yml
###################################################################
# A custom reward that can be caught by fishing. #
# This files defines all the options for a specific reward #
# identified by 'Name'. Change the options here as you like #
# to make your own reward. To add more than one catchable reward, #
# copy this file and then change the options to your liking. #
# #
# Any queries join our discord at https://discord.gg/DbJXzWq #
###################################################################
# Placeholders
# {player} : The player's name
# The name or identifier of the reward. Make it something
# relating to what the reward is.
name: "Demo Reward"
# A list of commands to run when this reward is caught.
commands:
- "msg {player} demo"
# List of custom item rewards, leave the list blank
# if you don't want any custom items or remove this section
items:
# The section for an item
sword:
# Chance out of 100 of getting this reward
chance: 100
# The custom display name of the item.
# If an empty string has no custom name
item-name: "&a&lMy Custom Sword"
# The lore of the item. Set to null for no lore
lore:
- "&7Made from CustomFishing!"
# The amount of this item
amount: 1
# The material of the item
material: DIAMOND_SWORD
# If has custom model data
model-data: 0
# A list of enchants as "ENCHANT:LEVEL". Set to null for no enchants
enchants:
- "SHARPNESS:5"
# If the item appears as glowing like it's enchanted
glowing: false
# If the item is unbreakable
unbreakable: false
# If to hide flags like unbreakable and enchants
hide-flags: false
# A list of messages to send the player when this reward is caught.
messages:
- '&7&l(!) &aYou found an awesome sword!'
# A list of messages to broadcast to the server when this reward is caught.
broadcasts:
- '&4&l(!) &c{player} &7found a &c&lLEGENDARY &7reward!'
# Title to send to the player. Leave blank if none.
title: "&a&lYou found a reward"
# Subtitle to send to the player. Leave blank if none.
sub-title: "&7&oFound: Sword"
# The weight (chance) of this reward being found. The higher the weight
# the more likely it is to be caught.
weight: 4.5
# If the player should still receive default minecraft rewards.
# This means fish, enchanted books, enchanted items etc.
# If set to false only the custom reward will be given
vanilla-rewards: false
# The amount of experience to give the player
# as a range, the "x to y" meaning from x to y (inclusive)
# Can just be a singular number
exp-amount: "1 to 6"
# The sound to play when this reward is caught. Leave blank
# for no sound
sound: ENTITY_FIREWORK_ROCKET_TWINKLE
# Requirements if the player can find this reward
requirements:
# Check if the player has a certain permission
permission:
type: permission
value: "customfishing.vip"
Placeholders
The placeholders, formatted as {placeholder}
, can be used anywhere in the config and will be replaced with the appropriate value.
{player}: The player's name
Name
This is simply the name of this reward. It is used as an identifier to tell rewards apart, isn't used in the actual physical or virtual reward.
name: "Demo Reward"
Commands
A list of commands that will be executed by the CONSOLE when the player finds this reward. For example, you can use the placeholder {player}
to use the player's name. If this list is empty or set to null it won't execute any commands. This means you can remove this option from the config and no commands will be loaded.
commands:
- "msg {player} demo"
Items
A list of custom items are defined each by the options under a key. For example, here the options are set under "sword:", you can add as many you like under the "items:" key.
items:
sword:
chance: 100 # (1)
item-name: "&a&lMy Custom Sword" # (2)
lore: # (3)
- "&7Made from CustomFishing!"
amount: 1 # (4)
material: DIAMOND_SWORD # (5)
model-data: 0 # (6)
enchants: # (7)
- "SHARPNESS:5"
glowing: false # (8)
unbreakable: false # (9)
hide-flags: false # (10)
damage: 0 # (11)
-
This is the chance that if this reward is found this particular item will be given. These chances are independent of other items so if two items have a chance of 75, a calculation of 75 out of 100 will be calculated for each item.
-
This is the custom display name of the item. If set to a blank string or set to null then no custom name will be used.
-
This is the custom lore for the item. If the list is empty or set to null then no custom lore will be used.
-
This is the amount of this item to give to the player.
-
The material enum to use for the item. Can be found here
-
If this item should have custom model data for texture packs then set that here. If set to null then this won't be set.
-
These are the enchants to apply to the item. They are defined as ENCHANT_ENUM:LEVEL, if the enchant defined is invalid then that enchant won't be applied. If the list is empty or set to null then no enchants will be used. All the available enchant enums can be found here
-
A simple option to make the item have the enchanted glowing effect but any actual enchantments. Will automatically make the
hide-flags
option true. -
If this item cannot be broken and does not use up durability.
-
This indicates that flags such as enchants and unbreakable flags will not be displayed on the item.
-
Damage to the item (for durability). Remaining durability is (durability of item - damage).
Broadcasts
A set of broadcasts to send to every online member. If this list is empty or set to null it won't send any messages. This means you can remove this option from the config and no broadcasts will be loaded.
broadcasts:
- '&4&l(!) &c{player} &7found a &c&lLEGENDARY &7reward!'
Titles
Titles to send to the player when they find this reward. title
must be set in order for the sub-title
to also work. If either is an empty string or null its message will be treated as unset.
title: "&a&lYou found a reward"
sub-title: "&7&oFound: Sword"
Weight
This is the weight (chance) that this item has to be found out of all rewards that meet the player's requirements. How this works is it adds all the chances from rewards that can be found. For instance, if there are 3 rewards with a weight of 10, 2 with a weight of 3, and 1 with a weight of 0.5, the total is 36.5. So for the reward with weight 3, it has a 3/36.5 chance of being picked.
weight: 4.5
Vanilla Rewards
This is if the default vanilla fishing loot table will also reward something when this reward is found. For example, if this is set to 'true', if you find a reward it will also give you a fish item or enchantment book etc. If it is set to 'false', then only a custom reward will be given and no default fishing rewards from vanilla.
vanilla-rewards: false
Experience Amount
This is the number of experience points to award the player when they find this reward. The default vanilla is from 1 to 6. The format for this is as a range, from one number to another. This is formatted as {number} to {number}
. It can also be a singular number in which case that amount of experience will be rewarded every time. If this is set to null then no experience will be rewarded.
exp-amount: "1 to 6"
Sound
This is the sound that is played for the player when they find this reward. These can be found here. If this is set to null then no sound will be played.
sound: ENTITY_FIREWORK_ROCKET_TWINKLE
Requirements
Fishing rewards can have certain requirements to set where they can be found. You can use PlaceholderAPI placholders for the player catching the reward here. They are defined with the following format below and then each type will be expained.
requirement:
type: <REQUIREMENT TYPE> # (1)
value: <FIRST INPUT> # (2)
input: <SECOND INPUT> # (3)
-
This is where you specify the type of requirement check.
-
This is the first input value. This is at least needed for every type.
-
This is the secondary input value. Only some types need it and it is for more comparision checks like numbers or strings.
For a reward you can have multiple requirements by denoting each with an identifier like so.
requirements:
requirement1:
type: <REQUIREMENT TYPE>
value: <FIRST INPUT>
input: <SECOND INPUT>
requirement2:
type: <REQUIREMENT TYPE>
value: <FIRST INPUT>
input: <SECOND INPUT>
You can also have an inverted requirement type which means it checks if the condition is NOT TRUE, if so the
requirement passes. This can be done by adding 'not ' infront of the requirement type like so. Make sure there
is a space between not
and the requirement type.
requirement:
type: not <REQUIREMENT TYPE>
value: <FIRST INPUT>
input: <SECOND INPUT>
Permission
This checks if the player has the given permission.
requirement:
type: permission
value: <permission to check>
Region
This checks if the player is in a given WorldGuard region.
requirement:
type: region
value: <region to check>
Experience
This checks if the player has at least a certain amount of experience points.
requirement:
type: exp
value: <experience points>
Near
This checks if the player is within range of certain coordinates.
The format for location
is worldname,x,y,z
requirement:
type: near
value: <location>
input: <distance>
Near
This checks if the player is in a certain world.
requirement:
type: world
value: <world_name>
String Equals
This checks if a certain string is exactly equal to another. Pass in values through PlaceholderAPI.
requirement:
type: string equals
value: <input string>
input: <string to compare to>
String Equals Ignorecase
This checks if a certain string is equal to another ignoring case. Pass in values through PlaceholderAPI.
requirement:
type: string equals ignorecase
value: <input string>
input: <string to compare to>
String Contains
This checks if a certain string contains another string. Pass in values through PlaceholderAPI.
requirement:
type: string contains
value: <input string>
input: <string to see if contains>
Regex
This checks if a regular expression matches the given text.
requirement:
type: regex
value: <the string to match with>
input: <the regex expression>
Comparison Operators
This checks how certain numbers compare to each other. Avaiable operations are ==, >=, <=, !=, >, <
.
Pass in values through PlaceholderAPI.
requirement:
type: ==, >=, <=, !=, >, <
value: <first number to check>
input: <second number to check>