# Paper Tweaks

The popular VanillaTweaks datapack collection, optimized in plugin form!

This plugin takes all the features all the [original Vanilla Tweaks](https://vanillatweaks.net/) datapacks have and repackages those features inside a plugin for Spigot, Paper, Purpur, and Airplane (and all the other 4000 forks out there) servers.

For more quick facts, check out our [FAQ](/f.a.q).

### Quick Setup Instructions

* Download the plugin, either from the [SpigotMC resource page](https://www.spigotmc.org/resources/paper-tweaks-vanilla-tweaks-replacement.81288/), or directly from [GitHub Releases](https://github.com/MC-Machinations/VanillaTweaks/releases).
  * I highly recommend using [Paper](https://papermc.io/) over CraftBukkit/Spigot. Paper is a drop in replacement for those and adds numerous features and performance enhancements
  * Be sure to choose the correct download (Bukkit for Bukkit/Spigot and Paper for Paper + all forks of Paper)
* Drop the downloaded jar file into your `plugins` folder which should be in the root of your server directory.
* Startup the server
* Open `plugins/VanillaTweaks/modules.yml` and enable whatever modules you want!
* Browse this wiki for information on each modules functionality and feature set


# F.A.Q

Frequently asked questions (or stuff you should just know)

## Why is this better?

**The short answer:** Datapacks that use functions can run 1000s of commands/second which is very costly performance-wise

**The long answer:** That really depends on what kind of datapack you are talking about. Some datapacks (the much simpler ones) only modify loot tables, or add simple advancements, or add recipes and those datapacks are totally fine for use on servers where performance is a concern. In fact, I'd argue that datapacks do those simple things better than a plugin could. **BUT,** some datapacks make use of functions which basically just run a group of commands, and they do that every tick, for as long as they are loaded. This can result in thousands of commands be run every second changing or reading the state of the world, and **that** can have a serious effect on performance. This plugin uses the Bukkit API's event system to dramatically reduce the cost on server performance.

## Something isn't working quite right. What do I do?

If you think you have an issue/bug, please [open an issue ticket here](https://github.com/MC-Machinations/VanillaTweaks/issues). Or you can [join the discord](https://discord.gg/vKT7vt4) and ask for support in one of the support channels.

## How to I switch to this plugin? (migrations)

Some datapacks, like graves, stats, or home have stored information on the server, like grave locations and items in graves, or home locations. **At the moment**, there only exists migrations for statistics. So if you remove your graves datapack and enable the Graves module of this plugin, existing graves won't work as expected. Same for homes and other non-stat datapacks.&#x20;

It's possible in the future, migrations for other datapacks might be added, but for the moment, they don't exist. So I recommend, if you don't want to lose data, keeping those datapacks, and just using other modules from this plugin.

Other than that, its as simple as running the uninstall function for the datapacks (should just be `/function #vanillatweaks:uninstall`). Then disable the datapacks, add the plugin, and restart the server.&#x20;

#### IMPORTANT

For a serious environment where people might get mad at you if you configure something wrong, make sure you take a backup of your server before disabling/removing the datapacks and adding the plugin in case there is some unexpected loss of data. Feel free to inquire about possible issues migrating to this plugin [in the discord](https://discord.com/invite/vKT7vt4).


# Getting Started

Begin using Vanilla Tweaks

So now that you have finished the [quick setup instructions](/#quick-setup-instructions), you are ready to start using the plugin!

In addition to enabling/disabling modules (datapacks) via the `modules.yml` file, you can also use in-game commands. `/vt enable <module>` and `/vt disable <module>` give you control of enabling and disabling any module. I recommend using the in game commands as they save you some effort finding which module you are looking for in the `modules.yml` file (**NOTE:** if you do edit the `modules.yml` file, you will need to reload the plugin for any saved changes to take effect. `/vt reload` can help you there).

In addition to the `modules.yml` file, there is a `config.yml`. This contains an option to disable tracking metrics for your server. The metrics are anonymous and useful for me to see how my plugin is used so I can improve the experience for everyone using it.

Next, there is the `modules` folder. This contains the configuration files for each of the modules (**NOTE:** some modules do not have any configuration options, and therefore are not present in this folder). Once again, if you make a change to one of this configuration files, you must either reload the whole plugin or just the module that you changed the config file for. Use `/vt reload module <module>` to reload a specific module.

Lastly, there is the `i18n` folder. i18n is short for "internationalization" which means translations. Most messages shown to the player can be changed in the various language files. Currently, only English is supported, but I hope as the plugin grows, more people contributing translations will expand that list. See [i18n](/i18n) for more information on this.


# i18n

Internationalization


# AFK Display

Tracks player AFK status

Players will be marked as AFK in the tablist after a configurable amount of time without movement.

## Permissions

<table><thead><tr><th width="233" align="right">Permission</th><th>Info</th></tr></thead><tbody><tr><td align="right">vanillatweaks.afkdisplay</td><td><strong>Default:</strong> <mark style="color:green;">true</mark><br><strong>Description:</strong> Players will have afk status activated</td></tr></tbody></table>

## Configuration

```yaml
# The time in seconds without moving
# before a player is considered AFK
afk-time-in-seconds: 300
```


# Armored Elytras

A special elytra that offers extra protection

Drop an elytra and a chestplate onto an anvil to combine them into an Armored Elytra. Dropping the Armored Elytra onto a grindstone separates the two. Enchantments are preserved through both processes. If dropped into lava or a fire, the elytra will be removed but (if it is netherrite) the chestplace will remain.

## Permissions

<table><thead><tr><th width="323" align="right">Permission</th><th>Info</th></tr></thead><tbody><tr><td align="right">vanillatweaks.armoredelytra.create</td><td><strong>Default:</strong> <mark style="color:red;">false</mark><br><strong>Description:</strong> Allows the creation of the item</td></tr><tr><td align="right">vanillatweaks.armoredelytra.destroy</td><td><strong>Default:</strong> <mark style="color:red;">false</mark><br><strong>Description:</strong> Allows the destruction of the item</td></tr><tr><td align="right">vanillatweaks.armoredelytra</td><td><strong>Default:</strong> <mark style="color:green;">true</mark><br><strong>Description:</strong> Allows both the creation and destruction of the item</td></tr></tbody></table>


# Back

Adds a /back command to teleport back to previous locations

## Commands

<table><thead><tr><th width="232.66666666666666" align="right">Command</th><th>Info</th></tr></thead><tbody><tr><td align="right">/back</td><td><strong>Permission:</strong> <code>vanillatweaks.back</code><br><strong>Description:</strong> Teleport back to your previous teleport location</td></tr><tr><td align="right">/back admin config</td><td><strong>Permission:</strong> <code>vanillatweaks.back.admin.config</code><br><strong>Description:</strong> Configure Back in-game</td></tr></tbody></table>

## Permissions

<table><thead><tr><th width="295" align="right">Permission</th><th width="374">Info</th></tr></thead><tbody><tr><td align="right">vanillatweaks.back</td><td><strong>Default:</strong> <mark style="color:green;">true</mark><br><strong>Description:</strong> Use the back command to return to previous locations</td></tr><tr><td align="right">vanillatweaks.back.admin.config</td><td><strong>Default:</strong> <mark style="color:orange;">op</mark><br><strong>Description:</strong> Configure Back in-game</td></tr></tbody></table>

## Configuration

```yaml
# When enabled, death locations will 
# be saved in the back command.
save-death-location: true
# The number of seconds required to stand 
# still after running the back command.
command-delay: 3
# The number of seconds required to wait 
# between uses of the back command.
command-cooldown: 10
```


# Cauldron Concrete

Make concrete using cauldrons

Drop any powdered concrete in a cauldon containing water to convert it to the solidified concrete of that same color.


# Confetti Creepers

Makes creepers super colorful!

Configure a percent chance for creepers to explode into a display of fireworks instead of damaging blocks.

## Configuration

```yaml
# Value between 0 (inclusive) and 1.0 (exclusive) 
# for the chance a creeper will be a confetti creeper
chance: 1.0
```


# Coordinates HUD

A helpful HUD for showing coordinates and direction

## Commands

<table><thead><tr><th width="137" align="right">Name</th><th width="654.3333333333333">Info</th></tr></thead><tbody><tr><td align="right">/togglehud</td><td><strong>Permission:</strong> vanillatweaks.coordinateshud.togglehud<br><strong>Description:</strong> Toggle the HUD</td></tr></tbody></table>

## Permissions

<table><thead><tr><th width="354" align="right">Permission</th><th>Info</th></tr></thead><tbody><tr><td align="right">vanillatweaks.coordinateshud.togglehud</td><td><strong>Default:</strong> <mark style="color:green;">true</mark><br><strong>Description:</strong> Use /togglehud</td></tr></tbody></table>

## Configuration

```yaml
# Time in ticks between updates of the 
# HUD in the player's action bar
hud-update-time-in-ticks: 2
```


# Count Mob Deaths

Toggleable scoreboard for counting mob deaths

## Commands

<table><thead><tr><th width="237" align="right">Command</th><th>Info</th></tr></thead><tbody><tr><td align="right">/countmobdeaths start</td><td><strong>Permission:</strong> vanillatweaks.mobdeathcount.start<br><strong>Description:</strong> Start counting mob deaths</td></tr><tr><td align="right">/countmobdeaths stop</td><td><strong>Permission:</strong> vanillatweaks.mobdeathcount.stop<br><strong>Description:</strong> Stop counting mob deaths</td></tr><tr><td align="right">/countmobdeaths reset</td><td><strong>Permission:</strong> vanillatweaks.mobdeathcount.reset<br><strong>Description:</strong> Reset mob death counts to 0</td></tr><tr><td align="right">/countmobdeaths toggle</td><td><strong>Permission:</strong> vanillatweaks.mobdeathcount.toggle<br><strong>Description:</strong> Toggle between main and mob death count scoreboard</td></tr></tbody></table>

## Permissions

<table><thead><tr><th width="327" align="right">Permission</th><th>Info</th></tr></thead><tbody><tr><td align="right">vanillatweaks.mobdeathcount.start</td><td><strong>Default:</strong> <mark style="color:red;">false</mark><br><strong>Description:</strong> Use /countmobdeaths start</td></tr><tr><td align="right">vanillatweaks.mobdeathcount.stop</td><td><strong>Default:</strong> <mark style="color:red;">false</mark><br><strong>Description:</strong> Use /countmobdeaths stop</td></tr><tr><td align="right">vanillatweaks.mobdeathcount.reset</td><td><strong>Default:</strong> <mark style="color:red;">false</mark><br><strong>Description:</strong> Use /countmobdeaths reset</td></tr><tr><td align="right">vanillatweaks.mobdeathcount.toggle</td><td><strong>Default:</strong> <mark style="color:red;">false</mark><br><strong>Description:</strong> Use /countmobdeaths toggle</td></tr><tr><td align="right">vanillatweaks.mobdeathcount</td><td><strong>Default:</strong> <mark style="color:green;">true</mark><br><strong>Description:</strong> Gives all of the above permissions</td></tr></tbody></table>

## Configuration

```yaml
# Any mobs listed here will be counted by the module
counted-mobs:
  - "minecraft:blaze"
  - "minecraft:cave_spider"
  - "minecraft:creeper"
  - "minecraft:drowned"
  - "minecraft:elder_guardian"
  - "minecraft:ender_dragon"
  - "minecraft:enderman"
  - "minecraft:endermite"
  - "minecraft:evoker"
  - "minecraft:ghast"
  - "minecraft:guardian"
  - "minecraft:husk"
  - "minecraft:ravager"
  - "minecraft:illusioner"
  - "minecraft:magma_cube"
  - "minecraft:phantom"
  - "minecraft:pillager"
  - "minecraft:shulker"
  - "minecraft:silverfish"
  - "minecraft:skeleton"
  - "minecraft:skeleton_horse"
  - "minecraft:slime"
  - "minecraft:spider"
  - "minecraft:stray"
  - "minecraft:vex"
  - "minecraft:vindicator"
  - "minecraft:witch"
  - "minecraft:wither"
  - "minecraft:wither_skeleton"
  - "minecraft:zombie"
  - "minecraft:zombie_horse"
  - "minecraft:zombified_piglin"
  - "minecraft:zombie_villager"
```


# Custom Nether Portals

Create non-rectangular Nether Portals

This one is pretty straight forward, just create a nether portal frame ensuring all sides are completed and light it just like any other Nether Portal

## Configuration

```yaml
# Any material in this list will be considered a portal frame material
portal-frame-materials:
  - "minecraft:obsidian"
  - "minecraft:crying_obsidian"
size:
  # Minimum number of portals block spaces required to create a valid portal
  min-portal-blocks: 6
  # How wide the portal can be. Larger numbers may cause issues
  max-portal-width: 23
  # How tall the portal can be. Larger numbers may cause issues
  max-portal-height: 23
```


# Durability Ping

Notifies players when their tools are close to breaking

## Commands

<table><thead><tr><th width="306" align="right">Command</th><th>Info</th></tr></thead><tbody><tr><td align="right">/durabilityping config</td><td><strong>Permission:</strong> vanillatweaks.durabilityping.config<br><strong>Description:</strong> Configure personal durability ping settings</td></tr><tr><td align="right">/durabilityping config reset</td><td><strong>Permission:</strong> vanillatweaks.durabilityping.config<br><strong>Description:</strong> Reset personal settings to their defaults</td></tr><tr><td align="right">/durabilityping admin config</td><td><strong>Permission:</strong> vanillatweaks.durabilityping.admin.config<br><strong>Description:</strong> Configure global durability ping settings</td></tr><tr><td align="right">/durabilityping admin config reset</td><td><strong>Permission:</strong> vanillatweaks.durabilityping.admin.config<br><strong>Description:</strong> Reset global durability ping settings to their defaults</td></tr></tbody></table>

## Permissions

<table><thead><tr><th width="360" align="right">Permission</th><th>Info</th></tr></thead><tbody><tr><td align="right">vanillatweaks.durabilityping.config</td><td><strong>Default:</strong> <mark style="color:green;">true</mark><br><strong>Description:</strong> Use both /dp config commands</td></tr><tr><td align="right">vanillatweaks.durabilityping.notification</td><td><strong>Default:</strong> <mark style="color:green;">true</mark><br><strong>Description:</strong> Allows a notification to be shown</td></tr><tr><td align="right">vanillatweaks.durabilityping.admin.config</td><td><strong>Default:</strong> <mark style="color:orange;">op</mark><br><strong>Description:</strong> Use both /dp admin config commands</td></tr></tbody></table>

## Configuration

```yaml
# The amount of uses left a piece of equipment should have left before notifying the player
uses-left: 10
# Cooldown in seconds between notifications to limit spam
notification-cooldown-seconds: 10
defaults:
  # Default setting for notifying players when their main/off hand tools get low
  hand-ping: true
  # Default setting for notifying players when their equipped armor gets low
  armor-ping: true
  # Default setting for playing a sound upon a notification
  play-sound: true
  # Default setting for displaying the notification to the player. Can be one of: TITLE, SUBTITLE, CHAT, ACTION_BAR, HIDDEN
  display: "SUBTITLE"
# Enable the durability ping by default for new players
enabled-by-default: true
```


# Elevators

Create simple vertical elevators

Throw an enderpearl onto a wool block of any color to create an elevator block. The block will have some purple particles surrounding it. Then do the same process to another wool block at the same X and Z coordinates, but different Y coordinates. You can now jump or sneak to go up or down respectively.

## Configuration

```yaml
# Max search distance in the positive or negative Y to look for other elevators
max-search-distance: 15
```


# Fast Leaf Decay

Basically just what the title says

Speeds up the leaf decay on trees after all the wood has been mined.


# Gem Villagers

Create villager shops to trade gems from Treasure Gems

## Commands

<table><thead><tr><th width="339" align="right">Command</th><th>Info</th></tr></thead><tbody><tr><td align="right">/gemvillagers spawn &#x3C;type> [location]</td><td><strong>Permission:</strong> vanillatweaks.gemvillagers.spawn<br><strong>Description:</strong> Spawn a new gem villager</td></tr></tbody></table>

## Permissions

|                       Permission | Info                                                                                                                            |
| -------------------------------: | ------------------------------------------------------------------------------------------------------------------------------- |
| vanillatweaks.gemvillagers.spawn | <p><strong>Default:</strong> <mark style="color:orange;">op</mark><br><strong>Description:</strong> Use /gemvillagers spawn</p> |


# Graves

Stores player's items and experience on death in a grave

A simple graves plugin to capture player drops and experience. Has some configuration options to allow grave robbing and locating.

If you would like to remove all graves, use the command below:

```
/execute as @e[type=minecraft:armor_stand] if data entity @s "BukkitValues".vanillatweaks:player_uuid run kill @s
```

You can limit the range of deletion to 20 blocks by adding a `,distance=..20` to the first entity selector. **This command destroys the items in the graves, so be careful.**

## Commands

<table><thead><tr><th width="242" align="right">Command</th><th>Info</th></tr></thead><tbody><tr><td align="right">/graves locate</td><td><strong>Permission:</strong> <code>vanillatweaks.graves.locate</code><br><strong>Description:</strong> Locates your most recent grave</td></tr><tr><td align="right">/graves grave-key</td><td><strong>Permission:</strong> <code>vanillatweaks.graves.admin.grave-key</code><br><strong>Description:</strong> Obtain a grave key capable of opening any grave</td></tr><tr><td align="right">/graves admin config</td><td><strong>Permission:</strong> <code>vanillatweaks.graves.admin.config</code><br><strong>Description:</strong> Configure Graves in-game</td></tr></tbody></table>

## Permissions

<table><thead><tr><th width="339" align="right">Permission</th><th>Info</th></tr></thead><tbody><tr><td align="right">vanillatweaks.graves</td><td><strong>Default:</strong> <mark style="color:green;">true</mark><br><strong>Description:</strong> Player death can spawn a grave</td></tr><tr><td align="right">vanillatweaks.graves.locate</td><td><strong>Default:</strong> <mark style="color:green;">true</mark><br><strong>Description:</strong> Use the graves locate command to find your last grave (requires grave locations to be toggled on in the configuration)</td></tr><tr><td align="right">vanillatweaks.graves.admin.admin-key</td><td><strong>Default:</strong> <mark style="color:orange;">op</mark><br><strong>Description:</strong> Use the command to get a grave key</td></tr><tr><td align="right">vanillatweaks.graves.admin.config</td><td><strong>Default:</strong> <mark style="color:orange;">op</mark><br><strong>Description:</strong> Configure Graves in-game</td></tr></tbody></table>

## Configuration

```yaml
# Enable to use crouching on the grave to retrieve it
legacy-shift-behavior: false
# When enabled, players can open graves they don't own
grave-robbing: false
# When grave-robbing is enabled, this is the number of seconds to prevent grave robbing
grave-robbing-timer: 0
# When enabled, players can see the coordinates of their last grave
grave-locating: true
# When enabled, graves collect experience dropped on death
xp-collection: true
# Worlds listed here will not create graves for players
disabled-worlds:
  - "disabled_world_name"

```


# Home

Welcome to the VanillaTweaks wiki!

[List of modules](https://app.gitbook.com/MC-Machinations/VanillaTweaks/wiki/Modules)\
[Configuration](https://app.gitbook.com/MC-Machinations/VanillaTweaks/wiki/Configuration)\
[Permissions](https://github.com/MC-Machinations/VanillaTweaks/wiki/Permissions)


# F.A.Q

Frequently asked questions (or stuff you should just know)

## Why is this better?

**The short answer:** Datapacks that use functions can run 1000s of commands/second which is very costly performance-wise

**The long answer:** That really depends on what kind of datapack you are talking about. Some datapacks (the much simpler ones) only modify loot tables, or add simple advancements, or add recipes and those datapacks are totally fine for use on servers where performance is a concern. In fact, I'd argue that datapacks do those simple things better than a plugin could. **BUT,** some datapacks make use of functions which basically just run a group of commands, and they do that every tick, for as long as they are loaded. This can result in thousands of commands be run every second changing or reading the state of the world, and **that** can have a serious effect on performance. This plugin uses the Bukkit API's event system to dramatically reduce the cost on server performance.

## Something isn't working quite right. What do I do?

If you think you have an issue/bug, please [open an issue ticket here](https://github.com/MC-Machinations/VanillaTweaks/issues). Or you can [join the discord](https://discord.gg/vKT7vt4) and ask for support in one of the support channels.


# Modules

A list of all currently supported VanillaTweaks datapacks

### Mobs

* [Anti Creeper Grief](/v0.1.x/anti-creeper-grief)
* [Anti Enderman Grief](/v0.1.x/anti-enderman-grief)
* [Anti Ghast Grief](/v0.1.x/anti-ghast-grief)
* [Double Shulker Shells](/v0.1.x/double-shulker-shells)
* [Dragon Drops](/v0.1.x/dragon-drops)
* [Larger Phantoms](/v0.1.x/larger-phantoms)
* [More Mob Heads](/v0.1.x/more-mob-heads)
* [Silence Mobs](/v0.1.x/silence-mobs)
* [Count Mob Deaths](/v0.1.x/count-mob-deaths)

### Item Tools

* [Redstone Rotation Wrench](/v0.1.x/redstone-rotation-wrench)
* [Terracotta Rotation Wrench](/v0.1.x/terracotta-rotation-wrench)
* [Durability Ping](/v0.1.x/durability-ping)
* [Kill Empty Boats](/v0.1.x/kill-empty-boats)

### Utilities

* [AFK Display](/v0.1.x/afk-display)
* [Sethome](/v0.1.x/sethome)
* [Multiplayer Sleep](/v0.1.x/multiplayer-sleep)
* [Player Graves](/v0.1.x/player-graves)
* [Tag](/v0.1.x/tag)
* [Thunder Shrine](/v0.1.x/thunder-shrine)
* [Track Raw Statistics](/v0.1.x/track-raw-statistics)
* [Nether Portal Coords](/v0.1.x/nether-portal-coords)
* [Coordinates HUD](/v0.1.x/coordinates-hud)
* [Spawning Spheres](/v0.1.x/spawning-spheres)
* [Player Head Drops](/v0.1.x/player-head-drops)
* [Spectator Night Vision](/v0.1.x/spectator-night-vision)
* [Spectator Conduit Power](/v0.1.x/spectator-conduit-power)

### Villagers

* [Villager Death Messages](/v0.1.x/villager-death-messages)
* [Villager Workstation Highlights](/v0.1.x/villager-workstation-highlights)
* [Wandering Trades](/v0.1.x/wandering-trades)
* [Pillager Tools](/v0.1.x/pillager-tools)

### Experimental

* [Confetti Creepers](/v0.1.x/confetti-creepers)
* [XP Management](/v0.1.x/xp-mangement)

### Other

* [Persistent Heads](/v0.1.x/persistent-heads)


# Permissions

## Permission Nodes

| Node                                                | Description                                                        | Default |
| --------------------------------------------------- | ------------------------------------------------------------------ | ------- |
| vanillatweaks.afkdisplay                            | Players will have afk status activated                             | ALL     |
| vanillatweaks.coordinateshud.togglehud              | Toggle HUD                                                         | ALL     |
| vanillatweaks.durabilityping.toggle                 | Toggle durability ping notification                                | ALL     |
| vanillatweaks.killboats                             | Use kill boats command                                             | OP      |
| vanillatweaks.largerphantoms                        | Phantoms spawned on these players will be affected                 | ALL     |
| vanillatweaks.mobdeathcount.help                    | Use /mdc help                                                      | ALL     |
| vanillatweaks.mobdeathcount.start                   | Use /mdc start                                                     | ALL     |
| vanillatweaks.mobdeathcount.stop                    | Use /mdc stop                                                      | ALL     |
| vanillatweaks.mobdeathcount.reset                   | Use /mdc reset                                                     | ALL     |
| vanillatweaks.mobdeathcount.toggle                  | Use /mdc toggle                                                    | ALL     |
| vanillatweaks.mobdrops.doubleshulkershells          | Shulkers killed by this player will be affected                    | ALL     |
| vanillatweaks.mobdrops.dragondrops                  | Dragons killed by this player will be affected                     | ALL     |
| vanillatweaks.moremobheads                          | Mobs killed by this player will drop heads (if killed by a player) | ALL     |
| vanillatweaks.multiplayersleep                      | Players with this permission will count towards threshold          | ALL     |
| vanillatweaks.netherportalcoords                    | Use /pcoords                                                       | ALL     |
| vanillatweaks.pillagertools.toggle                  | Toggle individual pillager tool settings                           | OP      |
| vanillatweaks.pillagertools.status                  | View pillager tool settings                                        | ALL     |
| vanillatweaks.playergraves                          | Player will have a grave created                                   | ALL     |
| vanillatweaks.playerheaddrops                       | Players killed by this player will drop heads                      | ALL     |
| vanillatweaks.sethome.sethome                       | Allow /sethome                                                     | ALL     |
| vanillatweaks.sethome.home                          | Allow /home                                                        | ALL     |
| vanillatweaks.admin                                 | Allow /sha reset                                                   | OP      |
| vanillatweaks.silencemobs                           | Allow player to silence mobs                                       | ALL     |
| vanillatweaks.spawningspheres.add                   | Use /ss add                                                        | OP      |
| vanillatweaks.spawningspheres.remove                | Use /ss remove                                                     | OP      |
| vanillatweaks.spectatortoggle.nightvision           | Spectators can toggle the Night Vision effect                      | ALL     |
| vanillatweaks.spectatortoggle.conduitpower          | Spectators can toggle the Conduit Power effect                     | ALL     |
| vanillatweaks.tag.givetag                           | Gives you or a player a tag                                        | OP      |
| vanillatweaks.tag.reset                             | Resets a players it status                                         | OP      |
| vanillatweaks.thundershrine.create                  | Create a Thunder Shrine                                            | ALL     |
| vanillatweaks.thundershrine.remove                  | Removes a Thunder Shrine                                           | ALL     |
| vanillatweaks.thundershrine.help                    | Thunder Shrine help command                                        | ALL     |
| vanillatweaks.trackrawstats.clear                   | Removes the specified scorboard from screen                        | ALL     |
| vanillatweaks.trackrawstats.show                    | Shows a specific stat to that player                               | ALL     |
| vanillatweaks.trackrawstats.help                    | TRS help command                                                   | ALL     |
| vanillatweaks.villagerdeathmessages.death           | Get a message when a villager dies                                 | ALL     |
| vanillatweaks.villagerdeathmessages.conversion      | Get a message when a villager converts                             | ALL     |
| vanillatweaks.workstationhighlights.findworkstation | Allow /findworkstation                                             | ALL     |
| vanillatweaks.wrench.redstone                       | Allows use of the Wrench for Redstone-related blocks               | ALL     |
| vanillatweaks.wrench.terracotta                     | Allows use of the Wrench for Glazed terracotta blocks              | ALL     |

## Parent Nodes

| Node                                | Description                                     | Default | Children                                                                                                                                                                                        |
| ----------------------------------- | ----------------------------------------------- | ------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| vanillatweaks.durabilityping        | Gets the durability notification                | ALL     | <p>vanillatweaks.durabilityping.toggle<br></p>                                                                                                                                                  |
| vanillatweaks.mobdeathcount         | Use all /mdc commands                           | ALL     | <p>vanillatweaks.mobdeathcount.help<br>vanillatweaks.mobdeathcount.start<br>vanillatweaks.mobdeathcount.stop<br>vanillatweaks.mobdeathcount.reset<br>vanillatweaks.mobdeathcount.toggle<br></p> |
| vanillatweaks.mobdrops              | Entities killed by this player will be affected | ALL     | <p>vanillatweaks.mobdrops.doubleshulkershells<br>vanillatweaks.mobdrops.dragondrops<br></p>                                                                                                     |
| vanillatweaks.pillatertools         | Use both commands                               | OP      | <p>vanillatweaks.pillagertools.toggle<br>vanillatweaks.pillagertools.status<br></p>                                                                                                             |
| vanillatweaks.spawningspheres       | Use SpawningSpheres commands                    | OP      | <p>vanillatweaks.spawningspheres.add<br>vanillatweaks.spawningspheres.remove<br></p>                                                                                                            |
| vanillatweaks.tag                   | All tag commands                                | OP      | <p>vanillatweaks.tag.givetag<br>vanillatweaks.tag.reset<br></p>                                                                                                                                 |
| vanillatweaks.thundershrine         | Thunder shrine commands                         | ALL     | <p>vanillatweaks.thundershrine.remove<br>vanillatweaks.thundershrine.create<br>vanillatweaks.thundershrine.help<br></p>                                                                         |
| vanillatweaks.trackrawstats         | All TRS commands                                | ALL     | <p>vanillatweaks.trackrawstats.toggle<br>vanillatweaks.trackrawstats.show<br>vanillatweaks.trackrawstats.help<br></p>                                                                           |
| vanillatweaks.villagerdeathmessages | Get a message for either reason                 | ALL     | <p>vanillatweaks.villagerdeathmessages.death<br>vanillatweaks.villagerdeathmessages.conversion<br></p>                                                                                          |


# Configuration

```yaml
# Enable tracking by bStats.
enable-bstats: true
```


# AFK-Display

Grays out a player's name that is not moving for 5 minutes.

*No additional configuration*


# Anti-Creeper-Grief

Prevents Creepers from blowing up blocks and players do not take damage.

*No additional configuration*


# Anti-Enderman-Grief

Prevents Enderman from picking up blocks.

*No additional configuration*


# Anti-Ghast-Grief

Prevents Ghasts from blowing up blocks.

*No additional configuration*


# Confetti-Creepers

A configurable amount of creepers explode into fireworks and don't destroy blocks.

```yaml
# Chance between 0.0 and 1.0 (1.0 being 100%) of a creeper being a confetti creeper
chance: 1.0;
```


# Coordinates-HUD

Adds information to your actionbar, XYZ Coordinates, direction your character is facing, and a 24hr clock.

## Commands

/togglehud|thud - `Toggles the HUD`

## Configuration

```yaml
# Ticks between updating the HUD
hud-update-time-in-ticks: 2
```


# Count-Mob-Deaths

Adds the ability to view all mob deaths during the time the system is started. Can be stopped when you want.

## Commands

/mdc help - `Shows a help menu with clickable commands`\
/mdc start - `Starts the mob count`\
/mdc stop - `Stops the mob count`\
/mdc reset - `Resets the mob count`\
/mdc toggle - `Toggles the scoreboard's visibility to the player`


# Double-Shulker-Shells

Makes all shulkers drop 2 shells.

*No additional configuration*


# Dragon-Drops

Makes all dragons drop an elytra and dragon egg upon death.

*No additional configuration*


# Durability-Ping

Alerts the player when their tool's durability is under a configurable percentage.

## Configuration

```yaml
# Sets the cooldown in seconds between pings when a player's tool is below the threshold.
notification-cooldown-seconds: 10

# Sets the percentage threshold.
notification-threshold-percent: 0.02

# Enables the durability ping for new players by default (false to disable by default)
enabled-by-default: true
```


# Kill-Empty-Boats

Kills all boats that do not have entities in them.

## Commands

/killboats - `Removes all empty boats from all loaded areas in all worlds`


# Larger-Phantoms

Makes naturally spawning phantoms larger the longer you don't sleep.

*No additional configuration*


# More-Mob-Heads

Adds a chance to receive a mob head upon killing it.

## Configuration

```
# setting this to true will only allow mob heads to drop when a player kills the mob, not any other cause
require-player-kill: false
```


# Multiplayer-Sleep

Adds the ability for a configurable percentage of players to sleep and skip the night in a multiplayer world.

## Configuration

```yaml
# Worlds for this module to scan. Defaults to the default overworld.
included-worlds:
- world

# Percentage of players that need to be sleeping in order to skip the night.
sleep-percentage: 0.6
```


# Nether-Portal-Coords

Adds a command to calculate where a nether portal must be placed in the other dimension. Useful for syncing up nether portals.

## Commands

/pcoords - `Shows the coordinates of the other world that a portal should be placed to link up with that location`

## Configuration

```yaml
# List of worlds to count as the "Nether". Defaults to the default nether world
nether-type-worlds:
- world_nether

# List of worlds to count as the "Overworld". Defaults to the default overworld.
overworld-type-worlds:
- world
```


# Persistent-Heads

Player heads retain their names and lore when placing/breaking them.


# Pillager-Tools

Allows you to disable bad omen, patrols, or patrol leaders separately.

## Commands

/ptools toggle  - `Toggles the state of that feature` (vanillatweaks.pillagertools.toggle)\
/ptools stats - `Shows the state of features being enabled/disabled`

## Configuration

```yaml
# False means the feature is disabled, true means enabled
bad-omen: false
patrol-leaders: true
patrols: true
```


# Player-Graves

When a player dies, a grave is made at their location containing all their items/armor. When the player who died sneaks over the grave, all his items are put back into the original slots.

## Configuration

```yaml
# List of world names where graves will not be created and items will drop as normal
disabled-worlds:
- disabled_world_name
```


# Player-Head-Drops

A player will drop their head when killed by another player. The item displays who the killer is.

## Configuration

```yaml
# The chance of the head dropping. 1.0 is a 100% chance.
head-drop-chance: 1.0
```


# Redstone-Rotation-Wrench

Adds a custom wrench in-game that allows you to rotate redstone components when right-clicking.

## Crafting Recipe

![Crafting Recipe](https://i.imgur.com/zRkiJbB.png)

## Note

This module requires the use of a custom resource pack to add the wrench icon. If this module is enabled, player's will be prompted to download the pack when they join the server.


# Sethome

Allows you to set a home, and relocate back to it. There is a configurable limit to how many uses each player gets of the sethome command as well as a cooldown on using the /home command. There is an admin only command that can reset a player's limit.

## Commands

/sethome - `Sets the users home at that location`\
/home - `Teleports the user to their saved home location`\
/sha reset  - `Resets the player's sethome limit` (vanillatweaks.sethome.admin)

## Configuration

```yaml
# Whether or not to allow /home teleportation across dimensions
allow-across-dimension: true

# Cooldown in seconds on using the /home command
home-command-cooldown-seconds: 0

# Default number of times each player can use the /sethome command
default-sethome-limit: 5
```


# Silence-Mobs

Adds the ability to silence mobs using a name tag. `silence me`, or `silence_me` (case insensitive) are all acceptable names.

*No additional configuration*


# Spawning-Spheres

Allows you to view the spawnable area around a center point through the use of glowing spheres. Useful for proofing farms.

## Commands

/spawnsphere|ss add  - `Adds the specified color sphere. Can only have 1 sphere of a color at a time`\
/spawnsphere|ss remove  - `Removes the specified color sphere.`


# Spectator-Conduit-Power

Easily toggle conduit power when in spectator

## Commands

/tcp - `Toggles Conduit Power in spectator mode`


# Spectator-Night-Vision

Easily toggle night vision when in spectator mode.

## Commands

/tnv - `Toggles night vision`


# Tag

Adds the Hermitcraft tag game directly into your world!

## Commands

/tag givetag \[Player] - `Sets you as "it" or if specified, the player`\
/tag reset  `Resets the "it" status for the specified player`

## Configuration

```yaml
# True to show messages in chat when a new person becomes it.
show-messages: true
# Plays a sound for the player who hasn't yet picked up their tag.
play-sound: true
# Time the player has to wait after being tagged to tag someone else.
tag-cooldown-in-seconds: 0
```


# Terracotta-Rotation-Wrench

Adds a custom wrench in-game that allows you to rotate glazed terracotta when right-clicking.

## Crafting Recipe

![Crafting Recipe](https://i.imgur.com/zRkiJbB.png)

## Note

This module requires the use of a custom resource pack to add the wrench icon. If this module is enabled, player's will be prompted to download the pack when they join the server.


# Thunder-Shrine

A shrine that allows you to create a thunderstorm when offering a Nether Star.

## Commands

/ts create - `Creates a thundershrine out of a nearby armor stand. Must be an armor stand within 3 blocks`\
/ts remove - `Removes a nearby thundershrine`


# Track-Raw-Statistics

Adds 150+ scoreboards that track many different statistics. Especially useful for multiplayer.

## Commands

/trs clear \[TABLIST|SIDEBAR] - `Clears specified scoreboard`\
/trs show   \[TABLIST|SIDEBAR] - `There are too many to list, but the command completions should be self explanatory`


# Villager-Death-Messages

Notifies the server in chat when a villager is killed or converted. Displays the coordinates and dimension that it died in.

## Configuration

```yaml
# Whether or not to show a message on death
show-message-on-death: true

# Whether or not to show a message on conversion to zombie villager
show-message-on-conversion: true
```


# Villager-Workstation-Highlights

Allows you to find the workstation of any villager.

## Commands

/findworkstation - `Displays hearts just above the current workstation of the villager`


# Wandering-Trades

Adds Hermit heads and mini blocks to the Wandering Trader's trades.

## Configuration

```yaml
# Section pertaining to Hermit Heads
hermit-head-trades:
  # Max trades per wandering trader
  max: 3
  # Min trades per wandering trader
  min: 1
  enabled: true

# Section pertaining to MiniBlocks
block-trades:
  # Max miniblock trades per trader
  max: 7
  # Min miniblock trades per trader
  min: 5
  enabled: true
```


# XP-Mangement

Fill a empty glass bottle with experience by right clicking an enchanting table with the empty bottle in your main hand.\
You can extract the full amount of experience from the bottle by smelting it in a furnace.


