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.

Leaderboard

Popular Content

Showing content with the highest reputation on 07/22/22 in Posts

  1. create before the loops a new BlockPos.MutableBlockPos, and before you remove the Block you move the BlockPos.MutableBlockPos via BlockPos.MutableBlockPos#move to it's new Position i would recommend you to take a look at the usage of for loops and how to use the "index value" of the for loop
  2. you removing 10*10*10 Blocks each click, this are 1000 Blocks i think this is a performance issue, you can use a BlockPos.MutableBlockPos instead of evertime a new BlockPos Do you know basic java, usage of the for loop?
  3. i think you forgot the !, since removing Blocks is always done on server
  4. The biomes and other worldgen can be found in MinecraftServer.registryAccess(). You can't add to these registries after loading, they are frozen. I don't know why you want to? The objects are already clones of the builtin registry objects or made from "whole cloth" and are specific to that world save. Like I said above, there is a way to modify biomes during loading - BiomeLoadingEvent. If you have your own ChunkGenerator then you can make your own BiomeSource to choose which biomes to use.
  5. This description is going to be very high level and gloss over many details: Worlds (see WorldStem) are made up of dimensions/levels (see LevelStem). Within the LevelStem is a ChunkGenerator that has BiomeSource. this is what determines which biomes are in a dimension. If you look inside Terralith you will see it has a data/minecraft/dimension_type/overworld.json that is the configuration override for the vanilla overworld defined in the builtin registry. See https://minecraft.fandom.com/wiki/Custom_dimension for the format. It then defines a bunch of biomes jsons that are referenced in that overworld.json which will in turn reference other world gen components in the datapack. NOTE: This also includes tags to reference groups of biomes. See other pages on the same wiki for the formats. As you have determined this data is not loaded until the world creation screen (or first server load). The process is to load copies of the builtin registries then override these objects with the datapacks. The worldgen data is then stored in the world's save folder. This datapack data for worldgen are not referenced again on subsequent loads. It is fixed at world creation. I am not sure what you mean by "clone and modify" a biome. You can modify a Biome using the BiomeLoadingEvent, but this won't make a new one. To do that you need to provide a new resource from a datapack. One thing you are going to need to do is override terralith's overworld definition if you want new biomes in the overworld. This will likely involve you using the AddPackFindersEvent to add a new RepositorySource. This will define a pack at the "TOP" of the datapacks list (as seen from the create new world screen's datapacks button) which contains the new definition. It's a bit of a rabbit hole the way this works. ๐Ÿ™‚ You might find a simpler solution is to just write your own datapack? Forge mods are datapacks so its an easy way to install them.

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.