Home›Java›Mods›TimedItem | 100% Async • Offline NBT Check • Smart Survival Activation • Expiration System [1.21+]
TimedItem | 100% Async • Offline NBT Check • Smart Survival Activation • Expiration System [1.21+]
ModsJava

TimedItem | 100% Async • Offline NBT Check • Smart Survival Activation • Expiration System [1.21+]

Java mod listed for Minecraft 1.13–1.21. Download on the author's site.

⏳ TimedItem Next-Gen Expiration Item Engine • 100% Async & Lag-Free • Offline NBT Scanning • Smart Survival Activation ​ ✦ Overview TimedItem is a modern…

⬇ Download on Spigot

⏳ TimedItem
Next-Gen Expiration Item Engine • 100% Async & Lag-Free • Offline NBT Scanning • Smart Survival Activation

[​IMG]
[​IMG]
[​IMG]
[​IMG]
​


✦ Overview
TimedItem is a modern, lightweight, high-performance expiration item plugin built from scratch for Minecraft 1.21 / 1.21.1+.

Tired of legacy or abandoned timed item plugins that cause TPS drops, freeze the main thread when scanning player files, or accidentally activate countdowns in crates and kits? TimedItem solves all these problems with cutting-edge Minecraft APIs, native PersistentDataContainer (PDC), and pure Java async NBT processing.

Perfect for Survival, RPG, Factions, Skyblock, BattlePass, Crates, and temporary donation ranks/gear!


✦ Key Features



✦ Commands & Permissions

Command Permission Description
/ti add [time] timeditem.command.add Add duration to item in main hand (ex: /ti add 1d2h, /ti add 30m)
/ti remove [time] timeditem.command.remove Remove duration from item (ex: /ti remove 3d5h). Expires if reduced past 0.
/ti set <format> timeditem.command.set Set duration (ex: 1d2h) or exact date (ex: 12/07/2026, 27/05/2026 13:17:29)
/ti clear timeditem.command.clear Clear expiration time from item in hand
/ti reload timeditem.command.reload Reload configuration and language files
/ti help [page] timeditem.command.help Display paged help menu


* Full Tab-Completion support for subcommands, page numbers, and time duration hints!*


✦ Configuration

Spoiler: config.yml
Code (YAML):

# TimedItem Configuration

# Date format for /ti set command
# Default: dd/MM/yyyy HH:mm:ss
date-format
: "dd/MM/yyyy HH:mm:ss"

# How often to check for expired items (in seconds)
# This affects both inventory and world checks
check-interval
: 30

# Whether to check items dropped in the world
world-check
: true

# Whether to check online player inventories
inventory-check
: true

# Whether to check offline player inventories
offline-check
: true

# Number of items shown per help page
help-per-page
: 7

# Lore format when item is NOT yet activated (has not started countdown)
# {duration} will be replaced with time duration (ex: 1d 2h, 30m)
lore-inactive-format
: "&eDuration: &a{duration}"

# Lore format when item IS activated (countdown is running)
# {expiry} will be replaced with formatted date
lore-format
: "&cExpires at: &e{expiry}"

# Messages (supports & color codes and &#RRGGBB)
messages
:
  prefix
: "&8[&6TimedItem&8] &r"
  item-expired
: "&cYour item &e{item} &cx{amount} &chas expired and been removed!"
  items-expired-offline
: "&eWhile you were offline, &c{count} &eitem(s) expired and were removed."
  item-activated
: "&aItem &e{item} &ahas been activated! Expiry: &e{expiry}"
  duration-set
: "&aDuration &e{duration} &aset for item (starts counting in survival mode)."
  time-added
: "&aAdded &e{time} &ato the item. New expiry: &e{expiry}"
  time-removed
: "&aRemoved &e{time} &afrom the item. New expiry: &e{expiry}"
  time-set
: "&aExpire time set to &e{expiry}&a."
  time-cleared
: "&aExpire time cleared from item."
  no-item-in-hand
: "&cYou must hold an item in your main hand!"
  not-timed-item
: "&cThis item does not have an expire time!"
  invalid-time-format
: "&cInvalid time format! Use format like: 1d2h30m"
  invalid-date-format
: "&cInvalid date format! Use: {format}"
  date-in-past
: "&cThe date must be in the future!"
  no-permission
: "&cYou don't have permission to do that!"
  reloaded
: "&aConfiguration reloaded successfully!"
  player-only
: "&cThis command can only be used by players!"
  usage
: "&cUsage: {usage}"
  help-header
: "&8&m----------&r &6TimedItem Help &7(Page {page}/{max_page}) &8&m----------"
  help-footer
: "&8&m----------&r &7Use /ti help {next_page} for next page &8&m----------"
  help-commands
:
    add
: "&6/ti add [time] &7- Add expire time for item. &8(ex: /ti add 1d2h)"
    remove
: "&6/ti remove [time] &7- Remove expire time from timed item. &8(ex: /ti remove 3d5h)"
    set
: "&6/ti set <format> &7- Set expire time for item. &8(ex: /ti set 12/07/2025)"
    clear
: "&6/ti clear &7- Clear expire time from item."
    reload
: "&6/ti reload &7- Reload plugin."
    help
: "&6/ti help <page> &7- Show paged help."
 

Spoiler: lang.yml
Code (YAML):

prefix
: "&8[&6TimedItem&8] &r"
item-expired
: "&cYour item &e{item} &cx{amount} &chas expired and been removed!"
items-expired-offline
: "&eWhile you were offline, &c{count} &eitem(s) expired and were removed."
item-activated
: "&aItem &e{item} &ahas been activated! Expiry: &e{expiry}"
duration-set
: "&aDuration &e{duration} &aset for item (starts counting in survival mode)."
time-added
: "&aAdded &e{time} &ato the item. New expiry: &e{expiry}"
time-removed
: "&aRemoved &e{time} &afrom the item. New expiry: &e{expiry}"
time-set
: "&aExpire time set to &e{expiry}&a."
time-cleared
: "&aExpire time cleared from item."
no-item-in-hand
: "&cYou must hold an item in your main hand!"
not-timed-item
: "&cThis item does not have an expire time!"
invalid-time-format
: "&cInvalid time format! Use format like: 1d2h30m"
invalid-date-format
: "&cInvalid date format! Use: {format}"
date-in-past
: "&cThe date must be in the future!"
no-permission
: "&cYou don't have permission to do that!"
reloaded
: "&aConfiguration reloaded successfully!"
player-only
: "&cThis command can only be used by players!"
usage
: "&cUsage: {usage}"
help-header
: "&8&m----------&r &6TimedItem Help &7(Page {page}/{max_page}) &8&m----------"
help-footer
: "&8&m----------&r &7Use /ti help {next_page} for next page &8&m----------"
help-commands
:
  add
: "&6/ti add [time] &7- Add expire time for item. &8(ex: /ti add 1d2h)"
  remove
: "&6/ti remove [time] &7- Remove expire time from timed item. &8(ex: /ti remove 3d5h)"
  set
: "&6/ti set <format> &7- Set expire time for item. &8(ex: /ti set 12/07/2025)"
  clear
: "&6/ti clear &7- Clear expire time from item."
  reload
: "&6/ti reload &7- Reload plugin."
  help
: "&6/ti help <page> &7- Show paged help."
 


✦ Installation

  1. Download TimedItem.jar.
  2. Drop the jar into your server's /plugins/ folder.
  3. Start or restart your server.
  4. Configure config.yml and lang.yml to your liking.
  5. Run /ti reload to apply your changes!



Developed with ❤️ for the Minecraft Server Community • SpigotMC 1.21+
​
Quick facts

Install steps are the general flow for this file type — How to install Minecraft Java mods & modpacks walks through it step by step.

TimedItem | 100% Async • Offline NBT Check • Smart Survival Activation • Expiration System [1.21+] is a free Minecraft Java mod. Compatible with Minecraft 1.13, 1.14, 1.15, 1.16 and newer. Downloaded 35 times (via Spigot). Download it and open it directly in the game.

Explore more