jsorrell / CarpetSkyAdditions

Empty world generation with new ways to obtain resources
MIT License
455 stars 93 forks source link

Customize the spawn platform? #93

Closed Usercyk closed 1 year ago

Usercyk commented 1 year ago

1.18.2 Could I customize the spawn platform? And how can I do that? For example, remove the nyliums, only 9 grass block, change the position of y-axis to -64...... Now I need to build the platform in creative mode every time I create a new world...That's too inconvenient.

jsorrell commented 1 year ago

A datapack overriding skyblock/structures/spawn_platform.nbt (carpetskyadditions/structures/spawn_platform.nbt since 4.1.0) with a structure file will change the spawn platform.

The origin of the platform is currently hardcoded as -(4,1,1) from the worldspawn, so it can't be lowered.

You'll have to run a "clone move" command to lower it. You can do this using the tick function of datapacks to run when the world first loads. I can help you with this if you want.

jsorrell commented 1 year ago

In future versions I'll add a way to customize where the spawn platform spawns in relation to the world spawn or in absolute position.

Usercyk commented 1 year ago

Oh thank you. I know nothing about the tick function, so could you help me about this, please? And is the nbt file created by the structure block?

jsorrell commented 1 year ago

Here is a datapack that should work for most spawn platforms. It essentially moves a 20 block square around the worldspawn down to -64 and tp's the player down. It uses the scoreboard to only do this on the first tick of the world.

The nbt file is placed into your [world folder]/generated when you save your structure with a structure block. Replace data/skyblock/structures/spawn_platform.nbt in the datapack with the structure file for your spawn platform.

You can disable this datapack after the first tick of the world if you want.

skyblock_lowerspawn.zip

Usercyk commented 1 year ago

Many thanks for your kind and warm help.