Skip to content

Commit

Permalink
Add files via upload
Browse files Browse the repository at this point in the history
  • Loading branch information
NeoLich committed Dec 2, 2023
1 parent b92b40c commit 4516e9d
Show file tree
Hide file tree
Showing 98 changed files with 1,238 additions and 0 deletions.
2 changes: 2 additions & 0 deletions data/skyoregen/functions/b_frame/break_frame.mcfunction
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@

execute as @e[type=area_effect_cloud, tag=b_saved] at @s unless entity @e[type=minecraft:item_frame, tag=b_generator_frame, tag=b_saved, distance=0] run function skyoregen:b_frame/summon_frame
7 changes: 7 additions & 0 deletions data/skyoregen/functions/b_frame/craft_book.mcfunction
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
recipe take @s skyoregen:basbook

advancement revoke @s only skyoregen:basbook_adv

execute as @s at @s run function skyoregen:give/basalt_book

clear @s minecraft:knowledge_book
7 changes: 7 additions & 0 deletions data/skyoregen/functions/b_frame/gettingstarted.mcfunction
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
tellraw @s ["",{"text":"","color":"white"}]
tellraw @s ["",{"text":"[","color":"white"},{"text":"Sky","color":"aqua"},{"text":"Ore","color":"green"},{"text":"Gen","color":"gold"},{"text":"] Welcome to the nether. All necessary items for basalt generators can be bought from Ned. Ned can be summoned from the book just given to you. The book can also be crafted by surrounding an ink sack with 8 basalt in a crafting table.","color":"white"}]
tellraw @s ["",{"text":"","color":"white"}]
tellraw @s ["",{"text":"[","color":"white"},{"text":"Sky","color":"aqua"},{"text":"Ore","color":"green"},{"text":"Gen","color":"gold"},{"text":"] If you need some laval. Drip Drip Drip.","color":"white"}]
tellraw @s ["",{"text":"","color":"white"}]

function skyoregen:give/basalt_book
6 changes: 6 additions & 0 deletions data/skyoregen/functions/b_frame/loop.mcfunction
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
function skyoregen:b_frame/test_frames
function skyoregen:b_frame/break_frame
function skyoregen:b_frame/rotation
function skyoregen:b_gen/valid_gen

function summon:score_ned
5 changes: 5 additions & 0 deletions data/skyoregen/functions/b_frame/reset_frame.mcfunction
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@


execute as @e[type=minecraft:item_frame, tag=b_generator_frame, tag=tested, nbt=!{ItemRotation:0b}] at @s[distance=..4] run kill @e[type=area_effect_cloud, tag=!b_saved, tag=!c_saved, tag=!cob_gen, distance=..4]
execute as @e[type=minecraft:item_frame, tag=b_generator_frame, tag=tested, nbt=!{ItemRotation:0b}] at @s run tag @s remove tested
execute as @e[type=minecraft:item_frame, tag=b_generator_frame, tag=!tested, nbt=!{ItemRotation:0b}] at @s run data modify entity @s ItemRotation set value 0b
2 changes: 2 additions & 0 deletions data/skyoregen/functions/b_frame/rotation.mcfunction
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@

execute as @e[type=minecraft:item_frame, tag=b_generator_frame, tag=tested, nbt=!{ItemRotation:0b}, limit=1] at @s run function skyoregen:b_frame/reset_frame
2 changes: 2 additions & 0 deletions data/skyoregen/functions/b_frame/save_frame.mcfunction
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
execute as @e[type=minecraft:item_frame, tag=b_generator_frame, tag=!saved] at @s run summon minecraft:area_effect_cloud ~ ~ ~ {Tags:["b_saved"], Age: -2147483648, Duration: -1, WaitTime: -2147483648}
execute as @e[type=minecraft:item_frame, tag=b_generator_frame, tag=!saved] at @s run tag @s add saved
4 changes: 4 additions & 0 deletions data/skyoregen/functions/b_frame/summon_frame.mcfunction
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@

execute as @e[type=area_effect_cloud, tag=b_saved] at @s[distance=..1] unless entity @e[type=minecraft:item_frame, tag=b_generator_frame, tag=saved, distance=0] run kill @e[type=item,nbt={Item:{id:"minecraft:item_frame",Count:1b}},distance=..1]
execute as @e[type=area_effect_cloud, tag=b_saved] at @s[] unless entity @e[type=minecraft:item_frame, tag=b_generator_frame, tag=saved, distance=0] run summon item ~ ~ ~ {Item:{id:"minecraft:item_frame",Count:1b,tag:{display:{Name:'{"text":"Basalt Generator Frame","color":"light_purple"}',Lore:['{"text":"Detects basalt generators within 4 blocks","color":"white"}']},EntityTag:{Tags:["b_generator_frame"]}}}}
execute as @e[type=area_effect_cloud, tag=b_saved] at @s[] unless entity @e[type=minecraft:item_frame, tag=b_generator_frame, tag=saved, distance=0] run kill @s
2 changes: 2 additions & 0 deletions data/skyoregen/functions/b_frame/test_frames.mcfunction
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
execute as @e[type=minecraft:item_frame, tag=b_generator_frame, tag=!saved] at @s run function skyoregen:b_frame/save_frame
execute as @e[type=minecraft:item_frame, tag=b_generator_frame, tag=!tested] at @s run function skyoregen:detect/gen_type
19 changes: 19 additions & 0 deletions data/skyoregen/functions/b_gen/netherite1_gen.mcfunction
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
#Checks all iron1 generators
#Called from skyoregen:b_gen/valid_gen

#Checks to ensure Item Frame is still within range if not deletes area_effect_cloud
execute as @e[type=minecraft:area_effect_cloud, tag=valid, tag=netherite1] at @s unless entity @e[type=minecraft:item_frame, tag=b_generator_frame, nbt={Item:{id:"minecraft:netherite_ingot",Count:1b,tag:{netherite1_generator:1b}}}, distance=..4] run kill @e[type=area_effect_cloud, tag=!saved, distance=..4]

#Checks to see if air block is at valid
execute as @e[type=area_effect_cloud,tag=valid, tag=netherite1] at @s if block ~ ~ ~ air run tag @s add air

#Checks to see if lava block is at valid
execute as @e[type=area_effect_cloud,tag=valid, tag=netherite1, tag=air] at @s if block ~ ~ ~ basalt run tag @s add basalt

#Call iron1 loot table and then replace_ore
execute as @e[type=area_effect_cloud, tag=valid, tag=netherite1, tag=air, tag=basalt] at @s run loot spawn ~ ~ ~ loot skyoregen:entities/netherite1
execute as @e[type=area_effect_cloud, tag=valid, tag=netherite1, tag=air, tag=basalt] at @s run function skyoregen:b_gen/replace_ore

#Removes the tags on valid
execute as @e[type=area_effect_cloud, tag=valid, tag=netherite1, tag=air, tag=basalt] run tag @s remove air
execute as @e[type=area_effect_cloud, tag=valid, tag=netherite1, tag=basalt] run tag @s remove basalt
19 changes: 19 additions & 0 deletions data/skyoregen/functions/b_gen/netherite2_gen.mcfunction
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
#Checks all iron1 generators
#Called from skyoregen:b_gen/valid_gen

#Checks to ensure Item Frame is still within range if not deletes area_effect_cloud
execute as @e[type=minecraft:area_effect_cloud, tag=valid, tag=netherite2] at @s unless entity @e[type=minecraft:item_frame, tag=b_generator_frame, nbt={Item:{id:"minecraft:netherite_block",Count:1b,tag:{netherite2_generator:1b}}}, distance=..4] run kill @e[type=area_effect_cloud, tag=!saved, distance=..4]

#Checks to see if air block is at valid
execute as @e[type=area_effect_cloud,tag=valid, tag=netherite2] at @s if block ~ ~ ~ air run tag @s add air

#Checks to see if lava block is at valid
execute as @e[type=area_effect_cloud,tag=valid, tag=netherite2, tag=air] at @s if block ~ ~ ~ basalt run tag @s add basalt

#Call iron1 loot table and then replace_ore
execute as @e[type=area_effect_cloud, tag=valid, tag=netherite2, tag=air, tag=basalt] at @s run loot spawn ~ ~ ~ loot skyoregen:entities/netherite2
execute as @e[type=area_effect_cloud, tag=valid, tag=netherite2, tag=air, tag=basalt] at @s run function skyoregen:b_gen/replace_ore

#Removes the tags on valid
execute as @e[type=area_effect_cloud, tag=valid, tag=netherite2, tag=air, tag=basalt] run tag @s remove air
execute as @e[type=area_effect_cloud, tag=valid, tag=netherite2, tag=basalt] run tag @s remove basalt
19 changes: 19 additions & 0 deletions data/skyoregen/functions/b_gen/netherrack_gen.mcfunction
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
#Checks all iron1 generators
#Called from skyoregen:b_gen/valid_gen

#Checks to ensure Item Frame is still within range if not deletes area_effect_cloud
execute as @e[type=minecraft:area_effect_cloud, tag=valid, tag=netherrack] at @s unless entity @e[type=minecraft:item_frame, tag=b_generator_frame, nbt={Item:{id:"minecraft:netherrack",Count:1b,tag:{netherrack_generator:1b}}}, distance=..4] run kill @e[type=area_effect_cloud, tag=!saved, distance=..4]

#Checks to see if air block is at valid
execute as @e[type=area_effect_cloud,tag=valid, tag=netherrack] at @s if block ~ ~ ~ air run tag @s add air

#Checks to see if lava block is at valid
execute as @e[type=area_effect_cloud,tag=valid, tag=netherrack, tag=air] at @s if block ~ ~ ~ basalt run tag @s add basalt

#Call iron1 loot table and then replace_ore
execute as @e[type=area_effect_cloud, tag=valid, tag=netherrack, tag=air, tag=basalt] at @s run loot spawn ~ ~ ~ loot skyoregen:entities/netherrack
execute as @e[type=area_effect_cloud, tag=valid, tag=netherrack, tag=air, tag=basalt] at @s run function skyoregen:b_gen/replace_ore

#Removes the tags on valid
execute as @e[type=area_effect_cloud, tag=valid, tag=netherrack, tag=air, tag=basalt] run tag @s remove air
execute as @e[type=area_effect_cloud, tag=valid, tag=netherrack, tag=basalt] run tag @s remove basalt
19 changes: 19 additions & 0 deletions data/skyoregen/functions/b_gen/quartz1_gen.mcfunction
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
#Checks all iron1 generators
#Called from skyoregen:b_gen/valid_gen

#Checks to ensure Item Frame is still within range if not deletes area_effect_cloud
execute as @e[type=minecraft:area_effect_cloud, tag=valid, tag=quartz1] at @s unless entity @e[type=minecraft:item_frame, tag=b_generator_frame, nbt={Item:{id:"minecraft:quartz",Count:1b,tag:{quartz1_generator:1b}}}, distance=..4] run kill @e[type=area_effect_cloud, tag=!saved, distance=..4]

#Checks to see if air block is at valid
execute as @e[type=area_effect_cloud,tag=valid, tag=quartz1] at @s if block ~ ~ ~ air run tag @s add air

#Checks to see if lava block is at valid
execute as @e[type=area_effect_cloud,tag=valid, tag=quartz1, tag=air] at @s if block ~ ~ ~ basalt run tag @s add basalt

#Call iron1 loot table and then replace_ore
execute as @e[type=area_effect_cloud, tag=valid, tag=quartz1, tag=air, tag=basalt] at @s run loot spawn ~ ~ ~ loot skyoregen:entities/quartz1
execute as @e[type=area_effect_cloud, tag=valid, tag=quartz1, tag=air, tag=basalt] at @s run function skyoregen:b_gen/replace_ore

#Removes the tags on valid
execute as @e[type=area_effect_cloud, tag=valid, tag=quartz1, tag=air, tag=basalt] run tag @s remove air
execute as @e[type=area_effect_cloud, tag=valid, tag=quartz1, tag=basalt] run tag @s remove basalt
19 changes: 19 additions & 0 deletions data/skyoregen/functions/b_gen/quartz2_gen.mcfunction
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
#Checks all iron1 generators
#Called from skyoregen:b_gen/valid_gen

#Checks to ensure Item Frame is still within range if not deletes area_effect_cloud
execute as @e[type=minecraft:area_effect_cloud, tag=valid, tag=quartz2] at @s unless entity @e[type=minecraft:item_frame, tag=b_generator_frame, nbt={Item:{id:"minecraft:quartz_block",Count:1b,tag:{quartz2_generator:1b}}}, distance=..4] run kill @e[type=area_effect_cloud, tag=!saved, distance=..4]

#Checks to see if air block is at valid
execute as @e[type=area_effect_cloud,tag=valid, tag=quartz2] at @s if block ~ ~ ~ air run tag @s add air

#Checks to see if lava block is at valid
execute as @e[type=area_effect_cloud,tag=valid, tag=quartz2, tag=air] at @s if block ~ ~ ~ basalt run tag @s add basalt

#Call iron1 loot table and then replace_ore
execute as @e[type=area_effect_cloud, tag=valid, tag=quartz2, tag=air, tag=basalt] at @s run loot spawn ~ ~ ~ loot skyoregen:entities/quartz2
execute as @e[type=area_effect_cloud, tag=valid, tag=quartz2, tag=air, tag=basalt] at @s run function skyoregen:b_gen/replace_ore

#Removes the tags on valid
execute as @e[type=area_effect_cloud, tag=valid, tag=quartz2, tag=air, tag=basalt] run tag @s remove air
execute as @e[type=area_effect_cloud, tag=valid, tag=quartz2, tag=basalt] run tag @s remove basalt
16 changes: 16 additions & 0 deletions data/skyoregen/functions/b_gen/replace_ore.mcfunction
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
#Replaces the cobblestone
#Called from all skyoregen:b_gen/*type*_gen
#Quartz Ore
execute as @e[type=area_effect_cloud, tag=valid, tag=air, tag=basalt] at @s if entity @e[type=item,nbt={Item:{id:"minecraft:white_dye",Count:1b,tag:{summon_quartz:1b}}}, distance=0] run setblock ~ ~ ~ minecraft:nether_quartz_ore
#Gold Ore
execute as @e[type=area_effect_cloud, tag=valid, tag=air, tag=basalt] at @s if entity @e[type=item,nbt={Item:{id:"minecraft:white_dye",Count:1b,tag:{summon_gold:1b}}}, distance=0] run setblock ~ ~ ~ minecraft:nether_gold_ore
#Ancient Debris
execute as @e[type=area_effect_cloud, tag=valid, tag=air, tag=basalt] at @s if entity @e[type=item,nbt={Item:{id:"minecraft:white_dye",Count:1b,tag:{summon_debris:1b}}}, distance=0] run setblock ~ ~ ~ minecraft:ancient_debris
#Netherrack
execute as @e[type=area_effect_cloud, tag=valid, tag=air, tag=basalt] at @s if entity @e[type=item,nbt={Item:{id:"minecraft:white_dye",Count:1b,tag:{summon_netherrack:1b}}}, distance=0] run setblock ~ ~ ~ minecraft:netherrack
#Soul Sand
execute as @e[type=area_effect_cloud, tag=valid, tag=air, tag=basalt] at @s if entity @e[type=item,nbt={Item:{id:"minecraft:white_dye",Count:1b,tag:{summon_soul_sand:1b}}}, distance=0] run setblock ~ ~ ~ minecraft:soul_sand
#Soul Soil
execute as @e[type=area_effect_cloud, tag=valid, tag=air, tag=basalt] at @s if entity @e[type=item,nbt={Item:{id:"minecraft:white_dye",Count:1b,tag:{summon_soul_soil:1b}}}, distance=0] run setblock ~ ~ ~ minecraft:soul_soil
#Removes placeholder item(white_dye)
execute as @e[type=area_effect_cloud, tag=valid, tag=air, tag=basalt] at @s run kill @e[type=item,nbt={Item:{id:"minecraft:white_dye",Count:1b}}]
19 changes: 19 additions & 0 deletions data/skyoregen/functions/b_gen/soul_gen.mcfunction
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
#Checks all iron1 generators
#Called from skyoregen:b_gen/valid_gen

#Checks to ensure Item Frame is still within range if not deletes area_effect_cloud
execute as @e[type=minecraft:area_effect_cloud, tag=valid, tag=soul] at @s unless entity @e[type=minecraft:item_frame, tag=b_generator_frame, nbt={Item:{id:"minecraft:soul_soil",Count:1b,tag:{soul_generator:1b}}}, distance=..4] run kill @e[type=area_effect_cloud, tag=!saved, distance=..4]

#Checks to see if air block is at valid
execute as @e[type=area_effect_cloud,tag=valid, tag=soul] at @s if block ~ ~ ~ air run tag @s add air

#Checks to see if lava block is at valid
execute as @e[type=area_effect_cloud,tag=valid, tag=soul, tag=air] at @s if block ~ ~ ~ basalt run tag @s add basalt

#Call iron1 loot table and then replace_ore
execute as @e[type=area_effect_cloud, tag=valid, tag=soul, tag=air, tag=basalt] at @s run loot spawn ~ ~ ~ loot skyoregen:entities/soul
execute as @e[type=area_effect_cloud, tag=valid, tag=soul, tag=air, tag=basalt] at @s run function skyoregen:b_gen/replace_ore

#Removes the tags on valid
execute as @e[type=area_effect_cloud, tag=valid, tag=soul, tag=air, tag=basalt] run tag @s remove air
execute as @e[type=area_effect_cloud, tag=valid, tag=soul, tag=basalt] run tag @s remove basalt
9 changes: 9 additions & 0 deletions data/skyoregen/functions/b_gen/valid_gen.mcfunction
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
#Calls all generator functions
#Called from skyoregen:b_frame/loop

function skyoregen:b_gen/quartz1_gen
function skyoregen:b_gen/quartz2_gen
function skyoregen:b_gen/netherite1_gen
function skyoregen:b_gen/netherite2_gen
function skyoregen:b_gen/netherrack_gen
function skyoregen:b_gen/soul_gen
2 changes: 2 additions & 0 deletions data/skyoregen/functions/c_frame/break_frame.mcfunction
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@

execute as @e[type=area_effect_cloud, tag=c_saved] at @s unless entity @e[type=minecraft:item_frame, tag=c_generator_frame, tag=saved, distance=0] run function skyoregen:c_frame/summon_frame
7 changes: 7 additions & 0 deletions data/skyoregen/functions/c_frame/craft_book.mcfunction
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
recipe take @s skyoregen:cobbook

advancement revoke @s only skyoregen:cobbook_adv

execute as @s at @s run function skyoregen:give/cobblestone_book

clear @s minecraft:knowledge_book
6 changes: 6 additions & 0 deletions data/skyoregen/functions/c_frame/gettingstarted.mcfunction
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
tellraw @s ["",{"text":"","color":"white"}]
tellraw @s ["",{"text":"[","color":"white"},{"text":"Sky","color":"aqua"},{"text":"Ore","color":"green"},{"text":"Gen","color":"gold"},{"text":"] All necessary items for cobblestone generators can be bought from Greg. Greg can be summoned from the book just given to you. The book can also be crafted by surrounding an ink sack with 8 cobblestone in a crafting table.","color":"white"}]
tellraw @s ["",{"text":"","color":"white"}]

function skyoregen:give/cobblestone_book
function skyoregen:settings/level_lock
5 changes: 5 additions & 0 deletions data/skyoregen/functions/c_frame/loop.mcfunction
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@

function skyoregen:c_frame/test_frames
function skyoregen:c_frame/break_frame
function skyoregen:c_frame/rotation
function skyoregen:c_gen/valid_gen
5 changes: 5 additions & 0 deletions data/skyoregen/functions/c_frame/reset_frame.mcfunction
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@


execute as @e[type=minecraft:item_frame, tag=c_generator_frame, tag=tested, nbt=!{ItemRotation:0b}] at @s[distance=..4] run kill @e[type=area_effect_cloud, tag=!c_saved, tag=!b_saved, tag=!bas_gen, distance=..4]
execute as @e[type=minecraft:item_frame, tag=c_generator_frame, tag=tested, nbt=!{ItemRotation:0b}] at @s run tag @s remove tested
execute as @e[type=minecraft:item_frame, tag=c_generator_frame, tag=!tested, nbt=!{ItemRotation:0b}] at @s run data modify entity @s ItemRotation set value 0b
2 changes: 2 additions & 0 deletions data/skyoregen/functions/c_frame/rotation.mcfunction
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@

execute as @e[type=minecraft:item_frame, tag=c_generator_frame, tag=tested, nbt=!{ItemRotation:0b}, limit=1] at @s run function skyoregen:c_frame/reset_frame
2 changes: 2 additions & 0 deletions data/skyoregen/functions/c_frame/save_frame.mcfunction
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
execute as @e[type=minecraft:item_frame, tag=c_generator_frame, tag=!saved] at @s run summon minecraft:area_effect_cloud ~ ~ ~ {Tags:["c_saved"], Age: -2147483648, Duration: -1, WaitTime: -2147483648}
execute as @e[type=minecraft:item_frame, tag=c_generator_frame, tag=!saved] at @s run tag @s add saved
4 changes: 4 additions & 0 deletions data/skyoregen/functions/c_frame/summon_frame.mcfunction
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@

execute as @e[type=area_effect_cloud, tag=c_saved] at @s[distance=..1] unless entity @e[type=minecraft:item_frame, tag=c_generator_frame, tag=saved, distance=0] run kill @e[type=item,nbt={Item:{id:"minecraft:item_frame",Count:1b}},distance=..1]
execute as @e[type=area_effect_cloud, tag=c_saved] at @s[] unless entity @e[type=minecraft:item_frame, tag=c_generator_frame, tag=saved, distance=0] run summon item ~ ~ ~ {Item:{id:"minecraft:item_frame",Count:1b,tag:{display:{Name:'{"text":"Cobblestone Generator Frame","color":"light_purple"}',Lore:['{"text":"Detects cobblestone generators within 4 blocks","color":"white"}']},EntityTag:{Tags:["c_generator_frame"]}}}}
execute as @e[type=area_effect_cloud, tag=c_saved] at @s[] unless entity @e[type=minecraft:item_frame, tag=c_generator_frame, tag=saved, distance=0] run kill @s
2 changes: 2 additions & 0 deletions data/skyoregen/functions/c_frame/test_frames.mcfunction
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
execute as @e[type=minecraft:item_frame, tag=c_generator_frame, tag=!saved] at @s run function skyoregen:c_frame/save_frame
execute as @e[type=minecraft:item_frame, tag=c_generator_frame, tag=!tested] at @s run function skyoregen:detect/gen_type
20 changes: 20 additions & 0 deletions data/skyoregen/functions/c_gen/coal_gen.mcfunction
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
#Checks all coal generators
#Called from skyoregen:c_gen/valid_gen

#Checks to ensure Item Frame is still within range if not deletes area_effect_cloud
execute as @e[type=minecraft:area_effect_cloud, tag=valid, tag=coal] at @s unless entity @e[type=minecraft:item_frame, tag=c_generator_frame, nbt={Item:{id:"minecraft:coal_block",Count:1b,tag:{coal_generator:1b}}}, distance=..4] run kill @e[type=area_effect_cloud, tag=!saved, distance=..4]

#Checks to see if air block is at valid
execute as @e[type=area_effect_cloud,tag=valid, tag=coal] at @s if block ~ ~ ~ air run tag @s add air

#Checks to see if lava block is at valid
execute as @e[type=area_effect_cloud,tag=valid, tag=coal, tag=air] at @s if block ~ ~ ~ cobblestone run tag @s add cobblestone

#Call coal loot table and then replace_ore
execute as @e[type=area_effect_cloud, tag=valid, tag=coal, tag=air, tag=cobblestone] at @s if score level SkyOreGen matches 0 run loot spawn ~ ~ ~ loot skyoregen:entities/coal
execute as @e[type=area_effect_cloud, tag=valid, tag=coal, tag=air, tag=cobblestone] at @s if score level SkyOreGen matches 1 run loot spawn ~ ~ ~ loot skyoregen:entities/coal_2
execute as @e[type=area_effect_cloud, tag=valid, tag=coal, tag=air, tag=cobblestone] at @s run function skyoregen:c_gen/replace_ore

#Removes the tags on valid
execute as @e[type=area_effect_cloud, tag=valid, tag=coal, tag=air, tag=cobblestone] run tag @s remove air
execute as @e[type=area_effect_cloud, tag=valid, tag=coal, tag=cobblestone] run tag @s remove cobblestone
20 changes: 20 additions & 0 deletions data/skyoregen/functions/c_gen/cob_gen.mcfunction
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
#Checks all cobblestone generators
#Called from skyoregen:c_gen/valid_gen

#Checks to ensure Item Frame is still within range if not deletes area_effect_cloud
execute as @e[type=minecraft:area_effect_cloud, tag=valid, tag=cob] at @s unless entity @e[type=minecraft:item_frame, tag=c_generator_frame, nbt={Item:{id:"minecraft:cobblestone",Count:1b,tag:{cob_generator:1b}}}, distance=..4] run kill @e[type=area_effect_cloud, tag=!saved, distance=..4]

#Checks to see if air block is at valid
execute as @e[type=area_effect_cloud,tag=valid, tag=cob] at @s if block ~ ~ ~ air run tag @s add air

#Checks to see if lava block is at valid
execute as @e[type=area_effect_cloud,tag=valid, tag=cob, tag=air] at @s if block ~ ~ ~ cobblestone run tag @s add cobblestone

#Call cobblestone loot table and then replace_ore
execute as @e[type=area_effect_cloud, tag=valid, tag=cob, tag=air, tag=cobblestone] at @s if score level SkyOreGen matches 0 run loot spawn ~ ~ ~ loot skyoregen:entities/cob
execute as @e[type=area_effect_cloud, tag=valid, tag=cob, tag=air, tag=cobblestone] at @s if score level SkyOreGen matches 1 run loot spawn ~ ~ ~ loot skyoregen:entities/cob_2
execute as @e[type=area_effect_cloud, tag=valid, tag=cob, tag=air, tag=cobblestone] at @s run function skyoregen:c_gen/replace_ore

#Removes the tags on valid
execute as @e[type=area_effect_cloud, tag=valid, tag=cob, tag=air, tag=cobblestone] run tag @s remove air
execute as @e[type=area_effect_cloud, tag=valid, tag=cob, tag=cobblestone] run tag @s remove cobblestone

0 comments on commit 4516e9d

Please sign in to comment.