Spider Nest + 1.5

Cobwebs can spawn spiders

  1. Schottky
    Native Minecraft Version:
    1.15
    Tested Minecraft Versions:
    • 1.15
    • 1.16
    Languages Supported:
    German, Spanish
    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.


    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
    • Hardcore Servers
    • Minigames
    • Roleplay servers
    • Post-apocalyptic servers
    • Any server that wants a new dynamic mechanic.
    Commands and Permissions
    • /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
    Version
    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:
    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
     
    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.
    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:
    Code (YAML):
    <Name>:
      chance
    : <the chance that this should spawn>
      spawns
    :
        - SPIDER
    : <number of spiders>
        - CAVE_SPIDER
    : <number of cave-spiders>
    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)

    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:
    Code (Text):
    - expression['option'='case1'|'case2', 'option2'='case3'|'case4']
    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 (YAML):
    ...
    sets
    :
      SMALL
    :
        chance
    : 0.2
        spawns
    :
          CAVE_SPIDER
    : 2
          SPIDER
    : 5
        options
    :
         - onlyIf[biome=minecraft:desert]
    ...
    would spawn a small set only if it got destroyed in a desert.

    Additionally, you can add more than one selector to a set:
    Code (YAML):
    ...
        options
    :
         - onlyIf[biome=minecraft:desert]
          - notIf[permission=some.permission]
    ...
    Would spawn a small set only if it got destroyed in a desert and the player does not have the 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:
    Code (Text):
    - onlyIf[biome=minecraft:desert,permission=some.permission]
    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'“
    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!
    lcatania likes this.

Recent Reviews

  1. angeluscaligo
    angeluscaligo
    5/5,
    Version: 1.5
    A wonderful addition that makes the game feel much more atmospheric and a little bit more lifelike. Though it'd be nice if you could disable the chat message.
    1. Schottky
      Author's Response
      You can! (Thou it's a little hidden). To do that, you'll either have to create your desired language or copy it from the jar-file (spiderNest-X.x.jar/lang/yor-lang.lang) and remove all entries that are prefixed with "message.surprise"
  2. lcatania
    lcatania
    5/5,
    Version: 1.5
    This has been one of the absolute coolest plugins ever. Useful, exciting, dangerous, and down right creepy :) Nothing like a ton of spiders popping out all over u killing u and making u scream when not expecting it :) Just like Real Life haha! :)
    1. Schottky
      Author's Response
      Thanks so much for the kind reply!
  3. SnowCutieOwO
    SnowCutieOwO
    5/5,
    Version: 1.4.1
    Good plugin!
    Can I share it to mcbbs.net?
    They also need a plugin like this.
    Just add more dangerous things in their server.
    1. Schottky
      Author's Response
      Thanks for the rating!
      If I‘m not mistaken, someone posted this on mcbbs already
  4. Elguerrero
    Elguerrero
    5/5,
    Version: 1.4
    Very good idea, useful for survival servers or factions for example, the very kind dev and add what you ask.
    I love the plugin <3
  5. SlimeDog
    SlimeDog
    5/5,
    Version: 1.3
    Outstanding response to update requests to improve the plugin functionality. Full marks!