Jump to content
View in the app

A better way to browse. Learn more.

Forge Forums

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

ThanosGecko

Members
  • Joined

  • Last visited

Everything posted by ThanosGecko

  1. Alright I ended up commenting out random lines of code and one of them worked lmao. For anybody else that might need this in the future, I just commented out this line in the ChunkGenerator: private double[] func_222572_j() { double[] adouble = new double[this.noiseSizeY()]; for(int i = 0; i < this.noiseSizeY(); ++i) { adouble[i] = Math.cos((double)i * Math.PI * 6.0D / (double)this.noiseSizeY()) * 2.0D; double d0 = (double)i; if (i > this.noiseSizeY() / 2) { d0 = (double)(this.noiseSizeY() - 1 - i); } if (d0 < 4.0D) { d0 = 4.0D - d0; //adouble[i] -= d0 * d0 * d0 * 10.0D; } } return adouble; }
  2. It seems like it might be something in either this method: public int func_222529_a(int p_222529_1_, int p_222529_2_, Heightmap.Type heightmapType) { int i = Math.floorDiv(p_222529_1_, this.horizontalNoiseGranularity); int j = Math.floorDiv(p_222529_2_, this.horizontalNoiseGranularity); int k = Math.floorMod(p_222529_1_, this.horizontalNoiseGranularity); int l = Math.floorMod(p_222529_2_, this.horizontalNoiseGranularity); double d0 = (double)k / (double)this.horizontalNoiseGranularity; double d1 = (double)l / (double)this.horizontalNoiseGranularity; double[][] adouble = new double[][]{this.func_222547_b(i, j), this.func_222547_b(i, j + 1), this.func_222547_b(i + 1, j), this.func_222547_b(i + 1, j + 1)}; int i1 = this.getSeaLevel(); for(int j1 = this.noiseSizeY - 1; j1 >= 0; --j1) { double d2 = adouble[0][j1]; double d3 = adouble[1][j1]; double d4 = adouble[2][j1]; double d5 = adouble[3][j1]; double d6 = adouble[0][j1 + 1]; double d7 = adouble[1][j1 + 1]; double d8 = adouble[2][j1 + 1]; double d9 = adouble[3][j1 + 1]; for(int k1 = this.verticalNoiseGranularity - 1; k1 >= 0; --k1) { double d10 = (double)k1 / (double)this.verticalNoiseGranularity; double d11 = MathHelper.lerp3(d10, d0, d1, d2, d6, d4, d8, d3, d7, d5, d9); int l1 = j1 * this.verticalNoiseGranularity + k1; if (d11 > 0.0D || l1 < i1) { BlockState blockstate; if (d11 > 0.0D) { blockstate = this.defaultBlock; } else { blockstate = this.defaultFluid; } if (heightmapType.getHeightLimitPredicate().test(blockstate)) { return l1 + 1; } } } } return 0; } or this method: public void generateSurface(IChunk chunkIn) { ChunkPos chunkpos = chunkIn.getPos(); int i = chunkpos.x; int j = chunkpos.z; SharedSeedRandom sharedseedrandom = new SharedSeedRandom(); sharedseedrandom.setBaseChunkSeed(i, j); ChunkPos chunkpos1 = chunkIn.getPos(); int k = chunkpos1.getXStart(); int l = chunkpos1.getZStart(); double d0 = 0.0625D; Biome[] abiome = chunkIn.getBiomes(); for(int i1 = 0; i1 < 16; ++i1) { for(int j1 = 0; j1 < 16; ++j1) { int k1 = k + i1; int l1 = l + j1; int i2 = chunkIn.getTopBlockY(Heightmap.Type.WORLD_SURFACE_WG, i1, j1) + 1; double d1 = this.surfaceDepthNoise.noiseAt((double)k1 * 0.0625D, (double)l1 * 0.0625D, 0.0625D, (double)i1 * 0.0625D); abiome[j1 * 16 + i1].buildSurface(sharedseedrandom, chunkIn, k1, l1, i2, d1, this.getSettings().getDefaultBlock(), this.getSettings().getDefaultFluid(), this.getSeaLevel(), this.world.getSeed()); } } this.makeBedrock(chunkIn, sharedseedrandom); } But I'm not sure what to change
  3. I've already done the bedrock thing, that works fine. The CaveWorldCarver is a biome specific thing, and I know it's not the thing that controls if there's a roof or not as I replaced my biome with an OceanBiome and it still had a roof. I'm fairly sure it's in either the chunk generator or the noise chunk generator, but both have like 4 methods that are incomprehensible.
  4. I've already made my own chunk generator and all that, but the vanilla code is super confusing and like 90% of the variables are obfuscated even with updated mappings. Also it's a crap ton of math functions that I don't think I could realistically comprehend.
  5. I basically copy pasted all the code necessary for a dimension based on the Nether, but I'm now trying to figure out how to make it have an open top/roof. I tried overriding isSurfaceWorld, but that doesn't seem to work. Any ideas?

Important Information

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

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.