promotional bannermobile promotional banner

Hidden Gifts

Turn your Hytale world into a treasure hunt — admins hide loot, players race to find it.
Screenshot 2026-01-29 180408.jpeg

Screenshot 2026-01-29 180408.jpeg

Screenshot 2026-01-29 180728.png

Screenshot 2026-01-29 180728.png

Screenshot 2026-01-29 180503.png

Screenshot 2026-01-29 180503.png

Screenshot 2026-01-29 180744.png

Screenshot 2026-01-29 180744.png

Description

HiddenGifts

Turn your Hytale server into a treasure hunt.
Admins hide a chest anywhere in the world, players get proximity hints as they explore,
and the first to find it claims tiered loot rewards — all broadcast live to the server.


Features

  • Admin-placed treasure chests — Use /hiddengift place for a random tier or /hiddengift place rare to pick one
  • Proximity notifications — Players get a toast alert when they're within range of the hidden chest
  • Tiered reward system — Common, Rare, and Legendary tiers with weighted random selection, each with configurable item pools and quantity ranges
  • Server-wide announcements — Placement and discovery broadcast via event titles, toast notifications, and chat messages
  • Indestructible chest — The gift chest cannot be damaged or broken by players
  • Finder cooldown — Prevent the same player from claiming back-to-back (configurable duration)
  • Fully configurable — All tiers, items, messages, radius, cooldowns, and the chest block ID are editable in config.json

How It Works

  1. An admin runs /hiddengift place [tier] while looking at a block
  2. A chest appears on top of that block and the server is notified a treasure has been hidden
  3. Players exploring the world receive a proximity toast when they get close
  4. The first player to walk up to the chest claims the loot — items go straight to inventory
  5. Everyone sees who found it, what tier it was, and what they won

 


Commands

Command Permission Description
/hiddengift place [tier] hiddengifts.place Hide a gift chest (random or specific tier)
/hiddengift remove hiddengifts.place Remove the active gift
/hiddengift stats Everyone View your total finds

Requirements

PlayerData-Core (required) — Tracks per-player find stats and cooldowns. Must be installed and loaded before HiddenGifts.

Installation

  1. Install PlayerData-Core
  2. Drop the HiddenGifts .jar into your server's plugins folder
  3. Start the server — a default config.json is generated automatically
  4. Edit config.json to customize tiers, rewards, and messages

Configuration Guide

A config.json file is generated in the plugin's data folder on first run. Below is every setting explained.


General Settings

Key Type Default Description
hintRadius Integer 30 How close (in blocks) a player must be to the hidden chest before they receive a proximity toast notification. Range: 5–200.
finderCooldownMinutes Integer 10 After finding a treasure, how many minutes a player must wait before they can claim another one. Set to 0 to disable. Range: 0–1440.
placerCanClaim Boolean false Whether the admin who placed the chest is allowed to claim it themselves.
chestBlockId String "Furniture_Christmas_Chest_Small" The block ID used for the visible chest in the world. Can be any valid Hytale block or furniture ID.

Tier System

Tiers are defined under the "tiers" key as a map. Each tier name (e.g. "common", "rare", "legendary") maps to a tier object. You can add, remove, or rename tiers freely.

Tier Object

Key Type Description
weight Integer How likely this tier is chosen during random placement. Higher = more frequent. A tier with weight 60 is picked 6x more often than one with weight 10.
pickCountMin Integer Minimum number of items to award from this tier's pool.
pickCountMax Integer Maximum number of items to award. The actual count is rolled randomly between min and max. Capped to the number of items in the pool.
items Array The pool of possible reward items (see below).

 

Item Object (inside items array)

Key Type Description
item String The Hytale item ID to give (e.g. "Ingredient_Bar_Iron", "Tool_Pickaxe_Cobalt").
min Integer Minimum quantity of this item to give.
max Integer Maximum quantity. Rolled randomly between min and max. Set both to the same value for a fixed amount.

 

How Tier Selection Works

With weights common: 60, rare: 30, legendary: 10 (total = 100):

  • Common — picked ~60% of the time
  • Rare — picked ~30% of the time
  • Legendary — picked ~10% of the time

How Rewards Are Rolled

Example: A rare tier with pickCountMin: 2, pickCountMax: 3 and 4 items in the pool:

  1. Roll a number between 2 and 3 → e.g. 3
  2. Randomly pick 3 items from the pool
  3. For each picked item, roll a quantity between its min and max

Messages

All display text is configurable. Use the placeholders shown below — they are replaced at runtime.

Placement Messages (shown to the whole server when a chest is hidden)

Key Default Placeholders
messageHiddenPlaced "A {tier} treasure has been hidden somewhere in the world!" {tier} — tier name
messagePlacedToast "Treasure Hidden!"
messagePlacedToastHint "A {tier} gift is waiting to be found!" {tier} — tier name

 

Proximity Messages (shown to individual players near the chest)

Key Default Placeholders
messageProximityToast "Treasure Nearby!"
messageProximityHint "You sense a hidden treasure nearby..."

 

Discovery Broadcast (shown to the whole server when someone finds it)

Key Default Placeholders
messageFoundTitle "{player} Found It!" {player}
messageFoundSubtitle "A {tier} treasure has been claimed!" {tier}
messageFoundToast "{player} found a hidden treasure!" {player}
messageFoundToastHint "They claimed the {tier} reward!" {tier}
messageFoundChat "--- {player} found a {tier} treasure! ---" {player}, {tier}
messageRewardFormat "Reward: {reward}" {reward} — formatted reward list

 

Personal Feedback (shown only to the finder)

Key Default Placeholders
messagePersonalFoundTitle "Treasure Found!"
messagePersonalFoundToast "Reward Collected!"
messagePersonalFoundChat "+ {reward} added to your inventory!" {reward}
messagePersonalFoundStats "Total treasures found: {found}" {found} — lifetime find count

 

Cooldown Messages (shown when a player on cooldown gets near a chest)

Key Default Placeholders
messageCooldownToast "On Cooldown"
messageOnCooldown "You found one recently! Wait {minutes} minutes." {minutes}

 

Misc Messages (used in commands)

Key Default Placeholders
messageNoGiftActive "No hidden gift is currently active."
messageAlreadyActive "A hidden gift is already active!"
messageStats "You have found {found} hidden treasures!" {found}

Full Default Config

{
  "hintRadius": 30,
  "finderCooldownMinutes": 10,
  "placerCanClaim": false,
  "chestBlockId": "Furniture_Christmas_Chest_Small",
  "tiers": {
    "common": {
      "weight": 60,
      "pickCountMin": 1,
      "pickCountMax": 2,
      "items": [
        { "item": "Ingredient_Bar_Iron", "min": 2, "max": 5 },
        { "item": "Ingredient_Bar_Copper", "min": 3, "max": 8 }
      ]
    },
    "rare": {
      "weight": 30,
      "pickCountMin": 2,
      "pickCountMax": 3,
      "items": [
        { "item": "Ingredient_Bar_Cobalt", "min": 1, "max": 3 },
        { "item": "Tool_Pickaxe_Iron", "min": 1, "max": 1 }
      ]
    },
    "legendary": {
      "weight": 10,
      "pickCountMin": 3,
      "pickCountMax": 5,
      "items": [
        { "item": "Tool_Pickaxe_Cobalt", "min": 1, "max": 1 },
        { "item": "Weapon_Sword_Iron", "min": 1, "max": 1 }
      ]
    }
  },
  "messageHiddenPlaced": "A {tier} treasure has been hidden somewhere in the world!",
  "messagePlacedToast": "Treasure Hidden!",
  "messagePlacedToastHint": "A {tier} gift is waiting to be found!",
  "messageProximityHint": "You sense a hidden treasure nearby...",
  "messageProximityToast": "Treasure Nearby!",
  "messageFoundTitle": "{player} Found It!",
  "messageFoundSubtitle": "A {tier} treasure has been claimed!",
  "messageFoundToast": "{player} found a hidden treasure!",
  "messageFoundToastHint": "They claimed the {tier} reward!",
  "messageFoundChat": "--- {player} found a {tier} treasure! ---",
  "messageRewardFormat": "Reward: {reward}",
  "messagePersonalFoundTitle": "Treasure Found!",
  "messagePersonalFoundToast": "Reward Collected!",
  "messagePersonalFoundChat": "+ {reward} added to your inventory!",
  "messagePersonalFoundStats": "Total treasures found: {found}",
  "messageCooldownToast": "On Cooldown",
  "messageOnCooldown": "You found one recently! Wait {minutes} minutes.",
  "messageNoGiftActive": "No hidden gift is currently active.",
  "messageAlreadyActive": "A hidden gift is already active!",
  "messageStats": "You have found {found} hidden treasures!"
}

The Hidden Gifts Team

profile avatar
  • 4
    Projects
  • 476
    Downloads

More from zacky9166

  • GiftDrops project image

    GiftDrops

    • 98
    • Mods

    Surprise reward challenges that keep your server engaged — random math puzzles and reaction codes drop at intervals, players race to answer in chat, and the fastest wins real item rewards.

    • 98
    • January 28, 2026
    • Mods
    • +1
  • AFKManager project image

    AFKManager

    • 108
    • Mods

    Automatically detects inactive players, safely puts them into AFK mode to prevent damage and interaction abuse, and kicks them if they stay inactive for too long—keeping gameplay fair and servers clean.

    • 108
    • January 28, 2026
    • Mods
    • +1
  • PlayerData Core project image

    PlayerData Core

    • 183
    • Mods

    Simple key-value player data storage API with JSON persistence for server plugins.

    • 183
    • January 27, 2026
    • Mods
  • GiftDrops project image

    GiftDrops

    • 98
    • Mods

    Surprise reward challenges that keep your server engaged — random math puzzles and reaction codes drop at intervals, players race to answer in chat, and the fastest wins real item rewards.

    • 98
    • January 28, 2026
    • Mods
    • +1
  • AFKManager project image

    AFKManager

    • 108
    • Mods

    Automatically detects inactive players, safely puts them into AFK mode to prevent damage and interaction abuse, and kicks them if they stay inactive for too long—keeping gameplay fair and servers clean.

    • 108
    • January 28, 2026
    • Mods
    • +1
  • PlayerData Core project image

    PlayerData Core

    • 183
    • Mods

    Simple key-value player data storage API with JSON persistence for server plugins.

    • 183
    • January 27, 2026
    • Mods