summaryrefslogtreecommitdiff
path: root/data/original_skyblock/functions
diff options
context:
space:
mode:
Diffstat (limited to 'data/original_skyblock/functions')
-rw-r--r--data/original_skyblock/functions/debug.mcfunction8
-rw-r--r--data/original_skyblock/functions/hard_coded_structures.mcfunction8
-rw-r--r--data/original_skyblock/functions/initialize.mcfunction61
-rw-r--r--data/original_skyblock/functions/load.mcfunction3
-rw-r--r--data/original_skyblock/functions/tick.mcfunction7
5 files changed, 87 insertions, 0 deletions
diff --git a/data/original_skyblock/functions/debug.mcfunction b/data/original_skyblock/functions/debug.mcfunction
new file mode 100644
index 0000000..3087cb2
--- /dev/null
+++ b/data/original_skyblock/functions/debug.mcfunction
@@ -0,0 +1,8 @@
+# create nether portal
+fill -1 63 -2 2 63 -2 obsidian
+fill -1 63 -2 -1 68 -2 obsidian
+fill 2 63 -2 2 68 -2 obsidian
+fill -1 68 -2 2 68 -2 obsidian
+
+# add flint_and_steel to chest
+execute in overworld run item replace block 4 64 0 container.2 with flint_and_steel 1
diff --git a/data/original_skyblock/functions/hard_coded_structures.mcfunction b/data/original_skyblock/functions/hard_coded_structures.mcfunction
new file mode 100644
index 0000000..6820809
--- /dev/null
+++ b/data/original_skyblock/functions/hard_coded_structures.mcfunction
@@ -0,0 +1,8 @@
+schedule original_skyblock/hard_coded_structures/fortress 60s
+# for each hard coded structure type
+# run a function that schedules itself
+
+# locate structure (execute in dimension of structure)
+# check against checked positions. if not found:
+# add position to checked positions array
+# remove all blocks associated with structure in appropriate radius
diff --git a/data/original_skyblock/functions/initialize.mcfunction b/data/original_skyblock/functions/initialize.mcfunction
new file mode 100644
index 0000000..70049af
--- /dev/null
+++ b/data/original_skyblock/functions/initialize.mcfunction
@@ -0,0 +1,61 @@
+setworldspawn 0 64 0
+gamerule spawnRadius 0
+
+
+# starting island
+execute in overworld run fill 4 63 -1 -1 63 1 grass_block
+execute in overworld run fill 4 62 -1 -1 61 1 dirt
+execute in overworld run fill 1 63 2 -1 63 4 grass_block
+execute in overworld run fill 1 62 2 -1 61 4 dirt
+execute in overworld run setblock 0 61 0 bedrock
+
+#execute in overworld run fill -1 64 4 -1 69 3 oak_log
+execute in overworld run place feature oak -1 64 4
+
+execute in overworld run setblock 4 64 0 chest[facing=west]
+execute in overworld run item replace block 4 64 0 container.0 with ice 1
+execute in overworld run item replace block 4 64 0 container.1 with lava_bucket 1
+
+
+# sand island
+execute in overworld run fill -63 64 -1 -65 66 1 sand
+execute in overworld run fill -63 63 -1 -65 63 1 sandstone
+execute in overworld run setblock -65 67 1 cactus
+
+execute in overworld run setblock -64 67 0 chest[facing=east]
+execute in overworld run item replace block -64 67 0 container.0 with obsidian 10
+execute in overworld run item replace block -64 67 0 container.1 with melon_slice 1
+execute in overworld run item replace block -64 67 0 container.2 with pumpkin_seeds 1
+
+
+# nether
+execute in the_nether run forceload add -1 -1 1 1
+
+execute in the_nether run fill -1 61 1 1 63 -1 glowstone
+
+execute in the_nether run setblock 1 64 -1 chest[facing=west]
+execute in the_nether run item replace block 1 64 -1 container.0 with birch_sapling 1
+execute in the_nether run item replace block 1 64 -1 container.1 with sugar_cane 1
+execute in the_nether run item replace block 1 64 -1 container.2 with ice 1
+
+execute in the_nether run setblock 1 64 0 brown_mushroom
+execute in the_nether run setblock -1 64 1 red_mushroom
+
+# place portal last to keep mushroom placement from breaking half the portal initially
+execute in the_nether run fill 2 63 0 2 63 1 obsidian
+execute in the_nether run fill 2 64 2 2 66 2 obsidian
+execute in the_nether run fill 2 67 0 2 67 1 obsidian
+execute in the_nether run fill 2 64 -1 2 66 -1 obsidian
+execute in the_nether run fill 2 64 0 2 66 1 nether_portal
+
+execute in the_nether run forceload remove -1 -1 1 1
+
+
+# end
+execute in the_end run forceload add -1 -1 1 1
+execute in the_end run setblock 0 61 0 bedrock
+execute in the_end run forceload remove -1 -1 1 1
+
+
+# set flag
+scoreboard players set initialized vanilla_skyblock_data 1
diff --git a/data/original_skyblock/functions/load.mcfunction b/data/original_skyblock/functions/load.mcfunction
new file mode 100644
index 0000000..0b60a35
--- /dev/null
+++ b/data/original_skyblock/functions/load.mcfunction
@@ -0,0 +1,3 @@
+scoreboard objectives add original_skyblock_data dummy
+
+execute unless score initialized original_skyblock_data matches 1 run function original_skyblock:initialize
diff --git a/data/original_skyblock/functions/tick.mcfunction b/data/original_skyblock/functions/tick.mcfunction
new file mode 100644
index 0000000..aadc3f2
--- /dev/null
+++ b/data/original_skyblock/functions/tick.mcfunction
@@ -0,0 +1,7 @@
+# get render distance
+# for each current chunk +- render distance (and not in scoreboard)
+ # check for end_portal_frame
+ # get positions
+ # fill chunk with air
+ # re-place end_portal_frame
+ # set scoreboard values to 1 for processed chunk