This is an up-to-date remake of the plugin SpiderNest (https://dev.bukkit.org/projects/spider-nest) that adds some requested features and has been tested for 1.15+. The following lines are copied from the original post with some slight changes.
- Native Minecraft Version:
- 1.15
- Tested Minecraft Versions:
- 1.15
- 1.16
- Languages Supported:
- German, Spanish
What is SpiderNest? Ever wanted to exploit the fears of some players, or add a new dimension of cave exploration into your game? Look no further than to SpiderNest! This light plugin creates a surprise from cobwebs when a player breaks them. The web has a random chance of either doing nothing (acting like a regular cobweb) or bursting into several spiders. The types, chances, and amount of spiders can be configured freely.
Uses
Commands and Permissions
- Hardcore Servers
- Minigames
- Roleplay servers
- Post-apocalyptic servers
- Any server that wants a new dynamic mechanic.
Version
- /sn <on/enable> - spiderNest.toggle - Enables plugin from in-game.
- /sn <off/disable> - spiderNest.toggle - Disables plugin from in-game.
- /sn info - spiderNest.toggle - Shows info about loaded spider-nests
- /sn reload - spiderNest.toggle - reloads the config
This version of SpiderNest (currently 1.5) has been tested for Spigot 1.15 and 1.16. If you find any bugs or caveats, please leave them in the comments with a copy of your console output (if applicable). If you have any feature requests, please leave them in the comments as well.
Configuration
The nests can be freely configured to one's desire and preference. This is the default-configuration that enables three sorts of nests:
The sets are the most interesting options to configure. If a cobweb gets destroyed (and all further conditions like the world in, e.t.c. are met), a random set out of all will be chosen.Code (YAML):
# extra flag to enable/disable this plugin while still being able to
# enable/disable this plugin using a command
enable: true
# true: spiders will spawn, even if the cobweb has been destroyed by
# a shear or an item that has the Silk-Touch enchantment
silk_spawn: false
# the types of spiders-sets that can spawn out of a cobweb
sets:
SMALL:
chance: 0.2
spawns:
CAVE_SPIDER: 2
SPIDER: 3
MEDIUM:
chance: 0.3
spawns:
CAVE_SPIDER: 3
SPIDER: 4
BIG:
chance: 0.15
spawns:
CAVE_SPIDER: 8
# The worlds that this plugin operates on
worlds:
- world
- world_nether
- world_the_end
# specifies how the specified worlds should be handled
# blacklist: any world on the blacklist will not contain spider nests/ will not spawn
# spiders out of cobwebs
# whitelist: any world on the white-list will spawn spider nests, any world not specified will not
# any: every world will contain spider-nests. In this case, the worlds-section will be ignored
world_policy: any
# the prefix of this plugin
prefix: §e§lSpiderNest
# the language that this plugin should use
locale: en-US
# Specify a verbosity-level to broadcast selected messages to op's or the console
# silent: No debug messages will be sent/broadcast
# console: Debug messages will be sent to the console
# broadcast_to_op: op's will get a debug message, additionally to sending them to the console
verbosity: silent
Each has to have a probability as well as what it should spawn, once destroyed. The most basic setup (for one set) would thus be:
The name can be any name, it has no effect at all on the functionality of the plugin. The chance has to be a value between 0 and 1; the sum of all chances may not exceed 1. The number of spiders resp. Cave-spiders are the number of spiders spawned if a cobweb gets destroyed and this set will be chosen. You can add more sets to the list to allow for more nests, you could, for example, make nests that will only spawn one spider relatively frequent and nests that spawn multiple cave-spider relatively rare (an even better surprise then hehehe)Code (YAML):<Name>:
chance: <the chance that this should spawn>
spawns:
- SPIDER: <number of spiders>
- CAVE_SPIDER: <number of cave-spiders>
Since this does not allow a lot of modification options, I have added so-called ‘selectors’. You can specify these selectors to further fine-tune the spawning-conditions or apply random effects to the spiders when they spawn. A selector can be applied to all sets, a single set, or even to the spiders in a single set. It is to be written in the following way:
The expression must be one of "notIf", "onlyIf" or "effect". Suppose it was “notIf”; you would read the expression as “Don’t spawn spiders if option 1 is equal to case 1 or case 2 and option 2 is equal to case 3 or case 4”. You are not limited to any number of options or cases. For example:Code (Text):- expression['option'='case1'|'case2', 'option2'='case3'|'case4']
would spawn a small set only if it got destroyed in a desert.Code (YAML):...
sets:
SMALL:
chance: 0.2
spawns:
CAVE_SPIDER: 2
SPIDER: 5
options:
- onlyIf[biome=minecraft:desert]
...
Additionally, you can add more than one selector to a set:
Would spawn a small set only if it got destroyed in a desert and the player does not have the permission 'some.permission'.Code (YAML):...
options:
- onlyIf[biome=minecraft:desert]
- notIf[permission=some.permission]
...
Selectors can have chained expressions, meaning you can specify something like "only if biome is some biome and player has permission some permission". Here's a concrete example:
This can be read as „Only spawn spiders if the biome (of the destroyed cobweb) is a desert AND the player who destroyed the cobweb has the permission 'some.permission'“Code (Text):- onlyIf[biome=minecraft:desert,permission=some.permission]
Currently, these options are at choice:
- biome: Spiders will only spawn (resp. not spawn) if the biome that the nest got destroyed in equals one of the options. Allowed values are any vanilla biome names. Due to the fact, that, for example, a desert can be perceived as minecraft:desert, as well as minecraft:desert_hills, generic biomes, are introduced. For example generic:desert incorporates desert, desert_hills, and desert_lakes. A generic-biome should exist for every biome-variant
- surface: Restricts the spawn of spiders to either the surface or not surface. The values are 'overworld', resp. 'underworld'.
- world: even thou the world can be restricted via the world black/whitelist, this gives an extra option to disable/enable any nests in a specific world. If the world-policy is more strict, it always overrides this option.
- permission: Spiders will only spawn if the player has certain permission (resp. has not the specified permission).
- region: If WorldGuard is installed, you can use this option to specify a special region that spiders should spawn in (resp. should not spawn in). You can use the special region "__global__" to define a region that only contains this global region (meaning no other regions).
If you wish to add support for additional languages, you can do so by adding the file <yourLanguage>.lang to the plugin-folder. The language has to be in a valid lang-format (a JSON-format with translation-keys and the translated string as value). Some commands take special inputs (like a player's name), those have to be written in curly braces. You can take this default language-file as a hint:
Code (Text):
{
"message.plugin_enabled": "Plugin is now {enabled}&r globally",
"message.plugin_status": "Plugin is {enabled}",
"message.world_not_found": "World {world} not found. Make sure it exists and is correctly spelled!",
"message.permission_denied": "You don't have permission!",
"message.reload_complete": "Reload complete",
"warning.world_policy_not_found": "World policy {policy} not recognized. Make sure it's one of {policy_list}",
"warning.config_error": "Unable to create default config:",
"warning.chance_higher_one": "A total chance that is higher than 1 was given. This plugin will therefore not work as intended",
"warning.config_incomplete": "Configuration section must contain 'spawns'",
"warning.invalid_effect": "Invalid effect: {effect}",
"debug.nest_destroyed": "{nest} got destroyed by {player}",
"debug.nest_desc": "Nest &a{nest}&r with chance {chance}",
"misc.enabled": "&aenabled",
"misc.disabled": "&cdisabled",
"misc.chance": "Chance",
"misc.spiders": "Spiders",
"misc.cave_spiders": "Cave Spiders",
"misc.on": "on",
"misc.off": "off",
"message.surprise.surprise": "§7§oSURPRISE!!!!",
"message.surprise.introduce": "§7§oAllow us to introduce ourselves",
"message.surprise.hello_there": "§7§oHello There",
"message.info": "Loaded Spider Nests:"
}
Shoutouts
Thanks to @Elguerrero for providing the plugin logo and the translations into Spanish!

Spider Nest + 1.5
Cobwebs can spawn spiders
Recent Updates
- Upgrade to 1.16 & other changes Jul 23, 2020
- Bug Fix Mar 20, 2020
- Language Support for Spain and German Mar 9, 2020