promotional bannermobile promotional banner
premium banner
Opening chests ambushes players with possessed gear (HIGHLY configurable spawn logic)

Description

Cursed Armor

Opening chests, barrels, and other loot containers now comes with a risk — a hidden entity known as Cursed Armor may awaken and attack.

This isn’t a normal mob. (it definently isnt a zombie i made invisible and hid the particle effects then made silent)

This is a force that equips itself with gear and weapons, appearing only as the armor it wears. It strikes with minimal warning, turning every structure into a potential trap.

The core idea and motivation for this mod was inspired by Majrusz’s Progressive Difficulty.
My mod builds on their concept, expanding it into a system with much deeper customization.


⚔️ Features

  • 📦 Loot Traps
    Opening naturally generated containers can spawn Cursed Armor.
  • 🧠 Smart Detection
    Only triggers on loot-generated containers — player-placed chests and minecart chests are ignored.
  • 🧱 Structure Awareness
    Fully supports structure checks and blacklists (villages, etc.).
  • 🌍 Dimension Scaling
    Spawn chances increase as players progress through dimensions.
  • 🎲 Advanced Spawn System
    • Base chance + container bonuses
    • Loot table modifiers
    • Dimension-based scaling
    • Multiple rolls per container if desired
  • 🧰 Custom Gear Presets
    Define full armor + weapon sets for the Cursed Armor to use.
  • 🏛️ Structure-Based Presets
    Certain gear only appears in specific structures
    (e.g. miners in mineshafts, brutes in bastions)
  • 🔊 Immersive Effects
    • Optional spawn particles
    • Optional sound on spawn (Armor equip sound effect)
    • Completely silent enemies otherwise
  • 🧹 No Free Loot
    Cursed Armor drops nothing by default.

⚙️ Fully Configurable

Everything is adjustable:

  • Enable/disable container types (chests, barrels, shulkers, minecarts)
  • Fine-tune spawn chances per container type
  • Add loot table and dimension bonuses
  • Blacklist dimensions, structures, or containers
  • Control progression scaling behavior
  • Customize gear presets and restrictions

    View Config
     
    ["spawn settings"]
    #Base chance for Cursed Armor to spawn when opening a valid unopened loot container
    #This chance is modified further by block, loot table, and dimension bonus entries below
    #Default: 0.25
    #Range: 0.0 ~ 1.0
    base_spawn_chance = 1.0
    #Number of spawn rolls performed each time a valid container triggers
    #Each roll uses the final calculated spawn chance independently
    #Default: 1
    #Range: 1 ~ 5
    rolls_per_instance = 1
    #If true, once a container has been checked once, it will never trigger again
    #Default: true
    one_check_per_container = false
    #Maximum final chance per roll after all bonuses are added together
    #Helps prevent stupidly high values from stacking too hard
    #Default: 2.0
    #Range: 0.0 ~ 5.0
    max_final_spawn_chance = 2.0
    #If true, particles will appear when Cursed Armor spawns
    #Default: true
    enable_spawn_particles = true
    #If true, Cursed Armor plays the armor equip sound when it spawns
    #Default: true
    enable_spawn_sound = true
     
    ["container toggles"]
    #If true, normal chests can trigger Cursed Armor
    #Default: true
    enable_chests = true
    #If true, trapped chests can trigger Cursed Armor
    #Default: true
    enable_trapped_chests = true
    #If true, barrels can trigger Cursed Armor
    #Default: true
    enable_barrels = true
    #If true, supported shulker containers can trigger Cursed Armor
    #This includes Lootr shulker containers if Lootr is installed
    #Default: true
    enable_shulker_boxes = true
    #If true, minecart chests can trigger Cursed Armor
    #Default: true
    enable_minecart_chests = true

    ["container bonus options"]
    #Extra spawn chance added if the triggered container is a normal chest
    #Default: 0.0
    #Range: -5.0 ~ 5.0
    chest_extra_spawn_chance = 0.0
    #Extra spawn chance added if the triggered container is a trapped chest
    #Default: 0.25
    #Range: -5.0 ~ 5.0
    trapped_chest_extra_spawn_chance = 0.25
    #Extra spawn chance added if the triggered container is a barrel
    #Default: 0.0
    #Range: -5.0 ~ 5.0
    barrel_extra_spawn_chance = 0.0
    #Extra spawn chance added if the triggered container is a supported shulker box
    #Default: 0.0
    #Range: -5.0 ~ 5.0
    shulker_box_extra_spawn_chance = 0.0
    #Extra spawn chance added if the triggered container is a minecart chest
    #Default: 0.0
    #Range: -5.0 ~ 5.0
    minecart_chest_extra_spawn_chance = 0.0
    ["spawn bonus options"]
    #If true, dimension bonus chances become permanently active once the player has visited that dimension
    #Default: true
    dimension_bonus_unlocks_globally = true
    #Extra spawn chance added if the opened container is in one of these dimensions
    #Format: "namespace:path=chance"
    dimension_extra_chances = ["minecraft:overworld=0.0", "minecraft:the_nether=0.25", "minecraft:the_end=0.5"]
    #Extra spawn chance added if the container uses one of these loot tables
    #Format: "namespace:path=chance"
    loot_table_extra_chances = ["minecraft:chests/simple_dungeon=0.0", "minecraft:chests/abandoned_mineshaft=0.0", "minecraft:chests/desert_pyramid=0.0", "minecraft:chests/jungle_temple=0.0", "minecraft:chests/shipwreck_supply=0.0", "minecraft:chests/stronghold_corridor=0.0", "minecraft:chests/woodland_mansion=0.0", "minecraft:chests/ancient_city=0.0", "minecraft:chests/bastion_treasure=0.0"]
    #If true, when a new dimension bonus is unlocked globally, it replaces the currently active unlocked dimension bonus
    #instead of being added on top of earlier unlocked dimensions
    #Default: false
    set_as_new_dimension_spawn_chance_value = false
    #Defines the progression order for dimension bonus unlocks
    #The last visited dimension in this ordered list becomes the active one when replacement mode is enabled
    #Default: ["minecraft:overworld", "minecraft:the_nether", "minecraft:the_end"]
    dimension_spawn_chance_progression_order = ["minecraft:overworld", "minecraft:the_nether", "minecraft:the_end"]
     
    ["blacklist options"]
    #Loot tables that should never allow Cursed Armor to spawn
    #Format: "namespace:path"
    blacklisted_loot_tables = ["minecraft:chests/spawn_bonus_chest"]
    #Dimensions where Cursed Armor should never spawn
    #Format: "namespace:path"
    blacklisted_dimensions = []
    #Specific container block IDs that should never trigger, even if otherwise valid
    #Format: "modid:block_name"
    blacklisted_container_blocks = []
    #Structure IDs or structure tags where Cursed Armor should never spawn
    #Useful for things like villages or other safe structures
    #Accepted formats:
    #  Structure ID: ["minecraft:village_plains","minecraft:village_savanna"]
    #  Structure tag: ["#minecraft:village"]
    #Default: ["#minecraft:village"]
    blacklisted_structures = ["#minecraft:village"]
     
    ["mob settings"]
    #Bonus health added to the spawned mob. A vanilla zombie starts at 20 HP.
    #Default: 10.0
    #Range: 0.0 ~ 1000.0
    bonus_health = 0.0
     
    ["mob gear"]
    #List of full gear presets the spawned zombie can use
    #Format: "preset_name=helmet|chestplate|leggings|boots|mainhand"
    #Use "empty" for any slot you want left blank
    custom_gear_presets = ["leather=minecraft:leather_helmet|minecraft:leather_chestplate|minecraft:leather_leggings|minecraft:leather_boots|minecraft:stick", "chainmail=minecraft:chainmail_helmet|minecraft:chainmail_chestplate|minecraft:chainmail_leggings|minecraft:chainmail_boots|minecraft:stone_sword", "iron=minecraft:iron_helmet|minecraft:iron_chestplate|minecraft:iron_leggings|minecraft:iron_boots|minecraft:iron_sword", "gold=minecraft:golden_helmet|minecraft:golden_chestplate|minecraft:golden_leggings|minecraft:golden_boots|minecraft:golden_sword", "diamond=minecraft:diamond_helmet|minecraft:diamond_chestplate|minecraft:diamond_leggings|minecraft:diamond_boots|minecraft:diamond_sword", "netherite=minecraft:netherite_helmet|minecraft:netherite_chestplate|minecraft:netherite_leggings|minecraft:netherite_boots|minecraft:netherite_sword"]
    #If true, certain presets can be restricted to certain dimensions
    #Default: true
    enable_dimension_preset_restrictions = true
    #If true, preset groups unlock permanently per player once that player has visited that dimension
    #Default: true
    dimension_presets_unlock_globally = true
    #List of which presets are restricted to which dimensions
    #Format: "dimension=preset|preset|preset"
    dimension_restricted_presets = ["minecraft:overworld=leather|chainmail", "minecraft:the_nether=iron|gold", "minecraft:the_end=diamond|netherite"]
    #If true, when a new dimension preset group is unlocked globally, it replaces the currently active unlocked preset group
    #instead of being merged with earlier unlocked preset groups
    #Default: false
    set_as_new_dimension_preset_list = false
    #Defines the progression order for dimension preset unlocks
    #The last visited dimension in this ordered list becomes the active one when replacement mode is enabled
    #Format: ["minecraft:overworld", "minecraft:the_nether", "minecraft:the_end"]
    #Default: ["minecraft:overworld", "minecraft:the_nether", "minecraft:the_end"]
    dimension_preset_progression_order = ["minecraft:overworld", "minecraft:the_nether", "minecraft:the_end"]
    #Presets restricted to specific structures
    #These presets are added to the current dimension preset pool when inside the listed structure
    #Accepted formats:
    #  Structure tag: "#minecraft:mineshaft=miner"
    #  Structure ID or multiple entries: "minecraft:bastion_remnant|#minecraft:ruined_portal=brute"
    #Left side = structure ids and/or structure tags separated by |
    #Right side = preset names separated by |
    structure_restricted_presets = ["#minecraft:mineshaft=miner", "minecraft:bastion_remnant|#minecraft:ruined_portal=brute"]
    #If true, when structure restricted presets are found, they replace the dimension preset pool entirely
    #If false, they are added to the current dimension preset pool
    #Default: false
    structure_presets_replace_dimensional_preset = false
     

🔧 Compatibility

  • ✅ Built to work with Lootr (including Lootr minecart containers and shulkers)
  • ✅ Designed for modpacks
  • ✅ Lightweight and server-friendly

     


    🧪 Future Plans

    • 🩸 Cursed Loot-Only Mode
      An optional mode that disables all spawn chance calculations entirely.
      Cursed Armor will instead, only spawn if cursed gear is actually present inside the container.
    • ⚔️ Dynamic Gear Extraction
      Instead of using presets, Cursed Armor can be equipped directly from the loot inside the container itself — turning the chest into the source of the threat.