Mob Grinding Utils Dreadful/delightful dirt spawns disabled with torch
OhTanoshi opened this issue ยท 7 comments
Mega torch stops all spawns from the dirt type spawners that are in MobGrinding Utils
Which versions did you experience this on? I thought this was working fine in the past.
same problem in ATM8-1.0.18 (mc1.19)
with torchMaster 19.2.0 and mobGrindingUtils 0.4.49
i think they changed how mobs spawn with the dirt
Same problem in FTB Skies 1.2.1
Using Torchmaster 19.2.0 and mob_grinding_utils-1.19.2-0.4.49
Awhile back i made them hook the spawn event to solve a different mod compatibility issue, had no idea mega-torches used the event, havn't come up with a good solution yet.
This is actually quite annoying.
I've already moved on to 1.19.4 - which unfortunately is not compatible to either 1.19.3 or 1.19.2
It seems quite a few mods "stuck" to 1.19.2 while some others moved on to 1.19.4
That being said, it's a solvable issue. (Created a new branch specific for 1.19.2)
The spawning event is much more of a problem. Minecraft supports the following MobSpawnTypes:
NATURAL,
CHUNK_GENERATION,
SPAWNER,
STRUCTURE,
BREEDING,
MOB_SUMMONED,
JOCKEY,
EVENT,
CONVERSION,
REINFORCEMENT,
TRIGGERED,
BUCKET,
SPAWN_EGG,
COMMAND,
DISPENSER,
PATROL
Mega Torches utilizes the Natural
Spawn Type, which is generated by the Natural World Spawner (low light level) - but Mob Grinding Utils is using the exact same type. In my opinion, it should be SPAWNER
, STRUCTURE
or anything but NATURAL
for that matter. As it is right now, its just not feasable for me to see if an entity was actually spawned "naturally" or through the help of a non-natural block - like this specialized dirt block - which I consider to be a spawner.
If they don't want to switch to a different spawn type, I could add special support - but the problem here is, there is literally no indication if a mob was spawned via the dirt. They pass null
for the BaseSpawner - which is valid, but doesn't tell me what is actually spawning the entity. I could check if the spawn position happens to be on those special dirt blocks, but that might lead to false positives(i.e. allowing hostile spawns when the dirt is supposed to only spawn friendly/neutral).
The cleanest option would be to switch to a different spawn type. If thats not possible due to another mod compatibility, passing an Instance of a BaseSpawner which somehow indicates that its a Mob Grinding Utils instance would be an option as well. (I can check the classname, package or even use an interface method). A more generic option that other mods could utilize as well would be an NBT Tag which is added to the entity before the event is posted. I'm also open for other alternatives.
As is stands right now, I'm limited in my options.
Its fine, ill deal with it, its not a problem on your end, its on mine, its an oversight on my part anyway, i didn't fire the event at all before, and Mikey wanted a way to replace a certain mob from spawning, and thus the problem was born.