
Fool's Diamond
Prank players with shapeshifting glow lichen, no resourcepack required!
Was that really a diamond ore you just saw? Or did you just got pranked by Fool's Diamond?
About the plugin
Fool's Diamond is a prank plugin made specifically for April Fools Day. It bewilders players by occasionally disguise diamond ore and glow lichen as each other whenever players aren't looking. The change is purely visual and requires no resource pack to work. You can sneakily add the plugin to your server without the players suspecting a single thing then sit back and enjoy watching them getting bamboozled by a disguised glow lichen!
Important notes:
- It is not recommended to pre-gen chunks while having this plugin enabled. Either do it beforehand or use
/foolsdiamond override falseto temporarily disable the plugin during the pre-gen.
Brief Demostration
The plugin offers expansive configuration options on when and where it will do the trolling, as well as a few options for performance optimization.
Configuration
# Don't touch this, please.
version: 1
# Enables Bstats metrics.
enable-metrics: true
# Options on when the plugin should start doing its antics.
enable:
# Enable trolling all day, every day.
always: false
# A single day the plugin will begin trolling players on.
# Server restart required.
on-date: Apr 1
# Options related to the behavior of a morphing block.
morphing-block:
# Enable or disable a block type's ability to disguise as another.
# Server restart required.
enable:
glow-lichen: true
diamond-ore: true # This applies to both stone and deepslate ore variants.
# Whether the plugin should use light blocks to hide light change that occurs when diamond ore changes to glow
# lichen and vice versa. This will result in diamond ores constantly emitting light, which may appear strange
# to players playing without night vision or fullbright resourcepack.
# Server restart required.
handle-light-change: false
# How likely is the block to morph into another when a player looks away. Make players feel they're going
# crazy when the diamond ore they thought they saw doesn't change back on triple- or quadruple-check!
# Valid range is 0.0 to 1.0, with 0.0 being never and 1.0 being always.
chance: 0.3
# Worlds the morphing blocks will appear in. Case-sensitive.
appear-in:
- world
# Options related to the cache for morphing blocks.
cache:
# How long a morphing block remains cached after its chunk is unloaded, measured in SECONDS. If set to 0 seconds,
# the block would be removed from cache immediately and must be recreated when the chunk loads again.
# It's generally better to keep blocks cached as long as possible, provided the server has enough memory, as
# recreating a morphing block is more time-consuming than simply revalidating a cached one on chunk load.
# Applies only to blocks unloaded after config reload.
# Range: 0 to max integer value.
ttl-after-unload: 120
# Interval in SECONDS between times a morphing block is revalidated to ensure it is still the same block
# the plugin expected it to be.
# Applies only to new or refreshed blocks after config reload.
# Range: 0 to max integer value.
ttl-after-refresh: 30
# Whether the plugin should immediately revalidate morphing blocks at or near the block being placed, destroyed,
# or modified. Setting this to false may improve server performance if the server has high player activity,
# but at the cost of the morphing blocks being outdated until their normal refresh time.
refresh-on-block-change: true
The plugin also has a few commands to check and override its status as well as to debug it if something doesn't seem to be working properly.
Commands
/fd status - Check when the plugin will start trolling players.
/fd override true/false - Manually change the plugin's status, overriding the config options. This override doesn't persist across server restarts. This may be used if you need to pause the plugin temporarily to do something without being affected, such as chunk pre-genning.
/fd override clear - Remove the manual override so the plugin follows the enable options in config instead.
/fd reload - Reloads the configuration file.
/fd getData - For debugging purpose. Check the block you're looking at to see if it is classified as a morphing block and its properties.
Permissions
foolsdiamond.exclude - Excludes a player from being haunted by disguised blocks.
foolsdiamond.command.reload - Allows the player to use the reload command.
foolsdiamond.command.override - Allows the player to use the override command.
foolsdiamond.command.status - Allows the player to use the status command.
foolsdiamond.command.getdata - Allows the player to use the getData command.
