Complete rewrite

Prep for addition of optional additional tools
Removed config (for now)
Added loads of blocks
This commit is contained in:
2025-05-13 02:30:39 +01:00
parent 02a8a2ca97
commit 48d5cf9d5e
195 changed files with 2060 additions and 6794 deletions

View File

@@ -0,0 +1,17 @@
## Face Click Calibrated Sculk Sensor
# Get Raycast Target Coords
function wrench:raycast/target_coords
# Calibrated Sculk Sensor
$execute as @s[scores={lz_wrench_success=0}] if score pz lz_wrench_raycast matches 0 store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[waterlogged=true] run setblock ~ ~ ~ $(block)[waterlogged=true,facing=south] replace
$execute as @s[scores={lz_wrench_success=0}] if score px lz_wrench_raycast matches 15 store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[waterlogged=true] run setblock ~ ~ ~ $(block)[waterlogged=true,facing=west] replace
$execute as @s[scores={lz_wrench_success=0}] if score pz lz_wrench_raycast matches 15 store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[waterlogged=true] run setblock ~ ~ ~ $(block)[waterlogged=true,facing=north] replace
$execute as @s[scores={lz_wrench_success=0}] if score px lz_wrench_raycast matches 0 store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[waterlogged=true] run setblock ~ ~ ~ $(block)[waterlogged=true,facing=east] replace
$execute as @s[scores={lz_wrench_success=0}] if score pz lz_wrench_raycast matches 0 store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[waterlogged=false] run setblock ~ ~ ~ $(block)[waterlogged=false,facing=south] replace
$execute as @s[scores={lz_wrench_success=0}] if score px lz_wrench_raycast matches 15 store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[waterlogged=false] run setblock ~ ~ ~ $(block)[waterlogged=false,facing=west] replace
$execute as @s[scores={lz_wrench_success=0}] if score pz lz_wrench_raycast matches 15 store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[waterlogged=false] run setblock ~ ~ ~ $(block)[waterlogged=false,facing=north] replace
$execute as @s[scores={lz_wrench_success=0}] if score px lz_wrench_raycast matches 0 store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[waterlogged=false] run setblock ~ ~ ~ $(block)[waterlogged=false,facing=east] replace
# Otherwise, Flip
execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run function wrench:rotate/unique_blocks/calibrated_sculk_sensor/flip with storage lz:wrench

View File

@@ -0,0 +1,10 @@
## Cycle Calibrated Sculk Sensor
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[waterlogged=true,facing=north] run setblock ~ ~ ~ $(block)[waterlogged=true,facing=east] replace
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[waterlogged=true,facing=west] run setblock ~ ~ ~ $(block)[waterlogged=true,facing=north] replace
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[waterlogged=true,facing=south] run setblock ~ ~ ~ $(block)[waterlogged=true,facing=west] replace
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[waterlogged=true,facing=east] run setblock ~ ~ ~ $(block)[waterlogged=true,facing=south] replace
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[waterlogged=false,facing=north] run setblock ~ ~ ~ $(block)[waterlogged=false,facing=east] replace
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[waterlogged=false,facing=west] run setblock ~ ~ ~ $(block)[waterlogged=false,facing=north] replace
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[waterlogged=false,facing=south] run setblock ~ ~ ~ $(block)[waterlogged=false,facing=west] replace
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[waterlogged=false,facing=east] run setblock ~ ~ ~ $(block)[waterlogged=false,facing=south] replace

View File

@@ -0,0 +1,10 @@
## Flip Calibrated Sculk Sensor
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[waterlogged=true,facing=west] run setblock ~ ~ ~ $(block)[waterlogged=true,facing=east] replace
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[waterlogged=true,facing=south] run setblock ~ ~ ~ $(block)[waterlogged=true,facing=north] replace
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[waterlogged=true,facing=east] run setblock ~ ~ ~ $(block)[waterlogged=true,facing=west] replace
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[waterlogged=true,facing=north] run setblock ~ ~ ~ $(block)[waterlogged=true,facing=south] replace
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[waterlogged=false,facing=west] run setblock ~ ~ ~ $(block)[waterlogged=false,facing=east] replace
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[waterlogged=false,facing=south] run setblock ~ ~ ~ $(block)[waterlogged=false,facing=north] replace
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[waterlogged=false,facing=east] run setblock ~ ~ ~ $(block)[waterlogged=false,facing=west] replace
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[waterlogged=false,facing=north] run setblock ~ ~ ~ $(block)[waterlogged=false,facing=south] replace

View File

@@ -0,0 +1,13 @@
## Cycle Calibrated Sculk Sensor
$execute as @s[scores={lz_wrench_success=0}, y_rotation=-45..45] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[waterlogged=true] run setblock ~ ~ ~ $(block)[waterlogged=true,facing=south] replace
$execute as @s[scores={lz_wrench_success=0}, y_rotation=45..135] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[waterlogged=true] run setblock ~ ~ ~ $(block)[waterlogged=true,facing=west] replace
$execute as @s[scores={lz_wrench_success=0}, y_rotation=135..-135] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[waterlogged=true] run setblock ~ ~ ~ $(block)[waterlogged=true,facing=north] replace
$execute as @s[scores={lz_wrench_success=0}, y_rotation=-135..-45] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[waterlogged=true] run setblock ~ ~ ~ $(block)[waterlogged=true,facing=east] replace
$execute as @s[scores={lz_wrench_success=0}, y_rotation=-45..45] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[waterlogged=false] run setblock ~ ~ ~ $(block)[waterlogged=false,facing=south] replace
$execute as @s[scores={lz_wrench_success=0}, y_rotation=45..135] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[waterlogged=false] run setblock ~ ~ ~ $(block)[waterlogged=false,facing=west] replace
$execute as @s[scores={lz_wrench_success=0}, y_rotation=135..-135] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[waterlogged=false] run setblock ~ ~ ~ $(block)[waterlogged=false,facing=north] replace
$execute as @s[scores={lz_wrench_success=0}, y_rotation=-135..-45] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[waterlogged=false] run setblock ~ ~ ~ $(block)[waterlogged=false,facing=east] replace
# Otherwise, Flip
execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run function wrench:rotate/unique_blocks/calibrated_sculk_sensor/flip with storage lz:wrench

View File

@@ -0,0 +1,7 @@
## Calibrated Sculk Sensor
# Rotate Based on Wrench Mode
execute as @s[scores={lz_wrench_success=0},nbt={SelectedItem:{components:{"minecraft:lore":["Flip"]}}}] run function wrench:rotate/unique_blocks/calibrated_sculk_sensor/flip with storage lz:wrench
execute as @s[scores={lz_wrench_success=0},nbt={SelectedItem:{components:{"minecraft:lore":["Face Player"]}}}] run function wrench:rotate/unique_blocks/calibrated_sculk_sensor/player with storage lz:wrench
execute as @s[scores={lz_wrench_success=0},nbt={SelectedItem:{components:{"minecraft:lore":["Face Click"]}}}] run function wrench:rotate/unique_blocks/calibrated_sculk_sensor/click with storage lz:wrench
execute as @s[scores={lz_wrench_success=0}] run function wrench:rotate/unique_blocks/calibrated_sculk_sensor/cycle with storage lz:wrench

View File

@@ -0,0 +1,10 @@
## Campfires Cycle
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[lit=true,facing=west] run setblock ~ ~ ~ $(block)[lit=true,facing=north] replace
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[lit=true,facing=north] run setblock ~ ~ ~ $(block)[lit=true,facing=east] replace
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[lit=true,facing=east] run setblock ~ ~ ~ $(block)[lit=true,facing=south] replace
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[lit=true,facing=south] run setblock ~ ~ ~ $(block)[lit=true,facing=west] replace
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[lit=false,facing=west] run setblock ~ ~ ~ $(block)[lit=false,facing=north] replace
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[lit=false,facing=north] run setblock ~ ~ ~ $(block)[lit=false,facing=east] replace
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[lit=false,facing=east] run setblock ~ ~ ~ $(block)[lit=false,facing=south] replace
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[lit=false,facing=south] run setblock ~ ~ ~ $(block)[lit=false,facing=west] replace

View File

@@ -0,0 +1,3 @@
## Campfires
execute as @s[scores={lz_wrench_success=0}] run function wrench:rotate/unique_blocks/campfires/cycle with storage lz:wrench

View File

@@ -0,0 +1,18 @@
## Face Click Comparator
# Get Raycast Target Coords
function wrench:raycast/target_coords
# Compare mode
$execute as @s[scores={lz_wrench_success=0}] if score pz lz_wrench_raycast matches 0 store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[mode=compare] run setblock ~ ~ ~ $(block)[mode=compare,facing=north] replace
$execute as @s[scores={lz_wrench_success=0}] if score px lz_wrench_raycast matches 15 store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[mode=compare] run setblock ~ ~ ~ $(block)[mode=compare,facing=east] replace
$execute as @s[scores={lz_wrench_success=0}] if score pz lz_wrench_raycast matches 15 store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[mode=compare] run setblock ~ ~ ~ $(block)[mode=compare,facing=south] replace
$execute as @s[scores={lz_wrench_success=0}] if score px lz_wrench_raycast matches 0 store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[mode=compare] run setblock ~ ~ ~ $(block)[mode=compare,facing=west] replace
# Subtract mode
$execute as @s[scores={lz_wrench_success=0}] if score pz lz_wrench_raycast matches 0 store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[mode=subtract] run setblock ~ ~ ~ $(block)[mode=subtract,facing=north] replace
$execute as @s[scores={lz_wrench_success=0}] if score px lz_wrench_raycast matches 15 store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[mode=subtract] run setblock ~ ~ ~ $(block)[mode=subtract,facing=east] replace
$execute as @s[scores={lz_wrench_success=0}] if score pz lz_wrench_raycast matches 15 store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[mode=subtract] run setblock ~ ~ ~ $(block)[mode=subtract,facing=south] replace
$execute as @s[scores={lz_wrench_success=0}] if score px lz_wrench_raycast matches 0 store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[mode=subtract] run setblock ~ ~ ~ $(block)[mode=subtract,facing=west] replace
# Otherwise, Flip
execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run function wrench:rotate/unique_blocks/comparator/flip with storage lz:wrench

View File

@@ -0,0 +1,12 @@
## Cycle Comparator
# Compare mode
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[mode=compare,facing=north] run setblock ~ ~ ~ $(block)[mode=compare,facing=east] replace
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[mode=compare,facing=west] run setblock ~ ~ ~ $(block)[mode=compare,facing=north] replace
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[mode=compare,facing=south] run setblock ~ ~ ~ $(block)[mode=compare,facing=west] replace
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[mode=compare,facing=east] run setblock ~ ~ ~ $(block)[mode=compare,facing=south] replace
# Subtract mode
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[mode=subtract,facing=north] run setblock ~ ~ ~ $(block)[mode=subtract,facing=east] replace
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[mode=subtract,facing=west] run setblock ~ ~ ~ $(block)[mode=subtract,facing=north] replace
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[mode=subtract,facing=south] run setblock ~ ~ ~ $(block)[mode=subtract,facing=west] replace
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[mode=subtract,facing=east] run setblock ~ ~ ~ $(block)[mode=subtract,facing=south] replace

View File

@@ -0,0 +1,12 @@
## Flip Comparator
# Compare mode
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[mode=compare,facing=west] run setblock ~ ~ ~ $(block)[mode=compare,facing=east] replace
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[mode=compare,facing=south] run setblock ~ ~ ~ $(block)[mode=compare,facing=north] replace
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[mode=compare,facing=east] run setblock ~ ~ ~ $(block)[mode=compare,facing=west] replace
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[mode=compare,facing=north] run setblock ~ ~ ~ $(block)[mode=compare,facing=south] replace
# Subtract mode
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[mode=subtract,facing=west] run setblock ~ ~ ~ $(block)[mode=subtract,facing=east] replace
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[mode=subtract,facing=south] run setblock ~ ~ ~ $(block)[mode=subtract,facing=north] replace
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[mode=subtract,facing=east] run setblock ~ ~ ~ $(block)[mode=subtract,facing=west] replace
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[mode=subtract,facing=north] run setblock ~ ~ ~ $(block)[mode=subtract,facing=south] replace

View File

@@ -0,0 +1,15 @@
## Face Player Comparator
# Compare mode
$execute as @s[scores={lz_wrench_success=0}, y_rotation=-45..45] store result score @s lz_wrench_success unless block ~ ~ ~ $(block)[facing=north] run execute if block ~ ~ ~ $(block)[mode=compare] run setblock ~ ~ ~ $(block)[mode=compare,facing=north] replace
$execute as @s[scores={lz_wrench_success=0}, y_rotation=45..135] store result score @s lz_wrench_success unless block ~ ~ ~ $(block)[facing=east] run execute if block ~ ~ ~ $(block)[mode=compare] run setblock ~ ~ ~ $(block)[mode=compare,facing=east] replace
$execute as @s[scores={lz_wrench_success=0}, y_rotation=135..-135] store result score @s lz_wrench_success unless block ~ ~ ~ $(block)[facing=south] run execute if block ~ ~ ~ $(block)[mode=compare] run setblock ~ ~ ~ $(block)[mode=compare,facing=south] replace
$execute as @s[scores={lz_wrench_success=0}, y_rotation=-135..-45] store result score @s lz_wrench_success unless block ~ ~ ~ $(block)[facing=west] run execute if block ~ ~ ~ $(block)[mode=compare] run setblock ~ ~ ~ $(block)[mode=compare,facing=west] replace
# Subtract mode
$execute as @s[scores={lz_wrench_success=0}, y_rotation=-45..45] store result score @s lz_wrench_success unless block ~ ~ ~ $(block)[facing=north] run execute if block ~ ~ ~ $(block)[mode=subtract] run setblock ~ ~ ~ $(block)[mode=subtract,facing=north] replace
$execute as @s[scores={lz_wrench_success=0}, y_rotation=45..135] store result score @s lz_wrench_success unless block ~ ~ ~ $(block)[facing=east] run execute if block ~ ~ ~ $(block)[mode=subtract] run setblock ~ ~ ~ $(block)[mode=subtract,facing=east] replace
$execute as @s[scores={lz_wrench_success=0}, y_rotation=135..-135] store result score @s lz_wrench_success unless block ~ ~ ~ $(block)[facing=south] run execute if block ~ ~ ~ $(block)[mode=subtract] run setblock ~ ~ ~ $(block)[mode=subtract,facing=south] replace
$execute as @s[scores={lz_wrench_success=0}, y_rotation=-135..-45] store result score @s lz_wrench_success unless block ~ ~ ~ $(block)[facing=west] run execute if block ~ ~ ~ $(block)[mode=subtract] run setblock ~ ~ ~ $(block)[mode=subtract,facing=west] replace
# Otherwise, Flip
execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run function wrench:rotate/unique_blocks/comparator/flip with storage lz:wrench

View File

@@ -0,0 +1,7 @@
## Comparator
# Rotate Based on Wrench Mode
execute as @s[scores={lz_wrench_success=0},nbt={SelectedItem:{components:{"minecraft:lore":["Flip"]}}}] run function wrench:rotate/unique_blocks/comparator/flip with storage lz:wrench
execute as @s[scores={lz_wrench_success=0},nbt={SelectedItem:{components:{"minecraft:lore":["Face Player"]}}}] run function wrench:rotate/unique_blocks/comparator/player with storage lz:wrench
execute as @s[scores={lz_wrench_success=0},nbt={SelectedItem:{components:{"minecraft:lore":["Face Click"]}}}] run function wrench:rotate/unique_blocks/comparator/click with storage lz:wrench
execute as @s[scores={lz_wrench_success=0}] run function wrench:rotate/unique_blocks/comparator/cycle with storage lz:wrench

View File

@@ -0,0 +1,20 @@
## Face Click Crafter
# Get Raycast Target Coords
function wrench:raycast/target_coords
$execute as @s[scores={lz_wrench_success=0}, y_rotation=-45..45] if score py lz_wrench_raycast matches 15 store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block) run setblock ~ ~ ~ $(block)[orientation=up_south] replace
$execute as @s[scores={lz_wrench_success=0}, y_rotation=45..135] if score py lz_wrench_raycast matches 15 store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block) run setblock ~ ~ ~ $(block)[orientation=up_west] replace
$execute as @s[scores={lz_wrench_success=0}, y_rotation=135..-135] if score py lz_wrench_raycast matches 15 store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block) run setblock ~ ~ ~ $(block)[orientation=up_north] replace
$execute as @s[scores={lz_wrench_success=0}, y_rotation=-135..-45] if score py lz_wrench_raycast matches 15 store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block) run setblock ~ ~ ~ $(block)[orientation=up_east] replace
$execute as @s[scores={lz_wrench_success=0}, y_rotation=-45..45] if score py lz_wrench_raycast matches 0 store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block) run setblock ~ ~ ~ $(block)[orientation=down_north] replace
$execute as @s[scores={lz_wrench_success=0}, y_rotation=45..135] if score py lz_wrench_raycast matches 0 store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block) run setblock ~ ~ ~ $(block)[orientation=down_east] replace
$execute as @s[scores={lz_wrench_success=0}, y_rotation=135..-135] if score py lz_wrench_raycast matches 0 store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block) run setblock ~ ~ ~ $(block)[orientation=down_south] replace
$execute as @s[scores={lz_wrench_success=0}, y_rotation=-135..-45] if score py lz_wrench_raycast matches 0 store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block) run setblock ~ ~ ~ $(block)[orientation=down_west] replace
$execute as @s[scores={lz_wrench_success=0}] if score pz lz_wrench_raycast matches 0 store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block) run setblock ~ ~ ~ $(block)[orientation=north_up] replace
$execute as @s[scores={lz_wrench_success=0}] if score px lz_wrench_raycast matches 15 store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block) run setblock ~ ~ ~ $(block)[orientation=east_up] replace
$execute as @s[scores={lz_wrench_success=0}] if score pz lz_wrench_raycast matches 15 store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block) run setblock ~ ~ ~ $(block)[orientation=south_up] replace
$execute as @s[scores={lz_wrench_success=0}] if score px lz_wrench_raycast matches 0 store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block) run setblock ~ ~ ~ $(block)[orientation=west_up] replace
# Otherwise, Flip
execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run function wrench:rotate/unique_blocks/crafter/flip with storage lz:wrench

View File

@@ -0,0 +1,14 @@
## Cycle Crafter
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[orientation=down_west] run setblock ~ ~ ~ $(block)[orientation=up_north] replace
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[orientation=up_north] run setblock ~ ~ ~ $(block)[orientation=up_east] replace
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[orientation=up_east] run setblock ~ ~ ~ $(block)[orientation=up_south] replace
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[orientation=up_south] run setblock ~ ~ ~ $(block)[orientation=up_west] replace
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[orientation=up_west] run setblock ~ ~ ~ $(block)[orientation=north_up] replace
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[orientation=north_up] run setblock ~ ~ ~ $(block)[orientation=east_up] replace
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[orientation=east_up] run setblock ~ ~ ~ $(block)[orientation=south_up] replace
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[orientation=south_up] run setblock ~ ~ ~ $(block)[orientation=west_up] replace
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[orientation=west_up] run setblock ~ ~ ~ $(block)[orientation=down_north] replace
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[orientation=down_north] run setblock ~ ~ ~ $(block)[orientation=down_east] replace
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[orientation=down_east] run setblock ~ ~ ~ $(block)[orientation=down_south] replace
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[orientation=down_south] run setblock ~ ~ ~ $(block)[orientation=down_west] replace

View File

@@ -0,0 +1,14 @@
## Flip Crafter
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[orientation=down_north] run setblock ~ ~ ~ $(block)[orientation=up_north] replace
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[orientation=down_east] run setblock ~ ~ ~ $(block)[orientation=up_east] replace
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[orientation=down_south] run setblock ~ ~ ~ $(block)[orientation=up_south] replace
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[orientation=down_west] run setblock ~ ~ ~ $(block)[orientation=up_west] replace
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[orientation=south_up] run setblock ~ ~ ~ $(block)[orientation=north_up] replace
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[orientation=west_up] run setblock ~ ~ ~ $(block)[orientation=east_up] replace
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[orientation=north_up] run setblock ~ ~ ~ $(block)[orientation=south_up] replace
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[orientation=east_up] run setblock ~ ~ ~ $(block)[orientation=west_up] replace
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[orientation=up_north] run setblock ~ ~ ~ $(block)[orientation=down_north] replace
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[orientation=up_east] run setblock ~ ~ ~ $(block)[orientation=down_east] replace
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[orientation=up_south] run setblock ~ ~ ~ $(block)[orientation=down_south] replace
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[orientation=up_west] run setblock ~ ~ ~ $(block)[orientation=down_west] replace

View File

@@ -0,0 +1,17 @@
## Face Player Crafter
$execute as @s[scores={lz_wrench_success=0}, x_rotation=45..90, y_rotation=-45..45] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block) run setblock ~ ~ ~ $(block)[orientation=up_south] replace
$execute as @s[scores={lz_wrench_success=0}, x_rotation=45..90, y_rotation=45..135] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block) run setblock ~ ~ ~ $(block)[orientation=up_west] replace
$execute as @s[scores={lz_wrench_success=0}, x_rotation=45..90, y_rotation=135..-135] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block) run setblock ~ ~ ~ $(block)[orientation=up_north] replace
$execute as @s[scores={lz_wrench_success=0}, x_rotation=45..90, y_rotation=-135..-45] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block) run setblock ~ ~ ~ $(block)[orientation=up_east] replace
$execute as @s[scores={lz_wrench_success=0}, x_rotation=-90..-45, y_rotation=-45..45] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block) run setblock ~ ~ ~ $(block)[orientation=down_north] replace
$execute as @s[scores={lz_wrench_success=0}, x_rotation=-90..-45, y_rotation=45..135] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block) run setblock ~ ~ ~ $(block)[orientation=down_east] replace
$execute as @s[scores={lz_wrench_success=0}, x_rotation=-90..-45, y_rotation=135..-135] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block) run setblock ~ ~ ~ $(block)[orientation=down_south] replace
$execute as @s[scores={lz_wrench_success=0}, x_rotation=-90..-45, y_rotation=-135..-45] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block) run setblock ~ ~ ~ $(block)[orientation=down_west] replace
$execute as @s[scores={lz_wrench_success=0}, x_rotation=-45..45, y_rotation=-45..45] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block) run setblock ~ ~ ~ $(block)[orientation=north_up] replace
$execute as @s[scores={lz_wrench_success=0}, x_rotation=-45..45, y_rotation=45..135] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block) run setblock ~ ~ ~ $(block)[orientation=east_up] replace
$execute as @s[scores={lz_wrench_success=0}, x_rotation=-45..45, y_rotation=135..-135] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block) run setblock ~ ~ ~ $(block)[orientation=south_up] replace
$execute as @s[scores={lz_wrench_success=0}, x_rotation=-45..45, y_rotation=-135..-45] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block) run setblock ~ ~ ~ $(block)[orientation=west_up] replace
# Otherwise, Flip
execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run function wrench:rotate/unique_blocks/crafter/flip with storage lz:wrench

View File

@@ -0,0 +1,7 @@
## Crafter
# Rotate Based on Wrench Mode
execute as @s[scores={lz_wrench_success=0},nbt={SelectedItem:{components:{"minecraft:lore":["Flip"]}}}] run function wrench:rotate/unique_blocks/crafter/flip with storage lz:wrench
execute as @s[scores={lz_wrench_success=0},nbt={SelectedItem:{components:{"minecraft:lore":["Face Player"]}}}] run function wrench:rotate/unique_blocks/crafter/player with storage lz:wrench
execute as @s[scores={lz_wrench_success=0},nbt={SelectedItem:{components:{"minecraft:lore":["Face Click"]}}}] run function wrench:rotate/unique_blocks/crafter/click with storage lz:wrench
execute as @s[scores={lz_wrench_success=0}] run function wrench:rotate/unique_blocks/crafter/cycle with storage lz:wrench

View File

@@ -0,0 +1,14 @@
## Cycle Grindstone
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[face=ceiling,facing=west] run setblock ~ ~ ~ $(block)[face=floor,facing=north] replace
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[face=floor,facing=north] run setblock ~ ~ ~ $(block)[face=floor,facing=east] replace
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[face=floor,facing=east] run setblock ~ ~ ~ $(block)[face=floor,facing=south] replace
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[face=floor,facing=south] run setblock ~ ~ ~ $(block)[face=floor,facing=west] replace
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[face=floor,facing=west] run setblock ~ ~ ~ $(block)[face=wall,facing=north] replace
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[face=wall,facing=north] run setblock ~ ~ ~ $(block)[face=wall,facing=east] replace
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[face=wall,facing=east] run setblock ~ ~ ~ $(block)[face=wall,facing=south] replace
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[face=wall,facing=south] run setblock ~ ~ ~ $(block)[face=wall,facing=west] replace
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[face=wall,facing=west] run setblock ~ ~ ~ $(block)[face=ceiling,facing=north] replace
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[face=ceiling,facing=north] run setblock ~ ~ ~ $(block)[face=ceiling,facing=east] replace
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[face=ceiling,facing=east] run setblock ~ ~ ~ $(block)[face=ceiling,facing=south] replace
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[face=ceiling,facing=south] run setblock ~ ~ ~ $(block)[face=ceiling,facing=west] replace

View File

@@ -0,0 +1,14 @@
## Flip Grindstone
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[face=floor,facing=north] run setblock ~ ~ ~ $(block)[face=ceiling,facing=north] replace
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[face=floor,facing=east] run setblock ~ ~ ~ $(block)[face=ceiling,facing=east] replace
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[face=floor,facing=south] run setblock ~ ~ ~ $(block)[face=ceiling,facing=south] replace
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[face=floor,facing=west] run setblock ~ ~ ~ $(block)[face=ceiling,facing=west] replace
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[face=wall,facing=north] run setblock ~ ~ ~ $(block)[face=wall,facing=south] replace
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[face=wall,facing=east] run setblock ~ ~ ~ $(block)[face=wall,facing=west] replace
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[face=wall,facing=south] run setblock ~ ~ ~ $(block)[face=wall,facing=north] replace
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[face=wall,facing=west] run setblock ~ ~ ~ $(block)[face=wall,facing=east] replace
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[face=ceiling,facing=north] run setblock ~ ~ ~ $(block)[face=floor,facing=north] replace
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[face=ceiling,facing=east] run setblock ~ ~ ~ $(block)[face=floor,facing=east] replace
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[face=ceiling,facing=south] run setblock ~ ~ ~ $(block)[face=floor,facing=south] replace
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[face=ceiling,facing=west] run setblock ~ ~ ~ $(block)[face=floor,facing=west] replace

View File

@@ -0,0 +1,17 @@
## Face Player Grindstone
$execute as @s[scores={lz_wrench_success=0}, x_rotation=45..90, y_rotation=-45..45] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block) run setblock ~ ~ ~ $(block)[face=wall,facing=north] replace
$execute as @s[scores={lz_wrench_success=0}, x_rotation=45..90, y_rotation=45..135] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block) run setblock ~ ~ ~ $(block)[face=wall,facing=east] replace
$execute as @s[scores={lz_wrench_success=0}, x_rotation=45..90, y_rotation=135..-135] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block) run setblock ~ ~ ~ $(block)[face=wall,facing=south] replace
$execute as @s[scores={lz_wrench_success=0}, x_rotation=45..90, y_rotation=-135..-45] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block) run setblock ~ ~ ~ $(block)[face=wall,facing=west] replace
$execute as @s[scores={lz_wrench_success=0}, x_rotation=-90..-45, y_rotation=-45..45] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block) run setblock ~ ~ ~ $(block)[face=wall,facing=north] replace
$execute as @s[scores={lz_wrench_success=0}, x_rotation=-90..-45, y_rotation=45..135] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block) run setblock ~ ~ ~ $(block)[face=wall,facing=east] replace
$execute as @s[scores={lz_wrench_success=0}, x_rotation=-90..-45, y_rotation=135..-135] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block) run setblock ~ ~ ~ $(block)[face=wall,facing=south] replace
$execute as @s[scores={lz_wrench_success=0}, x_rotation=-90..-45, y_rotation=-135..-45] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block) run setblock ~ ~ ~ $(block)[face=wall,facing=west] replace
$execute as @s[scores={lz_wrench_success=0}, x_rotation=-45..45, y_rotation=-45..45] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block) run setblock ~ ~ ~ $(block)[face=floor,facing=north] replace
$execute as @s[scores={lz_wrench_success=0}, x_rotation=-45..45, y_rotation=45..135] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block) run setblock ~ ~ ~ $(block)[face=floor,facing=east] replace
$execute as @s[scores={lz_wrench_success=0}, x_rotation=-45..45, y_rotation=135..-135] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block) run setblock ~ ~ ~ $(block)[face=floor,facing=south] replace
$execute as @s[scores={lz_wrench_success=0}, x_rotation=-45..45, y_rotation=-135..-45] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block) run setblock ~ ~ ~ $(block)[face=floor,facing=west] replace
# Otherwise, Flip
execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run function wrench:rotate/unique_blocks/grindstone/flip with storage lz:wrench

View File

@@ -0,0 +1,6 @@
## Grindstone
# Rotate Based on Wrench Mode
execute as @s[scores={lz_wrench_success=0},nbt={SelectedItem:{components:{"minecraft:lore":["Flip"]}}}] run function wrench:rotate/unique_blocks/grindstone/flip with storage lz:wrench
execute as @s[scores={lz_wrench_success=0},nbt={SelectedItem:{components:{"minecraft:lore":["Face Player"]}}}] run function wrench:rotate/unique_blocks/grindstone/player with storage lz:wrench
execute as @s[scores={lz_wrench_success=0}] run function wrench:rotate/unique_blocks/grindstone/cycle with storage lz:wrench

View File

@@ -0,0 +1,19 @@
## Face Click Hopper
# Get Raycast Target Coords
function wrench:raycast/target_coords
# Check pointed at Full Block
execute if score px lz_wrench_raycast matches 1..14 if score py lz_wrench_raycast matches 1..14 if score pz lz_wrench_raycast matches 1..14 run scoreboard players set @s lz_wrench_success -2
$execute if block ~ ~ ~ $(block) if score py lz_wrench_raycast matches 10 run scoreboard players set @s lz_wrench_success 0
# Hopper
$execute as @s[scores={lz_wrench_success=0}] if score py lz_wrench_raycast matches 15 store result score @s lz_wrench_success unless block ~ ~ ~ $(block)[facing=down] run execute if block ~ ~ ~ $(block) run setblock ~ ~ ~ $(block)[facing=down] replace
$execute as @s[scores={lz_wrench_success=0}] if score py lz_wrench_raycast matches 0 store result score @s lz_wrench_success unless block ~ ~ ~ $(block)[facing=down] run execute if block ~ ~ ~ $(block) run setblock ~ ~ ~ $(block)[facing=down] replace
$execute as @s[scores={lz_wrench_success=0}] if score pz lz_wrench_raycast matches 0 store result score @s lz_wrench_success unless block ~ ~ ~ $(block)[facing=north] run execute if block ~ ~ ~ $(block) run setblock ~ ~ ~ $(block)[facing=north] replace
$execute as @s[scores={lz_wrench_success=0}] if score px lz_wrench_raycast matches 15 store result score @s lz_wrench_success unless block ~ ~ ~ $(block)[facing=east] run execute if block ~ ~ ~ $(block) run setblock ~ ~ ~ $(block)[facing=east] replace
$execute as @s[scores={lz_wrench_success=0}] if score pz lz_wrench_raycast matches 15 store result score @s lz_wrench_success unless block ~ ~ ~ $(block)[facing=south] run execute if block ~ ~ ~ $(block) run setblock ~ ~ ~ $(block)[facing=south] replace
$execute as @s[scores={lz_wrench_success=0}] if score px lz_wrench_raycast matches 0 store result score @s lz_wrench_success unless block ~ ~ ~ $(block)[facing=west] run execute if block ~ ~ ~ $(block) run setblock ~ ~ ~ $(block)[facing=west] replace
# Otherwise, Flip
execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run function wrench:rotate/unique_blocks/hopper/flip with storage lz:wrench

View File

@@ -0,0 +1,7 @@
## Cycle Hopper
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[facing=north] run setblock ~ ~ ~ $(block)[facing=east] replace
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[facing=west] run setblock ~ ~ ~ $(block)[facing=north] replace
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[facing=south] run setblock ~ ~ ~ $(block)[facing=west] replace
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[facing=down] run setblock ~ ~ ~ $(block)[facing=south] replace
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[facing=east] run setblock ~ ~ ~ $(block)[facing=down] replace

View File

@@ -0,0 +1,10 @@
## Flip Hopper
# Don't Flip
$execute as @s[scores={lz_wrench_success=0}] if block ~ ~ ~ $(block)[facing=down] run scoreboard players set @s lz_wrench_success -2
# Hopper
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[facing=west] run setblock ~ ~ ~ $(block)[facing=east] replace
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[facing=south] run setblock ~ ~ ~ $(block)[facing=north] replace
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[facing=east] run setblock ~ ~ ~ $(block)[facing=west] replace
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[facing=north] run setblock ~ ~ ~ $(block)[facing=south] replace

View File

@@ -0,0 +1,12 @@
## Face Player Hopper
# Hopper
$execute as @s[scores={lz_wrench_success=0}, x_rotation=45..90] store result score @s lz_wrench_success unless block ~ ~ ~ $(block)[facing=down] run execute if block ~ ~ ~ $(block) run setblock ~ ~ ~ $(block)[facing=down] replace
$execute as @s[scores={lz_wrench_success=0}, x_rotation=-90..-45] store result score @s lz_wrench_success unless block ~ ~ ~ $(block)[facing=down] run execute if block ~ ~ ~ $(block) run setblock ~ ~ ~ $(block)[facing=down] replace
$execute as @s[scores={lz_wrench_success=0}, x_rotation=-45..45, y_rotation=-45..45] store result score @s lz_wrench_success unless block ~ ~ ~ $(block)[facing=north] run execute if block ~ ~ ~ $(block) run setblock ~ ~ ~ $(block)[facing=north] replace
$execute as @s[scores={lz_wrench_success=0}, x_rotation=-45..45, y_rotation=45..135] store result score @s lz_wrench_success unless block ~ ~ ~ $(block)[facing=east] run execute if block ~ ~ ~ $(block) run setblock ~ ~ ~ $(block)[facing=east] replace
$execute as @s[scores={lz_wrench_success=0}, x_rotation=-45..45, y_rotation=135..-135] store result score @s lz_wrench_success unless block ~ ~ ~ $(block)[facing=south] run execute if block ~ ~ ~ $(block) run setblock ~ ~ ~ $(block)[facing=south] replace
$execute as @s[scores={lz_wrench_success=0}, x_rotation=-45..45, y_rotation=-135..-45] store result score @s lz_wrench_success unless block ~ ~ ~ $(block)[facing=west] run execute if block ~ ~ ~ $(block) run setblock ~ ~ ~ $(block)[facing=west] replace
# Otherwise, Flip
execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run function wrench:rotate/unique_blocks/hopper/flip with storage lz:wrench

View File

@@ -0,0 +1,7 @@
## Hopper
# Rotate Based on Wrench Mode
execute as @s[scores={lz_wrench_success=0},nbt={SelectedItem:{components:{"minecraft:lore":["Flip"]}}}] run function wrench:rotate/unique_blocks/hopper/flip with storage lz:wrench
execute as @s[scores={lz_wrench_success=0},nbt={SelectedItem:{components:{"minecraft:lore":["Face Player"]}}}] run function wrench:rotate/unique_blocks/hopper/player with storage lz:wrench
execute as @s[scores={lz_wrench_success=0},nbt={SelectedItem:{components:{"minecraft:lore":["Face Click"]}}}] run function wrench:rotate/unique_blocks/hopper/click with storage lz:wrench
execute as @s[scores={lz_wrench_success=0}] run function wrench:rotate/unique_blocks/hopper/cycle with storage lz:wrench

View File

@@ -0,0 +1,28 @@
## Face Click Repeater
# Get Raycast Target Coords
function wrench:raycast/target_coords
# Delay 1
$execute as @s[scores={lz_wrench_success=0}] if score pz lz_wrench_raycast matches 0 store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[delay=1] run setblock ~ ~ ~ $(block)[delay=1,facing=north] replace
$execute as @s[scores={lz_wrench_success=0}] if score px lz_wrench_raycast matches 15 store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[delay=1] run setblock ~ ~ ~ $(block)[delay=1,facing=east] replace
$execute as @s[scores={lz_wrench_success=0}] if score pz lz_wrench_raycast matches 15 store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[delay=1] run setblock ~ ~ ~ $(block)[delay=1,facing=south] replace
$execute as @s[scores={lz_wrench_success=0}] if score px lz_wrench_raycast matches 0 store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[delay=1] run setblock ~ ~ ~ $(block)[delay=1,facing=west] replace
# Delay 2
$execute as @s[scores={lz_wrench_success=0}] if score pz lz_wrench_raycast matches 0 store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[delay=2] run setblock ~ ~ ~ $(block)[delay=2,facing=north] replace
$execute as @s[scores={lz_wrench_success=0}] if score px lz_wrench_raycast matches 15 store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[delay=2] run setblock ~ ~ ~ $(block)[delay=2,facing=east] replace
$execute as @s[scores={lz_wrench_success=0}] if score pz lz_wrench_raycast matches 15 store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[delay=2] run setblock ~ ~ ~ $(block)[delay=2,facing=south] replace
$execute as @s[scores={lz_wrench_success=0}] if score px lz_wrench_raycast matches 0 store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[delay=2] run setblock ~ ~ ~ $(block)[delay=2,facing=west] replace
# Delay 3
$execute as @s[scores={lz_wrench_success=0}] if score pz lz_wrench_raycast matches 0 store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[delay=3] run setblock ~ ~ ~ $(block)[delay=3,facing=north] replace
$execute as @s[scores={lz_wrench_success=0}] if score px lz_wrench_raycast matches 15 store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[delay=3] run setblock ~ ~ ~ $(block)[delay=3,facing=east] replace
$execute as @s[scores={lz_wrench_success=0}] if score pz lz_wrench_raycast matches 15 store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[delay=3] run setblock ~ ~ ~ $(block)[delay=3,facing=south] replace
$execute as @s[scores={lz_wrench_success=0}] if score px lz_wrench_raycast matches 0 store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[delay=3] run setblock ~ ~ ~ $(block)[delay=3,facing=west] replace
# Delay 4
$execute as @s[scores={lz_wrench_success=0}] if score pz lz_wrench_raycast matches 0 store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[delay=4] run setblock ~ ~ ~ $(block)[delay=4,facing=north] replace
$execute as @s[scores={lz_wrench_success=0}] if score px lz_wrench_raycast matches 15 store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[delay=4] run setblock ~ ~ ~ $(block)[delay=4,facing=east] replace
$execute as @s[scores={lz_wrench_success=0}] if score pz lz_wrench_raycast matches 15 store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[delay=4] run setblock ~ ~ ~ $(block)[delay=4,facing=south] replace
$execute as @s[scores={lz_wrench_success=0}] if score px lz_wrench_raycast matches 0 store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[delay=4] run setblock ~ ~ ~ $(block)[delay=4,facing=west] replace
# Otherwise, Flip
execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run function wrench:rotate/unique_blocks/repeater/flip with storage lz:wrench

View File

@@ -0,0 +1,22 @@
## Cycle Repeater
# Delay 1
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[delay=1,facing=north] run setblock ~ ~ ~ $(block)[delay=1,facing=east] replace
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[delay=1,facing=west] run setblock ~ ~ ~ $(block)[delay=1,facing=north] replace
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[delay=1,facing=south] run setblock ~ ~ ~ $(block)[delay=1,facing=west] replace
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[delay=1,facing=east] run setblock ~ ~ ~ $(block)[delay=1,facing=south] replace
# Delay 2
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[delay=2,facing=north] run setblock ~ ~ ~ $(block)[delay=2,facing=east] replace
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[delay=2,facing=west] run setblock ~ ~ ~ $(block)[delay=2,facing=north] replace
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[delay=2,facing=south] run setblock ~ ~ ~ $(block)[delay=2,facing=west] replace
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[delay=2,facing=east] run setblock ~ ~ ~ $(block)[delay=2,facing=south] replace
# Delay 3
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[delay=3,facing=north] run setblock ~ ~ ~ $(block)[delay=3,facing=east] replace
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[delay=3,facing=west] run setblock ~ ~ ~ $(block)[delay=3,facing=north] replace
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[delay=3,facing=south] run setblock ~ ~ ~ $(block)[delay=3,facing=west] replace
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[delay=3,facing=east] run setblock ~ ~ ~ $(block)[delay=3,facing=south] replace
# Delay 4
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[delay=4,facing=north] run setblock ~ ~ ~ $(block)[delay=4,facing=east] replace
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[delay=4,facing=west] run setblock ~ ~ ~ $(block)[delay=4,facing=north] replace
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[delay=4,facing=south] run setblock ~ ~ ~ $(block)[delay=4,facing=west] replace
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[delay=4,facing=east] run setblock ~ ~ ~ $(block)[delay=4,facing=south] replace

View File

@@ -0,0 +1,22 @@
## Flip Repeater
# Delay 1
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[delay=1,facing=west] run setblock ~ ~ ~ $(block)[delay=1,facing=east] replace
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[delay=1,facing=south] run setblock ~ ~ ~ $(block)[delay=1,facing=north] replace
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[delay=1,facing=east] run setblock ~ ~ ~ $(block)[delay=1,facing=west] replace
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[delay=1,facing=north] run setblock ~ ~ ~ $(block)[delay=1,facing=south] replace
# Delay 2
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[delay=2,facing=west] run setblock ~ ~ ~ $(block)[delay=2,facing=east] replace
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[delay=2,facing=south] run setblock ~ ~ ~ $(block)[delay=2,facing=north] replace
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[delay=2,facing=east] run setblock ~ ~ ~ $(block)[delay=2,facing=west] replace
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[delay=2,facing=north] run setblock ~ ~ ~ $(block)[delay=2,facing=south] replace
# Delay 3
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[delay=3,facing=west] run setblock ~ ~ ~ $(block)[delay=3,facing=east] replace
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[delay=3,facing=south] run setblock ~ ~ ~ $(block)[delay=3,facing=north] replace
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[delay=3,facing=east] run setblock ~ ~ ~ $(block)[delay=3,facing=west] replace
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[delay=3,facing=north] run setblock ~ ~ ~ $(block)[delay=3,facing=south] replace
# Delay 4
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[delay=4,facing=west] run setblock ~ ~ ~ $(block)[delay=4,facing=east] replace
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[delay=4,facing=south] run setblock ~ ~ ~ $(block)[delay=4,facing=north] replace
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[delay=4,facing=east] run setblock ~ ~ ~ $(block)[delay=4,facing=west] replace
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[delay=4,facing=north] run setblock ~ ~ ~ $(block)[delay=4,facing=south] replace

View File

@@ -0,0 +1,25 @@
## Face Player Repeater
# Delay 1
$execute as @s[scores={lz_wrench_success=0}, y_rotation=-45..45] store result score @s lz_wrench_success unless block ~ ~ ~ $(block)[facing=north] run execute if block ~ ~ ~ $(block)[delay=1] run setblock ~ ~ ~ $(block)[delay=1,facing=north] replace
$execute as @s[scores={lz_wrench_success=0}, y_rotation=45..135] store result score @s lz_wrench_success unless block ~ ~ ~ $(block)[facing=east] run execute if block ~ ~ ~ $(block)[delay=1] run setblock ~ ~ ~ $(block)[delay=1,facing=east] replace
$execute as @s[scores={lz_wrench_success=0}, y_rotation=135..-135] store result score @s lz_wrench_success unless block ~ ~ ~ $(block)[facing=south] run execute if block ~ ~ ~ $(block)[delay=1] run setblock ~ ~ ~ $(block)[delay=1,facing=south] replace
$execute as @s[scores={lz_wrench_success=0}, y_rotation=-135..-45] store result score @s lz_wrench_success unless block ~ ~ ~ $(block)[facing=west] run execute if block ~ ~ ~ $(block)[delay=1] run setblock ~ ~ ~ $(block)[delay=1,facing=west] replace
# Delay 2
$execute as @s[scores={lz_wrench_success=0}, y_rotation=-45..45] store result score @s lz_wrench_success unless block ~ ~ ~ $(block)[facing=north] run execute if block ~ ~ ~ $(block)[delay=2] run setblock ~ ~ ~ $(block)[delay=2,facing=north] replace
$execute as @s[scores={lz_wrench_success=0}, y_rotation=45..135] store result score @s lz_wrench_success unless block ~ ~ ~ $(block)[facing=east] run execute if block ~ ~ ~ $(block)[delay=2] run setblock ~ ~ ~ $(block)[delay=2,facing=east] replace
$execute as @s[scores={lz_wrench_success=0}, y_rotation=135..-135] store result score @s lz_wrench_success unless block ~ ~ ~ $(block)[facing=south] run execute if block ~ ~ ~ $(block)[delay=2] run setblock ~ ~ ~ $(block)[delay=2,facing=south] replace
$execute as @s[scores={lz_wrench_success=0}, y_rotation=-135..-45] store result score @s lz_wrench_success unless block ~ ~ ~ $(block)[facing=west] run execute if block ~ ~ ~ $(block)[delay=2] run setblock ~ ~ ~ $(block)[delay=2,facing=west] replace
# Delay 3
$execute as @s[scores={lz_wrench_success=0}, y_rotation=-45..45] store result score @s lz_wrench_success unless block ~ ~ ~ $(block)[facing=north] run execute if block ~ ~ ~ $(block)[delay=3] run setblock ~ ~ ~ $(block)[delay=3,facing=north] replace
$execute as @s[scores={lz_wrench_success=0}, y_rotation=45..135] store result score @s lz_wrench_success unless block ~ ~ ~ $(block)[facing=east] run execute if block ~ ~ ~ $(block)[delay=3] run setblock ~ ~ ~ $(block)[delay=3,facing=east] replace
$execute as @s[scores={lz_wrench_success=0}, y_rotation=135..-135] store result score @s lz_wrench_success unless block ~ ~ ~ $(block)[facing=south] run execute if block ~ ~ ~ $(block)[delay=3] run setblock ~ ~ ~ $(block)[delay=3,facing=south] replace
$execute as @s[scores={lz_wrench_success=0}, y_rotation=-135..-45] store result score @s lz_wrench_success unless block ~ ~ ~ $(block)[facing=west] run execute if block ~ ~ ~ $(block)[delay=3] run setblock ~ ~ ~ $(block)[delay=3,facing=west] replace
# Delay 4
$execute as @s[scores={lz_wrench_success=0}, y_rotation=-45..45] store result score @s lz_wrench_success unless block ~ ~ ~ $(block)[facing=north] run execute if block ~ ~ ~ $(block)[delay=4] run setblock ~ ~ ~ $(block)[delay=4,facing=north] replace
$execute as @s[scores={lz_wrench_success=0}, y_rotation=45..135] store result score @s lz_wrench_success unless block ~ ~ ~ $(block)[facing=east] run execute if block ~ ~ ~ $(block)[delay=4] run setblock ~ ~ ~ $(block)[delay=4,facing=east] replace
$execute as @s[scores={lz_wrench_success=0}, y_rotation=135..-135] store result score @s lz_wrench_success unless block ~ ~ ~ $(block)[facing=south] run execute if block ~ ~ ~ $(block)[delay=4] run setblock ~ ~ ~ $(block)[delay=4,facing=south] replace
$execute as @s[scores={lz_wrench_success=0}, y_rotation=-135..-45] store result score @s lz_wrench_success unless block ~ ~ ~ $(block)[facing=west] run execute if block ~ ~ ~ $(block)[delay=4] run setblock ~ ~ ~ $(block)[delay=4,facing=west] replace
# Otherwise, Flip
execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run function wrench:rotate/unique_blocks/repeater/flip with storage lz:wrench

View File

@@ -0,0 +1,7 @@
## Repeater
# Rotate Based on Wrench Mode
execute as @s[scores={lz_wrench_success=0},nbt={SelectedItem:{components:{"minecraft:lore":["Flip"]}}}] run function wrench:rotate/unique_blocks/repeater/flip with storage lz:wrench
execute as @s[scores={lz_wrench_success=0},nbt={SelectedItem:{components:{"minecraft:lore":["Face Player"]}}}] run function wrench:rotate/unique_blocks/repeater/player with storage lz:wrench
execute as @s[scores={lz_wrench_success=0},nbt={SelectedItem:{components:{"minecraft:lore":["Face Click"]}}}] run function wrench:rotate/unique_blocks/repeater/click with storage lz:wrench
execute as @s[scores={lz_wrench_success=0}] run function wrench:rotate/unique_blocks/repeater/cycle with storage lz:wrench