Перейти к содержимому
Mineforgian

TimedActions

A comprehensive Spigot/Paper Minecraft plugin that allows server administrators to schedule and execute commands at specific intervals using both Minecraft time and real-world time.

Загрузки
352
Подписчики
0
Обновлён
16 августа 2025 г.
Лицензия
MIT

Опубликован 16 августа 2025 г.

TimedActions

A comprehensive Spigot/Paper Minecraft plugin that allows server administrators to schedule and execute commands at specific intervals using both Minecraft time and real-world time.

Features

Core Functionality

  • Dual Time Modes: Schedule actions based on either:
    • Minecraft days (in-game time)
    • Real-world time (seconds, minutes, hours, days)
  • Command Execution: Run any server commands when schedules trigger
  • PlaceholderAPI Integration: Full support for placeholders in commands and messages
  • Multiple Schedules: Configure unlimited separate schedules with different timings
  • Broadcast Messages: Optional broadcast messages when schedules trigger
  • Console Logging: Configurable logging for schedule triggers

Admin Commands

  • /timedactions reload - Reload configuration and restart all schedules
  • /timedactions list - Display all configured schedules and their status
  • /timedactions trigger <scheduleName> - Manually trigger a specific schedule

Permission

  • timedactions.admin - Access to all admin commands (default: op)

Configuration

Example config.yml

# TimedActions Configuration
schedules:
  borderShrink:
    mode: minecraft_days  # minecraft_days or real_time
    interval: 5           # 5 minecraft days
    commands:
      - "worldborder set 5000"
      - "say The world border is now %worldborder_size%!"
    broadcast: "&cThe world border shrinks every 5 days! Current size: %worldborder_size%"
    console-log: true

  giveDiamonds:
    mode: real_time       # real_time mode
    interval: 1h          # 1 hour (supports: s, m, h, d for seconds, minutes, hours, days)
    commands:
      - "give %player_name% diamond 1"
      - "eco give %player_name% 100"  # Vault integration
    broadcast: "&b%player_name% received a diamond and $100!"
    console-log: true

  rankUp:
    mode: real_time
    interval: 7d          # 7 days
    commands:
      - "lp user %player_name% parent add veteran"
    broadcast: "&6%player_name% has ranked up to Veteran after 7 days!"
    console-log: true

# Global settings
settings:
  # Whether to enable PlaceholderAPI support
  placeholder-api: true
  
  # Prefix for all broadcast messages
  broadcast-prefix: "&8[&6TimedActions&8]&r "
  
  # Whether to log all schedule triggers to console
  global-console-log: true

Schedule Configuration

Each schedule supports the following options:

  • name: Unique identifier for the schedule
  • mode: minecraft_days or real_time
  • interval:
    • For minecraft_days: Number of Minecraft days
    • For real_time: Time with suffix (s=seconds, m=minutes, h=hours, d=days)
  • commands: List of commands to execute (supports placeholders)
  • broadcast: Optional message to broadcast to all players (supports placeholders)
  • console-log: Boolean, whether to log this schedule's execution to console

Time Intervals

Real-time intervals support:

  • 30s - 30 seconds
  • 5m - 5 minutes
  • 2h - 2 hours
  • 1d - 1 day
  • 7d - 7 days

Plugin Integration

PlaceholderAPI

Full support for all PlaceholderAPI placeholders in:

  • Commands
  • Broadcast messages
  • Built-in placeholders like %player_name%

Common Plugin Examples

WorldBorder Integration

schedules:
  borderShrink:
    mode: minecraft_days
    interval: 5
    commands:
      - "worldborder set 5000"
    broadcast: "&cWorld border has been reduced!"

Vault Economy Integration

schedules:
  dailyReward:
    mode: real_time
    interval: 1d
    commands:
      - "eco give %player_name% 100"
    broadcast: "&a%player_name% received daily $100 reward!"

LuckPerms Integration

schedules:
  weeklyPromotion:
    mode: real_time
    interval: 7d
    commands:
      - "lp user %player_name% parent add veteran"
    broadcast: "&6%player_name% has been promoted to Veteran!"

Dependencies

Required

Optional (Soft Dependencies)

  • PlaceholderAPI - For placeholder support in commands and messages
  • Vault - For economy command integration
  • LuckPerms - For permission management commands
  • WorldBorder - For world border manipulation commands

Installation

  1. Download the plugin JAR file
  2. Place it in your server's plugins folder
  3. Ensure BlueSlimeCore is installed
  4. Restart your server
  5. Configure schedules in plugins/TimedActions/config.yml
  6. Use /timedactions reload to apply changes

API Information

  • Minecraft Version: 1.13+
  • Server Software: Spigot, Paper, or compatible forks
  • Java Version: 8+

Commands Summary

Command Permission Description
/timedactions reload timedactions.admin Reload configuration and restart schedules
/timedactions list timedactions.admin List all configured schedules
/timedactions trigger <name> timedactions.admin Manually trigger a schedule

Support

This plugin is designed to be extensible and maintainable. Future features could include:

  • Random delays for schedules
  • Per-world schedule configurations
  • Permission-based schedule triggers
  • Advanced condition-based scheduling
  • Web interface for schedule management

License

See LICENSE file for details.

Ченджлог

1.0.0Релиз1.21.6, 1.21.7, 1.21.8 · 16 августа 2025 г.

🎉 Initial Release

This is the first stable release of TimedActions - a comprehensive Minecraft plugin for scheduling automated actions.

✨ Features Added

Core Scheduling System

  • Dual Time Modes: Support for both Minecraft days and real-world time intervals
  • Flexible Intervals: Real-time scheduling with s (seconds), m (minutes), h (hours), d (days) suffixes
  • Minecraft Time: Schedule actions based on in-game day cycles
  • Multiple Schedules: Configure unlimited independent schedules with unique timings

Command System

  • Command Execution: Execute any server commands when schedules trigger
  • Per-Player Commands: Commands execute for each online player automatically
  • Admin Commands: Full command interface for management
    • /timedactions reload - Hot-reload configuration
    • /timedactions list - View all schedules and their status
    • /timedactions trigger <name> - Manually execute schedules

Integration & Compatibility

  • PlaceholderAPI Integration: Full placeholder support in commands and messages
  • Soft Dependencies: Seamless integration with popular plugins
    • Vault (Economy integration)
    • LuckPerms (Permission management)
    • WorldBorder (Border manipulation)
  • Plugin Safety: Graceful handling when optional plugins are missing

Broadcasting & Logging

  • Broadcast Messages: Optional server-wide announcements for schedule triggers
  • Color Code Support: Full Minecraft color code support in messages
  • Console Logging: Configurable logging for debugging and monitoring
  • Custom Prefix: Configurable broadcast message prefix

Configuration

  • YAML Configuration: User-friendly YAML-based configuration system
  • Hot Reload: Apply configuration changes without server restart
  • Validation: Built-in configuration validation with helpful error messages
  • Examples: Comprehensive example configurations included

🔧 Technical Details

Requirements

  • Minecraft Version: 1.13+ (Spigot/Paper)
  • Java Version: 21+
  • Required Dependency: BlueSlimeCore 2.9+

Optional Dependencies

  • PlaceholderAPI 2.11.6+ (for placeholder support)
  • Vault (for economy integration)
  • LuckPerms (for permission management)

Performance

  • Efficient Scheduling: Optimized task scheduling with proper cleanup
  • Memory Management: Automatic task cancellation on plugin disable
  • Thread Safety: Safe concurrent schedule execution
  • Resource Friendly: Minimal impact on server performance

📋 Default Configuration

The plugin ships with example configurations for common use cases:

  • Border shrinking every 5 Minecraft days
  • Hourly diamond rewards with economy integration
  • Weekly rank promotions
  • Custom broadcast messages with placeholders

🛠️ Developer Features

Architecture

  • Modular Design: Separate managers for scheduling and placeholder handling
  • Singleton Pattern: Clean plugin lifecycle management
  • Reflection Safety: Safe PlaceholderAPI integration with fallback
  • Extensible: Easy to extend with additional features

Code Quality

  • Comprehensive Logging: Detailed logging for troubleshooting
  • Error Handling: Graceful error handling with user-friendly messages
  • Documentation: Extensive code documentation and examples
  • Testing: Built-in testing configurations for rapid development

📚 Documentation

  • Complete README with setup instructions
  • Example configurations for popular plugins
  • API documentation for developers
  • Quick testing guide with helper scripts
  • Command reference and permission guide

🔐 Permissions

  • timedactions.admin - Full access to all plugin commands (default: op)

🎉 Get Started Today!

Download TimedActions v1.0.0 and start automating your server with powerful, flexible scheduling!

Happy scheduling! 🕐✨

Комментарии

Загружаем…