I need to scatter a specific floating-island structure (stored in a structure file in a datapack) randomly throughout the overworld, so that there is one island approximately every 1000 blocks in any direction. I know that I'll need to run a function to place the structure blocks for the structure at the position of armorstands, which are flung out across the world using /spreadplayers, but I don't know how to make them "generate in" naturally when the player enters new chunks. The /spreadplayers command allows me to spread a number of armorstands over an area with a minimum distance in between them, but I can't just do it out to the world limit.

The chunk format wiki page has tags for how long a chunk has been inhabited by players and stuff like heightmaps to know if the island will conflict with a mountain (I would prefer to only spawn the islands in in low-lying places for maximum effect), but I don't know of any way to access them dynamically ingame. Assuming I could test the InhabitedTime: of a chunk, I still don't really know how that might help me accomplish this: I just put it in here in case it gives anyone else an idea.

I'm really quite stuck and any help on how to do this would be appreciated.

  • 2
    I don't know a good way either, but there once was the "gamemode 4" project which changed the world with command blocks, including icy caves, custom structures, gameplay changed, etc., maybe you can get some ideas from their commands (which are probably not updated to 1.13). – Fabian Röling Aug 5 at 9:17
  • 1
    @FabianRöling Gamemode 4 does appear to have updated to 1.14, and its Orbis module appears to be what this question is asking for. – pppery Aug 8 at 2:16
  • @pppery Yeah so I downloaded that, but unfortunately I don't really understand what it's doing. Apparently, an area effect cloud is spawned in recursively in every chunk surrounding the player, and it spawns in a structure based on the block at a specific Y value? I joined their discord and talked to some people about it, so hopefully I'll learn the ways soon and report back here. – Nik3141 Aug 8 at 5:58

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.