diff --git a/.nojekyll b/.nojekyll new file mode 100644 index 0000000..e69de29 diff --git a/1.19.x/404.html b/1.19.x/404.html new file mode 100755 index 0000000..fdf9033 --- /dev/null +++ b/1.19.x/404.html @@ -0,0 +1,2991 @@ + + + +
+ + + + + + + + + + + + + +Analyzer isn't maintained anymore.
+It simply adds 5 commands, mainly made for Bongo. This +feature was added by the mod itself, but made much better.
+/analyzer items
Prints all items in config/analyzer/items.txt
/analyzer entities
Prints all monsters/animals in config/analyzer/entities.txt
/analyzer biomes
Prints all biomes in config/analyzer/biomes.txt
/analyzer advancements
Prints all advancements in config/analyzer/advancements.txt
/analyzer potions
config/analyzer/potions.txt
Example output: +
...
+minecraft:melon
+minecraft:melon_seeds
+minecraft:melon_slice
+minecraft:milk_bucket
+minecraft:minecart
+...
+
This mod was made for SpookyJam 2021. +It contains a ghost which could spawn at night. +The chance for being summoned is configurable. +This was my first mod which added a custom living entity.
+Default chance is 0.1% each tick that a ghost spawns next to you.
+The health increases by attacking other players and entities. It decreases when you get damage. +The health can also be configured by a multiplier in the config.
+Each player can only have one ghost each night.
+If the ghost kills you, it will stay in the world and fly around a bit, without targeting other players. +The ghost disappears after (default) 60 seconds.
+It will steal you a random item when it kills you (configurable). This item will be dropped when the ghost disappears +or dies.
+The ghost drops 1 to 2 enchanted books with a random enchantment. For each book, there is a 5% chance that the +enchantment level is the highest possible level for this enchantment. If you'd get this book, you also have a 50% chance +that the level is max level + 1.
+The ghost disappears at day (configurable).
+If you want to disable the ghost in any dimension, there's a list in the config for that.
+ + +This mod adds a layer of challenge and unpredictability to gameplay. It applies random curses to random +items on random times to the player. For adjusting the chance, please use the config file.
+You can set the number of "danger times" during a Minecraft day when curses can be applied. By default, there are 3 +danger times between ticks 18000 and 21000. At these specified ticks, each player has a chance to receive curses based +on the configured probability. The default chance is 1% for each item, and the curses will continue to be applied to +multiple items unless configured otherwise.
+Curse of Curses not only applies curses to normal items but also to already cursed items. If there is no matching curse +available for a particular item, it will not receive an additional curse.
+For players who wish to escape the curses, Curse of Curses includes a feature that applies curses while sleeping. By +default, this feature is enabled. If you only want to punish players who sleep multiple times, you can set a row count, +and curses will only be applied after a specific number of sleeps.
+If there are specific curses that you do not want to be applied by this mod, you can use the denylistedCurses
option in
+the config file. Simply add the curses you want to ignore to the denylist. For example:
"minecraft:*"
-> ignores all curses added by Minecraft"minecraft:binding_curse"
-> ignores Curse of BindingThere are also pre-defined cases where you can choose from. These are EVERY_NIGHT
, FULL_MOON
, and NEW_MOON
.
+For FULL_MOON
and NEW_MOON
, the curses will only be applied when the moon is full or empty.
Feel free to customize these configuration options to suit your desired gameplay experience.
+ +A mod which adds a new trader to the game.
+The trader can receive an ID for a trader offers "recipe". This is a list of single trader offer
s. An example
+file could look like this:
{
+ "Offers": [
+ {
+ "buy": {
+ "tag": "forge:gems/diamond",
+ "count": 3
+ },
+ "buyB": {
+ "item": "minecraft:wooden_pickaxe"
+ },
+ "sell": {
+ "item": "minecraft:diamond_pickaxe",
+ "nbt": "{Damage:0,Enchantments:[{id:\"minecraft:efficiency\",lvl:2},{id:\"minecraft:unbreaking\", lvl:10}]}"
+ },
+ "rewardExp": false,
+ "xp": 0
+ }
+ ]
+}
+
This example includes only one merchant offer. The trader will sell the item in sell
.
The player needs to provide the item in buy
and buyB
to receive the item.
+maxUses
is the amount of times the player can use this trade before the trader needs to restock.
If rewardExp
is true, the player will receive xp points for each trade, amount defined in xp
.
+The following values are required:
buy
sell
The default values are:
+Name | +Default value | +
---|---|
buyB |
+Air | +
rewardExp |
+false | +
xp |
+0 | +
You use a data pack to provide these files. These are located at <modid>/trader_offers/
. An example can be found
+here.
You spawn the trader using the /summon
command, or by using the spawn egg. After this, you use the command
+/datatrader setOffer @e <modid>:<path>
to set the recipe. This can also be done by datapacks.
+For a normal trader, I recommend setting NoAI
to true
.
You can also summon a trader with a specific trading table by using the
+command /datatrader summon ~ ~ ~ <offer_id> <NoAI>
Just put a texture to <modid>:textures/entity/trader/<offer_id path>.png
. This texture should be something like the
+profession overlay texture, e.g. minecraft:textures/entity/villager/profession/cleric.png
.
A client-only mod to pre-define world presets for modpacks.
+When you start the game and navigate to the world creation screen, it will generate a file at
+<instance>/config/defaultworldtype/world-types.txt
which contains all possible values for the config. You can choose
+any value and set it in the config file. This world preset will be automatically selected when a player opens the world
+creation screen.
This mod is mainly for modpack creators, normal users which want to combine a few mods don't need it. *Unless they want +to create a lot of worlds with a special world preset.
+ +Mining in batches is possible and handy in some cases. This mod allows it!
+Alt
).The key is called Multimine
in the category Excavar
.
As you can see in this image, you'll see a preview of targeted blocks. This highlighting may be incorrect if you have +an enchantment like Unbreaking on your tool.
+ +Additionally, you see the "Selected shape" is set to "Shapeless". Shapes can be added by other mods. Builtin the mod, +there are two different shapes:
+Switching the shape can be done by holding the Multimine button (default: left Alt
) while sneaking and scrolling.
onlyWhileSneaking
(default: false
).preventToolsBreaking
(default: true
). This will stop the
+ mining if the tool reaches 1 durability.enableOutline
(default: true
).considerDurability
(default: false
). This would
+ cause the highlighting to stop after the item would break. May be inaccurate with some enchantments.The server config file is stored in each world separately. You can find it after creating/joining the world in
+.minecraft/saves/<world name>/serverconfig/excavar-server.toml
. If you want to provide a default config for each world
+(maybe for modpacks), put that file with changed values in .minecraft/defaultconfigs/
.
blockLimit
(default: 16
).requiresCorrectTool
(default: true
).
+ The player will still be able to mine logs by hand, but stone will need a pickaxe (or other valid tool).disableDiagonals
(default: false
).
+ Below, you can see an example. Imagine the bedrock is the block you're targeting. The magenta glass would be the
+ blocks which will be found additionally for that one specific block.Enabled (default) | +Disabled | +
---|---|
+ | + |
allowShapeSelection
(default: true
).allowedBlocks
(default: ALL
). All allowed values:ALL
- all blocks can be mined with ExcavarORES
- only ores (blocks with tag #forge:ores
) can be mined with ExcavarLOGS
- only logs (blocks with tag #minecraft:logs
) can be mined with ExcavarORES_AND_LOGS
- ORES
and LOGS
combineddeniedTools
. For that, you can use *
as a
+ wildcard, for example "minecraft:*_pickace"
would disable all vanilla pickaxes.{yt_video}
+ +{header}
+Welcome to the home of explanation of ChaoticTrials' mods. Here you can find explanation about nearly everything.
+Currently, this wiki page is still in development. That means, this will be filled with information one by one. If you +want to help to fill this wiki, you're free to create pull requests. You can always see which mod was even be started +to work on by looking at the left sidebar.
+All the wikis here should target the latest version of the mod.
+Below, you can find all mods with links to their wiki pages (even if they have a separate page), the CurseForge download +count (+ link to project), Modrinth download count (+ link to project), and link to GitHub repository.
+All mods can be found in my Maven, you can find it here. Add this to your repositories: +{maven} +Mirror:
+{table}
+ +Sometimes, it's difficult to find out what exactly is needed to complete advancements. This mod helps you to keep track, +and see dependencies for advancements, even if you can't see it in the advancements tab. You can search for it via +Just Enough Items.
+ + +This mod was mainly created to fix the problem with recipes where the ingredients should not have any nbt data. This block +simply removes the nbt from the items. +
+The mod was the first of my mods which included a real tile entity. (Except Present Stand +but that's another story)
+It's not recommended to use this mod as it's deleting items sometimes. Could be very... annoying. Seriously, don't use it.
+ +SStop asking when something is ready. It's ready when it's ready. You can keep track of the progress here. +I might do things earlier than they are planned if I have to wait for my dependencies to be ported. +The order of mods is alphabetically only. This is not the order in which mods will be ported.
+All my mods in 1.17+ are also be available on Modrinth.
+⭕ Not started yet
+🔁 In progress
+✔ Done
+These mods might not be ported at all. If they are ported then probably roughly in this order:
+ +These mods are not being ported to 1.17. At least not by me. Don't ask for them. If you really want them, learn modding +and do it yourself.
+ +This porting list was made by noeppi_noeppi first, and I stole it because I liked it
+ +Stop asking when something is ready. It's ready when it's ready. You can keep track of the progress here. +I might do things earlier than they are planned if I have to wait for my dependencies to be ported. +The order of mods is alphabetically only. This is not the order in which mods will be ported.
+All my mods in the 1.17 "Mods that won't be ported" +list will not be ported to 1.18 either.
+All my mods in 1.17+ are also be available on Modrinth.
+⭕ Not started yet
+🔁 In progress
+✔ Done
+These mods might not be ported at all. If they are ported then probably roughly in this order:
+These mods are not being ported to 1.18. At least not by me. Don't ask for them. If you really want them, learn modding +and do it yourself.
+ +This porting list was made by noeppi_noeppi first, and I stole it because I liked it
+ +Stop asking when something is ready. It's ready when it's ready. You can keep track of the progress here. +I might do things earlier than they are planned if I have to wait for my dependencies to be ported. +The order of mods is alphabetically only. This is not the order in which mods will be ported.
+All my mods in the 1.18 "Mods that won't be ported" +list will not be ported to 1.19 either.
+All my mods in 1.17+ are also be available on Modrinth.
+By releasing of 1.19, none of my mods will receive any update for 1.17 and below anymore. Bug fixes will be provided +for 1.18 if necessary.
+⭕ Not started yet
+🔁 In progress
+✔ Done
+These mods might not be ported at all. If they are ported then probably roughly in this order:
+These mods are not being ported to 1.19. At least not by me. Don't ask for them. If you really want them, learn modding +and do it yourself.
+This porting list was made by noeppi_noeppi first, and I stole it because I liked it
+ +Stop asking when something is ready. It's ready when it's ready. You can keep track of the progress here. +I might do things earlier than they are planned if I have to wait for my dependencies to be ported. +The order of mods is alphabetically only. This is not the order in which mods will be ported.
+All my mods in the 1.19 "Mods that won't be ported" +list will not be ported to 1.20 either.
+All my mods in 1.17+ are also be available on Modrinth.
+By releasing of 1.20, none of my mods will receive any updates for 1.18 and below anymore. Bug fixes will be provided +for 1.19 if necessary.
+⭕ Not started yet
+🔁 In progress
+✔ Done
+These mods might not be ported at all. If they are ported then probably roughly in this order:
+These mods are not being ported to 1.20. At least not by me. Don't ask for them. If you really want them, learn modding +and do it yourself.
+This porting list was made by noeppi_noeppi first, and I stole it because I liked it
+ +IMPORTANT NOTE: Recently, I'm struggling if I still want to create and maintain my mods. It's still fun and I think +that I will still maintain it, even for newer versions. Because of less motivation than before, some mods will take +longer than before. Please, still report any problems! I'm still trying to fix everything.
+It's likely that I'm focussing on supporting NeoForge only. I'm still unsure about supporting +good old Forge.
+Stop asking when something is ready. It's ready when it's ready. You can keep track of the progress +here. I might do things earlier than they are planned if +I have to wait for my dependencies to be ported. The order of mods is alphabetically only. This is not the order in +which mods will be ported.
+All my mods in 1.17+ are also be available on Modrinth.
+By releasing of 1.21, none of my mods will receive any updates for 1.19 and below anymore. Bug fixes will be provided +for 1.20 if necessary. Critical bugs will be fixed in 1.19 as well.
+⭕ Not started yet
+🔁 In progress
+✔ Done
+These mods might not be ported at all. If they are ported then probably roughly in this order:
+These mods are not being ported to 1.21. At least not by me. Don't ask for them. If you really want them, learn modding +and do it yourself.
+This porting list was made by noeppi_noeppi first, and I stole it because I liked it
+ +{header}
"},{"location":"#mod-wikis","title":"Mod Wikis","text":"Welcome to the home of explanation of ChaoticTrials' mods. Here you can find explanation about nearly everything.
Currently, this wiki page is still in development. That means, this will be filled with information one by one. If you want to help to fill this wiki, you're free to create pull requests. You can always see which mod was even be started to work on by looking at the left sidebar.
All the wikis here should target the latest version of the mod.
Below, you can find all mods with links to their wiki pages (even if they have a separate page), the CurseForge download count (+ link to project), Modrinth download count (+ link to project), and link to GitHub repository.
"},{"location":"#maven","title":"Maven","text":"All mods can be found in my Maven, you can find it here. Add this to your repositories: {maven} Mirror:
"},{"location":"#all-my-mods","title":"All my mods","text":"{table}
"},{"location":"analyzer/","title":"Analyzer","text":"Analyzer isn't maintained anymore.
It simply adds 5 commands, mainly made for Bongo. This feature was added by the mod itself, but made much better.
/analyzer items
Prints all items in config/analyzer/items.txt
/analyzer entities
Prints all monsters/animals in config/analyzer/entities.txt
/analyzer biomes
Prints all biomes in config/analyzer/biomes.txt
/analyzer advancements
Prints all advancements in config/analyzer/advancements.txt
/analyzer potions
config/analyzer/potions.txt
Example output:
...\nminecraft:melon\nminecraft:melon_seeds\nminecraft:melon_slice\nminecraft:milk_bucket\nminecraft:minecart\n...\n
"},{"location":"boohoo/","title":"Boohoo!","text":"This mod was made for SpookyJam 2021. It contains a ghost which could spawn at night. The chance for being summoned is configurable. This was my first mod which added a custom living entity.
Default chance is 0.1% each tick that a ghost spawns next to you.
The health increases by attacking other players and entities. It decreases when you get damage. The health can also be configured by a multiplier in the config.
Each player can only have one ghost each night.
If the ghost kills you, it will stay in the world and fly around a bit, without targeting other players. The ghost disappears after (default) 60 seconds.
It will steal you a random item when it kills you (configurable). This item will be dropped when the ghost disappears or dies.
The ghost drops 1 to 2 enchanted books with a random enchantment. For each book, there is a 5% chance that the enchantment level is the highest possible level for this enchantment. If you'd get this book, you also have a 50% chance that the level is max level + 1.
The ghost disappears at day (configurable).
If you want to disable the ghost in any dimension, there's a list in the config for that.
"},{"location":"curse-of-curses/","title":"Curse of Curses","text":""},{"location":"curse-of-curses/#config","title":"Config","text":"This mod adds a layer of challenge and unpredictability to gameplay. It applies random curses to random items on random times to the player. For adjusting the chance, please use the config file.
"},{"location":"curse-of-curses/#danger-times","title":"Danger times","text":"You can set the number of \"danger times\" during a Minecraft day when curses can be applied. By default, there are 3 danger times between ticks 18000 and 21000. At these specified ticks, each player has a chance to receive curses based on the configured probability. The default chance is 1% for each item, and the curses will continue to be applied to multiple items unless configured otherwise.
"},{"location":"curse-of-curses/#cursed-items","title":"Cursed Items","text":"Curse of Curses not only applies curses to normal items but also to already cursed items. If there is no matching curse available for a particular item, it will not receive an additional curse.
"},{"location":"curse-of-curses/#cursed-sleep","title":"Cursed Sleep","text":"For players who wish to escape the curses, Curse of Curses includes a feature that applies curses while sleeping. By default, this feature is enabled. If you only want to punish players who sleep multiple times, you can set a row count, and curses will only be applied after a specific number of sleeps.
"},{"location":"curse-of-curses/#denylisted-curses","title":"Denylisted Curses","text":"If there are specific curses that you do not want to be applied by this mod, you can use the denylistedCurses
option in the config file. Simply add the curses you want to ignore to the denylist. For example:
\"minecraft:*\"
-> ignores all curses added by Minecraft\"minecraft:binding_curse\"
-> ignores Curse of BindingThere are also pre-defined cases where you can choose from. These are EVERY_NIGHT
, FULL_MOON
, and NEW_MOON
. For FULL_MOON
and NEW_MOON
, the curses will only be applied when the moon is full or empty.
Feel free to customize these configuration options to suit your desired gameplay experience.
"},{"location":"data-trader/","title":"Data Trader","text":"A mod which adds a new trader to the game.
"},{"location":"data-trader/#file-structure","title":"File structure","text":"The trader can receive an ID for a trader offers \"recipe\". This is a list of single trader offer
s. An example file could look like this:
{\n\"Offers\": [\n{\n\"buy\": {\n\"tag\": \"forge:gems/diamond\",\n\"count\": 3\n},\n\"buyB\": {\n\"item\": \"minecraft:wooden_pickaxe\"\n},\n\"sell\": {\n\"item\": \"minecraft:diamond_pickaxe\",\n\"nbt\": \"{Damage:0,Enchantments:[{id:\\\"minecraft:efficiency\\\",lvl:2},{id:\\\"minecraft:unbreaking\\\", lvl:10}]}\"\n},\n\"rewardExp\": false,\n\"xp\": 0\n}\n]\n}\n
This example includes only one merchant offer. The trader will sell the item in sell
.
The player needs to provide the item in buy
and buyB
to receive the item. maxUses
is the amount of times the player can use this trade before the trader needs to restock.
If rewardExp
is true, the player will receive xp points for each trade, amount defined in xp
.
The following values are required:
buy
sell
The default values are:
Name Default valuebuyB
Air rewardExp
false xp
0"},{"location":"data-trader/#where-to-put-it-in","title":"Where to put it in?","text":"You use a data pack to provide these files. These are located at <modid>/trader_offers/
. An example can be found here.
You spawn the trader using the /summon
command, or by using the spawn egg. After this, you use the command /datatrader setOffer @e <modid>:<path>
to set the recipe. This can also be done by datapacks. For a normal trader, I recommend setting NoAI
to true
.
You can also summon a trader with a specific trading table by using the command /datatrader summon ~ ~ ~ <offer_id> <NoAI>
Just put a texture to <modid>:textures/entity/trader/<offer_id path>.png
. This texture should be something like the profession overlay texture, e.g. minecraft:textures/entity/villager/profession/cleric.png
.
A client-only mod to pre-define world presets for modpacks. When you start the game and navigate to the world creation screen, it will generate a file at <instance>/config/defaultworldtype/world-types.txt
which contains all possible values for the config. You can choose any value and set it in the config file. This world preset will be automatically selected when a player opens the world creation screen.
This mod is mainly for modpack creators, normal users which want to combine a few mods don't need it. *Unless they want to create a lot of worlds with a special world preset.
"},{"location":"excavar/","title":"Excavar","text":"Mining in batches is possible and handy in some cases. This mod allows it!
"},{"location":"excavar/#how-to-use","title":"How to use","text":"Alt
).The key is called Multimine
in the category Excavar
.
As you can see in this image, you'll see a preview of targeted blocks. This highlighting may be incorrect if you have an enchantment like Unbreaking on your tool.
Additionally, you see the \"Selected shape\" is set to \"Shapeless\". Shapes can be added by other mods. Builtin the mod, there are two different shapes:
Switching the shape can be done by holding the Multimine button (default: left Alt
) while sneaking and scrolling.
onlyWhileSneaking
(default: false
).preventToolsBreaking
(default: true
). This will stop the mining if the tool reaches 1 durability.enableOutline
(default: true
).considerDurability
(default: false
). This would cause the highlighting to stop after the item would break. May be inaccurate with some enchantments.The server config file is stored in each world separately. You can find it after creating/joining the world in .minecraft/saves/<world name>/serverconfig/excavar-server.toml
. If you want to provide a default config for each world (maybe for modpacks), put that file with changed values in .minecraft/defaultconfigs/
.
blockLimit
(default: 16
).requiresCorrectTool
(default: true
). The player will still be able to mine logs by hand, but stone will need a pickaxe (or other valid tool).disableDiagonals
(default: false
). Below, you can see an example. Imagine the bedrock is the block you're targeting. The magenta glass would be the blocks which will be found additionally for that one specific block.allowShapeSelection
(default: true
).allowedBlocks
(default: ALL
). All allowed values:ALL
- all blocks can be mined with ExcavarORES
- only ores (blocks with tag #forge:ores
) can be mined with ExcavarLOGS
- only logs (blocks with tag #minecraft:logs
) can be mined with ExcavarORES_AND_LOGS
- ORES
and LOGS
combineddeniedTools
. For that, you can use *
as a wildcard, for example \"minecraft:*_pickace\"
would disable all vanilla pickaxes.{yt_video}
"},{"location":"jea/","title":"Just Enough Advancements","text":"Sometimes, it's difficult to find out what exactly is needed to complete advancements. This mod helps you to keep track, and see dependencies for advancements, even if you can't see it in the advancements tab. You can search for it via Just Enough Items.
"},{"location":"nbt-remover/","title":"NBT Remover","text":"This mod was mainly created to fix the problem with recipes where the ingredients should not have any nbt data. This block simply removes the nbt from the items.
The mod was the first of my mods which included a real tile entity. (Except Present Stand but that's another story)
It's not recommended to use this mod as it's deleting items sometimes. Could be very... annoying. Seriously, don't use it.
"},{"location":"porting-information/1.17/","title":"Order in which MelanX' mods are ported to 1.17","text":"SStop asking when something is ready. It's ready when it's ready. You can keep track of the progress here. I might do things earlier than they are planned if I have to wait for my dependencies to be ported. The order of mods is alphabetically only. This is not the order in which mods will be ported.
All my mods in 1.17+ are also be available on Modrinth.
\u2b55 Not started yet
\ud83d\udd01 In progress
\u2714 Done
"},{"location":"porting-information/1.17/#mods-while-waiting-for-dependencies","title":"Mods while waiting for dependencies","text":"These mods might not be ported at all. If they are ported then probably roughly in this order:
These mods are not being ported to 1.17. At least not by me. Don't ask for them. If you really want them, learn modding and do it yourself.
This porting list was made by noeppi_noeppi first, and I stole it because I liked it
"},{"location":"porting-information/1.18/","title":"Order in which MelanX' mods are ported to 1.18","text":"Stop asking when something is ready. It's ready when it's ready. You can keep track of the progress here. I might do things earlier than they are planned if I have to wait for my dependencies to be ported. The order of mods is alphabetically only. This is not the order in which mods will be ported.
All my mods in the 1.17 \"Mods that won't be ported\" list will not be ported to 1.18 either.
All my mods in 1.17+ are also be available on Modrinth.
\u2b55 Not started yet
\ud83d\udd01 In progress
\u2714 Done
"},{"location":"porting-information/1.18/#mods-while-waiting-for-dependencies","title":"Mods while waiting for dependencies","text":"These mods might not be ported at all. If they are ported then probably roughly in this order:
These mods are not being ported to 1.18. At least not by me. Don't ask for them. If you really want them, learn modding and do it yourself.
This porting list was made by noeppi_noeppi first, and I stole it because I liked it
"},{"location":"porting-information/1.19/","title":"Order in which MelanX' mods are ported to 1.19","text":"Stop asking when something is ready. It's ready when it's ready. You can keep track of the progress here. I might do things earlier than they are planned if I have to wait for my dependencies to be ported. The order of mods is alphabetically only. This is not the order in which mods will be ported.
All my mods in the 1.18 \"Mods that won't be ported\" list will not be ported to 1.19 either.
All my mods in 1.17+ are also be available on Modrinth.
By releasing of 1.19, none of my mods will receive any update for 1.17 and below anymore. Bug fixes will be provided for 1.18 if necessary.
\u2b55 Not started yet
\ud83d\udd01 In progress
\u2714 Done
"},{"location":"porting-information/1.19/#mods-while-waiting-for-dependencies","title":"Mods while waiting for dependencies","text":"These mods might not be ported at all. If they are ported then probably roughly in this order:
These mods are not being ported to 1.19. At least not by me. Don't ask for them. If you really want them, learn modding and do it yourself.
This porting list was made by noeppi_noeppi first, and I stole it because I liked it
"},{"location":"porting-information/1.20/","title":"MelanX's mods which will be ported to 1.20","text":"Stop asking when something is ready. It's ready when it's ready. You can keep track of the progress here. I might do things earlier than they are planned if I have to wait for my dependencies to be ported. The order of mods is alphabetically only. This is not the order in which mods will be ported.
All my mods in the 1.19 \"Mods that won't be ported\" list will not be ported to 1.20 either.
All my mods in 1.17+ are also be available on Modrinth.
By releasing of 1.20, none of my mods will receive any updates for 1.18 and below anymore. Bug fixes will be provided for 1.19 if necessary.
\u2b55 Not started yet
\ud83d\udd01 In progress
\u2714 Done
"},{"location":"porting-information/1.20/#mods-while-waiting-for-dependencies","title":"Mods while waiting for dependencies","text":"These mods might not be ported at all. If they are ported then probably roughly in this order:
These mods are not being ported to 1.20. At least not by me. Don't ask for them. If you really want them, learn modding and do it yourself.
This porting list was made by noeppi_noeppi first, and I stole it because I liked it
"},{"location":"porting-information/1.21/","title":"MelanX's mods which will be ported to 1.21","text":"IMPORTANT NOTE: Recently, I'm struggling if I still want to create and maintain my mods. It's still fun and I think that I will still maintain it, even for newer versions. Because of less motivation than before, some mods will take longer than before. Please, still report any problems! I'm still trying to fix everything.
It's likely that I'm focussing on supporting NeoForge only. I'm still unsure about supporting good old Forge.
Stop asking when something is ready. It's ready when it's ready. You can keep track of the progress here. I might do things earlier than they are planned if I have to wait for my dependencies to be ported. The order of mods is alphabetically only. This is not the order in which mods will be ported.
All my mods in 1.17+ are also be available on Modrinth.
By releasing of 1.21, none of my mods will receive any updates for 1.19 and below anymore. Bug fixes will be provided for 1.20 if necessary. Critical bugs will be fixed in 1.19 as well.
\u2b55 Not started yet
\ud83d\udd01 In progress
\u2714 Done
"},{"location":"porting-information/1.21/#mods-while-waiting-for-dependencies","title":"Mods while waiting for dependencies","text":"These mods might not be ported at all. If they are ported then probably roughly in this order:
These mods are not being ported to 1.21. At least not by me. Don't ask for them. If you really want them, learn modding and do it yourself.
This porting list was made by noeppi_noeppi first, and I stole it because I liked it
"},{"location":"present-stand/","title":"Present Stand","text":"You want to show off your cool items? Just place it in a present stand by right-clicking. Uses vanilla textures.
"},{"location":"skyblock-builder/","title":"Skyblock Builder","text":"Welcome to the wiki page of the awesome Skyblock mod Skyblock Builder by MelanX. Use the left sidebar to browse everything. You could also use the search bar on top of the site to search for a special thing.
There are also examples provided for each version. There are also contained downloads which can be used as reference. You may use them to look at the files to see the config, and look in game to see what this will change. The configs in the download does only contain changes. Default values are not included in the downloads.
"},{"location":"skyblock-builder/#you-want-to-help-improve-the-mod","title":"You want to help improve the mod?","text":"The easiest way to contribute is to report bugs and suggestions to GitHub.
Another way is to translate the mod! For this, you could also use GitHub. This is the easiest way for me, and you will be marked as contributor on GitHub. Another way is to use OneSky. This way, I will download the file once the language has more than 90% translated.
"},{"location":"skyblock-builder/1.16.x/api/","title":"Adding compat as mod dev","text":""},{"location":"skyblock-builder/1.16.x/api/#disable-team-management","title":"Disable team management","text":"You can use the API to disable team management without the config needs to be changed. Additionally, you can disable that players will be teleported to spawn when joining the world.
For more information about this, look here \ud83d\udd17. You can call this in the main constructor of your mod.
"},{"location":"skyblock-builder/1.16.x/api/#custom-forge-events","title":"Custom Forge Events","text":"Skyblock Builder fires several events which you can subscribe like normal Forge events. These are all events:
All events do have proper Javadoc which describe what they do.
"},{"location":"skyblock-builder/1.16.x/compat/","title":"Compatability with other mods","text":""},{"location":"skyblock-builder/1.16.x/compat/#minemention","title":"MineMention","text":"This mod is compatible with MineMention \ud83d\udd17. To write in the teams chat, you can use skyblockbuilder:sky_team
in MineMention config file. This would look like this:
{\n\"mentions\": {\n\"everyone\": \"minemention:everyone\",\n\"here\": \"minemention:here\",\n\"team\": \"skyblockbuilder:sky_team\"\n}\n}\n
"},{"location":"skyblock-builder/1.16.x/config/dimensions/","title":"Dimensions","text":""},{"location":"skyblock-builder/1.16.x/config/dimensions/#overworld","title":"Overworld","text":"Here you can set if the overworld should generate as in a normal world. This will ignore the configured structures and features. This is useful when your starting dimension is not the overworld.
"},{"location":"skyblock-builder/1.16.x/config/dimensions/#the-nether","title":"The Nether","text":"Here you can set if the nether should generate as in a normal world. This will ignore the configured structures and features.
"},{"location":"skyblock-builder/1.16.x/config/dimensions/#the-end","title":"The End","text":"Here you can set if the end should generate as in a normal world. This will ignore the configured structures and features. Additionally, you can choose if the main island (with the dragon) should be generated or not.
"},{"location":"skyblock-builder/1.16.x/config/dimensions/#other-dimensions","title":"Other dimensions","text":"All other dimensions (added by datapacks, or other mods) will not be void and can't be configured. If you want compatability, ask the mod author of this mod or open an issue on GitHub \ud83d\udd17.
"},{"location":"skyblock-builder/1.16.x/config/inventory/","title":"Inventory","text":""},{"location":"skyblock-builder/1.16.x/config/inventory/#clear-inventory","title":"Clear inventory","text":"If this option is selected, the users inventory will be deleted when joining the world the first time. This is useful if you don't want that other mods give the player items like guide books.
Notice: This option will not affect the starting inventory.
"},{"location":"skyblock-builder/1.16.x/config/inventory/#dropping-inventory","title":"Dropping inventory","text":"If this option is selected, the users inventory will be dropped when leaving a team.
"},{"location":"skyblock-builder/1.16.x/config/inventory/#starting-inventory","title":"Starting inventory","text":"You can set a starting inventory by customising config/skyblockbuilder/starter_items.json
. These items will be given to the player only on initial joining world, not when joining a team. You can also set the items to a special slot with key Slot
.
Available values for the slots are:
mainhand
(default)offhand
head
chest
legs
feet
The config could look like this:
{\n\"items\": [\n{\n\"item\": \"minecraft:diamond_pickaxe\",\n\"nbt\": {\n\"Unbreakable\": true\n}\n},\n{\n\"item\": \"minecraft:bread\",\n\"count\": 32,\n\"Slot\": \"offhand\"\n}\n]\n}\n
If you want that every other item will be deleted, you can simply set the config option inventory.clear
to true. This will delete items like guide books or other things. That way, you don't have to go through all configs to enable these items and could just add them to the starter items.
This sets the dimension where you will spawn and the island be generated.
Values for vanilla dimensions:
minecraft:overworld
minecraft:the_nether
minecraft:the_end
This sets the direction in which the user will be looking at.
Allowed values:
north
east
south
west
This sets the bottom layer of the template.
This affects where exactly the island will be generated.
Range: 0-255
"},{"location":"skyblock-builder/1.16.x/config/spawn/#radius","title":"Radius","text":"The radius to find a valid spawn if no given spawn point is valid.
Minimum: 0
"},{"location":"skyblock-builder/1.16.x/config/structures/","title":"Structures","text":""},{"location":"skyblock-builder/1.16.x/config/structures/#generating-structures","title":"Generating Structures","text":"A list with all structures \ud83d\udd17 that should be generated. A list with all possible structures can be found in config/skyblockbuilder/structures.txt
. Some structures in the nether are being generated by default, but you could turn that off. Overworld only has the stronghold as default option.
This is a resource list. Read more about it here \ud83d\udd17.
"},{"location":"skyblock-builder/1.16.x/config/structures/#generating-features","title":"Generating Features","text":"A list with all features \ud83d\udd17 that should be generated. A list with all possible features can be found in config/skyblockbuilder/features.txt
. As you can read in the Minecraft Wiki article, features need special conditions to be generated properly. This can be done with the surface.
INFO: The two default values are required for the obsidian towers in end. If this is missing, they will be first generated when respawning the dragon.
This is a resource list. Read more about it here \ud83d\udd17.
"},{"location":"skyblock-builder/1.16.x/config/utility/","title":"Utility","text":""},{"location":"skyblock-builder/1.16.x/config/utility/#create-own-team","title":"Create own team","text":"This allows players to create their own team.
"},{"location":"skyblock-builder/1.16.x/config/utility/#self-managing","title":"Self managing","text":"Allows the player to use several commands. This includes these commands:
This allows players to modify spawns. Needs self managing to be enabled.
"},{"location":"skyblock-builder/1.16.x/config/utility/#range","title":"Range","text":"The distance from the island center where the users should be able to add spawns.
"},{"location":"skyblock-builder/1.16.x/config/utility/#teleports","title":"Teleports","text":""},{"location":"skyblock-builder/1.16.x/config/utility/#visits","title":"Visits","text":"Allows the player to visit other islands.
"},{"location":"skyblock-builder/1.16.x/config/utility/#home","title":"Home","text":"Allows the player to teleport back home.
"},{"location":"skyblock-builder/1.16.x/config/utility/#spawn","title":"Spawn","text":"Allows the player to teleport to the spawn island.
"},{"location":"skyblock-builder/1.16.x/config/world/","title":"World","text":""},{"location":"skyblock-builder/1.16.x/config/world/#biome-range","title":"Biome range","text":"The radius for the biomes to repeat. An area with the size of (by default) 8192x8192 will contain all the biomes in the world. If a biome isn't in this area, it's not in the world. It repeats after an invisible \"border\".
This feature can be disabled and the biomes will not repeat.
WARNING: Too small biome range will prevent some structures to generate, if structures are enabled, because some need a special biome! You may fix this by decreasing the structure modifier.
"},{"location":"skyblock-builder/1.16.x/config/world/#island-distance","title":"Island distance","text":"The distance between two islands. If you choose the_nether
as start dimension, it will be divided by 8.
The offset from 0, 0 to generate the islands. Can be used to generate them in the middle of .mca files.
"},{"location":"skyblock-builder/1.16.x/config/world/#sea-height","title":"Sea height","text":"The sea level in the world. This has nothing to do with the water height in the world. This does affect the spawn height of squids for example.
"},{"location":"skyblock-builder/1.16.x/config/world/#structure-modifier","title":"Structure modifier","text":"The modifier for spacing and separation of structures. These values can be defined by a data pack. However, this is a multiplier to change these values. Look here \ud83d\udd17 at biome_source.structures.structures
for more information about that.
Minimal spacing will be set to 1 if the modifier changes it to be lower than that. Minimal separation will be set to 0 if the modifier changes it to be lower than that.
This config option needs a full restart once you already joined a world.
"},{"location":"skyblock-builder/1.16.x/config/world/#surface","title":"Surface","text":"The block settings for generating the overworld surface. It's in the same format as flat world generation settings \ud83d\udd17, but will ignore the biome. You can set it for the overworld only. If the surface is disabled, it will ignore the setting.
"},{"location":"skyblock-builder/1.16.x/config/world/#single-biome","title":"Single biome","text":""},{"location":"skyblock-builder/1.16.x/config/world/#biome","title":"Biome","text":"Specifies the biome for a whole dimension. You can set the dimension you want. If you keep it as default
, the start dimension will be used.
Allowed values:
default
overworld
the_nether
the_end
WARNING: Some structures need a special biome, e.g. Mansion needs Dark Oak Forest! These structures will not be generated if you have only one biome!
"},{"location":"skyblock-builder/1.16.x/examples/hellblock/","title":"Hellblock","text":"Download
To create a hellblock like modpack, you can simply set the spawn dimension to minecraft:the_nether
as you can see in the config below.
config/skyblockbuilder/common-config.json5
:
{\n\"Spawn\": {\n\"dimension\": \"minecraft:the_nether\"\n}\n}\n
This world will have a default overworld and a default end. The nether is \"sky\". The image shows lava layers below the island but that's implemented in 1.17.1 and the image was made with this newer version. That means: no custom surface. I also added some structures for the nether. Because overworld is default, we don't have to care about the overworld structures and can just ignore them. They will be generated as normal.
Thanks to benbenlaw \ud83d\udd17 for giving me permission to use the template from his well known modpack Infernopolis \ud83d\udd17 for this example. I tweaked a bit more on the template to avoid using mod blocks.
"},{"location":"skyblock-builder/1.16.x/examples/seablock/","title":"Seablock","text":"Download
To create a seablock like modpack, you can simply set the surface settings as you can see in the config below.
config/skyblockbuilder/common-config.json5
:
{\n\"World\": {\n\"surface\": true,\n\"surfaceSettings\": \"minecraft:bedrock,100*minecraft:sandstone,4*minecraft:sand,23*minecraft:water\"\n}\n}\n
I added a lot of sandstone layers for the image. Additionally, in the download are a few more things changed. A few features and structures are enabled, too. The spawn height was changed to set the top of the island on top of the water layers.
Here you can also see the single biome option.
This example also contains the feature of multiple templates where you can see how to set it up correctly.
Thanks to benbenlaw \ud83d\udd17 for giving me permission to use the templates from his well known modpack Seaopolis \ud83d\udd17 for this example.
"},{"location":"skyblock-builder/1.16.x/examples/skyblock/","title":"Skyblock","text":"This is the default island when using the mod. You don't have to adjust any config for this. Just use it.
If you want another starting island, just replace the file config/skyblockbuilder/default.nbt
and adjust the spawns.
The next examples will contain downloads with all changed things.
"},{"location":"skyblock-builder/1.16.x/examples/stoneblock/","title":"Stoneblock","text":"Download
To create a stoneblock like modpack, you can simply set the surface settings as you can see in the config below.
config/skyblockbuilder/common-config.json5
:
{ \"World\": {\n\"surface\": true,\n\"surfaceSettings\": \"minecraft:bedrock,254*minecraft:stone,minecraft:bedrock\"\n}\n}\n
The download file will also set the default world type to Skyblock
. It will generate Bedrock at top and bottom of the dimension. It has only one spawn point. A starting inventory is included, too. Here you can see it:
{\n\"items\": [\n{\n\"item\": \"minecraft:wooden_pickaxe\",\n\"nbt\": {\n\"Unbreakable\": true,\n\"Enchantments\": [\n{\n\"lvl\": 2,\n\"id\": \"minecraft:efficiency\"\n}\n],\n\"display\": {\n\"Name\": \"{\\\"text\\\":\\\"Infinite Pickaxe\\\"}\"\n}\n}\n}\n]\n}\n
"},{"location":"skyblock-builder/1.16.x/packdev/admin/","title":"Managing teams","text":""},{"location":"skyblock-builder/1.16.x/packdev/admin/#operators-only","title":"Operators only","text":"Only an operator with permission level 2 or higher can change anything in the /skyblock manage
category.
Use the /skyblock manage teams create <name>
command to generate a team with the given name. If no name is provided, a random name will be generated.
Alternatively (good for servers), you can use /skyblock manage teams createAndJoin
to create the team and join it. To use it on a server, you should put it in a command block which can be triggered by the user and runs this command:
/execute as @p run skyblock manage teams createAndJoin
Use the /skyblock manage teams delete <name>
to delete the team with the given name.
WARNING! This cannot be undone. The island will still exist, but you can't re-bind a new team to that island. If users are in the team, they will be teleported to spawn after dropping all their items.
"},{"location":"skyblock-builder/1.16.x/packdev/admin/#clearing-teams","title":"Clearing teams","text":"Because teams can be empty, you can \"clear\" all islands. If you use /skyblock manage teams clear <name>
, all empty teams will be deleted as in Deleting teams.
If you provide a team name, all players from this team will be removed and teleported to spawn island.
"},{"location":"skyblock-builder/1.16.x/packdev/admin/#leaving-a-team","title":"Leaving a team","text":"An operator need to remove players from a team. For that, they need to use /skyblock manage kickPlayer <player>
. The removed player will be teleported back to spawn after dropping all the items in the inventory.
If you're not op and want to leave your team, you can simply type in /skyblock leave
. You will drop all your items and be teleported to spawn.
You simply start the game once. It will generate a config called forge-common.toml
. Change the only value in this config to skyblockbuilder:custom_skyblock
, or use this example and create a file called forge-common.toml
in the config directory with this content:
[general]\ndefaultWorldType = \"skyblockbuilder:custom_skyblock\"\n
"},{"location":"skyblock-builder/1.16.x/packdev/packdev/#setting-world-type-on-server-as-default","title":"Setting world type on server as default","text":"If you want to provide a custom server.properties
file, set the level-type
to skyblockbuilder:custom_skyblock
. Otherwise, it's the same as in single player.
Structure Saver
from the vanilla Tools tab in creative inventory. The output directory for this is <minecraft>/skyblock_exports/<name>.nbt
. Alternatively, you can also use the vanilla Structure Block. Keep in mind that this can only save islands up to 48x48x48 blocks and the output is in <minecraft>/saves/<world>/generated/minecraft/structures/<name>.nbt
.config/skyblockbuilder/templates/<name>.nbt
.config/skyblockbuilder/spawns.json
. There can be multiple spawns, each one is an array with [x, y, z]
relative to the 0, 0, 0 from the template structure. You can also modify existing spawns and export them with /skyblock spawns EXPORT
. IMPORTANT: You need to be in a world with world-type Skyblock
to use the commands./reload
command to reload the config. After that, you need to use the /skyblock spawns true
command to view all possible spawn points.You can set multiple schematics by putting them into config/skyblockbuilder/templates/
. These schematics can the user use by pressing the Customize
button in world options screen or changing the schematic with command /skyblock manage islandShape <template>
.
IMPORTANT: DO NOT name any of these schematic files template.nbt
because it would be overwritten by the default schematic in config/skyblockbuilder/template.nbt
.
Possible spawns are set in config/skyblockbuilder/spawns.json
. For each player, the game will choose a random position and places the player on that position. Good on big islands when adding a lot of players at once at one team. You can also export your current spawn points with command /skyblock spawns EXPORT
. For this, you should first modify spawns. You will find your exported spawns in skyblock_exports/spawns.json
. Copy it in the main config folder and override the existing one to apply your new spawns. If you spawn inside a block, you could add this block to the block tag \ud83d\udd17 #skyblockbuilder:additional_valid_spawns
.
If you want a loot chest on an island, you need to set the NBT data to the chest with the /data merge block <x y z> {LootTable: modid:path/to/loot_table}
command to set it as loot chest.
WARNING! Do not open that chest after merging this data into the chest.
"},{"location":"skyblock-builder/1.16.x/user/invitations/","title":"Invitations","text":""},{"location":"skyblock-builder/1.16.x/user/invitations/#inviting-users","title":"Inviting users","text":"Inviting users Everyone in a team can invite other players. For that, you can use /skyblock invite <player>
. That will send an invitation to the given player. Only players with no team can be invited.
Everyone with an invitation can accept them. You can only accept invitations if you're in no team. For that, you use the command /skyblock accept <team>
. You can also decline an invitation by using the command /skyblock decline <team>
.
You can send a join request to all teams if you're currently in no team by using /skyblock join <team>
. That will send a request to the team and each player in the team can accept or deny your request.
Each user of a team can use /skyblock team accept <player>
to accept the given player. That will teleport the player to your island. You can also deny the request by using /skyblock team deny <player>
.
You can see your teams current join request state with /skyblock team allowRequests
and enable/disable it with /skyblock team allowRequests <true/false>
.
If users are allowed to create islands with their own command, you can use /skyblock create <name> <players>
. This will create a team, and the given players will be added to the new team. If no players are given, the user who executes the command will be added to the team. If no name is given, a random name will be generated.
You can rename a/your team by using /skyblock team <new name> <team name>
. <team name>
is optional. Can be used by any team member. Users with permission level 2 could also edit other teams' name.
If enabled in the config, you can modify spawns from your team. You can add them with /skyblock team spawns add <pos>
. If no position is given, the current position will be used. Remove them with /skyblock team spawns remove <pos>
. Same as before: position is optional. For users with permission level 2: /skyblock team spawns reset <team>
will reset the spawn points to the default ones. To add the spawns, you need to be within the range specified in the config.
If home command is enabled in the config, you can teleport back to your teams' island with /skyblock home
.
If teleporting to spawn is enabled in the config, you can teleport to spawn island with /skyblock spawn
.
If visits are enabled in the config, and a team enabled visiting, you can visit an island with /skyblock visit <team>
.
You can see your teams current visiting state with /skyblock team allowVisits
and enable/disable it with /skyblock team allowVisits <true/false>
. On new teams, this is set to false
.
config/skyblockbuilder/spawns.json
to config/skyblockbuilder/templates.json5
config/skyblockbuilder/templates/
config/skyblockbuilder/templates.json5
Customize
screen do have proper names nowconfig/skyblockbuilder/data/
You can use the API to disable team management without the config needs to be changed. Additionally, you can disable that players will be teleported to spawn when joining the world.
For more information about this, look here \ud83d\udd17. You can call this in the main constructor of your mod.
"},{"location":"skyblock-builder/1.17.x/api/#custom-forge-events","title":"Custom Forge Events","text":"Skyblock Builder fires several events which you can subscribe like normal Forge events. These are all events:
All events do have proper Javadoc which describe what they do.
"},{"location":"skyblock-builder/1.17.x/compat/","title":"Compatability with other mods","text":""},{"location":"skyblock-builder/1.17.x/compat/#curios","title":"Curios","text":"This mod is compatible with Curios \ud83d\udd17. This only means that items will be dropped from the Curios inventory when leaving a team and the config is enabled, too.
"},{"location":"skyblock-builder/1.17.x/compat/#minemention","title":"MineMention","text":"This mod is compatible with MineMention \ud83d\udd17. To write in the teams chat, you can use skyblockbuilder:sky_team
in MineMention config file. This would look like this:
{\n\"mentions\": {\n\"everyone\": \"minemention:everyone\",\n\"here\": \"minemention:here\",\n\"team\": \"skyblockbuilder:sky_team\"\n}\n}\n
"},{"location":"skyblock-builder/1.17.x/config/dimensions/","title":"Dimensions","text":""},{"location":"skyblock-builder/1.17.x/config/dimensions/#overworld","title":"Overworld","text":"Here you can set if the overworld should generate as in a normal world. This will ignore the configured structures and features. This is useful when your starting dimension is not the overworld.
"},{"location":"skyblock-builder/1.17.x/config/dimensions/#the-nether","title":"The Nether","text":"Here you can set if the nether should generate as in a normal world. This will ignore the configured structures and features.
"},{"location":"skyblock-builder/1.17.x/config/dimensions/#the-end","title":"The End","text":"Here you can set if the end should generate as in a normal world. This will ignore the configured structures and features. Additionally, you can choose if the main island (with the dragon) should be generated or not.
"},{"location":"skyblock-builder/1.17.x/config/dimensions/#other-dimensions","title":"Other dimensions","text":"All other dimensions (added by datapacks, or other mods) will not be void and can't be configured. If you want compatability, ask the mod author of this mod or open an issue on GitHub \ud83d\udd17.
"},{"location":"skyblock-builder/1.17.x/config/inventory/","title":"Inventory","text":""},{"location":"skyblock-builder/1.17.x/config/inventory/#clear-inventory","title":"Clear inventory","text":"If this option is selected, the users inventory will be deleted when joining the world the first time. This is useful if you don't want that other mods give the player items like guide books.
Notice: This option will not affect the starting inventory.
"},{"location":"skyblock-builder/1.17.x/config/inventory/#dropping-inventory","title":"Dropping inventory","text":"If this option is selected, the users inventory will be dropped when leaving a team.
"},{"location":"skyblock-builder/1.17.x/config/inventory/#starting-inventory","title":"Starting inventory","text":"You can set a starting inventory by customising config/skyblockbuilder/starter_items.json
. These items will be given to the player only on initial joining world, not when joining a team. You can also set the items to a special slot with key Slot
.
You could also just export your inventory by using the command /skyblock inventory export
. This will create a new file in the skyblock_exports
folder with the current inventory and the correct slot.
Available values for the slots are:
mainhand
(default)offhand
head
chest
legs
feet
The config could look like this:
{\n\"items\": [\n{\n\"item\": \"minecraft:diamond_pickaxe\",\n\"nbt\": {\n\"Unbreakable\": true\n}\n},\n{\n\"item\": \"minecraft:bread\",\n\"count\": 32,\n\"Slot\": \"offhand\"\n}\n]\n}\n
If you want that every other item will be deleted, you can simply set the config option inventory.clear
to true. This will delete items like guide books or other things. That way, you don't have to go through all configs to enable these items and could just add them to the starter items.
This sets the dimension where you will spawn and the island be generated.
Allowed values:
overworld
the_nether
the_end
This sets the direction in which the user will be looking at.
Allowed values:
north
east
south
west
This sets the bottom layer of the template.
This affects where exactly the island will be generated.
Range: 0-255
"},{"location":"skyblock-builder/1.17.x/config/spawn/#radius","title":"Radius","text":"The radius to find a valid spawn if no given spawn point is valid.
Minimum: 0
"},{"location":"skyblock-builder/1.17.x/config/structures/","title":"Structures","text":""},{"location":"skyblock-builder/1.17.x/config/structures/#generating-structures","title":"Generating Structures","text":"A list with all structures \ud83d\udd17 that should be generated. A list with all possible structures can be found in config/skyblockbuilder/data/structures.txt
. Some structures in the nether are being generated by default, but you could turn that off. Overworld only has the stronghold as default option.
This is a resource list. Read more about it here \ud83d\udd17.
"},{"location":"skyblock-builder/1.17.x/config/structures/#generating-features","title":"Generating Features","text":"A list with all features \ud83d\udd17 that should be generated. A list with all possible features can be found in config/skyblockbuilder/data/features.txt
. As you can read in the Minecraft Wiki article, features need special conditions to be generated properly. This can be done with the surface.
INFO: The two default values are required for the obsidian towers in end. If this is missing, they will be first generated when respawning the dragon.
This is a resource list. Read more about it here \ud83d\udd17.
"},{"location":"skyblock-builder/1.17.x/config/utility/","title":"Utility","text":""},{"location":"skyblock-builder/1.17.x/config/utility/#create-own-team","title":"Create own team","text":"This allows players to create their own team.
"},{"location":"skyblock-builder/1.17.x/config/utility/#self-managing","title":"Self managing","text":"Allows the player to use several commands. This includes these commands:
This allows players to modify spawns. Needs self managing to be enabled.
"},{"location":"skyblock-builder/1.17.x/config/utility/#range","title":"Range","text":"The distance from the island center where the users should be able to add spawns.
"},{"location":"skyblock-builder/1.17.x/config/utility/#teleports","title":"Teleports","text":""},{"location":"skyblock-builder/1.17.x/config/utility/#visits","title":"Visits","text":"Allows the player to visit other islands.
"},{"location":"skyblock-builder/1.17.x/config/utility/#home","title":"Home","text":"Allows the player to teleport back home.
"},{"location":"skyblock-builder/1.17.x/config/utility/#spawn","title":"Spawn","text":"Allows the player to teleport to the spawn island.
"},{"location":"skyblock-builder/1.17.x/config/world/","title":"World","text":""},{"location":"skyblock-builder/1.17.x/config/world/#biome-range","title":"Biome range","text":"The radius for the biomes to repeat. An area with the size of (by default) 8192x8192 will contain all the biomes in the world. If a biome isn't in this area, it's not in the world. It repeats after an invisible \"border\".
This feature can be disabled and the biomes will not repeat.
WARNING: Too small biome range will prevent some structures to generate, if structures are enabled, because some need a special biome! You may fix this by decreasing the structure modifier.
"},{"location":"skyblock-builder/1.17.x/config/world/#island-distance","title":"Island distance","text":"The distance between two islands. If you choose the_nether
as start dimension, it will be divided by 8.
The offset from 0, 0 to generate the islands. Can be used to generate them in the middle of .mca files.
"},{"location":"skyblock-builder/1.17.x/config/world/#sea-height","title":"Sea height","text":"The sea level in the world. This has nothing to do with the water height in the world. This does affect the spawn height of squids for example.
"},{"location":"skyblock-builder/1.17.x/config/world/#structure-modifier","title":"Structure modifier","text":"The modifier for spacing and separation of structures. These values can be defined by a data pack. However, this is a multiplier to change these values. Look here \ud83d\udd17 at biome_source.structures.structures
for more information about that.
Minimal spacing will be set to 1 if the modifier changes it to be lower than that. Minimal separation will be set to 0 if the modifier changes it to be lower than that.
This config option needs a full restart once you already joined a world.
"},{"location":"skyblock-builder/1.17.x/config/world/#surface","title":"Surface","text":"The block settings for generating the different dimensions surfaces. It's in the same format as flat world generation settings \ud83d\udd17, but will ignore the biome. You can set it for each dimension. Instead of removing the dimension from the list, just set it to an empty string to generate it completely void. If the surface is disabled, it will ignore the setting.
"},{"location":"skyblock-builder/1.17.x/config/world/#single-biome","title":"Single biome","text":""},{"location":"skyblock-builder/1.17.x/config/world/#biome","title":"Biome","text":"Specifies the biome for a whole dimension. A list with all possible structures can be found in config/skyblockbuilder/data/biomes.txt
. You can set the dimension you want. If you keep it as null
, the start dimension will be used.
WARNING: Some structures need a special biome, e.g. Mansion needs Dark Oak Forest! These structures will not be generated if you have only one biome!
"},{"location":"skyblock-builder/1.17.x/examples/hellblock/","title":"Hellblock","text":"Download
To create a hellblock like modpack, you can simply set the spawn dimension to the_nether
as you can see in the config below.
config/skyblockbuilder/common-config.json5
:
{\n\"Spawn\": {\n\"dimension\": \"the_nether\"\n}\n}\n
This world will have a default overworld and a default end. The nether is \"sky\" and is filled with 10 layers of lava. I also added some structures for the nether. Because overworld is default, we don't have to care about the overworld structures and can just ignore them. They will be generated as normal.
Thanks to benbenlaw \ud83d\udd17 for giving me permission to use the template from his well known modpack Infernopolis \ud83d\udd17 for this example. I tweaked a bit more on the template to avoid using mod blocks.
"},{"location":"skyblock-builder/1.17.x/examples/seablock/","title":"Seablock","text":"Download
To create a seablock like modpack, you can simply set the surface settings as you can see in the config below.
config/skyblockbuilder/common-config.json5
:
{\n\"World\": {\n\"surface\": true,\n\"surfaceSettings\": {\n\"minecraft:overworld\": \"minecraft:bedrock,100*minecraft:sandstone,4*minecraft:sand,23*minecraft:water\",\n\"minecraft:the_nether\": \"\",\n\"minecraft:the_end\": \"\"\n}\n}\n}\n
I added a lot of sandstone layers for the image. Additionally, in the download are a few more things changed. A few features and structures are enabled, too. The spawn height was changed to set the top of the island on top of the water layers.
Here you can also see the single biome option.
This example also contains the feature of multiple templates where you can see how to set it up correctly.
config/skyblockbuilder/templates.json5
:
{\n\"templates\": [\n{\n\"name\": \"Blue\",\n\"file\": \"seablock_blue.nbt\",\n\"spawns\": \"seablock\"\n},\n{\n\"name\": \"Black\",\n\"file\": \"seablock_black.nbt\",\n\"spawns\": \"seablock\"\n},\n{\n\"name\": \"Green\",\n\"file\": \"seablock_green.nbt\",\n\"spawns\": \"seablock\"\n},\n{\n\"name\": \"Orange\",\n\"file\": \"seablock_orange.nbt\",\n\"spawns\": \"seablock\"\n},\n{\n\"name\": \"Purple\",\n\"file\": \"seablock_purple.nbt\",\n\"spawns\": \"seablock\"\n},\n{\n\"name\": \"Red\",\n\"file\": \"seablock_red.nbt\",\n\"spawns\": \"seablock\"\n},\n{\n\"name\": \"White\",\n\"file\": \"seablock_white.nbt\",\n\"spawns\": \"seablock\"\n},\n{\n\"name\": \"Yellow\",\n\"file\": \"seablock_yellow.nbt\",\n\"spawns\": \"seablock\"\n}\n]\n}\n
Thanks to benbenlaw \ud83d\udd17 for giving me permission to use the templates from his well known modpack Seaopolis \ud83d\udd17 for this example.
"},{"location":"skyblock-builder/1.17.x/examples/skyblock/","title":"Skyblock","text":"This is the default island when using the mod. You don't have to adjust any config for this. Just use it.
If you want another starting island, just replace the file config/skyblockbuilder/templates/default.nbt
and adjust the spawns.
The next examples will contain downloads with all changed things.
"},{"location":"skyblock-builder/1.17.x/examples/stoneblock/","title":"Stoneblock","text":"Download
To create a stoneblock like modpack, you can simply set the surface settings as you can see in the config below.
config/skyblockbuilder/common-config.json5
:
{ \"World\": {\n\"surface\": true,\n\"surfaceSettings\": {\n\"minecraft:overworld\": \"minecraft:bedrock,254*minecraft:stone,minecraft:bedrock\",\n\"minecraft:the_nether\": \"\",\n\"minecraft:the_end\": \"\"\n}\n}\n}\n
The download file will also set the default world type to Skyblock
. It will generate Bedrock at top and bottom of the dimension. It has only one spawn point. A starting inventory is included, too. Here you can see it:
{\n\"items\": [\n{\n\"item\": \"minecraft:wooden_pickaxe\",\n\"nbt\": {\n\"Unbreakable\": true,\n\"Enchantments\": [\n{\n\"lvl\": 2,\n\"id\": \"minecraft:efficiency\"\n}\n],\n\"display\": {\n\"Name\": \"{\\\"text\\\":\\\"Infinite Pickaxe\\\"}\"\n}\n}\n}\n]\n}\n
"},{"location":"skyblock-builder/1.17.x/packdev/admin/","title":"Managing teams","text":""},{"location":"skyblock-builder/1.17.x/packdev/admin/#operators-only","title":"Operators only","text":"Only an operator with permission level 2 or higher can change anything in the /skyblock manage
category.
Use the /skyblock manage teams create <name>
command to generate a team with the given name. If no name is provided, a random name will be generated.
Alternatively (good for servers), you can use /skyblock manage teams createAndJoin
to create the team and join it. To use it on a server, you should put it in a command block which can be triggered by the user and runs this command:
/execute as @p run skyblock manage teams createAndJoin
Use the /skyblock manage teams delete <name>
to delete the team with the given name.
WARNING! This cannot be undone. The island will still exist, but you can't re-bind a new team to that island. If users are in the team, they will be teleported to spawn after dropping all their items.
"},{"location":"skyblock-builder/1.17.x/packdev/admin/#clearing-teams","title":"Clearing teams","text":"Because teams can be empty, you can \"clear\" all islands. If you use /skyblock manage teams clear <name>
, all empty teams will be deleted as in Deleting teams.
If you provide a team name, all players from this team will be removed and teleported to spawn island.
"},{"location":"skyblock-builder/1.17.x/packdev/admin/#leaving-a-team","title":"Leaving a team","text":"An operator need to remove players from a team. For that, they need to use /skyblock manage kickPlayer <player>
. The removed player will be teleported back to spawn after dropping all the items in the inventory.
If you're not op and want to leave your team, you can simply type in /skyblock leave
. You will drop all your items and be teleported to spawn.
You simply start the game once. It will generate a config called forge-common.toml
. Change the only value in this config to skyblockbuilder:custom_skyblock
, or use this example and create a file called forge-common.toml
in the config directory with this content:
[general]\ndefaultWorldType = \"skyblockbuilder:custom_skyblock\"\n
"},{"location":"skyblock-builder/1.17.x/packdev/packdev/#setting-world-type-on-server-as-default","title":"Setting world type on server as default","text":"If you want to provide a custom server.properties
file, set the level-type
to skyblockbuilder:custom_skyblock
. Otherwise, it's the same as in single player.
Structure Saver
from the vanilla Tools tab in creative inventory. The output directory for this is <minecraft>/skyblock_exports/<name>.nbt
. Alternatively, you can also use the vanilla Structure Block. Keep in mind that this can only save islands up to 48x48x48 blocks and the output is in <minecraft>/saves/<world>/generated/minecraft/structures/<name>.nbt
.config/skyblockbuilder/templates/<name>.nbt
.config/skyblockbuilder/templates.json5
. There can be multiple spawns, each one is an array with [x, y, z]
relative to the 0, 0, 0 from the template structure. You can also modify existing spawns and export them with /skyblock spawns EXPORT
. IMPORTANT: You need to be in a world with world-type Skyblock
to use the commands./skyblock spawns debug
to view all possible spawn points.config/skyblockbuilder/templates.json5
where needed.You can set multiple schematics by putting them into config/skyblockbuilder/templates/
. These schematics can the user use by pressing the Customize
button in world options screen or changing the schematic with command /skyblock manage islandShape <template>
where <template>
is the name specified in next chapter.
As described in Creating a custom skyblock island, you can improve the readability of templates and set the spawn points for each template in the config here: config/skyblockbuilder/templates.json5
. There you have 2 options. First the spawns
:
{\n\"spawns\": {\n\"default\": [\n[ 6, 3, 5 ]\n]\n}\n}\n
This option holds multiple objects. The key (here default
) is important for the templates
option in the next step. You can have multiple entries, but keep in mind that no key can be used twice! The content of each object is an array. This array contains the spawn positions. The spawn positions are formatted this way: [ x, y, z ]\n
Now the templates
:
{\n\"templates\": [\n{\n\"name\": \"default\",\n\"file\": \"default.nbt\",\n\"spawns\": \"default\"\n}\n]\n}\n
name
is the name displayed in the Customize
screen when selecting the world-type.file
is the name of the file for that template.spawns
is the spawn configuration name from the spawns
option. You can have the same file and the same spawns in multiple configurations. They all are only separated by the name.NOTE: If you spawn inside a block, you could add this block to the block tag \ud83d\udd17 #skyblockbuilder:additional_valid_spawns
.
If you want a loot chest on an island, you need to set the NBT data to the chest with the /data merge block <x y z> {LootTable: modid:path/to/loot_table}
command to set it as loot chest.
WARNING! Do not open that chest after merging this data into the chest.
"},{"location":"skyblock-builder/1.17.x/user/invitations/","title":"Invitations","text":""},{"location":"skyblock-builder/1.17.x/user/invitations/#inviting-users","title":"Inviting users","text":"Inviting users Everyone in a team can invite other players. For that, you can use /skyblock invite <player>
. That will send an invitation to the given player. Only players with no team can be invited.
Everyone with an invitation can accept them. You can only accept invitations if you're in no team. For that, you use the command /skyblock accept <team>
. You can also decline an invitation by using the command /skyblock decline <team>
.
You can send a join request to all teams if you're currently in no team by using /skyblock join <team>
. That will send a request to the team and each player in the team can accept or deny your request.
Each user of a team can use /skyblock team accept <player>
to accept the given player. That will teleport the player to your island. You can also deny the request by using /skyblock team deny <player>
.
You can see your teams current join request state with /skyblock team allowRequests
and enable/disable it with /skyblock team allowRequests <true/false>
.
If users are allowed to create islands with their own command, you can use /skyblock create <name> <players>
. This will create a team, and the given players will be added to the new team. If no players are given, the user who executes the command will be added to the team. If no name is given, a random name will be generated.
You can rename a/your team by using /skyblock team <new name> <team name>
. <team name>
is optional. Can be used by any team member. Users with permission level 2 could also edit other teams' name.
If enabled in the config, you can modify spawns from your team. You can add them with /skyblock team spawns add <pos>
. If no position is given, the current position will be used. Remove them with /skyblock team spawns remove <pos>
. Same as before: position is optional. For users with permission level 2: /skyblock team spawns reset <team>
will reset the spawn points to the default ones. To add the spawns, you need to be within the range specified in the config.
If home command is enabled in the config, you can teleport back to your teams' island with /skyblock home
.
If teleporting to spawn is enabled in the config, you can teleport to spawn island with /skyblock spawn
.
If visits are enabled in the config, and a team enabled visiting, you can visit an island with /skyblock visit <team>
.
You can see your teams current visiting state with /skyblock team allowVisits
and enable/disable it with /skyblock team allowVisits <true/false>
. On new teams, this is set to false
.
You can use the API to disable team management without the config needs to be changed. Additionally, you can disable that players will be teleported to spawn when joining the world.
For more information about this, look here \ud83d\udd17. You can call this in the main constructor of your mod.
"},{"location":"skyblock-builder/1.18.x/api/#custom-forge-events","title":"Custom Forge Events","text":"Skyblock Builder fires several events which you can subscribe like normal Forge events. These are all events:
All events do have proper Javadoc which describe what they do.
"},{"location":"skyblock-builder/1.18.x/compat/","title":"Compatability with other mods","text":""},{"location":"skyblock-builder/1.18.x/compat/#curios","title":"Curios","text":"This mod is compatible with Curios \ud83d\udd17. This only means that items will be dropped from the Curios inventory when leaving a team and the config is enabled, too.
"},{"location":"skyblock-builder/1.18.x/compat/#minemention","title":"MineMention","text":"This mod is compatible with MineMention \ud83d\udd17. To write in the teams chat, you can use skyblockbuilder:sky_team
in MineMention config file. This would look like this:
{\n\"mentions\": {\n\"everyone\": \"minemention:everyone\",\n\"here\": \"minemention:here\",\n\"team\": \"skyblockbuilder:sky_team\"\n}\n}\n
"},{"location":"skyblock-builder/1.18.x/gui_addon/","title":"Sky GUIs","text":"You find it kinda annoying that users have to handle everything with commands? The solution is Sky GUIs \ud83d\udd17. This mod adds a lot of GUIs which help to create own teams, join teams, or invite other players.
"},{"location":"skyblock-builder/1.18.x/world_types/","title":"World Types","text":"Skyblock Builder adds not only one world type, but also a second one!
"},{"location":"skyblock-builder/1.18.x/world_types/#skyblock","title":"Skyblock","text":"The first world type is called Skyblock. It is a world where you can customize the starting island. The config and all options are for this world type only.
You can use this world type on servers or in forge-common.toml
by using skyblockbuilder:skyblock
.
The second world type is called Skylands. It is a world where you can travel over floating islands in a land with mostly sky. There's currently no config for this world type. It's mainly for testing at the moment.
This world type is heavily inspired by mods like SkyLandsForge. The generation for this is based on an Aether mod for Fabric called Paradise Lost. This mod is licensed under the MIT license.
You can use this world type on servers or in forge-common.toml
by using skyblockbuilder:skylands
.
Here you can set if the overworld should generate as in a normal world. This will ignore the configured structures and features. This is useful when your starting dimension is not the overworld.
"},{"location":"skyblock-builder/1.18.x/config/dimensions/#the-nether","title":"The Nether","text":"Here you can set if the nether should generate as in a normal world. This will ignore the configured structures and features.
"},{"location":"skyblock-builder/1.18.x/config/dimensions/#the-end","title":"The End","text":"Here you can set if the end should generate as in a normal world. This will ignore the configured structures and features. Additionally, you can choose if the main island (with the dragon) should be generated or not.
"},{"location":"skyblock-builder/1.18.x/config/dimensions/#other-dimensions","title":"Other dimensions","text":"All other dimensions (added by datapacks, or other mods) will not be void and can't be configured. If you want compatability, ask the mod author of this mod or open an issue on GitHub \ud83d\udd17.
"},{"location":"skyblock-builder/1.18.x/config/inventory/","title":"Inventory","text":""},{"location":"skyblock-builder/1.18.x/config/inventory/#clear-inventory","title":"Clear inventory","text":"If this option is selected, the users inventory will be deleted when joining the world the first time. This is useful if you don't want that other mods give the player items like guide books.
Notice: This option will not affect the starting inventory.
"},{"location":"skyblock-builder/1.18.x/config/inventory/#dropping-inventory","title":"Dropping inventory","text":"If this option is selected, the users inventory will be dropped when leaving a team.
"},{"location":"skyblock-builder/1.18.x/config/inventory/#starting-inventory","title":"Starting inventory","text":"You can set a starting inventory by customising config/skyblockbuilder/starter_items.json
. These items will be given to the player only on initial joining world, not when joining a team. You can also set the items to a special slot with key Slot
.
You could also just export your inventory by using the command /skyblock inventory export
. This will create a new file in the skyblock_exports
folder with the current inventory and the correct slot.
Available values for the slots are:
mainhand
(default)offhand
head
chest
legs
feet
The config could look like this:
{\n\"items\": [\n{\n\"item\": \"minecraft:diamond_pickaxe\",\n\"nbt\": \"{Unbreakable:1b}\"\n},\n{\n\"item\": \"minecraft:bread\",\n\"count\": 32,\n\"Slot\": \"offhand\"\n}\n]\n}\n
If you want that every other item will be deleted, you can simply set the config option inventory.clear
to true. This will delete items like guide books or other things. That way, you don't have to go through all configs to enable these items and could just add them to the starter items.
This sets the radius around the spawn which should be protected and only op players can interact with. This prevents (tool) interactions, mob griefing, explosions, breaking blocks, farmland trampling, growing crops, and attacking. Additionally, the player will always have max health, max food level, can't drown, and can't be set on fire. This is default set to 0, so nothing is protected. Look at the table here to see more options:
3 3 3 3 3 3 2 2 2 3 3 2 1 2 3 3 2 2 2 3 3 3 3 3 3"},{"location":"skyblock-builder/1.18.x/config/spawn/#dimension","title":"Dimension","text":"This sets the dimension where you will spawn and the island be generated.
This can be any dimension found in config/skyblockbuilder/data/dimensions.txt
. This file will only be generated when joining a skyblock world.
You can set a range from minY
to maxY
. minY
is the bottom spawn position. maxY
is the top spawn dimension. If you set the spawn height type (see below) to set
, the bottom value will be used for a set height. Otherwise, the height will be calculated.
set
: This is a fixed spawn position. For users of the older versions of skyblock builder, this is the normal mode as before. It will use the bottom
value of the range as fixed height. The top
value will be ignored.
range_top
: This will search for a valid position beginning at the top
position, down to the bottom
. If no valid spawn was found, it uses the top
value as fixed height.
range_bottom
: Same as range_top
. The only difference is that it uses the bottom
value as fixed height if there was no valid spawn found.
Valid spawns are defined as: Two block air on top of each other. Under that, it's a normal block/slab, or block inside the valid spawn block tag \ud83d\udd17 #skyblockbuilder:additional_valid_spawns
.
If the spawn height type is set to range
, this offset will be used to slightly move the spawn height in any direction. Negative values go down, positive values go up.
The radius to find a valid spawn if no given spawn point is valid.
Minimum: 0
"},{"location":"skyblock-builder/1.18.x/config/structures/","title":"Structures","text":""},{"location":"skyblock-builder/1.18.x/config/structures/#generating-structures","title":"Generating Structures","text":"A list with all structures \ud83d\udd17 that should be generated. A list with all possible structures can be found in config/skyblockbuilder/data/structures.txt
. Some structures in the nether are being generated by default, but you could turn that off. Overworld only has the stronghold as default option.
This is a resource list. Read more about it here \ud83d\udd17.
"},{"location":"skyblock-builder/1.18.x/config/structures/#generating-features","title":"Generating Features","text":"A list with all features \ud83d\udd17 that should be generated. A list with all possible features can be found in config/skyblockbuilder/data/features.txt
. As you can read in the Minecraft Wiki article, features need special conditions to be generated properly. This can be done with the surface.
INFO: The two default values are required for the obsidian towers in end. If this is missing, they will be first generated when respawning the dragon.
This is a resource list. Read more about it here \ud83d\udd17.
"},{"location":"skyblock-builder/1.18.x/config/utility/","title":"Utility","text":""},{"location":"skyblock-builder/1.18.x/config/utility/#create-own-team","title":"Create own team","text":"This allows players to create their own team.
"},{"location":"skyblock-builder/1.18.x/config/utility/#self-managing","title":"Self managing","text":"Allows the player to use several commands. This includes these commands:
This allows players to modify spawns. Needs self-managing to be enabled.
"},{"location":"skyblock-builder/1.18.x/config/utility/#range","title":"Range","text":"The distance from the island center where the users should be able to add spawns.
"},{"location":"skyblock-builder/1.18.x/config/utility/#teleports","title":"Teleports","text":""},{"location":"skyblock-builder/1.18.x/config/utility/#visits","title":"Visits","text":"Allows the player to visit other islands.
"},{"location":"skyblock-builder/1.18.x/config/utility/#home","title":"Home","text":"Allows the player to teleport back home. Has a cooldown for each player.
"},{"location":"skyblock-builder/1.18.x/config/utility/#spawn","title":"Spawn","text":"Allows the player to teleport to the spawn island. Has a cooldown for each player.
"},{"location":"skyblock-builder/1.18.x/config/utility/#cross-dimension-teleportation","title":"Cross Dimension Teleportation","text":"Allows the player to teleport (see above) from another dimension, for example the main world is overworld, players will be able to also teleport from the nether to the spawn, their island, or even visit others. Setting this to false forces them to be in the overworld (if that's the main dimension).
"},{"location":"skyblock-builder/1.18.x/config/utility/#dimension-teleportation-permission","title":"Dimension teleportation permission","text":"A list of dimensions where you can't use teleportation commands. If you set allow_list
to true, these commands are allowed in these dimensions only.
This is a resource list. Read more about it here \ud83d\udd17.
"},{"location":"skyblock-builder/1.18.x/config/world/","title":"World","text":""},{"location":"skyblock-builder/1.18.x/config/world/#island-distance","title":"Island distance","text":"The distance between two islands. If you choose the_nether
as start dimension, it will be divided by 8.
The offset from 0, 0 to generate the islands. Can be used to generate them in the middle of .mca files.
"},{"location":"skyblock-builder/1.18.x/config/world/#sea-height","title":"Sea height","text":"The sea level in the world. This has nothing to do with the water height in the world. This does affect the spawn height of squids for example.
"},{"location":"skyblock-builder/1.18.x/config/world/#surface","title":"Surface","text":"The block settings for generating the different dimensions surfaces. It's in the same format as flat world generation settings \ud83d\udd17, but will ignore the biome. You can set it for each dimension. Instead of removing the dimension from the list, just set it to an empty string to generate it completely void. If the surface is disabled, it will ignore the setting.
"},{"location":"skyblock-builder/1.18.x/config/world/#biomes","title":"Biomes","text":"It's a map which provides ResourceLists \ud83d\udd17. It's set to allow all biomes per default. You can deny biomes by adding them to the list. Setting allow_list
to true will only use the biomes in the list. Keep in mind that each dimension needs at least one valid biome!
A list with all possible structures can be found in config/skyblockbuilder/data/biomes.txt
.
Download
To create a hellblock like modpack, you can simply set the spawn dimension to the_nether
as you can see in the config below.
config/skyblockbuilder/common-config.json5
:
{\n\"Spawn\": {\n\"dimension\": \"the_nether\"\n}\n}\n
This world will have a default overworld and a default end. The nether is \"sky\" and is filled with 10 layers of lava. I also added some structures for the nether. Because overworld is default, we don't have to care about the overworld structures and can just ignore them. They will be generated as normal.
Thanks to benbenlaw \ud83d\udd17 for giving me permission to use the template from his well known modpack Infernopolis \ud83d\udd17 for this example. I tweaked a bit more on the template to avoid using mod blocks.
"},{"location":"skyblock-builder/1.18.x/examples/seablock/","title":"Seablock","text":"Download
To create a seablock like modpack, you can simply set the surface settings as you can see in the config below.
config/skyblockbuilder/common-config.json5
:
{\n\"World\": {\n\"surface\": true,\n\"surfaceSettings\": {\n\"minecraft:overworld\": \"minecraft:bedrock,100*minecraft:sandstone,4*minecraft:sand,87*minecraft:water\",\n\"minecraft:the_nether\": \"\",\n\"minecraft:the_end\": \"\"\n}\n}\n}\n
I added a lot of sandstone layers for the image. Additionally, in the download are a few more things changed. A few features and structures are enabled, too. The spawn height was changed to set the top of the island on top of the water layers.
Here you can also see the single biome option.
This example also contains the feature of multiple templates where you can see how to set it up correctly.
config/skyblockbuilder/templates.json5
:
{\n\"templates\": [\n{\n\"name\": \"Blue\",\n\"file\": \"seablock_blue.nbt\",\n\"spawns\": \"seablock\"\n},\n{\n\"name\": \"Black\",\n\"file\": \"seablock_black.nbt\",\n\"spawns\": \"seablock\"\n},\n{\n\"name\": \"Green\",\n\"file\": \"seablock_green.nbt\",\n\"spawns\": \"seablock\"\n},\n{\n\"name\": \"Orange\",\n\"file\": \"seablock_orange.nbt\",\n\"spawns\": \"seablock\"\n},\n{\n\"name\": \"Purple\",\n\"file\": \"seablock_purple.nbt\",\n\"spawns\": \"seablock\"\n},\n{\n\"name\": \"Red\",\n\"file\": \"seablock_red.nbt\",\n\"spawns\": \"seablock\"\n},\n{\n\"name\": \"White\",\n\"file\": \"seablock_white.nbt\",\n\"spawns\": \"seablock\"\n},\n{\n\"name\": \"Yellow\",\n\"file\": \"seablock_yellow.nbt\",\n\"spawns\": \"seablock\"\n}\n]\n}\n
Thanks to benbenlaw \ud83d\udd17 for giving me permission to use the templates from his well known modpack Seaopolis \ud83d\udd17 for this example.
"},{"location":"skyblock-builder/1.18.x/examples/skyblock/","title":"Skyblock","text":"This is the default island when using the mod. You don't have to adjust any config for this. Just use it.
If you want another starting island, just replace the file config/skyblockbuilder/templates/default.nbt
and adjust the spawns.
The next examples will contain downloads with all changed things.
"},{"location":"skyblock-builder/1.18.x/examples/stoneblock/","title":"Stoneblock","text":"Download
To create a stoneblock like modpack, you can simply set the surface settings as you can see in the config below.
config/skyblockbuilder/common-config.json5
:
{ \"World\": {\n\"surface\": true,\n\"surfaceSettings\": {\n\"minecraft:overworld\": \"minecraft:bedrock,382*minecraft:stone,minecraft:bedrock\",\n\"minecraft:the_nether\": \"\",\n\"minecraft:the_end\": \"\"\n}\n}\n}\n
The download file will also set the default world type to Skyblock
. It will generate Bedrock at top and bottom of the dimension. It has only one spawn point. A starting inventory is included, too. Here you can see it:
{\n\"items\": [\n{\n\"item\": \"minecraft:wooden_pickaxe\",\n\"nbt\": {\n\"Unbreakable\": true,\n\"Enchantments\": [\n{\n\"lvl\": 2,\n\"id\": \"minecraft:efficiency\"\n}\n],\n\"display\": {\n\"Name\": \"{\\\"text\\\":\\\"Infinite Pickaxe\\\"}\"\n}\n}\n}\n]\n}\n
"},{"location":"skyblock-builder/1.18.x/packdev/admin/","title":"Managing teams","text":""},{"location":"skyblock-builder/1.18.x/packdev/admin/#operators-only","title":"Operators only","text":"Only an operator with permission level 2 or higher can change anything in the /skyblock manage
category.
Use the /skyblock manage teams create <name>
command to generate a team with the given name. If no name is provided, a random name will be generated.
Alternatively (good for servers), you can use /skyblock manage teams createAndJoin
to create the team and join it. To use it on a server, you should put it in a command block which can be triggered by the user and runs this command:
/execute as @p run skyblock manage teams createAndJoin
Use the /skyblock manage teams delete <name>
to delete the team with the given name.
WARNING! This cannot be undone. The island will still exist, but you can't re-bind a new team to that island. If users are in the team, they will be teleported to spawn after dropping all their items.
"},{"location":"skyblock-builder/1.18.x/packdev/admin/#clearing-teams","title":"Clearing teams","text":"Because teams can be empty, you can \"clear\" all islands. If you use /skyblock manage teams clear <name>
, all empty teams will be deleted as in Deleting teams.
If you provide a team name, all players from this team will be removed and teleported to spawn island.
"},{"location":"skyblock-builder/1.18.x/packdev/admin/#leaving-a-team","title":"Leaving a team","text":"An operator need to remove players from a team. For that, they need to use /skyblock manage kickPlayer <player>
. The removed player will be teleported back to spawn after dropping all the items in the inventory.
If you're not op and want to leave your team, you can simply type in /skyblock leave
. You will drop all your items and be teleported to spawn.
You simply start the game once. It will generate a config called forge-common.toml
. Change the only value in this config to skyblockbuilder:skyblock
, or use this example and create a file called forge-common.toml
in the config directory with this content:
[general]\ndefaultWorldType = \"skyblockbuilder:skyblock\"\n
"},{"location":"skyblock-builder/1.18.x/packdev/packdev/#setting-world-type-on-server-as-default","title":"Setting world type on server as default","text":"If you want to provide a custom server.properties
file, set the level-type
to skyblockbuilder:skyblock
. Otherwise, it's the same as in single player.
Structure Saver
from the vanilla Tools tab in creative inventory. The output directory for this is <minecraft>/skyblock_exports/<name>.nbt
. Alternatively, you can also use the vanilla Structure Block. Keep in mind that this can only save islands up to 48x48x48 blocks and the output is in <minecraft>/saves/<world>/generated/minecraft/structures/<name>.nbt
.config/skyblockbuilder/templates/<name>.nbt
.config/skyblockbuilder/templates.json5
. There can be multiple spawns, each one is an array with [x, y, z]
relative to the 0, 0, 0 from the template structure. You can also modify existing spawns and export them with /skyblock spawns EXPORT
. IMPORTANT: You need to be in a world with world-type Skyblock
to use the commands./skyblock spawns debug
to view all possible spawn points.config/skyblockbuilder/templates.json5
where needed.You can set a default spawn island for new worlds by setting spawn
. If it's set to null
, it will use the default template used for new teams. For more information about the value for spawn
, look at Configuring templates.
You can set multiple schematics by putting them into config/skyblockbuilder/templates/
. These schematics can the user use by pressing the Customize
button in world options screen or changing the schematic with command /skyblock manage islandShape <template>
where <template>
is the name specified in next chapter.
As described in Creating a custom skyblock island, you can improve the readability of templates and set the spawn points for each template in the config here: config/skyblockbuilder/templates.json5
. There you have 2 options. First the spawns
:
{\n\"spawns\": {\n\"default\": [\n[ 6, 3, 5 ]\n]\n}\n}\n
This option holds multiple objects. The key (here default
) is important for the templates
option in the next step. You can have multiple entries, but keep in mind that no key can be used twice! The content of each object is an array. This array contains the spawn positions. The spawn positions are formatted this way: [ x, y, z ]\n
Now the templates
:
{\n\"templates\": [\n{\n\"name\": \"default\", \"desc\": \"Default template\",\n\"file\": \"default.nbt\",\n\"spawns\": \"default\", \"direction\": \"south\"\n}\n]\n}\n
name
is the name displayed in the Customize
screen when selecting the world-type.desc
is the description displayed in the Customize
screen when selecting the world-type.file
is the name of the file for that template.spawns
is the spawn configuration name from the spawns
option.direction
is the direction the user should look at for this template. If not provided, it'll be south
. You can have the same file and the same spawns in multiple configurations. They all are only separated by the name.You can also set an icon for each template. This is located in config/skyblockbuilder/templates/icon/<name>.png
. The name needs to be lowercase.
NOTE: If you spawn inside a block, you could add this block to the block tag \ud83d\udd17 #skyblockbuilder:additional_valid_spawns
.
If you want a loot chest on an island, you need to set the NBT data to the chest with the /data merge block <x y z> {LootTable: modid:path/to/loot_table}
command to set it as loot chest.
WARNING! Do not open that chest after merging this data into the chest.
"},{"location":"skyblock-builder/1.18.x/user/invitations/","title":"Invitations","text":""},{"location":"skyblock-builder/1.18.x/user/invitations/#inviting-users","title":"Inviting users","text":"Inviting users Everyone in a team can invite other players. For that, you can use /skyblock invite <player>
. That will send an invitation to the given player. Only players with no team can be invited.
Everyone with an invitation can accept them. You can only accept invitations if you're in no team. For that, you use the command /skyblock accept <team>
. You can also decline an invitation by using the command /skyblock decline <team>
.
You can send a join request to all teams if you're currently in no team by using /skyblock join <team>
. That will send a request to the team and each player in the team can accept or deny your request.
Each user of a team can use /skyblock team accept <player>
to accept the given player. That will teleport the player to your island. You can also deny the request by using /skyblock team deny <player>
.
You can see your teams current join request state with /skyblock team allowRequests
and enable/disable it with /skyblock team allowRequests <true/false>
.
If users are allowed to create islands with their own command, you can use /skyblock create <name> <players>
. This will create a team, and the given players will be added to the new team. If no players are given, the user who executes the command will be added to the team. If no name is given, a random name will be generated.
You can rename a/your team by using /skyblock team <new name> <team name>
. <team name>
is optional. Can be used by any team member. Users with permission level 2 could also edit other teams' name.
If enabled in the config, you can modify spawns from your team. You can add them with /skyblock team spawns add <pos>
. If no position is given, the current position will be used. Remove them with /skyblock team spawns remove <pos>
. Same as before: position is optional. For users with permission level 2: /skyblock team spawns reset <team>
will reset the spawn points to the default ones. To add the spawns, you need to be within the range specified in the config.
If home command is enabled in the config, you can teleport back to your teams' island with /skyblock home
. Has a configurable cooldown.
If teleporting to spawn is enabled in the config, you can teleport to spawn island with /skyblock spawn
. Has a configurable cooldown.
If visits are enabled in the config, and a team enabled visiting, you can visit an island with /skyblock visit <team>
.
You can see your teams current visiting state with /skyblock team allowVisits
and enable/disable it with /skyblock team allowVisits <true/false>
. On new teams, this is set to false
.
You can use the API to disable team management without the config needs to be changed. Additionally, you can disable that players will be teleported to spawn when joining the world.
For more information about this, look here \ud83d\udd17. You can call this in the main constructor of your mod.
"},{"location":"skyblock-builder/1.19.x/api/#custom-forge-events","title":"Custom Forge Events","text":"Skyblock Builder fires several events which you can subscribe like normal Forge events. These are all events:
All events do have proper Javadoc which describe what they do.
"},{"location":"skyblock-builder/1.19.x/compat/","title":"Compatability with other mods","text":""},{"location":"skyblock-builder/1.19.x/compat/#curios","title":"Curios","text":"This mod is compatible with Curios \ud83d\udd17. This only means that items will be dropped from the Curios inventory when leaving a team and the config is enabled, too.
"},{"location":"skyblock-builder/1.19.x/compat/#minemention","title":"MineMention","text":"This mod is compatible with MineMention \ud83d\udd17. To write in the teams chat, you can use skyblockbuilder:sky_team
in MineMention config file. This would look like this:
{\n\"mentions\": {\n\"everyone\": \"minemention:everyone\",\n\"here\": \"minemention:here\",\n\"team\": \"skyblockbuilder:sky_team\"\n}\n}\n
"},{"location":"skyblock-builder/1.19.x/gui_addon/","title":"Sky GUIs","text":"You find it kinda annoying that users have to handle everything with commands? The solution is Sky GUIs \ud83d\udd17. This mod adds a lot of GUIs which help to create own teams, join teams, or invite other players.
"},{"location":"skyblock-builder/1.19.x/world_types/","title":"World Types","text":""},{"location":"skyblock-builder/1.19.x/world_types/#skyblock","title":"Skyblock","text":"The only world type added is called Skyblock. It is a world where you can customize the starting island.
You can use this world type on servers by using skyblockbuilder:skyblock
.
Here you can set if the overworld should generate as in a normal world. This will ignore the configured structures and features. This is useful when your starting dimension is not the overworld.
"},{"location":"skyblock-builder/1.19.x/config/dimensions/#the-nether","title":"The Nether","text":"Here you can set if the nether should generate as in a normal world. This will ignore the configured structures and features.
"},{"location":"skyblock-builder/1.19.x/config/dimensions/#the-end","title":"The End","text":"Here you can set if the end should generate as in a normal world. This will ignore the configured structures and features. Additionally, you can choose if the main island (with the dragon) should be generated or not.
"},{"location":"skyblock-builder/1.19.x/config/dimensions/#other-dimensions","title":"Other dimensions","text":"All other dimensions (added by datapacks, or other mods) will not be void and can't be configured. If you want compatability, ask the mod author of this mod or open an issue on GitHub \ud83d\udd17.
"},{"location":"skyblock-builder/1.19.x/config/inventory/","title":"Inventory","text":""},{"location":"skyblock-builder/1.19.x/config/inventory/#clear-inventory","title":"Clear inventory","text":"If this option is selected, the users inventory will be deleted when joining the world the first time. This is useful if you don't want that other mods give the player items like guide books.
Notice: This option will not affect the starting inventory.
"},{"location":"skyblock-builder/1.19.x/config/inventory/#dropping-inventory","title":"Dropping inventory","text":"If this option is selected, the users inventory will be dropped when leaving a team.
"},{"location":"skyblock-builder/1.19.x/config/inventory/#starting-inventory","title":"Starting inventory","text":"You can set a starting inventory by customising config/skyblockbuilder/starter_items.json
. These items will be given to the player only on initial joining world, not when joining a team. You can also set the items to a special slot with key Slot
.
You could also just export your inventory by using the command /skyblock inventory export
. This will create a new file in the skyblock_exports
folder with the current inventory and the correct slot.
Available values for the slots are:
mainhand
(default)offhand
head
chest
legs
feet
The config could look like this:
{\n\"items\": [\n{\n\"item\": \"minecraft:diamond_pickaxe\",\n\"nbt\": \"{Unbreakable:1b}\"\n},\n{\n\"item\": \"minecraft:bread\",\n\"count\": 32,\n\"Slot\": \"offhand\"\n}\n]\n}\n
If you want that every other item will be deleted, you can simply set the config option inventory.clear
to true. This will delete items like guide books or other things. That way, you don't have to go through all configs to enable these items and could just add them to the starter items.
This sets the radius around the spawn which should be protected and only op players can interact with. This prevents (tool) interactions, mob griefing, explosions, breaking blocks, farmland trampling, growing crops, and attacking. Additionally, the player will always have max health, max food level, can't drown, and can't be set on fire. This is default set to 0, so nothing is protected. Look at the table here to see more options:
3 3 3 3 3 3 2 2 2 3 3 2 1 2 3 3 2 2 2 3 3 3 3 3 3"},{"location":"skyblock-builder/1.19.x/config/spawn/#spawn-protection-events","title":"Spawn Protection Events","text":"A list of event types which will be prevented.
Name Descriptioninteract_entities
Interacting with entities, e.g. riding a pig interact_blocks
Interacting with blocks, e.g. activating buttons, placing, or destroying blocks mob_griefing
Mobs destroying the world explosions
TNT, creeper, or other explosions crop_grow
Crops increasing their growth status mobs_spawn
Mobs spawning mobs_spawn_egg
Mobs being summoned using a spawn egg damage
Attacking others, or getting attacked healing
Getting healed and saturated on spawn"},{"location":"skyblock-builder/1.19.x/config/spawn/#dimension","title":"Dimension","text":"This sets the dimension where you will spawn and the island be generated.
This can be any dimension found in config/skyblockbuilder/data/dimensions.txt
. This file will only be generated when joining a skyblock world.
You can set a range from minY
to maxY
. minY
is the bottom spawn position. maxY
is the top spawn dimension. If you set the spawn height type (see below) to set
, the bottom value will be used for a set height. Otherwise, the height will be calculated.
set
: This is a fixed spawn position. For users of the older versions of skyblock builder, this is the normal mode as before. It will use the bottom
value of the range as fixed height. The top
value will be ignored.
range_top
: This will search for a valid position beginning at the top
position, down to the bottom
. If no valid spawn was found, it uses the top
value as fixed height.
range_bottom
: Same as range_top
. The only difference is that it uses the bottom
value as fixed height if there was no valid spawn found.
Valid spawns are defined as: Two block air on top of each other. Under that, it's a normal block/slab, or block inside the valid spawn block tag \ud83d\udd17 #skyblockbuilder:additional_valid_spawns
.
If the spawn height type is set to range
, this offset will be used to slightly move the spawn height in any direction. Negative values go down, positive values go up.
The radius to find a valid spawn if no given spawn point is valid.
Minimum: 0
"},{"location":"skyblock-builder/1.19.x/config/structures/","title":"Structures","text":""},{"location":"skyblock-builder/1.19.x/config/structures/#generating-structures","title":"Generating Structures","text":"A list with all structures \ud83d\udd17 that should be generated. A list with all possible structures can be found in config/skyblockbuilder/data/structures.txt
. Some structures in the nether are being generated by default, but you could turn that off. Overworld only has the stronghold as default option.
This is a resource list. Read more about it here \ud83d\udd17.
"},{"location":"skyblock-builder/1.19.x/config/structures/#generating-features","title":"Generating Features","text":"A list with all features \ud83d\udd17 that should be generated. A list with all possible features can be found in config/skyblockbuilder/data/features.txt
. As you can read in the Minecraft Wiki article, features need special conditions to be generated properly. This can be done with the surface.
INFO: The two default values are required for the obsidian towers in end. If this is missing, they will be first generated when respawning the dragon.
This is a resource list. Read more about it here \ud83d\udd17.
"},{"location":"skyblock-builder/1.19.x/config/utility/","title":"Utility","text":""},{"location":"skyblock-builder/1.19.x/config/utility/#create-own-team","title":"Create own team","text":"This allows players to create their own team.
"},{"location":"skyblock-builder/1.19.x/config/utility/#self-managing","title":"Self managing","text":"Allows the player to use several commands. This includes these commands:
This allows players to modify spawns. Needs self-managing to be enabled.
"},{"location":"skyblock-builder/1.19.x/config/utility/#range","title":"Range","text":"The distance from the island center where the users should be able to add spawns.
"},{"location":"skyblock-builder/1.19.x/config/utility/#teleports","title":"Teleports","text":""},{"location":"skyblock-builder/1.19.x/config/utility/#visits","title":"Visits","text":"Allows the player to visit other islands.
"},{"location":"skyblock-builder/1.19.x/config/utility/#home","title":"Home","text":"Allows the player to teleport back home. Has a cooldown for each player.
"},{"location":"skyblock-builder/1.19.x/config/utility/#spawn","title":"Spawn","text":"Allows the player to teleport to the spawn island. Has a cooldown for each player.
"},{"location":"skyblock-builder/1.19.x/config/utility/#cross-dimension-teleportation","title":"Cross Dimension Teleportation","text":"Allows the player to teleport (see above) from another dimension, for example the main world is overworld, players will be able to also teleport from the nether to the spawn, their island, or even visit others. Setting this to false forces them to be in the overworld (if that's the main dimension).
"},{"location":"skyblock-builder/1.19.x/config/utility/#dimension-teleportation-permission","title":"Dimension teleportation permission","text":"A list of dimensions where you can't use teleportation commands. If you set allow_list
to true, these commands are allowed in these dimensions only.
This is a resource list. Read more about it here \ud83d\udd17.
"},{"location":"skyblock-builder/1.19.x/config/world/","title":"World","text":""},{"location":"skyblock-builder/1.19.x/config/world/#island-distance","title":"Island distance","text":"The distance between two islands. If you choose the_nether
as start dimension, it will be divided by 8.
The offset from 0, 0 to generate the islands. Can be used to generate them in the middle of .mca files.
"},{"location":"skyblock-builder/1.19.x/config/world/#sea-height","title":"Sea height","text":"The sea level in the world. This has nothing to do with the water height in the world. This does affect the spawn height of squids for example.
"},{"location":"skyblock-builder/1.19.x/config/world/#surface","title":"Surface","text":"The block settings for generating the different dimensions surfaces. It's in the same format as flat world generation settings \ud83d\udd17, but will ignore the biome. You can set it for each dimension. Instead of removing the dimension from the list, just set it to an empty string to generate it completely void. If the surface is disabled, it will ignore the setting.
"},{"location":"skyblock-builder/1.19.x/config/world/#biomes","title":"Biomes","text":"It's a map which provides ResourceLists \ud83d\udd17. It's set to allow all biomes per default. You can deny biomes by adding them to the list. Setting allow_list
to true will only use the biomes in the list. Keep in mind that each dimension needs at least one valid biome!
A list with all possible structures can be found in config/skyblockbuilder/data/biomes.txt
.
Download
To create a hellblock like modpack, you can simply set the spawn dimension to the_nether
as you can see in the config below.
config/skyblockbuilder/common-config.json5
:
{\n\"Spawn\": {\n\"dimension\": \"the_nether\"\n}\n}\n
This world will have a default overworld and a default end. The nether is \"sky\" and is filled with 10 layers of lava. I also added some structures for the nether. Because overworld is default, we don't have to care about the overworld structures and can just ignore them. They will be generated as normal.
Thanks to benbenlaw \ud83d\udd17 for giving me permission to use the template from his well known modpack Infernopolis \ud83d\udd17 for this example. I tweaked a bit more on the template to avoid using mod blocks.
"},{"location":"skyblock-builder/1.19.x/examples/seablock/","title":"Seablock","text":"Download
To create a seablock like modpack, you can simply set the surface settings as you can see in the config below.
config/skyblockbuilder/common-config.json5
:
{\n\"World\": {\n\"surface\": true,\n\"surfaceSettings\": {\n\"minecraft:overworld\": \"minecraft:bedrock,100*minecraft:sandstone,4*minecraft:sand,87*minecraft:water\",\n\"minecraft:the_nether\": \"\",\n\"minecraft:the_end\": \"\"\n}\n}\n}\n
I added a lot of sandstone layers for the image. Additionally, in the download are a few more things changed. A few features and structures are enabled, too. The spawn height was changed to set the top of the island on top of the water layers.
Here you can also see the single biome option.
This example also contains the feature of multiple templates where you can see how to set it up correctly.
config/skyblockbuilder/templates.json5
:
{\n\"templates\": [\n{\n\"name\": \"Blue\",\n\"file\": \"seablock_blue.nbt\",\n\"spawns\": \"seablock\"\n},\n{\n\"name\": \"Black\",\n\"file\": \"seablock_black.nbt\",\n\"spawns\": \"seablock\"\n},\n{\n\"name\": \"Green\",\n\"file\": \"seablock_green.nbt\",\n\"spawns\": \"seablock\"\n},\n{\n\"name\": \"Orange\",\n\"file\": \"seablock_orange.nbt\",\n\"spawns\": \"seablock\"\n},\n{\n\"name\": \"Purple\",\n\"file\": \"seablock_purple.nbt\",\n\"spawns\": \"seablock\"\n},\n{\n\"name\": \"Red\",\n\"file\": \"seablock_red.nbt\",\n\"spawns\": \"seablock\"\n},\n{\n\"name\": \"White\",\n\"file\": \"seablock_white.nbt\",\n\"spawns\": \"seablock\"\n},\n{\n\"name\": \"Yellow\",\n\"file\": \"seablock_yellow.nbt\",\n\"spawns\": \"seablock\"\n}\n]\n}\n
Thanks to benbenlaw \ud83d\udd17 for giving me permission to use the templates from his well known modpack Seaopolis \ud83d\udd17 for this example.
"},{"location":"skyblock-builder/1.19.x/examples/skyblock/","title":"Skyblock","text":"This is the default island when using the mod. You don't have to adjust any config for this. Just use it.
If you want another starting island, just replace the file config/skyblockbuilder/templates/default.nbt
and adjust the spawns.
The next examples will contain downloads with all changed things.
"},{"location":"skyblock-builder/1.19.x/examples/stoneblock/","title":"Stoneblock","text":"Download
To create a stoneblock like modpack, you can simply set the surface settings as you can see in the config below.
config/skyblockbuilder/common-config.json5
:
{ \"World\": {\n\"surface\": true,\n\"surfaceSettings\": {\n\"minecraft:overworld\": \"minecraft:bedrock,382*minecraft:stone,minecraft:bedrock\",\n\"minecraft:the_nether\": \"\",\n\"minecraft:the_end\": \"\"\n}\n}\n}\n
The download file will also set the default world type to Skyblock
. It will generate Bedrock at top and bottom of the dimension. It has only one spawn point. A starting inventory is included, too. Here you can see it:
{\n\"items\": [\n{\n\"item\": \"minecraft:wooden_pickaxe\",\n\"nbt\": {\n\"Unbreakable\": true,\n\"Enchantments\": [\n{\n\"lvl\": 2,\n\"id\": \"minecraft:efficiency\"\n}\n],\n\"display\": {\n\"Name\": \"{\\\"text\\\":\\\"Infinite Pickaxe\\\"}\"\n}\n}\n}\n]\n}\n
"},{"location":"skyblock-builder/1.19.x/packdev/admin/","title":"Managing teams","text":""},{"location":"skyblock-builder/1.19.x/packdev/admin/#operators-only","title":"Operators only","text":"Only an operator with permission level 2 or higher can change anything in the /skyblock manage
category.
Use the /skyblock manage teams create <name>
command to generate a team with the given name. If no name is provided, a random name will be generated.
Alternatively (good for servers), you can use /skyblock manage teams createAndJoin
to create the team and join it. To use it on a server, you should put it in a command block which can be triggered by the user and runs this command:
/execute as @p run skyblock manage teams createAndJoin
Use the /skyblock manage teams delete <name>
to delete the team with the given name.
WARNING! This cannot be undone. The island will still exist, but you can't re-bind a new team to that island. If users are in the team, they will be teleported to spawn after dropping all their items.
"},{"location":"skyblock-builder/1.19.x/packdev/admin/#clearing-teams","title":"Clearing teams","text":"Because teams can be empty, you can \"clear\" all islands. If you use /skyblock manage teams clear <name>
, all empty teams will be deleted as in Deleting teams.
If you provide a team name, all players from this team will be removed and teleported to spawn island.
"},{"location":"skyblock-builder/1.19.x/packdev/admin/#leaving-a-team","title":"Leaving a team","text":"An operator need to remove players from a team. For that, they need to use /skyblock manage kickPlayer <player>
. The removed player will be teleported back to spawn after dropping all the items in the inventory.
If you're not op and want to leave your team, you can simply type in /skyblock leave
. You will drop all your items and be teleported to spawn.
See Default World Type. Use skyblockbuilder:skyblock
as config value.
If you want to provide a custom server.properties
file, set the level-type
to skyblockbuilder:skyblock
. Otherwise, it's the same as in single player.
Structure Saver
from the vanilla Tools tab in creative inventory. The output directory for this is <minecraft>/skyblock_exports/<name>.nbt
. Alternatively, you can also use the vanilla Structure Block. Keep in mind that this can only save islands up to 48x48x48 blocks and the output is in <minecraft>/saves/<world>/generated/minecraft/structures/<name>.nbt
.config/skyblockbuilder/templates/<name>.nbt
.config/skyblockbuilder/templates.json5
. There can be multiple spawns, each one is an array with [x, y, z]
relative to the 0, 0, 0 from the template structure. You can also modify existing spawns and export them with /skyblock spawns EXPORT
. IMPORTANT: You need to be in a world with world-type Skyblock
to use the commands./skyblock spawns debug
to view all possible spawn points.config/skyblockbuilder/templates.json5
where needed.You can set a default spawn island for new worlds by setting spawn
. If it's set to null
, it will use the default template used for new teams. For more information about the value for spawn
, look at Configuring templates.
You can set multiple schematics by putting them into config/skyblockbuilder/templates/
. These schematics can the user use by pressing the Customize
button in world options screen or changing the schematic with command /skyblock manage islandShape <template>
where <template>
is the name specified in next chapter.
As described in Creating a custom skyblock island, you can improve the readability of templates and set the spawn points for each template in the config here: config/skyblockbuilder/templates.json5
. There you have multiple options. First the spawns
:
{\n\"spawns\": {\n\"default\": [\n[ 6, 3, 5 ]\n]\n}\n}\n
This option holds multiple objects. The key (here default
) is important for the templates
option in a next step. You can have multiple entries, but keep in mind that no key can be used twice! The content of each object is an array. This array contains the spawn positions. The spawn positions are formatted this way: [ x, y, z ]\n
Second, the surroundingBlocks
:
{\n\"surroundingBlocks\": {\n\"default\": [\n\"minecraft:stone\",\n\"minecraft:bedrock\"\n]\n}\n}\n
This options holds multiple objects. The key (here default
) is important for the templates
option in the next step. You can have multiple entries, but keep in mind that no key can be used twice! The content of each object is an array of resource locations for blocks. These blocks will be used to surround the template with these blocks, randomly selected. Look at the surroundingMargin
in the next step for thickness. Now the templates
:
{\n\"templates\": [\n{\n\"name\": \"default\", \"desc\": \"Default template\",\n\"file\": \"default.nbt\",\n\"spawns\": \"default\", \"direction\": \"south\", \"offset\": [ 0, 0 ],\n\"offsetY\": 0,\n\"surroundingBlocks\": \"default\",\n\"surroundingMargin\": 0\n}\n]\n}\n
name
is the name displayed in the Customize
screen when selecting the world-preset.desc
(optional - default \"\") is the description displayed in the Customize
screen when selecting the world-type.file
is the name of the file for that template.spawns
is the spawn configuration name from the spawns
option.direction
(optional - default \"south\") is the direction the user should look at for this template. If not provided, it'll be south
.offset
(optional - default [ 0, 0 ]) is the offset for this specific template. Read here more about the offset. This specific offset can also be set for x (first number) and z (second number) separately.offsetY
(optional - default 0) is the offset for this specific Y orientation. Will be merged into offset
in 1.20 onwards.surroundingBlocks
(optional - default \"\") is the surrounding blocks configuration name from the surroundingBlocks
option.surroundingMargin
(optional - default 0) is the thickness for the border. You can have the same file and the same spawns in multiple configurations. They all are only separated by the name.You can also set an icon for each template. This is located in config/skyblockbuilder/templates/icon/<name>.png
. The name needs to be lowercase.
NOTE: If you spawn inside a block, you could add this block to the block tag \ud83d\udd17 #skyblockbuilder:additional_valid_spawns
.
If you want a loot chest on an island, you need to set the NBT data to the chest with the /data merge block <x y z> {LootTable: modid:path/to/loot_table}
command to set it as loot chest.
WARNING! Do not open that chest after merging this data into the chest.
"},{"location":"skyblock-builder/1.19.x/packdev/packdev/#convert-existing-templates-from-nbt-to-snbt","title":"Convert existing templates from.nbt
to .snbt
","text":"You can convert existing templates from .nbt
to .snbt
files with the command /skyblock templates_to_snbt
. This will convert all templates in the config/skyblockbuilder/templates/
directory to .snbt
files while keeping the original .nbt
files.
Inviting users Everyone in a team can invite other players. For that, you can use /skyblock invite <player>
. That will send an invitation to the given player. Only players with no team can be invited.
Everyone with an invitation can accept them. You can only accept invitations if you're in no team. For that, you use the command /skyblock accept <team>
. You can also decline an invitation by using the command /skyblock decline <team>
.
You can send a join request to all teams if you're currently in no team by using /skyblock join <team>
. That will send a request to the team and each player in the team can accept or deny your request.
Each user of a team can use /skyblock team accept <player>
to accept the given player. That will teleport the player to your island. You can also deny the request by using /skyblock team deny <player>
.
You can see your teams current join request state with /skyblock team allowRequests
and enable/disable it with /skyblock team allowRequests <true/false>
.
If users are allowed to create islands with their own command, you can use /skyblock create <name> <players>
. This will create a team, and the given players will be added to the new team. If no players are given, the user who executes the command will be added to the team. If no name is given, a random name will be generated.
You can rename a/your team by using /skyblock team <new name> <team name>
. <team name>
is optional. Can be used by any team member. Users with permission level 2 could also edit other teams' name.
If enabled in the config, you can modify spawns from your team. You can add them with /skyblock team spawns add <pos>
. If no position is given, the current position will be used. Remove them with /skyblock team spawns remove <pos>
. Same as before: position is optional. For users with permission level 2: /skyblock team spawns reset <team>
will reset the spawn points to the default ones. To add the spawns, you need to be within the range specified in the config.
If home command is enabled in the config, you can teleport back to your teams' island with /skyblock home
. Has a configurable cooldown.
If teleporting to spawn is enabled in the config, you can teleport to spawn island with /skyblock spawn
. Has a configurable cooldown.
If visits are enabled in the config, and a team enabled visiting, you can visit an island with /skyblock visit <team>
.
You can see your teams current visiting state with /skyblock team allowVisits
and enable/disable it with /skyblock team allowVisits <true/false>
. On new teams, this is set to false
.
common-config.json5
into 6 separate configs:customization.json5
for customization configsdimensions.json5
for the dimension configsinventory.json5
for inventory related configspermissions.json5
for permissions, previously being the Utility
section in the configspawn.json5
for spawn related thingsstructures.json5
for configuring structures and featuresworld.json5
for world config such as surfacedirection
in template config and move to spawns
/locate
command for spreadsapply_bonemeal
spawn protection for twerking mods/skyblock spawns
command, so that you can teleport to them easilyUse this tool to update your old common-config.json5
to the new files.
Drag & drop common-config.json5 file here
Drag & drop templates.json5 file here
Download Files Download File"},{"location":"skyblock-builder/1.20.x/api/","title":"Adding compat as mod dev","text":""},{"location":"skyblock-builder/1.20.x/api/#disable-team-management","title":"Disable team management","text":"You can use the API to disable team management without the config needs to be changed. Additionally, you can disable that players will be teleported to spawn when joining the world.
For more information about this, look here \ud83d\udd17. You can call this in the main constructor of your mod.
"},{"location":"skyblock-builder/1.20.x/api/#custom-forge-events","title":"Custom Forge Events","text":"Skyblock Builder fires several events which you can subscribe like normal Forge events. These are all events:
All events do have proper Javadoc which describe what they do.
"},{"location":"skyblock-builder/1.20.x/compat/","title":"Compatability with other mods","text":""},{"location":"skyblock-builder/1.20.x/compat/#cadmus","title":"Cadmus","text":"This mod is compatible with Cadmus \ud83d\udd17. If Cadmus is installed, a new config will be registered. This includes mainly protecting spawn chunks by the mod itself. There's also the command /cadmus skyblockbuilder protectSpawn
for claiming the spawn chunks after a world was created. This is helpful in packs where the setting is disabled by default but the server owner wants to claim them.
This mod is compatible with Curios \ud83d\udd17. This only means that items will be dropped from the Curios inventory when leaving a team and the config is enabled, too.
"},{"location":"skyblock-builder/1.20.x/compat/#heracles","title":"Heracles","text":"This mod is compatible with Heracles \ud83d\udd17. It adds a new task type for spreads. If Heracles is installed, a new config will be registered. You can combine multiple spreads in the GUI by using |
as separator. This would be the input for the example below: water_cave|water_cave_birch|water_cave_dark_oak|water_cave_desert|water_cave_jungle|water_cave_spruce|water_cave_swamp
This mod is compatible with MineMention \ud83d\udd17. To write in the teams chat, you can use skyblockbuilder:sky_team
in MineMention config file. This would look like this:
{\n\"mentions\": {\n\"everyone\": \"minemention:everyone\",\n\"here\": \"minemention:here\",\n\"team\": \"skyblockbuilder:sky_team\"\n}\n}\n
"},{"location":"skyblock-builder/1.20.x/create_issues/","title":"Creating Issues","text":"Here's the GitHub link to report issues for Skyblock Builder: https://github.com/ChaoticTrials/SkyblockBuilder/issues/new/choose
"},{"location":"skyblock-builder/1.20.x/create_issues/#report-bugs","title":"Report bugs","text":""},{"location":"skyblock-builder/1.20.x/create_issues/#normal-report","title":"Normal Report","text":"The normal way would be to use the Bug Report (Manual Mode)
template when clicking the link above. In that case, you need to put in a title, select a Minecraft version the bugs occurs, the used LibX, Skyblock Builder, and Forge version, the latest.log
, a detailed description of the issue, and a few steps how to reproduce the bug. If the problem only happens in a pack, please include a link to the pack, and the exact version you're using. If the pack is still unreleased, provide an exported version of the pack with the most important configs. If you don't want to share it public, feel free to visit my Discord server \ud83d\udd17 and send a DM to the user @MelanX
.
With 1.20.1, a new command was introduced, called /skyblock dump
. That opens a screen which you can see below:
The red outlined option only shows for op players
There you can configure what your dump report should include. It is recommended to include all the data. However, you're free to de-select some values for whatever reason. Explanation for each option:
Configs
-> Dump file includes all config files of Skyblock BuilderTemplates and Spreads
-> Dump file includes all files in the config/skyblockbuilder/templates
directorylevel.dat
-> Dump file includes the level.dat
of the world you're inlatest.log
-> Dump file includes the latest.log
file, this also includes all chat messages of this run and may include ip addressescrash-<latest>.txt
-> Dump file includes the latest crash report if present. If you didn't encounter a crash for this issue, de-select it as it would include a maybe non-related crash reportSkyblock Data File
-> Dump file includes the files world/data/skyblock_builder.dat
and world/data/template.dat
, which contains all the metadata of all teams, such as member ids, island position, team name and some moreCreate Dump on Server
-> Dump file will be generated on the server side, useful as admin when the crash is server sideThe Create Dump
button will create a zip file, located in <instance>/skyblockbuilder/dumps
. The exact name can be viewed in chat. When clicking the message, the folder will be opened. Use the template Bug Report (Dump Mode)
on GitHub. That way, you only need to provide the Minecraft version, the dump file, a detailed description, and a few steps how to reproduce the bug. If the problem only happens in a pack, please include a link to the pack, and the exact version you're using. If the pack is still unreleased, provide an exported version of the pack with the most important configs. If you don't want to share it public, feel free to visit my Discord server \ud83d\udd17 and send a DM to the user @MelanX
.
Use the Feature request
template to suggest any new feature. New features will most likely only be implemented in the latest version of the mod. Sometimes, new features need to change the code too much, so that it will be added in the next major Minecraft version.
You find it kinda annoying that users have to handle everything with commands? The solution is Sky GUIs \ud83d\udd17. This mod adds a lot of GUIs which help to create own teams, join teams, or invite other players.
"},{"location":"skyblock-builder/1.20.x/world_types/","title":"World Types","text":""},{"location":"skyblock-builder/1.20.x/world_types/#skyblock","title":"Skyblock","text":"The only world type added is called Skyblock. It is a world where you can customize the starting island.
You can use this world type on servers by using skyblockbuilder:skyblock
.
The config values on this page can be found in config/skyblockbuilder/customization.json5
You can decide if the team name will be displayed in the tab list on a server.
"},{"location":"skyblock-builder/1.20.x/config/customization/#delete-teams-automatically","title":"Delete Teams Automatically","text":"If the last player leaves a team, the team will automatically be deleted. The island and all its blocks remain at this position! This position will not be used for any new team, only the remaining team will be deleted.
"},{"location":"skyblock-builder/1.20.x/config/dimensions/","title":"Dimensions","text":"The config values on this page can be found in config/skyblockbuilder/dimensions.json5
Here you can set if the overworld should generate as in a normal world. This will ignore the configured structures and features. This is useful when your starting dimension is not the overworld.
"},{"location":"skyblock-builder/1.20.x/config/dimensions/#the-nether","title":"The Nether","text":"Here you can set if the nether should generate as in a normal world. This will ignore the configured structures and features.
You can also set a structure for a nether portal. This is a .nbt
or .snbt
file within the directory config/skyblockbuilder/templates
and must contain at least one nether portal block. This will be generated whenever no nether portal was found in the nether, so be careful with valuable content - users can destroy the portal and re-generate this template over and over again.
This is a name of a template file such as nether_entry.snbt
. It can be generated by using the structure saver tool. It requires at least one nether portal block. Each time a player enters the nether, the whole structure will be placed. Because of that, you should take care about which blocks you include in this template!
Here you can set if the end should generate as in a normal world. This will ignore the configured structures and features. Additionally, you can choose if the main island (with the dragon) should be generated or not.
"},{"location":"skyblock-builder/1.20.x/config/dimensions/#other-dimensions","title":"Other dimensions","text":"All other dimensions (added by datapacks, or other mods) will not be void and can't be configured. If you want compatability, ask the mod author of this mod or open an issue on GitHub \ud83d\udd17.
"},{"location":"skyblock-builder/1.20.x/config/inventory/","title":"Inventory","text":"The config values on this page can be found in config/skyblockbuilder/inventory.json5
If this option is selected, the users inventory will be deleted when joining the world the first time. This is useful if you don't want that other mods give the player items like guide books.
Notice: This option will not affect the starting inventory.
"},{"location":"skyblock-builder/1.20.x/config/inventory/#dropping-inventory","title":"Dropping inventory","text":"If this option is selected, the users inventory will be dropped when leaving a team.
"},{"location":"skyblock-builder/1.20.x/config/inventory/#starting-inventory","title":"Starting inventory","text":"You can set a starting inventory by customising config/skyblockbuilder/starter_inventory.json5
. These items will be given to the player only on initial joining world, not when joining a team. You can also set the items to a special slot with key Slot
.
You could also just export your inventory by using the command /skyblock inventory export
. This will create a new file in the skyblock_exports
folder with the current inventory and the correct slot.
If you have Curios installed, you can also add these items by adding the same array of items like in items
, but the key needs to be called curios_items
. These always need the Slot
key. Available slots can be found by using the command /curios list
. If you add too many items to one slot, or add an item to an invalid identifier, it'll log that and the player gets a message. Check that before releasing the pack!
Available values for the vanilla slots are:
mainhand
(default)offhand
head
chest
legs
feet
The config could look like this:
{\n\"items\": [\n{\n\"item\": \"minecraft:diamond_pickaxe\",\n\"nbt\": \"{Unbreakable:1b}\"\n},\n{\n\"item\": \"minecraft:bread\",\n\"count\": 32,\n\"Slot\": \"offhand\"\n}\n],\n\"curios_items\": [\n{\n\"item\": \"botania:flight_tiara\",\n\"nbt\": \"{variant:7}\",\n\"Slot\": \"head\"\n},\n{\n\"item\": \"botania:monocle\",\n\"Slot\": \"charm\"\n}\n]\n}\n
If you want that every other item will be deleted, you can simply set the config option inventory.clear
to true. This will delete items like guide books or other things. That way, you don't have to go through all configs to enable these items and could just add them to the starter items.
The config values on this page can be found in config/skyblockbuilder/permissions.json5
This allows players to create their own team.
"},{"location":"skyblock-builder/1.20.x/config/permissions/#self-managing","title":"Self managing","text":"Allows the player to use several commands. This includes these commands:
This allows players to modify spawns. Needs self-managing to be enabled.
"},{"location":"skyblock-builder/1.20.x/config/permissions/#range","title":"Range","text":"The distance from the island center where the users should be able to add spawns.
"},{"location":"skyblock-builder/1.20.x/config/permissions/#teleports","title":"Teleports","text":""},{"location":"skyblock-builder/1.20.x/config/permissions/#visits","title":"Visits","text":"Allows the player to visit other islands. Has a cooldown for each player.
"},{"location":"skyblock-builder/1.20.x/config/permissions/#home","title":"Home","text":"Allows the player to teleport back home. Has a cooldown for each player.
"},{"location":"skyblock-builder/1.20.x/config/permissions/#spawn","title":"Spawn","text":"Allows the player to teleport to the spawn island. Has a cooldown for each player.
"},{"location":"skyblock-builder/1.20.x/config/permissions/#cross-dimension-teleportation","title":"Cross Dimension Teleportation","text":"Allows the player to teleport (see above) from another dimension, for example the main world is overworld, players will be able to also teleport from the nether to the spawn, their island, or even visit others. Setting this to false forces them to be in the overworld (if that's the main dimension).
"},{"location":"skyblock-builder/1.20.x/config/permissions/#dimension-teleportation-permission","title":"Dimension teleportation permission","text":"A list of dimensions where you can't use teleportation commands. If you set allow_list
to true, these commands are allowed in these dimensions only.
This is a resource list. Read more about it here \ud83d\udd17.
"},{"location":"skyblock-builder/1.20.x/config/spawn/","title":"Spawn","text":"The config values on this page can be found in config/skyblockbuilder/spawn.json5
This sets the radius around the spawn which should be protected and only op players can interact with. This prevents (tool) interactions, mob griefing, explosions, breaking blocks, farmland trampling, growing crops, and attacking. Additionally, the player will always have max health, max food level, can't drown, and can't be set on fire. This is default set to 0, so nothing is protected. Look at the table here to see more options:
3 3 3 3 3 3 2 2 2 3 3 2 1 2 3 3 2 2 2 3 3 3 3 3 3"},{"location":"skyblock-builder/1.20.x/config/spawn/#spawn-protection-events","title":"Spawn Protection Events","text":"A list of event types which will be prevented.
Name Descriptioninteract_entities
Interacting with entities, e.g. riding a pig interact_blocks
Interacting with blocks, e.g. activating buttons, placing, or destroying blocks mob_griefing
Mobs destroying the world explosions
TNT, creeper, or other explosions crop_grow
Crops increasing their growth status apply_bonemeal
Applying bone meal to plants mobs_spawn
Mobs spawning mobs_spawn_egg
Mobs being summoned using a spawn egg damage
Attacking others, or getting attacked healing
Getting healed and saturated on spawn"},{"location":"skyblock-builder/1.20.x/config/spawn/#dimension","title":"Dimension","text":"This sets the dimension where you will spawn and the island be generated.
This can be any dimension found in config/skyblockbuilder/data/dimensions.txt
. This file will only be generated when joining a skyblock world.
You can set a range from minY
to maxY
. minY
is the bottom spawn position. maxY
is the top spawn dimension. If you set the spawn height type (see below) to set
, the bottom value will be used for a set height. Otherwise, the height will be calculated.
set
: This is a fixed spawn position. For users of the older versions of skyblock builder, this is the normal mode as before. It will use the bottom
value of the range as fixed height. The top
value will be ignored.
range_top
: This will search for a valid position beginning at the top
position, down to the bottom
. If no valid spawn was found, it uses the top
value as fixed height.
range_bottom
: Same as range_top
. The only difference is that it uses the bottom
value as fixed height if there was no valid spawn found.
Valid spawns are defined as: Two block air on top of each other. Under that, it's a normal block/slab, or block inside the valid spawn block tag \ud83d\udd17 #skyblockbuilder:additional_valid_spawns
.
If the spawn height type is set to range
, this offset will be used to slightly move the spawn height in any direction. Negative values go down, positive values go up.
The radius to find a valid spawn if no given spawn point is valid.
Minimum: 0
"},{"location":"skyblock-builder/1.20.x/config/structures/","title":"Structures","text":"The config values on this page can be found in config/skyblockbuilder/structures.json5
A list with all structures \ud83d\udd17 that should be generated. A list with all possible structures can be found in config/skyblockbuilder/data/structures.txt
. Some structures in the nether are being generated by default, but you could turn that off. Overworld only has the stronghold as default option.
This is a resource list. Read more about it here \ud83d\udd17.
"},{"location":"skyblock-builder/1.20.x/config/structures/#generating-features","title":"Generating Features","text":"A list with all features \ud83d\udd17 that should be generated. A list with all possible features can be found in config/skyblockbuilder/data/features.txt
. As you can read in the Minecraft Wiki article, features need special conditions to be generated properly. This can be done with the surface.
INFO: The two default values are required for the obsidian towers in end. If this is missing, they will be first generated when respawning the dragon.
This is a resource list. Read more about it here \ud83d\udd17.
"},{"location":"skyblock-builder/1.20.x/config/world/","title":"World","text":"The config values on this page can be found in config/skyblockbuilder/world.json5
The distance between two islands. If you choose minecraft:the_nether
as start dimension, it will be divided by 8.
The offset from 0, 0, 0 to generate the islands. Can be used to generate them in the middle of .mca files, or moving the island up/down. The value in the middle is you height, one and three is for x and z direction.
"},{"location":"skyblock-builder/1.20.x/config/world/#sea-height","title":"Sea height","text":"The sea level in the world. This has nothing to do with the water height in the world. This does affect the spawn height of squids for example.
"},{"location":"skyblock-builder/1.20.x/config/world/#surface","title":"Surface","text":"The block settings for generating the different dimensions surfaces. It's in the same format as flat world generation settings \ud83d\udd17, but will ignore the biome. You can set it for each dimension. Instead of removing the dimension from the list, just set it to an empty string to generate it completely void. If the surface is disabled, it will ignore the setting.
"},{"location":"skyblock-builder/1.20.x/config/world/#biomes","title":"Biomes","text":"It's a map which provides ResourceLists \ud83d\udd17. It's set to allow all biomes per default. You can deny biomes by adding them to the list. Setting allow_list
to true will only use the biomes in the list. Keep in mind that each dimension needs at least one valid biome!
A list with all possible structures can be found in config/skyblockbuilder/data/biomes.txt
.
This is used to prevent gravel or sand from falling when generating the island. To define which blocks will be prevented, use the block tag skyblockbuilder:prevent_scheduled_tick
. This is filled with fallable blocks by default. This includes all sand, gravel, and concrete powder types, as well as any anvil, pointed dripstone, and the dragon egg.
This can be enabled if the overworld is still normal, and maybe there's no spawn. This will force the player to be teleported to the overworld world spawn instead of the default spawn.
"},{"location":"skyblock-builder/1.20.x/config/compat/cadmus/","title":"Cadmus","text":"The config values on this page can be found in config/skyblockbuilder/cadmus.json5
when Cadmus \ud83d\udd17 is installed
This is a component config for the display name that will be shown as owner of the claimed chunks at spawn. It looks like this:
{\n\"text\": \"SkyblockBuilder Spawn\"\n}\n
or this, with an additional resource pack where it defines this translation key: {\n\"translate\": \"cavestone.cadmus.chunk_claim_name\"\n}\n
"},{"location":"skyblock-builder/1.20.x/config/compat/cadmus/#protect-spawn-chunks","title":"Protect spawn chunks","text":"This setting will automatically claim spawn chunks as admin claims. The radius of protected chunks is defined by spawnProtectionRadius
.
The config values on this page can be found in config/skyblockbuilder/heracles.json5
when Heracles \ud83d\udd17 is installed
If this config is enabled, it will result in a quest progress reset when a player leaves a team, no matter in which way:
This does not apply for players with permission level 2 or higher.
"},{"location":"skyblock-builder/1.20.x/config/compat/heracles/#skip-non-existing-spreads","title":"Skip non-existing Spreads","text":"If a player does not have a team, or the team does not have any spread, this config option can be used to complete these tasks without the player needing to visit these spreads.
"},{"location":"skyblock-builder/1.20.x/examples/hellblock/","title":"Hellblock","text":"Download
To create a hellblock like modpack, you can simply set the spawn dimension to the_nether
as you can see in the config below.
config/skyblockbuilder/spawn.json5
:
{\n\"dimension\": \"the_nether\"\n}\n
This world will have a default overworld and a default end. The nether is \"sky\" and is filled with 10 layers of lava. I also added some structures for the nether. Because overworld is default, we don't have to care about the overworld structures and can just ignore them. They will be generated as normal.
Thanks to benbenlaw \ud83d\udd17 for giving me permission to use the template from his well known modpack Infernopolis \ud83d\udd17 for this example. I tweaked a bit more on the template to avoid using mod blocks.
"},{"location":"skyblock-builder/1.20.x/examples/seablock/","title":"Seablock","text":"Download
To create a seablock like modpack, you can simply set the surface settings as you can see in the config below.
config/skyblockbuilder/world.json5
:
{\n\"surface\": true,\n\"surfaceSettings\": {\n\"minecraft:overworld\": \"minecraft:bedrock,100*minecraft:sandstone,4*minecraft:sand,87*minecraft:water\",\n\"minecraft:the_nether\": \"\",\n\"minecraft:the_end\": \"\"\n}\n}\n
I added a lot of sandstone layers for the image. Additionally, in the download are a few more things changed. A few features and structures are enabled, too. The spawn height was changed to set the top of the island on top of the water layers.
Here you can also see the single biome option.
This example also contains the feature of multiple templates where you can see how to set it up correctly.
config/skyblockbuilder/templates.json5
:
{\n\"templates\": [\n{\n\"name\": \"Blue\",\n\"file\": \"seablock_blue.nbt\",\n\"spawns\": \"seablock\"\n},\n{\n\"name\": \"Black\",\n\"file\": \"seablock_black.nbt\",\n\"spawns\": \"seablock\"\n},\n{\n\"name\": \"Green\",\n\"file\": \"seablock_green.nbt\",\n\"spawns\": \"seablock\"\n},\n{\n\"name\": \"Orange\",\n\"file\": \"seablock_orange.nbt\",\n\"spawns\": \"seablock\"\n},\n{\n\"name\": \"Purple\",\n\"file\": \"seablock_purple.nbt\",\n\"spawns\": \"seablock\"\n},\n{\n\"name\": \"Red\",\n\"file\": \"seablock_red.nbt\",\n\"spawns\": \"seablock\"\n},\n{\n\"name\": \"White\",\n\"file\": \"seablock_white.nbt\",\n\"spawns\": \"seablock\"\n},\n{\n\"name\": \"Yellow\",\n\"file\": \"seablock_yellow.nbt\",\n\"spawns\": \"seablock\"\n}\n]\n}\n
Thanks to benbenlaw \ud83d\udd17 for giving me permission to use the templates from his well known modpack Seaopolis \ud83d\udd17 for this example.
"},{"location":"skyblock-builder/1.20.x/examples/skyblock/","title":"Skyblock","text":"This is the default island when using the mod. You don't have to adjust any config for this. Just use it.
If you want another starting island, just replace the file config/skyblockbuilder/templates/default.nbt
and adjust the spawns.
The next examples will contain downloads with all changed things.
"},{"location":"skyblock-builder/1.20.x/examples/stoneblock/","title":"Stoneblock","text":"Download
To create a stoneblock like modpack, you can simply set the surface settings as you can see in the config below.
config/skyblockbuilder/world.json5
:
{ \"surface\": true,\n\"surfaceSettings\": {\n\"minecraft:overworld\": \"minecraft:bedrock,382*minecraft:stone,minecraft:bedrock\",\n\"minecraft:the_nether\": \"\",\n\"minecraft:the_end\": \"\"\n}\n}\n
The download file will also set the default world type to Skyblock
. It will generate Bedrock at top and bottom of the dimension. It has only one spawn point. A starting inventory is included, too. Here you can see it:
{\n\"items\": [\n{\n\"item\": \"minecraft:wooden_pickaxe\",\n\"nbt\": {\n\"Unbreakable\": true,\n\"Enchantments\": [\n{\n\"lvl\": 2,\n\"id\": \"minecraft:efficiency\"\n}\n],\n\"display\": {\n\"Name\": \"{\\\"text\\\":\\\"Infinite Pickaxe\\\"}\"\n}\n}\n}\n]\n}\n
"},{"location":"skyblock-builder/1.20.x/packdev/admin/","title":"Managing teams","text":""},{"location":"skyblock-builder/1.20.x/packdev/admin/#operators-only","title":"Operators only","text":"Only an operator with permission level 2 or higher can change anything in the /skyblock manage
category.
Use the /skyblock manage teams create <name>
command to generate a team with the given name. If no name is provided, a random name will be generated.
Alternatively (good for servers), you can use /skyblock manage teams createAndJoin
to create the team and join it. To use it on a server, you should put it in a command block which can be triggered by the user and runs this command:
/execute as @p run skyblock manage teams createAndJoin
Use the /skyblock manage teams delete <name>
to delete the team with the given name.
WARNING! This cannot be undone. The island will still exist, but you can't re-bind a new team to that island. If users are in the team, they will be teleported to spawn after dropping all their items.
"},{"location":"skyblock-builder/1.20.x/packdev/admin/#clearing-teams","title":"Clearing teams","text":"Because teams can be empty, you can \"clear\" all islands. If you use /skyblock manage teams clear <name>
, all empty teams will be deleted as in Deleting teams.
If you provide a team name, all players from this team will be removed and teleported to spawn island.
"},{"location":"skyblock-builder/1.20.x/packdev/admin/#leaving-a-team","title":"Leaving a team","text":"An operator need to remove players from a team. For that, they need to use /skyblock manage kickPlayer <player>
. The removed player will be teleported back to spawn after dropping all the items in the inventory.
If you're not op and want to leave your team, you can simply type in /skyblock leave
. You will drop all your items and be teleported to spawn.
With implementing spreads, you can also create maps which show the destination of each spread for this team. Use it like this in loot tables:
{\n \"type\": \"minecraft:item\",\n \"name\": \"minecraft:map\",\n \"functions\": [\n {\n \"spreads\": \"spread_1\", // file name without extension, case-sensitive\n \"decoration\": \"red_x\", // \"red_x\" is default if none is set\n \"function\": \"skyblockbuilder:spread_map\",\n \"zoom\": 2 // 2 is default if none is set\n },\n // these are just two examples, don't combine them\n {\n \"spreads\": [ // can be an array, too\n \"spread_1\",\n \"spread_2\"\n ],\n \"decoration\": \"red_x\", // \"red_x\" is default if none is set\n \"function\": \"skyblockbuilder:spread_map\",\n \"zoom\": 2 // 2 is default if none is set\n }\n ]\n}\n
"},{"location":"skyblock-builder/1.20.x/packdev/helpful/","title":"Helpful information","text":""},{"location":"skyblock-builder/1.20.x/packdev/helpful/#commands","title":"Commands","text":""},{"location":"skyblock-builder/1.20.x/packdev/helpful/#generate-command","title":"Generate Command","text":"To debug your templates, you can use the /skyblock generate <template name> [pos] [border] [spreads]
command.
Explained: - <template name>
is the required name of the fully configured template name, set in templates.json5
file - [pos]
is the optional position where to generate the structure - [border]
is true
or false
. If this is true, the border configured as surroundingBlocks
will be added - [spreads]
is true
or false
. If this is true, the spread structures will also be generated
If pos
isn't defined, your current position will be used. border
and spreads
is false
as default.
See Default World Type. Use skyblockbuilder:skyblock
as config value.
If you want to provide a custom server.properties
file, set the level-type
to skyblockbuilder:skyblock
. Otherwise, it's the same as in single player.
Structure Saver
from the vanilla Tools tab in creative inventory. The output directory for this is <minecraft>/skyblock_exports/<name>.nbt
. If you set a Spawn Block, you'll also get an additional file with all the spawn points where the spawn blocks were. They are not present in the exported file. If you click the option to export everything into the config, the template will be generated into the correct directory. If you used spawn blocks, spawns will also be added to config/skyblockbuilder/templates.json5
. Alternatively, you can also use the vanilla Structure Block. Keep in mind that this can only save islands up to 48x48x48 blocks and the output is in <minecraft>/saves/<world>/generated/minecraft/structures/<name>.nbt
.config/skyblockbuilder/templates/<name>.nbt
.config/skyblockbuilder/templates.json5
. There can be multiple spawns, each one is an array with [x, y, z]
relative to the 0, 0, 0 from the template structure. You can also modify existing spawns and export them with /skyblock spawns EXPORT
. IMPORTANT: You need to be in a world with world-type Skyblock
to use the commands./skyblock spawns debug
to view all possible spawn points.config/skyblockbuilder/templates.json5
where needed.You can set a default spawn island for new worlds by setting spawn
. If it's set to null
, it will use the default template used for new teams. For more information about the value for spawn
, look at Configuring templates.
You can set multiple schematics by putting them into config/skyblockbuilder/templates/
. These schematics can the user use by pressing the Customize
button in world options screen or changing the schematic with command /skyblock manage islandShape <template>
where <template>
is the name specified in next chapter.
As described in Creating a custom skyblock island, you can improve the readability of templates and set the spawn points for each template in the config here: config/skyblockbuilder/templates.json5
. There you have multiple options. First the spawns
:
{\n\"spawns\": {\n\"default\": {\n\"east\": [],\n\"west\": [],\n\"north\": [],\n\"south\": [\n[ 6, 3, 5 ]\n]\n}\n}\n}\n
This option holds multiple objects. The key (here default
) is important for the templates
option in a next step. You can have multiple entries, but keep in mind that no key can be used twice! The content of each object are the four directions as keys. These include an array of arrays. This array contains the spawn positions. The spawn positions are formatted this way: [ x, y, z ]\n
Second, the spreads
:
{\n\"spreads\": {\n\"default\": [\n{\n\"file\": \"default.nbt\",\n\"minOffset\": [ -6, 3, 5 ],\n\"maxOffset\": [ 4, 10, 3 ],\n\"origin\": \"center\"\n},\n{\n\"file\": \"default2.nbt\",\n\"offset\": [0, 64, 0]\n}\n]\n}\n}\n
This option is similar to the previously explained spawns
. It holds multiple objects. The key (here default
) is important for the templates
option in a next step. You can have multiple entries, but keep in mind that no key can be used twice! The content of each object is an array with other objects. These objects require a file
(file name of a file located in config/skyblockbuilder/templates/spreads
and ends with .nbt
or .snbt
), and either minOffset
and maxOffset
, or just offset
for an offset relative to the 0 0 0 position of the main island. If you choose minOffset
and maxOffset
, it'll be randomly generated somewhere between. There is also an optional config for the origin
. This defines where the offset should be calculated at. There are two possible values: zero
(default, if not defined) rightcenter
left For debugging, the /locate
command was extended with spread
. With /locate spread <team> <spread>
, you can get all the positions for this type of spread.
Next, the surroundingBlocks
:
{\n\"surroundingBlocks\": {\n\"default\": [\n\"minecraft:stone\",\n\"minecraft:bedrock\"\n]\n}\n}\n
This options holds multiple objects. The key (here default
) is important for the templates
option in the next step. You can have multiple entries, but keep in mind that no key can be used twice! The content of each object is an array of resource locations for blocks. These blocks will be used to surround the template with these blocks, randomly selected. Look at the surroundingMargin
in the next step for thickness. Now the templates
:
{\n\"templates\": [\n{\n\"name\": \"default\",\n\"desc\": \"Default template\",\n\"file\": \"default.nbt\",\n\"spawns\": \"default\",\n\"offset\": [ 0, 0, 0 ],\n\"surroundingBlocks\": \"default\",\n\"surroundingMargin\": 0\n}\n]\n}\n
name
is the name displayed in the Customize
screen when selecting the world-preset. Use {
at start and }
at the end to create a language key. That way, you can translate the name into other languages using a resource pack.desc
(optional - default \"\") is the description displayed in the Customize
screen when selecting the world-type. Use {
at start and }
at the end to create a language key. That way, you can translate the name into other languages using a resource pack.file
is the name of the file for that template.spawns
is the spawn configuration name from the spawns
option.direction
(optional - default \"south\") is the direction the user should look at for this template. If not provided, it'll be south
.offset
(optional - default [ 0, 0, 0 ]) is the offset for this specific template. Read here more about the offset. This specific offset can also be set for x (first number) and z (second number) separately.surroundingBlocks
(optional - default \"\") is the surrounding blocks configuration name from the surroundingBlocks
option.surroundingMargin
(optional - default 0) is the thickness for the border. You can have the same file and the same spawns in multiple configurations. They all are only separated by the name.You can also set an icon for each template. This is located in config/skyblockbuilder/templates/icon/<name>.png
. The name needs to be lowercase.
NOTE: If you spawn inside a block, you could add this block to the block tag \ud83d\udd17 #skyblockbuilder:additional_valid_spawns
.
If you want a loot chest on an island, you need to set the NBT data to the chest with the /data merge block <x y z> {LootTable: modid:path/to/loot_table}
command to set it as loot chest.
WARNING! Do not open that chest after merging this data into the chest.
"},{"location":"skyblock-builder/1.20.x/packdev/packdev/#convert-existing-templates-from-nbt-to-snbt","title":"Convert existing templates from.nbt
to .snbt
","text":"You can convert existing templates from .nbt
to .snbt
files with the command /skyblock templates_to_snbt
. This will convert all templates in the config/skyblockbuilder/templates/
directory to .snbt
files while keeping the original .nbt
files.
Inviting users Everyone in a team can invite other players. For that, you can use /skyblock invite <player>
. That will send an invitation to the given player. Only players with no team can be invited.
Everyone with an invitation can accept them. You can only accept invitations if you're in no team. For that, you use the command /skyblock accept <team>
. You can also decline an invitation by using the command /skyblock decline <team>
.
You can send a join request to all teams if you're currently in no team by using /skyblock join <team>
. That will send a request to the team and each player in the team can accept or deny your request.
Each user of a team can use /skyblock team accept <player>
to accept the given player. That will teleport the player to your island. You can also deny the request by using /skyblock team deny <player>
.
You can see your teams current join request state with /skyblock team allowRequests
and enable/disable it with /skyblock team allowRequests <true/false>
.
If users are allowed to create islands with their own command, you can use /skyblock create <name> <players>
. This will create a team, and the given players will be added to the new team. If no players are given, the user who executes the command will be added to the team. If no name is given, a random name will be generated.
You can rename a/your team by using /skyblock team <new name> <team name>
. <team name>
is optional. Can be used by any team member. Users with permission level 2 could also edit other teams' name.
If enabled in the config, you can modify spawns from your team. You can add them with /skyblock team spawns add <pos>
. If no position is given, the current position will be used. Remove them with /skyblock team spawns remove <pos>
. Same as before: position is optional. For users with permission level 2: /skyblock team spawns reset <team>
will reset the spawn points to the default ones. To add the spawns, you need to be within the range specified in the config.
If home command is enabled in the config, you can teleport back to your teams' island with /skyblock home
. Has a configurable cooldown.
If teleporting to spawn is enabled in the config, you can teleport to spawn island with /skyblock spawn
. Has a configurable cooldown.
If visits are enabled in the config, and a team enabled visiting, you can visit an island with /skyblock visit <team>
.
You can see your teams current visiting state with /skyblock team allowVisits
and enable/disable it with /skyblock team allowVisits <true/false>
. On new teams, this is set to false
.
The most epic mod made for WinterJam 2020. It adds peed snow. This snow can spread onto normal snow (configurable) with the same speed of grass spreading. The duration you need to stand on a snow block to turn it into yellow snow is 5 seconds and can be changed in config. Players are not able to pee on snow by default (configurable), but all monsters and animals. Throwing a snowball will hurt on impact. The damage is 0.5 to 1 heart, additional 2 hearts for blazes.
This mod is also compatible with Naughty or Nice. Placing snow block (layer) will remove 0.01 niceness, breaking will add 0.005 points.
{yt_video}
"}]} \ No newline at end of file diff --git a/1.19.x/sitemap.xml b/1.19.x/sitemap.xml new file mode 100755 index 0000000..10aa1a6 --- /dev/null +++ b/1.19.x/sitemap.xml @@ -0,0 +1,618 @@ + +You can use the API to disable team management without the config needs to be changed. Additionally, you can disable +that players will be teleported to spawn when joining the world.
+For more information about this, look +here 🔗. +You can call this in the main constructor of your mod.
+Skyblock Builder fires several events which you can subscribe like normal Forge events. +These are all events:
+All events do have proper Javadoc which describe what they do.
+ +This mod is compatible with MineMention 🔗. To write in the
+teams chat, you can use skyblockbuilder:sky_team
in MineMention config file. This would look like this:
+
{
+ "mentions": {
+ "everyone": "minemention:everyone",
+ "here": "minemention:here",
+ "team": "skyblockbuilder:sky_team"
+ }
+}
+
Here you can set if the overworld should generate as in a normal world. This will ignore the configured +structures and features. This is useful when +your starting dimension is not the overworld.
+Here you can set if the nether should generate as in a normal world. This will ignore the configured +structures and features.
+Here you can set if the end should generate as in a normal world. This will ignore the configured +structures and features. Additionally, you +can choose if the main island (with the dragon) should be generated or not.
+All other dimensions (added by datapacks, or other mods) will not be void and can't be configured. If you want +compatability, ask the mod author of this mod or open an issue on GitHub 🔗.
+ +If this option is selected, the users inventory will be deleted when joining the world the first time. This is useful +if you don't want that other mods give the player items like guide books.
+Notice: This option will not affect the starting inventory.
+If this option is selected, the users inventory will be dropped when leaving a team.
+You can set a starting inventory by customising config/skyblockbuilder/starter_items.json
. These items will be given to
+the player only on initial joining world, not when joining a team. You can also set the items to a special slot with key
+Slot
.
Available values for the slots are:
+mainhand
(default)offhand
head
chest
legs
feet
The config could look like this: +
{
+ "items": [
+ {
+ "item": "minecraft:diamond_pickaxe",
+ "nbt": {
+ "Unbreakable": true
+ }
+ },
+ {
+ "item": "minecraft:bread",
+ "count": 32,
+ "Slot": "offhand"
+ }
+ ]
+}
+
If you want that every other item will be deleted, you can simply set the config option inventory.clear
to true. This
+will delete items like guide books or other things. That way, you don't have to go through all configs to enable these
+items and could just add them to the starter items.
This sets the dimension where you will spawn and the island be generated.
+Values for vanilla dimensions:
+minecraft:overworld
minecraft:the_nether
minecraft:the_end
This sets the direction in which the user will be looking at.
+Allowed values:
+north
east
south
west
This sets the bottom layer of the template.
+This affects where exactly the island will be generated.
+Range: 0-255
+The radius to find a valid spawn if no given spawn point is valid.
+Minimum: 0
+ +A list with all structures 🔗 that should be generated. A list
+with all possible structures can be found in config/skyblockbuilder/structures.txt
. Some structures in the nether
+are being generated by default, but you could turn that off. Overworld only has the stronghold as default option.
This is a resource list. Read more about it here 🔗.
+A list with all features 🔗 that should be generated. A list
+with all possible features can be found in config/skyblockbuilder/features.txt
. As you can read in the Minecraft
+Wiki article, features need special conditions to be generated properly. This can be done with the surface.
INFO: The two default values are required for the obsidian towers in end. If this is missing, they will be first +generated when respawning the dragon.
+This is a resource list. Read more about it here 🔗.
+ +This allows players to create their own team.
+Allows the player to use several commands. This includes these commands:
+This allows players to modify spawns. Needs self managing to be +enabled.
+The distance from the island center where the users should be able to add spawns.
+Allows the player to visit other islands.
+Allows the player to teleport back home.
+Allows the player to teleport to the spawn island.
+ +The radius for the biomes to repeat. An area with the size of (by default) 8192x8192 will contain all the biomes in the +world. If a biome isn't in this area, it's not in the world. It repeats after an invisible "border".
+This feature can be disabled and the biomes will not repeat.
+WARNING: Too small biome range will prevent some structures to generate, if structures are enabled, because some need +a special biome! You may fix this by decreasing the structure modifier.
+The distance between two islands. If you choose the_nether
as start dimension, it will be
+divided by 8.
The offset from 0, 0 to generate the islands. Can be used to generate them in the middle of .mca files.
+The sea level in the world. This has nothing to do with the water height in the world. This does affect the spawn height +of squids for example.
+The modifier for spacing and separation of structures. These values can be defined by a data pack. However, this is a
+multiplier to change these values. Look here 🔗 at
+biome_source.structures.structures
for more information about that.
Minimal spacing will be set to 1 if the modifier changes it to be lower than that. +Minimal separation will be set to 0 if the modifier changes it to be lower than that.
+This config option needs a full restart once you already joined a world.
+The block settings for generating the overworld surface. It's in the same format as +flat world generation settings 🔗, but will ignore +the biome. You can set it for the overworld only. If the surface is disabled, it will ignore the setting.
+Specifies the biome for a whole dimension. You can set the dimension you want. If you keep it as default
, the
+start dimension will be used.
Allowed values:
+default
overworld
the_nether
the_end
WARNING: Some structures need a special biome, e.g. Mansion needs Dark Oak Forest! These structures will not be generated if you have only one biome!
+ +To create a hellblock like modpack, you can simply set the spawn dimension to minecraft:the_nether
as you can see in
+the config below.
config/skyblockbuilder/common-config.json5
:
+
{
+ "Spawn": {
+ "dimension": "minecraft:the_nether"
+ }
+}
+
This world will have a default overworld and a default end. The nether is "sky". The image shows lava layers below the +island but that's implemented in 1.17.1 and the image was made with this newer version. That means: no custom surface. +I also added some structures for the nether. Because overworld is default, we don't have to care about the overworld +structures and can just ignore them. They will be generated as normal.
+Thanks to benbenlaw 🔗 for giving me permission to use the +template from his well known modpack Infernopolis 🔗 for +this example. I tweaked a bit more on the template to avoid using mod blocks.
+ +To create a seablock like modpack, you can simply set the surface settings as you can see in the config below.
+config/skyblockbuilder/common-config.json5
:
+
{
+ "World": {
+ "surface": true,
+ "surfaceSettings": "minecraft:bedrock,100*minecraft:sandstone,4*minecraft:sand,23*minecraft:water"
+ }
+}
+
I added a lot of sandstone layers for the image. Additionally, in the download are a few more things changed. A few +features and structures are enabled, too. The spawn height was changed to set the top of the island on top of the water +layers.
+Here you can also see the single biome option.
+This example also contains the feature of multiple templates where you can see how to set it up correctly.
+Thanks to benbenlaw 🔗 for giving me permission to use the +templates from his well known modpack Seaopolis 🔗 for this +example.
+ +This is the default island when using the mod. You don't have to adjust any config for this. Just use it.
+If you want another starting island, just replace the file config/skyblockbuilder/default.nbt
and adjust
+the spawns.
The next examples will contain downloads with all changed things.
+ +To create a stoneblock like modpack, you can simply set the surface settings as you can see in the config below.
+config/skyblockbuilder/common-config.json5
:
+
{
+ "World": {
+ "surface": true,
+ "surfaceSettings": "minecraft:bedrock,254*minecraft:stone,minecraft:bedrock"
+ }
+}
+
The download file will also set the default world type to Skyblock
. It will generate Bedrock at top and bottom of the
+dimension. It has only one spawn point. A starting inventory is included, too. Here you can see it:
+
{
+ "items": [
+ {
+ "item": "minecraft:wooden_pickaxe",
+ "nbt": {
+ "Unbreakable": true,
+ "Enchantments": [
+ {
+ "lvl": 2,
+ "id": "minecraft:efficiency"
+ }
+ ],
+ "display": {
+ "Name": "{\"text\":\"Infinite Pickaxe\"}"
+ }
+ }
+ }
+ ]
+}
+
Only an operator with permission level 2 or higher can change anything in the /skyblock manage
category.
Use the /skyblock manage teams create <name>
command to generate a team with the given name. If no name is provided,
+a random name will be generated.
Alternatively (good for servers), you can use /skyblock manage teams createAndJoin
to create the team and join
+it. To use it on a server, you should put it in a command block which can be triggered by the user and runs this
+command:
/execute as @p run skyblock manage teams createAndJoin
Use the /skyblock manage teams delete <name>
to delete the team with the given name.
WARNING! This cannot be undone. The island will still exist, but you can't re-bind a new team to that island. If users +are in the team, they will be teleported to spawn after dropping all their items.
+Because teams can be empty, you can "clear" all islands. If you use /skyblock manage teams clear <name>
, all empty
+teams will be deleted as in Deleting teams.
If you provide a team name, all players from this team will be removed and teleported to spawn island.
+An operator need to remove players from a team. For that, they need to use /skyblock manage kickPlayer <player>
.
+The removed player will be teleported back to spawn after dropping all the items in the inventory.
If you're not op and want to leave your team, you can simply type in /skyblock leave
. You will drop all your items
+and be teleported to spawn.
You simply start the game once. It will generate a config called forge-common.toml
. Change the only value in this
+config to skyblockbuilder:custom_skyblock
, or use this example and create a file called forge-common.toml
in the
+config directory with this content:
+
[general]
+ defaultWorldType = "skyblockbuilder:custom_skyblock"
+
If you want to provide a custom server.properties
file, set the level-type
to skyblockbuilder:custom_skyblock
.
+Otherwise, it's the same as in single player.
Structure Saver
from the vanilla Tools tab in creative inventory. The output directory for this
+ is <minecraft>/skyblock_exports/<name>.nbt
.
+ Alternatively, you can also use the vanilla Structure Block. Keep in mind that this can only save islands up to
+ 48x48x48 blocks and the output is in <minecraft>/saves/<world>/generated/minecraft/structures/<name>.nbt
.config/skyblockbuilder/templates/<name>.nbt
.config/skyblockbuilder/spawns.json
. There can be multiple spawns, each one is an array
+ with [x, y, z]
relative to the 0, 0, 0 from the template structure. You can also
+ modify existing spawns and export them with /skyblock spawns EXPORT
.
+ IMPORTANT: You need to be in a world with world-type Skyblock
to use the commands./reload
command to reload the config. After that, you need to use
+ the /skyblock spawns true
command to view all possible spawn points.You can set multiple schematics by putting them into config/skyblockbuilder/templates/
. These schematics can the user
+use by pressing the Customize
button in world options screen or changing the schematic with
+command /skyblock manage islandShape <template>
.
IMPORTANT: DO NOT name any of these schematic files template.nbt
because it would be overwritten by the default
+schematic in config/skyblockbuilder/template.nbt
.
Possible spawns are set in config/skyblockbuilder/spawns.json
. For each player, the game will choose a random position
+and places the player on that position. Good on big islands when adding a lot of players at once at one team. You can
+also export your current spawn points with command /skyblock spawns EXPORT
. For this, you should first
+modify spawns. You will find your exported spawns in skyblock_exports/spawns.json
.
+Copy it in the main config folder and override the existing one to apply your new spawns.
+If you spawn inside a block, you could add this block to the
+block tag 🔗
+#skyblockbuilder:additional_valid_spawns
.
If you want a loot chest on an island, you need to set the NBT data to the chest with the /data merge block <x y z>
+{LootTable: modid:path/to/loot_table}
command to set it as loot chest.
WARNING! Do not open that chest after merging this data into the chest.
+ +Inviting users
+Everyone in a team can invite other players. For that, you can use /skyblock invite <player>
. That will send an
+invitation to the given player. Only players with no team can be invited.
Everyone with an invitation can accept them. You can only accept invitations if you're in no team. For that, you use the
+command /skyblock accept <team>
. You can also decline an invitation by using the command /skyblock decline <team>
.
You can send a join request to all teams if you're currently in no team by using /skyblock join <team>
. That will
+send a request to the team and each player in the team can accept or deny your request.
Each user of a team can use /skyblock team accept <player>
to accept the given player. That will teleport the player
+to your island. You can also deny the request by using /skyblock team deny <player>
.
You can see your teams current join request state with /skyblock team allowRequests
and enable/disable it with
+/skyblock team allowRequests <true/false>
.
If users are allowed to create islands with their own command, you can use /skyblock create <name> <players>
.
+This will create a team, and the given players will be added to the new team. If no players are given, the user who
+executes the command will be added to the team. If no name is given, a random name will be generated.
You can rename a/your team by using /skyblock team <new name> <team name>
. <team name>
is optional. Can be used by
+any team member. Users with permission level 2 could also edit other teams' name.
If enabled in the config, you can modify spawns from your team. You can add them with /skyblock team spawns add <pos>
.
+If no position is given, the current position will be used. Remove them with /skyblock team spawns remove <pos>
. Same
+as before: position is optional. For users with permission level 2: /skyblock team spawns reset <team>
will reset the
+spawn points to the default ones. To add the spawns, you need to be within the range specified in the config.
If home command is enabled in the config, you can teleport back to your teams' island with /skyblock home
.
If teleporting to spawn is enabled in the config, you can teleport to spawn island with /skyblock spawn
.
If visits are enabled in the config, and a team enabled visiting, you can visit an island with /skyblock visit <team>
.
You can see your teams current visiting state with /skyblock team allowVisits
and enable/disable it with
+/skyblock team allowVisits <true/false>
. On new teams, this is set to false
.
config/skyblockbuilder/spawns.json
to config/skyblockbuilder/templates.json5
config/skyblockbuilder/templates/
config/skyblockbuilder/templates.json5
Customize
screen do have proper names nowconfig/skyblockbuilder/data/
You can use the API to disable team management without the config needs to be changed. Additionally, you can disable +that players will be teleported to spawn when joining the world.
+For more information about this, look +here 🔗. +You can call this in the main constructor of your mod.
+Skyblock Builder fires several events which you can subscribe like normal Forge events. +These are all events:
+All events do have proper Javadoc which describe what they do.
+ +This mod is compatible with Curios 🔗. This only means that +items will be dropped from the Curios inventory when leaving a team and +the config is enabled, too.
+This mod is compatible with MineMention 🔗. To write in the
+teams chat, you can use skyblockbuilder:sky_team
in MineMention config file. This would look like this:
+
{
+ "mentions": {
+ "everyone": "minemention:everyone",
+ "here": "minemention:here",
+ "team": "skyblockbuilder:sky_team"
+ }
+}
+
Here you can set if the overworld should generate as in a normal world. This will ignore the configured +structures and features. This is useful when +your starting dimension is not the overworld.
+Here you can set if the nether should generate as in a normal world. This will ignore the configured +structures and features.
+Here you can set if the end should generate as in a normal world. This will ignore the configured +structures and features. Additionally, you +can choose if the main island (with the dragon) should be generated or not.
+All other dimensions (added by datapacks, or other mods) will not be void and can't be configured. If you want +compatability, ask the mod author of this mod or open an issue on GitHub 🔗.
+ +If this option is selected, the users inventory will be deleted when joining the world the first time. This is useful +if you don't want that other mods give the player items like guide books.
+Notice: This option will not affect the starting inventory.
+If this option is selected, the users inventory will be dropped when leaving a team.
+You can set a starting inventory by customising config/skyblockbuilder/starter_items.json
. These items will be given to
+the player only on initial joining world, not when joining a team. You can also set the items to a special slot with key
+Slot
.
You could also just export your inventory by using the command /skyblock inventory export
. This will create a new file
+in the skyblock_exports
folder with the current inventory and the correct slot.
Available values for the slots are:
+mainhand
(default)offhand
head
chest
legs
feet
The config could look like this: +
{
+ "items": [
+ {
+ "item": "minecraft:diamond_pickaxe",
+ "nbt": {
+ "Unbreakable": true
+ }
+ },
+ {
+ "item": "minecraft:bread",
+ "count": 32,
+ "Slot": "offhand"
+ }
+ ]
+}
+
If you want that every other item will be deleted, you can simply set the config option inventory.clear
to true. This
+will delete items like guide books or other things. That way, you don't have to go through all configs to enable these
+items and could just add them to the starter items.
This sets the dimension where you will spawn and the island be generated.
+Allowed values:
+overworld
the_nether
the_end
This sets the direction in which the user will be looking at.
+Allowed values:
+north
east
south
west
This sets the bottom layer of the template.
+This affects where exactly the island will be generated.
+Range: 0-255
+The radius to find a valid spawn if no given spawn point is valid.
+Minimum: 0
+ +A list with all structures 🔗 that should be generated. A list
+with all possible structures can be found in config/skyblockbuilder/data/structures.txt
. Some structures in the nether
+are being generated by default, but you could turn that off. Overworld only has the stronghold as default option.
This is a resource list. Read more about it here 🔗.
+A list with all features 🔗 that should be generated. A list
+with all possible features can be found in config/skyblockbuilder/data/features.txt
. As you can read in the Minecraft
+Wiki article, features need special conditions to be generated properly. This can be done with the surface.
INFO: The two default values are required for the obsidian towers in end. If this is missing, they will be first +generated when respawning the dragon.
+This is a resource list. Read more about it here 🔗.
+ +This allows players to create their own team.
+Allows the player to use several commands. This includes these commands:
+This allows players to modify spawns. Needs self managing to be +enabled.
+The distance from the island center where the users should be able to add spawns.
+Allows the player to visit other islands.
+Allows the player to teleport back home.
+Allows the player to teleport to the spawn island.
+ +The radius for the biomes to repeat. An area with the size of (by default) 8192x8192 will contain all the biomes in the +world. If a biome isn't in this area, it's not in the world. It repeats after an invisible "border".
+This feature can be disabled and the biomes will not repeat.
+WARNING: Too small biome range will prevent some structures to generate, if structures are enabled, because some need +a special biome! You may fix this by decreasing the structure modifier.
+The distance between two islands. If you choose the_nether
as start dimension, it will be
+divided by 8.
The offset from 0, 0 to generate the islands. Can be used to generate them in the middle of .mca files.
+The sea level in the world. This has nothing to do with the water height in the world. This does affect the spawn height +of squids for example.
+The modifier for spacing and separation of structures. These values can be defined by a data pack. However, this is a
+multiplier to change these values. Look here 🔗 at
+biome_source.structures.structures
for more information about that.
Minimal spacing will be set to 1 if the modifier changes it to be lower than that. +Minimal separation will be set to 0 if the modifier changes it to be lower than that.
+This config option needs a full restart once you already joined a world.
+The block settings for generating the different dimensions surfaces. It's in the same format as +flat world generation settings 🔗, but will ignore +the biome. You can set it for each dimension. Instead of removing the dimension from the list, just set it to an empty +string to generate it completely void. If the surface is disabled, it will ignore the setting.
+Specifies the biome for a whole dimension. A list with all possible structures can be found in
+config/skyblockbuilder/data/biomes.txt
. You can set the dimension you want. If you keep it as null
, the
+start dimension will be used.
WARNING: Some structures need a special biome, e.g. Mansion needs Dark Oak Forest! These structures will not be generated if you have only one biome!
+ +To create a hellblock like modpack, you can simply set the spawn dimension to the_nether
as you can see in
+the config below.
config/skyblockbuilder/common-config.json5
:
+
{
+ "Spawn": {
+ "dimension": "the_nether"
+ }
+}
+
This world will have a default overworld and a default end. The nether is "sky" and is filled with 10 layers of lava. +I also added some structures for the nether. Because overworld is default, we don't have to care about the overworld +structures and can just ignore them. They will be generated as normal.
+Thanks to benbenlaw 🔗 for giving me permission to use the +template from his well known modpack Infernopolis 🔗 for +this example. I tweaked a bit more on the template to avoid using mod blocks.
+ +To create a seablock like modpack, you can simply set the surface settings as you can see in the config below.
+config/skyblockbuilder/common-config.json5
:
+
{
+ "World": {
+ "surface": true,
+ "surfaceSettings": {
+ "minecraft:overworld": "minecraft:bedrock,100*minecraft:sandstone,4*minecraft:sand,23*minecraft:water",
+ "minecraft:the_nether": "",
+ "minecraft:the_end": ""
+ }
+ }
+}
+
I added a lot of sandstone layers for the image. Additionally, in the download are a few more things changed. A few +features and structures are enabled, too. The spawn height was changed to set the top of the island on top of the water +layers.
+Here you can also see the single biome option.
+This example also contains the feature of multiple templates where you can see how to set it up correctly.
+config/skyblockbuilder/templates.json5
:
+
{
+ "templates": [
+ {
+ "name": "Blue",
+ "file": "seablock_blue.nbt",
+ "spawns": "seablock"
+ },
+ {
+ "name": "Black",
+ "file": "seablock_black.nbt",
+ "spawns": "seablock"
+ },
+ {
+ "name": "Green",
+ "file": "seablock_green.nbt",
+ "spawns": "seablock"
+ },
+ {
+ "name": "Orange",
+ "file": "seablock_orange.nbt",
+ "spawns": "seablock"
+ },
+ {
+ "name": "Purple",
+ "file": "seablock_purple.nbt",
+ "spawns": "seablock"
+ },
+ {
+ "name": "Red",
+ "file": "seablock_red.nbt",
+ "spawns": "seablock"
+ },
+ {
+ "name": "White",
+ "file": "seablock_white.nbt",
+ "spawns": "seablock"
+ },
+ {
+ "name": "Yellow",
+ "file": "seablock_yellow.nbt",
+ "spawns": "seablock"
+ }
+ ]
+}
+
Thanks to benbenlaw 🔗 for giving me permission to use the +templates from his well known modpack Seaopolis 🔗 for this +example.
+ +This is the default island when using the mod. You don't have to adjust any config for this. Just use it.
+If you want another starting island, just replace the file config/skyblockbuilder/templates/default.nbt
and adjust
+the spawns.
The next examples will contain downloads with all changed things.
+ +To create a stoneblock like modpack, you can simply set the surface settings as you can see in the config below.
+config/skyblockbuilder/common-config.json5
:
+
{
+ "World": {
+ "surface": true,
+ "surfaceSettings": {
+ "minecraft:overworld": "minecraft:bedrock,254*minecraft:stone,minecraft:bedrock",
+ "minecraft:the_nether": "",
+ "minecraft:the_end": ""
+ }
+ }
+}
+
The download file will also set the default world type to Skyblock
. It will generate Bedrock at top and bottom of the
+dimension. It has only one spawn point. A starting inventory is included, too. Here you can see it:
+
{
+ "items": [
+ {
+ "item": "minecraft:wooden_pickaxe",
+ "nbt": {
+ "Unbreakable": true,
+ "Enchantments": [
+ {
+ "lvl": 2,
+ "id": "minecraft:efficiency"
+ }
+ ],
+ "display": {
+ "Name": "{\"text\":\"Infinite Pickaxe\"}"
+ }
+ }
+ }
+ ]
+}
+
Only an operator with permission level 2 or higher can change anything in the /skyblock manage
category.
Use the /skyblock manage teams create <name>
command to generate a team with the given name. If no name is provided,
+a random name will be generated.
Alternatively (good for servers), you can use /skyblock manage teams createAndJoin
to create the team and join
+it. To use it on a server, you should put it in a command block which can be triggered by the user and runs this
+command:
/execute as @p run skyblock manage teams createAndJoin
Use the /skyblock manage teams delete <name>
to delete the team with the given name.
WARNING! This cannot be undone. The island will still exist, but you can't re-bind a new team to that island. If users +are in the team, they will be teleported to spawn after dropping all their items.
+Because teams can be empty, you can "clear" all islands. If you use /skyblock manage teams clear <name>
, all empty
+teams will be deleted as in Deleting teams.
If you provide a team name, all players from this team will be removed and teleported to spawn island.
+An operator need to remove players from a team. For that, they need to use /skyblock manage kickPlayer <player>
.
+The removed player will be teleported back to spawn after dropping all the items in the inventory.
If you're not op and want to leave your team, you can simply type in /skyblock leave
. You will drop all your items
+and be teleported to spawn.
You simply start the game once. It will generate a config called forge-common.toml
. Change the only value in this
+config to skyblockbuilder:custom_skyblock
, or use this example and create a file called forge-common.toml
in the
+config directory with this content:
+
[general]
+ defaultWorldType = "skyblockbuilder:custom_skyblock"
+
If you want to provide a custom server.properties
file, set the level-type
to skyblockbuilder:custom_skyblock
.
+Otherwise, it's the same as in single player.
Structure Saver
from the vanilla Tools tab in creative inventory. The output directory for this
+ is <minecraft>/skyblock_exports/<name>.nbt
.
+ Alternatively, you can also use the vanilla Structure Block. Keep in mind that this can only save islands up to
+ 48x48x48 blocks and the output is in <minecraft>/saves/<world>/generated/minecraft/structures/<name>.nbt
.config/skyblockbuilder/templates/<name>.nbt
.config/skyblockbuilder/templates.json5
. There can be multiple spawns, each one is an array with [x, y, z]
+ relative to the 0, 0, 0 from the template structure. You can also
+ modify existing spawns and export them with /skyblock spawns EXPORT
.
+ IMPORTANT: You need to be in a world with world-type Skyblock
to use the commands./skyblock spawns debug
to view all possible spawn points.config/skyblockbuilder/templates.json5
where needed.You can set multiple schematics by putting them into config/skyblockbuilder/templates/
. These schematics can the user
+use by pressing the Customize
button in world options screen or changing the schematic with command
+/skyblock manage islandShape <template>
where <template>
is the name specified in
+next chapter.
As described in Creating a custom skyblock island, you can improve the readability
+of templates and set the spawn points for each template in the config here: config/skyblockbuilder/templates.json5
.
+There you have 2 options. First the spawns
:
+
{
+ "spawns": {
+ "default": [
+ [ 6, 3, 5 ]
+ ]
+ }
+}
+
default
) is important for the templates
option in the next step.
+You can have multiple entries, but keep in mind that no key can be used twice! The content of each object is an
+array. This array contains the spawn positions. The spawn positions are formatted this way:
+[ x, y, z ]
+
Now the templates
:
+
{
+ "templates": [
+ {
+ "name": "default",
+ "file": "default.nbt",
+ "spawns": "default"
+ }
+ ]
+}
+
name
is the name displayed in the Customize
screen when selecting the world-type.file
is the name of the file for that template.spawns
is the spawn configuration name from the spawns
option.
+You can have the same file and the same spawns in multiple configurations. They all are only separated by the name.NOTE: If you spawn inside a block, you could add this block to the
+block tag 🔗
+#skyblockbuilder:additional_valid_spawns
.
If you want a loot chest on an island, you need to set the NBT data to the chest with the /data merge block <x y z>
+{LootTable: modid:path/to/loot_table}
command to set it as loot chest.
WARNING! Do not open that chest after merging this data into the chest.
+ +Inviting users
+Everyone in a team can invite other players. For that, you can use /skyblock invite <player>
. That will send an
+invitation to the given player. Only players with no team can be invited.
Everyone with an invitation can accept them. You can only accept invitations if you're in no team. For that, you use the
+command /skyblock accept <team>
. You can also decline an invitation by using the command /skyblock decline <team>
.
You can send a join request to all teams if you're currently in no team by using /skyblock join <team>
. That will
+send a request to the team and each player in the team can accept or deny your request.
Each user of a team can use /skyblock team accept <player>
to accept the given player. That will teleport the player
+to your island. You can also deny the request by using /skyblock team deny <player>
.
You can see your teams current join request state with /skyblock team allowRequests
and enable/disable it with
+/skyblock team allowRequests <true/false>
.
If users are allowed to create islands with their own command, you can use /skyblock create <name> <players>
.
+This will create a team, and the given players will be added to the new team. If no players are given, the user who
+executes the command will be added to the team. If no name is given, a random name will be generated.
You can rename a/your team by using /skyblock team <new name> <team name>
. <team name>
is optional. Can be used by
+any team member. Users with permission level 2 could also edit other teams' name.
If enabled in the config, you can modify spawns from your team. You can add them with /skyblock team spawns add <pos>
.
+If no position is given, the current position will be used. Remove them with /skyblock team spawns remove <pos>
. Same
+as before: position is optional. For users with permission level 2: /skyblock team spawns reset <team>
will reset the
+spawn points to the default ones. To add the spawns, you need to be within the range specified in the config.
If home command is enabled in the config, you can teleport back to your teams' island with /skyblock home
.
If teleporting to spawn is enabled in the config, you can teleport to spawn island with /skyblock spawn
.
If visits are enabled in the config, and a team enabled visiting, you can visit an island with /skyblock visit <team>
.
You can see your teams current visiting state with /skyblock team allowVisits
and enable/disable it with
+/skyblock team allowVisits <true/false>
. On new teams, this is set to false
.
You can use the API to disable team management without the config needs to be changed. Additionally, you can disable +that players will be teleported to spawn when joining the world.
+For more information about this, look +here 🔗. +You can call this in the main constructor of your mod.
+Skyblock Builder fires several events which you can subscribe like normal Forge events. +These are all events:
+All events do have proper Javadoc which describe what they do.
+ +This mod is compatible with Curios 🔗. This only means that +items will be dropped from the Curios inventory when leaving a team and +the config is enabled, too.
+This mod is compatible with MineMention 🔗. To write in the
+teams chat, you can use skyblockbuilder:sky_team
in MineMention config file. This would look like this:
+
{
+ "mentions": {
+ "everyone": "minemention:everyone",
+ "here": "minemention:here",
+ "team": "skyblockbuilder:sky_team"
+ }
+}
+
Here you can set if the overworld should generate as in a normal world. This will ignore the configured +structures and features. This is useful when +your starting dimension is not the overworld.
+Here you can set if the nether should generate as in a normal world. This will ignore the configured +structures and features.
+Here you can set if the end should generate as in a normal world. This will ignore the configured +structures and features. Additionally, you +can choose if the main island (with the dragon) should be generated or not.
+All other dimensions (added by datapacks, or other mods) will not be void and can't be configured. If you want +compatability, ask the mod author of this mod or open an issue on GitHub 🔗.
+ +If this option is selected, the users inventory will be deleted when joining the world the first time. This is useful +if you don't want that other mods give the player items like guide books.
+Notice: This option will not affect the starting inventory.
+If this option is selected, the users inventory will be dropped when leaving a team.
+You can set a starting inventory by customising config/skyblockbuilder/starter_items.json
. These items will be given to
+the player only on initial joining world, not when joining a team. You can also set the items to a special slot with key
+Slot
.
You could also just export your inventory by using the command /skyblock inventory export
. This will create a new file
+in the skyblock_exports
folder with the current inventory and the correct slot.
Available values for the slots are:
+mainhand
(default)offhand
head
chest
legs
feet
The config could look like this: +
{
+ "items": [
+ {
+ "item": "minecraft:diamond_pickaxe",
+ "nbt": "{Unbreakable:1b}"
+ },
+ {
+ "item": "minecraft:bread",
+ "count": 32,
+ "Slot": "offhand"
+ }
+ ]
+}
+
If you want that every other item will be deleted, you can simply set the config option inventory.clear
to true. This
+will delete items like guide books or other things. That way, you don't have to go through all configs to enable these
+items and could just add them to the starter items.
This sets the radius around the spawn which should be protected and only op players can interact with. +This prevents (tool) interactions, mob griefing, explosions, breaking blocks, farmland trampling, growing crops, and +attacking. Additionally, the player will always have max health, max food level, can't drown, and can't be set on fire. +This is default set to 0, so nothing is protected. Look at the table here to see more options:
+3 | +3 | +3 | +3 | +3 | +
---|---|---|---|---|
3 | +2 | +2 | +2 | +3 | +
3 | +2 | +1 | +2 | +3 | +
3 | +2 | +2 | +2 | +3 | +
3 | +3 | +3 | +3 | +3 | +
This sets the dimension where you will spawn and the island be generated.
+This can be any dimension found in config/skyblockbuilder/data/dimensions.txt
. This file will only be generated
+when joining a skyblock world.
You can set a range from minY
to maxY
. minY
is the bottom spawn position. maxY
is the top spawn dimension.
+If you set the spawn height type (see below) to set
, the bottom value will be used for a set height.
+Otherwise, the height will be calculated.
set
: This is a fixed spawn position. For users of the older versions of skyblock builder, this is the normal mode as
+before. It will use the bottom
value of the range as fixed height. The top
value will be ignored.
range_top
: This will search for a valid position beginning at the top
position, down to the bottom
. If no valid
+spawn was found, it uses the top
value as fixed height.
range_bottom
: Same as range_top
. The only difference is that it uses the bottom
value as fixed height if there was
+no valid spawn found.
Valid spawns are defined as: Two block air on top of each other. Under that, it's a normal block/slab, or block inside
+the valid spawn block tag 🔗
+#skyblockbuilder:additional_valid_spawns
.
If the spawn height type is set to range
, this offset will be used to slightly move the spawn height in any
+direction. Negative values go down, positive values go up.
The radius to find a valid spawn if no given spawn point is valid.
+Minimum: 0
+ +A list with all structures 🔗 that should be generated. A list
+with all possible structures can be found in config/skyblockbuilder/data/structures.txt
. Some structures in the nether
+are being generated by default, but you could turn that off. Overworld only has the stronghold as default option.
This is a resource list. Read more about it here 🔗.
+A list with all features 🔗 that should be generated. A list
+with all possible features can be found in config/skyblockbuilder/data/features.txt
. As you can read in the Minecraft
+Wiki article, features need special conditions to be generated properly. This can be done with the surface.
INFO: The two default values are required for the obsidian towers in end. If this is missing, they will be first +generated when respawning the dragon.
+This is a resource list. Read more about it here 🔗.
+ +This allows players to create their own team.
+Allows the player to use several commands. This includes these commands:
+This allows players to modify spawns. Needs self-managing to be +enabled.
+The distance from the island center where the users should be able to add spawns.
+Allows the player to visit other islands.
+Allows the player to teleport back home. Has a cooldown for each +player.
+Allows the player to teleport to the spawn island. Has a cooldown for +each player.
+Allows the player to teleport (see above) from another dimension, for example the main world is overworld, players will +be able to also teleport from the nether to the spawn, their island, or even visit others. Setting this to false forces +them to be in the overworld (if that's the main dimension).
+A list of dimensions where you can't use teleportation commands. If you set allow_list
to true, these commands are
+allowed in these dimensions only.
This is a resource list. Read more about it here 🔗.
+ +The distance between two islands. If you choose the_nether
as start dimension, it will be
+divided by 8.
The offset from 0, 0 to generate the islands. Can be used to generate them in the middle of .mca files.
+The sea level in the world. This has nothing to do with the water height in the world. This does affect the spawn height +of squids for example.
+The block settings for generating the different dimensions surfaces. It's in the same format as +flat world generation settings 🔗, but will ignore +the biome. You can set it for each dimension. Instead of removing the dimension from the list, just set it to an empty +string to generate it completely void. If the surface is disabled, it will ignore the setting.
+It's a map which provides ResourceLists 🔗.
+It's set to allow all biomes per default. You can deny biomes by adding them to the list. Setting allow_list
to true
+will only use the biomes in the list. Keep in mind that each dimension needs at least one valid biome!
A list with all possible structures can be found in config/skyblockbuilder/data/biomes.txt
.
To create a hellblock like modpack, you can simply set the spawn dimension to the_nether
as you can see in
+the config below.
config/skyblockbuilder/common-config.json5
:
+
{
+ "Spawn": {
+ "dimension": "the_nether"
+ }
+}
+
This world will have a default overworld and a default end. The nether is "sky" and is filled with 10 layers of lava. +I also added some structures for the nether. Because overworld is default, we don't have to care about the overworld +structures and can just ignore them. They will be generated as normal.
+Thanks to benbenlaw 🔗 for giving me permission to use the +template from his well known modpack Infernopolis 🔗 for +this example. I tweaked a bit more on the template to avoid using mod blocks.
+ +To create a seablock like modpack, you can simply set the surface settings as you can see in the config below.
+config/skyblockbuilder/common-config.json5
:
+
{
+ "World": {
+ "surface": true,
+ "surfaceSettings": {
+ "minecraft:overworld": "minecraft:bedrock,100*minecraft:sandstone,4*minecraft:sand,87*minecraft:water",
+ "minecraft:the_nether": "",
+ "minecraft:the_end": ""
+ }
+ }
+}
+
I added a lot of sandstone layers for the image. Additionally, in the download are a few more things changed. A few +features and structures are enabled, too. The spawn height was changed to set the top of the island on top of the water +layers.
+Here you can also see the single biome option.
+This example also contains the feature of multiple templates where you can see how to set it up correctly.
+config/skyblockbuilder/templates.json5
:
+
{
+ "templates": [
+ {
+ "name": "Blue",
+ "file": "seablock_blue.nbt",
+ "spawns": "seablock"
+ },
+ {
+ "name": "Black",
+ "file": "seablock_black.nbt",
+ "spawns": "seablock"
+ },
+ {
+ "name": "Green",
+ "file": "seablock_green.nbt",
+ "spawns": "seablock"
+ },
+ {
+ "name": "Orange",
+ "file": "seablock_orange.nbt",
+ "spawns": "seablock"
+ },
+ {
+ "name": "Purple",
+ "file": "seablock_purple.nbt",
+ "spawns": "seablock"
+ },
+ {
+ "name": "Red",
+ "file": "seablock_red.nbt",
+ "spawns": "seablock"
+ },
+ {
+ "name": "White",
+ "file": "seablock_white.nbt",
+ "spawns": "seablock"
+ },
+ {
+ "name": "Yellow",
+ "file": "seablock_yellow.nbt",
+ "spawns": "seablock"
+ }
+ ]
+}
+
Thanks to benbenlaw 🔗 for giving me permission to use the +templates from his well known modpack Seaopolis 🔗 for this +example.
+ +This is the default island when using the mod. You don't have to adjust any config for this. Just use it.
+If you want another starting island, just replace the file config/skyblockbuilder/templates/default.nbt
and adjust
+the spawns.
The next examples will contain downloads with all changed things.
+ +To create a stoneblock like modpack, you can simply set the surface settings as you can see in the config below.
+config/skyblockbuilder/common-config.json5
:
+
{
+ "World": {
+ "surface": true,
+ "surfaceSettings": {
+ "minecraft:overworld": "minecraft:bedrock,382*minecraft:stone,minecraft:bedrock",
+ "minecraft:the_nether": "",
+ "minecraft:the_end": ""
+ }
+ }
+}
+
The download file will also set the default world type to Skyblock
. It will generate Bedrock at top and bottom of the
+dimension. It has only one spawn point. A starting inventory is included, too. Here you can see it:
+
{
+ "items": [
+ {
+ "item": "minecraft:wooden_pickaxe",
+ "nbt": {
+ "Unbreakable": true,
+ "Enchantments": [
+ {
+ "lvl": 2,
+ "id": "minecraft:efficiency"
+ }
+ ],
+ "display": {
+ "Name": "{\"text\":\"Infinite Pickaxe\"}"
+ }
+ }
+ }
+ ]
+}
+
You find it kinda annoying that users have to handle everything with commands? The solution is +Sky GUIs 🔗. This mod adds a lot of GUIs which help to create +own teams, join teams, or invite other players.
+ + +Only an operator with permission level 2 or higher can change anything in the /skyblock manage
category.
Use the /skyblock manage teams create <name>
command to generate a team with the given name. If no name is provided,
+a random name will be generated.
Alternatively (good for servers), you can use /skyblock manage teams createAndJoin
to create the team and join
+it. To use it on a server, you should put it in a command block which can be triggered by the user and runs this
+command:
/execute as @p run skyblock manage teams createAndJoin
Use the /skyblock manage teams delete <name>
to delete the team with the given name.
WARNING! This cannot be undone. The island will still exist, but you can't re-bind a new team to that island. If users +are in the team, they will be teleported to spawn after dropping all their items.
+Because teams can be empty, you can "clear" all islands. If you use /skyblock manage teams clear <name>
, all empty
+teams will be deleted as in Deleting teams.
If you provide a team name, all players from this team will be removed and teleported to spawn island.
+An operator need to remove players from a team. For that, they need to use /skyblock manage kickPlayer <player>
.
+The removed player will be teleported back to spawn after dropping all the items in the inventory.
If you're not op and want to leave your team, you can simply type in /skyblock leave
. You will drop all your items
+and be teleported to spawn.
You simply start the game once. It will generate a config called forge-common.toml
. Change the only value in this
+config to skyblockbuilder:skyblock
, or use this example and create a file called forge-common.toml
in the
+config directory with this content:
+
[general]
+ defaultWorldType = "skyblockbuilder:skyblock"
+
If you want to provide a custom server.properties
file, set the level-type
to skyblockbuilder:skyblock
.
+Otherwise, it's the same as in single player.
Structure Saver
from the vanilla Tools tab in creative inventory. The output directory for this
+ is <minecraft>/skyblock_exports/<name>.nbt
.
+ Alternatively, you can also use the vanilla Structure Block. Keep in mind that this can only save islands up to
+ 48x48x48 blocks and the output is in <minecraft>/saves/<world>/generated/minecraft/structures/<name>.nbt
.config/skyblockbuilder/templates/<name>.nbt
.config/skyblockbuilder/templates.json5
. There can be multiple spawns, each one is an array with [x, y, z]
+ relative to the 0, 0, 0 from the template structure. You can also
+ modify existing spawns and export them with /skyblock spawns EXPORT
.
+ IMPORTANT: You need to be in a world with world-type Skyblock
to use the commands./skyblock spawns debug
to view all possible spawn points.config/skyblockbuilder/templates.json5
where needed.You can set a default spawn island for new worlds by setting spawn
. If it's set to null
, it will use the default
+template used for new teams. For more information about the value for spawn
, look at
+Configuring templates.
You can set multiple schematics by putting them into config/skyblockbuilder/templates/
. These schematics can the user
+use by pressing the Customize
button in world options screen or changing the schematic with command
+/skyblock manage islandShape <template>
where <template>
is the name specified in
+next chapter.
As described in Creating a custom skyblock island, you can improve the readability
+of templates and set the spawn points for each template in the config here: config/skyblockbuilder/templates.json5
.
+There you have 2 options. First the spawns
:
+
{
+ "spawns": {
+ "default": [
+ [ 6, 3, 5 ]
+ ]
+ }
+}
+
default
) is important for the templates
option in the next step.
+You can have multiple entries, but keep in mind that no key can be used twice! The content of each object is an
+array. This array contains the spawn positions. The spawn positions are formatted this way:
+[ x, y, z ]
+
Now the templates
:
+
{
+ "templates": [
+ {
+ "name": "default",
+ "desc": "Default template",
+ "file": "default.nbt",
+ "spawns": "default",
+ "direction": "south"
+ }
+ ]
+}
+
name
is the name displayed in the Customize
screen when selecting the world-type.desc
is the description displayed in the Customize
screen when selecting the world-type.file
is the name of the file for that template.spawns
is the spawn configuration name from the spawns
option.direction
is the direction the user should look at for this template. If not provided, it'll be south
.
+You can have the same file and the same spawns in multiple configurations. They all are only separated by the name.You can also set an icon for each template. This is located in config/skyblockbuilder/templates/icon/<name>.png
. The
+name needs to be lowercase.
NOTE: If you spawn inside a block, you could add this block to the
+block tag 🔗
+#skyblockbuilder:additional_valid_spawns
.
If you want a loot chest on an island, you need to set the NBT data to the chest with the /data merge block <x y z>
+{LootTable: modid:path/to/loot_table}
command to set it as loot chest.
WARNING! Do not open that chest after merging this data into the chest.
+ +Inviting users
+Everyone in a team can invite other players. For that, you can use /skyblock invite <player>
. That will send an
+invitation to the given player. Only players with no team can be invited.
Everyone with an invitation can accept them. You can only accept invitations if you're in no team. For that, you use the
+command /skyblock accept <team>
. You can also decline an invitation by using the command /skyblock decline <team>
.
You can send a join request to all teams if you're currently in no team by using /skyblock join <team>
. That will
+send a request to the team and each player in the team can accept or deny your request.
Each user of a team can use /skyblock team accept <player>
to accept the given player. That will teleport the player
+to your island. You can also deny the request by using /skyblock team deny <player>
.
You can see your teams current join request state with /skyblock team allowRequests
and enable/disable it with
+/skyblock team allowRequests <true/false>
.
If users are allowed to create islands with their own command, you can use /skyblock create <name> <players>
.
+This will create a team, and the given players will be added to the new team. If no players are given, the user who
+executes the command will be added to the team. If no name is given, a random name will be generated.
You can rename a/your team by using /skyblock team <new name> <team name>
. <team name>
is optional. Can be used by
+any team member. Users with permission level 2 could also edit other teams' name.
If enabled in the config, you can modify spawns from your team. You can add them with /skyblock team spawns add <pos>
.
+If no position is given, the current position will be used. Remove them with /skyblock team spawns remove <pos>
. Same
+as before: position is optional. For users with permission level 2: /skyblock team spawns reset <team>
will reset the
+spawn points to the default ones. To add the spawns, you need to be within the range specified in the config.
If home command is enabled in the config, you can teleport back to your teams' island with /skyblock home
. Has a
+configurable cooldown.
If teleporting to spawn is enabled in the config, you can teleport to spawn island with /skyblock spawn
. Has a
+configurable cooldown.
If visits are enabled in the config, and a team enabled visiting, you can visit an island with /skyblock visit <team>
.
You can see your teams current visiting state with /skyblock team allowVisits
and enable/disable it with
+/skyblock team allowVisits <true/false>
. On new teams, this is set to false
.
Skyblock Builder adds not only one world type, but also a second one!
+The first world type is called Skyblock. It is a world where you can customize the starting island. +The config and all options are for this world type only.
+You can use this world type on servers or in forge-common.toml
by using skyblockbuilder:skyblock
.
The second world type is called Skylands. It is a world where you can travel over floating islands in a land +with mostly sky. There's currently no config for this world type. It's mainly for testing at the moment.
+This world type is heavily inspired by mods like SkyLandsForge. +The generation for this is based on an Aether mod for Fabric called Paradise Lost. +This mod is licensed under the MIT license.
+You can use this world type on servers or in forge-common.toml
by using skyblockbuilder:skylands
.
You can use the API to disable team management without the config needs to be changed. Additionally, you can disable +that players will be teleported to spawn when joining the world.
+For more information about this, look +here 🔗. +You can call this in the main constructor of your mod.
+Skyblock Builder fires several events which you can subscribe like normal Forge events. +These are all events:
+All events do have proper Javadoc which describe what they do.
+ +This mod is compatible with Curios 🔗. This only means that +items will be dropped from the Curios inventory when leaving a team and +the config is enabled, too.
+This mod is compatible with MineMention 🔗. To write in the
+teams chat, you can use skyblockbuilder:sky_team
in MineMention config file. This would look like this:
+
{
+ "mentions": {
+ "everyone": "minemention:everyone",
+ "here": "minemention:here",
+ "team": "skyblockbuilder:sky_team"
+ }
+}
+
Here you can set if the overworld should generate as in a normal world. This will ignore the configured +structures and features. This is useful when +your starting dimension is not the overworld.
+Here you can set if the nether should generate as in a normal world. This will ignore the configured +structures and features.
+Here you can set if the end should generate as in a normal world. This will ignore the configured +structures and features. Additionally, you +can choose if the main island (with the dragon) should be generated or not.
+All other dimensions (added by datapacks, or other mods) will not be void and can't be configured. If you want +compatability, ask the mod author of this mod or open an issue on GitHub 🔗.
+ +If this option is selected, the users inventory will be deleted when joining the world the first time. This is useful +if you don't want that other mods give the player items like guide books.
+Notice: This option will not affect the starting inventory.
+If this option is selected, the users inventory will be dropped when leaving a team.
+You can set a starting inventory by customising config/skyblockbuilder/starter_items.json
. These items will be given to
+the player only on initial joining world, not when joining a team. You can also set the items to a special slot with key
+Slot
.
You could also just export your inventory by using the command /skyblock inventory export
. This will create a new file
+in the skyblock_exports
folder with the current inventory and the correct slot.
Available values for the slots are:
+mainhand
(default)offhand
head
chest
legs
feet
The config could look like this: +
{
+ "items": [
+ {
+ "item": "minecraft:diamond_pickaxe",
+ "nbt": "{Unbreakable:1b}"
+ },
+ {
+ "item": "minecraft:bread",
+ "count": 32,
+ "Slot": "offhand"
+ }
+ ]
+}
+
If you want that every other item will be deleted, you can simply set the config option inventory.clear
to true. This
+will delete items like guide books or other things. That way, you don't have to go through all configs to enable these
+items and could just add them to the starter items.
This sets the radius around the spawn which should be protected and only op players can interact with. +This prevents (tool) interactions, mob griefing, explosions, breaking blocks, farmland trampling, growing crops, and +attacking. Additionally, the player will always have max health, max food level, can't drown, and can't be set on fire. +This is default set to 0, so nothing is protected. Look at the table here to see more options:
+3 | +3 | +3 | +3 | +3 | +
---|---|---|---|---|
3 | +2 | +2 | +2 | +3 | +
3 | +2 | +1 | +2 | +3 | +
3 | +2 | +2 | +2 | +3 | +
3 | +3 | +3 | +3 | +3 | +
A list of event types which will be prevented.
+Name | +Description | +
---|---|
interact_entities |
+Interacting with entities, e.g. riding a pig | +
interact_blocks |
+Interacting with blocks, e.g. activating buttons, placing, or destroying blocks | +
mob_griefing |
+Mobs destroying the world | +
explosions |
+TNT, creeper, or other explosions | +
crop_grow |
+Crops increasing their growth status | +
mobs_spawn |
+Mobs spawning | +
mobs_spawn_egg |
+Mobs being summoned using a spawn egg | +
damage |
+Attacking others, or getting attacked | +
healing |
+Getting healed and saturated on spawn | +
This sets the dimension where you will spawn and the island be generated.
+This can be any dimension found in config/skyblockbuilder/data/dimensions.txt
. This file will only be generated
+when joining a skyblock world.
You can set a range from minY
to maxY
. minY
is the bottom spawn position. maxY
is the top spawn dimension.
+If you set the spawn height type (see below) to set
, the bottom value will be used for a set height.
+Otherwise, the height will be calculated.
set
: This is a fixed spawn position. For users of the older versions of skyblock builder, this is the normal mode as
+before. It will use the bottom
value of the range as fixed height. The top
value will be ignored.
range_top
: This will search for a valid position beginning at the top
position, down to the bottom
. If no valid
+spawn was found, it uses the top
value as fixed height.
range_bottom
: Same as range_top
. The only difference is that it uses the bottom
value as fixed height if there was
+no valid spawn found.
Valid spawns are defined as: Two block air on top of each other. Under that, it's a normal block/slab, or block inside
+the valid spawn block tag 🔗
+#skyblockbuilder:additional_valid_spawns
.
If the spawn height type is set to range
, this offset will be used to slightly move the spawn height in any
+direction. Negative values go down, positive values go up.
The radius to find a valid spawn if no given spawn point is valid.
+Minimum: 0
+ +A list with all structures 🔗 that should be generated. A list
+with all possible structures can be found in config/skyblockbuilder/data/structures.txt
. Some structures in the nether
+are being generated by default, but you could turn that off. Overworld only has the stronghold as default option.
This is a resource list. Read more about it here 🔗.
+A list with all features 🔗 that should be generated. A list
+with all possible features can be found in config/skyblockbuilder/data/features.txt
. As you can read in the Minecraft
+Wiki article, features need special conditions to be generated properly. This can be done with the surface.
INFO: The two default values are required for the obsidian towers in end. If this is missing, they will be first +generated when respawning the dragon.
+This is a resource list. Read more about it here 🔗.
+ +This allows players to create their own team.
+Allows the player to use several commands. This includes these commands:
+This allows players to modify spawns. Needs self-managing to be +enabled.
+The distance from the island center where the users should be able to add spawns.
+Allows the player to visit other islands.
+Allows the player to teleport back home. Has a cooldown for each +player.
+Allows the player to teleport to the spawn island. Has a cooldown for +each player.
+Allows the player to teleport (see above) from another dimension, for example the main world is overworld, players will +be able to also teleport from the nether to the spawn, their island, or even visit others. Setting this to false forces +them to be in the overworld (if that's the main dimension).
+A list of dimensions where you can't use teleportation commands. If you set allow_list
to true, these commands are
+allowed in these dimensions only.
This is a resource list. Read more about it here 🔗.
+ +The distance between two islands. If you choose the_nether
as start dimension, it will be
+divided by 8.
The offset from 0, 0 to generate the islands. Can be used to generate them in the middle of .mca files.
+The sea level in the world. This has nothing to do with the water height in the world. This does affect the spawn height +of squids for example.
+The block settings for generating the different dimensions surfaces. It's in the same format as +flat world generation settings 🔗, but will ignore +the biome. You can set it for each dimension. Instead of removing the dimension from the list, just set it to an empty +string to generate it completely void. If the surface is disabled, it will ignore the setting.
+It's a map which provides ResourceLists 🔗.
+It's set to allow all biomes per default. You can deny biomes by adding them to the list. Setting allow_list
to true
+will only use the biomes in the list. Keep in mind that each dimension needs at least one valid biome!
A list with all possible structures can be found in config/skyblockbuilder/data/biomes.txt
.
To create a hellblock like modpack, you can simply set the spawn dimension to the_nether
as you can see in
+the config below.
config/skyblockbuilder/common-config.json5
:
+
{
+ "Spawn": {
+ "dimension": "the_nether"
+ }
+}
+
This world will have a default overworld and a default end. The nether is "sky" and is filled with 10 layers of lava. +I also added some structures for the nether. Because overworld is default, we don't have to care about the overworld +structures and can just ignore them. They will be generated as normal.
+Thanks to benbenlaw 🔗 for giving me permission to use the +template from his well known modpack Infernopolis 🔗 for +this example. I tweaked a bit more on the template to avoid using mod blocks.
+ +To create a seablock like modpack, you can simply set the surface settings as you can see in the config below.
+config/skyblockbuilder/common-config.json5
:
+
{
+ "World": {
+ "surface": true,
+ "surfaceSettings": {
+ "minecraft:overworld": "minecraft:bedrock,100*minecraft:sandstone,4*minecraft:sand,87*minecraft:water",
+ "minecraft:the_nether": "",
+ "minecraft:the_end": ""
+ }
+ }
+}
+
I added a lot of sandstone layers for the image. Additionally, in the download are a few more things changed. A few +features and structures are enabled, too. The spawn height was changed to set the top of the island on top of the water +layers.
+Here you can also see the single biome option.
+This example also contains the feature of multiple templates where you can see how to set it up correctly.
+config/skyblockbuilder/templates.json5
:
+
{
+ "templates": [
+ {
+ "name": "Blue",
+ "file": "seablock_blue.nbt",
+ "spawns": "seablock"
+ },
+ {
+ "name": "Black",
+ "file": "seablock_black.nbt",
+ "spawns": "seablock"
+ },
+ {
+ "name": "Green",
+ "file": "seablock_green.nbt",
+ "spawns": "seablock"
+ },
+ {
+ "name": "Orange",
+ "file": "seablock_orange.nbt",
+ "spawns": "seablock"
+ },
+ {
+ "name": "Purple",
+ "file": "seablock_purple.nbt",
+ "spawns": "seablock"
+ },
+ {
+ "name": "Red",
+ "file": "seablock_red.nbt",
+ "spawns": "seablock"
+ },
+ {
+ "name": "White",
+ "file": "seablock_white.nbt",
+ "spawns": "seablock"
+ },
+ {
+ "name": "Yellow",
+ "file": "seablock_yellow.nbt",
+ "spawns": "seablock"
+ }
+ ]
+}
+
Thanks to benbenlaw 🔗 for giving me permission to use the +templates from his well known modpack Seaopolis 🔗 for this +example.
+ +This is the default island when using the mod. You don't have to adjust any config for this. Just use it.
+If you want another starting island, just replace the file config/skyblockbuilder/templates/default.nbt
and adjust
+the spawns.
The next examples will contain downloads with all changed things.
+ +To create a stoneblock like modpack, you can simply set the surface settings as you can see in the config below.
+config/skyblockbuilder/common-config.json5
:
+
{
+ "World": {
+ "surface": true,
+ "surfaceSettings": {
+ "minecraft:overworld": "minecraft:bedrock,382*minecraft:stone,minecraft:bedrock",
+ "minecraft:the_nether": "",
+ "minecraft:the_end": ""
+ }
+ }
+}
+
The download file will also set the default world type to Skyblock
. It will generate Bedrock at top and bottom of the
+dimension. It has only one spawn point. A starting inventory is included, too. Here you can see it:
+
{
+ "items": [
+ {
+ "item": "minecraft:wooden_pickaxe",
+ "nbt": {
+ "Unbreakable": true,
+ "Enchantments": [
+ {
+ "lvl": 2,
+ "id": "minecraft:efficiency"
+ }
+ ],
+ "display": {
+ "Name": "{\"text\":\"Infinite Pickaxe\"}"
+ }
+ }
+ }
+ ]
+}
+
You find it kinda annoying that users have to handle everything with commands? The solution is +Sky GUIs 🔗. This mod adds a lot of GUIs which help to create +own teams, join teams, or invite other players.
+ + +Only an operator with permission level 2 or higher can change anything in the /skyblock manage
category.
Use the /skyblock manage teams create <name>
command to generate a team with the given name. If no name is provided,
+a random name will be generated.
Alternatively (good for servers), you can use /skyblock manage teams createAndJoin
to create the team and join
+it. To use it on a server, you should put it in a command block which can be triggered by the user and runs this
+command:
/execute as @p run skyblock manage teams createAndJoin
Use the /skyblock manage teams delete <name>
to delete the team with the given name.
WARNING! This cannot be undone. The island will still exist, but you can't re-bind a new team to that island. If users +are in the team, they will be teleported to spawn after dropping all their items.
+Because teams can be empty, you can "clear" all islands. If you use /skyblock manage teams clear <name>
, all empty
+teams will be deleted as in Deleting teams.
If you provide a team name, all players from this team will be removed and teleported to spawn island.
+An operator need to remove players from a team. For that, they need to use /skyblock manage kickPlayer <player>
.
+The removed player will be teleported back to spawn after dropping all the items in the inventory.
If you're not op and want to leave your team, you can simply type in /skyblock leave
. You will drop all your items
+and be teleported to spawn.
See Default World Type. Use skyblockbuilder:skyblock
as config value.
If you want to provide a custom server.properties
file, set the level-type
to skyblockbuilder:skyblock
.
+Otherwise, it's the same as in single player.
Structure Saver
from the vanilla Tools tab in creative inventory. The output directory for this
+ is <minecraft>/skyblock_exports/<name>.nbt
.
+ Alternatively, you can also use the vanilla Structure Block. Keep in mind that this can only save islands up to
+ 48x48x48 blocks and the output is in <minecraft>/saves/<world>/generated/minecraft/structures/<name>.nbt
.config/skyblockbuilder/templates/<name>.nbt
.config/skyblockbuilder/templates.json5
. There can be multiple spawns, each one is an array with [x, y, z]
+ relative to the 0, 0, 0 from the template structure. You can also
+ modify existing spawns and export them with /skyblock spawns EXPORT
.
+ IMPORTANT: You need to be in a world with world-type Skyblock
to use the commands./skyblock spawns debug
to view all possible spawn points.config/skyblockbuilder/templates.json5
where needed.You can set a default spawn island for new worlds by setting spawn
. If it's set to null
, it will use the default
+template used for new teams. For more information about the value for spawn
, look at
+Configuring templates.
You can set multiple schematics by putting them into config/skyblockbuilder/templates/
. These schematics can the user
+use by pressing the Customize
button in world options screen or changing the schematic with command
+/skyblock manage islandShape <template>
where <template>
is the name specified in
+next chapter.
As described in Creating a custom skyblock island, you can improve the readability
+of templates and set the spawn points for each template in the config here: config/skyblockbuilder/templates.json5
.
+There you have multiple options. First the spawns
:
+
{
+ "spawns": {
+ "default": [
+ [ 6, 3, 5 ]
+ ]
+ }
+}
+
default
) is important for the templates
option in a next step.
+You can have multiple entries, but keep in mind that no key can be used twice! The content of each object is an
+array. This array contains the spawn positions. The spawn positions are formatted this way:
+[ x, y, z ]
+
Second, the surroundingBlocks
:
+
{
+ "surroundingBlocks": {
+ "default": [
+ "minecraft:stone",
+ "minecraft:bedrock"
+ ]
+ }
+}
+
default
) is important for the templates
option in the next step.
+You can have multiple entries, but keep in mind that no key can be used twice! The content of each object is an
+array of resource locations for blocks. These blocks will be used to surround the template with these blocks, randomly
+selected. Look at the surroundingMargin
in the next step for thickness.
+Now the templates
:
+
{
+ "templates": [
+ {
+ "name": "default",
+ "desc": "Default template",
+ "file": "default.nbt",
+ "spawns": "default",
+ "direction": "south",
+ "offset": [ 0, 0 ],
+ "offsetY": 0,
+ "surroundingBlocks": "default",
+ "surroundingMargin": 0
+ }
+ ]
+}
+
name
is the name displayed in the Customize
screen when selecting the world-preset.desc
(optional - default "") is the description displayed in the Customize
screen when selecting the world-type.file
is the name of the file for that template.spawns
is the spawn configuration name from the spawns
option.direction
(optional - default "south") is the direction the user should look at for this template. If not
+ provided, it'll be south
.offset
(optional - default [ 0, 0 ]) is the offset for this specific template. Read
+ here more about the offset. This specific offset can also be set for x (first number)
+ and z (second number) separately.offsetY
(optional - default 0) is the offset for this specific Y orientation. Will be merged into offset
in
+ 1.20 onwards.surroundingBlocks
(optional - default "") is the surrounding blocks configuration name from the
+ surroundingBlocks
option.surroundingMargin
(optional - default 0) is the thickness for the border.
+You can have the same file and the same spawns in multiple configurations. They all are only separated by the name.You can also set an icon for each template. This is located in config/skyblockbuilder/templates/icon/<name>.png
. The
+name needs to be lowercase.
NOTE: If you spawn inside a block, you could add this block to the
+block tag 🔗
+#skyblockbuilder:additional_valid_spawns
.
If you want a loot chest on an island, you need to set the NBT data to the chest with the /data merge block <x y z>
+{LootTable: modid:path/to/loot_table}
command to set it as loot chest.
WARNING! Do not open that chest after merging this data into the chest.
+.nbt
to .snbt
You can convert existing templates from .nbt
to .snbt
files with the command /skyblock templates_to_snbt
. This
+will convert all templates in the config/skyblockbuilder/templates/
directory to .snbt
files while keeping the
+original .nbt
files.
Inviting users
+Everyone in a team can invite other players. For that, you can use /skyblock invite <player>
. That will send an
+invitation to the given player. Only players with no team can be invited.
Everyone with an invitation can accept them. You can only accept invitations if you're in no team. For that, you use the
+command /skyblock accept <team>
. You can also decline an invitation by using the command /skyblock decline <team>
.
You can send a join request to all teams if you're currently in no team by using /skyblock join <team>
. That will
+send a request to the team and each player in the team can accept or deny your request.
Each user of a team can use /skyblock team accept <player>
to accept the given player. That will teleport the player
+to your island. You can also deny the request by using /skyblock team deny <player>
.
You can see your teams current join request state with /skyblock team allowRequests
and enable/disable it with
+/skyblock team allowRequests <true/false>
.
If users are allowed to create islands with their own command, you can use /skyblock create <name> <players>
.
+This will create a team, and the given players will be added to the new team. If no players are given, the user who
+executes the command will be added to the team. If no name is given, a random name will be generated.
You can rename a/your team by using /skyblock team <new name> <team name>
. <team name>
is optional. Can be used by
+any team member. Users with permission level 2 could also edit other teams' name.
If enabled in the config, you can modify spawns from your team. You can add them with /skyblock team spawns add <pos>
.
+If no position is given, the current position will be used. Remove them with /skyblock team spawns remove <pos>
. Same
+as before: position is optional. For users with permission level 2: /skyblock team spawns reset <team>
will reset the
+spawn points to the default ones. To add the spawns, you need to be within the range specified in the config.
If home command is enabled in the config, you can teleport back to your teams' island with /skyblock home
. Has a
+configurable cooldown.
If teleporting to spawn is enabled in the config, you can teleport to spawn island with /skyblock spawn
. Has a
+configurable cooldown.
If visits are enabled in the config, and a team enabled visiting, you can visit an island with /skyblock visit <team>
.
You can see your teams current visiting state with /skyblock team allowVisits
and enable/disable it with
+/skyblock team allowVisits <true/false>
. On new teams, this is set to false
.
The only world type added is called Skyblock. It is a world where you can customize the starting island.
+You can use this world type on servers by using skyblockbuilder:skyblock
.
common-config.json5
into 6 separate configs:customization.json5
for customization configsdimensions.json5
for the dimension configsinventory.json5
for inventory related configspermissions.json5
for permissions, previously being the Utility
section in the configspawn.json5
for spawn related thingsstructures.json5
for configuring structures and featuresworld.json5
for world config such as surfacedirection
in template config and move to spawns
/locate
command for spreadsapply_bonemeal
spawn protection for twerking mods/skyblock spawns
command, so that you can teleport to them easilyUse this tool to update your old common-config.json5
to the new files.
Drag & drop common-config.json5 file here
+Drag & drop templates.json5 file here
+You can use the API to disable team management without the config needs to be changed. Additionally, you can disable +that players will be teleported to spawn when joining the world.
+For more information about this, look +here 🔗. +You can call this in the main constructor of your mod.
+Skyblock Builder fires several events which you can subscribe like normal Forge events. +These are all events:
+All events do have proper Javadoc which describe what they do.
+ +This mod is compatible with Cadmus 🔗. If Cadmus is installed, a new
+config will be registered. This includes mainly protecting spawn chunks by the mod itself.
+There's also the command /cadmus skyblockbuilder protectSpawn
for claiming the spawn chunks after a world was created.
+This is helpful in packs where the setting is disabled by default but the server owner wants to claim them.
This mod is compatible with Curios 🔗. This only means that +items will be dropped from the Curios inventory when leaving a team and +the config is enabled, too.
+This mod is compatible with Heracles 🔗. It adds a new task type for
+spreads. If Heracles is installed, a new config
+will be registered. You can combine multiple spreads in the GUI by using |
as separator. This would be the input for
+the example below:
+water_cave|water_cave_birch|water_cave_dark_oak|water_cave_desert|water_cave_jungle|water_cave_spruce|water_cave_swamp
+
This mod is compatible with MineMention 🔗. To write in the
+teams chat, you can use skyblockbuilder:sky_team
in MineMention config file. This would look like this:
+
{
+ "mentions": {
+ "everyone": "minemention:everyone",
+ "here": "minemention:here",
+ "team": "skyblockbuilder:sky_team"
+ }
+}
+
The config values on this page can be found in config/skyblockbuilder/cadmus.json5
when
+Cadmus 🔗 is installed
This is a component config for the display name that will be shown as owner of the claimed chunks at spawn. +It looks like this: +
{
+ "text": "SkyblockBuilder Spawn"
+}
+
{
+ "translate": "cavestone.cadmus.chunk_claim_name"
+}
+
This setting will automatically claim spawn chunks as admin claims. The radius of protected chunks is defined by
+spawnProtectionRadius
.
The config values on this page can be found in config/skyblockbuilder/heracles.json5
when
+Heracles 🔗 is installed
If this config is enabled, it will result in a quest progress reset when a player leaves a team, no matter in which way:
+This does not apply for players with permission level 2 or higher.
+If a player does not have a team, or the team does not have any spread, this config option can be used to complete these +tasks without the player needing to visit these spreads.
+ +The config values on this page can be found in config/skyblockbuilder/customization.json5
You can decide if the team name will be displayed in the tab list on a server.
+ +If the last player leaves a team, the team will automatically be deleted. The island and all its blocks remain at this +position! This position will not be used for any new team, only the remaining team will be deleted.
+ +The config values on this page can be found in config/skyblockbuilder/dimensions.json5
Here you can set if the overworld should generate as in a normal world. This will ignore the configured +structures and features. This is useful when +your starting dimension is not the overworld.
+Here you can set if the nether should generate as in a normal world. This will ignore the configured +structures and features.
+You can also set a structure for a nether portal. This is a .nbt
or .snbt
file within the directory
+config/skyblockbuilder/templates
and must contain at least one nether portal block. This will be generated whenever
+no nether portal was found in the nether, so be careful with valuable content - users can destroy the portal and
+re-generate this template over and over again.
This is a name of a template file such as nether_entry.snbt
. It can be generated by using the structure saver tool.
+It requires at least one nether portal block. Each time a player enters the nether, the whole structure will be placed.
+Because of that, you should take care about which blocks you include in this template!
Here you can set if the end should generate as in a normal world. This will ignore the configured +structures and features. Additionally, you +can choose if the main island (with the dragon) should be generated or not.
+All other dimensions (added by datapacks, or other mods) will not be void and can't be configured. If you want +compatability, ask the mod author of this mod or open an issue on GitHub 🔗.
+ +The config values on this page can be found in config/skyblockbuilder/inventory.json5
If this option is selected, the users inventory will be deleted when joining the world the first time. This is useful +if you don't want that other mods give the player items like guide books.
+Notice: This option will not affect the starting inventory.
+If this option is selected, the users inventory will be dropped when leaving a team.
+You can set a starting inventory by customising config/skyblockbuilder/starter_inventory.json5
. These items will be given to
+the player only on initial joining world, not when joining a team. You can also set the items to a special slot with key
+Slot
.
You could also just export your inventory by using the command /skyblock inventory export
. This will create a new file
+in the skyblock_exports
folder with the current inventory and the correct slot.
If you have Curios installed, you can also add these items by adding the same array of items like in items
, but the
+key needs to be called curios_items
. These always need the Slot
key. Available slots can be found by using the
+command /curios list
. If you add too many items to one slot, or add an item to an invalid identifier, it'll log that
+and the player gets a message. Check that before releasing the pack!
Available values for the vanilla slots are:
+mainhand
(default)offhand
head
chest
legs
feet
The config could look like this: +
{
+ "items": [
+ {
+ "item": "minecraft:diamond_pickaxe",
+ "nbt": "{Unbreakable:1b}"
+ },
+ {
+ "item": "minecraft:bread",
+ "count": 32,
+ "Slot": "offhand"
+ }
+ ],
+ "curios_items": [
+ {
+ "item": "botania:flight_tiara",
+ "nbt": "{variant:7}",
+ "Slot": "head"
+ },
+ {
+ "item": "botania:monocle",
+ "Slot": "charm"
+ }
+ ]
+}
+
If you want that every other item will be deleted, you can simply set the config option inventory.clear
to true. This
+will delete items like guide books or other things. That way, you don't have to go through all configs to enable these
+items and could just add them to the starter items.
The config values on this page can be found in config/skyblockbuilder/permissions.json5
This allows players to create their own team.
+Allows the player to use several commands. This includes these commands:
+This allows players to modify spawns. Needs self-managing to be +enabled.
+The distance from the island center where the users should be able to add spawns.
+Allows the player to visit other islands. Has a cooldown for each player.
+Allows the player to teleport back home. Has a cooldown for each +player.
+Allows the player to teleport to the spawn island. Has a cooldown for +each player.
+Allows the player to teleport (see above) from another dimension, for example the main world is overworld, players will +be able to also teleport from the nether to the spawn, their island, or even visit others. Setting this to false forces +them to be in the overworld (if that's the main dimension).
+A list of dimensions where you can't use teleportation commands. If you set allow_list
to true, these commands are
+allowed in these dimensions only.
This is a resource list. Read more about it here 🔗.
+ +The config values on this page can be found in config/skyblockbuilder/spawn.json5
This sets the radius around the spawn which should be protected and only op players can interact with. +This prevents (tool) interactions, mob griefing, explosions, breaking blocks, farmland trampling, growing crops, and +attacking. Additionally, the player will always have max health, max food level, can't drown, and can't be set on fire. +This is default set to 0, so nothing is protected. Look at the table here to see more options:
+3 | +3 | +3 | +3 | +3 | +
---|---|---|---|---|
3 | +2 | +2 | +2 | +3 | +
3 | +2 | +1 | +2 | +3 | +
3 | +2 | +2 | +2 | +3 | +
3 | +3 | +3 | +3 | +3 | +
A list of event types which will be prevented.
+Name | +Description | +
---|---|
interact_entities |
+Interacting with entities, e.g. riding a pig | +
interact_blocks |
+Interacting with blocks, e.g. activating buttons, placing, or destroying blocks | +
mob_griefing |
+Mobs destroying the world | +
explosions |
+TNT, creeper, or other explosions | +
crop_grow |
+Crops increasing their growth status | +
apply_bonemeal |
+Applying bone meal to plants | +
mobs_spawn |
+Mobs spawning | +
mobs_spawn_egg |
+Mobs being summoned using a spawn egg | +
damage |
+Attacking others, or getting attacked | +
healing |
+Getting healed and saturated on spawn | +
This sets the dimension where you will spawn and the island be generated.
+This can be any dimension found in config/skyblockbuilder/data/dimensions.txt
. This file will only be generated
+when joining a skyblock world.
You can set a range from minY
to maxY
. minY
is the bottom spawn position. maxY
is the top spawn dimension.
+If you set the spawn height type (see below) to set
, the bottom value will be used for a set height.
+Otherwise, the height will be calculated.
set
: This is a fixed spawn position. For users of the older versions of skyblock builder, this is the normal mode as
+before. It will use the bottom
value of the range as fixed height. The top
value will be ignored.
range_top
: This will search for a valid position beginning at the top
position, down to the bottom
. If no valid
+spawn was found, it uses the top
value as fixed height.
range_bottom
: Same as range_top
. The only difference is that it uses the bottom
value as fixed height if there was
+no valid spawn found.
Valid spawns are defined as: Two block air on top of each other. Under that, it's a normal block/slab, or block inside
+the valid spawn block tag 🔗
+#skyblockbuilder:additional_valid_spawns
.
If the spawn height type is set to range
, this offset will be used to slightly move the spawn height in any
+direction. Negative values go down, positive values go up.
The radius to find a valid spawn if no given spawn point is valid.
+Minimum: 0
+ +The config values on this page can be found in config/skyblockbuilder/structures.json5
A list with all structures 🔗 that should be generated. A list
+with all possible structures can be found in config/skyblockbuilder/data/structures.txt
. Some structures in the nether
+are being generated by default, but you could turn that off. Overworld only has the stronghold as default option.
This is a resource list. Read more about it here 🔗.
+A list with all features 🔗 that should be generated. A list
+with all possible features can be found in config/skyblockbuilder/data/features.txt
. As you can read in the Minecraft
+Wiki article, features need special conditions to be generated properly. This can be done with the surface.
INFO: The two default values are required for the obsidian towers in end. If this is missing, they will be first +generated when respawning the dragon.
+This is a resource list. Read more about it here 🔗.
+ +The config values on this page can be found in config/skyblockbuilder/world.json5
The distance between two islands. If you choose minecraft:the_nether
as start dimension, it will be
+divided by 8.
The offset from 0, 0, 0 to generate the islands. Can be used to generate them in the middle of .mca files, or moving +the island up/down. The value in the middle is you height, one and three is for x and z direction.
+The sea level in the world. This has nothing to do with the water height in the world. This does affect the spawn height +of squids for example.
+The block settings for generating the different dimensions surfaces. It's in the same format as +flat world generation settings 🔗, but will ignore +the biome. You can set it for each dimension. Instead of removing the dimension from the list, just set it to an empty +string to generate it completely void. If the surface is disabled, it will ignore the setting.
+It's a map which provides ResourceLists 🔗.
+It's set to allow all biomes per default. You can deny biomes by adding them to the list. Setting allow_list
to true
+will only use the biomes in the list. Keep in mind that each dimension needs at least one valid biome!
A list with all possible structures can be found in config/skyblockbuilder/data/biomes.txt
.
This is used to prevent gravel or sand from falling when generating the island. To define which blocks will be
+prevented, use the block tag skyblockbuilder:prevent_scheduled_tick
. This is filled with fallable blocks by default.
+This includes all sand, gravel, and concrete powder types, as well as any anvil, pointed dripstone, and the dragon egg.
This can be enabled if the overworld is still normal, and maybe there's no spawn. This will force the player to be +teleported to the overworld world spawn instead of the default spawn.
+ +Here's the GitHub link to report issues for Skyblock Builder: https://github.com/ChaoticTrials/SkyblockBuilder/issues/new/choose
+The normal way would be to use the Bug Report (Manual Mode)
template when clicking the link above. In that case, you
+need to put in a title, select a Minecraft version the bugs occurs, the used LibX, Skyblock Builder, and
+Forge version, the latest.log
, a detailed description of the issue, and a few steps
+how to reproduce the bug. If the problem only happens in a pack, please include a link to the pack, and the exact
+version you're using. If the pack is still unreleased, provide an exported version of the pack with the most important
+configs.
+If you don't want to share it public, feel free to visit my Discord server 🔗 and
+send a DM to the user @MelanX
.
With 1.20.1, a new command was introduced, called /skyblock dump
. That opens a screen which you can see below:
+The red outlined option only shows for op players
+There you can configure what your dump report should include. It is recommended to include all the data. However, you're +free to de-select some values for whatever reason. Explanation for each option:
+Configs
-> Dump file includes all config files of Skyblock BuilderTemplates and Spreads
-> Dump file includes all files in the config/skyblockbuilder/templates
directorylevel.dat
-> Dump file includes the level.dat
of the world you're inlatest.log
-> Dump file includes the latest.log
file, this also includes all chat messages of this run and may include ip addressescrash-<latest>.txt
-> Dump file includes the latest crash report if present. If you didn't encounter a crash for this issue, de-select it as it would include a maybe non-related crash reportSkyblock Data File
-> Dump file includes the files world/data/skyblock_builder.dat
and world/data/template.dat
, which contains all the metadata of all teams, such as member ids, island position, team name and some moreCreate Dump on Server
-> Dump file will be generated on the server side, useful as admin when the crash is server sideThe Create Dump
button will create a zip file, located in <instance>/skyblockbuilder/dumps
. The exact name can be
+viewed in chat. When clicking the message, the folder will be opened. Use the template Bug Report (Dump Mode)
on
+GitHub. That way, you only need to provide the Minecraft version, the dump file, a detailed description,
+and a few steps how to reproduce the bug. If the problem only happens in a pack, please include a link to the pack,
+and the exact version you're using. If the pack is still unreleased, provide an exported version of the pack with the
+most important configs.
+If you don't want to share it public, feel free to visit my Discord server 🔗 and
+send a DM to the user @MelanX
.
Use the Feature request
template to suggest any new feature. New features will most likely only be implemented in the
+latest version of the mod. Sometimes, new features need to change the code too much, so that it will be added in the
+next major Minecraft version.
To create a hellblock like modpack, you can simply set the spawn dimension to the_nether
as you can see in
+the config below.
config/skyblockbuilder/spawn.json5
:
+
{
+ "dimension": "the_nether"
+}
+
This world will have a default overworld and a default end. The nether is "sky" and is filled with 10 layers of lava. +I also added some structures for the nether. Because overworld is default, we don't have to care about the overworld +structures and can just ignore them. They will be generated as normal.
+Thanks to benbenlaw 🔗 for giving me permission to use the +template from his well known modpack Infernopolis 🔗 for +this example. I tweaked a bit more on the template to avoid using mod blocks.
+ +To create a seablock like modpack, you can simply set the surface settings as you can see in the config below.
+config/skyblockbuilder/world.json5
:
+
{
+ "surface": true,
+ "surfaceSettings": {
+ "minecraft:overworld": "minecraft:bedrock,100*minecraft:sandstone,4*minecraft:sand,87*minecraft:water",
+ "minecraft:the_nether": "",
+ "minecraft:the_end": ""
+ }
+}
+
I added a lot of sandstone layers for the image. Additionally, in the download are a few more things changed. A few +features and structures are enabled, too. The spawn height was changed to set the top of the island on top of the water +layers.
+Here you can also see the single biome option.
+This example also contains the feature of multiple templates where you can see how to set it up correctly.
+config/skyblockbuilder/templates.json5
:
+
{
+ "templates": [
+ {
+ "name": "Blue",
+ "file": "seablock_blue.nbt",
+ "spawns": "seablock"
+ },
+ {
+ "name": "Black",
+ "file": "seablock_black.nbt",
+ "spawns": "seablock"
+ },
+ {
+ "name": "Green",
+ "file": "seablock_green.nbt",
+ "spawns": "seablock"
+ },
+ {
+ "name": "Orange",
+ "file": "seablock_orange.nbt",
+ "spawns": "seablock"
+ },
+ {
+ "name": "Purple",
+ "file": "seablock_purple.nbt",
+ "spawns": "seablock"
+ },
+ {
+ "name": "Red",
+ "file": "seablock_red.nbt",
+ "spawns": "seablock"
+ },
+ {
+ "name": "White",
+ "file": "seablock_white.nbt",
+ "spawns": "seablock"
+ },
+ {
+ "name": "Yellow",
+ "file": "seablock_yellow.nbt",
+ "spawns": "seablock"
+ }
+ ]
+}
+
Thanks to benbenlaw 🔗 for giving me permission to use the +templates from his well known modpack Seaopolis 🔗 for this +example.
+ +This is the default island when using the mod. You don't have to adjust any config for this. Just use it.
+If you want another starting island, just replace the file config/skyblockbuilder/templates/default.nbt
and adjust
+the spawns.
The next examples will contain downloads with all changed things.
+ +To create a stoneblock like modpack, you can simply set the surface settings as you can see in the config below.
+config/skyblockbuilder/world.json5
:
+
{
+ "surface": true,
+ "surfaceSettings": {
+ "minecraft:overworld": "minecraft:bedrock,382*minecraft:stone,minecraft:bedrock",
+ "minecraft:the_nether": "",
+ "minecraft:the_end": ""
+ }
+}
+
The download file will also set the default world type to Skyblock
. It will generate Bedrock at top and bottom of the
+dimension. It has only one spawn point. A starting inventory is included, too. Here you can see it:
+
{
+ "items": [
+ {
+ "item": "minecraft:wooden_pickaxe",
+ "nbt": {
+ "Unbreakable": true,
+ "Enchantments": [
+ {
+ "lvl": 2,
+ "id": "minecraft:efficiency"
+ }
+ ],
+ "display": {
+ "Name": "{\"text\":\"Infinite Pickaxe\"}"
+ }
+ }
+ }
+ ]
+}
+
You find it kinda annoying that users have to handle everything with commands? The solution is +Sky GUIs 🔗. This mod adds a lot of GUIs which help to create +own teams, join teams, or invite other players.
+ + +Only an operator with permission level 2 or higher can change anything in the /skyblock manage
category.
Use the /skyblock manage teams create <name>
command to generate a team with the given name. If no name is provided,
+a random name will be generated.
Alternatively (good for servers), you can use /skyblock manage teams createAndJoin
to create the team and join
+it. To use it on a server, you should put it in a command block which can be triggered by the user and runs this
+command:
/execute as @p run skyblock manage teams createAndJoin
Use the /skyblock manage teams delete <name>
to delete the team with the given name.
WARNING! This cannot be undone. The island will still exist, but you can't re-bind a new team to that island. If users +are in the team, they will be teleported to spawn after dropping all their items.
+Because teams can be empty, you can "clear" all islands. If you use /skyblock manage teams clear <name>
, all empty
+teams will be deleted as in Deleting teams.
If you provide a team name, all players from this team will be removed and teleported to spawn island.
+An operator need to remove players from a team. For that, they need to use /skyblock manage kickPlayer <player>
.
+The removed player will be teleported back to spawn after dropping all the items in the inventory.
If you're not op and want to leave your team, you can simply type in /skyblock leave
. You will drop all your items
+and be teleported to spawn.
With implementing spreads, you can also create maps which show the destination of +each spread for this team. Use it like this in loot tables: +
{
+ "type": "minecraft:item",
+ "name": "minecraft:map",
+ "functions": [
+ {
+ "spreads": "spread_1", // file name without extension, case-sensitive
+ "decoration": "red_x", // "red_x" is default if none is set
+ "function": "skyblockbuilder:spread_map",
+ "zoom": 2 // 2 is default if none is set
+ },
+ // these are just two examples, don't combine them
+ {
+ "spreads": [ // can be an array, too
+ "spread_1",
+ "spread_2"
+ ],
+ "decoration": "red_x", // "red_x" is default if none is set
+ "function": "skyblockbuilder:spread_map",
+ "zoom": 2 // 2 is default if none is set
+ }
+ ]
+}
+
To debug your templates, you can use the /skyblock generate <template name> [pos] [border] [spreads]
command.
Explained:
+- <template name>
is the required name of the fully configured template name, set in
+ templates.json5
file
+- [pos]
is the optional position where to generate the structure
+- [border]
is true
or false
. If this is true, the border configured as surroundingBlocks
will be added
+- [spreads]
is true
or false
. If this is true, the spread structures will also be generated
If pos
isn't defined, your current position will be used. border
and spreads
is false
as default.
See Default World Type. Use skyblockbuilder:skyblock
as config value.
If you want to provide a custom server.properties
file, set the level-type
to skyblockbuilder:skyblock
.
+Otherwise, it's the same as in single player.
Structure Saver
from the vanilla Tools tab in creative inventory. The output directory for this
+ is <minecraft>/skyblock_exports/<name>.nbt
. If you set a Spawn Block, you'll also get an additional file with all
+ the spawn points where the spawn blocks were. They are not present in the exported file. If you click the option to
+ export everything into the config, the template will be generated into the correct directory. If you used spawn
+ blocks, spawns will also be added to config/skyblockbuilder/templates.json5
.
+ Alternatively, you can also use the vanilla Structure Block. Keep in mind that this can only save islands up to
+ 48x48x48 blocks and the output is in <minecraft>/saves/<world>/generated/minecraft/structures/<name>.nbt
.config/skyblockbuilder/templates/<name>.nbt
.config/skyblockbuilder/templates.json5
. There can be multiple spawns, each one is an array with [x, y, z]
+ relative to the 0, 0, 0 from the template structure. You can also
+ modify existing spawns and export them with /skyblock spawns EXPORT
.
+ IMPORTANT: You need to be in a world with world-type Skyblock
to use the commands./skyblock spawns debug
to view all possible spawn points.config/skyblockbuilder/templates.json5
where needed.You can set a default spawn island for new worlds by setting spawn
. If it's set to null
, it will use the default
+template used for new teams. For more information about the value for spawn
, look at
+Configuring templates.
You can set multiple schematics by putting them into config/skyblockbuilder/templates/
. These schematics can the user
+use by pressing the Customize
button in world options screen or changing the schematic with command
+/skyblock manage islandShape <template>
where <template>
is the name specified in
+next chapter.
As described in Creating a custom skyblock island, you can improve the readability
+of templates and set the spawn points for each template in the config here: config/skyblockbuilder/templates.json5
.
+There you have multiple options. First the spawns
:
+
{
+ "spawns": {
+ "default": {
+ "east": [],
+ "west": [],
+ "north": [],
+ "south": [
+ [ 6, 3, 5 ]
+ ]
+ }
+ }
+}
+
default
) is important for the templates
option in a next step.
+You can have multiple entries, but keep in mind that no key can be used twice! The content of each object are the
+four directions as keys. These include an array of arrays. This array contains the spawn positions. The spawn positions
+are formatted this way:
+[ x, y, z ]
+
Second, the spreads
:
+
{
+ "spreads": {
+ "default": [
+ {
+ "file": "default.nbt",
+ "minOffset": [ -6, 3, 5 ],
+ "maxOffset": [ 4, 10, 3 ],
+ "origin": "center"
+ },
+ {
+ "file": "default2.nbt",
+ "offset": [0, 64, 0]
+ }
+ ]
+ }
+}
+
spawns
. It holds multiple objects. The key (here default
) is
+important for the templates
option in a next step. You can have multiple entries, but keep in mind that no key can
+be used twice! The content of each object is an array with other objects. These objects require a file
(file name of
+a file located in config/skyblockbuilder/templates/spreads
and ends with .nbt
or .snbt
), and either minOffset
+and maxOffset
, or just offset
for an offset relative to the 0 0 0 position of the main island. If you choose
+minOffset
and maxOffset
, it'll be randomly generated somewhere between. There is also an optional config for the
+origin
. This defines where the offset should be calculated at. There are two possible values:
+zero
(default, if not defined) rightcenter
left
+For debugging, the /locate
command was extended with spread
. With /locate spread <team> <spread>
, you can get all
+the positions for this type of spread.
Next, the surroundingBlocks
:
+
{
+ "surroundingBlocks": {
+ "default": [
+ "minecraft:stone",
+ "minecraft:bedrock"
+ ]
+ }
+}
+
default
) is important for the templates
option in the next step.
+You can have multiple entries, but keep in mind that no key can be used twice! The content of each object is an
+array of resource locations for blocks. These blocks will be used to surround the template with these blocks, randomly
+selected. Look at the surroundingMargin
in the next step for thickness.
+Now the templates
:
+
{
+ "templates": [
+ {
+ "name": "default",
+ "desc": "Default template",
+ "file": "default.nbt",
+ "spawns": "default",
+ "offset": [ 0, 0, 0 ],
+ "surroundingBlocks": "default",
+ "surroundingMargin": 0
+ }
+ ]
+}
+
name
is the name displayed in the Customize
screen when selecting the world-preset. Use {
at start and }
+ at the end to create a language key. That way, you can translate the name into other languages using a resource pack.desc
(optional - default "") is the description displayed in the Customize
screen when selecting the world-type.
+ Use {
at start and }
at the end to create a language key. That way, you can translate the name into other
+ languages using a resource pack.file
is the name of the file for that template.spawns
is the spawn configuration name from the spawns
option.direction
(optional - default "south") is the direction the user should look at for this template. If not
+ provided, it'll be south
.offset
(optional - default [ 0, 0, 0 ]) is the offset for this specific template. Read
+ here more about the offset. This specific offset can also be set for x (first number)
+ and z (second number) separately.surroundingBlocks
(optional - default "") is the surrounding blocks configuration name from the
+ surroundingBlocks
option.surroundingMargin
(optional - default 0) is the thickness for the border.
+You can have the same file and the same spawns in multiple configurations. They all are only separated by the name.You can also set an icon for each template. This is located in config/skyblockbuilder/templates/icon/<name>.png
. The
+name needs to be lowercase.
NOTE: If you spawn inside a block, you could add this block to the
+block tag 🔗
+#skyblockbuilder:additional_valid_spawns
.
If you want a loot chest on an island, you need to set the NBT data to the chest with the /data merge block <x y z>
+{LootTable: modid:path/to/loot_table}
command to set it as loot chest.
WARNING! Do not open that chest after merging this data into the chest.
+.nbt
to .snbt
You can convert existing templates from .nbt
to .snbt
files with the command /skyblock templates_to_snbt
. This
+will convert all templates in the config/skyblockbuilder/templates/
directory to .snbt
files while keeping the
+original .nbt
files.
Inviting users
+Everyone in a team can invite other players. For that, you can use /skyblock invite <player>
. That will send an
+invitation to the given player. Only players with no team can be invited.
Everyone with an invitation can accept them. You can only accept invitations if you're in no team. For that, you use the
+command /skyblock accept <team>
. You can also decline an invitation by using the command /skyblock decline <team>
.
You can send a join request to all teams if you're currently in no team by using /skyblock join <team>
. That will
+send a request to the team and each player in the team can accept or deny your request.
Each user of a team can use /skyblock team accept <player>
to accept the given player. That will teleport the player
+to your island. You can also deny the request by using /skyblock team deny <player>
.
You can see your teams current join request state with /skyblock team allowRequests
and enable/disable it with
+/skyblock team allowRequests <true/false>
.
If users are allowed to create islands with their own command, you can use /skyblock create <name> <players>
.
+This will create a team, and the given players will be added to the new team. If no players are given, the user who
+executes the command will be added to the team. If no name is given, a random name will be generated.
You can rename a/your team by using /skyblock team <new name> <team name>
. <team name>
is optional. Can be used by
+any team member. Users with permission level 2 could also edit other teams' name.
If enabled in the config, you can modify spawns from your team. You can add them with /skyblock team spawns add <pos>
.
+If no position is given, the current position will be used. Remove them with /skyblock team spawns remove <pos>
. Same
+as before: position is optional. For users with permission level 2: /skyblock team spawns reset <team>
will reset the
+spawn points to the default ones. To add the spawns, you need to be within the range specified in the config.
If home command is enabled in the config, you can teleport back to your teams' island with /skyblock home
. Has a
+configurable cooldown.
If teleporting to spawn is enabled in the config, you can teleport to spawn island with /skyblock spawn
. Has a
+configurable cooldown.
If visits are enabled in the config, and a team enabled visiting, you can visit an island with /skyblock visit <team>
.
You can see your teams current visiting state with /skyblock team allowVisits
and enable/disable it with
+/skyblock team allowVisits <true/false>
. On new teams, this is set to false
.
The only world type added is called Skyblock. It is a world where you can customize the starting island.
+You can use this world type on servers by using skyblockbuilder:skyblock
.
Welcome to the wiki page of the awesome Skyblock mod +Skyblock Builder by MelanX. Use the left sidebar to +browse everything. You could also use the search bar on top of the site to search for a special thing.
+There are also examples provided for each version. There are also contained downloads which can be used as reference. +You may use them to look at the files to see the config, and look in game to see what this will change. The configs in +the download does only contain changes. Default values are not included in the downloads.
+The easiest way to contribute is to report bugs and suggestions to GitHub.
+Another way is to translate the mod! For this, you could also use GitHub. This is the easiest way for me, and you will +be marked as contributor on GitHub. Another way is to use OneSky. +This way, I will download the file once the language has more than 90% translated.
+ + +The most epic mod made for WinterJam 2020. It +adds peed snow. This snow can spread onto normal snow (configurable) with the same speed of grass spreading. The +duration you need to stand on a snow block to turn it into yellow snow is 5 seconds and can be changed in config. +Players are not able to pee on snow by default (configurable), but all monsters and animals. +Throwing a snowball will hurt on impact. The damage is 0.5 to 1 heart, additional 2 hearts for blazes.
+This mod is also compatible with Naughty or Nice. +Placing snow block (layer) will remove 0.01 niceness, breaking will add 0.005 points.
+{yt_video}
+ +