AnarchyExploitFixes is a Paper plugin attempting to fix all major exploits affecting anarchistic Minecraft servers. It is designed for high configurability and performance.
Join the Discord:
(Add your server in a pull request)
constantiam.net (70-80), 5b5t.org (50-150), 6b6t.org (50-150), openanarchy.org (40-150), endcrystal.me (10-50), 6g6s.org (10-50), scfanarchy.ggs.gg (0-3), 22b22t.tk (8-40), 2b2t.com.ar (10-50), f3f5.org (5-24), alacity.net (20-50), oldmate.sydney (5-20), play.basedmc.club (5-16), 2b2t.pl (5-15), mc.zedanarchy.org (5-15), mc.omada.cafe (5-10), new-places.ru (5-20)
Downloads can be obtained from the modrinth page or the actions tab.
- PacketEvents - To be able to prevent packet exploits. Without it, the plugin cannot enable.
First, clone this repository.
Then run the following command in the root directory:
./gradlew clean build
Please note that some exploits have already been patched by LPX AntiPacketExploit and Panilla, meaning they are most likely not included. It is recommended to use those alongside AEF to patch the majority of exploits.
These commands can only be executed from console or by opped players.
- /aef reload - Reload the config
- /aef bytesize mainhand/inventory (player) - Show bytesize of a held item or inventory
- /aef datavalue - (1.12 Relevant) Get the data value for the item you're holding to add it to the remove list
- /aef elytra - See who is flying on an elytra.
- /aef geared - See how many players have armor or are new.
- /aef lag - artificially lag the server for testing. Every time you run the command the server freezes for 1 second by default, add milliseconds to the end of the command for custom time.
- /aef version - Plugin version.
This list does not include all features, check the config for all features!
All features listed here can be disabled or enabled in the config.
- Prevent NoCom exploit. - Prevent the 'NoCom' coordinate exploit
- Prevent a new lag exploit where fireworks can bring tps down to single digits.
- Prevent BowBomb exploit. - Prevent an exploit where bows can instantly kill a player.
- Prevent Burrow hack - Where you step inside a block so crystals can't do any damage.
- Prevent BoatFly exploit - Prevent the Futureclient / Rusherhack BoatFly exploit.
- Prevent Book-ban - All characters still work! The size of each page is just limited to 255 bytes (customizable). This allows to fill the whole page with latin characters. Characters that use more bytes such as Chinese may be limited in length.
- Prevent unbreakable Packet elytra fly.
- Prevent PacketFly exploit.
- Prevent end gateway crash exploit. - https://www.youtube.com/watch?v=c5nVBQeYo-I
- Patch end portal dupe. - https://www.youtube.com/watch?v=n-fN6txZNgc
- Prevent Y256 dispenser crash exploit. - https://www.youtube.com/watch?v=XL17P87O6xA
- Anti-Illegal system:
- Remove/revert illegal items: banned items, overstacked items, higher enchanted items, items with illegal datavalues, incompatible enchanted items (eg Silk Touch & Fortune on the same item), inapplicable enchanted items (unenchantables), Spawneggs and unbreakable items and all shulkers containing them.
- Remove illegal blocks that have been placed in the world. Supports removal of non-natural spawners too!
- Limit speed of snowballs to prevent clientside lag.
- Limit crafting table autorecipe speed to prevent a lag exploit.
- Prevent all coordinate exploits related to teleporting by vanishing a player right before they are teleported.
- Prevent destroying end portal frames.
- Prevent multiple end dragons from being created.
- Prevent portal traps - Teleport a player back to the original portal if they're trapped for too long.
- Automatically fill in the bedrock floor/roof if the bedrock has been broken.
- Prevent players from going below the bedrock floor by teleporting them up. - Useful so people can't elytra fly below the world.
- Remove wither heads automatically to prevent lag. - Removes on chunk load, unload or after a customizable alive time
- Option to disable wither spawning at spawn. - Disabled by default.
- Prevent chunk ban exploit. - Checks how much of each block is in a chunk.
- Prevent chat spam. - Delay between messages, Max messages per a certain time, separate link delay, character limit, and more!
- Prevent god mode exploit. - Prevent most godmode exploits, please note, there could still be bypasses.
- Prevent invalid names. - Disallow login from players with invalid characters/too long of a name.
- Prevent command signs. - Prevent players from right-clicking signs that have been placed with a command attached. For example, from a backdoor.
- Limit falling blocks per chunk to prevent lag.
- Limit exp bottles per chunk to prevent lag.
- Prevent projectiles from going through portals, shooting projectiles through portals can get them stuck in the same place on the other side, once they are loaded the server can crash.
- Prevent too many vehicles (eg. minecarts, boats) in chunks.
- Prevent bed-traps. - Disabled by default. Teleports players back to original location when they have been standing in a portal for too long.
- Prevent nether roof access. - Disabled by default.
- Prevent placing blocks on nether roof
- Option to disable chests on donkeys. - This is unlike IllegalStack's, no items will drop if the chest is broken. Useful to prevent many dupe exploits, Disabled by default.
- Option to prevent donkeys from going through portals. - Useful to prevent many dupe exploits, disabled by default.
- Option to mask all kick messages. - Change every kick message to "You have lost connection to the server", or whichever you specify. Disabled by default.
- Option to enable first join message. - Disabled by default.
- Command whitelist - Useful for only allowing commands that you want to be allowed, so players can't find your plugins. Disabled by default.
- Elytra speed limits for old and new chunks, and bursting settings for when tps is high.
- Elytra action bar to show players the speed they are going and speed limit.
- Rate-limit levers - Disabled by default. Prevent lag by spamming levers.
- Options to disable certain game features at specific TPS. Redstone, Elytra, Explosions, Falling Blocks.
- Bedrock Filler - Option to automatically fill overworld bedrock floor, nether bedrock floor and nether bedrock ceiling.
Missing config options will now automatically add themselves with every update without the config resetting.
This config was created on a 1.20.6 Paper server, default entries will vary based on server type and version.
config.yml
config-version: 1.1
##############
# Language #
##############
language:
# The default language that will be used if auto-language is set to false
# or no matching language file was found.
default-language: en_us
# If set to true, will display messages based on client language.
auto-language: true
#############
# General #
#############
general:
# The time in ticks (1 sec = 20 ticks) a checked tps will be cached
# by the plugin.
max-tps-check-interval-in-ticks: 20
# In case packet modules are causing trouble, you can disable them here.
disable-all-packet-listeners: false
# The Y-level at which the nether ceiling generates the last layer of bedrock
# on your server.
nether-ceiling-y: 127
# A server restart is required when changing a command's enable status!
commands:
say:
enable: false
# Uses MiniMessage format: https://docs.advntr.dev/minimessage/format.html.
format: '<gray>SERVER: <gold>%message%'
help:
# Help command that shows a small command overview for players.
enable: false
toggleconnectionmsgs:
# If you don't use join leave/messages, you can set this to false.
enable: true
###################
# Miscellaneous #
###################
misc:
join-leave-messages:
# If you want to hide yourself or someone else when logging
# into the game, use these permissions:
# aef.silentJoin, aef.silentLeave
enable: true
# If set to true, players will see join/leave messages by default
# and enter /toggleconnectionmsgs to disable them.
# If set to false will work the other way around.
connection-messages-on-by-default: true
show-in-console: false
first-join-messages:
# Configure message in lang folder.
# You can hide yourself and other players using the permission:
# aef.silentJoin
enable: false
show-in-console: true
kicks:
# Configure mask message in lang folder.
mask-kick-messages: false
prevent-message-kick:
# Cancels the kick for specific kick messages.
enable: false
kick-messages-to-listen-to:
- Kicked for spamming
- Stop spamming!
auto-bed:
# Re-enables SPIGOT-5988, also known as 'auto-bed'
# From Minecraft version 1.16 (≈June 2020) to version 1.17.1(≈October 2021)
# there was a bug (SPIGOT-5988) which did not reset the respawn point of the
# player after death, if his bed was blocked with a shulker.
# After dying a second time, the player will be back at his bed again.
# This bug persisted from the Spigot server to Paper and all its forks until
# October 2021, after which it was fixed by the Spigot development team.
# Attempts by players to reach out to Spigot to allow them to disable the patch
# that fixes the SPIGOT-5988 bug have failed.
# Demonstration of how the patch works:
# https://www.youtube.com/watch?v=3y5SbQXzMss
enable: false
##########
# Chat #
##########
chat:
command-whitelist:
# This will make it pretty much impossible to find your plugins as
# only the commands you specify will be able to work.
# Allow bypass using permission: aef.bypass.commandwhitelist
enable: false
# Will show logs when a command was denied.
log: false
# Enable only if you have problems with the default commandwhitelist.
# Otherwise not recommended to use.
use-packets: false
# Add all commands you WANT your players to be able to access
# WITHOUT the '/'. Not case sensitive.
whitelisted-commands:
- help
- vote
- kill
- discord
- togglechat
- toggleconnectionmsgs
- toggletells
- togglewhispering
- toggleprivatemsgs
- ignore
- ignorelist
- ignorehard
- toggledeathmsg
- dmt
- worldstats
- stats
- tps
- msg
- whisper
- w
- m
- t
- pm
- tell
- r
- reply
- last
# Add all subcommands you DON'T want your players to be able
# to access. Case sensitive!
blacklisted-subcommands:
- help about
- vote List
- vote Best
- vote Total
- worldstats reload
- stats reload
prevent-scanning-server-plugins:
# Prevents hacked clients running .plugins to find out what plugins
# the server is using.
# Recommended to use in combination with command whitelist.
enable: true
############
# Elytra #
############
elytra:
# NOTE: Set nocheatplus horizontal elytra settings to 500 or higher.
elytra-speed:
# The period in ticks players will be checked to determine their speed.
check-period-ticks: 10
# If set to false, will only calculate 2-Dimensional speed without taking height
# changes into consideration.
calculate-3D-speed: false
# Display info in Actionbar while flying.
display-actionbar: true
# Inform flying player if they are in old or new chunks.
display-chunk-info-in-actionbar: true
# Plays XP pickup sound to alert players when theyre going above the limit.
play-sound-when-too-fast: true
sound: ENTITY_EXPERIENCE_ORB_PICKUP
# Recommended to leave false if you dont experience any issues.
teleport-instead-of-canceling-movement: false
Global-Settings:
# Global settings. If nothing else is enabled, this will be used for all environments.
enable: true
# Can be slow with a lot of players. Enable only if needed.
use-bypass-permission: false
deny-elytra-usage: false
speed-old-chunks: 1.81
speed-new-chunks: 1.81
enable-bursting: true
burst-speed-old-chunks: 5.0
burst-speed-old-chunk-TPS: 18.0
burst-speed-new-chunks: 3.12
burst-speed-new-chunk-TPS: 19.0
deny-elytra-on-low-TPS: true
deny-elytra-TPS: 12.0
also-remove-elytra-on-low-TPS: true
At-Spawn:
# Use separate values for players at spawn.
enable: false
# Radius in blocks around 00 that should count as spawn.
radius: 3000
# Can be slow with a lot of players. Enable only if needed.
use-bypass-permission: false
deny-elytra-usage: false
speed-old-chunks: 1.0
speed-new-chunks: 0.8
deny-elytra-on-low-TPS: true
deny-elytra-TPS: 10.0
also-remove-elytra-on-low-TPS: true
Nether-Ceiling:
# Use separate values for players above the nether ceiling.
enable: true
# Can be slow with a lot of players. Enable only if needed.
use-bypass-permission: false
deny-elytra-usage: false
speed-old-chunks: 0.5
speed-new-chunks: 0.5
enable-bursting: true
burst-speed-old-chunks: 1.0
burst-speed-old-chunk-TPS: 18.0
burst-speed-new-chunks: 1.0
burst-speed-new-chunk-TPS: 18.0
deny-elytra-on-low-TPS: true
deny-elytra-TPS: 12.0
also-remove-elytra-on-low-TPS: true
packet-elytra-fly:
# Patches the future/rusherhack/kamiblue 2b2t elytra fly exploit.
patch-packet-elytra-fly: false
# The fly exploit causes the player to constantly toggle gliding.
# If too many glide toggles occur within a timeframe, they are
# most likely using PacketFly.
# Still may trigger false positives when players are jumping and
# sprinting with elytra equipped, so recommended to play around
# with the values.
max-elytra-opens-per-time: 25
# Time in seconds a elytra open count will be remembered by the plugin.
time-in-seconds: 8
##################
# Chunk Limits #
##################
chunk-limits:
entity-limits:
dropped-item-limit:
# Limit the amount of dropped items in a chunk to combat lag.
# Be aware this does not prioritize items by value or anything,
# it just deletes whatever happens to get over the limit during
# counting.
enable: false
log-removals: true
max-dropped-items-per-chunk: 200
# The delay in ticks the plugin will wait after an item in a chunk
# has dropped before the check logic will run.
# This improves performance as there will be no check for each single
# item entity that spawns.
post-item-drop-check-delay-ticks: 60
# The period in ticks in which all loaded chunks should be regularly
# checked. Keep in mind: A lower number provides more accuracy but is
# also worse for performance.
check-period-in-ticks: 1200
# Runs item check when a chunk is loaded.
check-on-chunk-load: true
whitelist-specific-item-types: false
# Check the paper api for correct Material enums:
# https://jd.papermc.io/paper/1.20.6/org/bukkit/Material.html
# Make sure your minecraft version is matching as well.
whitelisted-types:
- BLACK_SHULKER_BOX
- BLUE_SHULKER_BOX
- BROWN_SHULKER_BOX
- CYAN_SHULKER_BOX
- GRAY_SHULKER_BOX
- GREEN_SHULKER_BOX
- LIGHT_BLUE_SHULKER_BOX
- LIGHT_GRAY_SHULKER_BOX
- LIME_SHULKER_BOX
- MAGENTA_SHULKER_BOX
- ORANGE_SHULKER_BOX
- PINK_SHULKER_BOX
- PURPLE_SHULKER_BOX
- RED_SHULKER_BOX
- SHULKER_BOX
- WHITE_SHULKER_BOX
- YELLOW_SHULKER_BOX
tile-entity-limit:
# Limit the amount of tile entities in a chunk to prevent lag.
enable: false
log-removals: true
max-tile-entities-per-chunk: 100
check-period-in-ticks: 20
villager-limit:
enable: false
max-villagers-per-chunk: 25
log-removals: false
# Check all chunks every x ticks.
check-period-in-ticks: 600
# Professions that are in the top of the list are going to be scheduled
# for removal first.
removal-priority:
- NONE
- NITWIT
- SHEPHERD
- FISHERMAN
- BUTCHER
- CARTOGRAPHER
- LEATHERWORKER
- FLETCHER
- MASON
- FARMER
- ARMORER
- TOOLSMITH
- WEAPONSMITH
- CLERIC
- LIBRARIAN
non-living-limit:
# Limit the amount of non living entities in a chunk to prevent lag.
# Ignores dropped items.
enable: false
log-removals: true
max-non-living-per-chunk: 100
check-period-in-ticks: 20
custom-limit:
# Limit specific entity types per chunk.
enable: false
log-removals: true
# Check all loaded chunks every x ticks.
check-period-in-ticks: 1200
chunk-age-skip:
enable: true
# How long a chunk has to have been inhabited for it to be checked.
# 1 second = 20 ticks.
min-age-in-ticks: 800
# When a chunk is loaded, entities inside of it are not necessarily
# loaded as well. Force loading is worse for performance, but there
# might be a scenario where this turns out to be useful.
forceload-entities: false
# Check the paper api for correct EntityType enums:
# https://jd.papermc.io/paper/1.20.6/org/bukkit/entity/EntityType.html
# Make sure your minecraft version is matching as well.
limited-types:
ALLAY: 20
ARROW: 20
AXOLOTL: 10
BAT: 3
BEE: 15
BLAZE: 10
CAT: 10
CAVE_SPIDER: 10
CHICKEN: 10
COD: 6
COW: 10
CREEPER: 10
DOLPHIN: 4
DONKEY: 10
DROWNED: 10
ENDERMAN: 10
ENDERMITE: 3
EVOKER: 15
FIREBALL: 5
FOX: 10
FROG: 20
GLOW_SQUID: 20
GOAT: 10
GUARDIAN: 20
HOGLIN: 10
HORSE: 10
HUSK: 10
IRON_GOLEM: 15
LLAMA: 10
MAGMA_CUBE: 10
MOOSHROOM: 10
MULE: 10
OCELOT: 3
PANDA: 5
PARROT: 10
PHANTOM: 10
PIG: 10
PIGLIN: 25
PIGLIN_BRUTE: 10
PILLAGER: 15
POLAR_BEAR: 5
PUFFERFISH: 3
RABBIT: 5
RAVAGER: 15
SALMON: 6
SHEEP: 10
SILVERFISH: 3
SKELETON: 10
SKELETON_HORSE: 10
SLIME: 10
SMALL_FIREBALL: 5
SNOWBALL: 5
SPIDER: 10
SQUID: 20
STRAY: 10
STRIDER: 3
TADPOLE: 20
TRADER_LLAMA: 10
TROPICAL_FISH: 6
TURTLE: 20
VEX: 15
VINDICATOR: 15
WANDERING_TRADER: 10
WITCH: 15
WITHER: 16
WITHER_SKELETON: 10
WITHER_SKULL: 10
WOLF: 10
ZOGLIN: 10
ZOMBIE: 10
ZOMBIE_HORSE: 10
ZOMBIE_VILLAGER: 25
ZOMBIFIED_PIGLIN: 20
vehicle-limit:
# Limit the amount of vehicles to prevent some lag machines.
# ex. dispenser that spawns a lot of boats into a single location
# then hitting it, causing all boats to explode in every direction.
enable: false
log-removals: false
max-vehicles-per-chunk: 25
# 200 ticks = 10 seconds.
check-period-in-ticks: 400
falling-block-limit:
# Prevent players from placing massive sand chunks, then collapsing
# them to kill the server.
enable: true
log: false
# Removes any falling block if there is more than x blocks actively
# falling in a chunk.
max-falling-gravity-blocks-per-chunk: 60
# Delay in ticks until the same chunk can be checked again.
# Prevents overchecking, because physics events can be called many
# times in a short time for the same chunk.
chunk-check-delay-in-ticks: 20
block-limit:
enable: false
# Attempt to prevent ChunkBan / Client FPS Lag
max-blocks-per-chunk:
ACACIA_HANGING_SIGN: 8
ACACIA_SIGN: 8
ACACIA_WALL_HANGING_SIGN: 8
ACACIA_WALL_SIGN: 8
BAMBOO_HANGING_SIGN: 8
BAMBOO_SIGN: 8
BAMBOO_WALL_HANGING_SIGN: 8
BAMBOO_WALL_SIGN: 8
BEACON: 32
BIRCH_HANGING_SIGN: 8
BIRCH_SIGN: 8
BIRCH_WALL_HANGING_SIGN: 8
BIRCH_WALL_SIGN: 8
BLACK_BANNER: 12
BLACK_WALL_BANNER: 12
BLUE_BANNER: 12
BLUE_WALL_BANNER: 12
BROWN_BANNER: 12
BROWN_WALL_BANNER: 12
CHEST: 500
CREEPER_HEAD: 16
CREEPER_WALL_HEAD: 16
CRIMSON_HANGING_SIGN: 8
CRIMSON_SIGN: 8
CRIMSON_WALL_HANGING_SIGN: 8
CRIMSON_WALL_SIGN: 8
CYAN_BANNER: 12
CYAN_WALL_BANNER: 12
DARK_OAK_HANGING_SIGN: 8
DARK_OAK_SIGN: 8
DARK_OAK_WALL_HANGING_SIGN: 8
DARK_OAK_WALL_SIGN: 8
DISPENSER: 100
DRAGON_HEAD: 16
DRAGON_WALL_HEAD: 16
ENCHANTING_TABLE: 16
ENDER_CHEST: 64
GLOWSTONE: 5000
GRAY_BANNER: 12
GRAY_WALL_BANNER: 12
GREEN_BANNER: 12
GREEN_WALL_BANNER: 12
JUNGLE_HANGING_SIGN: 8
JUNGLE_SIGN: 8
JUNGLE_WALL_HANGING_SIGN: 8
JUNGLE_WALL_SIGN: 8
LIGHT_BLUE_BANNER: 12
LIGHT_BLUE_WALL_BANNER: 12
LIGHT_GRAY_BANNER: 12
LIGHT_GRAY_WALL_BANNER: 12
LIME_BANNER: 12
LIME_WALL_BANNER: 12
MAGENTA_BANNER: 12
MAGENTA_WALL_BANNER: 12
MANGROVE_HANGING_SIGN: 8
MANGROVE_SIGN: 8
MANGROVE_WALL_HANGING_SIGN: 8
MANGROVE_WALL_SIGN: 8
MOVING_PISTON: 32
OAK_HANGING_SIGN: 8
OAK_SIGN: 8
OAK_WALL_HANGING_SIGN: 8
OAK_WALL_SIGN: 8
ORANGE_BANNER: 12
ORANGE_WALL_BANNER: 12
PIGLIN_HEAD: 16
PIGLIN_WALL_HEAD: 16
PINK_BANNER: 12
PINK_WALL_BANNER: 12
PISTON: 32
PISTON_HEAD: 32
PLAYER_HEAD: 16
PLAYER_WALL_HEAD: 16
PURPLE_BANNER: 12
PURPLE_WALL_BANNER: 12
RED_BANNER: 12
RED_WALL_BANNER: 12
SLIME_BLOCK: 128
SPRUCE_HANGING_SIGN: 8
SPRUCE_SIGN: 8
SPRUCE_WALL_HANGING_SIGN: 8
SPRUCE_WALL_SIGN: 8
STICKY_PISTON: 32
TRAPPED_CHEST: 200
WARPED_HANGING_SIGN: 8
WARPED_SIGN: 8
WARPED_WALL_HANGING_SIGN: 8
WARPED_WALL_SIGN: 8
YELLOW_BANNER: 12
YELLOW_WALL_BANNER: 12
ZOMBIE_HEAD: 16
ZOMBIE_WALL_HEAD: 16
minecart-limit:
# Limit the amount of minecarts to prevent lag caused by collisions.
enable: false
log-removals: false
max-minecarts-per-chunk: 25
check-period-in-ticks: 400
exp-bottle-limit:
# Prevent players from crashing the server or other players by
# creating a ton of THROWN_EXP_BOTTLE entities, then loading
# them at once.
# Does not limit the EXP_ORBS, just the bottle entities.
enable: true
log: false
max-exp-bottle-per-chunk: 25
# 20 ticks = 1 second
check-period-in-ticks: 800
#####################
# Lag Preventions #
#####################
lag-preventions:
keep-stash-chunks-loaded:
# Idea by 6g6s admin kumorio:
# Improves lag generated by large stash chunks constantly loading and
# unloading by setting them force loaded. This might cause increased ram
# usage, so keep an eye out for that.
enable: false
log: false
# How many container blocks have to be in a chunk for it to be seen
# as a stash chunk to keep force loaded.
container-block-threshold: 50
# The minimum time in ticks a chunk has to have been inhabited to be checked.
min-chunk-inhabited-time-ticks: 1000
# The time in minutes a stash chunks will be kept force loaded before
# setting it back to normal.
keep-loaded-minutes: 120
# Set to false if you want to check more blocks than just tile entities.
# Makes the overall speed of the module faster if set to true.
only-check-tile-entities: true
container-types:
- CHISELED_BOOKSHELF
- DECORATED_POT
- CHEST
- FURNACE
- JUKEBOX
- SHULKER_BOX
- WHITE_SHULKER_BOX
- ORANGE_SHULKER_BOX
- MAGENTA_SHULKER_BOX
- LIGHT_BLUE_SHULKER_BOX
- YELLOW_SHULKER_BOX
- LIME_SHULKER_BOX
- PINK_SHULKER_BOX
- GRAY_SHULKER_BOX
- LIGHT_GRAY_SHULKER_BOX
- CYAN_SHULKER_BOX
- PURPLE_SHULKER_BOX
- BLUE_SHULKER_BOX
- BROWN_SHULKER_BOX
- GREEN_SHULKER_BOX
- RED_SHULKER_BOX
- BLACK_SHULKER_BOX
- HOPPER
- DISPENSER
- DROPPER
- LECTERN
- TRAPPED_CHEST
- CRAFTER
- BREWING_STAND
- BARREL
- SMOKER
- BLAST_FURNACE
# Radiuses around spawn in chunks (not blocks) that should not be checked.
# Worlds not on this list are exempt from all checking.
worlds:
world: 100
world_the_end: 100
world_nether: 100
target-distance-limits:
enable: false
log: false
global-limit:
enable: false
# The max distance no target should exceed.
# You want this to be higher than your highest max distance
# for a specific mob.
max-target-distance: 20.0
custom-limits:
enable: true
entities:
SKELETON: 6.0
WITHER: 8.0
WITHER_SKELETON: 8.0
ZOMBIE: 6.0
ZOMBIE_VILLAGER: 10.0
ZOMBIFIED_PIGLIN: 8.0
disable-item-drops-during-large-stash-explosions:
# Explodes containers without dropping items after a certain amount
# of exploded containers per chunk.
enable: false
log: false
# How many container blocks in a chunk can be blown up until items
# no longer drop from them.
min-explosions-before-drops-disable: 6
# The time in seconds to wait after an explosion for another one to happen.
# If no explosion happens within x seconds after the first one, the count resets to 0.
time-in-seconds: 3
container-types:
- CHISELED_BOOKSHELF
- DECORATED_POT
- CHEST
- FURNACE
- JUKEBOX
- HOPPER
- DISPENSER
- DROPPER
- LECTERN
- TRAPPED_CHEST
- CRAFTER
- BREWING_STAND
- BARREL
- SMOKER
- BLAST_FURNACE
prevent-lever-spam:
# Rate Limit levers to prevent a lag exploit.
enable: false
show-actionbar: true
kick-player: false
max-lever-usages-per-time: 15
lever-time-in-ticks: 40
pathfinding-limits:
enable: false
# Only meant for debug.
log: false
global-limit:
enable: false
# The max distance no mob pathfinding should exceed.
# You always want this to be higher than your highest max distance
# for a specific mob.
max-target-distance: 20.0
custom-limits:
enable: true
entities:
SKELETON: 6.0
WITHER: 8.0
WITHER_SKELETON: 8.0
ZOMBIE: 6.0
ZOMBIE_VILLAGER: 10.0
ZOMBIFIED_PIGLIN: 8.0
entity-age-limits:
custom-limits:
# Kill certain entities after a custom amount of ticks lived.
enable: false
log-removals: false
# Check all loaded chunks every x ticks.
check-period-in-ticks: 1200
# When a chunk is loaded, entities inside of it are not necessarily
# loaded as well. Force loading is worse for performance, but there
# might be a scenario where this turns out to be useful.
forceload-entities: false
# Check the paper api for correct EntityType enums:
# https://jd.papermc.io/paper/1.20/org/bukkit/entity/EntityType.html
# Make sure your minecraft version is matching as well.
limited-types:
ARROW: 120
FALLING_BLOCK: 160
SNOWBALL: 100
SPECTRAL_ARROW: 120
WITHER_SKULL: 100
projectile-limit:
# Patches any lag exploit that abuses spawning a ton of projectile entities
# (ex. Snowball exploit).Skips over the following entities: ENDER_PEARL, FISHING_HOOK, WITHER_SKULL
# and ENDER_SIGNAL. You can configure those separately in the custom entity age
# limit section.
enable: false
# (20 ticks = 1 second) Will not touch Ender Pearls
max-alive-time-ticks: 300
# How frequently we should check all projectiles for their alive time
check-period-seconds: 20
prevent-flooding-machines:
# Will prevent pistons from pushing waterlogged blocks.
# Stops players from using waterlogged blocks and piston flying
# machines to generate large walls of water that generate lag
# due to the fluid physics.
enable: false
delete-waterlogged-blocks: true
prevent-inventory-action-lag:
# WARNING: VERY EXPERIMENTAL!
# Prevent lag generated by players quickly moving big items back and
# forth between inventories. Uses cached counters that auto-reset after
# the configurable time in milliseconds.
enable: false
log: true
# The amount of time in milliseconds an entry is kept after writing.
cache-time-millis: 2000
# Use correct enums from:
# https://jd.papermc.io/paper/1.20/org/bukkit/event/inventory/InventoryAction.html.
# Format is: InventoryClickAction: AllowedClicksPerTime
click-action-limits:
COLLECT_TO_CURSOR: 15
HOTBAR_SWAP: 30
MOVE_TO_OTHER_INVENTORY: 8
anti-shulker-drops:
# Disables shulkers dropping stored items when blown up.
# This helps fix client- and serverside lag when done often and fast.
enable: false
prevent-inventory-open-spam:
# Rate-limit interactions with inventory holders to prevent a lag exploit.
enable: false
max-interacts-per-time: 2
time-in-ticks: 20
physics:
redstone:
enable: false
log: false
# The radius in blocks in which activity will be grouped together and measured.
check-radius-blocks: 1500.0
# The time in milliseconds all related activity will be blocked if it exceeded
# the configured limit.
pause-time-millis: 5000
# The time in milliseconds before a region and its data will be expired
# if no activity has been detected.
# For proper functionality, needs to be at least as long as your pause time.
data-keep-time-millis: 8000
# The TPS at which to cancel the physics entirely.
pause-TPS: 16.0
# The MSPT at which to cancel the physics entirely.
pause-MSPT: 100.0
# Maximum number of redstone events within configured timeframe.
redstone-event-limit: 5000
sculk-bloom:
enable: false
log: false
# The radius in blocks in which activity will be grouped together and measured.
check-radius-blocks: 1500.0
# The time in milliseconds all related activity will be blocked if it exceeded
# the configured limit.
pause-time-millis: 5000
# The time in milliseconds before a region and its data will be expired
# if no activity has been detected.
# For proper functionality, needs to be at least as long as your pause time.
data-keep-time-millis: 8000
# The TPS at which to cancel the physics entirely.
pause-TPS: 16.0
# The MSPT at which to cancel the physics entirely.
pause-MSPT: 100.0
# Maximum number of sculk bloom events within the configured timeframe.
sculk-bloom-limit: 300
block-spread:
enable: false
log: false
# The radius in blocks in which activity will be grouped together and measured.
check-radius-blocks: 1500.0
# The time in milliseconds all related activity will be blocked if it exceeded
# the configured limit.
pause-time-millis: 5000
# The time in milliseconds before a region and its data will be expired
# if no activity has been detected.
# For proper functionality, needs to be at least as long as your pause time.
data-keep-time-millis: 8000
# The TPS at which to cancel the physics entirely.
pause-TPS: 16.0
# The MSPT at which to cancel the physics entirely.
pause-MSPT: 100.0
# Maximum number of times a block can form due to natural causes like
# Snow storms, mushrooms growing or cobblestone forming due to water and lava
# within the configured timeframe before they will be paused.
block-form-event-limit: 500
noteblocks:
enable: false
log: false
# The radius in blocks in which activity will be grouped together and measured.
check-radius-blocks: 1500.0
# The time in milliseconds all related activity will be blocked if it exceeded
# the configured limit.
pause-time-millis: 5000
# The time in milliseconds before a region and its data will be expired
# if no activity has been detected.
# For proper functionality, needs to be at least as long as your pause time.
data-keep-time-millis: 8000
# The TPS at which to cancel the physics entirely.
pause-TPS: 16.0
# The MSPT at which to cancel the physics entirely.
pause-MSPT: 100.0
# Maximum number of times a noteblock can be played within the configured
# timeframe before they will be disabled.
noteblock-play-limit: 300
explosions:
enable: false
log: false
# The radius in blocks in which activity will be grouped together and measured.
check-radius-blocks: 1500.0
# The time in milliseconds all related activity will be blocked if it exceeded
# the configured limit.
pause-time-millis: 5000
# The time in milliseconds before a region and its data will be expired
# if no activity has been detected.
# For proper functionality, needs to be at least as long as your pause time.
data-keep-time-millis: 8000
# The TPS at which to cancel the physics entirely.
pause-TPS: 16.0
# The MSPT at which to cancel the physics entirely.
pause-MSPT: 100.0
# Maximum number of explode events within configured timeframe.
explode-event-limit: 5000
pistons:
enable: false
log: false
# The radius in blocks in which activity will be grouped together and measured.
check-radius-blocks: 1500.0
# The time in milliseconds all related activity will be blocked if it exceeded
# the configured limit.
pause-time-millis: 5000
# The time in milliseconds before a region and its data will be expired
# if no activity has been detected.
# For proper functionality, needs to be at least as long as your pause time.
data-keep-time-millis: 8000
# The TPS at which to cancel the physics entirely.
pause-TPS: 16.0
# The MSPT at which to cancel the physics entirely.
pause-MSPT: 100.0
# Maximum number of piston extend and/or retract events
# within the configured timeframe.
piston-movement-limit: 300
liquid-spread:
enable: false
log: false
# The radius in blocks in which activity will be grouped together and measured.
check-radius-blocks: 1500.0
# The time in milliseconds all related activity will be blocked if it exceeded
# the configured limit.
pause-time-millis: 5000
# The time in milliseconds before a region and its data will be expired
# if no activity has been detected.
# For proper functionality, needs to be at least as long as your pause time.
data-keep-time-millis: 8000
# The TPS at which to cancel the physics entirely.
pause-TPS: 16.0
# The MSPT at which to cancel the physics entirely.
pause-MSPT: 100.0
# Maximum number of times a physics check can be performed within the configured
# timeframe before they will be paused.
liquid-spread-event-limit: 1300
block-physics:
enable: false
log: false
# The radius in blocks in which activity will be grouped together and measured.
check-radius-blocks: 1500.0
# The time in milliseconds all related activity will be blocked if it exceeded
# the configured limit.
pause-time-millis: 5000
# The time in milliseconds before a region and its data will be expired
# if no activity has been detected.
# For proper functionality, needs to be at least as long as your pause time.
data-keep-time-millis: 8000
# The TPS at which to cancel the physics entirely.
pause-TPS: 16.0
# The MSPT at which to cancel the physics entirely.
pause-MSPT: 100.0
# Maximum number of times a physics check can be performed within the configured
# timeframe before they will be paused.
block-physics-event-limit: 900
#############
# Patches #
#############
patches:
anti-book-ban:
enable: false
# If set to false, will use UTF-8.
# Charset to use to encode the result of NBTCompound#toString into
# a sequence of bytes. The length of that sequence is then used to
# get the approximate Byte-size of an ItemStack.
# Use the /aef bytesize command to get a better understanding.
use-UTF-16: false
max-book-size: 56000
# Kicks players when they try to create a book bigger than the limit.
kick-on-too-large-book-edit: true
max-author-chars: 32
max-title-chars: 32
max-pages: 100
max-item-size: 56000
max-inventory-size: 2050000
# How long in ticks a dropped item's size should be cached after
# checking.
dropped-items-size-cache-ticks: 120
# How long in ticks a player's inventory size should be cached after
# checking.
player-inventory-size-cache-ticks: 20
prevent-command-sign:
# Patch signs that have run_command NBT tags attached, allowing the
# to run a command with operator permissions on click.
# Recommended to enable if you had a rogue admin or backdoor incident.
enable: true
pearl-phase:
# Attempts to patch a pearl phasing exploit by cancelling the teleport
# if the pearl is thrown at or near a specific block type.
enable: false
# How many blocks around the teleport location should be searched
# for potential glitch blocks if the teleport location isn't one itself.
search-radius: 2
glitchy-materials:
- ACACIA_PRESSURE_PLATE
- ACACIA_SLAB
- ACACIA_TRAPDOOR
- ANDESITE_SLAB
- BAMBOO_MOSAIC_SLAB
- BAMBOO_PRESSURE_PLATE
- BAMBOO_SLAB
- BAMBOO_TRAPDOOR
- BIRCH_PRESSURE_PLATE
- BIRCH_SLAB
- BIRCH_TRAPDOOR
- BLACKSTONE_SLAB
- BRICK_SLAB
- CALIBRATED_SCULK_SENSOR
- CHERRY_PRESSURE_PLATE
- CHERRY_SLAB
- CHERRY_TRAPDOOR
- COBBLED_DEEPSLATE_SLAB
- COBBLESTONE_SLAB
- COBWEB
- COPPER_TRAPDOOR
- CRIMSON_PRESSURE_PLATE
- CRIMSON_SLAB
- CRIMSON_TRAPDOOR
- CUT_COPPER_SLAB
- CUT_RED_SANDSTONE_SLAB
- CUT_SANDSTONE_SLAB
- DARK_OAK_PRESSURE_PLATE
- DARK_OAK_SLAB
- DARK_OAK_TRAPDOOR
- DARK_PRISMARINE_SLAB
- DEEPSLATE_BRICK_SLAB
- DEEPSLATE_TILE_SLAB
- DIORITE_SLAB
- END_STONE_BRICK_SLAB
- EXPOSED_COPPER_TRAPDOOR
- EXPOSED_CUT_COPPER_SLAB
- GRANITE_SLAB
- HEAVY_WEIGHTED_PRESSURE_PLATE
- IRON_TRAPDOOR
- JUNGLE_PRESSURE_PLATE
- JUNGLE_SLAB
- JUNGLE_TRAPDOOR
- LIGHT_WEIGHTED_PRESSURE_PLATE
- MANGROVE_PRESSURE_PLATE
- MANGROVE_SLAB
- MANGROVE_TRAPDOOR
- MOSSY_COBBLESTONE_SLAB
- MOSSY_STONE_BRICK_SLAB
- MUD_BRICK_SLAB
- NETHER_BRICK_SLAB
- OAK_PRESSURE_PLATE
- OAK_SLAB
- OAK_TRAPDOOR
- OXIDIZED_COPPER_TRAPDOOR
- OXIDIZED_CUT_COPPER_SLAB
- PETRIFIED_OAK_SLAB
- POLISHED_ANDESITE_SLAB
- POLISHED_BLACKSTONE_BRICK_SLAB
- POLISHED_BLACKSTONE_PRESSURE_PLATE
- POLISHED_BLACKSTONE_SLAB
- POLISHED_DEEPSLATE_SLAB
- POLISHED_DIORITE_SLAB
- POLISHED_GRANITE_SLAB
- POLISHED_TUFF_SLAB
- POWDER_SNOW
- PRISMARINE_BRICK_SLAB
- PRISMARINE_SLAB
- PURPUR_SLAB
- QUARTZ_SLAB
- RED_NETHER_BRICK_SLAB
- RED_SANDSTONE_SLAB
- SANDSTONE_SLAB
- SCULK_SENSOR
- SCULK_SHRIEKER
- SMOOTH_QUARTZ_SLAB
- SMOOTH_RED_SANDSTONE_SLAB
- SMOOTH_SANDSTONE_SLAB
- SMOOTH_STONE_SLAB
- SPRUCE_PRESSURE_PLATE
- SPRUCE_SLAB
- SPRUCE_TRAPDOOR
- STONE_BRICK_SLAB
- STONE_PRESSURE_PLATE
- STONE_SLAB
- TUFF_BRICK_SLAB
- TUFF_SLAB
- WARPED_PRESSURE_PLATE
- WARPED_SLAB
- WARPED_TRAPDOOR
- WAXED_COPPER_TRAPDOOR
- WAXED_CUT_COPPER_SLAB
- WAXED_EXPOSED_COPPER_TRAPDOOR
- WAXED_EXPOSED_CUT_COPPER_SLAB
- WAXED_OXIDIZED_COPPER_TRAPDOOR
- WAXED_OXIDIZED_CUT_COPPER_SLAB
- WAXED_WEATHERED_COPPER_TRAPDOOR
- WAXED_WEATHERED_CUT_COPPER_SLAB
- WEATHERED_COPPER_TRAPDOOR
- WEATHERED_CUT_COPPER_SLAB
# We will have to schedule the check on folia, meaning theres a chance
# the task might take longer than expected. To make sure that does not cause
# more lag, we set a time limit here.
check-timeout-millis: 800
map-cursor-lag-patch:
# Patches the famous stacked map cursor lag that causes both
# client and server crashes.
enable: false
prevent-fast-world-teleport-crash:
# Prevents crash methods that involve very fast teleporting between
# different worlds in a short time.
enable: false
# Time in milliseconds until an entity can teleport to another
# world again.
teleport-delay-millis: 1000
log: false
prevent-teleport-coordinate-exploit:
# Patches coordinate exploit for teleportation commands such as /tpa,
# /home AS WELL as respawn exploits.
# This is done by vanishing the player for x ticks before teleporting.
enable: false
min-distance-to-vanish-player: 100
teleport-vanish-time-in-ticks: 10
# Removes entities or players if they are invalid, dead or not located
# within a ticking chunk. Not sure if this works.
experimental-godmode-patch: false
tab-complete-crash-patch:
# Patches two lag exploits and an instant server shutdown exploit that
# works by sending a malicious TabComplete packet that triggers a
# StackOverflowError inside the TagParser class.
enable: true
log: false
kick-player: false
remove-beehive-coordinates:
# Patches an exploit that allows players to obtain another player's
# coordinates by trading them for Beehives or Beenests.
# If the traded item contains any bees, the stored bee's NBT data can
# then be read from the item.
# This data includes, but is not limited to:
# - XYZ coordinates of where the bee has its hive
# - XYZ of the bee's last coordinates before entering it's hive
# - XYZ coordinates of where the bee last visited a flower
# - XYZ coordinates of where the bee was first spawned into existence
# - UID of the world the bee was first spawned into existence
enable: true
# The NBT tags to filter from the item. These are the Keys that hold
# the position data. You may add more tags you want removed here.
tags:
- Pos
- HivePos
- FlowerPos
- Paper.Origin
- Paper.OriginWorld
- WorldUUIDMost
- WorldUUIDLeast
window-click-crash-patch:
# Patches a variety of different lag and crash methods that work
# by sending invalid Window Click packets, causing the server to
# dump error logs until it runs out of memory.
enable: true
log: false
kick-player: false
sequence-crash-patch:
# Patches a variety of lag/crash exploits that involves sending packets
# with invalid sequences.
enable: true
log: false
kick-player: false
sign-lag:
# Patches a lag exploit that involves sending specific oversized
# sign edit packets.
enable: true
# Vanilla limit is 384 characters per line, which can be too much.
line-character-limit: 80
# General char limit for all lines combined.
total-char-limit: 384
log: false
kick-player: false
beehive-crash-patch:
# Patches a server crash exploit exclusive to Purpur servers.
# This exploit works due to PurpurClient having a feature that
# lets clients request stored data of a clicked beehive from
# the server. The server does not check how far the clicked
# beehive is away from the client enabling a malicious sender
# to load chunks very fast at far away locations by telling
# the server it clicked a beehive there.
enable: true
max-distance: 24
log: false
kick-player: false
##############
# Illegals #
##############
illegals:
remove-placed-blocks:
on-chunkload:
# Remove illegally placed blocks on chunkload.
enable: false
# Enter PLAYER_HEAD here if you want to remove placed playerheads.
blocks-to-remove:
- PLAYER_HEAD
- CHAIN_COMMAND_BLOCK
- COMMAND_BLOCK
- COMMAND_BLOCK_MINECART
- REPEATING_COMMAND_BLOCK
- BEDROCK
- BARRIER
exempted-worlds:
- exampleworld1
- exampleworld2
pause-on-low-TPS: false
pause-TPS: 14.0
periodically:
enable: false
# Enter PLAYER_HEAD here if you want to remove placed playerheads.
blocks-to-remove:
- PLAYER_HEAD
- CHAIN_COMMAND_BLOCK
- COMMAND_BLOCK
- COMMAND_BLOCK_MINECART
- REPEATING_COMMAND_BLOCK
- BEDROCK
- BARRIER
exempted-worlds:
- exampleworld1
- exampleworld2
check-period-in-seconds: 10
pause-on-low-TPS: false
pause-TPS: 14.0
remove-unnatural-spawners-on-chunkload:
enable: false
pause-on-low-TPS: false
pause-TPS: 14.0
# You can add or remove as much world names here as you want.
natural-spawner-types-per-world:
world:
- SKELETON
- ZOMBIE
- SILVERFISH
- SPIDER
- CAVE_SPIDER
world_the_end:
- SKELETON
- SPIDER
world_nether:
- BLAZE
- MAGMA_CUBE
enchantments:
higher-enchants:
# Bypass permission: aef.bypass.illegal.enchants.higher
# Reverts or prevents usage of ItemStacks with Enchantments higher
# than the natural, in vanilla survival obtainable level (aka 32ks / 255s).
enable: false
# Enable this if you have problems with the plugin removing items from chest guis.
# Check if the inventory is connected to a location in the game.
# If it is not, its very likely created by custom gui plugin.
# Enable this if you have problems with the plugin removing items from chest guis.
# Check if the inventory is connected to a location in the game.
# If it is not, its very likely created by custom gui plugin.
gui-plugins-supported: false
# Available options:
# STRICT - Deletes or reverts illegals even on chest open
# ACTION_ON_USE - Deletes or reverts illegals when interacted with
# PREVENT_USE_ONLY - Only prevents usage of illegals if possible
handling: PREVENT_USE_ONLY
# Prevents Hopper32k mechanic of placing a shulker containing illegals
# on top of a hopper, then using the illegal out of the hoppers inventory.
# WARNING: Hooks into InventoryMoveItemEvent, which can become VERY resource
# intense as the event fires for every single item getting moved by the
# hopper. Enable only if you need to.
prevent-hopper32k-mechanic: false
check-on-chunkload:
# WARNING: CHECKING ON CHUNKLOAD IS NOT RECOMMENDED AS IT IS VERY RESOURCE INTENSE.
# BE VERY SURE YOU ACTUALLY NEED THIS.
# Iterates over all blocks in a chunk when it is loaded and checks any inventories
# for illegals. If a container with illegals is found, it will be REMOVED.
enable: false
# If set to true, immediately replaces the container with air. Otherwise, will try
# to handle items separately.
remove-container: false
check-stored-items: false
only-specific-enchants: false
specific-enchants:
- DIG_SPEED
item-whitelist-enabled: true
use-as-blacklist-instead: false
whitelisted-items:
- GOLDEN_APPLE
incompatible-enchants:
# Bypass permission: aef.bypass.illegal.enchants.incompatible
# Reverts or prevents usage of ItemStacks with Enchantments that
# cannot coexist in vanilla survival minecraft.
# Examples: A bow with mending and infinity or armor with every
# protection enchantment.
enable: false
# Enable this if you have problems with the plugin removing items from chest guis.
# Check if the inventory is connected to a location in the game.
# If it is not, its very likely created by custom gui plugin.
# Enable this if you have problems with the plugin removing items from chest guis.
# Check if the inventory is connected to a location in the game.
# If it is not, its very likely created by custom gui plugin.
gui-plugins-supported: false
# Available options:
# STRICT - Deletes or reverts illegals even on chest open
# ACTION_ON_USE - Deletes or reverts illegals when interacted with
# PREVENT_USE_ONLY - Only prevents usage of illegals if possible
handling: PREVENT_USE_ONLY
# Prevents Hopper32k mechanic of placing a shulker containing illegals
# on top of a hopper, then using the illegal out of the hoppers inventory.
# WARNING: Hooks into InventoryMoveItemEvent, which can become VERY resource
# intense as the event fires for every single item getting moved by the
# hopper. Enable only if you need to.
prevent-hopper32k-mechanic: false
check-on-chunkload:
# WARNING: CHECKING ON CHUNKLOAD IS NOT RECOMMENDED AS IT IS VERY RESOURCE INTENSE.
# BE VERY SURE YOU ACTUALLY NEED THIS.
# Iterates over all blocks in a chunk when it is loaded and checks any inventories
# for illegals. If a container with illegals is found, it will be REMOVED.
enable: false
# If set to true, immediately replaces the container with air. Otherwise, will try
# to handle items separately.
remove-container: false
check-stored-items: false
item-whitelist-enabled: true
use-as-blacklist-instead: false
whitelisted-items:
- BOW
inapplicable-enchants:
# Bypass permission: aef.bypass.illegal.enchants.inapplicable
# Reverts or prevents usage of ItemStacks with Enchantments that
# cannot be applied to that ItemStack in vanilla survival minecraft.
# Examples: A helmet with sharpness or a block of stone with fortune.
enable: false
# Enable this if you have problems with the plugin removing items from chest guis.
# Check if the inventory is connected to a location in the game.
# If it is not, its very likely created by custom gui plugin.
# Enable this if you have problems with the plugin removing items from chest guis.
# Check if the inventory is connected to a location in the game.
# If it is not, its very likely created by custom gui plugin.
gui-plugins-supported: false
# Available options:
# STRICT - Deletes or reverts illegals even on chest open
# ACTION_ON_USE - Deletes or reverts illegals when interacted with
# PREVENT_USE_ONLY - Only prevents usage of illegals if possible
handling: PREVENT_USE_ONLY
# Prevents Hopper32k mechanic of placing a shulker containing illegals
# on top of a hopper, then using the illegal out of the hoppers inventory.
# WARNING: Hooks into InventoryMoveItemEvent, which can become VERY resource
# intense as the event fires for every single item getting moved by the
# hopper. Enable only if you need to.
prevent-hopper32k-mechanic: false
check-on-chunkload:
# WARNING: CHECKING ON CHUNKLOAD IS NOT RECOMMENDED AS IT IS VERY RESOURCE INTENSE.
# BE VERY SURE YOU ACTUALLY NEED THIS.
# Iterates over all blocks in a chunk when it is loaded and checks any inventories
# for illegals. If a container with illegals is found, it will be REMOVED.
enable: false
# If set to true, immediately replaces the container with air. Otherwise, will try
# to handle items separately.
remove-container: false
check-stored-items: false
item-whitelist-enabled: true
use-as-blacklist-instead: false
whitelisted-items:
- GOLDEN_APPLE
nbt:
ban-custom-tags:
# Bypass permission: aef.bypass.illegal.nbt.custom
# Deletes items that have one or more of the configured tags.
enable: false
# Enable this if you have problems with the plugin removing items from chest guis.
# Check if the inventory is connected to a location in the game.
# If it is not, its very likely created by custom gui plugin.
# Enable this if you have problems with the plugin removing items from chest guis.
# Check if the inventory is connected to a location in the game.
# If it is not, its very likely created by custom gui plugin.
gui-plugins-supported: false
# Available options:
# STRICT - Deletes or reverts illegals even on chest open
# ACTION_ON_USE - Deletes or reverts illegals when interacted with
# PREVENT_USE_ONLY - Only prevents usage of illegals if possible
handling: PREVENT_USE_ONLY
# Prevents Hopper32k mechanic of placing a shulker containing illegals
# on top of a hopper, then using the illegal out of the hoppers inventory.
# WARNING: Hooks into InventoryMoveItemEvent, which can become VERY resource
# intense as the event fires for every single item getting moved by the
# hopper. Enable only if you need to.
prevent-hopper32k-mechanic: false
check-on-chunkload:
# WARNING: CHECKING ON CHUNKLOAD IS NOT RECOMMENDED AS IT IS VERY RESOURCE INTENSE.
# BE VERY SURE YOU ACTUALLY NEED THIS.
# Iterates over all blocks in a chunk when it is loaded and checks any inventories
# for illegals. If a container with illegals is found, it will be REMOVED.
enable: false
# If set to true, immediately replaces the container with air. Otherwise, will try
# to handle items separately.
remove-container: false
check-stored-items: false
# The exact, case sensitive value of the nbt tag.
tags:
- dmg
item-whitelist-enabled: false
use-as-blacklist-instead: false
whitelisted-items:
- GOLDEN_APPLE
impossibly-stored-items:
# Bypass permission: aef.bypass.illegal.nbt.storeditems
# Prevents usage of or deletes storage items that have been pre-filled
# with items using NBT tags. These can only be created by players with
# creative access.
# Most commonly dispensers, droppers and chests containing kit shulkers
# are created but there are more combinations possible.
enable: false
# Enable this if you have problems with the plugin removing items from chest guis.
# Check if the inventory is connected to a location in the game.
# If it is not, its very likely created by custom gui plugin.
# Enable this if you have problems with the plugin removing items from chest guis.
# Check if the inventory is connected to a location in the game.
# If it is not, its very likely created by custom gui plugin.
gui-plugins-supported: false
# Available options:
# STRICT - Deletes or reverts illegals even on chest open
# ACTION_ON_USE - Deletes or reverts illegals when interacted with
# PREVENT_USE_ONLY - Only prevents usage of illegals if possible
handling: PREVENT_USE_ONLY
# Prevents Hopper32k mechanic of placing a shulker containing illegals
# on top of a hopper, then using the illegal out of the hoppers inventory.
# WARNING: Hooks into InventoryMoveItemEvent, which can become VERY resource
# intense as the event fires for every single item getting moved by the
# hopper. Enable only if you need to.
prevent-hopper32k-mechanic: false
check-on-chunkload:
# WARNING: CHECKING ON CHUNKLOAD IS NOT RECOMMENDED AS IT IS VERY RESOURCE INTENSE.
# BE VERY SURE YOU ACTUALLY NEED THIS.
# Iterates over all blocks in a chunk when it is loaded and checks any inventories
# for illegals. If a container with illegals is found, it will be REMOVED.
enable: false
# If set to true, immediately replaces the container with air. Otherwise, will try
# to handle items separately.
remove-container: false
# The exact name of the nbt tag that signals items are stored inside.
tag: BlockEntityTag
check-stored-items: false
storage-types:
- BARREL
- BLAST_FURNACE
- BREWING_STAND
- CHEST
- CHISELED_BOOKSHELF
- CRAFTER
- DECORATED_POT
- DISPENSER
- DROPPER
- FURNACE
- HOPPER
- JUKEBOX
- LECTERN
- SMOKER
- TRAPPED_CHEST
command-items:
# Bypass permission: aef.bypass.illegal.nbt.commanditem
# Deletes items with commands in their NBT data that run as operator.
# These can only be created by players with creative access.
# Most common items are books, since it allows storing multiple commands.
enable: false
# Enable this if you have problems with the plugin removing items from chest guis.
# Check if the inventory is connected to a location in the game.
# If it is not, its very likely created by custom gui plugin.
# Enable this if you have problems with the plugin removing items from chest guis.
# Check if the inventory is connected to a location in the game.
# If it is not, its very likely created by custom gui plugin.
gui-plugins-supported: false
# Available options:
# STRICT - Deletes or reverts illegals even on chest open
# ACTION_ON_USE - Deletes or reverts illegals when interacted with
# PREVENT_USE_ONLY - Only prevents usage of illegals if possible
handling: PREVENT_USE_ONLY
# Prevents Hopper32k mechanic of placing a shulker containing illegals
# on top of a hopper, then using the illegal out of the hoppers inventory.
# WARNING: Hooks into InventoryMoveItemEvent, which can become VERY resource
# intense as the event fires for every single item getting moved by the
# hopper. Enable only if you need to.
prevent-hopper32k-mechanic: false
check-on-chunkload:
# WARNING: CHECKING ON CHUNKLOAD IS NOT RECOMMENDED AS IT IS VERY RESOURCE INTENSE.
# BE VERY SURE YOU ACTUALLY NEED THIS.
# Iterates over all blocks in a chunk when it is loaded and checks any inventories
# for illegals. If a container with illegals is found, it will be REMOVED.
enable: false
# If set to true, immediately replaces the container with air. Otherwise, will try
# to handle items separately.
remove-container: false
check-stored-items: false
banned-item-names:
# Bypass permission: aef.bypass.illegal.bannedname
# Resets an item's name (or deletes the item) if it matches one of
# the configured regexes.
# Regexes can be complex. Use a tool like https://regex101.com/ or
# ChatGPT for good results.
enable: false
# Enable this if you have problems with the plugin removing items from chest guis.
# Check if the inventory is connected to a location in the game.
# If it is not, its very likely created by custom gui plugin.
# Enable this if you have problems with the plugin removing items from chest guis.
# Check if the inventory is connected to a location in the game.
# If it is not, its very likely created by custom gui plugin.
gui-plugins-supported: false
# Available options:
# STRICT - Deletes or reverts illegals even on chest open
# ACTION_ON_USE - Deletes or reverts illegals when interacted with
# PREVENT_USE_ONLY - Only prevents usage of illegals if possible
handling: PREVENT_USE_ONLY
# Prevents Hopper32k mechanic of placing a shulker containing illegals
# on top of a hopper, then using the illegal out of the hoppers inventory.
# WARNING: Hooks into InventoryMoveItemEvent, which can become VERY resource
# intense as the event fires for every single item getting moved by the
# hopper. Enable only if you need to.
prevent-hopper32k-mechanic: false
check-on-chunkload:
# WARNING: CHECKING ON CHUNKLOAD IS NOT RECOMMENDED AS IT IS VERY RESOURCE INTENSE.
# BE VERY SURE YOU ACTUALLY NEED THIS.
# Iterates over all blocks in a chunk when it is loaded and checks any inventories
# for illegals. If a container with illegals is found, it will be REMOVED.
enable: false
# If set to true, immediately replaces the container with air. Otherwise, will try
# to handle items separately.
remove-container: false
# Will delete the item instead of resetting the name.
delete-item: false
regex:
- (?i)illegalstring
whitelisted-items:
- DIRT
illegally-stacked-items:
# Bypass permission: aef.bypass.illegal.overstacked
# Prevents usage of or reverts items with a higher or lower
# stack size than their vanilla limit.
enable: false
# Enable this if you have problems with the plugin removing items from chest guis.
# Check if the inventory is connected to a location in the game.
# If it is not, its very likely created by custom gui plugin.
# Enable this if you have problems with the plugin removing items from chest guis.
# Check if the inventory is connected to a location in the game.
# If it is not, its very likely created by custom gui plugin.
gui-plugins-supported: false
# Available options:
# STRICT - Deletes or reverts illegals even on chest open
# ACTION_ON_USE - Deletes or reverts illegals when interacted with
# PREVENT_USE_ONLY - Only prevents usage of illegals if possible
handling: PREVENT_USE_ONLY
# Prevents Hopper32k mechanic of placing a shulker containing illegals
# on top of a hopper, then using the illegal out of the hoppers inventory.
# WARNING: Hooks into InventoryMoveItemEvent, which can become VERY resource
# intense as the event fires for every single item getting moved by the
# hopper. Enable only if you need to.
prevent-hopper32k-mechanic: false
check-on-chunkload:
# WARNING: CHECKING ON CHUNKLOAD IS NOT RECOMMENDED AS IT IS VERY RESOURCE INTENSE.
# BE VERY SURE YOU ACTUALLY NEED THIS.
# Iterates over all blocks in a chunk when it is loaded and checks any inventories
# for illegals. If a container with illegals is found, it will be REMOVED.
enable: false
# If set to true, immediately replaces the container with air. Otherwise, will try
# to handle items separately.
remove-container: false
item-whitelist-enabled: false
use-as-blacklist-instead: true
check-stored-items: false
whitelisted-items:
- TOTEM_OF_UNDYING
ban-player-heads:
# Bypass permission: aef.bypass.illegal.playerhead
# Deletes or prevents usage of player heads.
enable: false
# Enable this if you have problems with the plugin removing items from chest guis.
# Check if the inventory is connected to a location in the game.
# If it is not, its very likely created by custom gui plugin.
# Enable this if you have problems with the plugin removing items from chest guis.
# Check if the inventory is connected to a location in the game.
# If it is not, its very likely created by custom gui plugin.
gui-plugins-supported: false
# Available options:
# STRICT - Deletes or reverts illegals even on chest open
# ACTION_ON_USE - Deletes or reverts illegals when interacted with
# PREVENT_USE_ONLY - Only prevents usage of illegals if possible
handling: PREVENT_USE_ONLY
# Prevents Hopper32k mechanic of placing a shulker containing illegals
# on top of a hopper, then using the illegal out of the hoppers inventory.
# WARNING: Hooks into InventoryMoveItemEvent, which can become VERY resource
# intense as the event fires for every single item getting moved by the
# hopper. Enable only if you need to.
prevent-hopper32k-mechanic: false
check-on-chunkload:
# WARNING: CHECKING ON CHUNKLOAD IS NOT RECOMMENDED AS IT IS VERY RESOURCE INTENSE.
# BE VERY SURE YOU ACTUALLY NEED THIS.
# Iterates over all blocks in a chunk when it is loaded and checks any inventories
# for illegals. If a container with illegals is found, it will be REMOVED.
enable: false
# If set to true, immediately replaces the container with air. Otherwise, will try
# to handle items separately.
remove-container: false
# Will delete shulker/bundle if they contain any player heads.
check-stored-items: false
ban-specific-materials:
# Bypass permission: aef.bypass.illegal.bannedmaterial
# Prevents usage of or deletes items with material that you do not want
# your players to be able to use.
# Useful if your players have blocks that shouldn't be obtainable in survival.
enable: false
# Enable this if you have problems with the plugin removing items from chest guis.
# Check if the inventory is connected to a location in the game.
# If it is not, its very likely created by custom gui plugin.
# Enable this if you have problems with the plugin removing items from chest guis.
# Check if the inventory is connected to a location in the game.
# If it is not, its very likely created by custom gui plugin.
gui-plugins-supported: false
# Available options:
# STRICT - Deletes or reverts illegals even on chest open
# ACTION_ON_USE - Deletes or reverts illegals when interacted with
# PREVENT_USE_ONLY - Only prevents usage of illegals if possible
handling: PREVENT_USE_ONLY
# Prevents Hopper32k mechanic of placing a shulker containing illegals
# on top of a hopper, then using the illegal out of the hoppers inventory.
# WARNING: Hooks into InventoryMoveItemEvent, which can become VERY resource
# intense as the event fires for every single item getting moved by the
# hopper. Enable only if you need to.
prevent-hopper32k-mechanic: false
check-on-chunkload:
# WARNING: CHECKING ON CHUNKLOAD IS NOT RECOMMENDED AS IT IS VERY RESOURCE INTENSE.
# BE VERY SURE YOU ACTUALLY NEED THIS.
# Iterates over all blocks in a chunk when it is loaded and checks any inventories
# for illegals. If a container with illegals is found, it will be REMOVED.
enable: false
# If set to true, immediately replaces the container with air. Otherwise, will try
# to handle items separately.
remove-container: false
check-stored-items: false
banned-materials:
- CHAIN_COMMAND_BLOCK
- COMMAND_BLOCK
- COMMAND_BLOCK_MINECART
- REPEATING_COMMAND_BLOCK
- BEDROCK
- BARRIER
- STRUCTURE_BLOCK
- STRUCTURE_VOID
- END_PORTAL_FRAME
- END_PORTAL
- NETHER_PORTAL
- LIGHT
revert-unbreakables:
# Bypass permission: aef.bypass.illegal.unbreakable
# Deletes and prevents usage of unbreakable items.
# This can be anything from items with illegal damage attributes to
# Metadata/NBT tags.
# Note: Due to the limitations of the API, we can only fully prevent
# usage of these items by deleting them.
enable: false
# Enable this if you have problems with the plugin removing items from chest guis.
# Check if the inventory is connected to a location in the game.
# If it is not, its very likely created by custom gui plugin.
# Enable this if you have problems with the plugin removing items from chest guis.
# Check if the inventory is connected to a location in the game.
# If it is not, its very likely created by custom gui plugin.
gui-plugins-supported: false
# Available options:
# STRICT - Deletes or reverts illegals even on chest open
# ACTION_ON_USE - Deletes or reverts illegals when interacted with
# PREVENT_USE_ONLY - Only prevents usage of illegals if possible
handling: PREVENT_USE_ONLY
# Prevents Hopper32k mechanic of placing a shulker containing illegals
# on top of a hopper, then using the illegal out of the hoppers inventory.
# WARNING: Hooks into InventoryMoveItemEvent, which can become VERY resource
# intense as the event fires for every single item getting moved by the
# hopper. Enable only if you need to.
prevent-hopper32k-mechanic: false
check-on-chunkload:
# WARNING: CHECKING ON CHUNKLOAD IS NOT RECOMMENDED AS IT IS VERY RESOURCE INTENSE.
# BE VERY SURE YOU ACTUALLY NEED THIS.
# Iterates over all blocks in a chunk when it is loaded and checks any inventories
# for illegals. If a container with illegals is found, it will be REMOVED.
enable: false
# If set to true, immediately replaces the container with air. Otherwise, will try
# to handle items separately.
remove-container: false
item-whitelist-enabled: false
use-as-blacklist-instead: false
# Will delete shulkers and bundles if they contain unbreakables.
check-stored-items: false
whitelisted-items:
- DIAMOND_CHESTPLATE
ban-spawn-eggs:
# Bypass permission: aef.bypass.illegal.spawnegg
# Deletes or prevents usage of spawn eggs.
enable: false
# Enable this if you have problems with the plugin removing items from chest guis.
# Check if the inventory is connected to a location in the game.
# If it is not, its very likely created by custom gui plugin.
# Enable this if you have problems with the plugin removing items from chest guis.
# Check if the inventory is connected to a location in the game.
# If it is not, its very likely created by custom gui plugin.
gui-plugins-supported: false
# Available options:
# STRICT - Deletes or reverts illegals even on chest open
# ACTION_ON_USE - Deletes or reverts illegals when interacted with
# PREVENT_USE_ONLY - Only prevents usage of illegals if possible
handling: PREVENT_USE_ONLY
# Prevents Hopper32k mechanic of placing a shulker containing illegals
# on top of a hopper, then using the illegal out of the hoppers inventory.
# WARNING: Hooks into InventoryMoveItemEvent, which can become VERY resource
# intense as the event fires for every single item getting moved by the
# hopper. Enable only if you need to.
prevent-hopper32k-mechanic: false
check-on-chunkload:
# WARNING: CHECKING ON CHUNKLOAD IS NOT RECOMMENDED AS IT IS VERY RESOURCE INTENSE.
# BE VERY SURE YOU ACTUALLY NEED THIS.
# Iterates over all blocks in a chunk when it is loaded and checks any inventories
# for illegals. If a container with illegals is found, it will be REMOVED.
enable: false
# If set to true, immediately replaces the container with air. Otherwise, will try
# to handle items separately.
remove-container: false
# If remove-spawn-eggs is set to true Will delete shulker/bundle
# should they contain any spawneggs.
check-stored-items: false
whitelisted-items:
- VILLAGER_SPAWN_EGG
######################
# Dupe Preventions #
######################
dupe-preventions:
# Prevent any possible dupes involving chested entities by making
# it impossible to put a chest on them.
# Only do this if you have reason to believe a dupe like that exists
# on your server.
prevent-chests-on-living-entities: false
# Closes open inventories of all entities that are in a chunk
# that will be unloaded.
close-entity-inventories-on-chunk-unload: false
# Prevents entities that can carry chests from using portals to
# block some common dupe tactics.
# CAUTION: Will remove chests and their contents from a chested
# entity if it touches a portal on Folia!
prevent-chested-living-entities-in-portals: false
# Closes open inventories of entities that disappeared when the
# player riding it disconnects.
close-entity-inventories-on-player-disconnect: false
#################
# Preventions #
#################
preventions:
withers:
disable-wither-spawning-at-spawn:
# Disables spawning withers near a configurable radius around
# spawn. Helps if players are generating endless amounts of withers
# to lag the server.
enable: false
inform-players: true
worlds:
world: 5000
world_the_end: 5000
world_nether: 5000
remove-flying-wither-skulls:
# Removes wither skulls when the chunk gets unloaded.
# Use if you have a ton of them at spawn and they are causing lag.
on-chunk-unload: false
# Removes wither skulls when the chunk gets loaded.
# Use if you have a ton of them at spawn and they are causing lag.
on-chunk-load: true
periodically-remove-all-flying-skulls:
# Enable if a lot of wither skulls at spawn are causing lag.
enable: false
check-period-in-ticks: 80
# Prevents wither skulls from being shot.
disable-withers-from-shooting-skulls: false
rate-limit-wither-skulls:
# This can help combat lag caused by a ton of wither skulls
# spawning but weakens withers.
enable: false
# Cooldown until another skull can be shot at a player.
player-target-cooldown-in-ticks: 20
# Cooldown until another skull can be shot at anything
# else other than a player.
other-target-cooldown-in-ticks: 40
# Cooldown when wither has no target.
no-target-cooldown-in-ticks: 100
portals:
prevent-specific-types:
# Configure entities here that you suspect might be used in a dupe
# with portals.
# CAUTION: Will kill the entity on folia due to broken portal event.
# There is sadly no other efficient way.
enable: true
# Defaults prevent common lag methods.
entities:
- DROPPED_ITEM
- FIREWORK
- PRIMED_TNT
- THROWN_EXP_BOTTLE
- EXPERIENCE_ORB
- ARMOR_STAND
# Only enable if you must. Does not affect players.
# CAUTION: Will kill the entity on folia due to broken portal event.
prevent-all-entities-in-portals: false
prevent-destroying-end-portals:
enable: true
show-logs: true
end:
bedrock-protection-radius-blocks: 8
# Add block locations that should be protected as well.
# Format: <worldname>:<x>:<y>:<z>
# If you don't want to use this, just configure an empty list:
# pillar-blocks: []
pillar-blocks:
- world_the_end:143:140:-50
- world_the_end:112:90:-90
prevent-portal-traps:
# Teleports a player back to the original location if they have been
# standing in a portal for too long.
enable: false
wait-time-until-tp-back-in-seconds: 10
# Prevents a lag exploit. Might disable some chunk loader designs.
prevent-projectiles-in-portals: false
permanent-block-breaking:
by-placing-piston-on-retract:
enable: true
whitelisted-worlds:
- example_world_name
by-exploding-pistons:
enable: true
whitelisted-worlds:
- example_world_name
# If enabled, will only protect portals and end gateways
only-for-portals-and-gateways: false
by-growing-structures:
# Prevents removal of permanent blocks by growing structures
# like mushrooms into them.
enable: true
prevent-opped-players:
# Useful if you suspect a backdoor has happened.
enable: false
log: false
whitelisted-players:
- Notch
prevent-nether-roof:
# Prevent players from going above the nether roof.
enable: true
safely-teleport-players: true
anti-bed-trap:
# Resets a players bed respawn they die too many times within
# a certain timeframe.
enable: false
# Amount of times player can die until he is determined as bed-trapped.
max-deaths-per-time: 7
# "Time until death counter will be reset again.
time-in-seconds: 5
log: false
prevent-non-survival-players:
# Checks if player is in survival and if not, puts him back into survival.
# Useful if you had a backdoor incident.
enable: false
log: false
whitelisted-players:
- Notch
############
# Combat #
############
combat:
anchor-aura-delay:
enable: false
# Can help with desync but recommended to leave off unless needed.
update-inventory-on-cancel: false
place-delay-in-ticks: 8
break-delay-in-ticks: -1
crystal-aura:
hotbar-switch-delay:
enable: false
# Delay between switching from an end crystal to other items in hotbar
delay-in-ticks: 2
# Only delay when switched to specific materials
only-delay-specific-materials: true
delayed-specific-materials:
- BOW
- DIAMOND_SWORD
- DIAMOND_AXE
- TRIDENT
- GOLDEN_SWORD
- GOLDEN_AXE
- IRON_SWORD
- IRON_AXE
- STONE_SWORD
- STONE_AXE
- WOODEN_SWORD
- WOODEN_AXE
- BLACK_BED
- BLUE_BED
- BROWN_BED
- CYAN_BED
- GRAY_BED
- GREEN_BED
- LIGHT_BLUE_BED
- LIGHT_GRAY_BED
- LIME_BED
- MAGENTA_BED
- ORANGE_BED
- PINK_BED
- PURPLE_BED
- RED_BED
- WHITE_BED
- YELLOW_BED
- CROSSBOW
- NETHERITE_SWORD
- NETHERITE_AXE
regular-delay:
enable: false
# Can help with desync but recommended to leave off unless needed.
update-inventory-on-cancel: false
# Set to -1 to disable.
break-delay-in-ticks: 4
place-delay-in-ticks: -1
piston-aura-delay:
# Rate-limits pistons that extend into crystals.
enable: false
piston-extend-delay-in-ticks: 40
auto-bed:
# As it happens, players on a server with a huge game world somehow need to travel long distances.
# From Minecraft version 1.16 (≈June 2020) to version 1.17.1(≈October 2021) in the game there was a bug SPIGOT-5988 which did not reset the respawn point of the player after death, if his bed was blocked.
# After some manipulations, it turned out to be a simple mechanism that allowed the player to get to the spavn by blocking his bed with a shalker before death, and after the second death to be near his bed again.
# This bug persisted from the Spigot server to Paper and all its forks until October 2021, after which it was fixed by the Spigot development team.
# Attempts by players to reach out to Spigot to allow them to disable the patch that fixes the SPIGOT-5988 bug have failed.
#
# Demonstration of how the patch works:
# https://www.youtube.com/watch?v=3y5SbQXzMss&feature=youtu.be
# As it happens, players on a server with a huge game world somehow need to travel long distances.
# From Minecraft version 1.16 (≈June 2020) to version 1.17.1(≈October 2021) in the game there was a bug SPIGOT-5988 which did not reset the respawn point of the player after death, if his bed was blocked.
# After some manipulations, it turned out to be a simple mechanism that allowed the player to get to the spavn by blocking his bed with a shalker before death, and after the second death to be near his bed again.
# This bug persisted from the Spigot server to Paper and all its forks until October 2021, after which it was fixed by the Spigot development team.
# Attempts by players to reach out to Spigot to allow them to disable the patch that fixes the SPIGOT-5988 bug have failed.
#
# Demonstration of how the patch works:
# https://www.youtube.com/watch?v=3y5SbQXzMss&feature=youtu.be
enable: false
prevent-bow-bomb:
enable: false
# Fully pulled bow is ~9-10. 15 is default just to be safe.
max-bow-squared-velocity: 15
prevent-burrow:
enable: false
# 1.0 = Half a heart of damage every time you move.
damage-when-moving: 1.0
teleport-above-block: true
# Prevent burrow even if there is a block above the block they
# are burrowing in.
# Please note this may allow creating an "elevator", players will
# keep teleporting up until they hit air.
prevent-if-block-above-burrow: false
break-anvil-instead-of-teleport: true
# Needs to be enabled to prevent a bug where players are teleported
# above a slab when the slab is underwater.
allow-slabs-in-burrow: true
bed-aura-delay:
enable: false
# Set to -1 to disable.
break-delay-in-ticks: 5
place-delay-in-ticks: -1
#############
# Bedrock #
#############
bedrock:
fill-in-bedrock:
overworld-floor:
periodically-check-and-fill:
# Only checks loaded chunks.
enable: false
check-period-in-seconds: 10
# Uses the exact name of the world's folder in your server directory.
exempted-worlds:
- exampleworld
- exampleworld2
# Pauses the task during low tps to avoid lag.
pause-on-low-tps: true
# The TPS at which bedrock filling will pause to avoid adding to the lag.
pause-tps: 16.0
fill-on-chunkload:
enable: false
# Recommended to leave off. Only useful if world generation is broken.
also-check-new-chunks: false
# Uses the exact name of the world's folder in your server directory.
exempted-worlds:
- exampleworld
- exampleworld2
pause-on-low-tps: true
# The TPS at which bedrock filling will pause to avoid adding to the lag.
pause-tps: 16.0
nether-ceiling:
periodically-check-and-fill:
# Only checks loaded chunks.
enable: false
check-period-in-seconds: 10
# Uses the exact name of the world's folder in your server directory.
exempted-worlds:
- exampleworld
- exampleworld2
pause-on-low-tps: true
# The TPS at which bedrock filling will pause to avoid adding to the lag.
pause-tps: 16.0
fill-on-chunkload:
enable: false
# Recommended to leave off. Only useful if world generation is broken.
also-check-new-chunks: false
# Uses the exact name of the world's folder in your server directory.
exempted-worlds:
- exampleworld
- exampleworld2
pause-on-low-tps: true
# The TPS at which bedrock filling will pause to avoid adding to the lag.
pause-tps: 16.0
nether-floor:
periodically-check-and-fill:
# Only checks loaded chunks.
enable: false
check-period-in-seconds: 10
# Uses the exact name of the world's folder in your server directory.
exempted-worlds:
- exampleworld
- exampleworld2
pause-on-low-tps: true
# The TPS at which bedrock filling will pause to avoid adding to the lag.
pause-tps: 16.0
fill-on-chunkload:
enable: false
# Recommended to leave off. Only useful if world generation is broken.
also-check-new-chunks: false
# Uses the exact name of the world's folder in your server directory.
exempted-worlds:
- exampleworld
- exampleworld2
pause-on-low-tps: true
# The TPS at which bedrock filling will pause to avoid adding to the lag.
pause-tps: 16.0
prevent-going-below-bedrock-floor:
# Prevents players from going below the bedrock floor.
enable: true
# Whether to make player leave their vehicle.
leave-vehicle: true
# Whether to close the player's elytra if they were flying.
stop-elytra: true
# Whether the bedrock hole should be filled or not.
fill-bedrock-hole: true
exempted-worlds:
- world_the_end
- skyblock_world
filler-material: BEDROCK
You can find an optimization guide at the file GUIDE.md