Difficulty Makes Mobs Not Spawn
confirmed through vigorous testing this is a difficulty issue
Type: Armor_stand
#Disguise: Falling_Block spawner
Faction: Mobs
Options:
Silent: true
Interactable: false
# Invisible: true
CanMove: false
Skills:
- skill{s=MaxSpawns} @self ~onSpawn
- command{c="say Desert Caster.level = <caster.level>";asTarget=true;asOp=true} @NearestPlayer{r=20} ~onTimer:100
- command{c="say Desert Caster.maxspawns = <caster.var.maxspawns>";asTarget=true;asOp=true} @NearestPlayer{r=20} ~onTimer:100
- command{c="say Desert Caster.children = <caster.children.size>";asTarget=true;asOp=true} @NearestPlayer{r=20} ~onTimer:100
- command{c="say Despawning";asTarget=true;asOp=true} @NearestPlayer{r=20} ~onDespawn
- command{c="say -----";asTarget=true;asOp=true} @NearestPlayer{r=20} ~onTimer:100
- command{c="say Mob Spawned";asTarget=true;asOp=true} @NearestPlayer{r=20} ~onTimer:100 ?playerwithin{d=15} ?comparevalues{value1=<caster.children.size>;operator=<=;value2=<caster.level>;type=INTEGER} ?variableInRange{var=caster.maxspawns;value=>-1}
- randomskill{skills=SpawnSkeletonAssassin,SpawnGuardianZombie,SpawnMummy,SpawnSupport,SpawnLivingSand,SpawnGhost1,SpawnGhost2,SpawnZombie,SpawnSkeleton,SpawnHusk,SpawnCreeper,SpawnZombie,SpawnHusk} @self ~onTimer:100 ?playerwithin{d=15} ?comparevalues{value1=<caster.children.size>;operator=<=;value2=<caster.level>;type=INTEGER} ?variableInRange{var=caster.maxspawns;value=>-1}
- variablesubtract{var=caster.maxspawns;amount=1} @self ~onTimer:100 ?playerwithin{d=15} ?comparevalues{value1=<caster.children.size>;operator=<=;value2=<caster.level>;type=INTEGER} ?variableInRange{var=caster.maxspawns;value=>-1}
- remove{delay=25} @self ~onTimer:100 ?variableInRange{var=caster.maxspawns;value=<0}```
**^ updated mob to not have disguise**
```[08:11:16 INFO]: NibKilgharrah issued server command: /mm mobs spawn DesertSpawner:1
[08:11:16 INFO]: [Not Secure] [NibKilgharrah] Skill Skill.playercount 1
[08:11:16 INFO]: [Not Secure] [NibKilgharrah] Skill Skill.maxspawns = 4
[08:11:19 INFO]: [Not Secure] [NibKilgharrah] Desert Caster.level = 1
[08:11:19 INFO]: [Not Secure] [NibKilgharrah] Desert Caster.maxspawns = 2
[08:11:19 INFO]: [Not Secure] [NibKilgharrah] Desert Caster.children = 0
[08:11:19 INFO]: [Not Secure] [NibKilgharrah] -----
[08:11:19 INFO]: [Not Secure] [NibKilgharrah] Mob Spawned
[08:11:24 INFO]: [Not Secure] [NibKilgharrah] Desert Caster.level = 1
[08:11:24 INFO]: [Not Secure] [NibKilgharrah] Desert Caster.maxspawns = 0
[08:11:24 INFO]: [Not Secure] [NibKilgharrah] Desert Caster.children = 0
[08:11:24 INFO]: [Not Secure] [NibKilgharrah] -----
[08:11:24 INFO]: [Not Secure] [NibKilgharrah] Mob Spawned
[08:11:29 INFO]: [Not Secure] [NibKilgharrah] Desert Caster.level = 1
[08:11:29 INFO]: [Not Secure] [NibKilgharrah] Desert Caster.maxspawns = -1
[08:11:29 INFO]: [Not Secure] [NibKilgharrah] Desert Caster.children = 0
[08:11:29 INFO]: [Not Secure] [NibKilgharrah] Mob Spawned
[08:11:29 INFO]: [Not Secure] [NibKilgharrah] -----
[08:11:30 INFO]: [Not Secure] [NibKilgharrah] Despawning```
**^ Summoning a level1 DesertSpawner in overworld with /mm mobs spawn DesertSpawner:1**
```[08:14:23 INFO]: NibKilgharrah issued server command: /md play TESTING
[08:14:23 INFO]: Preparing start region for dimension minecraft:testing_0
[08:14:23 INFO]: Time elapsed: 0 ms
[08:14:23 INFO]: [WorldGuard] (TESTING_0) TNT ignition is PERMITTED.
[08:14:23 INFO]: [WorldGuard] (TESTING_0) Lighters are PERMITTED.
[08:14:23 INFO]: [WorldGuard] (TESTING_0) Lava fire is PERMITTED.
[08:14:23 INFO]: [WorldGuard] (TESTING_0) Fire spread is UNRESTRICTED.
[08:14:23 INFO]: [WorldGuard] Loaded configuration for world 'TESTING_0'
[08:14:23 INFO]: [MythicDungeons] -= Loading world into memory TESTING_0 processed in 89ms. =-
[08:14:23 INFO]: [MythicDungeons] -= Loading Dungeon TESTING processed in 137ms. =-
[08:14:28 INFO]: [Not Secure] [NibKilgharrah] Skill Skill.playercount 1
[08:14:28 INFO]: [Not Secure] [NibKilgharrah] Skill Skill.maxspawns = 4
[08:14:29 INFO]: [Not Secure] [NibKilgharrah] Desert Caster.level = 1
[08:14:29 INFO]: [Not Secure] [NibKilgharrah] Desert Caster.maxspawns = 2
[08:14:29 INFO]: [Not Secure] [NibKilgharrah] Desert Caster.children = 0
[08:14:29 INFO]: [Not Secure] [NibKilgharrah] -----
[08:14:29 INFO]: [Not Secure] [NibKilgharrah] Mob Spawned
[08:14:34 INFO]: [Not Secure] [NibKilgharrah] Desert Caster.level = 1
[08:14:34 INFO]: [Not Secure] [NibKilgharrah] Desert Caster.maxspawns = 0
[08:14:34 INFO]: [Not Secure] [NibKilgharrah] Desert Caster.children = 0
[08:14:34 INFO]: [Not Secure] [NibKilgharrah] -----
[08:14:34 INFO]: [Not Secure] [NibKilgharrah] Mob Spawned
[08:14:39 INFO]: [Not Secure] [NibKilgharrah] Desert Caster.level = 1
[08:14:39 INFO]: [Not Secure] [NibKilgharrah] Desert Caster.maxspawns = -1
[08:14:39 INFO]: [Not Secure] [NibKilgharrah] Desert Caster.children = 0
[08:14:39 INFO]: [Not Secure] [NibKilgharrah] -----
[08:14:39 INFO]: [Not Secure] [NibKilgharrah] Mob Spawned
[08:14:40 INFO]: No player was found
[08:14:40 INFO]: [Not Secure] [NibKilgharrah] Despawning```
**^ Dungeon WITHOUT difficulty /md play TESTING**
```[08:21:54 INFO]: NibKilgharrah issued server command: /mm debug 5
[08:22:00 INFO]: NibKilgharrah issued server command: /md play TESTING:CASUAL
[08:22:00 INFO]: Preparing start region for dimension minecraft:testing_0
[08:22:00 INFO]: Time elapsed: 0 ms
[08:22:00 INFO]: [MythicDungeons] -= Loading world into memory TESTING_0 processed in 16ms. =-
[08:22:00 INFO]: [MythicDungeons] -= Loading Dungeon TESTING processed in 66ms. =-
[08:22:00 INFO]: [MythicMobs] [i] Updating Armor
[08:22:28 INFO]: NibKilgharrah issued server command: /md leave
[08:22:28 INFO]: [MythicMobs] [i] Updating Armor
[08:22:28 INFO]: [MythicDungeons] Cleaning up instance 'TESTING_0'...
[08:22:28 INFO]: [ChunkHolderManager] Waiting 60s for chunk system to halt for world 'TESTING_0'
[08:22:28 INFO]: [ChunkHolderManager] Halted chunk system for world 'TESTING_0'
[08:22:28 INFO]: [ChunkHolderManager] Waiting 60s for chunk I/O to halt for world 'TESTING_0'
[08:22:28 INFO]: [ChunkHolderManager] Halted I/O scheduler for world 'TESTING_0'
[08:22:28 INFO]: [MythicDungeons] -= Unloading dungeon world TESTING_0 processed in 4ms. =-
[08:22:32 INFO]: NibKilgharrah issued server command: /mm debug 0```
**^Dungeon WITH difficulty /md play TESTING:CASUAL**
```[08:25:52 INFO]: NibKilgharrah issued server command: /md play TESTING:SUICIDE
[08:25:52 INFO]: Preparing start region for dimension minecraft:testing_0
[08:25:52 INFO]: Time elapsed: 0 ms
[08:25:52 INFO]: [MythicDungeons] -= Loading world into memory TESTING_0 processed in 40ms. =-
[08:25:52 INFO]: [MythicDungeons] -= Loading Dungeon TESTING processed in 90ms. =-
[08:26:05 INFO]: NibKilgharrah issued server command: /md leave
[08:26:05 INFO]: [MythicDungeons] Cleaning up instance 'TESTING_0'...
[08:26:05 INFO]: [ChunkHolderManager] Waiting 60s for chunk system to halt for world 'TESTING_0'
[08:26:05 INFO]: [ChunkHolderManager] Halted chunk system for world 'TESTING_0'
[08:26:05 INFO]: [ChunkHolderManager] Waiting 60s for chunk I/O to halt for world 'TESTING_0'
[08:26:05 INFO]: [ChunkHolderManager] Halted I/O scheduler for world 'TESTING_0'
[08:26:05 INFO]: [MythicDungeons] -= Unloading dungeon world TESTING_0 processed in 4ms. =-
[08:26:10 INFO]: NibKilgharrah issued server command: /spawn```
**^Dungeon WITH difficulty /md play TESTING:SUICIDE**
```Difficulty:
# Whether or not to enable difficulty levels for dungeons.
EnableDifficultyLevels: true
# Whether or not to show a difficulty selection menu to the player when playing. Requires the above to ALSO be true.
EnableDifficultyMenu: false
# A list of difficulty options and how they affect the dungeon. You can name them whatever you want and have as many as you like!
# Useful in combination with the "Dungeon Difficulty" condition.
Levels:
CASUAL:
Icon:
Material: STONE
Display: CASUAL
MobHealth: 1.0
MobDamage: 1.0
BonusMythicLevels: 1 # How much to increase all Mythic Mobs' levels by
# A range of how much bonus loot to add to loot table and random rewards functions.
# WARNING: Only works on Mythic Dungeons loot tables and 'random rewards' functions!
# Mythic Mobs drop tables do not get bonus drops. Instead, use the `dungeondifficulty` mythic condition in your mythic drop table!
BonusLoot: 0
AMBITIOUS:
Icon:
Material: STONE
Display: AMBITIOUS
MobHealth: 1.0
MobDamage: 1.0
BonusMythicLevels: 2
BonusLoot: 1-2
FORMIDABLE:
Icon:
Material: STONE
Display: FORMIDABLE
MobHealth: 1.0
MobDamage: 1.0
BonusMythicLevels: 3
BonusLoot: 2-3
VENTURE:
Icon:
Material: STONE
Display: VENTURE
MobHealth: 1.0
MobDamage: 1.0
BonusMythicLevels: 4
BonusLoot: 5-7
SUICIDE:
Icon:
Material: STONE
Display: SUICIDE
MobHealth: 1.0
MobDamage: 1.0
BonusMythicLevels: 5
BonusLoot: 7-11```
^ This is the difficulty settings
**IMPORTANT NOTE**
when I tried
```EnableDifficultyLevels: false``` and ```/md play TESTING:CASUAL``` the spawner worked perfectly as expected
\ / This is the FULL config for TESTING dungeon \ /
General:
# Do not change! Used to track the config version when major updates happen.
Version: 1
DungeonType: classic
# The generator to use for chunks in this dungeon. These can also be provided by other plugins.
# natural = Default superflat.
# mythicdungeons:void = Classic void generator, provided by Mythic Dungeons.
# mythicdungeons:block.[BLOCKTYPE] = Generates entire chunks of a specific block. (For example, mythicdungeons:block.STONE would generate chunks at full height of all stone.)
ChunkGenerator: natural
# The pretty name of this dungeon that'll appear when it's finished and started.
DisplayName: '&bA Dungeon'
# Whether to show the display name above in a title message to the players when the dungeon begins.
ShowTitleOnStart: false
Lobby:
Enabled: false
Location:
x: 0.0
y: -60.0
z: 0.0
pitch: 0.0
yaw: 0.0
# Whether to use the exit location for any time the player leaves instead of just when they finish the dungeon.
AlwaysUseExit: false
# What game mode the players will be in while in the dungeon.
Gamemode: SURVIVAL
# How many times the player can die before being unable to respawn. 0 will give the player infinite lives.
PlayerLives: 0
# Whether players who lose all their lives get put into spectator. If this is set to false, the player will instead be kicked from the dungeon.
# NOTE: Spectators cannot use the spectator menu to exit the dungeon.
DeadPlayersSpectate: true
# Whether to close the dungeon when all players are spectating. If this is set to false, the dungeon will remain open until all players have left.
# If set to false, players must use /md leave to exit the dungeon.
# NOTE: This option only works if DeadPlayersSpectate is set to true.
CloseDungeonWhenAllSpectating: true
# Whether players keep their inventory upon entering the dungeon.
KeepInventoryOnEnter: true
# Whether players keep their current health upon entering the dungeon.
# (Otherwise,they will be restored to full health upon entry, and set back to their previous health upon exit.)
KeepHealthOnEnter: false
# Whether players keep their current food level upon entering the dungeon.
# (Otherwise, they will be restored to full food upon entry, and set back to their previous food level upon exit.)
KeepFoodOnEnter: false
# Whether players keep their current potion effects upon entering the dungeon.
# (Otherwise, they will have all potion effects cleared upon entry.)
KeepPotionEffectsOnEnter: false
# Whether players keep their current EXP and level upon entering the dungeon.
KeepExpOnEnter: true
# Whether to kick players who disconnect during the dungeon.
KickOfflinePlayers: true
# How long to wait in seconds after a disconnect before kicking the player from the dungeon.
KickOfflinePlayersDelay: 300
# The maximum number of backups the plugin will save before deleting old backups.
MaxBackups: 3
# The maximum number of instances there can be of this dungeon at a time.
MaxInstances: 5
# How long in minutes until the dungeon is automatically ended and the players are kicked out. 0 will disable the time limit.
TimeLimit: 0
# How long in ticks to wait before cleaning up a dungeon when all players have left it. 0 will clean up the dungeon instantly.
CleanupDelay: 0
# The maximum number of players that can be in this dungeon. Used by the CONTINUOUS dungeon type.
MaxPlayers: 0
# When set to 'true', when players take items from reward functions, they'll be put in a rewards list.
# Upon finishing the dungeon, the players will be given the rewards.
GiveLootAfterCompletion: false
# Loot Cooldown makes it so that players can't loot chests they've already looted recently.
# Reward functions can be configured individually, or use the default values provided in this section.
LootCooldown:
Enabled: false
# Whether or not the cooldown is per-chest or dungeon-wide. !!NOT CURRENTLY WORKING!!
PerReward: true
# Setting this to TIMER will make it so the player can't get loot again until their cooldown is up.
# Options like HOURLY, DAILY, WEEKLY, and MONTHLY will let you configure a set time for loot to be reset.
CooldownType: DAILY
# If type is set to TIMER, this is how many minutes until the player can acquire loot again.
# Otherwise, this is the time of day when the reset occurs in hours.
CooldownTime: 0
# If type is set to WEEKLY, ResetDay determines what numbered day of the week the reset occurs.
# "Sunday" would be 1, "Monday" is 2, "Tuesday" is 3, etc.
# If type is set to MONTHLY, ResetDay determines what day of the month the reset occurs.
# Doesn't do anything if CooldownType is set to "TIMER"
ResetDay: 1
# Access cooldown is used to limit how quickly a player can play this dungeon again after playing it.
# NOTE: Be wary using this, as this can result in players being unable to play with each other if one of them has already run the dungeon recently!
# The "LootCooldown" section should be used instead to avoid this.
AccessCooldown:
Enabled: false
# Whether to apply the cooldown when the player finishes the dungeon (via a "Finish Dungeon" function.)
CooldownOnFinish: true
# Whether to apply the cooldown when the player leaves the dungeon by any means.
CooldownOnLeave: false
# Whether to apply the cooldown when the player loses all their lives.
CooldownOnLoseLives: false
# Whether to apply the cooldown when the player starts the dungeon. If you have a lobby enabled, it won't apply the cooldown until a Start Dungeon function is activated.
CooldownOnStart: false
# Setting this to TIMER will make it so the player can't get run this dungeon again until their cooldown is up.
# Options like HOURLY, DAILY, WEEKLY, and MONTHLY will let you configure a set time for access to be reset.
CooldownType: DAILY
# If type is set to TIMER, this is how many minutes until the player can player the dungeon again.
# Otherwise, this is the time of day when the reset occurs in hours.
CooldownTime: 0
# If type is set to WEEKLY, ResetDay determines what numbered day of the week the reset occurs.
# "Sunday" would be 1, "Monday" is 2, "Tuesday" is 3, etc.
# If type is set to MONTHLY, ResetDay determines what day of the month the reset occurs.
ResetDay: 1
Requirements:
# A list of permissions the player must have.
Permissions: []
MinPartySize: 1
MaxPartySize: 4
# A list of dungeons the player must have completed. Note: "Finished" means the "Finish Dungeon" function was used in the required dungeon.
DungeonsComplete: []
# If a Vault-based economy is installed, it costs this much to play the dungeon.
Cost: 0
AccessKeys:
# Whether to consume keys when players enter the dungeon using the key.
Consume: true
# A list of itemstacks that are valid key items. NOTE: It is not recommended adding keys from here. Use the `/md addkey <dungeon>` command instead.
# Mythic items are supported and will default to the latest version of the Mythic item (based on its namespace).
KeyItems: []
Difficulty:
# Whether or not to enable difficulty levels for dungeons.
EnableDifficultyLevels: true
# Whether or not to show a difficulty selection menu to the player when playing. Requires the above to ALSO be true.
EnableDifficultyMenu: false
# A list of difficulty options and how they affect the dungeon. You can name them whatever you want and have as many as you like!
# Useful in combination with the "Dungeon Difficulty" condition.
Levels:
CASUAL:
Icon:
Material: STONE
Display: CASUAL
MobHealth: 1.0
MobDamage: 1.0
BonusMythicLevels: 1 # How much to increase all Mythic Mobs' levels by
# A range of how much bonus loot to add to loot table and random rewards functions.
# WARNING: Only works on Mythic Dungeons loot tables and 'random rewards' functions!
# Mythic Mobs drop tables do not get bonus drops. Instead, use the `dungeondifficulty` mythic condition in your mythic drop table!
BonusLoot: 0
AMBITIOUS:
Icon:
Material: STONE
Display: AMBITIOUS
MobHealth: 1.0
MobDamage: 1.0
BonusMythicLevels: 2
BonusLoot: 1-2
FORMIDABLE:
Icon:
Material: STONE
Display: FORMIDABLE
MobHealth: 1.0
MobDamage: 1.0
BonusMythicLevels: 3
BonusLoot: 2-3
VENTURE:
Icon:
Material: STONE
Display: VENTURE
MobHealth: 1.0
MobDamage: 1.0
BonusMythicLevels: 4
BonusLoot: 5-7
SUICIDE:
Icon:
Material: STONE
Display: SUICIDE
MobHealth: 1.0
MobDamage: 1.0
BonusMythicLevels: 5
BonusLoot: 7-11
Rules:
SpawnMobs: false
SpawnAnimals: false
SpawnMonsters: false
AllowBreakBlocks: false
AllowPlaceBlocks: false
AllowEnderpearl: false
AllowChorusFruit: false
AllowBucket: false
# Limits placing things that don't count as blocks like boats.
AllowPlaceEntities: false
# Effectively sets RandomTickSpeed to 0 inside the dungeon, preventing blocks from spreading, plants from growing, ice from melting, etc.
DisableRandomTick: true
PreventPlantGrowth: true
PreventExplosionBlockDamage: false
PvP: false
HideDeathMessages: false
# Prevents players outside the dungeon from teleporting in. Admins can bypass with the `dungeons.bypassjoin` permission. (Or `dungeons.bypassjoin.[dungeon_name]`)
PreventTeleportIn: false
# Whether to allow all commands in the dungeon.
AllowCommands: false
# A list of commands that can still be used, even when "AllowCommands" is set to false.
AllowedCommands:
- party
# A list of commands that CAN'T be used, even when "AllowCommands" is set to true.
DisallowedCommands: []
# Vanilla Minecraft item materials to ban. (Must be a valid Spigot material.)
BannedItems: []
# A list of more detailed items to ban from the dungeon. (Recommended to use the /md banitem command instead of modifying this directly.)
CustomBannedItems: []
# Toggles whether banned items can be picked up if they are on the ground in the dungeon.
AllowPickupBannedItems: false
# Toggles whether banned items can be crafted while inside the dungeon.
AllowCraftBannedItems: false
# Toggles whether banned items can be placed in or removed from storage in the dungeon.
AllowStorageBannedItems: false
# A list of blocks that are allowed to be PLACED in this dungeon, regardless of the "AllowPlaceBlocks" rule.
# Remove the [] and add the blocks like a list as show in the comments.
BlockPlaceWhitelist: []
# - DIAMOND_ORE
# - GOLD_ORE
# A list of blocks that are allowed to be BROKEN in this dungeon, regardless of the "AllowBreakBlocks" rule.
BlockBreakWhitelist:
- DECORATED_POT
- PLAYER_HEAD
# A list of blocks that are NOT allowed to be PLACED in this dungeon, regardless of the "AllowPlaceBlocks" rule.
BlockPlaceBlacklist: []
# A list of blocks that are NOT allowed to be BROKEN in this dungeon, regardless of the "AllowBreakBlocks" rule.
BlockBreakBlacklist: []
# Whether to let players break any blocks they've placed in this dungeon. Useful when "AllowPlaceBlocks" is true, but "AllowBreakBlocks" is false.
# OVERRIDES THE ABOVE RULES!!
AllowBreakPlacedBlocks: false
# A list of Spigot entities that cannot be damaged.
DamageProtectedEntities: []
# A list of Spigot entities that cannot be interacted with. Useful for protecting Item Frames and Armor Stands.
InteractProtectedEntities: []
# When set to true, prevents armor, weapons and/or tools from losing durability while in the dungeon
PreventDurabilityLoss:
Armor: false
Weapons: false
Tools: false