maruohon / justenoughdimensions

A simple Minecraft mod to register custom dimensions to the game
GNU General Public License v3.0
12 stars 7 forks source link

[1.12.2 - 1.6.0] Conflict with Pixelmon #68

Closed OfMCMXXXVII closed 2 years ago

OfMCMXXXVII commented 2 years ago

Version: 1.6.0-dev.20200416.184714

Hello, I am currently experiencing an issue with this mod and Pixelmon Reforged. When this mod is loaded, the "doMobSpawning" gamerules will be completely ignored in JED settings. I have been able to reproduce it. On Pixelmon's end, you can either enable mob spawning for all dimensions or none of the dimensions. Pixelmon does not have any option other than those two options.

Example: I change setting "allowVanillaMobs=false" in Pixelmon config. I attempt to enable doMobSpawning in Hunting Dimension. Gamerule set by JED gets overridden. I have also tried setting Pixelmon's config of "allowVanillaMobs=true" and force disabling vanilla mob spawning in the overworld with JED and that also fails. I have enabled debugging feature for JED and can confirm the configurations do not get overriden when Pixelmon Reforged is not present.

Although I realize the issue is actually on Pixelmon's end, I was wondering if you were able to somehow override or block their setting.

dimensions.json - https://pastebin.com/VJVu1zhc justenoughdimensions.cfg - https://pastebin.com/mJTeNz3S

maruohon commented 2 years ago

In your main JED config you seem to have per-world configs enabled. Did you then edit the dimensions.json config in the correct place, inside the world save? Or if you are creating new test worlds then that wouldn't be an issue as the global config would get copied there every time anyway.

Is the attached dimensions.json how you would want the spawning to work in each of those dimensions? What type of dimensions are those? Or how exactly would you want to set up the spawning rules in each dimension?

Did you use the /jed gamerule doMobSpawning command to check the gamerule status in each dimension? And are you saying that just having Pixelmon installed makes the gamerule status from the JED config (as reported by the gamerule command output) get overridden? Does the output of /jed debug also reflect that same status of that rule?

If you are able to override any of those dimension to use a JED WorldProvider, then you would also have an additional two options to control spawning: CanSpawnHostiles and CanSpawnPeacefulMobs inside the jed object. (Example on line 161 here: https://pastebin.com/d3EZzDY3) But depending on what Pixelmon does, I'm not sure if those would work either. Have you tried if the In Control! mod can override the spawn settings?

OfMCMXXXVII commented 2 years ago

Hello and thank you for the response

I tried in both the world and mod config folder, neither of them to any avail. I also tried making new test worlds.

The dimensions listed are the Nether, End, and Overworld as well as 2 Pixelmon worlds. The one with ID 28885 is the hunting dimension. I was attempting to enable mob spawning in the hunting dimension alone and disable it elsewhere with gamerules. The debug shows it working correctly and it also works with the Pixelmon mod removed so I am sure Pixelmon is overriding it somehow.

I was not aware of those two parameters but it seems that In Control! is able to do what I need via spawning rules instead of gamerules. Thank you for your time and assistance.