### 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.