Fool's Diamond
Prank players with shapeshifting glow lichen, no resourcepack required!
Quick challenge
How far can you run before the mobs catch you?
Minecraft check
Confirm your run
Complete the quick check to get your code.
Fool's Diamond

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 false` to 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
```yaml
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.