Amnesia
have you ever wondered what would happen if steve stopped taking his meds?
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.
Amnesia
Amnesia

Amnesia is a highly configurable Minecraft plugin for PaperMC and Folia servers that shuffles crafting recipes. It offers two distinct shuffling modes: random item replacement and recipe result swapping.
Features
- User Notifications: Two modes of recipe manipulation: - User Notifications: Recipe outputs are replaced with random items from the Minecraft item registry. - User Notifications: Recipe outputs are shuffled amongst existing recipes. - User Notifications: Automatic reshuffling of recipes at configurable intervals with countdown notifications. - User Notifications: Ability to use seeds to generate and recall specific recipe shuffles. - User Notifications: Recipe shuffle state and timer settings persist across server restarts. - User Notifications: Control how clients handle recipe changes with three different modes. - User Notifications: Comprehensive commands for managing shuffling, timer, seed, and configuration. - User Notifications: YAML based configuration for persistent settings and customization. - User Notifications: Designed for minimal server impact, especially on Folia servers. - User Notifications: Clear and informative messages to players about upcoming and executed recipe shuffles.
Commands
- `/amnesia shuffle [mode] [seed <value>|random]` - Shuffles recipes using the specified mode and optionally a seed. - `/amnesia timer [enable|disable|interval <seconds>]` - Manages the timer-based reshuffling. - `/amnesia seed [view|set <seed>|random]` - Manages the shuffle seed. - `/amnesia reload` - Reloads the plugin configuration.
Permissions
- `amnesia.command.shuffle` - Allows use of `/amnesia shuffle` command. - `amnesia.command.timer` - Allows use of `/amnesia timer` command. - `amnesia.command.seed` - Allows use of `/amnesia seed` command. - `amnesia.command.reload` - Allows use of `/amnesia reload` command.
Configuration
The plugin uses a `config.yml` file for configuration settings and a `data.yml` file for persistent data. Here's an example configuration:
```yaml
Shuffle mode: "random_item" or "recipe_result"
shuffle-mode: "random_item"
Timer interval in seconds (default: 3600 - 1 hour)
timer-interval: 3600
Whether the timer-based reshuffling is enabled by default
timer-enabled: false
Client recipe synchronization mode:
"resync" - Clients will be resynced with the new recipes (default)
"clear" - Clients won't get any recipes
"vanilla" - Don't touch client recipes and let Minecraft handle it
client-sync-mode: "vanilla"
List of recipe keys to exclude from shuffling
excluded-recipes:
- "minecraft:stick"
List of item keys to exclude from being selected in random_item shuffle mode
excluded-random-items: - "minecraft:air" - "minecraft:barrier"
... more items
Countdown intervals (in seconds) for timer notifications
notification-intervals: - 300 # 5 minutes - 60 # 1 minute - 30 # 30 seconds
... more intervals
Customizable notification messages
notification-messages: countdown-5-minutes: "<gold>5 minutes until recipes are shuffled!</gold>"
... more messages
```
The `data.yml` file stores persistent data such as:
```yaml
The seed used for recipe shuffling
seed: 123456789
Whether the seed was set by the user (true) or generated randomly (false)
user-set-seed: false
Whether recipes are currently shuffled
is-shuffled: false
When recipes were last shuffled (milliseconds since epoch)
last-shuffle-time: 0 ```
Installation
1. Download the latest release from the releases page. 2. Place the JAR file in your server's `plugins` folder. 3. Start or restart your server. 4. Configure the plugin by editing the `config.yml` file in the `plugins/Amnesia` folder.
Support
If you encounter any issues or have suggestions, please open an issue on the GitHub repository.