Jump to content

[UNSOLVED][1.7.10] custom topBlock/fillerBlock in custom biome


Recommended Posts

Posted

Hello.

I'm having a problem with my custom underwater biomes in my Atlantis dimension. They used to work in 1.6, but now that I've upgraded it to 1.7, my biome topBlock and fillerBlock won't generate and are instead replaced by gravel. I've had this problem for months now and I have tried many things to fix it. Any help would be greatly appreciated. All of my code is on GitHub.

 

http://www.github.com/codecademyminecraftmods/atlantis-mod/

Posted

When you make a class that extends BiomeGenBase, you can just do this.topBlock =  and this.fillerBlock =.  I'm not sure why you don't want to make a custom BiomeGenBase, but it's extremely simple:

 

BiomeGenBase

 

And instantiated/set up here:

 

Main

Posted
  On 5/2/2015 at 7:00 AM, Izzy Axel said:

When you make a class that extends BiomeGenBase, you can just do this.topBlock =  and this.fillerBlock =.  I'm not sure why you don't want to make a custom BiomeGenBase, but it's extremely simple:

 

BiomeGenBase

 

And instantiated/set up here:

 

Main

 

if you had actually read my code you would understand my question. extending BiomeGenBase, like you did, is different than making your own BiomeGenBase, which requires a coremod i believe. anyways, my biomes do use this.topBlock = and this.fillerBlock = and they both extend BiomeGenBase. they are instantiated at the right times as well. however, the custom top and fillers are still not working.

Posted

Then I don't know, my underwater biome's topBlock and fillerBlock worked just fine.

 

PS, why are you making the topBlock water?  The topBlock is the top block of the terrain, putting the average height below sea level is how you fill a biome with water.

Posted
  On 5/2/2015 at 8:09 PM, Izzy Axel said:

Then I don't know, my underwater biome's topBlock and fillerBlock worked just fine.

 

PS, why are you making the topBlock water?  The topBlock is the top block of the terrain, putting the average height below sea level is how you fill a biome with water.

 

i didnt make the topBlock water, you still havent read my code apparently. thanks anyways tho.

 

i sure wish a forum mod could take a look at this *ahem*

Posted

Are both your biomes doing this, or have you only seen one of them? Also a quick note, your like to your repository is broken, so you may want to get that fixed.

Posted

Have you looked at how Deep Ocean generates? It most likely is a mutated Ocean with a custom set of properties, you may have to override those properties to get rid of the stone and gravel.

Posted
  On 5/4/2015 at 5:18 PM, saxon564 said:

Have you looked at how Deep Ocean generates? It most likely is a mutated Ocean with a custom set of properties, you may have to override those properties to get rid of the stone and gravel.

 

hm it appears that it isnt, the only difference it the height...

plus, im not extending deepOcean, im extending BiomeGenDeepOcean.

Posted

I was just saying the biome name, not the name of the class when I said Deep Ocean, but looking at BiomeGenBase, it looks like you will want to override generateBiomeTerrain, this is making it so that is the top block is less than 56 it is set to gravel. overriding this method will allow you to generate your top block the way you want it.

Posted
  On 5/5/2015 at 5:23 AM, saxon564 said:

I was just saying the biome name, not the name of the class when I said Deep Ocean, but looking at BiomeGenBase, it looks like you will want to override generateBiomeTerrain, this is making it so that is the top block is less than 56 it is set to gravel. overriding this method will allow you to generate your top block the way you want it.

 

ok thanks for pointing out that you can override that function, i thought it was final, like genTerrainBlocks().

could you show me how to override this? my forge version isnt giving very descriptive variable names, im not sure exactly what to pass it instead.

Posted

My bad, didn't realize it was final. It looks like you can use your own version of it, the BiomeGenOcean class has

public void genTerrainBlocks(World p_150573_1_, Random p_150573_2_, Block[] p_150573_3_, byte[] p_150573_4_, int p_150573_5_, int p_150573_6_, double p_150573_7_)
    {
        super.genTerrainBlocks(p_150573_1_, p_150573_2_, p_150573_3_, p_150573_4_, p_150573_5_, p_150573_6_, p_150573_7_);
    }

You may be able to use that and make your own genBiomeTerrain method. How it is working in the BiomeGenOcean class it it is sending the variables to genTerrainBlocks in the BiomeGenBase class, which is then sending the variables to genBiomeTerrain. I cannot say for sure if that would work, but it's worth a shot.

Posted
  On 5/6/2015 at 2:41 AM, saxon564 said:

My bad, didn't realize it was final. It looks like you can use your own version of it, the BiomeGenOcean class has

public void genTerrainBlocks(World p_150573_1_, Random p_150573_2_, Block[] p_150573_3_, byte[] p_150573_4_, int p_150573_5_, int p_150573_6_, double p_150573_7_)
    {
        super.genTerrainBlocks(p_150573_1_, p_150573_2_, p_150573_3_, p_150573_4_, p_150573_5_, p_150573_6_, p_150573_7_);
    }

You may be able to use that and make your own genBiomeTerrain method. How it is working in the BiomeGenOcean class it it is sending the variables to genTerrainBlocks in the BiomeGenBase class, which is then sending the variables to genBiomeTerrain. I cannot say for sure if that would work, but it's worth a shot.

 

thats not working either. thanks for trying tho :(

Posted

well here's the code for the ChunkProvider:

 

 

  Reveal hidden contents

 

 

I've been through this a couple of times, but I can't seem to find anything wrong with it. It's mostly just a copy of the ChunkProviderGenerate class I believe...

 

  On 5/18/2015 at 10:25 AM, diesieben07 said:

  Quote

Use the mcreator and modify to insert into your mods package.

facepalm.jpg

 

ikr!

Posted
  On 5/18/2015 at 3:20 PM, diesieben07 said:

If you had a proper git repo I'd debug it myself. But your repo is missing the build.gradle, the gradle wrapper, etc.

 

I just updated the repository. Let me know if there's any other gradle files you need, I wasn't quite sure I included all of the right ones...

Posted
  On 5/18/2015 at 3:50 PM, diesieben07 said:

The way any git repo should work is: you clone it, run some commands and you have a working workspace that you can commit out of.

In your case running setupDecompWorkspace will not care about your sources, I'd have to copy those. Then to commit I'd have to copy them back, etc.

 

This might seem nitpicky, but I think it's better to get right from the start. As an example, this is my repository. You can set up a fully working workspace with just 2 commands: git clone <...>; gradlew setupDecompWorkspace. And you're done.

 

I had my workspace somewhere else because it had APIs that I wasn't allowed to redistribute (Player API). Anyways hopefully this is right now, and the parts that refer to Player API can be commented out or something.

  • 2 weeks later...
Posted
  On 5/20/2015 at 11:35 AM, diesieben07 said:

Sorry, your code does not even compile once I cloned it.

In all honesty I am not very motivated to keep helping you.

 

:'(

 

Did you comment out the parts that refer to PlayerAPI?

 

If that isn't the problem, I would request that you try to take a look at the code anyways. I'm not here to learn how to use Git, but to find an answer to the problem. I understand it's your job to answer questions and you want to be able to answer them quickly, but you should note that a lot of people who post their problems on here don't use a nicely formatted Git repo but rather paste pieces of many different sections of code into spoilers, which is not nearly as convenient for you as is a repo, even a badly formatted one.

Posted
  On 5/28/2015 at 12:40 PM, diesieben07 said:

  Quote

Did you comment out the parts that refer to PlayerAPI?

No, why? A git repo should always work out of the box.

  Quote
I understand it's your job to answer questions
Uh, no it's really not. I am a moderator, meaning I make sure nothing stupid happens on the forums. Yes, I do help, but that's not my "job" (and not my actual job either, this is my free time).
  Quote
but you should note that a lot of people who post their problems on here don't use a nicely formatted Git repo but rather paste pieces of many different sections of code into spoilers, which is not nearly as convenient for you as is a repo, even a badly formatted one.

True. As long as the problem is immediately visible from the posted code, that is fine. But in your case the problem is far from obvious and needs to be debugged with an IDE with the Mod running. And I am not going to spend (insert arbitrary time frame here) trying to figure out how to get your mod to run so I can debug it for you.

 

Anyways, regardless of what a moderator's duties encompass...

I will fix the repo to make sure it works out of the box, and I will not come back until then.

  • 4 weeks later...
Posted
  On 5/18/2015 at 3:20 PM, diesieben07 said:

If you had a proper git repo I'd debug it myself. But your repo is missing the build.gradle, the gradle wrapper, etc.

 

The repo now works out-of-the-box. I have had this problem with my mod for a very long time now, and I really need help solving it--please take the time to look at it. Thanks!

Posted

Wow,

that was something special.  Everyone that helps out here is a volunteer.  It is not their job.

 

Some people have a very long history of helping with rather rude replies, but whatever.  If you don't like it, don't listen to them.

 

 

Long time Bukkit & Forge Programmer

Happy to try and help

Posted
  On 6/23/2015 at 6:24 PM, delpi said:

Wow,

that was something special.  Everyone that helps out here is a volunteer.  It is not their job.

 

Some people have a very long history of helping with rather rude replies, but whatever.  If you don't like it, don't listen to them.

 

No comment.

 

Anyways, still looking for help here...

Posted
  On 6/29/2015 at 5:37 PM, diesieben07 said:

Ok, I got it now. Now what do I do to reproduce your bug?

Also: your entity registration code is horrid and will mostly likely break yours and most definitely other mods. Please do not ever ever use global IDs. That means unless you update to 1.8 you cannot use vanilla spawn eggs.

 

Okay, so teleporting to my dimension is a bit complex...

First, get a Atlantis Wand from the creative menu. Then, while your head is underwater, right-click to teleport to the dimension.

Once there, you should notice that all of the floor blocks in each biome are gravel. However, the code for the biomes dictates otherwise. I know it is the right biome because the F3 menu shows the name of the biome. About the entity registration: Weird. I got it from wuppy29.

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



×
×
  • Create New...

Important Information

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