Jump to content

Creating new dimension?


DELTA_12

Recommended Posts

CJ, you are trying to be helpful, but new dimensions unfortunately aren't simple enough to just look up (at least not to me).

Delta, if you are serious about making this mod, you will want to look up wuppy's tutorial on dimensions.

All of wuppy's tutorials are listed here:

http://wuppy29.blogspot.com/2012/10/forge-modding-142.html

and if you scroll down into the text tutorials, there is a heading called "Dimension". Start with the first tutorial and follow it through all 7 tutorials to the end. The tutorial itself doesn't take too long since there is a lot of copy-paste.

Once you finish that, there are 2 more headings under dimension: dimension customization and other. Look at dimension customization because he shows you a couple neat tricks to use, then go to other and look at updating to 1.5.1. His dimension tutorial is old so if you can't figure out how to fix the outdated methods and names he uses, it's a good place to start.

 

This is the most up to date tutorial I've been able to find, and since it isn't a short process it will probably stay that way. Dimensions don't look too easy to me at the moment, so be aware that it takes patience and you can do it. :)

Read my thoughts on my summer mod work and tell me what you think!

http://www.minecraftforge.net/forum/index.php/topic,8396.0.html

 

I absolutely love her when she smiles

Link to comment
Share on other sites

I did a dimension myself back in 1.4.6; I can help you if you like.

I actually could use some help. I'm not really sure about several things. I think I just solved my own problem regarding block id's greater than 255, but I am having trouble in other areas.

 

How should I go about preventing any mob spawns in my new dimension? I have tried using:

provider.setAllowedSpawnTypes(false, false);

in several places and that doesn't seem to change anything, but it is the only thing I can find to indicate whether a mob spawns. I am not using any custom biomes and would prefer to do my changes to the world instead of the biomes.

 

Also, Do you know of a way to set a light level that is constant through day and night, or even just a way to set the skyblock light level? I'm sure I can figure out how to texture my sky how I want etc, but I'm having trouble with the light level.

 

If you remember any of this from when you made your dimension, thanks would be given freely. :D

Read my thoughts on my summer mod work and tell me what you think!

http://www.minecraftforge.net/forum/index.php/topic,8396.0.html

 

I absolutely love her when she smiles

Link to comment
Share on other sites

For stopping vanilla spawns in my dimension I just used

 

       this.spawnableMonsterList.clear();
        this.spawnableCreatureList.clear();
        this.spawnableWaterCreatureList.clear();
        this.spawnableCaveCreatureList.clear();
        this.spawnableMonsterList.add(new SpawnListEntry(EntityDemon.class, 5, 1, 1));

 

in my biome class that I'm using for the dimension

unless you're using vanilla biomes, in which case it's beyond me

 

regardless

 

http://www.minecraftforum.net/topic/1797143-forge-dimension-tutorial-for-152-with-custom-trees/

 

Is a great tutorial for dimensions

It's the one I used to make my dimension

It's only for a single biome and it's a little confusing, but it's up to date

 

they're currently working on adding more than 1 biome as a tutorial as well

Link to comment
Share on other sites

His update to 1.5.1 post helps a lot, or in the class where you have the error, open up the class that yours extends (ie, for your custom teleporter class, open up the vanilla Teleporter class) and compare the vanilla methods to yours and change yours to match the vanilla one where you have errors. Or just copy them over. They do the same thing.

 

Ooh, that looks helpful.

Yeah, I'm using all the vanilla biomes. My world generates *almost* identically to the normal world. Though in some places, sections of the world are mirrored. It's really strange.

Read my thoughts on my summer mod work and tell me what you think!

http://www.minecraftforge.net/forum/index.php/topic,8396.0.html

 

I absolutely love her when she smiles

Link to comment
Share on other sites

Go to your portal block class. Look at your onEntityCollidedWithBlock method. In there is a bunch of code that is used to teleport the player to your dimension. If you want to have the player be teleported via a different activity, move all the code from that method into a new method. In your instance, you probably want to override onBlockActivated and put the code in there.

 

Keep in mind, this still builds your portal the same way when you enter your dimension. If you want to change the way that is built, look at the custom teleporter class you made. And cry. Then if you still want to try to change it, start working on understanding what everything does. And cry. And give up and comment out everything already done and make some silly code that does what you want.

Read my thoughts on my summer mod work and tell me what you think!

http://www.minecraftforge.net/forum/index.php/topic,8396.0.html

 

I absolutely love her when she smiles

Link to comment
Share on other sites

I did a dimension myself back in 1.4.6; I can help you if you like.

I actually could use some help. I'm not really sure about several things. I think I just solved my own problem regarding block id's greater than 255, but I am having trouble in other areas.

 

How should I go about preventing any mob spawns in my new dimension? I have tried using:

provider.setAllowedSpawnTypes(false, false);

in several places and that doesn't seem to change anything, but it is the only thing I can find to indicate whether a mob spawns. I am not using any custom biomes and would prefer to do my changes to the world instead of the biomes.

 

Also, Do you know of a way to set a light level that is constant through day and night, or even just a way to set the skyblock light level? I'm sure I can figure out how to texture my sky how I want etc, but I'm having trouble with the light level.

 

If you remember any of this from when you made your dimension, thanks would be given freely. :D

Well, I was thinking about basic dimension structure when I said that, seeing as I never added much to the dimension... and I was not really prepared for those questions. Regardless, I'll try to help you.

*looks at source* And apparently, for whatever weird reason, I also self-obfuscated... Okay. Well, this might take some work, but I'll do what I can to answer your questions.

 

First, spawn types. Do you want to prevent natural mob spawns, or all of them? All mobs, or just monsters? If it's the first choice for both, as I suspect, I would redefine getPossibleCreatures(EnumCreatureType, int, int, int) in your chunk provider to return an empty list. As for your other questions, I'll answer, but I need to do a bit of research first.

BEWARE OF GOD

---

Co-author of Pentachoron Labs' SBFP Tech.

Link to comment
Share on other sites

*looks at source* And apparently, for whatever weird reason, I also self-obfuscated...

Hahaha I like you.

Thank you tons for looking into your code for me. I like this community. :)

At the moment I am thinking of just preventing natural spawns of all mobs. I'll check your solution and get back to you. -edit- It works- and I should have noticed that method way earlier. Haha.

 

Now, I said I figured it out on my own, and I may yet do so, but did you use your chunk provider to fill the world using a custom block? Because I thought I found the solution: making a chunk using a short array instead of a byte array, but there is obviously fancy math that I need to fix for that to work because the wrong block spawned and layers of the world spawned in sideways, very far-lands-esque.

Read my thoughts on my summer mod work and tell me what you think!

http://www.minecraftforge.net/forum/index.php/topic,8396.0.html

 

I absolutely love her when she smiles

Link to comment
Share on other sites

*looks at source* And apparently, for whatever weird reason, I also self-obfuscated...

Hahaha I like you.

Thank you tons for looking into your code for me. I like this community. :)

At the moment I am thinking of just preventing natural spawns of all mobs. I'll check your solution and get back to you. -edit- It works- and I should have noticed that method way earlier. Haha.

 

Now, I said I figured it out on my own, and I may yet do so, but did you use your chunk provider to fill the world using a custom block? Because I thought I found the solution: making a chunk using a short array instead of a byte array, but there is obviously fancy math that I need to fix for that to work because the wrong block spawned and layers of the world spawned in sideways, very far-lands-esque.

I used a ChunkProvider... but it sounds like you used a custom Chunk, which I didn't do. All you should need, though, is chunk.setBlockID(x,y,z,id) where x and z are both between 0 and 15 (they are not adjusted to chunk offset.) What you got sounds sort of like you had the args in the wrong order.

BEWARE OF GOD

---

Co-author of Pentachoron Labs' SBFP Tech.

Link to comment
Share on other sites

I am using a chunk provider. Vanilla chunks have a constructor that allows them to be built using a short array instead of a byte array, which allows you to use block ids over 255 when creating the chunk. I must have just not changed enough when I tried it on mine.

Read my thoughts on my summer mod work and tell me what you think!

http://www.minecraftforge.net/forum/index.php/topic,8396.0.html

 

I absolutely love her when she smiles

Link to comment
Share on other sites

I am using a chunk provider. Vanilla chunks have a constructor that allows them to be built using a short array instead of a byte array, which allows you to use block ids over 255 when creating the chunk. I must have just not changed enough when I tried it on mine.

Fair enough. To be honest, I was never concerned with that; I just needed a custom dimension for a small structure (I suppose I would have been more concerned later, when I expanded on that mod, but there you are.) Does the generation work now, then?

BEWARE OF GOD

---

Co-author of Pentachoron Labs' SBFP Tech.

Link to comment
Share on other sites

Mostly? I just changed my filler block id to 255, so the dimension is created properly with that, and most of the biomes generate correctly. However, any biome that includes water, like the ocean biome or a river etc, seem to have a strange issue. If you took every 4th block and squished them all together, then the next set, then the next, etc in one chunk, that is how it would look, except mirrored. So what would be a hill (left to right) has (still left to right) a high, high-middle, low-middle, low block, then repeated. I could post a picture but I should realistically be able to figure it out myself. Or I might not and leave it because it makes cool patterns.

Read my thoughts on my summer mod work and tell me what you think!

http://www.minecraftforge.net/forum/index.php/topic,8396.0.html

 

I absolutely love her when she smiles

Link to comment
Share on other sites

Mostly? I just changed my filler block id to 255, so the dimension is created properly with that, and most of the biomes generate correctly. However, any biome that includes water, like the ocean biome or a river etc, seem to have a strange issue. If you took every 4th block and squished them all together, then the next set, then the next, etc in one chunk, that is how it would look, except mirrored. So what would be a hill (left to right) has (still left to right) a high, high-middle, low-middle, low block, then repeated. I could post a picture but I should realistically be able to figure it out myself. Or I might not and leave it because it makes cool patterns.

I'd... ask for a screenshot anyway. I'd like to see that, even if you can easily fix it.

BEWARE OF GOD

---

Co-author of Pentachoron Labs' SBFP Tech.

Link to comment
Share on other sites

Fair enough...

The error in a river.

 

jUBBMg2.png

 

Another place without the text.

 

9W7enuY.png

 

A river basin. The right side is good but the left side clearly isn't.

 

CAyQFPV.png

 

An ocean floor. Interestingly, the top portion that is clearly not broken ends at level 64. This would explain why it only happens around water: nowhere else is under level 64.

 

kBMpbp0.jpg

 

And of course an ocean generated ravine that got slightly mangled.

 

rEDdqwj.png

 

Looking again, it seems that 4 block sections are just being mirrored, giving striations to the generation.

Read my thoughts on my summer mod work and tell me what you think!

http://www.minecraftforge.net/forum/index.php/topic,8396.0.html

 

I absolutely love her when she smiles

Link to comment
Share on other sites

Fair enough...

The error in a river.

 

jUBBMg2.png

 

Another place without the text.

 

9W7enuY.png

 

A river basin. The right side is good but the left side clearly isn't.

 

CAyQFPV.png

 

An ocean floor. Interestingly, the top portion that is clearly not broken ends at level 64. This would explain why it only happens around water: nowhere else is under level 64.

 

kBMpbp0.jpg

 

And of course an ocean generated ravine that got slightly mangled.

 

rEDdqwj.png

 

Looking again, it seems that 4 block sections are just being mirrored, giving striations to the generation.

...

Odd. To say the least. Perhaps I should take a look at your generation code myself. You wouldn't happen to have a Github?

Anyway. I did some looking into your other question, and have you tried setting myWorldProvider.hasNoSky to true?

BEWARE OF GOD

---

Co-author of Pentachoron Labs' SBFP Tech.

Link to comment
Share on other sites

If you mean me, i did but it only eliminates sunlight but sky is still visible. Yeah and im asking to CHANGE that texture not just make it invisible

Oh, sorry, I was talking to redria7. We should probably move our discussion to a seperate thread :)

 

Anyway, your problem... it doesn't look like it's possible to change the moon texture without changing it universally. Alternatively, you could draw a custom moon.

BEWARE OF GOD

---

Co-author of Pentachoron Labs' SBFP Tech.

Link to comment
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.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
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.

Announcements



  • Recently Browsing

    • No registered users viewing this page.
  • Posts

    • I use Bisect-Hosting, and I host a relatively modded server.  There is a mod I desperately want to have in a server. https://www.curseforge.com/minecraft/mc-mods/minehoplite This is MineHop. It's a mod that replicates the movement capabilities seen in Source Engine games, such as Half-Life, and such.  https://youtu.be/SbtLo7VbOvk - A video explaining the mod, if anyone is interested.  It is a clientside mod, meaning whoever is using it can change anything about the mod that they want, with no restrictions, even when they join a server with the same mod. They can change it to where they can go infinitely fast, or do some other overpowered thing. I don't want that to happen. So I just want to know if there is some way to force the SERVER'S configuration file, onto whoever is joining.  I'm not very savvy with all this modding stuff. There are two config files: minehop-common.txt, and minehop.txt I don't really know much about how each are different. I just know what the commands relating to acceleration and stuff mean.    
    • My journey into crypto trading began tentatively, with me dipping my toes into the waters by purchasing my first Bitcoin through a seasoned trader. With an initial investment of $5,000, I watched as my investment grew, proving to be both fruitful and lucrative. Encouraged by this success, I decided to increase my investment to $150,000, eager to capitalize on the growing popularity of cryptocurrency, However, as cryptocurrency gained mainstream attention, so too did the number of self-proclaimed "experts" in the field. Suddenly, everyone seemed to be a crypto guru, and more and more people were eager to jump on the bandwagon without fully understanding the intricacies of this complex world. With promises of quick and easy profits, these con artists preyed on the uninformed, luring them into schemes that often ended in disappointment and financial loss. Unfortunately, I fell victim to one such scheme. Seduced by the allure of easy money, I entrusted my hard-earned funds to a dubious trading platform, granting them access to my accounts in the hopes of seeing my investment grow. For a brief period, everything seemed to be going according to plan, with regular withdrawals and promising returns on my investment. However, my hopes were soon dashed when, without warning, communication from the platform ceased, and my Bitcoin holdings vanished into thin air. Feeling helpless and betrayed, I confided in a family member about my predicament. They listened sympathetically and offered a glimmer of hope in the form of a recommendation for Wizard Web Recovery. Intrigued by the possibility of reclaiming what I had lost, I decided to explore this option further. From the moment I reached out to Wizard Web Recovery, I was met with professionalism and empathy. They took the time to understand my situation and reassured me that I was not alone in my plight. With their guidance, I embarked on a journey to reclaim what was rightfully mine. Wizard Web Recovery's expertise and dedication were evident from the start. They meticulously analyzed the details of my case, uncovering crucial evidence that would prove invaluable in our quest for justice. With each step forward, they kept me informed and empowered, instilling in me a newfound sense of hope and determination. Through their tireless efforts and unwavering support, Wizard Web Recovery succeeded in recovering my lost Bitcoin holdings. It was a moment of triumph and relief, knowing that justice had been served and that I could finally put this chapter behind me. In conclusion, My experience with Wizard Web Recovery  was nothing short of transformative. Their professionalism, expertise, and unwavering commitment to their clients set them apart as true leaders in the field of cryptocurrency recovery. I am forever grateful for their assistance and would highly recommend their services to anyone in need of help navigating the treacherous waters of cryptocurrency scams. 
    • Ok so: Two things to note: It got stuck due to my dimension type. It was previously the same as the overworld dimension tpye but after changing it , it didn't freeze during spawn generation. ALSO, APPARENTLY, the way I'm doing things, the game can't have two extremely-rich dimensions or it will make the new chunk generation be veeery VEEERY slow. I'm doing the dimension file genreation all in the data generation step now, so it's all good. Mostly. If anybody has any tips regarding how can i more efficently generate a biome-rich dimension, im all ears.
    • https://mclo.gs/qTo3bUE  
    • Check for the mods ingame - create a new world in creative mod and check the creative inventory  
  • Topics

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.