Just Enough Dimensions

Just Enough Dimensions

4M Downloads

Garden of Glass Skybox Not Working In Custom Dimensions

HorizonsMC opened this issue ยท 17 comments

commented

Using the latest version of Forge, JED, Botania, and GOG and the Garden of Glass skybox is not rendering. I've been trying to get it to work for hours but nothing seems to get it to load.

Everything is working except the Skybox if I do JED debug everything is identical to a normal world that is properly showing the skybox. I've also tried forcing the renderer to be the overworld skybox and it still was vanilla.

Botania Config:

    # Set this to false to disable the fancy skybox in Garden of Glass.
    B:fancySkybox.enable=true

    # Set this to true to enable the fancy skybox in non Garden of Glass worlds. (Does not require Garden of Glass loaded to use, needs 'fancySkybox.enable' to be true as well)
    B:fancySkybox.normalWorlds=true

Using B:fancySkybox.normalWorlds=false does not work either.

This also effects the Standalone version that is just the skybox so you don't need Botania.

commented

It seems to only work in dimension 0, based on this: https://github.com/Vazkii/Botania/blob/master/src/main/java/vazkii/botania/client/render/world/SkyblockRenderEvents.java#L28

However, since the constructor is a no-args constructor, I should be able to add support for specifying a custom sky renderer via the JED config, which should allow selecting the Botania/GOG sky renderer for any dimension. I'll need to test it to see if it will actually work though...

commented

Yay it works \o/
2017-12-01_02 08 14

Here is the dev build if you want to try it out: https://masa.dy.fi/tmp/minecraft/jed/1.6.0-dev/justenoughdimensions-1.12.2-1.6.0-dev.20171201.015434.jar

Note that the 1.6.0 version has a few configuration changes, they are outlined here for now: #9 (comment)

The sky renderer can be set by setting a new SkyRenderer value inside the jed section/object. Note that the old SkyRenderType value must not be set for this to work!

Here is the testing config I used to test that it works (dimension 6 here):

{
    "dimensions": [
        {
            "dim": 0,
            "biome": "minecraft:void",
            "worldinfo_onetime": {
                "generatorName": "flat",
                "generatorOptions": "3;minecraft:air;1;",
                "RandomSeed": 2911201700,
                "SpawnX": 256,
                "SpawnY": 4,
                "SpawnZ": 256,
                "GameRules": {
                    "naturalRegeneration": "false",
                    "doWeatherCycle": "false"
                }
            }
        },
        {
            "dim": 6,
            "dimensiontype": {
                "id": 6,
                "name": "Test dim 6",
                "suffix": "_dim6",
                "keeploaded": false,
                "worldprovider": "WorldProviderSurfaceJED"
            },
            "worldinfo_onetime": {
                "generatorName": "flat",
                "generatorOptions": "3;minecraft:air;1;",
                "SpawnX": 256,
                "SpawnY": 4,
                "SpawnZ": 256,
                "RandomSeed": 29112017,
                "GameRules": {
                    "naturalRegeneration": "false",
                    "doDaylightCycle": "false",
                    "doWeatherCycle": "false"
                }
            },
            "jed": {
                "SkyRenderer": "vazkii.botania.client.render.world.SkyblockSkyRenderer"
            }
        }
    ]
}
commented

It works, thank you :)

https://i.imgur.com/wJZfYca.png

Would distributing this with a pack be allowed or should I wait for an official release?

commented

Probably less hassle to wait for a release. I just need to finish one set of features and then I should be able to release the 1.6.0 version. So hopefully I can manage that during this weekend.

Edit: Or if you are in a real hurry, I guess I could upload that build as an alpha.

commented

Pack is in alpha so it doesn't matter too much, I was already using the old version that was Sponge compatible in my local environment anyway due to requiring a plugin.

I'll be sure to post any new issues I see here, so far that was the only one.

commented

Very minor issue, seems like if you go to another dimension and die and respawn in one using the GOG skybox is stops rendering.

Reconnecting fixes the issue.

commented

Can you describe the setup/dimensions you are using? Is this in single player or on a server (using Sponge?)? I just tried it so that I have my test dimension 6 with the GoG sky renderer, I jumped into the void and respawned in the same dimension 6, and the sky does still render. Should I be respawning into another dimension than the one I die in? Going to test that next I guess...

commented

Okay, so the overworld does have WorldProviderSurfaceJED and the respawn options ok. So I guess this must be either a bug in Sponge, or maybe it works differently somehow when it comes to respawning... I'll need to make a debug build to test this out on my Sponge test server tomorrow, to see what certain values end up being.

commented

It's from having the spawn set in the JED GOG skybox dimension, then dying in another dimension and having the default spawn set in the new dimension.

I am not too sure how to force a different dim to be the spawn without Sponge, I will work out if it can be replicated with the minimum amount of mods and no Sponge now.

Also this was on a Server.

commented

Well JED does have the CanRespawnHere and RespawnDimension options.

So setting for example in the overworld "CanRespawnHere": "false" and "RespawnDimension": 6, would cause the player to respawn in dimension 6. The CanRespawnHere option needs a JED WorldProvider to work though, so you would have to either have registered the dimension with JED, or you have to override the dimension and use a JED WorldProvider, for the dimension where you want to disallow respawning. And I haven't tested this under Sponge, so no idea if it works there...

I'm actually currently taking a look at the player respawn related code in JED due to some discussions that are going on on Discord. The goal/hope is to allow for some more flexibility than what the current version does.

commented

It's a SpongeForge issue, doesn't happen without it. Remove Sponge and the skybox renders when doing the steps below.

Mods:
Baubles
Botania
Garden Of Glass
justenoughdimensions-1.12.2-1.6.0-dev.20171201.015434
spongeforge-1.12.2-2529-7.0.0-BETA-2747

How to replicate:

  1. Run command /tpj 0
  2. Fall into the void and die
  3. Respawn in the new dimension and skybox won't render. (Relog fixes it)

Configs:

DImensions.cfg: https://pastebin.com/sn0eEiuG

Justenoughdimensions.cfg: https://pastebin.com/yCZ5vJVv

commented

Could you enable the verbose logging option in JED, and repeat this under Sponge. I'm curious whether or not the PlayerEvent.PlayerRespawnEvent is fired under Sponge, as that's where JED would be sending the sync packet from.

If the event does fire, then you should see a line in the server log/console like this:
PlayerEvent.PlayerRespawnEvent - DIM: {}, where {} is replaced by the dimension ID.

If you then repeat this without Sponge, at least then that line should appear after you die and hit respawn. But like I said, the question is, does it appear with Sponge?

commented

With Sponge:

[15:11:09] [Server thread/INFO]: Astralic joined the game
[15:11:16] [Server thread/INFO]: Astralic fell out of the world
[15:11:17] [Server thread/INFO] [justenoughdimensions]: PlayerEvent.PlayerRespawnEvent - DIM: 1337
[15:11:17] [Server thread/INFO] [justenoughdimensions]: WorldUtils.syncWorldProviderProperties: Syncing WorldProvider properties of dimension 1337 to player 'Astralic'
[15:11:20] [Server thread/INFO]: [Astralic: Set own game mode to Creative Mode]
[15:11:28] [Server thread/INFO] [justenoughdimensions]: PlayerEvent.PlayerChangedDimensionEvent - DIM: 0
[15:11:28] [Server thread/INFO] [justenoughdimensions]: WorldUtils.syncWorldProviderProperties: Syncing WorldProvider properties of dimension 0 to player 'Astralic'
[15:11:28] [Server thread/INFO]: [Astralic: Teleported entity Astralic to [-107.5, 71.0, -254.5] in dimension 0]
[15:11:34] [Server thread/INFO]: Astralic fell out of the world
[15:11:35] [Server thread/INFO] [justenoughdimensions]: PlayerEvent.PlayerRespawnEvent - DIM: 0
[15:11:35] [Server thread/INFO] [justenoughdimensions]: WorldUtils.syncWorldProviderProperties: Syncing WorldProvider properties of dimension 0 to player 'Astralic'

Without:

[15:15:08] [Server thread/INFO]: Astralic joined the game
[15:15:08] [Server thread/INFO] [justenoughdimensions]: PlayerEvent.PlayerLoggedInEvent - DIM: 1337
[15:15:08] [Server thread/INFO] [justenoughdimensions]: WorldUtils.syncWorldProviderProperties: Syncing WorldProvider properties of dimension 1337 to player 'Astralic'
[15:15:14] [Server thread/INFO] [justenoughdimensions]: PlayerEvent.PlayerChangedDimensionEvent - DIM: 0
[15:15:14] [Server thread/INFO] [justenoughdimensions]: WorldUtils.syncWorldProviderProperties: Syncing WorldProvider properties of dimension 0 to player 'Astralic'
[15:15:14] [Server thread/INFO]: [Astralic: Teleported entity Astralic to [169.5, 71.0, 37.5] in dimension 0]
[15:15:17] [Server thread/INFO]: [Astralic: Set own game mode to Creative Mode]
[15:15:18] [Server thread/INFO]: Astralic fell out of the world
[15:15:20] [Server thread/INFO] [justenoughdimensions]: PlayerEvent.PlayerRespawnEvent - DIM: 1337
[15:15:20] [Server thread/INFO] [justenoughdimensions]: WorldUtils.syncWorldProviderProperties: Syncing WorldProvider properties of dimension 1337 to player 'Astralic'

Seems like an issue with syncing the worlds properties then since it thinks you are in that dim?

commented

Based on that output, you don't actually respawn in dimension 1337 with Sponge installed? At least the second time you fell into the void, it seems to respawn you back in the overworld? Does that happen consistently every time? Although the first time you did seem to respawn in 1337? I'm a bit confused... I guess I'll need to bust out my Sponge test server.

commented

1 time I died was in the new dimension and it spawned in the new dim, 2nd death was in the overworld.

commented

Oh okay. So basically under Sponge you always respawn in the same dimension that you die in then? Did you have some plugins in place to control that atm, or does it just not work in JED under Sponge?

Could you run /jed debug in the overworld and check that you have WorldProviderSurfaceJED in use under Sponge. (Your dimension config seemed to omit some of the values inside dimensiontype for the overworld, not entirely sure if that affects anything in this case... but generally speaking I'd always recommend setting all five of those values, although if I remember right, JED should use reasonable defaults for them too.)

commented

New Dim Debug:

[16:51:18] [Server thread/INFO] [justenoughdimensions]: ============= JED DEBUG START ==========
[16:51:18] [Server thread/INFO] [justenoughdimensions]: DIM: 1337
[16:51:18] [Server thread/INFO] [justenoughdimensions]: DimensionType ID: 1337
[16:51:18] [Server thread/INFO] [justenoughdimensions]: DimensionType name: Horizons
[16:51:18] [Server thread/INFO] [justenoughdimensions]: Seed: -3812766118308283870
[16:51:18] [Server thread/INFO] [justenoughdimensions]: World class: net.minecraft.world.WorldServer
[16:51:18] [Server thread/INFO] [justenoughdimensions]: WorldType: 'botania-skyblock' (class: vazkii.botania.common.world.WorldTypeSkyblock)
[16:51:18] [Server thread/INFO] [justenoughdimensions]: WorldProvider: fi.dy.masa.justenoughdimensions.world.WorldProviderSurfaceJED
[16:51:18] [Server thread/INFO] [justenoughdimensions]: ChunkProvider: net.minecraft.world.gen.ChunkProviderServer
[16:51:18] [Server thread/INFO] [justenoughdimensions]: ChunkProviderServer.chunkGenerator: org.spongepowered.mod.world.gen.SpongeChunkGeneratorForge
[16:51:18] [Server thread/INFO] [justenoughdimensions]: BiomeProvider: net.minecraft.world.biome.BiomeProviderSingle
[16:51:18] [Server thread/INFO] [justenoughdimensions]: Dimension has JED properties
[16:51:18] [Server thread/INFO] [justenoughdimensions]: JED properties NBT tag: {DayLength:0,SkyRenderer:"vazkii.botania.client.render.world.SkyblockSkyRenderer",NightLength:6000,CustomDayCycle:1b}
[16:51:18] [Server thread/INFO] [justenoughdimensions]: Vanilla level NBT: {RandomSeed:-3812766118308283870L,generatorName:"botania-skyblock",BorderCenterZ:0.0d,Difficulty:2b,BorderSizeLerpTime:0L,raining:0b,DimensionData:{},Time:266L,GameType:0,MapFeatures:1b,BorderCenterX:0.0d,BorderDamagePerBlock:0.2d,BorderWarningBlocks:5.0d,BorderSizeLerpTarget:0.0d,Version:{Snapshot:0b,Id:1343,Name:"1.12.2"},DayTime:0L,initialized:1b,allowCommands:1b,SizeOnDisk:0L,GameRules:{doTileDrops:"true",doFireTick:"true",gameLoopFunction:"-",maxCommandChainLength:"65536",reducedDebugInfo:"false",naturalRegeneration:"true",disableElytraMovementCheck:"false",doMobLoot:"true",announceAdvancements:"true",keepInventory:"false",doEntityDrops:"true",doLimitedCrafting:"false",mobGriefing:"true",randomTickSpeed:"3",commandBlockOutput:"true",spawnRadius:"10",doMobSpawning:"true",maxEntityCramming:"24",logAdminCommands:"true",spectatorsGenerateChunks:"true",doWeatherCycle:"true",sendCommandFeedback:"true",doDaylightCycle:"false",showDeathMessages:"true"},Player:{},SpawnY:128,rainTime:80872,thunderTime:72792,SpawnZ:0,hardcore:0b,DifficultyLocked:0b,SpawnX:0,clearWeatherTime:0,thundering:0b,ForgeDataVersion:{minecraft:1343},generatorVersion:0,version:19133,BorderSafeZone:5.0d,generatorOptions:"{}",LastPlayed:1512168678624L,BorderWarningTime:15.0d,LevelName:"DIM1337",BorderSize:6.0E7d,DataVersion:1343}
[16:51:18] [Server thread/INFO] [justenoughdimensions]: ============= JED DEBUG END ==========

DIM 0 Debug:

[16:52:11] [Server thread/INFO] [justenoughdimensions]: ============= JED DEBUG START ==========
[16:52:11] [Server thread/INFO] [justenoughdimensions]: DIM: 0
[16:52:11] [Server thread/INFO] [justenoughdimensions]: DimensionType ID: 0
[16:52:11] [Server thread/INFO] [justenoughdimensions]: DimensionType name: DIM0
[16:52:11] [Server thread/INFO] [justenoughdimensions]: Seed: 723551656863247945
[16:52:11] [Server thread/INFO] [justenoughdimensions]: World class: net.minecraft.world.WorldServer
[16:52:11] [Server thread/INFO] [justenoughdimensions]: WorldType: 'flat' (class: net.minecraft.world.WorldType)
[16:52:11] [Server thread/INFO] [justenoughdimensions]: WorldProvider: fi.dy.masa.justenoughdimensions.world.WorldProviderSurfaceJED
[16:52:11] [Server thread/INFO] [justenoughdimensions]: ChunkProvider: net.minecraft.world.gen.ChunkProviderServer
[16:52:11] [Server thread/INFO] [justenoughdimensions]: ChunkProviderServer.chunkGenerator: org.spongepowered.mod.world.gen.SpongeChunkGeneratorForge
[16:52:11] [Server thread/INFO] [justenoughdimensions]: BiomeProvider: net.minecraft.world.biome.BiomeProviderSingle
[16:52:11] [Server thread/INFO] [justenoughdimensions]: Dimension has JED properties
[16:52:11] [Server thread/INFO] [justenoughdimensions]: JED properties NBT tag: {RespawnDimension:1337,CanRespawnHere:0b}
[16:52:11] [Server thread/INFO] [justenoughdimensions]: Vanilla level NBT: {RandomSeed:723551656863247945L,generatorName:"flat",BorderCenterZ:0.0d,Difficulty:1b,BorderSizeLerpTime:0L,raining:0b,DimensionData:{},Time:5942L,GameType:0,MapFeatures:1b,BorderCenterX:0.0d,BorderDamagePerBlock:0.2d,BorderWarningBlocks:5.0d,BorderSizeLerpTarget:6.0E7d,Version:{Snapshot:0b,Id:1343,Name:"1.12.2"},DayTime:5942L,initialized:1b,allowCommands:0b,SizeOnDisk:0L,GameRules:{doTileDrops:"true",doFireTick:"true",gameLoopFunction:"-",maxCommandChainLength:"65536",reducedDebugInfo:"false",naturalRegeneration:"true",disableElytraMovementCheck:"false",doMobLoot:"true",announceAdvancements:"true",keepInventory:"false",doEntityDrops:"true",doLimitedCrafting:"false",mobGriefing:"true",randomTickSpeed:"3",commandBlockOutput:"true",spawnRadius:"10",doMobSpawning:"true",maxEntityCramming:"24",logAdminCommands:"true",spectatorsGenerateChunks:"true",doWeatherCycle:"true",sendCommandFeedback:"true",doDaylightCycle:"true",showDeathMessages:"true"},Player:{},SpawnY:71,rainTime:162895,thunderTime:34674,SpawnZ:1173,hardcore:0b,DifficultyLocked:0b,SpawnX:-278,clearWeatherTime:0,thundering:0b,ForgeDataVersion:{minecraft:1343},generatorVersion:0,version:19133,BorderSafeZone:5.0d,generatorOptions:"3;minecraft:air;1;",LastPlayed:1512168731225L,BorderWarningTime:15.0d,LevelName:"world",BorderSize:6.0E7d,DataVersion:1343}
[16:52:11] [Server thread/INFO] [justenoughdimensions]: ============= JED DEBUG END ==========

Debug after spawning back with sky missing in the new dim.

[16:53:00] [Server thread/INFO] [justenoughdimensions]: ============= JED DEBUG START ==========
[16:53:00] [Server thread/INFO] [justenoughdimensions]: DIM: 1337
[16:53:00] [Server thread/INFO] [justenoughdimensions]: DimensionType ID: 1337
[16:53:00] [Server thread/INFO] [justenoughdimensions]: DimensionType name: Horizons
[16:53:00] [Server thread/INFO] [justenoughdimensions]: Seed: -3812766118308283870
[16:53:00] [Server thread/INFO] [justenoughdimensions]: World class: net.minecraft.world.WorldServer
[16:53:00] [Server thread/INFO] [justenoughdimensions]: WorldType: 'botania-skyblock' (class: vazkii.botania.common.world.WorldTypeSkyblock)
[16:53:00] [Server thread/INFO] [justenoughdimensions]: WorldProvider: fi.dy.masa.justenoughdimensions.world.WorldProviderSurfaceJED
[16:53:00] [Server thread/INFO] [justenoughdimensions]: ChunkProvider: net.minecraft.world.gen.ChunkProviderServer
[16:53:00] [Server thread/INFO] [justenoughdimensions]: ChunkProviderServer.chunkGenerator: org.spongepowered.mod.world.gen.SpongeChunkGeneratorForge
[16:53:00] [Server thread/INFO] [justenoughdimensions]: BiomeProvider: net.minecraft.world.biome.BiomeProviderSingle
[16:53:00] [Server thread/INFO] [justenoughdimensions]: Dimension has JED properties
[16:53:00] [Server thread/INFO] [justenoughdimensions]: JED properties NBT tag: {DayLength:0,SkyRenderer:"vazkii.botania.client.render.world.SkyblockSkyRenderer",NightLength:6000,CustomDayCycle:1b}
[16:53:00] [Server thread/INFO] [justenoughdimensions]: Vanilla level NBT: {RandomSeed:-3812766118308283870L,generatorName:"botania-skyblock",BorderCenterZ:0.0d,Difficulty:2b,BorderSizeLerpTime:0L,raining:0b,DimensionData:{},Time:2294L,GameType:0,MapFeatures:1b,BorderCenterX:0.0d,BorderDamagePerBlock:0.2d,BorderWarningBlocks:5.0d,BorderSizeLerpTarget:6.0E7d,Version:{Snapshot:0b,Id:1343,Name:"1.12.2"},DayTime:0L,initialized:1b,allowCommands:1b,SizeOnDisk:0L,GameRules:{doTileDrops:"true",doFireTick:"true",gameLoopFunction:"-",maxCommandChainLength:"65536",reducedDebugInfo:"false",naturalRegeneration:"true",disableElytraMovementCheck:"false",doMobLoot:"true",announceAdvancements:"true",keepInventory:"false",doEntityDrops:"true",doLimitedCrafting:"false",mobGriefing:"true",randomTickSpeed:"3",commandBlockOutput:"true",spawnRadius:"10",doMobSpawning:"true",maxEntityCramming:"24",logAdminCommands:"true",spectatorsGenerateChunks:"true",doWeatherCycle:"true",sendCommandFeedback:"true",doDaylightCycle:"false",showDeathMessages:"true"},Player:{},SpawnY:128,rainTime:78844,thunderTime:70764,SpawnZ:0,hardcore:0b,DifficultyLocked:0b,SpawnX:0,clearWeatherTime:0,thundering:0b,ForgeDataVersion:{minecraft:1343},generatorVersion:0,version:19133,BorderSafeZone:5.0d,generatorOptions:"{}",LastPlayed:1512168780024L,BorderWarningTime:15.0d,LevelName:"DIM1337",BorderSize:6.0E7d,DataVersion:1343}
[16:53:00] [Server thread/INFO] [justenoughdimensions]: ============= JED DEBUG END ==========

And as you can see Sponge is loaded:
https://i.imgur.com/OW78S4D.png