Jump to content

Stanlyhalo

Members
  • Posts

    25
  • Joined

  • Last visited

Everything posted by Stanlyhalo

  1. Thank you so much, I'll def. keep an eye out for that forum post for when/if you post a sharable multiple biome provider code. Edit*: I'm also probably gonna look at some more of the forge source code to see how the world type generates multiple biomes.
  2. I have a couple custom biomes with designated custom surface builders, although I don't know how to make the kind of biome surface builder I want. So what I am asking, is a walkthrough to how the default biome surface builder works, and how I can create my own to the type of biome I want, this is the default biome surface builder: protected void buildSurface(Random random, IChunk chunkIn, Biome biomeIn, int x, int z, int startHeight, double noise, BlockState defaultBlock, BlockState defaultFluid, BlockState top, BlockState middle, BlockState bottom, int sealevel) { BlockState blockstate = top; BlockState blockstate1 = middle; BlockPos.Mutable blockpos$mutable = new BlockPos.Mutable(); int i = -1; int j = (int)(noise / 3.0D + 3.0D + random.nextDouble() * 0.25D); int k = x & 15; int l = z & 15; for(int i1 = startHeight; i1 >= 0; --i1) { blockpos$mutable.setPos(k, i1, l); BlockState blockstate2 = chunkIn.getBlockState(blockpos$mutable); if (blockstate2.isAir()) { i = -1; } else if (blockstate2.getBlock() == defaultBlock.getBlock()) { if (i == -1) { if (j <= 0) { blockstate = Blocks.AIR.getDefaultState(); blockstate1 = defaultBlock; } else if (i1 >= sealevel - 4 && i1 <= sealevel + 1) { blockstate = top; blockstate1 = middle; } if (i1 < sealevel && (blockstate == null || blockstate.isAir())) { if (biomeIn.getTemperature(blockpos$mutable.setPos(x, i1, z)) < 0.15F) { blockstate = Blocks.ICE.getDefaultState(); } else { blockstate = defaultFluid; } blockpos$mutable.setPos(k, i1, l); } i = j; if (i1 >= sealevel - 1) { chunkIn.setBlockState(blockpos$mutable, blockstate, false); } else if (i1 < sealevel - 7 - j) { blockstate = Blocks.AIR.getDefaultState(); blockstate1 = defaultBlock; chunkIn.setBlockState(blockpos$mutable, bottom, false); } else { chunkIn.setBlockState(blockpos$mutable, blockstate1, false); } } else if (i > 0) { --i; chunkIn.setBlockState(blockpos$mutable, blockstate1, false); if (i == 0 && blockstate1.getBlock() == Blocks.SAND && j > 1) { i = random.nextInt(4) + Math.max(0, i1 - 63); blockstate1 = blockstate1.getBlock() == Blocks.RED_SAND ? Blocks.RED_SANDSTONE.getDefaultState() : Blocks.SANDSTONE.getDefaultState(); } } } } } So if anyone could walk me through how this works, that would be amazing. Also if someone would tell me the math I would have to do to make a sahara surface builder, that would be awesome.
  3. I got it so it spawns a custom biome in 1.15.2. I have a custom ChunkGenerator, MultiBiomeProvider, and GenerationSettings. Although I'm trying to get my MultiBiomeProvider to be able to provide multiple biomes. How do I accomplish this? Or does anyone already have a premade code to add these in?
  4. Well, I have been trying to make a custom provider, which I will continue to make along with stuff to add to configure sizes of biomes hopefully, and also, okay... I do know Java, but alrighty than.
  5. Would anyone know how to make a WorldType in 1.15.2, I created one in 1.14.4, but now I want to make it in 1.15.2, and also have multiple biomes. On the side if you could, explain how I would make custom recipes that ONLY work when in the WorldType (optional). Please help, I've been at this for a while trying to make the WorldType work.
  6. Well damn, that actually worked, mind explaining why this is?
  7. I'm making a 1.15.2 mod because I wanted to updated my mod from 1.12.2, since there different I just moved all my textures and .JSON files over, and updated them. I uploaded my crash-report file. crash-2020-06-08_11.21.44-client.txt
  8. I have this same issue, but I'm creating a mod, I did copy+paste some of my textures and json files into the newer version and updated them because I'm making an updated version to 1.15.2, why am I getting this now?
  9. I'm just gonna remake it in 1.15.2, and update it from there when new versions come out, also I hate how they have moved a lot more things over to JSON, I know how JSON works, but I would have more flexibility if it was in Java because I can then do events, or some special action.
  10. So I've been making a mod in 1.14.2, but I was wondering how would I update it to 1.15.2, would I probably set up a new project and setup 1.15.2 forge, but how do I update all my stuff? Also, a side question if it's possible to answer, I noticed that now block drops are in JSON and it's different to code events, but why did they move away from having a separate java class file for each block (I kinda liked it better like that)?
  11. So I'm still having a hard time making a world type have two biomes, I checked and got the two biomes to work separately but adding them both to one world type, that's where I'm still running into.
  12. So I just tried instead of: return new OverworldChunkGenerator(world, new SingleBiomeProvider(provider), settings); I can do: return new OverworldChunkGenerator(world, new BiomeProvider(provider), settings); So how could I possibly make it instead of: SingleBiomeProviderSettings provider = new SingleBiomeProviderSettings(); Into just BiomeProviderSettings because I am trying different combos and trying to ctrl+click to open it. Edit*: Figured it out: OverworldBiomeProviderSettings But idk how to add a biome, also how would I do nether & end (maybe answer this after how to add a biome to the OverworldBiomeProviderSettings)?
  13. Well didn't work. Is their a example one that someone has made, because mine just don't work, and how would I add a config to my World Type?
  14. Yup I am currently doing it, and this is what I have so far on my settings: private Biome[] biomes; public ExpansionModBiomeProviderSettings addBiome(Biome[] biomeIn) { biomes = new Biome[biomeIn.length]; for (int i = 0; i < biomeIn.length; i++) { biomes[i] = biomeIn[i]; } return this; } public Biome[] getBiome() { return this.biomes; } Also how would I call addBiome from my WorldType, because it is underlined in red. Edit*: I'm trying to make it so that the WorldType adds a biome list and the biome provider settings will make it a list so that the provider can read one at a time if that's possible.
  15. What if I just instead created my own ProviderSettings to try and support different Biomes?
  16. Well I'm in the WorldType.class and it seems to be kina just what I want, and seems to be how I can also add a options button to my worldtype. Edit*: How would I use the code to generator the biomes?
  17. I have been working on biomes and even started my own Surface Builder, only problem is, I don't know how to do the math for the Surface Building. I want to make my biome mostly flat like a plains biome, but idk how to make it like that because SurfaceBuilder.DEFAULT is really wack with floating parts. I want mine kinda like savanna or just plains, except make my own code for it.
  18. I know how to check the code through the IDE, but how would I check the vanilla code for WorldType? Edit*: Biomes O Plenty doesn't support 1.14.4 so maybe I would have to translate the code to 1.14.4 if I can see the code. Edit*: I can see the .class files but disecting this can take a bit.
  19. Are you able to point me in the direction for either find an example, or docs, or some sort of thing I can base mine off of? Because I am really good at programming, but I am just figuring out World Types. Also I am going to check out how to make my ores only in my WorldType.
  20. I've now done this with OverworldBiomeProviderSettings: OverworldGenSettings settings = new OverworldGenSettings(); OverworldBiomeProviderSettings BiomeProvider = new OverworldBiomeProviderSettings(); BiomeProvider.setGeneratorSettings(settings); return new OverworldChunkGenerator(world, new OverworldBiomeProvider(BiomeProvider), settings); But I don't know how to add my biomes to the provider.
  21. So I have made my own World Type, and the tutorial I followed on this process used SingleBiomeProviderSettings. And I want to use both of my custom biomes. How do I do so? @Override public ChunkGenerator<?> createChunkGenerator(World world) { OverworldGenSettings settings = new OverworldGenSettings(); SingleBiomeProviderSettings single = new SingleBiomeProviderSettings(); single.setBiome(CustomBiomes.biome_custom1); single.setBiome(CustomBiomes.biome_custom2); return new OverworldChunkGenerator(world, new SingleBiomeProvider(single), settings); } I want to know if their is a BiomeProviderSettings for multiple biomes, and how do I do it.
  22. I know how to make stuff craft into other objects, but is their a way to make it so I can't identify all my custom planks as mod:planks so that I don't have to create multiple files for each craft of sticks. Now I am aware of data.mod.tags.items, but I have tried it, and it doesn't work.
  23. So I have been following Henry Talks for the 1.13-1.14.4 playlist for modding Minecraft. And I wanted to make a block that falls, now I have made a mod for 1.12.2, but no falling block. So simply, how would I make my block fall when nothing is below it?
×
×
  • Create New...

Important Information

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