Purpose
This mod provides ways to configure mob spawners, to discourage their use in mob farms or to incentivize players to seek and destroy them. It can be used on a forge server with vanilla clients, though you should refrain from using the custom spawners feature when doing so.
Default options
By default, this mod makes spawners break after having spawned 100 mobs.
Configuration
You can however configure it to :
- Change the max amount of mobs spawned before obsolescence
- Disable the spawner after obsolescence, instead of destroying it
- Disable all changes made for vanilla spawners, altering only the mod's own spawners.
- Make mobs be counted when they are killed rather than when they are spawned. This avoids cheesing a dungeon by waiting for the spawners to run out.
- Change the amount of experience dropped when broken by a player. The formula for this is :
exp = xpDropped + rand(randXpVariation) + rand(randXpVariation)
where xpDropped is a constant in the config and rand(randXpVariation) is a random value between 0 and randXpVariation (defined in the config) - Add items to drop when the spawner is broken by a player. This is done in the config as a list of items, with the notation "modid:itemid:count:meta:chance", with count, meta and chance being optional numbers. Chance is a number between 0 and 1 corresponding to the probability an entry has to drop. (ex: "minecraft:porkchop", "minecraft:wool:5:13", "minecraft:diamond:1:0:0.75")
- Change spawners' cooldown over time. Each time a mob is counted (spawn or kill), the associated spawner sees its cooldown multiplied by the amount set in the config, which is 1 by default (no change). So you can set it to something between 0 and 1 for exponential spawns or higher than 1 to have spawners with diminishing efficiency. Or negative for wacky behaviours, your call.
- Alter mob spawn conditions
- By disabling any entity-specific spawning check (like animals needing grass)
- By disabling any mob-specific spawning check (this is the same as above but restricted to hostile mobs, allowing slimes to spawn outside slime chunks for example)
- With this option enabled, you can make it so sunlight still prevents spawning, to avoid zombies spawning and burning instantly.
- Change the amount of experience dropped by spawned mobs
Custom Spawners
This mods lets you define custom spawners in its configuration. Those spawners will be dynamically added as new blocks and use their own config. They act exactly the same as the vanilla one but aren't affected by the alterVanillaSpawner config option (nbt works the same as well, anything using vanilla spawners should work with those ones). This allows you as a map maker to use as many spawners as you want, each with its own set of rules. Similar to vanilla spawners, they are by default only obtainable through commands. (their id is spawnercontrol:<name>). You can however enable a creative tab for the mod, in which every custom spawner will appear.
Video demonstrating custom spawners (bad in-game framerate warning) :
Note: Due to Forge's constraints, this mod doesn't work with primitive entities such as items, xp orbs, projectiles... If it looks inert there's a chance spawners of it won't be affected. On the other hand, anything that has an associated working spawn egg is guaranteed to work.
This mod was made on a request by Shivaxi
Does anyone know how to make the spawners drop spawn eggs in 1.12.2? I know it's a little bit special because I can't make it drop the eggs as they have special additional information instead of having a special egg for each of the mobs, something that I think changes in later versions.
I have opened the file on the config folder and written for the spawn eggs:
minecraft:spawn_egg:1:0 {EntityTag:{id:"minecraft:creeper"}}:1
in this case, it should always drop a creeper spawn egg, but it does not do it... it does not even drop the gray empty one that the game gives as default when you try to /give it to someone but you don't specify the additional information the egg needs to summon something.
In reply to nestorvg:
Ah right, NBT is a thing. Sorry, I fear that's simply impossible with the current version of the mod.
In reply to PyrofabTheModsmith:
Is there any possibility that there's going to be this feature in a close future? That would allow people to drop enchanted items and so on, but it might be a little bit difficult to change such thing :c I think I would have to add another way to find spawn eggs.
In reply to nestorvg:
I don't think so, unless a kind soul implements that feature. I don't really have much time to give to my 1.12 mods.
In reply to PyrofabTheModsmith:
To a programmer (student level) that has a few years of knowledge of java script, c, c++ and c#, how much of a deal can it be?
In reply to nestorvg:
few years of programming experience ? not too hard, they would basically have to copy paste what the /give command does.
In reply to PyrofabTheModsmith:
When I have time I will see what can be done. If I manage to make something that works I would make the version available for the original author of the mod not taking any further responsibility :)
In reply to nestorvg:
I already appreciate the thought !
Is 1.14 possible ?
In reply to renyer21:
It is certainly possible, but I don't really have the time to do the porting work currently.
Hello, just out of curiosity, i'm working on a modpack for me and my friends, I wanted to see if I could make use of this mod to help balance out all the spawners that are present with the ruins and battletowers mods (So you can't just set up ludicrous amounts of farms and / or farm them forever) but after tweaking around with this mods configs, Example: setting the maximum amount of mobs to spawn before breaking to 30 and decreasing the spawning delay. It doesn't seem like any of the spawners in the world are affected by my changes... None of the possible drops I set in the config ever drop no matter how many spawners I break and the spawners don't seem to spawn on any faster of a delay or have a spawning cap... Could I get some help figuring out a way to get these spawners to recognize and follow these rules? Thanks.
-Note: Yes I did try all this on a new world with the configs already set, and none of the generated spawners in the world were affected by my setting choices.
In reply to JohnnyTisdale:
Could I get your config file and a list of your mod ? That may help in finding the issue.
In reply to PyrofabTheModsmith:
I PM'd you the mod list and config setup. Thanks for taking the time to look into this.
Can you please help me understand the config a bit better? I want spawners to never break automatically. Should I set mobThreshold to 0 or -1, or perhaps just leave it blank? Thanks!
In reply to lychgator:
If you just want to avoid spawners breaking, you can set breakSpawner to false. Otherwise, if you want them to keep working forever, you will have to set a ludicrously high number (around 4 billions is the maximum, and you would need decades of constant playing to reach it).
In reply to PyrofabTheModsmith:
Ah cool. Thanks for the explanation!
Does this work with Mo' Creatures?
In reply to superpl4yz:
This mod is for mob spawners, as in the mob spawning block, not mobs & animals spawning in the world.
Is there a way to make mob spawners drop the spawn egg of the mob it spawns?
In reply to inevitable_judgement:
Nope, there is no NBT support for now (spawn eggs require NBT IIRC)