MarkusBordihn / BOs-Adaptive-Performance-Tweaks

Adaptive Performance Tweaks is a collection of Minecraft Forge server-side Mod which automatically adjust specific settings on the server to allow a more balanced TPS/FPS.
Other
4 stars 2 forks source link

Megatorch from Torchmaster not working anymore #5

Closed ALainxD closed 2 years ago

ALainxD commented 2 years ago

Describe the bug The Mega torch which should prevent mob spawns in 64/32 block radius is not working anymore with the Mod, mob spawn regardless.

To Reproduce Steps to reproduce the behavior: Either

  1. download Chroma technology 2
  2. add Adaptive performance tweaks
  3. Place down torchmaster Mega torch
  4. see mobs spawn or
  5. Install Megatorch
  6. add Adaptive performance tweaks
  7. Place down torchmaster Mega torch
  8. see mobs spawn

Expected behavior Mobs shouldn't spawn inside the range of the Mega torch

Additional context

Modpack: Chroma technology 2

Additional mods: blocklog-1.0.jar crashutilities-3.12.jar itemblacklist-1.16.5-1.0.1.jar kotlinforforge-1.16.0-obf.jar mc2discord-forge-1.16.x-3.2.0.jar notenoughcrashes-4.1.2+1.16.5-forge.jar observable-0.2.1-forge.jar worldedit-mod-7.2.5-dist.jar

ALainxD commented 2 years ago

Minecraft version 1.16.5 Adaptive performance tweaks 1.16.5 1.2.1

MarkusBordihn commented 2 years ago

Thanks for the report. But I'm afraid that this is more an issue with Mega Torch itself and the 1.16.5 version.

According their code, they are only checking for the "LivingSpawnEvent.CheckSpawn" event, see: https://github.com/Xalcon/TorchMaster/blob/mc/1.16/src/main/java/net/xalcon/torchmaster/common/logic/entityblocking/EntityBlockingEventHandler.java#L24

But not for the LivingSpawnEvent.SpecialSpawn event or the EntityJoinWorldEvent (which exists but is disabled in their code), see: https://github.com/Xalcon/TorchMaster/blob/mc/1.16/src/main/java/net/xalcon/torchmaster/common/logic/entityblocking/EntityBlockingEventHandler.java#L52

This means they are only blocking a fraction of the possible mob spawns. For example, if Adaptive Performance Tweaks is blocking the LivingSpawnEvent.CheckSpawn and the mob spawns over the LivingSpawnEvent.SpecialSpawn instead the mobs are not recognized by Mega Torch.

I see a similar issue report for InControl for the 1.16.5 version which could be related to this, see: https://github.com/Xalcon/TorchMaster/issues/161

But I will check this more in detail to see, if there is anything wrong on my side.

MarkusBordihn commented 2 years ago

I run a small test and activated the debug from Adaptive Performance Tweaks and TorchMaster. According the log TorchMaster is not logging any "Blocking spawn of" or "Allowed spawn of {}" log even if the mobs are spawned near the mega torches. Example:

[19:24:40] [Server thread/DEBUG]: [Special Spawn Event] Allow special spawn Event SkeletonEntity['Skeleton'/5045, l='ServerLevel[New World]', x=-115.50, y=64.00, z=-135.50]
[19:24:40] [Server thread/DEBUG]: Monster minecraft:skeleton Skeleton joined minecraft:overworld.
[19:24:40] [Server thread/DEBUG]: Entity minecraft:skeleton (SkeletonEntity['Skeleton'/5045, l='ServerLevel[New World]', x=-115.50, y=64.00, z=-135.50]) joined minecraft:overworld.
[19:24:40] [Server thread/DEBUG]: [Player limit] Blocked spawn event for minecraft:bat (2 >= 2 * 1.0) in minecraft:overworld
[19:24:40] [Server thread/DEBUG]: [View Area Visibility] Blocked spawn event for BatEntity['Bat'/5047, l='ServerLevel[New World]', x=35.50, y=26.00, z=-100.50] in minecraft:overworld.
[19:24:40] [Server thread/DEBUG]: [View Area Visibility] Blocked spawn event for BatEntity['Bat'/5049, l='ServerLevel[New World]', x=-67.50, y=38.00, z=-91.50] in minecraft:overworld.
[19:24:40] [Server thread/DEBUG]: [View Area Visibility] Blocked spawn event for BatEntity['Bat'/5050, l='ServerLevel[New World]', x=-67.50, y=38.00, z=-93.50] in minecraft:overworld.
[19:24:40] [Server thread/DEBUG]: [Untracked Entity] Skip spawn event for mana-and-artifice:pixie in minecraft:overworld

This confirms that MegaTorch is not considering all mobs spawn. You could try if "aggressiveSpawnChecks=true" and/or "blockOnlyNaturalSpawns = false" option from MegaTorch, solves the issue for your mod pack.

But unfortunately there is nothing I could do from my side to resolve the issue.

MarkusBordihn commented 2 years ago

I added some additional compatibility for other mods in adaptive_performance_tweaks_1.16.5-2.1.0.jar, but this will not fix all issues with MegaTorch.

As I mentioned TorchMaster is not considering the LivingSpawnEvent.SpecialSpawn event or the EntityJoinWorldEvent, which means it could be that you will still get some mobs over these spawn events until it's fixed in the TorchMaster mod itself.

ALainxD commented 2 years ago

Thank you very much

Will try it out :)