
A Minecraft Fabric mod that allows server administrators to create interactive, one-time reward points that players can claim by right-clicking blocks in the world.
A Minecraft Fabric mod that allows server administrators to create interactive, one-time reward points that players can claim by right-clicking blocks in the world.
mods folder/ohhshiny set to enter setup modeNote: Setup mode automatically exits after placing one reward. Run /ohhshiny set again to place another.
/ohhshiny remove to enter remove modeNote: Remove mode automatically exits after removing one reward.
Players with claim permissions can simply right-click on any block that has a reward:
All commands require appropriate permissions (see Permissions section below).
/ohhshiny setEnters setup mode to create a new reward location.
/ohhshiny removeEnters remove mode to delete an existing reward location.
/ohhshiny listLists all active reward locations with details:
/ohhshiny give chest <type>Gives a custom textured chest player head.
copper, iron, gold/ohhshiny give pokeball <type>Gives a custom textured pokeball player head.
poke, ultra, master/ohhshiny reloadReloads all reward data from the configuration file on disk.
/ohhshiny reloadlangReloads the language file (lang.json) without restarting the server.
/ohhshiny reset <player>Resets a specific player's claim history, allowing them to claim all rewards again.
/ohhshiny clearallDESTRUCTIVE: Permanently deletes all rewards and claim data.
Ohh Shiny uses LuckPerms for permission management. If LuckPerms is not installed, all commands default to requiring operator status (level 2+).
| Permission | Description | Default |
|---|---|---|
ohhshiny.base |
Access to the base /ohhshiny command |
OP |
ohhshiny.claim |
Ability to claim rewards by right-clicking blocks | OP |
ohhshiny.set |
Create new reward locations | OP |
ohhshiny.remove |
Delete existing reward locations | OP |
ohhshiny.list |
View all active reward locations | OP |
ohhshiny.give |
Spawn custom textured items | OP |
ohhshiny.reload |
Reload data from disk | OP |
ohhshiny.reset |
Reset player claim histories | OP |
ohhshiny.clearall |
Delete all reward data | OP |
To allow all players to claim rewards:
lp group default permission set ohhshiny.claim true
To give moderators full access except clearall:
lp group moderator permission set ohhshiny.base true
lp group moderator permission set ohhshiny.claim true
lp group moderator permission set ohhshiny.set true
lp group moderator permission set ohhshiny.remove true
lp group moderator permission set ohhshiny.list true
lp group moderator permission set ohhshiny.give true
lp group moderator permission set ohhshiny.reload true
lp group moderator permission set ohhshiny.reset true
To give admins complete access:
lp group admin permission set ohhshiny.* true
All messages are fully configurable through a language file. The file is automatically created at:
config/ohhshiny/lang.json
Edit the lang.json file to customize any message:
{
"prefix": "<aqua>[Ohh Shiny]</aqua>",
"loot.claimed": "<aqua>You found something shiny: {item}!",
"error.already_claimed": "<red>You've already claimed this!"
}
After editing, reload with:
/ohhshiny reloadlang
Requires TextPlaceholderAPI (optional but recommended).
Colors:
<red>, <green>, <blue>, <yellow>, <aqua>, <gold>, etc.<#FF0000>Formatting:
<bold>, <italic>, <underline>, <strikethrough>Advanced:
<gradient:blue:aqua>text</gradient><rainbow>text</rainbow><hover:'tooltip text'>hover me</hover>Placeholders:
{x}, {y}, {z}, {item}, {player}, {count}%player:name%, %server:tps%, etc.Example:
{
"prefix": "<gradient:aqua:blue><bold>[Ohh Shiny]</bold></gradient>",
"loot.claimed": "<rainbow>✨ You found: {item}! ✨</rainbow>"
}
All reward data is stored in JSON format at:
config/ohhshiny/ohhshiny.json
The file is automatically created on first use and updated whenever:
Each reward entry contains:
You can manually edit this file, but remember to run /ohhshiny reload afterward to apply changes.
This project is licensed under the Apache License 2.0. See the LICENSE file for details.
For bug reports, feature requests, or questions, please open an issue on the project repository.
config/ohhshiny/ohhshiny.json before major operations/ohhshiny reset to test rewards without creating new onesohhshiny.claim permissionconfig/ohhshiny directory/ohhshiny reloadohhshiny.json file exists and is not corrupted/ohhshiny reload if particles still don't appear