### Promotion Configuration Example
Source: https://nightexpressdev.com/excellentjobs/contracts/contract-settings
Example YAML configuration for the Promotion section, defining duration, cooldown, goal points, and reward commands/messages.
```yaml
Promotion:
Enabled: true
Duration:
Enabled: true
Value: 2w
Cooldown:
Enabled: true
Value: 3d
Goal:
Contract-Points: 2500
Reward-Commands:
- money give %player_name% 15000
- lp user %player_name% permission set excellentjobs.contracts.contract.advanced.%job_id% true
Reward-Messages:
- You have unlocked Advanced contract for your %job_name% job!
```
--------------------------------
### InfiniteFishing objective example
Source: https://nightexpressdev.com/excellentjobs/integrations/infinite-fishing
Example objective configuration using the InfiniteFishing entry format 'infinitefishing:name: params'. The 'Sources' field uses the fish name 'tuna' with parameters for JobXP, Income, ContractPoints, and Probability.
```yaml
Type: fishing_items
Sources:
infinitefishing:tuna: 'JobXP 1.2~1.8 ; Income 0.04~0.06 ; ContractPoints 0.008~0.012 ; Probability 100.0~100.0 ; '
```
--------------------------------
### Objective configuration example (example_objective.yml)
Source: https://nightexpressdev.com/excellentjobs/grinding/objectives
Example objective configuration for a mining job. The objective ID is derived from the file name (e.g., `miner_break_block.yml` becomes `miner_break_block`). Each source entry uses the format `source: property1 min~max ; property2 min~max`, with `~` as the number separator and `;` as the parameter separator.
```yaml
Type: mining
Sources:
minecraft:stone: 'JobXP 1.2~1.8 ; Income 0.04~0.06 ; ContractPoints 0.008~0.012 ; Probability 100.0~100.0 ; '
minecraft:cobblestone: 'JobXP 1.2~1.8 ; Income 0.04~0.06 ; ContractPoints 0.008~0.012 ; Probability 100.0~100.0 ; '
minecraft:deepslate: 'JobXP 1.4~2.2 ; Income 0.05~0.07 ; ContractPoints 0.012~0.018 ; Probability 100.0~100.0 ; '
minecraft:sandstone: 'JobXP 1.0~1.4 ; Income 0.03~0.05 ; ContractPoints 0.008~0.012 ; Probability 100.0~100.0 ; '
minecraft:netherrack: 'JobXP 0.6~1.0 ; Income 0.01~0.03 ; ContractPoints 0.004~0.006 ; Probability 100.0~100.0 ; '
minecraft:andesite: 'JobXP 1.6~2.4 ; Income 0.08~0.12 ; ContractPoints 0.016~0.024 ; Probability 100.0~100.0 ; '
minecraft:diorite: 'JobXP 1.6~2.4 ; Income 0.08~0.12 ; ContractPoints 0.016~0.024 ; Probability 100.0~100.0 ; '
minecraft:granite: 'JobXP 1.6~2.4 ; Income 0.08~0.12 ; ContractPoints 0.016~0.024 ; Probability 100.0~100.0 ; '
minecraft:tuff: 'JobXP 1.6~2.4 ; Income 0.08~0.12 ; ContractPoints 0.016~0.024 ; Probability 100.0~100.0 ; '
minecraft:terracotta: 'JobXP 1.4~2.2 ; Income 0.05~0.07 ; ContractPoints 0.012~0.018 ; Probability 100.0~100.0 ; '
minecraft:basalt: 'JobXP 1.8~2.6 ; Income 0.1~0.14 ; ContractPoints 0.02~0.03 ; Probability 100.0~100.0 ; '
minecraft:blackstone: 'JobXP 1.8~2.6 ; Income 0.1~0.14 ; ContractPoints 0.02~0.03 ; Probability 100.0~100.0 ; '
minecraft:calcite: 'JobXP 2.0~3.0 ; Income 0.12~0.18 ; ContractPoints 0.024~0.036 ; Probability 100.0~100.0 ; '
minecraft:end_stone: 'JobXP 2.0~3.0 ; Income 0.12~0.18 ; ContractPoints 0.024~0.036 ; Probability 100.0~100.0 ; '
minecraft:prismarine_bricks: 'JobXP 2.4~3.6 ; Income 0.16~0.24 ; ContractPoints 0.032~0.048 ; Probability 100.0~100.0 ; '
minecraft:ice: 'JobXP 0.8~1.2 ; Income 0.04~0.06 ; ContractPoints 0.008~0.012 ; Probability 100.0~100.0 ; '
minecraft:blue_ice: 'JobXP 3.2~4.8 ; Income 0.2~0.3 ; ContractPoints 0.04~0.06 ; Probability 100.0~100.0 ; '
minecraft:frosted_ice: 'JobXP 0.0~0.0 ; Income 0.0~0.0 ; ContractPoints 0.0~0.0 ; Probability 100.0~100.0 ; '
```
--------------------------------
### Zone Behavior Example (zone_example.yml)
Source: https://nightexpressdev.com/excellentjobs/zones/zone-settings
Configures zone behavior: permission requirement, PvP, disabled block interactions, requirements, and grind multipliers. Renewable blocks are defined with materials, fallback material, reset time, and drop items.
```yaml
Behavior:
Permission_Required: false
PvP-Allowed: false
Disabled-Block-Interactions:
- 'minecraft:chest'
Requirements:
Mode: ANY_JOB
List:
allowed-job-ids: [miner, lumberjack]
job_level:
min: 5
max: 25
Grind:
Multipliers:
XP: 1.0
INCOME: 1.0
CONTRACT_POINTS: 1.0
PROBABILITY: 1.0
Renewable-Blocks:
logs: # custom name for block list configuration
Materials:
- 'minecraft:oak_log'
- 'minecraft:spruce_log'
- 'minecraft:birch_log'
Fallback_Material: 'stripped_oak_log'
Reset_Time: 360
Drop_Items: true
```
--------------------------------
### Zone Definition Example (zone_example.yml)
Source: https://nightexpressdev.com/excellentjobs/zones/zone-settings
Defines the zone's display name, description, and icon. The icon uses the material minecraft:oak_log and an empty lore list.
```yaml
Definition:
Name: Wood
Description:
- 'A basic zone with logs for lumberjacks.'
Icon:
Material: minecraft:oak_log
Lore: []
```
--------------------------------
### Job Level Requirement Example
Source: https://nightexpressdev.com/excellentjobs/zones/zone-settings
Restricts zone access to players whose job level is between min and max. The example sets a range from 0 to 30.
```yaml
Requirements:
List:
job_level:
min: 0
max: 30
```
--------------------------------
### Protection Module Configuration
Source: https://nightexpressdev.com/excellentjobs/grinding/abuse-protection
Example configuration for the Protection section in the main module file, defining limits, forbidden actions, and world restrictions.
```yaml
Protection:
Track-Player-Blocks: true
Prevent-In-Worlds:
- your_world_name
- custom_world
Prevent-In-Creative: true
Artifical-Mob-Spawns:
- SPAWNER
- TRIAL_SPAWNER
- EGG
- SPAWNER_EGG
- BUILD_SNOWMAN
- BUILD_IRONGOLEM
- SLIME_SPLIT
- DISPENSE_EGG
Artifical-Block-Formations:
- minecraft:cobblestone
- minecraft:obsidian
- minecraft:stone
Forbidden-Fertilisers:
- '*'
Forbidden-Vehicles:
- minecraft:minecart
Daily-Limits:
Enabled: false
Values:
CONTRACT_POINTS: 1000.0
INCOME: 500.0
XP: 500.0
```
--------------------------------
### Reward Pool Configuration Example
Source: https://nightexpressdev.com/excellentjobs/leveling/rewards
Example reward pool configuration. The pool ID is the file name (e.g., common.yml gives ID common). Priority determines which reward is selected when multiple pools target the same level. Levels can be a comma-separated list of levels. Requirements include contract, permission, and rank.
```yaml
Priority: 0
Levels:
'1,5,10,15,20,25,30,35,40,45,50':
Name: $%amount%
Description: []
Commands:
- money give %player_name% %amount%
Values:
amount: Base 500.0 ; Step 50.0
Requirements:
contract: basic,vip
permission: some.perm
rank: vip,premium
'2':
Name: x1 Jobs Crate Key
Description: []
Commands:
- crates key give %player_name% jobs 1
Requirements:
contract: basic,vip
permission: some.perm
rank: vip,premium
```
--------------------------------
### Reward Values Configuration Example
Source: https://nightexpressdev.com/excellentjobs/leveling/rewards
Defines reward values that scale with job level. Format is 'Base [value] ; Step [value]'. The value at level B is A + (B × C), where A is Base, B is level, and C is Step. Values can be referenced via placeholders like %amount%.
```yaml
Values:
amount: Base 500.0 ; Step 50.0
your_custom_value: Base 5 ; Step 1
```
--------------------------------
### Contract Definition Configuration
Source: https://nightexpressdev.com/excellentjobs/contracts/contract-settings
Example configuration for a basic contract, defining its display name, description with formatting placeholders, icon material, and priority.
```yaml
Definition:
Name: Basic
Description:
- The most basic contract with no special privileges.
- Available to everyone.
-
- Working Hours:
- ' » Mon-Fri: 10 AM - 10 PM'
- ' » Sat-Sun: 12 PM - 8 PM'
-
- Work done outside of working hours IS NOT PAID!
-
- Objective Bonuses:
- ' » XP: +1% per job level'
- ' » Earnings: +1% per job level'
-
- Promotion:
- Earn 2,500 Contract Points
- within 14 days to receive a promotion
- and additional rewards.
-
- In case of failure, a promotion retry
- will be available in no less than 3 days.
Icon:
Material: minecraft:coal
Lore: []
Priority: 0
```
--------------------------------
### Job Level Condition (From 25)
Source: https://nightexpressdev.com/excellentjobs/contracts/contract-settings
Sets a job level requirement for the player starting from 25 inclusive.
```yaml
List:
job_level: 25
```
--------------------------------
### Allowed Jobs Requirement Example
Source: https://nightexpressdev.com/excellentjobs/zones/zone-settings
Restricts zone access to players in the specified jobs. The allowed-job-ids list accepts job IDs such as miner and lumberjack.
```yaml
Requirements:
List:
allowed_jobs:
allowed-job-ids: [miner, lumberjack]
```
--------------------------------
### Job Behavior Configuration in job_example.yml
Source: https://nightexpressdev.com/excellentjobs/jobs/job-settings
Configures job permissions and commands executed upon joining or leaving the job.
```yaml
Behavior:
Permission-Required: false
Join-Commands:
- say Hello %player_name%
Leave-Commands:
- say Goodbye %player_name%
```
--------------------------------
### Job Contract Configuration in job_example.yml
Source: https://nightexpressdev.com/excellentjobs/jobs/job-settings
Configures contract requirements and allowed contract IDs for the Contracts module.
```yaml
Contract:
Required: true
Allowed-Ids:
- '*'
```
--------------------------------
### Job Definition Configuration in job_example.yml
Source: https://nightexpressdev.com/excellentjobs/jobs/job-settings
Defines the visual representation of a job, including its display name, description, icon, and menu placement.
```yaml
Definition:
Name: ' ALCHEMIST'
Description:
- Mix ingredients in a brewing
- stand to make potions.
-
- Turn your magical drinks into a
- great way to make money.
Icon:
Material: minecraft:brewing_stand
Lore: []
Menu-Slots: '32'
Menu-Page: 1
```
--------------------------------
### Job Leveling Configuration in job_example.yml
Source: https://nightexpressdev.com/excellentjobs/jobs/job-settings
Defines the maximum level and reward pool IDs for the Leveling module.
```yaml
Leveling:
Max-Level: 100
Reward-Pool-Ids:
- basic
```
--------------------------------
### Cost Configuration
Source: https://nightexpressdev.com/excellentjobs/contracts/contract-settings
Sets the activation cost for a contract using a list of currencies and their respective amounts.
```yaml
Cost:
Enabled: true
List:
vault: 5000.0
coins: 50.0
```
--------------------------------
### MythicMobs objective configuration in example_objective.yml
Source: https://nightexpressdev.com/excellentjobs/integrations/mythic-mobs
Defines a killing objective using a MythicMob named SkeletonKing. Note that MythicMob names are case-sensitive.
```yaml
Type: killing
Sources:
mythicmobs:SkeletonKing: 'JobXP 1.2~1.8 ; Income 0.04~0.06 ; ContractPoints 0.008~0.012 ; Probability 100.0~100.0 ; '
```
--------------------------------
### Conditions Configuration
Source: https://nightexpressdev.com/excellentjobs/contracts/contract-settings
Defines the requirements a player must meet to activate a contract.
```yaml
Conditions:
Enabled: false
List: {}
```
--------------------------------
### Configure Amount-Limit in jobs.yml
Source: https://nightexpressdev.com/excellentjobs/jobs/amount-limits
Configure the maximum number of jobs a player can join. Set Mode to RANK or PERMISSION, define a permission prefix for PERMISSION mode, set a default value, and list key-amount pairs in Values. In RANK mode the highest matching value is used; in PERMISSION mode combine the prefix with a key to grant the limit.
```yaml
Amount-Limit:
Mode: RANK
Permission_Prefix: jobs.amount.
Default_Value: 3.0
Values:
pro: 4.0
elite: 5.0
admin: -1
```
--------------------------------
### Maven Repository Configuration
Source: https://nightexpressdev.com/excellentjobs/utility/developer-api
Add this repository block to your Maven project to access the ExcellentJobs artifacts.
```xml
nightexpress-releases
https://repo.nightexpressdev.com/releases
```
--------------------------------
### Maven Dependency Configuration
Source: https://nightexpressdev.com/excellentjobs/utility/developer-api
Add this dependency to your project. Replace {VERSION} with the latest version available.
```xml
su.nightexpress.excellentjobs
ExcellentJobs
{VERSION}
provided
```
--------------------------------
### Configure level tracker in leveling.yml
Source: https://nightexpressdev.com/excellentjobs/leveling/leaderboards
Configure the level tracker in the main module file under the Leaderboard -> Tracker section. Set Enabled to true to add the tracker to the Stats module, and customize the display name, description, and icon material.
```yaml
Leaderboard:
Tracker:
Enabled: true
Name: Levels
Description:
- View players with highest levels!
Icon:
Material: minecraft:experience_bottle
Lore: []
```
--------------------------------
### Unlocking Configuration
Source: https://nightexpressdev.com/excellentjobs/contracts/contract-settings
Defines the basic activation requirements for a contract, including permission checks, costs, and conditions.
```yaml
Unlocking:
Permission-Required: false
Cost:
Enabled: false
Conditions:
Enabled: false
```
--------------------------------
### Behavior Configuration
Source: https://nightexpressdev.com/excellentjobs/contracts/contract-settings
Configures contract cancellation cooldowns, working hours, and objective property modifiers.
```yaml
Behavior:
Leave-Cooldown: 3d
Timeframe:
Days:
MONDAY: 10:00-22:00
TUESDAY: 10:00-22:00
WEDNESDAY: 10:00-22:00
FRIDAY: 10:00-22:00
SUNDAY: 12:00-20:00
THURSDAY: 10:00-22:00
SATURDAY: 12:00-20:00
Objective-Property-Modifiers:
INCOME:
Base: 1.0
JobLevelBonus: 0.01
TimeframePenalty: 1.0
CONTRACT_POINTS:
Base: 1.0
JobLevelBonus: 0.0
TimeframePenalty: 1.0
XP:
Base: 1.0
JobLevelBonus: 0.01
TimeframePenalty: 1.0
PROBABILITY:
Base: 1.0
JobLevelBonus: 0.0
TimeframePenalty: 1.0
```
--------------------------------
### Job Grind Configuration in job_example.yml
Source: https://nightexpressdev.com/excellentjobs/jobs/job-settings
Sets the grind bar color and associated objective IDs for the Grinding module.
```yaml
Grind:
Bar-Color: YELLOW
Objective-Ids:
- alchemist_brew
- alchemist_craft
```
--------------------------------
### leveling.yml Progression Configuration
Source: https://nightexpressdev.com/excellentjobs/leveling/progression
Configure the Progression section in leveling.yml. Set Type to linear, disable Reset-On-Leave, and define Base and Step values for linear progression.
```yaml
Progression:
Type: linear
Reset-On-Leave: false
Settings:
linear:
Base: 150.0
Step: 100.0
```
--------------------------------
### Global Rewards Configuration: Claim-Required
Source: https://nightexpressdev.com/excellentjobs/leveling/rewards
Enables manual claiming of rewards from the levels GUI. When Claim-Required is true, players must claim rewards manually; otherwise rewards are given automatically.
```yaml
Rewards:
Claim-Required: true
```
--------------------------------
### Configure mining objective with customcrops:tomato
Source: https://nightexpressdev.com/excellentjobs/integrations/custom-crops
Configure a mining objective that uses the custom crop 'tomato' from CustomCrops. The entry format is 'customcrops:name: params', where params define JobXP, Income, ContractPoints, and Probability ranges.
```yaml
Type: mining
Sources:
customcrops:tomato: 'JobXP 1.2~1.8 ; Income 0.04~0.06 ; ContractPoints 0.008~0.012 ; Probability 100.0~100.0 ; '
```
--------------------------------
### Job Level Condition (Up to 24)
Source: https://nightexpressdev.com/excellentjobs/contracts/contract-settings
Sets a job level requirement for the player up to 24 inclusive.
```yaml
List:
job_level: 0-24
```
--------------------------------
### Reward Requirement: Permission
Source: https://nightexpressdev.com/excellentjobs/leveling/rewards
Requires the player to have the specified permission to claim the reward. The permission name is given as a string.
```yaml
Requirements:
permission: my.permission.name
```
--------------------------------
### Leave-Cooldown configuration in jobs.yml
Source: https://nightexpressdev.com/excellentjobs/jobs/leave-cooldown
YAML configuration for the leave cooldown feature. Set 'Enabled' to true to activate the cooldown, and 'Value' to the cooldown duration in seconds (e.g., 3600 for 1 hour).
```yaml
Leave-Cooldown:
Enabled: true
Value: 3600
```
--------------------------------
### EvenMoreFish fishing objective with rare tuna
Source: https://nightexpressdev.com/excellentjobs/integrations/even-more-fish
Configure a fishing objective that uses an EvenMoreFish fish name in the source entry. The entry format is evenmorefish:rarity:name: params, where rarity and name are required. The params define job XP, income, contract points, and probability ranges.
```yaml
Type: fishing_items
Sources:
evenmorefish:rare:tuna: 'JobXP 1.2~1.8 ; Income 0.04~0.06 ; ContractPoints 0.008~0.012 ; Probability 100.0~100.0 ; '
```
--------------------------------
### Configure Preferred-Currency in grind.yml
Source: https://nightexpressdev.com/excellentjobs/grinding/overview
Set the currency used for monetary rewards in the Grinding module. Replace 'vault' with your currency ID if you do not use a Vault-compatible economy plugin.
```yaml
General:
Preferred-Currency: vault # Set your currency ID here.
```
--------------------------------
### Reward Requirement: Rank
Source: https://nightexpressdev.com/excellentjobs/leveling/rewards
Requires the player to be in any of the specified groups (ranks). Groups are comma-separated.
```yaml
Requirements:
rank: vip,elite,admin
```
--------------------------------
### Active Contracts Condition
Source: https://nightexpressdev.com/excellentjobs/contracts/contract-settings
Specifies the required number of active contracts for a player, supporting ranges or exact values.
```yaml
List:
active_contracts:
basic: 0-3
advanced: 1
```
=== COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.