Enter at least two characters

Task System: task.yml

Docs version: v1.1.0

The task.yml configuration file defines the guild task system. The task system has two types: Daily Tasks and Global Tasks, providing rich gameplay goals for guild members.


Configuration Structure#

tasks:
  TaskKey:                # Unique task identifier
    display:               # Task display configuration in GUI (optional)
      unfinished:           # Icon when task is unfinished
        material: "PAPER"
        custom_data: 0
        item_model: "minecraft:book"
      finished:           # Icon when task is finished
        material: "PAPER"
        custom_data: 0
        item_model: "minecraft:enchanted_book"
    name: "Task Name"            # Task display name
    type: "global"              # Task type: global or daily
    event:                      # Event trigger configuration
      type: "kill_mobs"          # Event type
      target: "zombie"          # Target type
      amount: 100               # Target amount
    lore:                       # Task description
      - "§7Description: Task details"
      - "§7Reward: Reward content"
    actions:                    # Actions after completion
      - "console: <command>"
      - "tell: <message>"

Configuration Options Explained#

TaskKey (Required)#

  • Type: String
  • Description: Unique identifier for the task, used for internal referencing
  • Examples: global_1, daily_1, fishing_daily
  • Rules:
    • Must be unique
    • Recommended: lowercase letters, numbers, and underscores
    • Should be descriptive for easy identification

display (Optional)#

Display configuration for the task in the GUI menu.

  • Supports version compatibility:
    • 1.21.4+: Prefers item_model
    • 1.21.4-: Uses custom_data
    • If neither is configured, uses material

material#

  • Type: String
  • Description: Item material for the task icon

item_model (Optional)#

  • Type: String
  • Description: Custom item model

custom_data (Optional)#

  • Type: Integer
  • Description: Custom texture pack data

name (Required)#

  • Type: String
  • Description: Display name of the task, shown in GUI and messages

type (Required)#

  • Type: String
  • Description: Task type
  • Default: "global"
  • Available Options:
    • "global" - Global task, completed collaboratively by all guild members
    • "daily" - Daily task, completed individually by each player
  • Difference:
    • Global Tasks:
      • Progress from all guild members accumulates
      • Progress displayed with yellow BossBar
      • Only resets at task reset time
    • Daily Tasks:
      • Completed individually by each player
      • Only rewards the current player upon completion
      • Progress displayed with green BossBar
      • Resets daily at task reset time

event (Required)#

Task trigger event configuration.

event.type (Required)#

  • Type: String
  • Description: Event type that triggers the task
  • Available Event Types:
Event Type Description Notes
login Player login -
kill_mobs Kill mobs Kill specified entity types
break_block Break blocks Mine specified blocks
donate Donate gold Donate to guild vault
chat Send messages Send chat messages
fishing Fishing Catch fish
milk Milking Milk cows
shear Shearing Shear sheep
trade Villager trade Trade with villagers
eat_food Eat food Consume food
bonemeal Use bone meal Grow crops with bone meal
smelt Smelting Smelt items

event.target (Required)#

  • Type: String
  • Description: Target object of the event
  • Rules:
    • "*" means any target or no target required
    • For kill_mobs: Use entity type (e.g., zombie, skeleton)
    • For break_block: Use block type (e.g., stone, diamond_ore)
    • For smelt: Use item type (e.g., iron_ingot, gold_ingot)
    • For eat_food: Use food type (e.g., cooked_beef, bread)

event.amount (Required)#

  • Type: Integer
  • Description: Target amount for the task
  • Rules:
    • Must be greater than 0
    • For donate event, unit is gold amount

lore (Required)#

  • Type: List
  • Description: Task description list, displayed in GUI
  • Rules:
    • Supports color codes
    • One string per line
    • Should include task description and reward information

actions (Required)#

  • Type: List
  • Description: Action list executed after task completion
  • Default: None
  • Supported Variables:
    • {player} - Player name
    • {guild_id} - Guild ID
    • {guild_name} - Guild name
    • Supports all PlaceholderAPI variables
  • Available Action Types:
Action Type Format Description
console console: <command> Execute command as console
command command: <command> Execute command as player
tell tell: <message> Send message to player
  • Examples:

    actions:
      - "console: money give {player} 100"        # Give player 100 gold
      - "console: kg admin exp {guild_id} add 80" # Give guild 80 experience
      - "tell: §aTask completed! You received 100 gold"
      - "command: say I completed the task"        # Player says something
    

Configuration Examples#

Daily Task Examples#

Login Task#

daily_login:
  display:
    material: "COMPASS"
  name: "§aDaily Task: Login"
  type: "daily"
  event:
    type: "login"
    target: "*"
    amount: 1
  lore:
    - "§7Description: Log in and play daily"
    - "§7Reward: §e10 Experience"
  actions:
    - "console: kg admin exp %kaguilds_id% add 10"

Fishing Task#

fishing_daily:
  display:
    material: "FISHING_ROD"
  name: "§aDaily Task: Fisherman"
  type: "daily"
  event:
    type: "fishing"
    target: "*"
    amount: 10
  lore:
    - "§7Description: Fish 10 times daily"
    - "§7Reward: §e20 Experience"
  actions:
    - "console: kg admin exp %kaguilds_id% add 20"

Food Task#

eat_daily:
  display:
    material: "COOKED_BEEF"
  name: "§aDaily Task: Foodie"
  type: "daily"
  event:
    type: "eat_food"
    target: "cooked_beef"
    amount: 5
  lore:
    - "§7Description: Eat steak 5 times daily"
    - "§7Reward: §e10 Experience"
  actions:
    - "console: kg admin exp %kaguilds_id% add 10"

Global Task Examples#

Kill Mobs Task#

global_zombie:
  display:
    material: "IRON_SWORD"
  name: "§aCumulative Task: Guild Battle"
  type: "global"
  event:
    type: "kill_mobs"
    target: "zombie"
    amount: 100
  lore:
    - "§7Description: Guild collectively kills 100 zombies"
    - "§7Reward: §e80 Experience §7100 Gold"
  actions:
    - "console: money give {player} 100"
    - "console: kg admin exp %kaguilds_id% add 80"

Smelting Task#

smelt_iron_global:
  display:
    material: "FURNACE"
  name: "§aCumulative Task: Blacksmith"
  type: "global"
  event:
    type: "smelt"
    target: "iron_ingot"
    amount: 64
  lore:
    - "§7Description: Guild collectively smelts 64 iron ingots"
    - "§7Reward: §e80 Experience"
  actions:
    - "console: kg admin exp %kaguilds_id% add 80"

Donation Task#

donate_global:
  display:
    material: "GOLD_INGOT"
  name: "§aCumulative Task: Generous Heart"
  type: "global"
  event:
    type: "donate"
    target: "*"
    amount: 1000
  lore:
    - "§7Description: Guild collectively donates 1000 gold"
    - "§7Reward: §e100 Experience"
  actions:
    - "console: kg admin exp %kaguilds_id% add 100"

Task Reset#

Configure task reset time in config.yml:

task:
  reset_time: "00:00:00"  # Reset daily at midnight