ConsumeFood2Quests - User Documentation
Table of Contents
- Installation
- Quick Start Guide
- Configuration
- Commands & Permissions
- Quest System
- Reward System
- Localization
- Troubleshooting
Installation
Prerequisites
- Minecraft Server 1.17 or higher
- ConsumeFood2 plugin (required)
- Vault plugin (optional, for economy features)
Installation Steps
- Download the latest ConsumeFood2Quests.jar
- Place the file in your server's plugins/ folder
- Restart your server
- The plugin will automatically generate configuration files
- Configure the plugin as needed (see Configuration section)
- Reload with /fq reload or restart the server
Quick Start Guide
For Server Administrators
- Initial Setup
- Install the plugin following the installation steps
- Check that ConsumeFood2 is working properly
- Review the generated configuration files
- Basic Configuration
# config.yml - Choose interaction method
submit-method: GUI # or COMMAND
# Enable quest types
player-tasks:
enabled: true
max-active-tasks: 3
public-tasks:
enabled: true
max-active-tasks: 2
- Test the System
- Use /fq to open the quest interface
- Use /fq newtask public to create a test public quest
- Verify players can see and complete quests
For Players
- Viewing Quests
- Use /fq to open the quest GUI or view quest list
- Personal quests show in yellow/green
- Public quests show in blue
- Completing Quests
- GUI Mode: Click on a quest item to submit it
- Command Mode: Use /fq submit to submit eligible quests
- Make sure you have the required food items in your inventory
- Managing Quests
- Use /fq abandon <number> to abandon personal quests
- Quest numbers are shown in the quest list (1, 2, 3...)
Configuration
config.yml - Main Configuration
# Interaction method: GUI or COMMAND
submit-method: GUI
# Personal quest settings
player-tasks:
enabled: true
interval-seconds: 1800 # 30 minutes between auto-assignments
max-active-tasks: 3 # Maximum personal quests per player
assign-task-on-join: true # Give quest to new players
# Public quest settings
public-tasks:
enabled: true
interval-seconds: 3600 # 1 hour between auto-assignments
max-active-tasks: 2 # Maximum public quests on server
broadcast-completion: true # Announce when players complete public quests
tasks.yml - Quest Generation Templates
This file defines how quests are generated. Each template has:
player-task-generator:
- weight: 40 # Selection probability weight
name: "&aSimple Collection" # Quest display name
type: SINGLE_FOOD # Quest type (not used in current version)
food-count: 1 # Number of different foods required
amount-per-food: "1-8" # Amount range per food type
reward-pool: "common" # Which reward pool to use
time-limit: 1200 # Time limit in seconds (optional)
- weight: 25
name: "&eBaker's Assistant"
type: SINGLE_FOOD
food-count: 1
amount-per-food: "4-12"
reward-pool: "uncommon"
time-limit: 1800
# Special amount formats:
# "1-8" = Random number between 1 and 8
# "HALF_STACK-FULL_STACK" = Random between 50% and 100% of max stack size
Template Fields Explained:
- weight: Higher numbers = more likely to be selected
- name: Quest title (supports color codes with &)
- food-count: How many different food types needed
- amount-per-food: How much of each food type
- reward-pool: Which reward set to use (from rewards.yml)
- time-limit: Seconds until quest expires (omit for no limit)
rewards.yml - Reward Configuration
reward-pools:
common:
- type: MONEY # Give money (requires Vault)
chance: 80.0 # 80% chance to give this reward
value: "100-500" # Random amount between 100-500
- type: COMMAND # Execute a command
chance: 15.0 # 15% chance
value: "[CONSOLE] give %player% diamond 1"
rare:
- type: MONEY
chance: 100.0 # Always give money
value: "1000-2500"
- type: COMMAND
chance: 50.0 # 50% chance for bonus
value: "[CONSOLE] give %player% diamond 5"
Reward Types:
- MONEY: Gives money (requires Vault and economy plugin)
- COMMAND: Executes a command
- [CONSOLE] prefix runs as console
- No prefix runs as the player
- %player% placeholder replaced with player name
lang.yml - Language Configuration
All text displayed by the plugin can be customized here:
prefix: "&6[&eFoodQuests&6] &r"
# Common messages
no-permission: "&cYou don't have permission to use this command."
task-completed: "&aCongratulations! You completed the quest and received rewards!"
# Time formatting
time-format-hours-minutes: "%hours%小时%minutes%分钟"
time-format-minutes-seconds: "%minutes%分钟%seconds%秒"
time-format-seconds: "%seconds%秒"
# GUI messages
gui-click-submit: "&7Click to submit quest items"
gui-time-remaining: "&bTime remaining: %time%"
Commands & Permissions
Player Commands
Command
Description
Permission
/fq Open quest GUI or view quest list cfq.user
/fq help Show help information cfq.user
/fq submit Submit quest (command mode only) cfq.user
/fq abandon <number> Abandon personal quest by number cfq.user
Admin Commands
Command
Description
Permission
/fq reload Reload all configuration files cfq.admin
/fq newtask <player> Assign new personal quest to player cfq.admin
/fq newtask public Create new public quest cfq.admin
/fq removepublic <number> Remove public quest by number cfq.admin
Permissions
- cfq.user - Basic quest access (default: true)
- cfq.admin - Administrative commands (default: op)
Command Aliases
Quest System
Quest Types
Personal Quests
- Individual challenges for each player
- Can be abandoned by the player
- Automatically assigned based on interval settings
- Players can have multiple personal quests simultaneously
Public Quests
- Server-wide challenges anyone can complete
- Cannot be abandoned by players
- Visible to all players
- Only one player can complete each public quest
Quest Generation
- Template Selection: System randomly selects a template based on weights
- Food Selection: Randomly chooses foods from your ConsumeFood2 configuration
- Amount Calculation: Determines required amounts based on template settings
- Assignment: Quest is given to player or added to public list
Quest Completion
Security Features:
- Advanced anti-cheat system prevents fake items
- NBT data verification ensures only real ConsumeFood2 items count
- Item duplication prevention during quest operations
Process:
- Player collects required food items
- Opens quest GUI or uses submit command
- System verifies items are genuine ConsumeFood2 items
- Items are removed from inventory
- Rewards are given
- Quest is completed and removed
Time Limits
- Quests can have time limits (configured in tasks.yml)
- Expired quests are automatically removed
- Time remaining is shown in GUI and quest lists
- Players are notified when their quests expire
Reward System
Economy Integration
If Vault is installed with an economy plugin:
- Money rewards are automatically distributed
- Configurable amounts with random ranges
- Compatible with most economy plugins
Command Rewards
Execute any command as reward:
- Console commands (with [CONSOLE] prefix)
- Player commands (without prefix)
- Support for placeholders like %player%
Probability System
Each reward has a chance percentage:
- Multiple rewards can be given from one pool
- 100% chance = always given
- Lower percentages = occasional bonus rewards
Custom Reward Pools
Create different reward tiers:
- Common: Basic rewards for easy quests
- Uncommon: Better rewards for medium difficulty
- Rare: Valuable rewards for hard quests
- Epic: Exceptional rewards for very difficult quests
Localization
Translating the Plugin
- Edit lang.yml in the plugin folder
- Translate all text values (keep the keys unchanged)
- Use /fq reload to apply changes
- Test with different quest scenarios
Color Codes
Use Minecraft color codes with &:
- &a = Light Green
- &b = Aqua
- &c = Red
- &e = Yellow
- &6 = Gold
Placeholders
Common placeholders used:
- %player% - Player name
- %task_name% - Quest name
- %time% - Formatted time
- %amount% - Item amount
- %item_name% - Item display name
Troubleshooting
Common Issues
Quest GUI shows 0 items but I have the food
- Restart the server to clear item cache
- Ensure you have genuine ConsumeFood2 items (not renamed vanilla items)
- Check that ConsumeFood2 is working properly
No quests are generated
- Verify ConsumeFood2 has custom foods configured
- Check tasks.yml has valid templates with positive weights
- Ensure quest generation is enabled in config.yml
Players can't complete quests
- Verify players have the exact items required
- Check that items are real ConsumeFood2 items
- Make sure GUI mode matches config.yml setting
Rewards not working
- For money rewards: Install Vault and an economy plugin
- For command rewards: Check console for command execution errors
- Verify reward pool names match between tasks.yml and rewards.yml
Debug Steps
- Check Dependencies
/plugins
Verify ConsumeFood2 is green and loaded
- Test ConsumeFood2
/cf2 customfood give <food_id> 1 <player>
- Reload Configuration
/fq reload
- Check Server Console
- Look for ConsumeFood2Quests error messages
- Watch for plugin conflicts or warnings
- Test Quest Generation
/fq newtask public
/fq newtask <player>
Performance Optimization
For Large Servers:
- Reduce quest generation intervals in config.yml
- Lower max-active-tasks to reduce memory usage
- Use fewer reward commands per pool
Memory Management:
- Plugin automatically cleans up expired quests
- Item cache is cleared on reload
- No persistent data storage required
Support
For additional help:
- Check the discussion section on the plugin page
- Report bugs with detailed information
- Include server version, plugin version, and error messages
- Provide relevant configuration files when asking for help
Remember to backup your server before making major configuration changes!