Dangerous Caves 2 | Make your caves scary! [1.12.2 - 1.16.5] icon

Dangerous Caves 2 | Make your caves scary! [1.12.2 - 1.16.5] -----

Cave mechanics improvement | Paper-optimized | Cross-version support



Dev-builds: ................................ https://github.com/imDaniX/Dangerous-Caves-2/actions (registration required)

[​IMG]

INFORMATION
Dangerous Caves is the gameplay-addition plugin for bukkit servers. Plugin contains many new special mobs with its own characteristics. Also DC adds a bunch of interesting gameplay features, such as cave ins, depth hypoxia and more.
It's not just a fix for latest versions. DC2 is a fork of DC which provides significant optimizations to the original plugin. Actually plugin was almost fully re-coded from scratch.
Also many thing are configurable now - not just chances to spawn as it was before.

Project is not discontinued - experimental 1.17.1 support is available in dev-builds! It's still in development and bugs are expected.

FEATURES
Caves Aging
Caves that are inhabited for a long time grow vines, stalagmites, and generate pebbles to make caves look more cavey and run down.
It doesn't require you world reset. Just... wait...
[​IMG]

Cave-Ins
When very, very low underground you should bring a rabbit foot with you to avoid cave-ins from happening. Once a cave-in happens, the cave around you collapses with a deafening blast while blinding you in the process.
[​IMG]

Depth Hypoxia
When caving, there's not so much air to breath, and items in your backpack are felt heavier. Because of that, when low underground, your character will complain and you'll fatigue every now and then.
[​IMG]

Ambient Sounds
Sometimes while exploring a cave a creepy song will play or you'll hear strange sounds. A few examples would be water dropping, someone saying "oh" softly, or a spooky music disc playing lowly.
*picture of sound, huh?*

Custom Structures
Tiny little structures that spawn throughout caves to make exploring more interesting. Chests that can spawn in these structures contain items that you need to survive, so living only in a cave is now possible without traveling to the surface. There are currently 36 different structures, so finding two of the same is decently difficult to do.
[​IMG]

Special Mobs
Caves can be scary, so in order to make them as scary as possible plugin devs added some spooky mobs. For now there's 12 new monsters.
Alpha Spiders are the kings of the spider nation. They can poison you on attack, web you, and even summon minions to help attack. They are very dangerous in small spaces due to the fact that they can web you stuck if you are not careful.
[​IMG]

Hungering Darknesses are invisible entities that kill you if they find you in a place with zero light. If you are being targeted by the hungering darkness, you will hear a strange static sound coming towards you.
The way to get rid or kill them is by light so make sure you have a lot of torches.
[​IMG]

Smoke Demons are the souls of many miners who have died in gas leaks. Due to their unrest, they hunt you down in the form of a shapeless cloud of poisonous gas. However, bright lights can kill them just like the hungering darkness.
[​IMG]

Just when creepers couldn't get any worse, now Lava Creepers spawn in caves blow up into fire, lava, obsidian, and magma. Bring a water bucket and watch your back if you want to live. Lava Creepers shoot lava particles out of their head so that you know which type is which.
Lava Creeper Aftermath:
[​IMG]

Hexed Armor is a more annoying than dangerous mob. If you get hit too many times by hexed armor, the cursed armor will rip off your current armor and glue itself to you.
[​IMG]

Magma Monster so hot it scorches the land it walks on. Also sets you on fire if you are hit by it so watch out.
[​IMG]

Watcher is a monster that jumpscares you if you are not careful. If you look away from it while it is attacking or following you, it will teleport in front of you and jumpscare you. Dangerous with other mobs around, but easy to kill alone.
[​IMG]

TNT Creeper... A project gone wrong by scientist. During a attempt to increase the explosion power of creepers, some creepers learned to build TNT out of their surroundings and increase their explosion power themselves.
When the creeper explodes, TNT will appear and also explode causing multiply the explosion power.
"The Moment Before":
[​IMG]

Dead Miner, who couldn't find his way out of the caves below. Eventually by some unknown way, he was resurrected as a zombie and now stalks the caves looking for other miners to join him.
While he walks around, he will place torches if it gets too dark. He also drops items from time to time when he is hit.
[​IMG]

Crying Bat is a rare mob in the form of a bat that appears and cries randomly, then disappears after some time.
*another picture of sound*

Chest. Oh, I mean, Mimic! Just be aware of chests...
*sorry, no screenshots yet*

Cave Golem is evolved ore. It's very strong and sword are just useless. Try to kill it with its natural enemy - pickaxe!
*sorry, no screenshots yet*

COMMANDS
There's just one command
/dangerouscaves (alias /dcaves)
Permissions
dangerous.caves.command.*subcommand*
/dcaves info
- Get some info about your current location.
/dcaves summon [mob] - Spawn a mob on your location. Use ids from config, like alpha-spider.
/dcaves tick - Activate every plugin's tickables, like cave aging.
/dcaves reload - Reload plugin configuration.

CONFIGURATION
(last update 17.01.2021)
Also available on Gist GitHub.
Code (Text):
# | Dangerous Caves by Evil-Lootlye
# | Recoded by imDaniX

# Version of this configuration file
version: 24

# NOTE: Chances
# All the chances are in percents

# NOTE: Formulas
# For formulas you can use all common operators + - * / ^ ( ), for square roots you can use operator #
# Also plugin will give you some variables to use in your expression
# So, "12^2 * (45.342+32.1) / #43.1" will result you approximately "1698.6" (which is right)

# NOTE: Worlds
# World names are case-sensitive
# Instead of specifying worlds you can leave them blank - all the OVERWORLD worlds are going to be used automatically

# NOTE: Ticks
# Plugin utilizes its own tick system which is based on vanilla one
# WORLD tick is 6300 vanilla ticks (about 5 minutes 15 seconds)
# PLAYER tick is 800 vanilla ticks (about 40 seconds)
# ENTITY tick is 4 vanilla ticks (about 200 milliseconds)

# NOTE: Per-version
# 1.13+ Materials(ignore LEGACY) https://hub.spigotmc.org/javadocs/spigot/org/bukkit/Material.html
# -1.12 Materials https://helpch.at/docs/1.12.2/index.html?org/bukkit/Material.html
# 1.13+ Sounds https://hub.spigotmc.org/javadocs/spigot/org/bukkit/Sound.html
# -1.12 Sounds https://helpch.at/docs/1.12.2/index.html?org/bukkit/Sound.html

#
# Some plugin integrations
#
integration:

  # For disabling features in specific regions
  protection:
    # Available options: worldguard, worldguard-flags, griefprevention, griefprevention-flags, lands, lands-effectless, none
    # If you have several plugins, you can use multiple checks - just separate modes with comma
    # mode: worldguard-flags,griefprevention
    mode: none
    # WorldGuard flags:
    # dc-entity-grief (magma monster, lava creeper)
    # dc-block-change (cave-ins, caves aging)
    # dc-player-effect (ambient sounds, hypoxia)
    # `griefprevention-flags` mode requires GriefPreventionFlags plugin. You don't need it for `griefprevention`
    # GriefPreventionFlags flags:
    # DCNoEntityGrief (magma monster, lava creeper)
    # DCNoBlockChange (cave-ins, caves aging)
    # DCNoPlayerEffect (ambient sounds, hypoxia)
    # Lands settings:
    # ENTITY_GRIEFING (magma monster, lava creeper)
    # LEAF_DECAY (cave-ins, caves aging)
    # `lands-effectless` (ambient sounds, hypoxia)

    # Invert checks by default
    invert: false

  # PlaceholderAPI required. For displaying some data from the plugin.
  placeholders:
    # %dangerouscaves_hypoxia_chance% - a chance to get Hypoxia, scales from 0 to 100
    hypoxia-chance:
      enabled: false
      # Time in ticks between updates
      # Set to 0 if you want to update it only on PLAYER tick
      # Setting to 20 or lower is not recommended
      schedule: 200
      # Count try-chance in final result
      respect-try-chance: true
      # Calculate chance on join too
      calculate-on-join: true

#
# Cave-related things
#
caverns:

  # Cave-Ins - blocks may fall down when mining
  ins:
    enabled: true
    # List of worlds where cave-ins may appear
    worlds:
      - world
    # Chance of cave-ins while mining blocks
    # In percents
    chance: 0.25
    # Cuboid-shaped cave-ins. Doesn't affect performance
    cuboid: false
    # Sand-like fall. Can cause client-side lags and block drops, but looks fancy
    slow-fall: true
    # Immunity to cave-ins if player has rabbit foot in inventory
    rabbit-foot: true
    # Radius of cave-ins
    radius: 2
    # Maximal Y where cave-ins may appear
    y-max: 25
    # Give player effects on cave-ins?
    blast-effect: true
    # Play explosion sound on cave-ins?
    blast-sound: true

  # Ambient Sounds - special sound may be played underground
  ambient:
    enabled: true
    # List of worlds where ambient sounds can be played
    worlds:
      - world
    # Chance of sound will be played
    # Checking every PLAYER tick
    chance: 6.35
    # Maximal Y where sound can be played
    y-max: 64
    # Play sound in random location near player. 0 to play sound on player's location
    near: 7
    # Everyone will hear a sound in its radius
    server-wise: true
    # Minimal distance between sound sources if server-wise option is used.
    # May affect performance when enabled. Set to 0 or lower to disable
    server-wise-distance: 0
    # List of sounds to play - you can add more or remove some
    sounds:
      MUSIC_DISC_11:
        volume: 1
        pitch: 0.5
      ENCHANT_THORNS_HIT:
        volume: 0.04
        pitch: 0.2
      ENTITY_GHAST_SCREAM:
        volume: 1
        pitch: 0.5

  # Depth Hypoxia - will cause player to move and dig slower
  hypoxia:
    enabled: true
    # List of worlds where players can sense hypoxia
    worlds:
      - world
    # Chance of checking the player
    # Checking every PLAYER tick
    try-chance: 60
    # Result should be between 0 and 1, where 0 is 0% and 1 is 100%
    # Depth (0-1) - depth of player, where 1 is Y 0, and 0 is y-max(from config)
    # Inventory (0-1) - inventory fullness, where 1 is full and 0 is empty; slot considered as full if it has maximal amount of item inside(like 1 iron pickaxe, 16 ender pearls or 64 dirt)
    # For v2.1.9 behavior use "(depth+inventory)/2"
    # For original-like behavior just use "1" and set try-chance to 40
    chance-formula: "depth*inventory"
    # Limit maximal and minimal chance of activation
    chance-min: 10
    chance-max: 90
    # Maximal Y where players can sense lack of air
    y-max: 42
    # Use actionbar instead of chat to show messages
    actionbar: true
    # Messages when player is feeling lack of air. You can use %player placeholder
    messages:
      - "&4I really need more fresh air..."
      - "&4It is so stuffy down here."
      - "&4Maybe drop some items from the inventory?"

  # Caves Aging - over time caves will get some vines and rocks
  aging:
    enabled: true
    # List of worlds where aging will be processed
    worlds:
      - world
    # Chance of caves near player will be affected
    # Checking every WORLD tick
    chance: 50
    # Use `chance` for every chunk near players rather than just every player
    use-chance-per-chunk: false
    # Radius of cave aging near player
    # In chunks (+1 where the player is)
    radius: 3
    # Maximal Y where aging will be processed
    y-max: 64
    # Chance of block will be affected
    change-chance: 2.5
    # Maximal light level of block (0-15)
    # WARNING: Can cause lags. This option checks every horizontal side of block to detect if there's any light
    max-light-level: 0
    # Vanilla ticks between chunk changes calculations. Larger value - better performance, but slower process
    schedule-timer: 4
    # Force chunk loading if chunk was unloaded during scheduled aging. Disable if it's too intensive for your server
    # Plugin will try to load it async if you're using Paper or its forks
    force-load: true
    # Maximal percentage of aged blocks per chunk
    percentage: 30
    # List of materials that are affected by aging
    replace-blocks:
      - STONE
      - ANDESITE
      - COBBLESTONE
      - COBBLESTONE_WALL
    # What to do with replace-blocks?
    age-types:
      vines: true
      rocks: true
      mushrooms: true
      replace: true
    # Replace torch on caves aging. Not affected by `change-chance`
    torch-remove-chance: 40
    # List of coordinates of chunks that should be ignored
    # To get chunk coordinates just divide your coordinates by 16 and ignore remainder(or use command)
    # "-1,-1" variant is allowed(just one chunk)
    # Worlds are case-sensitive!
    skip-chunks:
    #  world:
    #   - "-1,-1 1,1"
    #   - "10,24"
    #  second_world:
    #   - "0,0"

#
# Generator-related things
#
generator:
  enabled: true

  # Force Dangerous Caves' generator to wait for other plugins (other generators)
  wait-other: false

  # Chance of custom structure generations in chunk
  chance: 50

  # Maximal amount of tries to find empty space for generation
  max-tries: 3

  # Worlds where generator will work
  worlds:
    - world

  # Items in generated chests
  chest-items:
    - OAK_PLANKS
    - TORCH
    - COBWEB
    - BONE
    - STICK
    - OAK_LOG
    - WATER_BUCKET
    - WOODEN_PICKAXE
    - STONE_PICKAXE
    - OAK_SAPLING
    - COAL
    - BEEF
    - APPLE
    - CHICKEN
    - WHITE_WOOL
    - BREAD
    - DIRT
    - CARROT
    - COOKIE
    - WOODEN_AXE
    - STONE_AXE
    - PAPER
    - SUGAR_CANE
    - SUGAR
    - TORCH
    - DIRT

  # List of *default* structures to generate
  # Larger priority - larger chance in comparison with others. Set to 0 to disable
  # Chance formula - (structure_priority)/(total_priority)
  structures:
    traps: 1
    pillars: 1
    boulders: 1
    buildings: 1

  # Chance of spawning a mimic inside of custom structure with chests
  mimic-chance: 10

#
# Mob-related things
#
mobs:
  enabled: true

  # Chance of spawning custom mob instead of vanilla one
  try-chance: 25

  # World where mob can spawn(and work as it's intended to work)
  worlds:
    - world

  # Minimal and maximal Y coordinate where custom mobs can spawn
  y-min: 4
  y-max: 64

  # (Paper only) Use PreCreatureSpawnEvent when trying to spawn mobs. More performance-friendly, but a bit less accurate
  # Disabled for 1.16+
  use-prespawn: false

  # Block renaming with name-tags
  restrict-rename: false

  # Maximal light level where mobs can spawn. Vanilla level for monsters is 7. Set to 16 or more to disable
  max-light-level: 16

  # Only these mobs will be replaced
  replace-mobs:
    - ZOMBIE
    - HUSK
    - SKELETON
    - STRAY
    - CREEPER
    - SPIDER
    - WITCH
    - ENDERMAN

  # Add metadata "DangerousCaves" when mob is spawned. Useful for some plugins like SAML.
  # Not sure, but can cause memory leak, so disabled by default
  add-metadata: false

  # List of *default* custom mobs

  # To disable mob's name just leave it blank, like
  #   name: ""
  # Larger priority - larger chance to spawn in comparison with others.
  # Set priority to 0 to disable mob, like
  #   priority: 0
  # Spawn chance formula - (mob_priority)/(total_priority)

  # Alpha Spider
  # Spawns cave-spiders as minions and covers player in cobweb
  alpha-spider:
    priority: 9
    health: 18
    name: "&4Alpha Spider"
    # When spider is damaged
    cobweb-chance: 14.29
    # When spider is damaged
    minion-chance: 6.67

  # Crying Bat
  # Just screams and eventually dies. What a legend
  crying-bat:
    priority: 9
    name: "&4Crying Bat"
    # Every ENTITY tick
    cry-chance: 3.33
    # Every ENTITY tick if cry was successful
    death-chance: 20

  # Dead Miner
  # Places torches when it's too dark and drops some items when damaged
  dead-miner:
    priority: 10
    name: "&4Dead Miner"
    health: 22
    # Get your custom head here https://minecraft-heads.com/
    # Just copy a "Value" (with =)
    head-value: "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvMzE5MzdiY2Q1YmVlYWEzNDI0NDkxM2YyNzc1MDVlMjlkMmU2ZmIzNWYyZTIzY2E0YWZhMmI2NzY4ZTM5OGQ3MyJ9fX0="
    # Place torches when it's too dark?
    place-torches: true
    # Place redstone torches instead of normal?
    red-torches: false
    # Place torches only if Dead Miner has entity as a target?
    requires-target: false
    # Cooldown in seconds between torches placing. Useful for preventing torch farms. Set to 0 to disable
    torches-cooldown: 12
    # When Dead Miner is damaged
    drop-chance: 30
    # Materials list
    drop-items:
      - COBBLESTONE
      - DIRT
      - COAL
      - TORCH

  # Hexed Armor
  # When attacks gives player all its armor
  hexed-armor:
    priority: 6
    name: "&4Hexed Armor"
    health: 20
    # Add binding curse to armor
    binding-curse: true
    # When player is attacked
    apply-chance: 25

  # Hungering Darkness
  # Spawns in the dark and kills player if there's no light
  hungering-darkness:
    priority: 8
    name: ""
    # Kill the entity on light?
    remove-on-light: false
    # Play death sound on light?
    death-sound: true
    # Is night vision effect considered as light?
    night-vision: false
    # When player is attacked
    damage: 200

  # Lava Creeper
  # When blows up creates a crater with magma, obsidian and lava
  lava-creeper:
    priority: 6
    name: "&4Lava Creeper"
    health: 20
    # When Lava Creeper is damaged. In ticks
    fire-touch: 10
    # Radius in blocks
    radius: 4
    # Chance that the block will be changed
    change-chance: 50
    block-chances:
      fire: 33.33
      magma_block: 25
      obsidian: 20
      lava: 16.67

  # Magma Monster
  # Leaves a trail of magma on its way
  magma-monster:
    priority: 4
    name: "&4Magma Monster"
    health: 20
    # If monster is extinguished it will receive damage
    extinguished-damage: false
    # Placing fire. Every ENTITY tick
    fire-chance: 7.14
    # Placing magma-blocks. Every ENTITY tick
    magma-chance: 3.57
    # Place magma and fire only if Magma Monster has entity as a target?
    requires-target: true

  # Smoke Demon
  # Creates a smoke and gives wither effect
  smoke-demon:
    priority: 7
    name: ""
    health: 20
    # Radius in blocks
    harm-radius: 3
    # Condition for spawning and harm/wither effect
    max-light: 11

  # TNT Creeper
  # Spawns additional TNTs when explodes and creates small explosion when damaged
  tnt-creeper:
    priority: 9
    name: "&4TNT Creeper"
    health: 20
    # Amount of TNT to spawn after explosion
    tnt-amount: 2
    # When TNT Creeper is damaged
    explosion-chance: 33.33

  # Watcher
  # Just jumpscares a player
  watcher:
    priority: 7
    name: "&4Watcher"
    health: 20
    # Get your custom head here https://minecraft-heads.com/
    # Just copy a "Value" (with =)
    head-value: "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZDI5MzhmMjQxZDc0NDMzZjcyZjVjMzljYjgzYThlNWZmN2UxNzdiYTdjYjQyODY5ZGI2NGUzMDc5MTAyYmZjNSJ9fX0="

  # Mimic
  # Becomes a chest when it has no target
  mimic:
    priority: 0
    name: "&4Mimic"
    health: 30
    # List of dropped materials after death
    drop-items:
      - BOOK
      - SADDLE
      - OAK_PLANKS
      - TORCH
      - COAL
      - GOLDEN_APPLE
      - COBWEB

  # Cave Golem
  # Has strong attack, can be damaged only with pickaxe, drops its head on death
  cave-golem:
    priority: 3
    name: "&4Cave Golem"
    health: 35
    # Give Cave Golem slowness effect
    slowness: true
    # When Cave Golem is attacking give its victim slowness, nausea and blindness effects
    distract-attack: true
    # Damage multiplier when Cave Golem is attacking
    damage-modifier: 2.0
    # Damage multiplier when player is attacking Cave Golem without pickaxe
    nonpickaxe-modifier: 0.07
    # These blocks will be on Cave Golem's head and will be dropped after death
    variants:
      - COAL_ORE
      - IRON_ORE
      - GOLD_ORE
      - LAPIS_ORE
      - DIAMOND_ORE
      - EMERALD_ORE
    # Chance of spawning from block (only variants above)
    spawn-from-block: 0.5
 

>> SUPPORT <<
Want to report a bug? Have an idea?
Prefer GitHub Issues! It has templates that can help me understand you better.
Please don't use review section for bug reports. I will not ignore it, but that's just rude D:


[​IMG]

This plugin uses bStats - you can opt out using the global bStats config.
Resource Information
Author:
----------
Total Downloads: 24,651
First Release: Mar 19, 2020
Last Update: Feb 6, 2021
Category: ---------------
All-Time Rating:
48 ratings
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings