Skip to content

Time Progression Commands #44

Description

@FirebrickRed

Priority: LOW
Status: TODO

Description

DM utility to advance Minecraft world time, useful for rests, downtime, and travel montages.

Commands

  • /progresstime <amount> <hours|minutes|days> - Advance world time
  • Aliases: /advancetime, /timeskip

Duration Formats (all supported)

/progresstime 8 hours
/progresstime 8 hour
/progresstime 8h

/progresstime 30 minutes
/progresstime 30m

/progresstime 1 day
/progresstime 1d

Acceptance Criteria

  • Parse duration with multiple formats (spelled out and abbreviated)
  • Advance Minecraft world time by calculated ticks
  • Display feedback with new time
  • Tab completion for duration units
  • Support hours, minutes, days
  • Require OP/DM permission

Minecraft Time Conversion

  • 1 Minecraft day = 24000 ticks = 20 real minutes
  • 1 Minecraft hour = 1000 ticks
  • Day (sunrise to sunset) = 12000 ticks
  • Night = 9000 ticks (including twilight)

Calculation Examples

  • 8 hours = 8000 ticks (typical long rest)
  • 1 hour = 1000 ticks (typical short rest)
  • 1 day = 24000 ticks

Feedback Messages

/progresstime 8 hours
→ "Time advanced by 8 hours (current time: 2:00 PM)"

/progresstime 1 day
→ "Time advanced by 1 day (current time: 8:00 AM)"

Tab Completion

/progresstime 8 <TAB>
→ hours
→ minutes
→ days

/progresstime 8 h<TAB>
→ hours

Optional Integration with Rest Commands

Add optional duration parameter to /completerest from Issue #43:

/completerest knights_of_mortimer 8 hours
→ Grants long rest benefits
→ Advances time by 8 hours
→ "Knights of Mortimer completed long rest (8 hours passed)"

Technical Notes

  • Use World.setTime(currentTime + ticks)
  • Parse duration with regex: (\d+)\s*(h|hour|hours|m|min|minute|minutes|d|day|days)
  • Convert to ticks based on unit
  • Display current time using Minecraft time format (0-24000 → 6:00 AM - 6:00 AM)

Time Display Helper

// Convert Minecraft ticks to readable time
// 0 ticks = 6:00 AM
// 6000 ticks = 12:00 PM (noon)
// 12000 ticks = 6:00 PM
// 18000 ticks = 12:00 AM (midnight)

Related

Metadata

Metadata

Assignees

No one assigned

    Labels

    dm-toolsDM-specific commands and features

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions