Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

[1.16.1] Register Dimensions


Recommended Posts

Hello.

A large portion of my mod's code is about dimension stuff, but

it seems that this part of minecraft has rapidly changed since 1.15?

So, how can I register and create dimensions properly?

It would be great if you could help me with this topic.

Link to post
Share on other sites
  • 6 months later...
7 minutes ago, SubliminallySublime said:

Did you ever come across a solution? Do the data driven dimensions work for you? 

Data driven dimensions work fine, given other examples I have found. However work and real life forced me to stop working on mods for a while, so I have personally not gotten them implemented myself. I can't speak for the OP however.

Edited by ModMCdl

Follow these rules when talking to me, and we'll get along fine.

1).I know Java fairly well. I don't know as much about modding. They are not the same, don't compare them.

2). I consider myself to always be learning. I make mistakes, you make mistakes. Who doesn't?

3). Insult me, and I will leave the thread. I have a real life, I don't have time to throw petty insults in a Minecraft Modding forum.

 

ModMCdl - Co-Founder and Director of Design for Artemis Game Studios

Link to post
Share on other sites
11 minutes ago, ModMCdl said:

Data driven dimensions work fine, given other examples I have found. However work and real life forced me to stop working on mods for a while, so I have personally not gotten them implemented myself. I can't speak for the OP however.

I was wondering if he needs advanced dimensions like I do. Data driven dimensions work, but are they capable of producing and exact clone of the current overworld, settings and all? If so, I have a recent question here that I would love help with as this was possible in 1.12-1.15 but no longer seems possible in 1.16.

 

Edit: I reviewed OPs code. I'm pretty sure data driven dimens will work for his situation. 

Edited by SubliminallySublime
Reviewed code
Link to post
Share on other sites
24 minutes ago, SubliminallySublime said:

I was wondering if he needs advanced dimensions like I do. Data driven dimensions work, but are they capable of producing and exact clone of the current overworld, settings and all? If so, I have a recent question here that I would love help with as this was possible in 1.12-1.15 but no longer seems possible in 1.16.

 

Edit: I reviewed OPs code. I'm pretty sure data driven dimens will work for his situation. 

Oh that definitely should work. As a matter of fact, I believe that the MC Wiki or even Mojang have examples for clones of the overworld, nether, and end.

Follow these rules when talking to me, and we'll get along fine.

1).I know Java fairly well. I don't know as much about modding. They are not the same, don't compare them.

2). I consider myself to always be learning. I make mistakes, you make mistakes. Who doesn't?

3). Insult me, and I will leave the thread. I have a real life, I don't have time to throw petty insults in a Minecraft Modding forum.

 

ModMCdl - Co-Founder and Director of Design for Artemis Game Studios

Link to post
Share on other sites
10 minutes ago, ModMCdl said:

Oh that definitely should work. As a matter of fact, I believe that the MC Wiki or even Mojang have examples for clones of the overworld, nether, and end.

I have looked for any such tutorial, but as you are telling me they exist, I am checking again. I will edit this comment and my post if I find something that solved this problem.

My question is however, if the user has tweaked their overworld settings, can data-driven dimensions hijack and exactly replicate those settings to a different dimension for 1:1 block sameness?

Link to post
Share on other sites
1 minute ago, SubliminallySublime said:

I have looked for any such tutorial, but as you are telling me they exist, I am checking again. I will edit this comment and my post if I find something that solved this problem.

My question is however, if the user has tweaked their overworld settings, can data-driven dimensions hijack and exactly replicate those settings to a different dimension for 1:1 block sameness?

This is one such example I was referring to: https://minecraft.gamepedia.com/Custom_dimension

 

As for 1:1 block sameness, I'm not 100% sure, as data-driven dimensions are resultants of seeds.

 

Also, if a vanilla generator does not fall into the parameters of your project, you can still create custom generators for dimensions with forge if you need to. You'll just call said custom generator in the .json.

Follow these rules when talking to me, and we'll get along fine.

1).I know Java fairly well. I don't know as much about modding. They are not the same, don't compare them.

2). I consider myself to always be learning. I make mistakes, you make mistakes. Who doesn't?

3). Insult me, and I will leave the thread. I have a real life, I don't have time to throw petty insults in a Minecraft Modding forum.

 

ModMCdl - Co-Founder and Director of Design for Artemis Game Studios

Link to post
Share on other sites
15 minutes ago, ModMCdl said:

This is one such example I was referring to: https://minecraft.gamepedia.com/Custom_dimension

 

As for 1:1 block sameness, I'm not 100% sure, as data-driven dimensions are resultants of seeds.

 

Also, if a vanilla generator does not fall into the parameters of your project, you can still create custom generators for dimensions with forge if you need to. You'll just call said custom generator in the .json.

If the seed is the same, the world is the same right? As long as all the other parameters are correct?

May I ask for an example of a custom generator? I can't seem to locate information on that.

For the vanilla clone tutorial, I was aware of the page you linked but when I tried it, I got a vanilla world with a seemingly different seed. I figured this was because the random had already been accessed for the overworld. I am going to attempt that again right now, but I think I will need a custom generator.

Edit: Is this what you were referring to? Custom .json generator

Edited by SubliminallySublime
Link to post
Share on other sites
58 minutes ago, ModMCdl said:

This is one such example I was referring to: https://minecraft.gamepedia.com/Custom_dimension

 

As for 1:1 block sameness, I'm not 100% sure, as data-driven dimensions are resultants of seeds.

 

Also, if a vanilla generator does not fall into the parameters of your project, you can still create custom generators for dimensions with forge if you need to. You'll just call said custom generator in the .json.

https://feedback.minecraft.net/hc/en-us/community/posts/360072551332-Allow-custom-dimensions-to-use-the-same-seed-as-the-save-file-

That thread states: 

Quote

I mean we already have things like this in json with "entity":"this", so you should be able to do "seed":"world" or something to automatically set it to something

I ran into that thread, because my json reads: 
 

{
	"type": "mytestmod:mytestmoddimension",
	"generator": {
		"type": "minecraft:noise",
		"seed": 0, ////////////////////////////////////////////////
		"settings": "minecraft:overworld",
		"biome_source": {
			"type": "minecraft:vanilla_layered",
			"seed": 0 ////////////////////////////////////////////////
		}
	}
}


We have to manually provide the seed for custom dimensions?? That's an awfully strange feature and imo is poorly designed. The main world seed should affect ALL world gen so end users can simply modify one single seed and have all dimensions changed accordingly, right? Why would they want different dim seeds?

Regardless, it does seem that you are right. If anyone can find a way to use the same world seed, my supposedly advanced idea is actually possible after all. I created a second dimension json:

{
	"type": "mytestmod:mytestmoddimenionaaa",
	"generator": {
		"type": "minecraft:noise",
		"seed": 0,
		"settings": "minecraft:overworld",
		"biome_source": {
			"type": "minecraft:vanilla_layered",
			"seed": 0
		}
	}
}

and teleported between them and it actually works; 1:1 block sameness. 

So even my case that I thought was advanced, it seems its merely one line away from being possible. Perhaps a custom forge generator is the solution still?

Edit: However, upon inspection of the ForgeRegistries.java, unfortunatley the only world gen registries that exist are:

// Worldgen
public static final IForgeRegistry<WorldCarver<?>> WORLD_CARVERS = RegistryManager.ACTIVE.getRegistry(WorldCarver.class);
public static final IForgeRegistry<SurfaceBuilder<?>> SURFACE_BUILDERS = RegistryManager.ACTIVE.getRegistry(SurfaceBuilder.class);
public static final IForgeRegistry<Feature<?>> FEATURES = RegistryManager.ACTIVE.getRegistry(Feature.class);
public static final IForgeRegistry<Placement<?>> DECORATORS = RegistryManager.ACTIVE.getRegistry(Placement.class);
public static final IForgeRegistry<ChunkStatus> CHUNK_STATUS = RegistryManager.ACTIVE.getRegistry(ChunkStatus.class);
public static final IForgeRegistry<Structure<?>> STRUCTURE_FEATURES = RegistryManager.ACTIVE.getRegistry(Structure.class);
public static final IForgeRegistry<BlockStateProviderType<?>> BLOCK_STATE_PROVIDER_TYPES = RegistryManager.ACTIVE.getRegistry(BlockStateProviderType.class);
public static final IForgeRegistry<BlockPlacerType<?>> BLOCK_PLACER_TYPES = RegistryManager.ACTIVE.getRegistry(BlockPlacerType.class);
public static final IForgeRegistry<FoliagePlacerType<?>> FOLIAGE_PLACER_TYPES = RegistryManager.ACTIVE.getRegistry(FoliagePlacerType.class);
public static final IForgeRegistry<TreeDecoratorType<?>> TREE_DECORATOR_TYPES = RegistryManager.ACTIVE.getRegistry(TreeDecoratorType.class);

// Dynamic/Data driven.
public static final IForgeRegistry<Biome> BIOMES = RegistryManager.ACTIVE.getRegistry(Keys.BIOMES);
Edited by SubliminallySublime
Additional info
Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
×
  • Create New...

Important Information

By using this site, you agree to our Privacy Policy.