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

Dimensions not registering on server #50

Closed mtc52 closed 4 years ago

mtc52 commented 4 years ago

I made two simple custom dimensions that work fine on single player, but are not registering on my Minecraft server. The justenoughdimensions.cfg is set to the defaults (version 1.6.0 for Minecraft 1.12.2) and I am using forge 14.23.5.2847.

The Dimensions.json looks like this:

{ "dimensions": [ { "dim": 2, "biome": "minecraft:ice_flats", "dimensiontype": { "id": 2, "name": "Frost Dimension", "worldprovider": "WorldProviderSurfaceJED", "require_exact_match": true },

        "worldinfo_onetime": {
            "DayTime": 18000,
            "GameRules": {
                "doDaylightCycle": "false"
            }
        },
        "jed": {
            "SkyRenderType": 1,
            "SkyDisableFlags": 7,
            "CloudRenderer": "DummyRenderer",
            "SkyBlend": 1.0,
            "DisableDawnDuskColors": true,
            "SkyColor": "000000",
            "FogColor": "000000"
        }
    },
    {
        "dim": 3,
        "biome": "minecraft:desert",
        "dimensiontype": {
            "id": 3,
            "name": "Flame Dimension",
            "worldprovider": "WorldProviderSurfaceJED",
            "require_exact_match": true
        },

        "worldinfo_onetime": {
            "DayTime": 18000,
            "GameRules": {
                "doDaylightCycle": "false"
            }
        },
        "jed": {
            "SkyRenderType": 1,
            "SkyDisableFlags": 7,
            "CloudRenderer": "DummyRenderer",
            "SkyBlend": 1.0,
            "DisableDawnDuskColors": true,
            "SkyColor": "000000",
            "FogColor": "000000"
        }
    }
]

}

mtc52 commented 4 years ago

Not sure why the code block I copied and pasted looks weird, having trouble fixing it. I did copy and paste the code into a json format checker to make sure the file is valid (it is). Like I said in the original post, the dimensions register just fine in a single player world, but don't register on the server. I didn't realize the dimension was not loading until trying to get there with a custom portal from random portals, this crashed the server every time I tried.

I thought the issue was with the random portals mod, until I tried /jed list-registered-dimensions and saw that dimensions 2 and 3 were not listed.

maruohon commented 4 years ago

Anything from JED in the server console or the log? You may need to enable the verbose logging option in the JED main config to get a bunch more debug output.

mtc52 commented 4 years ago

After i turned on the verbose comments, this is the first thing that pops up in the console when the error happens and the server crashed:

16.04 14:12:46 [Server] Server thread/ERROR [FML]: Cannot Hotload Dim: 3 16.04 14:12:46 [Server] INFO java.lang.IllegalArgumentException: Could not get provider type for dimension 3, does not exist 16.04 14:12:46 [Server] INFO at net.minecraftforge.common.DimensionManager.getProviderType(DimensionManager.java:164) ~[DimensionManager.class:?] 16.04 14:12:46 [Server] INFO at net.minecraftforge.common.DimensionManager.initDimension(DimensionManager.java:252) [DimensionManager.class:?]

The only stuff in the crash log is related to the random portals mod.

maruohon commented 4 years ago

Look earlier than that, there should be lines about JED loading the config file, and how many entries it parsed from it, and if it tries to register the dimensions.

mtc52 commented 4 years ago

So the issue was that the dimensions.json wasn't loading correctly. Turns out I had the file named Dimensions.json instead of dimensions.json. I didn't realize that the filename was case sensitive. After renaming the file and loading the world, the dimensions are working properly. Thanks for the timely response, it probably would have taken me a lot longer to catch that without you pointing me to take a close look at the console.