Complete rewrite

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

View File

@ -1,7 +1,6 @@
MIT License MIT License
Copyright (c) 2023 Mark Rapson (LZStealth) Copyright (c) 2025 Mark Rapson (LZStealth)
Copyright (c) 2021 GoldenDelicios
Permission is hereby granted, free of charge, to any person obtaining a copy Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal of this software and associated documentation files (the "Software"), to deal

View File

@ -3,27 +3,15 @@
The Wrench's mode can be changed by right clicking while the Wrench is held in the player's off hand. The Wrench's mode can be changed by right clicking while the Wrench is held in the player's off hand.
Various modes can make this wrench easier/quicker to use. Various modes can make this wrench easier/quicker to use.
Rotatable blocks are divided into 5 categories:
* *Terracotta*: All 16 colors of glazed terracotta
* *Rails*: All 4 types of rails
* *Redstone*: dispensers, droppers, pistons, sticky pistons, observers, hoppers, repeaters, and comparators
* *Pillars*: All logs, stripped logs, bark, stripped bark, quartz pillars, purpur pillars, hay bales, and bone blocks
* *Slabs*: All Slabs including waterlogged
* *Stairs*: All Stairs including waterlogged
* *Rods*: End rods
## Default ## Default
* Works on all rotatable blocks * Works on all rotatable blocks
* End rods can only be flipped.
* Cycles through all rotations. * Cycles through all rotations.
## Flip ## Flip
* Works on *Redstone*, *Rods*, *Slabs* and *Stairs*.
* Flips the block to the opposite rotation. * Flips the block to the opposite rotation.
* Moves slabs between the top and bottom slab position. * Moves slabs between the top and bottom slab position.
## Face player ## Face player
* Works on *Rails*, *Redstone*, *Pillars* and *Stairs*.
* Rotates the block based on player's rotation. * Rotates the block based on player's rotation.
* similar to default placement of most *Redstone*. * similar to default placement of most *Redstone*.
* e.g. if player is facing "east" a piston will face "west". * e.g. if player is facing "east" a piston will face "west".
@ -31,7 +19,6 @@ Rotatable blocks are divided into 5 categories:
* If block already facing the player, Wrench will flip it instead if possible. * If block already facing the player, Wrench will flip it instead if possible.
## Face click ## Face click
* Works on *Rails*, *Redstone*, *Pillars* and *Stairs*.
* Rotates the block to face the side of the block aimed at. * Rotates the block to face the side of the block aimed at.
* similar to default placement of *Pillars*. * similar to default placement of *Pillars*.
* e.g. if player clicks the top surface of a piston, the piston will face "up". * e.g. if player clicks the top surface of a piston, the piston will face "up".
@ -40,8 +27,7 @@ Rotatable blocks are divided into 5 categories:
* Due to a quirk, clicking on the edges where faces of a block meet (see image) can rotate the block to face one of its sides. * Due to a quirk, clicking on the edges where faces of a block meet (see image) can rotate the block to face one of its sides.
![](https://i.imgur.com/3NYmwIe.png) ![](https://i.imgur.com/3NYmwIe.png)
* Special cases: * Special cases:
* In general, if "Face click" cannot be used, the Wrench will default to "Face Player". * In general, if "Face click" cannot be used, the Wrench will default to "Flip".
* Hoppers will only use "Face player" if the top full-width section is clicked. Otherwise it will default to "Face Player" mode.
* Repeaters and comparators will default to "Face Player" mode if the top side is clicked. * Repeaters and comparators will default to "Face Player" mode if the top side is clicked.
* *Rails* behave the same as if in "Face Player" mode. * *Rails* behave the same as if in "Face Player" mode.
@ -59,4 +45,4 @@ Rotatable blocks are divided into 5 categories:
* e.g. clicking edges of a block with "Face Click". * e.g. clicking edges of a block with "Face Click".
* The Wrench will go with whatever rotation succeeds first. * The Wrench will go with whatever rotation succeeds first.
Version 1.0 Version 2.0

View File

@ -0,0 +1,10 @@
{
"criteria": {
"requirement": {
"trigger": "minecraft:tick"
}
},
"rewards": {
"function": "lz:recipes"
}
}

View File

@ -0,0 +1,26 @@
{
"display": {
"icon": {
"id": "minecraft:warped_fungus_on_a_stick",
"components": {
"minecraft:custom_model_data": {
"strings": [
"lzstealth:wrench"
]
}
}
},
"title": "LZ's Build Things",
"description": {
"text": "Tools that you may find useful!"
},
"background": "minecraft:block/dirt",
"show_toast": false,
"announce_to_chat": false
},
"criteria": {
"tick": {
"trigger": "minecraft:tick"
}
}
}

View File

@ -0,0 +1,33 @@
{
"display": {
"icon": {
"id": "minecraft:carrot_on_a_stick",
"components": {
"minecraft:custom_model_data": {
"strings": [
"lzstealth:wrench",
"lzstealth:wrench_default"
]
}
}
},
"title": {
"text": "Pivot, PIVOT!"
},
"description": {
"text": "Craft a Block Wrench"
},
"show_toast": true,
"announce_to_chat": true,
"hidden": false
},
"parent": "lz:visible/root",
"criteria": {
"": {
"trigger": "minecraft:recipe_crafted",
"conditions": {
"recipe_id": "wrench:wrench"
}
}
}
}

View File

@ -1 +1 @@
give @s minecraft:carrot_on_a_stick[minecraft:custom_name={"text":"Rotator Wrench","color":"aqua"},minecraft:lore=["Default"],minecraft:custom_model_data={strings:["lzstealth:wrench","lzstealth:wrench_default"]},minecraft:custom_data={lzstealth:"wrench"},minecraft:unbreakable={},minecraft:enchantment_glint_override=true,minecraft:tooltip_display={hidden_components:["minecraft:unbreakable"]}] give @s minecraft:carrot_on_a_stick[minecraft:custom_name={"text":"Rotator Wrench","color":"aqua"},minecraft:lore=["Default"],minecraft:custom_model_data={strings:["lzstealth:wrench","lzstealth:wrench_default"]},minecraft:custom_data={lzstealth:"wrench"},minecraft:unbreakable={},minecraft:enchantment_glint_override=false,minecraft:tooltip_display={hidden_components:["minecraft:unbreakable"]}]

View File

@ -0,0 +1,6 @@
# Click Check
scoreboard objectives add lz_click_check minecraft.used:minecraft.carrot_on_a_stick
# Wrench
scoreboard objectives add lz_wrench_success dummy
scoreboard objectives add lz_wrench_raycast dummy

View File

@ -0,0 +1,6 @@
scoreboard players set @s lz_click_check 0
# Wrench
execute if predicate lz:wrench/mainhand run function wrench:wrench/rotate
execute if predicate lz:wrench/offhand run function wrench:wrench/offhand

View File

@ -0,0 +1 @@
recipe give @s wrench:wrench

View File

@ -0,0 +1,2 @@
# Click Check
execute as @a if score @s lz_click_check matches 1.. run function lz:player

View File

@ -0,0 +1,4 @@
# Uninstall
scoreboard objectives remove lz_click_check
scoreboard objectives remove lz_wrench_success
scoreboard objectives remove lz_wrench_raycast

View File

@ -0,0 +1,18 @@
{
"condition": "minecraft:any_of",
"terms": [
{
"condition": "minecraft:entity_properties",
"entity": "this",
"predicate": {
"equipment": {
"mainhand": {
"predicates": {
"minecraft:custom_data": "{lzstealth:wrench}"
}
}
}
}
}
]
}

View File

@ -0,0 +1,18 @@
{
"condition": "minecraft:any_of",
"terms": [
{
"condition": "minecraft:entity_properties",
"entity": "this",
"predicate": {
"equipment": {
"offhand": {
"predicates": {
"minecraft:custom_data": "{lzstealth:wrench}"
}
}
}
}
}
]
}

View File

@ -1 +1,6 @@
{"replace":false,"values":["wrench:load"]} {
"replace": false,
"values": [
"lz:load"
]
}

View File

@ -1,6 +1,6 @@
{ {
"replace": false, "replace": false,
"values": [ "values": [
"wrench:main" "lz:tick"
] ]
} }

View File

@ -1,11 +0,0 @@
# Config
tellraw @s [{"text":" ","strikethrough":true},{"text":" Rotator Wrench Config ","color":"gold","strikethrough":false,"bold":true},{"text":" ","strikethrough":true}]
tellraw @s {"text":"Which catagories should be wrenchable?"}
function wrench:config/pillars/main
function wrench:config/redstone/main
function wrench:config/rails/main
function wrench:config/terracotta/main
function wrench:config/slabs/main
function wrench:config/stairs/main
function wrench:config/rods/main
tellraw @s {"text":" ","strikethrough":true}

View File

@ -1,3 +0,0 @@
scoreboard players set WrenchPillars WrenchConfig 0
playsound minecraft:block.note_block.hat master @s ~ ~ ~ 0.1 0.5
function wrench:config

View File

@ -1,3 +0,0 @@
scoreboard players set WrenchPillars WrenchConfig 1
playsound minecraft:block.note_block.hat master @s ~ ~ ~ 0.1 2
function wrench:config

View File

@ -1,6 +0,0 @@
#Enabled = 600
#Disabled = 601
execute if score WrenchPillars WrenchConfig matches 0 run tellraw @s ["",{"text":"[ ❌ ]","color":"red","click_event":{"action":"run_command","command":"/function wrench:config/pillars/enable"}},{"text":" Pillars & Logs","hoverEvent":{"action":"show_text","value":"Wether Pillars & Logs should be rotated"}}]
execute if score WrenchPillars WrenchConfig matches 1 run tellraw @s ["",{"text":"[ ✔ ]","color":"green","click_event":{"action":"run_command","command":"/function wrench:config/pillars/disable"}},{"text":" Pillars & Logs","hoverEvent":{"action":"show_text","value":"Wether Pillars & Logs should be rotated"}}]

View File

@ -1,3 +0,0 @@
scoreboard players set WrenchRails WrenchConfig 0
playsound minecraft:block.note_block.hat master @s ~ ~ ~ 0.1 0.5
function wrench:config

View File

@ -1,3 +0,0 @@
scoreboard players set WrenchRails WrenchConfig 1
playsound minecraft:block.note_block.hat master @s ~ ~ ~ 0.1 2
function wrench:config

View File

@ -1,6 +0,0 @@
#Enabled = 600
#Disabled = 601
execute if score WrenchRails WrenchConfig matches 0 run tellraw @s ["",{"text":"[ ❌ ]","color":"red","click_event":{"action":"run_command","command":"/function wrench:config/rails/enable"}},{"text":" Rails","hoverEvent":{"action":"show_text","value":"Wether Rails should be rotated"}}]
execute if score WrenchRails WrenchConfig matches 1 run tellraw @s ["",{"text":"[ ✔ ]","color":"green","click_event":{"action":"run_command","command":"/function wrench:config/rails/disable"}},{"text":" Rails","hoverEvent":{"action":"show_text","value":"Wether Rails should be rotated"}}]

View File

@ -1,3 +0,0 @@
scoreboard players set WrenchRedstone WrenchConfig 0
playsound minecraft:block.note_block.hat master @s ~ ~ ~ 0.1 0.5
function wrench:config

View File

@ -1,3 +0,0 @@
scoreboard players set WrenchRedstone WrenchConfig 1
playsound minecraft:block.note_block.hat master @s ~ ~ ~ 0.1 2
function wrench:config

View File

@ -1,6 +0,0 @@
#Enabled = 600
#Disabled = 601
execute if score WrenchRedstone WrenchConfig matches 0 run tellraw @s ["",{"text":"[ ❌ ]","color":"red","click_event":{"action":"run_command","command":"/function wrench:config/redstone/enable"}},{"text":" Redstone","hoverEvent":{"action":"show_text","value":"Wether Redstone Components should be rotated"}}]
execute if score WrenchRedstone WrenchConfig matches 1 run tellraw @s ["",{"text":"[ ✔ ]","color":"green","click_event":{"action":"run_command","command":"/function wrench:config/redstone/disable"}},{"text":" Redstone","hoverEvent":{"action":"show_text","value":"Wether Redstone Components should be rotated"}}]

View File

@ -1,3 +0,0 @@
scoreboard players set WrenchRods WrenchConfig 0
playsound minecraft:block.note_block.hat master @s ~ ~ ~ 0.1 0.5
function wrench:config

View File

@ -1,3 +0,0 @@
scoreboard players set WrenchRods WrenchConfig 1
playsound minecraft:block.note_block.hat master @s ~ ~ ~ 0.1 2
function wrench:config

View File

@ -1,6 +0,0 @@
#Enabled = 600
#Disabled = 601
execute if score WrenchRods WrenchConfig matches 0 run tellraw @s ["",{"text":"[ ❌ ]","color":"red","click_event":{"action":"run_command","command":"/function wrench:config/rods/enable"}},{"text":" End Rods","hoverEvent":{"action":"show_text","value":"Wether End Rods should be flippable"}}]
execute if score WrenchRods WrenchConfig matches 1 run tellraw @s ["",{"text":"[ ✔ ]","color":"green","click_event":{"action":"run_command","command":"/function wrench:config/rods/disable"}},{"text":" End Rods","hoverEvent":{"action":"show_text","value":"Wether End Rods should be flippable"}}]

View File

@ -1,3 +0,0 @@
scoreboard players set WrenchSlabs WrenchConfig 0
playsound minecraft:block.note_block.hat master @s ~ ~ ~ 0.1 0.5
function wrench:config

View File

@ -1,3 +0,0 @@
scoreboard players set WrenchSlabs WrenchConfig 1
playsound minecraft:block.note_block.hat master @s ~ ~ ~ 0.1 2
function wrench:config

View File

@ -1,6 +0,0 @@
#Enabled = 600
#Disabled = 601
execute if score WrenchSlabs WrenchConfig matches 0 run tellraw @s ["",{"text":"[ ❌ ]","color":"red","click_event":{"action":"run_command","command":"/function wrench:config/slabs/enable"}},{"text":" Slabs","hoverEvent":{"action":"show_text","value":"Wether Slabs should be rotated"}}]
execute if score WrenchSlabs WrenchConfig matches 1 run tellraw @s ["",{"text":"[ ✔ ]","color":"green","click_event":{"action":"run_command","command":"/function wrench:config/slabs/disable"}},{"text":" Slabs","hoverEvent":{"action":"show_text","value":"Wether Slabs should be rotated"}}]

View File

@ -1,3 +0,0 @@
scoreboard players set WrenchStairs WrenchConfig 0
playsound minecraft:block.note_block.hat master @s ~ ~ ~ 0.1 0.5
function wrench:config

View File

@ -1,3 +0,0 @@
scoreboard players set WrenchStairs WrenchConfig 1
playsound minecraft:block.note_block.hat master @s ~ ~ ~ 0.1 2
function wrench:config

View File

@ -1,6 +0,0 @@
#Enabled = 600
#Disabled = 601
execute if score WrenchStairs WrenchConfig matches 0 run tellraw @s ["",{"text":"[ ❌ ]","color":"red","click_event":{"action":"run_command","command":"/function wrench:config/stairs/enable"}},{"text":" Stairs","hoverEvent":{"action":"show_text","value":"Wether Stairs should be rotated"}}]
execute if score WrenchStairs WrenchConfig matches 1 run tellraw @s ["",{"text":"[ ✔ ]","color":"green","click_event":{"action":"run_command","command":"/function wrench:config/stairs/disable"}},{"text":" Stairs","hoverEvent":{"action":"show_text","value":"Wether Stairs should be rotated"}}]

View File

@ -1,3 +0,0 @@
scoreboard players set WrenchTerracotta WrenchConfig 0
playsound minecraft:block.note_block.hat master @s ~ ~ ~ 0.1 0.5
function wrench:config

View File

@ -1,3 +0,0 @@
scoreboard players set WrenchTerracotta WrenchConfig 1
playsound minecraft:block.note_block.hat master @s ~ ~ ~ 0.1 2
function wrench:config

View File

@ -1,6 +0,0 @@
#Enabled = 600
#Disabled = 601
execute if score WrenchTerracotta WrenchConfig matches 0 run tellraw @s ["",{"text":"[ ❌ ]","color":"red","click_event":{"action":"run_command","command":"/function wrench:config/terracotta/enable"}},{"text":" Terracotta","hoverEvent":{"action":"show_text","value":"Wether Terracotta should be rotated"}}]
execute if score WrenchTerracotta WrenchConfig matches 1 run tellraw @s ["",{"text":"[ ✔ ]","color":"green","click_event":{"action":"run_command","command":"/function wrench:config/terracotta/disable"}},{"text":" Terracotta","hoverEvent":{"action":"show_text","value":"Wether Terracotta should be rotated"}}]

View File

@ -1,14 +0,0 @@
# Load
scoreboard objectives add WrenchInput minecraft.used:minecraft.carrot_on_a_stick
scoreboard objectives add WrenchSuccess dummy
scoreboard objectives add WrenchRaycast dummy
scoreboard objectives add WrenchConfig dummy
execute unless score WrenchPillars WrenchConfig matches 0..1 run scoreboard players set WrenchPillars WrenchConfig 1
execute unless score WrenchRails WrenchConfig matches 0..1 run scoreboard players set WrenchRails WrenchConfig 1
execute unless score WrenchRedstone WrenchConfig matches 0..1 run scoreboard players set WrenchRedstone WrenchConfig 1
execute unless score WrenchRods WrenchConfig matches 0..1 run scoreboard players set WrenchRods WrenchConfig 1
execute unless score WrenchSlabs WrenchConfig matches 0..1 run scoreboard players set WrenchSlabs WrenchConfig 1
execute unless score WrenchStairs WrenchConfig matches 0..1 run scoreboard players set WrenchStairs WrenchConfig 1
execute unless score WrenchTerracotta WrenchConfig matches 0..1 run scoreboard players set WrenchTerracotta WrenchConfig 1
execute unless score WrenchDebug WrenchConfig matches 0..1 run scoreboard players set WrenchDebug WrenchConfig 0

View File

@ -1,2 +0,0 @@
#Check for carrot-stick input
execute as @a[scores={WrenchInput=1..}] run function wrench:use

View File

@ -1,42 +1,29 @@
#Raycast Partial-box ## Raycast Partial-box
### Get Raycast Target Coords # Get Raycast Target Coords
function wrench:raycast/target_coords
# Stored Value for Calc # Partial Boxes
scoreboard players set c16 WrenchRaycast 16 execute if block ~ ~ ~ #wrench:banners run function wrench:raycast/partialbox/banners
# Summon Invisible Entity execute if block ~ ~ ~ #minecraft:rails run function wrench:raycast/partialbox/rails
summon area_effect_cloud ~ ~ ~ {Radius:0.01,Duration:1,Tags:["RaycastMark"]} execute if block ~ ~ ~ #minecraft:trapdoors run function wrench:raycast/partialbox/trapdoors
execute if block ~ ~ ~ #minecraft:slabs run function wrench:raycast/partialbox/slabs
# Pixel Calculations execute if block ~ ~ ~ #minecraft:stairs run function wrench:raycast/partialbox/stairs
execute store result score px WrenchRaycast run data get entity @e[tag=RaycastMark,sort=nearest,limit=1] Pos[0] 16 execute if block ~ ~ ~ #minecraft:fence_gates run function wrench:raycast/partialbox/fence_gates
scoreboard players operation px WrenchRaycast %= c16 WrenchRaycast execute if block ~ ~ ~ #minecraft:campfires run function wrench:raycast/partialbox/campfires
execute if score px WrenchRaycast matches ..-1 run scoreboard players add px WrenchRaycast 16 execute if block ~ ~ ~ #minecraft:all_signs run function wrench:raycast/partialbox/signs
execute if block ~ ~ ~ #minecraft:anvil run function wrench:raycast/partialbox/anvils
execute store result score py WrenchRaycast run data get entity @e[tag=RaycastMark,sort=nearest,limit=1] Pos[1] 16 execute if block ~ ~ ~ minecraft:repeater run function wrench:raycast/partialbox/repeater
scoreboard players operation py WrenchRaycast %= c16 WrenchRaycast execute if block ~ ~ ~ minecraft:comparator run function wrench:raycast/partialbox/comparator
execute if score py WrenchRaycast matches ..-1 run scoreboard players add py WrenchRaycast 16 execute if block ~ ~ ~ minecraft:calibrated_sculk_sensor run function wrench:raycast/partialbox/calibrated_sculk_sensor
execute if block ~ ~ ~ minecraft:piston run function wrench:raycast/partialbox/pistons
execute store result score pz WrenchRaycast run data get entity @e[tag=RaycastMark,sort=nearest,limit=1] Pos[2] 16 execute if block ~ ~ ~ minecraft:sticky_piston run function wrench:raycast/partialbox/pistons
scoreboard players operation pz WrenchRaycast %= c16 WrenchRaycast execute if block ~ ~ ~ minecraft:hopper run function wrench:raycast/partialbox/hopper
execute if score pz WrenchRaycast matches ..-1 run scoreboard players add pz WrenchRaycast 16 execute if block ~ ~ ~ minecraft:end_rod run function wrench:raycast/partialbox/end_rod
execute if block ~ ~ ~ minecraft:lightning_rod run function wrench:raycast/partialbox/lightning_rod
# Remove Entity execute if block ~ ~ ~ minecraft:chain run function wrench:raycast/partialbox/chain
kill @e[tag=RaycastMark,sort=nearest,limit=1] execute if block ~ ~ ~ minecraft:decorated_pot run function wrench:raycast/partialbox/decorated_pot
execute if block ~ ~ ~ minecraft:stonecutter run function wrench:raycast/partialbox/stonecutter
### Partial Boxes execute if block ~ ~ ~ minecraft:ender_chest run function wrench:raycast/partialbox/ender_chest
execute if block ~ ~ ~ minecraft:bell run function wrench:raycast/partialbox/bell
# Calculate partial-box execute if block ~ ~ ~ minecraft:grindstone run function wrench:raycast/partialbox/grindstone
#Rails
execute if block ~ ~ ~ #minecraft:rails unless score WrenchRails WrenchConfig matches 0 run function wrench:raycast/partialbox/rails
#Redstone
execute if block ~ ~ ~ minecraft:repeater unless score WrenchRedstone WrenchConfig matches 0 if score py WrenchRaycast matches ..1 run function wrench:rotate/redstone
execute if block ~ ~ ~ minecraft:comparator unless score WrenchRedstone WrenchConfig matches 0 if score py WrenchRaycast matches ..1 run function wrench:rotate/redstone
execute if block ~ ~ ~ minecraft:calibrated_sculk_sensor unless score WrenchRedstone WrenchConfig matches 0 if score py WrenchRaycast matches ..7 run function wrench:rotate/redstone
execute if block ~ ~ ~ minecraft:piston unless score WrenchRedstone WrenchConfig matches 0 run function wrench:raycast/partialbox/pistons
execute if block ~ ~ ~ minecraft:sticky_piston unless score WrenchRedstone WrenchConfig matches 0 run function wrench:raycast/partialbox/sticky_pistons
execute if block ~ ~ ~ minecraft:hopper unless score WrenchRedstone WrenchConfig matches 0 run function wrench:raycast/partialbox/hoppers
#Blocks
execute if block ~ ~ ~ #minecraft:slabs unless score WrenchSlabs WrenchConfig matches 0 run function wrench:raycast/partialbox/slabs
execute if block ~ ~ ~ #minecraft:stairs unless score WrenchStairs WrenchConfig matches 0 run function wrench:raycast/partialbox/stairs
execute if block ~ ~ ~ minecraft:end_rod unless score WrenchRods WrenchConfig matches 0 run function wrench:raycast/partialbox/end_rods
execute if block ~ ~ ~ minecraft:chain unless score WrenchRods WrenchConfig matches 0 run function wrench:raycast/partialbox/chain

View File

@ -0,0 +1,20 @@
# Anvils
execute if score px lz_wrench_raycast matches 3..12 if score pz lz_wrench_raycast matches 0..15 if score py lz_wrench_raycast matches 10..15 if block ~ ~ ~ #minecraft:anvil[facing=north] run function wrench:rotate/nesw/rotate
execute if score px lz_wrench_raycast matches 2..13 if score pz lz_wrench_raycast matches 2..13 if score py lz_wrench_raycast matches 0..3 if block ~ ~ ~ #minecraft:anvil[facing=north] run function wrench:rotate/nesw/rotate
execute if score px lz_wrench_raycast matches 4..11 if score pz lz_wrench_raycast matches 3..12 if score py lz_wrench_raycast matches 4 if block ~ ~ ~ #minecraft:anvil[facing=north] run function wrench:rotate/nesw/rotate
execute if score px lz_wrench_raycast matches 6..9 if score pz lz_wrench_raycast matches 4..11 if score py lz_wrench_raycast matches 5..9 if block ~ ~ ~ #minecraft:anvil[facing=north] run function wrench:rotate/nesw/rotate
execute if score px lz_wrench_raycast matches 3..12 if score pz lz_wrench_raycast matches 0..15 if score py lz_wrench_raycast matches 10..15 if block ~ ~ ~ #minecraft:anvil[facing=south] run function wrench:rotate/nesw/rotate
execute if score px lz_wrench_raycast matches 2..13 if score pz lz_wrench_raycast matches 2..13 if score py lz_wrench_raycast matches 0..3 if block ~ ~ ~ #minecraft:anvil[facing=south] run function wrench:rotate/nesw/rotate
execute if score px lz_wrench_raycast matches 4..11 if score pz lz_wrench_raycast matches 3..12 if score py lz_wrench_raycast matches 4 if block ~ ~ ~ #minecraft:anvil[facing=south] run function wrench:rotate/nesw/rotate
execute if score px lz_wrench_raycast matches 6..9 if score pz lz_wrench_raycast matches 4..11 if score py lz_wrench_raycast matches 5..9 if block ~ ~ ~ #minecraft:anvil[facing=south] run function wrench:rotate/nesw/rotate
execute if score pz lz_wrench_raycast matches 3..12 if score px lz_wrench_raycast matches 0..15 if score py lz_wrench_raycast matches 10..15 if block ~ ~ ~ #minecraft:anvil[facing=east] run function wrench:rotate/nesw/rotate
execute if score pz lz_wrench_raycast matches 2..13 if score px lz_wrench_raycast matches 2..13 if score py lz_wrench_raycast matches 0..3 if block ~ ~ ~ #minecraft:anvil[facing=east] run function wrench:rotate/nesw/rotate
execute if score pz lz_wrench_raycast matches 4..11 if score px lz_wrench_raycast matches 3..12 if score py lz_wrench_raycast matches 4 if block ~ ~ ~ #minecraft:anvil[facing=east] run function wrench:rotate/nesw/rotate
execute if score pz lz_wrench_raycast matches 6..9 if score px lz_wrench_raycast matches 4..11 if score py lz_wrench_raycast matches 5..9 if block ~ ~ ~ #minecraft:anvil[facing=east] run function wrench:rotate/nesw/rotate
execute if score pz lz_wrench_raycast matches 3..12 if score px lz_wrench_raycast matches 0..15 if score py lz_wrench_raycast matches 10..15 if block ~ ~ ~ #minecraft:anvil[facing=west] run function wrench:rotate/nesw/rotate
execute if score pz lz_wrench_raycast matches 2..13 if score px lz_wrench_raycast matches 2..13 if score py lz_wrench_raycast matches 0..3 if block ~ ~ ~ #minecraft:anvil[facing=west] run function wrench:rotate/nesw/rotate
execute if score pz lz_wrench_raycast matches 4..11 if score px lz_wrench_raycast matches 3..12 if score py lz_wrench_raycast matches 4 if block ~ ~ ~ #minecraft:anvil[facing=west] run function wrench:rotate/nesw/rotate
execute if score pz lz_wrench_raycast matches 6..9 if score px lz_wrench_raycast matches 4..11 if score py lz_wrench_raycast matches 5..9 if block ~ ~ ~ #minecraft:anvil[facing=west] run function wrench:rotate/nesw/rotate

View File

@ -0,0 +1,2 @@
# Banners
execute if score px lz_wrench_raycast matches 4..11 if score pz lz_wrench_raycast matches 4..11 if block ~ ~ ~ #wrench:banners run function wrench:rotate/banners/rotate

View File

@ -0,0 +1,5 @@
# Bell
execute if score px lz_wrench_raycast matches 5..12 if block ~ ~ ~ minecraft:bell[attachment=floor,facing=north] run function wrench:rotate/nesw/rotate
execute if score pz lz_wrench_raycast matches 5..12 if block ~ ~ ~ minecraft:bell[attachment=floor,facing=east] run function wrench:rotate/nesw/rotate
execute if score px lz_wrench_raycast matches 5..12 if block ~ ~ ~ minecraft:bell[attachment=floor,facing=south] run function wrench:rotate/nesw/rotate
execute if score pz lz_wrench_raycast matches 5..12 if block ~ ~ ~ minecraft:bell[attachment=floor,facing=west] run function wrench:rotate/nesw/rotate

View File

@ -0,0 +1,2 @@
# Calibrated Sculk Sensor
execute if block ~ ~ ~ minecraft:calibrated_sculk_sensor if score py lz_wrench_raycast matches ..7 run function wrench:rotate/unique_blocks/calibrated_sculk_sensor/rotate

View File

@ -0,0 +1,2 @@
# Campfires
execute if block ~ ~ ~ #minecraft:campfires if score py lz_wrench_raycast matches ..7 run function wrench:rotate/unique_blocks/campfires/rotate

View File

@ -1,4 +1,4 @@
#Chain # Chain
execute if block ~ ~ ~ minecraft:chain[axis=x] if score py WrenchRaycast matches 7..8 if score pz WrenchRaycast matches 7..8 run function wrench:rotate/chain_flip execute if block ~ ~ ~ minecraft:chain[axis=x] if score py lz_wrench_raycast matches 7..8 if score pz lz_wrench_raycast matches 7..8 run function wrench:rotate/xyz/rotate
execute if block ~ ~ ~ minecraft:chain[axis=y] if score px WrenchRaycast matches 7..8 if score pz WrenchRaycast matches 7..8 run function wrench:rotate/chain_flip execute if block ~ ~ ~ minecraft:chain[axis=y] if score px lz_wrench_raycast matches 7..8 if score pz lz_wrench_raycast matches 7..8 run function wrench:rotate/xyz/rotate
execute if block ~ ~ ~ minecraft:chain[axis=z] if score px WrenchRaycast matches 7..8 if score py WrenchRaycast matches 7..8 run function wrench:rotate/chain_flip execute if block ~ ~ ~ minecraft:chain[axis=z] if score px lz_wrench_raycast matches 7..8 if score py lz_wrench_raycast matches 7..8 run function wrench:rotate/xyz/rotate

View File

@ -0,0 +1,2 @@
# Redstone Comprator
execute if block ~ ~ ~ minecraft:comparator if score py lz_wrench_raycast matches ..1 run function wrench:rotate/unique_blocks/comparator/rotate

View File

@ -0,0 +1,2 @@
# Decorated Pot
execute if score px lz_wrench_raycast matches 1..14 if score pz lz_wrench_raycast matches 1..14 if block ~ ~ ~ minecraft:decorated_pot run function wrench:rotate/nesw/rotate

View File

@ -0,0 +1,7 @@
# End Rod
execute if block ~ ~ ~ minecraft:end_rod[facing=up] if score px lz_wrench_raycast matches 6..9 if score pz lz_wrench_raycast matches 6..9 run function wrench:rotate/neswud/rotate
execute if block ~ ~ ~ minecraft:end_rod[facing=down] if score px lz_wrench_raycast matches 6..9 if score pz lz_wrench_raycast matches 6..9 run function wrench:rotate/neswud/rotate
execute if block ~ ~ ~ minecraft:end_rod[facing=south] if score px lz_wrench_raycast matches 6..9 if score py lz_wrench_raycast matches 6..9 run function wrench:rotate/neswud/rotate
execute if block ~ ~ ~ minecraft:end_rod[facing=north] if score px lz_wrench_raycast matches 6..9 if score py lz_wrench_raycast matches 6..9 run function wrench:rotate/neswud/rotate
execute if block ~ ~ ~ minecraft:end_rod[facing=east] if score py lz_wrench_raycast matches 6..9 if score pz lz_wrench_raycast matches 6..9 run function wrench:rotate/neswud/rotate
execute if block ~ ~ ~ minecraft:end_rod[facing=west] if score py lz_wrench_raycast matches 6..9 if score pz lz_wrench_raycast matches 6..9 run function wrench:rotate/neswud/rotate

View File

@ -1,7 +0,0 @@
#End rods
execute if block ~ ~ ~ minecraft:end_rod[facing=up] if score px WrenchRaycast matches 6..9 if score pz WrenchRaycast matches 6..9 run function wrench:rotate/end_rod_flip
execute if block ~ ~ ~ minecraft:end_rod[facing=down] if score px WrenchRaycast matches 6..9 if score pz WrenchRaycast matches 6..9 run function wrench:rotate/end_rod_flip
execute if block ~ ~ ~ minecraft:end_rod[facing=south] if score px WrenchRaycast matches 6..9 if score py WrenchRaycast matches 6..9 run function wrench:rotate/end_rod_flip
execute if block ~ ~ ~ minecraft:end_rod[facing=north] if score px WrenchRaycast matches 6..9 if score py WrenchRaycast matches 6..9 run function wrench:rotate/end_rod_flip
execute if block ~ ~ ~ minecraft:end_rod[facing=east] if score py WrenchRaycast matches 6..9 if score pz WrenchRaycast matches 6..9 run function wrench:rotate/end_rod_flip
execute if block ~ ~ ~ minecraft:end_rod[facing=west] if score py WrenchRaycast matches 6..9 if score pz WrenchRaycast matches 6..9 run function wrench:rotate/end_rod_flip

View File

@ -0,0 +1,2 @@
# Ender Chest
execute if score px lz_wrench_raycast matches 1..14 if score pz lz_wrench_raycast matches 1..14 if score py lz_wrench_raycast matches ..14 if block ~ ~ ~ minecraft:ender_chest run function wrench:rotate/nesw/rotate

View File

@ -0,0 +1,9 @@
# Fence Gates
execute if block ~ ~ ~ #minecraft:fence_gates[facing=north] if score px lz_wrench_raycast matches 6..9 run function wrench:rotate/nesw/rotate
execute if block ~ ~ ~ #minecraft:fence_gates[facing=east] if score pz lz_wrench_raycast matches 6..9 run function wrench:rotate/nesw/rotate
execute if block ~ ~ ~ #minecraft:fence_gates[facing=south] if score px lz_wrench_raycast matches 6..9 run function wrench:rotate/nesw/rotate
execute if block ~ ~ ~ #minecraft:fence_gates[facing=west] if score pz lz_wrench_raycast matches 6..9 run function wrench:rotate/nesw/rotate
execute if block ~ ~ ~ #minecraft:fence_gates[facing=north,in_wall=true] if score px lz_wrench_raycast matches 6..9 if score py lz_wrench_raycast matches ..12 run function wrench:rotate/nesw/rotate
execute if block ~ ~ ~ #minecraft:fence_gates[facing=east,in_wall=true] if score pz lz_wrench_raycast matches 6..9 if score py lz_wrench_raycast matches ..12 run function wrench:rotate/nesw/rotate
execute if block ~ ~ ~ #minecraft:fence_gates[facing=south,in_wall=true] if score px lz_wrench_raycast matches 6..9 if score py lz_wrench_raycast matches ..12 run function wrench:rotate/nesw/rotate
execute if block ~ ~ ~ #minecraft:fence_gates[facing=west,in_wall=true] if score pz lz_wrench_raycast matches 6..9 if score py lz_wrench_raycast matches ..12 run function wrench:rotate/nesw/rotate

View File

@ -0,0 +1,64 @@
# Grindstone
# Floor
execute if score px lz_wrench_raycast matches 4..11 if score py lz_wrench_raycast matches 4..15 if score pz lz_wrench_raycast matches 2..13 if block ~ ~ ~ minecraft:grindstone[face=floor,facing=north] run function wrench:rotate/unique_blocks/grindstone/rotate
execute if score pz lz_wrench_raycast matches 4..11 if score py lz_wrench_raycast matches 4..15 if score px lz_wrench_raycast matches 2..13 if block ~ ~ ~ minecraft:grindstone[face=floor,facing=east] run function wrench:rotate/unique_blocks/grindstone/rotate
execute if score px lz_wrench_raycast matches 4..11 if score py lz_wrench_raycast matches 4..15 if score pz lz_wrench_raycast matches 2..13 if block ~ ~ ~ minecraft:grindstone[face=floor,facing=south] run function wrench:rotate/unique_blocks/grindstone/rotate
execute if score pz lz_wrench_raycast matches 4..11 if score py lz_wrench_raycast matches 4..15 if score px lz_wrench_raycast matches 2..13 if block ~ ~ ~ minecraft:grindstone[face=floor,facing=west] run function wrench:rotate/unique_blocks/grindstone/rotate
execute if score px lz_wrench_raycast matches 2..13 if score py lz_wrench_raycast matches 7..12 if score pz lz_wrench_raycast matches 5..10 if block ~ ~ ~ minecraft:grindstone[face=floor,facing=north] run function wrench:rotate/unique_blocks/grindstone/rotate
execute if score pz lz_wrench_raycast matches 2..13 if score py lz_wrench_raycast matches 7..12 if score px lz_wrench_raycast matches 5..10 if block ~ ~ ~ minecraft:grindstone[face=floor,facing=east] run function wrench:rotate/unique_blocks/grindstone/rotate
execute if score px lz_wrench_raycast matches 2..13 if score py lz_wrench_raycast matches 7..12 if score pz lz_wrench_raycast matches 5..10 if block ~ ~ ~ minecraft:grindstone[face=floor,facing=south] run function wrench:rotate/unique_blocks/grindstone/rotate
execute if score pz lz_wrench_raycast matches 2..13 if score py lz_wrench_raycast matches 7..12 if score px lz_wrench_raycast matches 5..10 if block ~ ~ ~ minecraft:grindstone[face=floor,facing=west] run function wrench:rotate/unique_blocks/grindstone/rotate
execute if score px lz_wrench_raycast matches 2..3 if score py lz_wrench_raycast matches 0..6 if score pz lz_wrench_raycast matches 6..9 if block ~ ~ ~ minecraft:grindstone[face=floor,facing=north] run function wrench:rotate/unique_blocks/grindstone/rotate
execute if score pz lz_wrench_raycast matches 2..3 if score py lz_wrench_raycast matches 0..6 if score px lz_wrench_raycast matches 6..9 if block ~ ~ ~ minecraft:grindstone[face=floor,facing=east] run function wrench:rotate/unique_blocks/grindstone/rotate
execute if score px lz_wrench_raycast matches 2..3 if score py lz_wrench_raycast matches 0..6 if score pz lz_wrench_raycast matches 6..9 if block ~ ~ ~ minecraft:grindstone[face=floor,facing=south] run function wrench:rotate/unique_blocks/grindstone/rotate
execute if score pz lz_wrench_raycast matches 2..3 if score py lz_wrench_raycast matches 0..6 if score px lz_wrench_raycast matches 6..9 if block ~ ~ ~ minecraft:grindstone[face=floor,facing=west] run function wrench:rotate/unique_blocks/grindstone/rotate
execute if score px lz_wrench_raycast matches 12..13 if score py lz_wrench_raycast matches 0..6 if score pz lz_wrench_raycast matches 6..9 if block ~ ~ ~ minecraft:grindstone[face=floor,facing=north] run function wrench:rotate/unique_blocks/grindstone/rotate
execute if score pz lz_wrench_raycast matches 12..13 if score py lz_wrench_raycast matches 0..6 if score px lz_wrench_raycast matches 6..9 if block ~ ~ ~ minecraft:grindstone[face=floor,facing=east] run function wrench:rotate/unique_blocks/grindstone/rotate
execute if score px lz_wrench_raycast matches 12..13 if score py lz_wrench_raycast matches 0..6 if score pz lz_wrench_raycast matches 6..9 if block ~ ~ ~ minecraft:grindstone[face=floor,facing=south] run function wrench:rotate/unique_blocks/grindstone/rotate
execute if score pz lz_wrench_raycast matches 12..13 if score py lz_wrench_raycast matches 0..6 if score px lz_wrench_raycast matches 6..9 if block ~ ~ ~ minecraft:grindstone[face=floor,facing=west] run function wrench:rotate/unique_blocks/grindstone/rotate
# Wall
execute if score px lz_wrench_raycast matches 4..11 if score py lz_wrench_raycast matches 2..13 if score pz lz_wrench_raycast matches 0..11 if block ~ ~ ~ minecraft:grindstone[face=wall,facing=north] run function wrench:rotate/unique_blocks/grindstone/rotate
execute if score pz lz_wrench_raycast matches 4..11 if score py lz_wrench_raycast matches 2..13 if score px lz_wrench_raycast matches 4..15 if block ~ ~ ~ minecraft:grindstone[face=wall,facing=east] run function wrench:rotate/unique_blocks/grindstone/rotate
execute if score px lz_wrench_raycast matches 4..11 if score py lz_wrench_raycast matches 2..13 if score pz lz_wrench_raycast matches 4..15 if block ~ ~ ~ minecraft:grindstone[face=wall,facing=south] run function wrench:rotate/unique_blocks/grindstone/rotate
execute if score pz lz_wrench_raycast matches 4..11 if score py lz_wrench_raycast matches 2..13 if score px lz_wrench_raycast matches 0..11 if block ~ ~ ~ minecraft:grindstone[face=wall,facing=west] run function wrench:rotate/unique_blocks/grindstone/rotate
execute if score px lz_wrench_raycast matches 2..13 if score py lz_wrench_raycast matches 5..10 if score pz lz_wrench_raycast matches 3..8 if block ~ ~ ~ minecraft:grindstone[face=wall,facing=north] run function wrench:rotate/unique_blocks/grindstone/rotate
execute if score pz lz_wrench_raycast matches 2..13 if score py lz_wrench_raycast matches 5..10 if score px lz_wrench_raycast matches 7..12 if block ~ ~ ~ minecraft:grindstone[face=wall,facing=east] run function wrench:rotate/unique_blocks/grindstone/rotate
execute if score px lz_wrench_raycast matches 2..13 if score py lz_wrench_raycast matches 5..10 if score pz lz_wrench_raycast matches 7..12 if block ~ ~ ~ minecraft:grindstone[face=wall,facing=south] run function wrench:rotate/unique_blocks/grindstone/rotate
execute if score pz lz_wrench_raycast matches 2..13 if score py lz_wrench_raycast matches 5..10 if score px lz_wrench_raycast matches 3..8 if block ~ ~ ~ minecraft:grindstone[face=wall,facing=west] run function wrench:rotate/unique_blocks/grindstone/rotate
execute if score px lz_wrench_raycast matches 2..3 if score py lz_wrench_raycast matches 0..6 if score pz lz_wrench_raycast matches 9..15 if block ~ ~ ~ minecraft:grindstone[face=wall,facing=north] run function wrench:rotate/unique_blocks/grindstone/rotate
execute if score pz lz_wrench_raycast matches 2..3 if score py lz_wrench_raycast matches 0..6 if score px lz_wrench_raycast matches 0..6 if block ~ ~ ~ minecraft:grindstone[face=wall,facing=east] run function wrench:rotate/unique_blocks/grindstone/rotate
execute if score px lz_wrench_raycast matches 2..3 if score py lz_wrench_raycast matches 0..6 if score pz lz_wrench_raycast matches 0..6 if block ~ ~ ~ minecraft:grindstone[face=wall,facing=south] run function wrench:rotate/unique_blocks/grindstone/rotate
execute if score pz lz_wrench_raycast matches 2..3 if score py lz_wrench_raycast matches 0..6 if score px lz_wrench_raycast matches 6..15 if block ~ ~ ~ minecraft:grindstone[face=wall,facing=west] run function wrench:rotate/unique_blocks/grindstone/rotate
execute if score px lz_wrench_raycast matches 12..13 if score py lz_wrench_raycast matches 0..6 if score pz lz_wrench_raycast matches 9..15 if block ~ ~ ~ minecraft:grindstone[face=wall,facing=north] run function wrench:rotate/unique_blocks/grindstone/rotate
execute if score pz lz_wrench_raycast matches 12..13 if score py lz_wrench_raycast matches 0..6 if score px lz_wrench_raycast matches 0..6 if block ~ ~ ~ minecraft:grindstone[face=wall,facing=east] run function wrench:rotate/unique_blocks/grindstone/rotate
execute if score px lz_wrench_raycast matches 12..13 if score py lz_wrench_raycast matches 0..6 if score pz lz_wrench_raycast matches 0..6 if block ~ ~ ~ minecraft:grindstone[face=wall,facing=south] run function wrench:rotate/unique_blocks/grindstone/rotate
execute if score pz lz_wrench_raycast matches 12..13 if score py lz_wrench_raycast matches 0..6 if score px lz_wrench_raycast matches 9..15 if block ~ ~ ~ minecraft:grindstone[face=wall,facing=west] run function wrench:rotate/unique_blocks/grindstone/rotate
# Ceiling
execute if score px lz_wrench_raycast matches 4..11 if score py lz_wrench_raycast matches 0..11 if score pz lz_wrench_raycast matches 2..13 if block ~ ~ ~ minecraft:grindstone[face=ceiling,facing=north] run function wrench:rotate/unique_blocks/grindstone/rotate
execute if score pz lz_wrench_raycast matches 4..11 if score py lz_wrench_raycast matches 0..11 if score px lz_wrench_raycast matches 2..13 if block ~ ~ ~ minecraft:grindstone[face=ceiling,facing=east] run function wrench:rotate/unique_blocks/grindstone/rotate
execute if score px lz_wrench_raycast matches 4..11 if score py lz_wrench_raycast matches 0..11 if score pz lz_wrench_raycast matches 2..13 if block ~ ~ ~ minecraft:grindstone[face=ceiling,facing=south] run function wrench:rotate/unique_blocks/grindstone/rotate
execute if score pz lz_wrench_raycast matches 4..11 if score py lz_wrench_raycast matches 0..11 if score px lz_wrench_raycast matches 2..13 if block ~ ~ ~ minecraft:grindstone[face=ceiling,facing=west] run function wrench:rotate/unique_blocks/grindstone/rotate
execute if score px lz_wrench_raycast matches 2..13 if score py lz_wrench_raycast matches 3..8 if score pz lz_wrench_raycast matches 5..10 if block ~ ~ ~ minecraft:grindstone[face=ceiling,facing=north] run function wrench:rotate/unique_blocks/grindstone/rotate
execute if score pz lz_wrench_raycast matches 2..13 if score py lz_wrench_raycast matches 3..8 if score px lz_wrench_raycast matches 5..10 if block ~ ~ ~ minecraft:grindstone[face=ceiling,facing=east] run function wrench:rotate/unique_blocks/grindstone/rotate
execute if score px lz_wrench_raycast matches 2..13 if score py lz_wrench_raycast matches 3..8 if score pz lz_wrench_raycast matches 5..10 if block ~ ~ ~ minecraft:grindstone[face=ceiling,facing=south] run function wrench:rotate/unique_blocks/grindstone/rotate
execute if score pz lz_wrench_raycast matches 2..13 if score py lz_wrench_raycast matches 3..8 if score px lz_wrench_raycast matches 5..10 if block ~ ~ ~ minecraft:grindstone[face=ceiling,facing=west] run function wrench:rotate/unique_blocks/grindstone/rotate
execute if score px lz_wrench_raycast matches 2..3 if score py lz_wrench_raycast matches 9..15 if score pz lz_wrench_raycast matches 6..9 if block ~ ~ ~ minecraft:grindstone[face=ceiling,facing=north] run function wrench:rotate/unique_blocks/grindstone/rotate
execute if score pz lz_wrench_raycast matches 2..3 if score py lz_wrench_raycast matches 9..15 if score px lz_wrench_raycast matches 6..9 if block ~ ~ ~ minecraft:grindstone[face=ceiling,facing=east] run function wrench:rotate/unique_blocks/grindstone/rotate
execute if score px lz_wrench_raycast matches 2..3 if score py lz_wrench_raycast matches 9..15 if score pz lz_wrench_raycast matches 6..9 if block ~ ~ ~ minecraft:grindstone[face=ceiling,facing=south] run function wrench:rotate/unique_blocks/grindstone/rotate
execute if score pz lz_wrench_raycast matches 2..3 if score py lz_wrench_raycast matches 9..15 if score px lz_wrench_raycast matches 6..9 if block ~ ~ ~ minecraft:grindstone[face=ceiling,facing=west] run function wrench:rotate/unique_blocks/grindstone/rotate
execute if score px lz_wrench_raycast matches 12..13 if score py lz_wrench_raycast matches 9..15 if score pz lz_wrench_raycast matches 6..9 if block ~ ~ ~ minecraft:grindstone[face=ceiling,facing=north] run function wrench:rotate/unique_blocks/grindstone/rotate
execute if score pz lz_wrench_raycast matches 12..13 if score py lz_wrench_raycast matches 9..15 if score px lz_wrench_raycast matches 6..9 if block ~ ~ ~ minecraft:grindstone[face=ceiling,facing=east] run function wrench:rotate/unique_blocks/grindstone/rotate
execute if score px lz_wrench_raycast matches 12..13 if score py lz_wrench_raycast matches 9..15 if score pz lz_wrench_raycast matches 6..9 if block ~ ~ ~ minecraft:grindstone[face=ceiling,facing=south] run function wrench:rotate/unique_blocks/grindstone/rotate
execute if score pz lz_wrench_raycast matches 12..13 if score py lz_wrench_raycast matches 9..15 if score px lz_wrench_raycast matches 6..9 if block ~ ~ ~ minecraft:grindstone[face=ceiling,facing=west] run function wrench:rotate/unique_blocks/grindstone/rotate

View File

@ -0,0 +1,8 @@
# Hopper
execute if block ~ ~ ~ minecraft:hopper[facing=down] if score px lz_wrench_raycast matches 6..9 if score py lz_wrench_raycast matches ..3 if score pz lz_wrench_raycast matches 6..9 run function wrench:rotate/unique_blocks/hopper/rotate
execute if block ~ ~ ~ minecraft:hopper[facing=south] if score px lz_wrench_raycast matches 6..9 if score py lz_wrench_raycast matches 4..7 if score pz lz_wrench_raycast matches 12.. run function wrench:rotate/unique_blocks/hopper/rotate
execute if block ~ ~ ~ minecraft:hopper[facing=north] if score px lz_wrench_raycast matches 6..9 if score py lz_wrench_raycast matches 4..7 if score pz lz_wrench_raycast matches ..3 run function wrench:rotate/unique_blocks/hopper/rotate
execute if block ~ ~ ~ minecraft:hopper[facing=east] if score px lz_wrench_raycast matches 12.. if score py lz_wrench_raycast matches 4..7 if score pz lz_wrench_raycast matches 6..9 run function wrench:rotate/unique_blocks/hopper/rotate
execute if block ~ ~ ~ minecraft:hopper[facing=west] if score px lz_wrench_raycast matches ..3 if score py lz_wrench_raycast matches 4..7 if score pz lz_wrench_raycast matches 6..9 run function wrench:rotate/unique_blocks/hopper/rotate
execute if block ~ ~ ~ minecraft:hopper if score px lz_wrench_raycast matches 4..11 if score py lz_wrench_raycast matches 4.. if score pz lz_wrench_raycast matches 4..11 run function wrench:rotate/unique_blocks/hopper/rotate
execute if block ~ ~ ~ minecraft:hopper if score py lz_wrench_raycast matches 10.. run function wrench:rotate/unique_blocks/hopper/rotate

View File

@ -1,8 +0,0 @@
# Hopper
execute if block ~ ~ ~ minecraft:hopper[facing=down] if score px WrenchRaycast matches 6..9 if score py WrenchRaycast matches ..3 if score pz WrenchRaycast matches 6..9 run function wrench:rotate/redstone
execute if block ~ ~ ~ minecraft:hopper[facing=south] if score px WrenchRaycast matches 6..9 if score py WrenchRaycast matches 4..7 if score pz WrenchRaycast matches 12.. run function wrench:rotate/redstone
execute if block ~ ~ ~ minecraft:hopper[facing=north] if score px WrenchRaycast matches 6..9 if score py WrenchRaycast matches 4..7 if score pz WrenchRaycast matches ..3 run function wrench:rotate/redstone
execute if block ~ ~ ~ minecraft:hopper[facing=east] if score px WrenchRaycast matches 12.. if score py WrenchRaycast matches 4..7 if score pz WrenchRaycast matches 6..9 run function wrench:rotate/redstone
execute if block ~ ~ ~ minecraft:hopper[facing=west] if score px WrenchRaycast matches ..3 if score py WrenchRaycast matches 4..7 if score pz WrenchRaycast matches 6..9 run function wrench:rotate/redstone
execute if block ~ ~ ~ minecraft:hopper if score px WrenchRaycast matches 4..11 if score py WrenchRaycast matches 4.. if score pz WrenchRaycast matches 4..11 run function wrench:rotate/redstone
execute if block ~ ~ ~ minecraft:hopper if score py WrenchRaycast matches 10.. run function wrench:rotate/redstone

View File

@ -0,0 +1,7 @@
# Lightning Rod
execute if block ~ ~ ~ minecraft:lightning_rod[facing=up] if score px lz_wrench_raycast matches 6..9 if score pz lz_wrench_raycast matches 6..9 run function wrench:rotate/neswud/rotate
execute if block ~ ~ ~ minecraft:lightning_rod[facing=down] if score px lz_wrench_raycast matches 6..9 if score pz lz_wrench_raycast matches 6..9 run function wrench:rotate/neswud/rotate
execute if block ~ ~ ~ minecraft:lightning_rod[facing=south] if score px lz_wrench_raycast matches 6..9 if score py lz_wrench_raycast matches 6..9 run function wrench:rotate/neswud/rotate
execute if block ~ ~ ~ minecraft:lightning_rod[facing=north] if score px lz_wrench_raycast matches 6..9 if score py lz_wrench_raycast matches 6..9 run function wrench:rotate/neswud/rotate
execute if block ~ ~ ~ minecraft:lightning_rod[facing=east] if score py lz_wrench_raycast matches 6..9 if score pz lz_wrench_raycast matches 6..9 run function wrench:rotate/neswud/rotate
execute if block ~ ~ ~ minecraft:lightning_rod[facing=west] if score py lz_wrench_raycast matches 6..9 if score pz lz_wrench_raycast matches 6..9 run function wrench:rotate/neswud/rotate

View File

@ -1,8 +1,17 @@
# Piston # Piston
execute if block ~ ~ ~ minecraft:piston[extended=false] run function wrench:rotate/redstone execute if block ~ ~ ~ minecraft:piston[extended=false] run function wrench:rotate/neswud/rotate
execute if block ~ ~ ~ minecraft:piston[facing=up] if score py WrenchRaycast matches ..11 run function wrench:rotate/redstone execute if block ~ ~ ~ minecraft:piston[facing=up] if score py lz_wrench_raycast matches ..11 run function wrench:rotate/neswud/rotate
execute if block ~ ~ ~ minecraft:piston[facing=down] if score py WrenchRaycast matches 4.. run function wrench:rotate/redstone execute if block ~ ~ ~ minecraft:piston[facing=down] if score py lz_wrench_raycast matches 4.. run function wrench:rotate/neswud/rotate
execute if block ~ ~ ~ minecraft:piston[facing=south] if score pz WrenchRaycast matches ..11 run function wrench:rotate/redstone execute if block ~ ~ ~ minecraft:piston[facing=south] if score pz lz_wrench_raycast matches ..11 run function wrench:rotate/neswud/rotate
execute if block ~ ~ ~ minecraft:piston[facing=north] if score pz WrenchRaycast matches 4.. run function wrench:rotate/redstone execute if block ~ ~ ~ minecraft:piston[facing=north] if score pz lz_wrench_raycast matches 4.. run function wrench:rotate/neswud/rotate
execute if block ~ ~ ~ minecraft:piston[facing=east] if score px WrenchRaycast matches ..11 run function wrench:rotate/redstone execute if block ~ ~ ~ minecraft:piston[facing=east] if score px lz_wrench_raycast matches ..11 run function wrench:rotate/neswud/rotate
execute if block ~ ~ ~ minecraft:piston[facing=west] if score px WrenchRaycast matches 4.. run function wrench:rotate/redstone execute if block ~ ~ ~ minecraft:piston[facing=west] if score px lz_wrench_raycast matches 4.. run function wrench:rotate/neswud/rotate
# Sticky Piston
execute if block ~ ~ ~ minecraft:sticky_piston[extended=false] run function wrench:rotate/neswud/rotate
execute if block ~ ~ ~ minecraft:sticky_piston[facing=up] if score py lz_wrench_raycast matches ..11 run function wrench:rotate/neswud/rotate
execute if block ~ ~ ~ minecraft:sticky_piston[facing=down] if score py lz_wrench_raycast matches 4.. run function wrench:rotate/neswud/rotate
execute if block ~ ~ ~ minecraft:sticky_piston[facing=south] if score pz lz_wrench_raycast matches ..11 run function wrench:rotate/neswud/rotate
execute if block ~ ~ ~ minecraft:sticky_piston[facing=north] if score pz lz_wrench_raycast matches 4.. run function wrench:rotate/neswud/rotate
execute if block ~ ~ ~ minecraft:sticky_piston[facing=east] if score px lz_wrench_raycast matches ..11 run function wrench:rotate/neswud/rotate
execute if block ~ ~ ~ minecraft:sticky_piston[facing=west] if score px lz_wrench_raycast matches 4.. run function wrench:rotate/neswud/rotate

View File

@ -1,6 +1,6 @@
# Rails # Rails
execute if block ~ ~ ~ #minecraft:rails if score py WrenchRaycast matches ..1 run function wrench:rotate/rails execute if block ~ ~ ~ #minecraft:rails if score py lz_wrench_raycast matches ..1 run function wrench:rotate/rails/rotate
execute if block ~ ~ ~ #minecraft:rails[shape=ascending_west] if score py WrenchRaycast matches ..7 run function wrench:rotate/rails execute if block ~ ~ ~ #minecraft:rails[shape=ascending_west] if score py lz_wrench_raycast matches ..7 run function wrench:rotate/rails/rotate
execute if block ~ ~ ~ #minecraft:rails[shape=ascending_east] if score py WrenchRaycast matches ..7 run function wrench:rotate/rails execute if block ~ ~ ~ #minecraft:rails[shape=ascending_east] if score py lz_wrench_raycast matches ..7 run function wrench:rotate/rails/rotate
execute if block ~ ~ ~ #minecraft:rails[shape=ascending_north] if score py WrenchRaycast matches ..7 run function wrench:rotate/rails execute if block ~ ~ ~ #minecraft:rails[shape=ascending_north] if score py lz_wrench_raycast matches ..7 run function wrench:rotate/rails/rotate
execute if block ~ ~ ~ #minecraft:rails[shape=ascending_south] if score py WrenchRaycast matches ..7 run function wrench:rotate/rails execute if block ~ ~ ~ #minecraft:rails[shape=ascending_south] if score py lz_wrench_raycast matches ..7 run function wrench:rotate/rails/rotate

View File

@ -0,0 +1,2 @@
# Redstone Repeater
execute if block ~ ~ ~ minecraft:repeater if score py lz_wrench_raycast matches ..1 run function wrench:rotate/unique_blocks/repeater/rotate

View File

@ -0,0 +1,31 @@
# Signs
execute if score px lz_wrench_raycast matches 4..11 if score pz lz_wrench_raycast matches 4..11 if block ~ ~ ~ #minecraft:standing_signs run function wrench:rotate/signs/rotate
execute if score px lz_wrench_raycast matches 4..11 if score pz lz_wrench_raycast matches 4..11 if block ~ ~ ~ #minecraft:ceiling_hanging_signs[rotation=1] run function wrench:rotate/signs_hanging/rotate
execute if score px lz_wrench_raycast matches 4..11 if score pz lz_wrench_raycast matches 4..11 if block ~ ~ ~ #minecraft:ceiling_hanging_signs[rotation=2] run function wrench:rotate/signs_hanging/rotate
execute if score px lz_wrench_raycast matches 4..11 if score pz lz_wrench_raycast matches 4..11 if block ~ ~ ~ #minecraft:ceiling_hanging_signs[rotation=3] run function wrench:rotate/signs_hanging/rotate
execute if score px lz_wrench_raycast matches 4..11 if score pz lz_wrench_raycast matches 4..11 if block ~ ~ ~ #minecraft:ceiling_hanging_signs[rotation=5] run function wrench:rotate/signs_hanging/rotate
execute if score px lz_wrench_raycast matches 4..11 if score pz lz_wrench_raycast matches 4..11 if block ~ ~ ~ #minecraft:ceiling_hanging_signs[rotation=6] run function wrench:rotate/signs_hanging/rotate
execute if score px lz_wrench_raycast matches 4..11 if score pz lz_wrench_raycast matches 4..11 if block ~ ~ ~ #minecraft:ceiling_hanging_signs[rotation=7] run function wrench:rotate/signs_hanging/rotate
execute if score px lz_wrench_raycast matches 4..11 if score pz lz_wrench_raycast matches 4..11 if block ~ ~ ~ #minecraft:ceiling_hanging_signs[rotation=9] run function wrench:rotate/signs_hanging/rotate
execute if score px lz_wrench_raycast matches 4..11 if score pz lz_wrench_raycast matches 4..11 if block ~ ~ ~ #minecraft:ceiling_hanging_signs[rotation=10] run function wrench:rotate/signs_hanging/rotate
execute if score px lz_wrench_raycast matches 4..11 if score pz lz_wrench_raycast matches 4..11 if block ~ ~ ~ #minecraft:ceiling_hanging_signs[rotation=11] run function wrench:rotate/signs_hanging/rotate
execute if score px lz_wrench_raycast matches 4..11 if score pz lz_wrench_raycast matches 4..11 if block ~ ~ ~ #minecraft:ceiling_hanging_signs[rotation=13] run function wrench:rotate/signs_hanging/rotate
execute if score px lz_wrench_raycast matches 4..11 if score pz lz_wrench_raycast matches 4..11 if block ~ ~ ~ #minecraft:ceiling_hanging_signs[rotation=14] run function wrench:rotate/signs_hanging/rotate
execute if score px lz_wrench_raycast matches 4..11 if score pz lz_wrench_raycast matches 4..11 if block ~ ~ ~ #minecraft:ceiling_hanging_signs[rotation=15] run function wrench:rotate/signs_hanging/rotate
execute if score px lz_wrench_raycast matches 1..14 if score py lz_wrench_raycast matches 0..9 if score pz lz_wrench_raycast matches 7..8 if block ~ ~ ~ #minecraft:ceiling_hanging_signs[rotation=0] run function wrench:rotate/signs_hanging/rotate
execute if score px lz_wrench_raycast matches 1..14 if score py lz_wrench_raycast matches 0..9 if score pz lz_wrench_raycast matches 7..8 if block ~ ~ ~ #minecraft:ceiling_hanging_signs[rotation=8] run function wrench:rotate/signs_hanging/rotate
execute if score pz lz_wrench_raycast matches 1..14 if score py lz_wrench_raycast matches 0..9 if score px lz_wrench_raycast matches 7..8 if block ~ ~ ~ #minecraft:ceiling_hanging_signs[rotation=4] run function wrench:rotate/signs_hanging/rotate
execute if score pz lz_wrench_raycast matches 1..14 if score py lz_wrench_raycast matches 0..9 if score px lz_wrench_raycast matches 7..8 if block ~ ~ ~ #minecraft:ceiling_hanging_signs[rotation=12] run function wrench:rotate/signs_hanging/rotate
# Wall hanging signs can't be defined with the current method of getting the block ID so these fail as it's updated to the standard hanging sign
# execute if score px lz_wrench_raycast matches 1..14 if score py lz_wrench_raycast matches 0..9 if score pz lz_wrench_raycast matches 7..8 if block ~ ~ ~ #minecraft:wall_hanging_signs[facing=north] run function wrench:rotate/signs_wall/rotate
# execute if score pz lz_wrench_raycast matches 1..14 if score py lz_wrench_raycast matches 0..9 if score px lz_wrench_raycast matches 7..8 if block ~ ~ ~ #minecraft:wall_hanging_signs[facing=east] run function wrench:rotate/signs_wall/rotate
# execute if score px lz_wrench_raycast matches 1..14 if score py lz_wrench_raycast matches 0..9 if score pz lz_wrench_raycast matches 7..8 if block ~ ~ ~ #minecraft:wall_hanging_signs[facing=south] run function wrench:rotate/signs_wall/rotate
# execute if score pz lz_wrench_raycast matches 1..14 if score py lz_wrench_raycast matches 0..9 if score px lz_wrench_raycast matches 7..8 if block ~ ~ ~ #minecraft:wall_hanging_signs[facing=west] run function wrench:rotate/signs_wall/rotate
# execute if score px lz_wrench_raycast matches 6..9 if score py lz_wrench_raycast matches 14..15 if block ~ ~ ~ #minecraft:wall_hanging_signs[facing=north] run function wrench:rotate/signs_wall/rotate
# execute if score pz lz_wrench_raycast matches 6..9 if score py lz_wrench_raycast matches 14..15 if block ~ ~ ~ #minecraft:wall_hanging_signs[facing=east] run function wrench:rotate/signs_wall/rotate
# execute if score px lz_wrench_raycast matches 6..9 if score py lz_wrench_raycast matches 14..15 if block ~ ~ ~ #minecraft:wall_hanging_signs[facing=south] run function wrench:rotate/signs_wall/rotate
# execute if score pz lz_wrench_raycast matches 6..9 if score py lz_wrench_raycast matches 14..15 if block ~ ~ ~ #minecraft:wall_hanging_signs[facing=west] run function wrench:rotate/signs_wall/rotate

View File

@ -1,3 +1,3 @@
# Slabs # Slabs
execute if block ~ ~ ~ #minecraft:slabs[type=top] if score py WrenchRaycast matches 8.. run function wrench:rotate/slabs_flip execute if block ~ ~ ~ #minecraft:slabs[type=top] if score py lz_wrench_raycast matches 8.. run function wrench:rotate/slabs/rotate
execute if block ~ ~ ~ #minecraft:slabs[type=bottom] if score py WrenchRaycast matches ..7 run function wrench:rotate/slabs_flip execute if block ~ ~ ~ #minecraft:slabs[type=bottom] if score py lz_wrench_raycast matches ..7 run function wrench:rotate/slabs/rotate

View File

@ -1,19 +1,20 @@
#Stairs # Stairs
execute if block ~ ~ ~ #minecraft:stairs[half=bottom] if score py WrenchRaycast matches ..7 run function wrench:rotate/stairs
execute if block ~ ~ ~ #minecraft:stairs[half=top] if score py WrenchRaycast matches 8.. run function wrench:rotate/stairs execute if block ~ ~ ~ #minecraft:stairs[half=bottom] if score py lz_wrench_raycast matches ..7 run function wrench:rotate/stairs/rotate
execute if block ~ ~ ~ #minecraft:stairs[half=top] if score py lz_wrench_raycast matches 8.. run function wrench:rotate/stairs/rotate
# -x-z # -x-z
execute if block ~ ~ ~ #minecraft:stairs if score px WrenchRaycast matches ..7 if score pz WrenchRaycast matches ..7 unless block ~ ~ ~ #minecraft:stairs[facing=west,shape=outer_left] unless block ~ ~ ~ #minecraft:stairs[facing=north,shape=outer_right] unless block ~ ~ ~ #minecraft:stairs[facing=east] unless block ~ ~ ~ #minecraft:stairs[facing=south] run function wrench:rotate/stairs execute if block ~ ~ ~ #minecraft:stairs if score px lz_wrench_raycast matches ..7 if score pz lz_wrench_raycast matches ..7 unless block ~ ~ ~ #minecraft:stairs[facing=west,shape=outer_left] unless block ~ ~ ~ #minecraft:stairs[facing=north,shape=outer_right] unless block ~ ~ ~ #minecraft:stairs[facing=east] unless block ~ ~ ~ #minecraft:stairs[facing=south] run function wrench:rotate/stairs/rotate
execute if block ~ ~ ~ #minecraft:stairs if score px WrenchRaycast matches ..7 if score pz WrenchRaycast matches ..7 if block ~ ~ ~ #minecraft:stairs[facing=east,shape=inner_left] run function wrench:rotate/stairs execute if block ~ ~ ~ #minecraft:stairs if score px lz_wrench_raycast matches ..7 if score pz lz_wrench_raycast matches ..7 if block ~ ~ ~ #minecraft:stairs[facing=east,shape=inner_left] run function wrench:rotate/stairs/rotate
execute if block ~ ~ ~ #minecraft:stairs if score px WrenchRaycast matches ..7 if score pz WrenchRaycast matches ..7 if block ~ ~ ~ #minecraft:stairs[facing=south,shape=inner_right] run function wrench:rotate/stairs execute if block ~ ~ ~ #minecraft:stairs if score px lz_wrench_raycast matches ..7 if score pz lz_wrench_raycast matches ..7 if block ~ ~ ~ #minecraft:stairs[facing=south,shape=inner_right] run function wrench:rotate/stairs/rotate
# -x+z # -x+z
execute if block ~ ~ ~ #minecraft:stairs if score px WrenchRaycast matches ..7 if score pz WrenchRaycast matches 8.. unless block ~ ~ ~ #minecraft:stairs[facing=south,shape=outer_left] unless block ~ ~ ~ #minecraft:stairs[facing=west,shape=outer_right] unless block ~ ~ ~ #minecraft:stairs[facing=north] unless block ~ ~ ~ #minecraft:stairs[facing=east] run function wrench:rotate/stairs execute if block ~ ~ ~ #minecraft:stairs if score px lz_wrench_raycast matches ..7 if score pz lz_wrench_raycast matches 8.. unless block ~ ~ ~ #minecraft:stairs[facing=south,shape=outer_left] unless block ~ ~ ~ #minecraft:stairs[facing=west,shape=outer_right] unless block ~ ~ ~ #minecraft:stairs[facing=north] unless block ~ ~ ~ #minecraft:stairs[facing=east] run function wrench:rotate/stairs/rotate
execute if block ~ ~ ~ #minecraft:stairs if score px WrenchRaycast matches ..7 if score pz WrenchRaycast matches 8.. if block ~ ~ ~ #minecraft:stairs[facing=north,shape=inner_left] run function wrench:rotate/stairs execute if block ~ ~ ~ #minecraft:stairs if score px lz_wrench_raycast matches ..7 if score pz lz_wrench_raycast matches 8.. if block ~ ~ ~ #minecraft:stairs[facing=north,shape=inner_left] run function wrench:rotate/stairs/rotate
execute if block ~ ~ ~ #minecraft:stairs if score px WrenchRaycast matches ..7 if score pz WrenchRaycast matches 8.. if block ~ ~ ~ #minecraft:stairs[facing=east,shape=inner_right] run function wrench:rotate/stairs execute if block ~ ~ ~ #minecraft:stairs if score px lz_wrench_raycast matches ..7 if score pz lz_wrench_raycast matches 8.. if block ~ ~ ~ #minecraft:stairs[facing=east,shape=inner_right] run function wrench:rotate/stairs/rotate
# +x+z # +x+z
execute if block ~ ~ ~ #minecraft:stairs if score px WrenchRaycast matches 8.. if score pz WrenchRaycast matches 8.. unless block ~ ~ ~ #minecraft:stairs[facing=east,shape=outer_left] unless block ~ ~ ~ #minecraft:stairs[facing=south,shape=outer_right] unless block ~ ~ ~ #minecraft:stairs[facing=west] unless block ~ ~ ~ #minecraft:stairs[facing=north] run function wrench:rotate/stairs execute if block ~ ~ ~ #minecraft:stairs if score px lz_wrench_raycast matches 8.. if score pz lz_wrench_raycast matches 8.. unless block ~ ~ ~ #minecraft:stairs[facing=east,shape=outer_left] unless block ~ ~ ~ #minecraft:stairs[facing=south,shape=outer_right] unless block ~ ~ ~ #minecraft:stairs[facing=west] unless block ~ ~ ~ #minecraft:stairs[facing=north] run function wrench:rotate/stairs/rotate
execute if block ~ ~ ~ #minecraft:stairs if score px WrenchRaycast matches 8.. if score pz WrenchRaycast matches 8.. if block ~ ~ ~ #minecraft:stairs[facing=west,shape=inner_left] run function wrench:rotate/stairs execute if block ~ ~ ~ #minecraft:stairs if score px lz_wrench_raycast matches 8.. if score pz lz_wrench_raycast matches 8.. if block ~ ~ ~ #minecraft:stairs[facing=west,shape=inner_left] run function wrench:rotate/stairs/rotate
execute if block ~ ~ ~ #minecraft:stairs if score px WrenchRaycast matches 8.. if score pz WrenchRaycast matches 8.. if block ~ ~ ~ #minecraft:stairs[facing=north,shape=inner_right] run function wrench:rotate/stairs execute if block ~ ~ ~ #minecraft:stairs if score px lz_wrench_raycast matches 8.. if score pz lz_wrench_raycast matches 8.. if block ~ ~ ~ #minecraft:stairs[facing=north,shape=inner_right] run function wrench:rotate/stairs/rotate
# +x-z # +x-z
execute if block ~ ~ ~ #minecraft:stairs if score px WrenchRaycast matches 8.. if score pz WrenchRaycast matches ..7 unless block ~ ~ ~ #minecraft:stairs[facing=north,shape=outer_left] unless block ~ ~ ~ #minecraft:stairs[facing=east,shape=outer_right] unless block ~ ~ ~ #minecraft:stairs[facing=south] unless block ~ ~ ~ #minecraft:stairs[facing=west] run function wrench:rotate/stairs execute if block ~ ~ ~ #minecraft:stairs if score px lz_wrench_raycast matches 8.. if score pz lz_wrench_raycast matches ..7 unless block ~ ~ ~ #minecraft:stairs[facing=north,shape=outer_left] unless block ~ ~ ~ #minecraft:stairs[facing=east,shape=outer_right] unless block ~ ~ ~ #minecraft:stairs[facing=south] unless block ~ ~ ~ #minecraft:stairs[facing=west] run function wrench:rotate/stairs/rotate
execute if block ~ ~ ~ #minecraft:stairs if score px WrenchRaycast matches 8.. if score pz WrenchRaycast matches ..7 if block ~ ~ ~ #minecraft:stairs[facing=south,shape=inner_left] run function wrench:rotate/stairs execute if block ~ ~ ~ #minecraft:stairs if score px lz_wrench_raycast matches 8.. if score pz lz_wrench_raycast matches ..7 if block ~ ~ ~ #minecraft:stairs[facing=south,shape=inner_left] run function wrench:rotate/stairs/rotate
execute if block ~ ~ ~ #minecraft:stairs if score px WrenchRaycast matches 8.. if score pz WrenchRaycast matches ..7 if block ~ ~ ~ #minecraft:stairs[facing=west,shape=inner_right] run function wrench:rotate/stairs execute if block ~ ~ ~ #minecraft:stairs if score px lz_wrench_raycast matches 8.. if score pz lz_wrench_raycast matches ..7 if block ~ ~ ~ #minecraft:stairs[facing=west,shape=inner_right] run function wrench:rotate/stairs/rotate

View File

@ -1,8 +0,0 @@
#Sticky pistons
execute if block ~ ~ ~ minecraft:sticky_piston[extended=false] run function wrench:rotate/redstone
execute if block ~ ~ ~ minecraft:sticky_piston[facing=up] if score py WrenchRaycast matches ..11 run function wrench:rotate/redstone
execute if block ~ ~ ~ minecraft:sticky_piston[facing=down] if score py WrenchRaycast matches 4.. run function wrench:rotate/redstone
execute if block ~ ~ ~ minecraft:sticky_piston[facing=south] if score pz WrenchRaycast matches ..11 run function wrench:rotate/redstone
execute if block ~ ~ ~ minecraft:sticky_piston[facing=north] if score pz WrenchRaycast matches 4.. run function wrench:rotate/redstone
execute if block ~ ~ ~ minecraft:sticky_piston[facing=east] if score px WrenchRaycast matches ..11 run function wrench:rotate/redstone
execute if block ~ ~ ~ minecraft:sticky_piston[facing=west] if score px WrenchRaycast matches 4.. run function wrench:rotate/redstone

View File

@ -0,0 +1,2 @@
# Stonecutter
execute if block ~ ~ ~ minecraft:stonecutter if score py lz_wrench_raycast matches ..9 run function wrench:rotate/nesw/rotate

View File

@ -0,0 +1,13 @@
# Trapdoors
execute if block ~ ~ ~ #minecraft:trapdoors[open=false,half=top] if score py lz_wrench_raycast matches 13.. run function wrench:rotate/trapdoors/rotate
execute if block ~ ~ ~ #minecraft:trapdoors[open=false,half=bottom] if score py lz_wrench_raycast matches ..2 run function wrench:rotate/trapdoors/rotate
# North
execute if block ~ ~ ~ #minecraft:trapdoors[open=true,facing=north] if score pz lz_wrench_raycast matches 13.. run function wrench:rotate/trapdoors/rotate
# East
execute if block ~ ~ ~ #minecraft:trapdoors[open=true,facing=east] if score px lz_wrench_raycast matches ..2 run function wrench:rotate/trapdoors/rotate
# South
execute if block ~ ~ ~ #minecraft:trapdoors[open=true,facing=south] if score pz lz_wrench_raycast matches ..2 run function wrench:rotate/trapdoors/rotate
# West
execute if block ~ ~ ~ #minecraft:trapdoors[open=true,facing=west] if score px lz_wrench_raycast matches 13.. run function wrench:rotate/trapdoors/rotate

View File

@ -1,20 +1,26 @@
### Test Block Detected ## Raycast
# Set block data
execute as @s run loot spawn ~ -65 ~ mine ~ ~ ~ minecraft:netherite_pickaxe[minecraft:enchantments={"minecraft:silk_touch":1}]
execute as @s run data modify storage lz:wrench block set from entity @n[type=minecraft:item,distance=..0.5,y=-65] Item.id
execute as @s run execute as @s run kill @n[type=minecraft:item,distance=..0.5,y=-65]
# Partial Blocks # Partial Blocks
execute if block ~ ~ ~ #wrench:partialbox run function wrench:raycast/partialbox execute if block ~ ~ ~ #wrench:partialbox run function wrench:raycast/partialbox
execute if block ~ ~ ~ #wrench:banners run function wrench:raycast/partialbox
# Remaining Blocks # Remaining Blocks
execute unless block ~ ~ ~ #wrench:partialbox unless score WrenchRedstone WrenchConfig matches 0 if block ~ ~ ~ #wrench:redstone run function wrench:rotate/redstone execute unless block ~ ~ ~ #wrench:partialbox if block ~ ~ ~ #wrench:neswud run function wrench:rotate/neswud/rotate
execute unless block ~ ~ ~ #wrench:partialbox unless score WrenchPillars WrenchConfig matches 0 if block ~ ~ ~ #wrench:pillars run function wrench:rotate/pillars execute unless block ~ ~ ~ #wrench:partialbox if block ~ ~ ~ #wrench:nesw run function wrench:rotate/nesw/rotate
execute unless block ~ ~ ~ #wrench:partialbox unless score WrenchTerracotta WrenchConfig matches 0 if block ~ ~ ~ #wrench:glazed_terracotta run function wrench:rotate/glazed_terracotta execute unless block ~ ~ ~ #wrench:partialbox if block ~ ~ ~ #wrench:xyz run function wrench:rotate/xyz/rotate
execute unless block ~ ~ ~ #wrench:partialbox if block ~ ~ ~ #wrench:glazed_terracotta run function wrench:rotate/glazed_terracotta/rotate
execute unless block ~ ~ ~ #wrench:partialbox if block ~ ~ ~ #wrench:unique run function wrench:raycast/unique
execute as @s[scores={WrenchSuccess=1..}] if block ~ ~ ~ #wrench:updates run clone ~-1 ~ ~ ~1 ~ ~ ~-1 ~ ~ replace force # Force Update on block
execute as @s[scores={WrenchSuccess=1..}] if block ~ ~ ~ #wrench:updates run clone ~ ~ ~-1 ~ ~ ~1 ~ ~ ~-1 replace force execute as @s[scores={lz_wrench_success=1..}] if block ~ ~ ~ #wrench:updates run clone ~-1 ~ ~ ~1 ~ ~ ~-1 ~ ~ replace force
execute as @s[scores={WrenchSuccess=1..}] run playsound minecraft:entity.item_frame.rotate_item block @s ~ ~ ~ execute as @s[scores={lz_wrench_success=1..}] if block ~ ~ ~ #wrench:updates run clone ~ ~ ~-1 ~ ~ ~1 ~ ~ ~-1 replace force
execute as @s[scores={lz_wrench_success=1..}] run playsound minecraft:entity.item_frame.rotate_item block @s ~ ~ ~
# Raycast Debug
execute if score WrenchDebug WrenchConfig matches 1 run summon area_effect_cloud ~ ~ ~ {Particle:happy_villager,Radius:0.01,Duration:2}
# Advance forward and if nothing found # Advance forward and if nothing found
scoreboard players add #distance WrenchRaycast 1 scoreboard players add #distance lz_wrench_raycast 1
execute if score @s WrenchSuccess matches 0 if score #distance WrenchRaycast matches ..350 positioned ^ ^ ^0.01 run function wrench:raycast/rayloop execute if score @s lz_wrench_success matches 0 if score #distance lz_wrench_raycast matches ..350 positioned ^ ^ ^0.01 run function wrench:raycast/rayloop

View File

@ -1,13 +1,10 @@
#Setting up the raycasting data. #Setting up the raycasting data.
scoreboard players set #distance lz_wrench_raycast 0
tag @s add raycast tag @s add lz_wrench_raycast
scoreboard players set #distance WrenchRaycast 0
#Activating the raycast. This function will call itself until it is done. #Activating the raycast. This function will call itself until it is done.
execute as @e[tag=lz_wrench_raycast] at @s anchored eyes positioned ^ ^ ^ run function wrench:raycast/rayloop
execute as @e[tag=raycast] at @s anchored eyes positioned ^ ^ ^ run function wrench:raycast/rayloop
tag @e[tag=raycast] add WrenchResult
tag @e[tag=raycast] add RaycastResult
#Raycasting finished, removing tag from the raycaster. #Raycasting finished, removing tag from the raycaster.
tag @s remove raycast tag @s remove lz_wrench_raycast
data remove storage lz:wrench block

View File

@ -0,0 +1,22 @@
## Get Raycast Target Coords
# Stored Value for Calc
scoreboard players set c16 lz_wrench_raycast 16
# Summon Invisible Entity
summon area_effect_cloud ~ ~ ~ {Radius:0.01,Duration:1,Tags:["RaycastMark"]}
# Pixel Calculations
execute store result score px lz_wrench_raycast run data get entity @e[tag=RaycastMark,sort=nearest,limit=1] Pos[0] 16
scoreboard players operation px lz_wrench_raycast %= c16 lz_wrench_raycast
execute if score px lz_wrench_raycast matches ..-1 run scoreboard players add px lz_wrench_raycast 16
execute store result score py lz_wrench_raycast run data get entity @e[tag=RaycastMark,sort=nearest,limit=1] Pos[1] 16
scoreboard players operation py lz_wrench_raycast %= c16 lz_wrench_raycast
execute if score py lz_wrench_raycast matches ..-1 run scoreboard players add py lz_wrench_raycast 16
execute store result score pz lz_wrench_raycast run data get entity @e[tag=RaycastMark,sort=nearest,limit=1] Pos[2] 16
scoreboard players operation pz lz_wrench_raycast %= c16 lz_wrench_raycast
execute if score pz lz_wrench_raycast matches ..-1 run scoreboard players add pz lz_wrench_raycast 16
# Remove Entity
kill @e[tag=RaycastMark,sort=nearest,limit=1]

View File

@ -0,0 +1,3 @@
## Unique Items
execute if block ~ ~ ~ minecraft:crafter run function wrench:rotate/unique_blocks/crafter/rotate

View File

@ -1,10 +0,0 @@
#Reset scores
scoreboard players set @s WrenchSuccess 0
scoreboard players set @s WrenchRaycast 0
#Raycast from player's position
function wrench:raycast/start
#Reset input
tag @s remove WrenchResult
scoreboard players set @s WrenchInput 0

View File

@ -0,0 +1,13 @@
## Face Click Banners
# Get Raycast Target Coords
function wrench:raycast/target_coords
# Signs and Banners don't have full hitboxes, nothing else uses numeric rotation
$execute as @s[scores={lz_wrench_success=0}] if score pz lz_wrench_raycast matches 4 store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block) run setblock ~ ~ ~ $(block)[rotation=8] replace
$execute as @s[scores={lz_wrench_success=0}] if score px lz_wrench_raycast matches 11 store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block) run setblock ~ ~ ~ $(block)[rotation=12] replace
$execute as @s[scores={lz_wrench_success=0}] if score pz lz_wrench_raycast matches 11 store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block) run setblock ~ ~ ~ $(block)[rotation=0] replace
$execute as @s[scores={lz_wrench_success=0}] if score px lz_wrench_raycast matches 4 store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block) run setblock ~ ~ ~ $(block)[rotation=4] replace
# Otherwise, Flip
execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run function wrench:rotate/banners/flip with storage lz:wrench

View File

@ -0,0 +1,18 @@
## Cycle Banners
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[rotation=0] run setblock ~ ~ ~ $(block)[rotation=1] replace
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[rotation=1] run setblock ~ ~ ~ $(block)[rotation=2] replace
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[rotation=2] run setblock ~ ~ ~ $(block)[rotation=3] replace
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[rotation=3] run setblock ~ ~ ~ $(block)[rotation=4] replace
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[rotation=4] run setblock ~ ~ ~ $(block)[rotation=5] replace
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[rotation=5] run setblock ~ ~ ~ $(block)[rotation=6] replace
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[rotation=6] run setblock ~ ~ ~ $(block)[rotation=7] replace
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[rotation=7] run setblock ~ ~ ~ $(block)[rotation=8] replace
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[rotation=8] run setblock ~ ~ ~ $(block)[rotation=9] replace
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[rotation=9] run setblock ~ ~ ~ $(block)[rotation=10] replace
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[rotation=10] run setblock ~ ~ ~ $(block)[rotation=11] replace
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[rotation=11] run setblock ~ ~ ~ $(block)[rotation=12] replace
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[rotation=12] run setblock ~ ~ ~ $(block)[rotation=13] replace
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[rotation=13] run setblock ~ ~ ~ $(block)[rotation=14] replace
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[rotation=14] run setblock ~ ~ ~ $(block)[rotation=15] replace
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[rotation=15] run setblock ~ ~ ~ $(block)[rotation=0] replace

View File

@ -0,0 +1,18 @@
## Flip Banners
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[rotation=0] run setblock ~ ~ ~ $(block)[rotation=8] replace
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[rotation=1] run setblock ~ ~ ~ $(block)[rotation=9] replace
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[rotation=2] run setblock ~ ~ ~ $(block)[rotation=10] replace
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[rotation=3] run setblock ~ ~ ~ $(block)[rotation=11] replace
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[rotation=4] run setblock ~ ~ ~ $(block)[rotation=12] replace
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[rotation=5] run setblock ~ ~ ~ $(block)[rotation=13] replace
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[rotation=6] run setblock ~ ~ ~ $(block)[rotation=14] replace
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[rotation=7] run setblock ~ ~ ~ $(block)[rotation=15] replace
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[rotation=8] run setblock ~ ~ ~ $(block)[rotation=0] replace
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[rotation=9] run setblock ~ ~ ~ $(block)[rotation=1] replace
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[rotation=10] run setblock ~ ~ ~ $(block)[rotation=2] replace
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[rotation=11] run setblock ~ ~ ~ $(block)[rotation=3] replace
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[rotation=12] run setblock ~ ~ ~ $(block)[rotation=4] replace
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[rotation=13] run setblock ~ ~ ~ $(block)[rotation=5] replace
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[rotation=14] run setblock ~ ~ ~ $(block)[rotation=6] replace
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[rotation=15] run setblock ~ ~ ~ $(block)[rotation=7] replace

View File

@ -0,0 +1,21 @@
## Face Player Banners
$execute as @s[scores={lz_wrench_success=0}, y_rotation=-11.25..11.25] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block) run setblock ~ ~ ~ $(block)[rotation=8] replace
$execute as @s[scores={lz_wrench_success=0}, y_rotation=11.25..33.75] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block) run setblock ~ ~ ~ $(block)[rotation=9] replace
$execute as @s[scores={lz_wrench_success=0}, y_rotation=33.75..56.25] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block) run setblock ~ ~ ~ $(block)[rotation=10] replace
$execute as @s[scores={lz_wrench_success=0}, y_rotation=56.25..78.75] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block) run setblock ~ ~ ~ $(block)[rotation=11] replace
$execute as @s[scores={lz_wrench_success=0}, y_rotation=78.75..101.25] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block) run setblock ~ ~ ~ $(block)[rotation=12] replace
$execute as @s[scores={lz_wrench_success=0}, y_rotation=101.25..123.75] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block) run setblock ~ ~ ~ $(block)[rotation=13] replace
$execute as @s[scores={lz_wrench_success=0}, y_rotation=123.75..146.25] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block) run setblock ~ ~ ~ $(block)[rotation=14] replace
$execute as @s[scores={lz_wrench_success=0}, y_rotation=146.25..168.75] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block) run setblock ~ ~ ~ $(block)[rotation=15] replace
$execute as @s[scores={lz_wrench_success=0}, y_rotation=168.75..-168.75] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block) run setblock ~ ~ ~ $(block)[rotation=0] replace
$execute as @s[scores={lz_wrench_success=0}, y_rotation=-168.75..-146.25] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block) run setblock ~ ~ ~ $(block)[rotation=1] replace
$execute as @s[scores={lz_wrench_success=0}, y_rotation=-146.25..-123.75] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block) run setblock ~ ~ ~ $(block)[rotation=2] replace
$execute as @s[scores={lz_wrench_success=0}, y_rotation=-123.75..-101.25] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block) run setblock ~ ~ ~ $(block)[rotation=3] replace
$execute as @s[scores={lz_wrench_success=0}, y_rotation=-101.25..-78.75] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block) run setblock ~ ~ ~ $(block)[rotation=4] replace
$execute as @s[scores={lz_wrench_success=0}, y_rotation=-78.75..-56.25] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block) run setblock ~ ~ ~ $(block)[rotation=5] replace
$execute as @s[scores={lz_wrench_success=0}, y_rotation=-56.25..-33.75] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block) run setblock ~ ~ ~ $(block)[rotation=6] replace
$execute as @s[scores={lz_wrench_success=0}, y_rotation=-33.75..-11.25] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block) run setblock ~ ~ ~ $(block)[rotation=7] replace
# Otherwise, Flip
execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run function wrench:rotate/banners/flip with storage lz:wrench

View File

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

View File

@ -1,5 +0,0 @@
### Flip Chain
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:chain[axis=z] replace minecraft:chain[axis=y]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:chain[axis=y] replace minecraft:chain[axis=x]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:chain[axis=x] replace minecraft:chain[axis=z]

View File

@ -1,8 +0,0 @@
### Flip End Rod
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:end_rod[facing=east] replace minecraft:end_rod[facing=west]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:end_rod[facing=up] replace minecraft:end_rod[facing=down]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:end_rod[facing=north] replace minecraft:end_rod[facing=south]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:end_rod[facing=west] replace minecraft:end_rod[facing=east]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:end_rod[facing=down] replace minecraft:end_rod[facing=up]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:end_rod[facing=south] replace minecraft:end_rod[facing=north]

View File

@ -1,3 +0,0 @@
### Glazed Terracotta
execute as @s[nbt={SelectedItem:{components:{"minecraft:lore":["Terracotta"]}}}] run function wrench:rotate/glazed_terracotta_mode
execute as @s[scores={WrenchSuccess=0}] run function wrench:rotate/glazed_terracotta_cycle

View File

@ -0,0 +1,6 @@
## Cycle Glazed Terracotta
$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=east] 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=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=west] run setblock ~ ~ ~ $(block)[facing=north] replace

View File

@ -0,0 +1,19 @@
## Mode Glazed Terracotta
# Terracotta Mode Rotation
execute as @s[nbt={SelectedItem:{components:{"minecraft:lore":["North"]}}}] run tag @s add TerracottaNORTH
execute as @s[nbt={SelectedItem:{components:{"minecraft:lore":["East"]}}}] run tag @s add TerracottaEAST
execute as @s[nbt={SelectedItem:{components:{"minecraft:lore":["South"]}}}] run tag @s add TerracottaSOUTH
execute as @s[nbt={SelectedItem:{components:{"minecraft:lore":["West"]}}}] run tag @s add TerracottaWEST
$execute as @s[scores={lz_wrench_success=0}, tag=TerracottaNORTH] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block) run setblock ~ ~ ~ $(block)[facing=north] replace
$execute as @s[scores={lz_wrench_success=0}, tag=TerracottaEAST] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block) run setblock ~ ~ ~ $(block)[facing=east] replace
$execute as @s[scores={lz_wrench_success=0}, tag=TerracottaSOUTH] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block) run setblock ~ ~ ~ $(block)[facing=south] replace
$execute as @s[scores={lz_wrench_success=0}, tag=TerracottaWEST] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block) run setblock ~ ~ ~ $(block)[facing=west] replace
# Advance Terracotta Mode Rotation
function wrench:wrench/terracotta
tag @s[tag=TerracottaNORTH] remove TerracottaNORTH
tag @s[tag=TerracottaEAST] remove TerracottaEAST
tag @s[tag=TerracottaSOUTH] remove TerracottaSOUTH
tag @s[tag=TerracottaWEST] remove TerracottaWEST

View File

@ -0,0 +1,4 @@
## Glazed Terracotta
execute as @s[nbt={SelectedItem:{components:{"minecraft:lore":["Terracotta"]}}}] run function wrench:rotate/glazed_terracotta/mode with storage lz:wrench
execute as @s[scores={lz_wrench_success=0}] run function wrench:rotate/glazed_terracotta/cycle with storage lz:wrench

View File

@ -1,101 +0,0 @@
### Rotate glazed terracotta
## Shades
# White
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:white_glazed_terracotta[facing=east] replace minecraft:white_glazed_terracotta[facing=north]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:white_glazed_terracotta[facing=north] replace minecraft:white_glazed_terracotta[facing=west]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:white_glazed_terracotta[facing=west] replace minecraft:white_glazed_terracotta[facing=south]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:white_glazed_terracotta[facing=south] replace minecraft:white_glazed_terracotta[facing=east]
# Light Gray
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:light_gray_glazed_terracotta[facing=east] replace minecraft:light_gray_glazed_terracotta[facing=north]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:light_gray_glazed_terracotta[facing=north] replace minecraft:light_gray_glazed_terracotta[facing=west]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:light_gray_glazed_terracotta[facing=west] replace minecraft:light_gray_glazed_terracotta[facing=south]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:light_gray_glazed_terracotta[facing=south] replace minecraft:light_gray_glazed_terracotta[facing=east]
# Gray
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:gray_glazed_terracotta[facing=east] replace minecraft:gray_glazed_terracotta[facing=north]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:gray_glazed_terracotta[facing=north] replace minecraft:gray_glazed_terracotta[facing=west]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:gray_glazed_terracotta[facing=west] replace minecraft:gray_glazed_terracotta[facing=south]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:gray_glazed_terracotta[facing=south] replace minecraft:gray_glazed_terracotta[facing=east]
# Black
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:black_glazed_terracotta[facing=east] replace minecraft:black_glazed_terracotta[facing=north]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:black_glazed_terracotta[facing=north] replace minecraft:black_glazed_terracotta[facing=west]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:black_glazed_terracotta[facing=west] replace minecraft:black_glazed_terracotta[facing=south]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:black_glazed_terracotta[facing=south] replace minecraft:black_glazed_terracotta[facing=east]
## Colours
# Brown
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:brown_glazed_terracotta[facing=east] replace minecraft:brown_glazed_terracotta[facing=north]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:brown_glazed_terracotta[facing=north] replace minecraft:brown_glazed_terracotta[facing=west]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:brown_glazed_terracotta[facing=west] replace minecraft:brown_glazed_terracotta[facing=south]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:brown_glazed_terracotta[facing=south] replace minecraft:brown_glazed_terracotta[facing=east]
# Red
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:red_glazed_terracotta[facing=east] replace minecraft:red_glazed_terracotta[facing=north]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:red_glazed_terracotta[facing=north] replace minecraft:red_glazed_terracotta[facing=west]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:red_glazed_terracotta[facing=west] replace minecraft:red_glazed_terracotta[facing=south]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:red_glazed_terracotta[facing=south] replace minecraft:red_glazed_terracotta[facing=east]
# Orange
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:orange_glazed_terracotta[facing=east] replace minecraft:orange_glazed_terracotta[facing=north]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:orange_glazed_terracotta[facing=north] replace minecraft:orange_glazed_terracotta[facing=west]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:orange_glazed_terracotta[facing=west] replace minecraft:orange_glazed_terracotta[facing=south]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:orange_glazed_terracotta[facing=south] replace minecraft:orange_glazed_terracotta[facing=east]
# Yellow
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:yellow_glazed_terracotta[facing=east] replace minecraft:yellow_glazed_terracotta[facing=north]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:yellow_glazed_terracotta[facing=north] replace minecraft:yellow_glazed_terracotta[facing=west]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:yellow_glazed_terracotta[facing=west] replace minecraft:yellow_glazed_terracotta[facing=south]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:yellow_glazed_terracotta[facing=south] replace minecraft:yellow_glazed_terracotta[facing=east]
# Lime
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:lime_glazed_terracotta[facing=east] replace minecraft:lime_glazed_terracotta[facing=north]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:lime_glazed_terracotta[facing=north] replace minecraft:lime_glazed_terracotta[facing=west]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:lime_glazed_terracotta[facing=west] replace minecraft:lime_glazed_terracotta[facing=south]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:lime_glazed_terracotta[facing=south] replace minecraft:lime_glazed_terracotta[facing=east]
# Green
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:green_glazed_terracotta[facing=east] replace minecraft:green_glazed_terracotta[facing=north]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:green_glazed_terracotta[facing=north] replace minecraft:green_glazed_terracotta[facing=west]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:green_glazed_terracotta[facing=west] replace minecraft:green_glazed_terracotta[facing=south]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:green_glazed_terracotta[facing=south] replace minecraft:green_glazed_terracotta[facing=east]
# Cyan
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:cyan_glazed_terracotta[facing=east] replace minecraft:cyan_glazed_terracotta[facing=north]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:cyan_glazed_terracotta[facing=north] replace minecraft:cyan_glazed_terracotta[facing=west]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:cyan_glazed_terracotta[facing=west] replace minecraft:cyan_glazed_terracotta[facing=south]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:cyan_glazed_terracotta[facing=south] replace minecraft:cyan_glazed_terracotta[facing=east]
# Light Blue
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:light_blue_glazed_terracotta[facing=east] replace minecraft:light_blue_glazed_terracotta[facing=north]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:light_blue_glazed_terracotta[facing=north] replace minecraft:light_blue_glazed_terracotta[facing=west]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:light_blue_glazed_terracotta[facing=west] replace minecraft:light_blue_glazed_terracotta[facing=south]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:light_blue_glazed_terracotta[facing=south] replace minecraft:light_blue_glazed_terracotta[facing=east]
# Blue
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:blue_glazed_terracotta[facing=east] replace minecraft:blue_glazed_terracotta[facing=north]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:blue_glazed_terracotta[facing=north] replace minecraft:blue_glazed_terracotta[facing=west]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:blue_glazed_terracotta[facing=west] replace minecraft:blue_glazed_terracotta[facing=south]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:blue_glazed_terracotta[facing=south] replace minecraft:blue_glazed_terracotta[facing=east]
# Purple
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:purple_glazed_terracotta[facing=east] replace minecraft:purple_glazed_terracotta[facing=north]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:purple_glazed_terracotta[facing=north] replace minecraft:purple_glazed_terracotta[facing=west]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:purple_glazed_terracotta[facing=west] replace minecraft:purple_glazed_terracotta[facing=south]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:purple_glazed_terracotta[facing=south] replace minecraft:purple_glazed_terracotta[facing=east]
# Magenta
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:magenta_glazed_terracotta[facing=east] replace minecraft:magenta_glazed_terracotta[facing=north]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:magenta_glazed_terracotta[facing=north] replace minecraft:magenta_glazed_terracotta[facing=west]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:magenta_glazed_terracotta[facing=west] replace minecraft:magenta_glazed_terracotta[facing=south]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:magenta_glazed_terracotta[facing=south] replace minecraft:magenta_glazed_terracotta[facing=east]
# Pink
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:pink_glazed_terracotta[facing=east] replace minecraft:pink_glazed_terracotta[facing=north]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:pink_glazed_terracotta[facing=north] replace minecraft:pink_glazed_terracotta[facing=west]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:pink_glazed_terracotta[facing=west] replace minecraft:pink_glazed_terracotta[facing=south]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:pink_glazed_terracotta[facing=south] replace minecraft:pink_glazed_terracotta[facing=east]

View File

@ -1,119 +0,0 @@
### Rotate Glazed Terracotta
# Terracotta Mode Rotation
execute as @s[nbt={SelectedItem:{components:{"minecraft:lore":["North"]}}}] run tag @s add TerracottaNORTH
execute as @s[nbt={SelectedItem:{components:{"minecraft:lore":["East"]}}}] run tag @s add TerracottaEAST
execute as @s[nbt={SelectedItem:{components:{"minecraft:lore":["South"]}}}] run tag @s add TerracottaSOUTH
execute as @s[nbt={SelectedItem:{components:{"minecraft:lore":["West"]}}}] run tag @s add TerracottaWEST
## Shades
# White
execute as @s[scores={WrenchSuccess=0}, tag=TerracottaEAST] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:white_glazed_terracotta[facing=east] replace minecraft:white_glazed_terracotta
execute as @s[scores={WrenchSuccess=0}, tag=TerracottaNORTH] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:white_glazed_terracotta[facing=north] replace minecraft:white_glazed_terracotta
execute as @s[scores={WrenchSuccess=0}, tag=TerracottaWEST] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:white_glazed_terracotta[facing=west] replace minecraft:white_glazed_terracotta
execute as @s[scores={WrenchSuccess=0}, tag=TerracottaSOUTH] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:white_glazed_terracotta[facing=south] replace minecraft:white_glazed_terracotta
# Light Gray
execute as @s[scores={WrenchSuccess=0}, tag=TerracottaEAST] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:light_gray_glazed_terracotta[facing=east] replace minecraft:light_gray_glazed_terracotta
execute as @s[scores={WrenchSuccess=0}, tag=TerracottaNORTH] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:light_gray_glazed_terracotta[facing=north] replace minecraft:light_gray_glazed_terracotta
execute as @s[scores={WrenchSuccess=0}, tag=TerracottaWEST] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:light_gray_glazed_terracotta[facing=west] replace minecraft:light_gray_glazed_terracotta
execute as @s[scores={WrenchSuccess=0}, tag=TerracottaSOUTH] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:light_gray_glazed_terracotta[facing=south] replace minecraft:light_gray_glazed_terracotta
# Gray
execute as @s[scores={WrenchSuccess=0}, tag=TerracottaEAST] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:gray_glazed_terracotta[facing=east] replace minecraft:gray_glazed_terracotta
execute as @s[scores={WrenchSuccess=0}, tag=TerracottaNORTH] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:gray_glazed_terracotta[facing=north] replace minecraft:gray_glazed_terracotta
execute as @s[scores={WrenchSuccess=0}, tag=TerracottaWEST] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:gray_glazed_terracotta[facing=west] replace minecraft:gray_glazed_terracotta
execute as @s[scores={WrenchSuccess=0}, tag=TerracottaSOUTH] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:gray_glazed_terracotta[facing=south] replace minecraft:gray_glazed_terracotta
# Black
execute as @s[scores={WrenchSuccess=0}, tag=TerracottaEAST] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:black_glazed_terracotta[facing=east] replace minecraft:black_glazed_terracotta
execute as @s[scores={WrenchSuccess=0}, tag=TerracottaNORTH] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:black_glazed_terracotta[facing=north] replace minecraft:black_glazed_terracotta
execute as @s[scores={WrenchSuccess=0}, tag=TerracottaWEST] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:black_glazed_terracotta[facing=west] replace minecraft:black_glazed_terracotta
execute as @s[scores={WrenchSuccess=0}, tag=TerracottaSOUTH] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:black_glazed_terracotta[facing=south] replace minecraft:black_glazed_terracotta
## Colours
# Brown
execute as @s[scores={WrenchSuccess=0}, tag=TerracottaEAST] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:brown_glazed_terracotta[facing=east] replace minecraft:brown_glazed_terracotta
execute as @s[scores={WrenchSuccess=0}, tag=TerracottaNORTH] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:brown_glazed_terracotta[facing=north] replace minecraft:brown_glazed_terracotta
execute as @s[scores={WrenchSuccess=0}, tag=TerracottaWEST] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:brown_glazed_terracotta[facing=west] replace minecraft:brown_glazed_terracotta
execute as @s[scores={WrenchSuccess=0}, tag=TerracottaSOUTH] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:brown_glazed_terracotta[facing=south] replace minecraft:brown_glazed_terracotta
# Red
execute as @s[scores={WrenchSuccess=0}, tag=TerracottaEAST] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:red_glazed_terracotta[facing=east] replace minecraft:red_glazed_terracotta
execute as @s[scores={WrenchSuccess=0}, tag=TerracottaNORTH] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:red_glazed_terracotta[facing=north] replace minecraft:red_glazed_terracotta
execute as @s[scores={WrenchSuccess=0}, tag=TerracottaWEST] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:red_glazed_terracotta[facing=west] replace minecraft:red_glazed_terracotta
execute as @s[scores={WrenchSuccess=0}, tag=TerracottaSOUTH] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:red_glazed_terracotta[facing=south] replace minecraft:red_glazed_terracotta
# Orange
execute as @s[scores={WrenchSuccess=0}, tag=TerracottaEAST] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:orange_glazed_terracotta[facing=east] replace minecraft:orange_glazed_terracotta
execute as @s[scores={WrenchSuccess=0}, tag=TerracottaNORTH] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:orange_glazed_terracotta[facing=north] replace minecraft:orange_glazed_terracotta
execute as @s[scores={WrenchSuccess=0}, tag=TerracottaWEST] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:orange_glazed_terracotta[facing=west] replace minecraft:orange_glazed_terracotta
execute as @s[scores={WrenchSuccess=0}, tag=TerracottaSOUTH] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:orange_glazed_terracotta[facing=south] replace minecraft:orange_glazed_terracotta
# Yellow
execute as @s[scores={WrenchSuccess=0}, tag=TerracottaEAST] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:yellow_glazed_terracotta[facing=east] replace minecraft:yellow_glazed_terracotta
execute as @s[scores={WrenchSuccess=0}, tag=TerracottaNORTH] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:yellow_glazed_terracotta[facing=north] replace minecraft:yellow_glazed_terracotta
execute as @s[scores={WrenchSuccess=0}, tag=TerracottaWEST] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:yellow_glazed_terracotta[facing=west] replace minecraft:yellow_glazed_terracotta
execute as @s[scores={WrenchSuccess=0}, tag=TerracottaSOUTH] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:yellow_glazed_terracotta[facing=south] replace minecraft:yellow_glazed_terracotta
# Lime
execute as @s[scores={WrenchSuccess=0}, tag=TerracottaEAST] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:lime_glazed_terracotta[facing=east] replace minecraft:lime_glazed_terracotta
execute as @s[scores={WrenchSuccess=0}, tag=TerracottaNORTH] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:lime_glazed_terracotta[facing=north] replace minecraft:lime_glazed_terracotta
execute as @s[scores={WrenchSuccess=0}, tag=TerracottaWEST] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:lime_glazed_terracotta[facing=west] replace minecraft:lime_glazed_terracotta
execute as @s[scores={WrenchSuccess=0}, tag=TerracottaSOUTH] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:lime_glazed_terracotta[facing=south] replace minecraft:lime_glazed_terracotta
# Green
execute as @s[scores={WrenchSuccess=0}, tag=TerracottaEAST] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:green_glazed_terracotta[facing=east] replace minecraft:green_glazed_terracotta
execute as @s[scores={WrenchSuccess=0}, tag=TerracottaNORTH] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:green_glazed_terracotta[facing=north] replace minecraft:green_glazed_terracotta
execute as @s[scores={WrenchSuccess=0}, tag=TerracottaWEST] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:green_glazed_terracotta[facing=west] replace minecraft:green_glazed_terracotta
execute as @s[scores={WrenchSuccess=0}, tag=TerracottaSOUTH] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:green_glazed_terracotta[facing=south] replace minecraft:green_glazed_terracotta
# Cyan
execute as @s[scores={WrenchSuccess=0}, tag=TerracottaEAST] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:cyan_glazed_terracotta[facing=east] replace minecraft:cyan_glazed_terracotta
execute as @s[scores={WrenchSuccess=0}, tag=TerracottaNORTH] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:cyan_glazed_terracotta[facing=north] replace minecraft:cyan_glazed_terracotta
execute as @s[scores={WrenchSuccess=0}, tag=TerracottaWEST] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:cyan_glazed_terracotta[facing=west] replace minecraft:cyan_glazed_terracotta
execute as @s[scores={WrenchSuccess=0}, tag=TerracottaSOUTH] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:cyan_glazed_terracotta[facing=south] replace minecraft:cyan_glazed_terracotta
# Light Blue
execute as @s[scores={WrenchSuccess=0}, tag=TerracottaEAST] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:light_blue_glazed_terracotta[facing=east] replace minecraft:light_blue_glazed_terracotta
execute as @s[scores={WrenchSuccess=0}, tag=TerracottaNORTH] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:light_blue_glazed_terracotta[facing=north] replace minecraft:light_blue_glazed_terracotta
execute as @s[scores={WrenchSuccess=0}, tag=TerracottaWEST] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:light_blue_glazed_terracotta[facing=west] replace minecraft:light_blue_glazed_terracotta
execute as @s[scores={WrenchSuccess=0}, tag=TerracottaSOUTH] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:light_blue_glazed_terracotta[facing=south] replace minecraft:light_blue_glazed_terracotta
# Blue
execute as @s[scores={WrenchSuccess=0}, tag=TerracottaEAST] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:blue_glazed_terracotta[facing=east] replace minecraft:blue_glazed_terracotta
execute as @s[scores={WrenchSuccess=0}, tag=TerracottaNORTH] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:blue_glazed_terracotta[facing=north] replace minecraft:blue_glazed_terracotta
execute as @s[scores={WrenchSuccess=0}, tag=TerracottaWEST] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:blue_glazed_terracotta[facing=west] replace minecraft:blue_glazed_terracotta
execute as @s[scores={WrenchSuccess=0}, tag=TerracottaSOUTH] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:blue_glazed_terracotta[facing=south] replace minecraft:blue_glazed_terracotta
# Purple
execute as @s[scores={WrenchSuccess=0}, tag=TerracottaEAST] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:purple_glazed_terracotta[facing=east] replace minecraft:purple_glazed_terracotta
execute as @s[scores={WrenchSuccess=0}, tag=TerracottaNORTH] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:purple_glazed_terracotta[facing=north] replace minecraft:purple_glazed_terracotta
execute as @s[scores={WrenchSuccess=0}, tag=TerracottaWEST] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:purple_glazed_terracotta[facing=west] replace minecraft:purple_glazed_terracotta
execute as @s[scores={WrenchSuccess=0}, tag=TerracottaSOUTH] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:purple_glazed_terracotta[facing=south] replace minecraft:purple_glazed_terracotta
# Magenta
execute as @s[scores={WrenchSuccess=0}, tag=TerracottaEAST] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:magenta_glazed_terracotta[facing=east] replace minecraft:magenta_glazed_terracotta
execute as @s[scores={WrenchSuccess=0}, tag=TerracottaNORTH] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:magenta_glazed_terracotta[facing=north] replace minecraft:magenta_glazed_terracotta
execute as @s[scores={WrenchSuccess=0}, tag=TerracottaWEST] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:magenta_glazed_terracotta[facing=west] replace minecraft:magenta_glazed_terracotta
execute as @s[scores={WrenchSuccess=0}, tag=TerracottaSOUTH] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:magenta_glazed_terracotta[facing=south] replace minecraft:magenta_glazed_terracotta
# Pink
execute as @s[scores={WrenchSuccess=0}, tag=TerracottaEAST] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:pink_glazed_terracotta[facing=east] replace minecraft:pink_glazed_terracotta
execute as @s[scores={WrenchSuccess=0}, tag=TerracottaNORTH] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:pink_glazed_terracotta[facing=north] replace minecraft:pink_glazed_terracotta
execute as @s[scores={WrenchSuccess=0}, tag=TerracottaWEST] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:pink_glazed_terracotta[facing=west] replace minecraft:pink_glazed_terracotta
execute as @s[scores={WrenchSuccess=0}, tag=TerracottaSOUTH] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:pink_glazed_terracotta[facing=south] replace minecraft:pink_glazed_terracotta
## Non-processed
# Advance Terracotta Mode Rotation
function wrench:wrench/terracotta
tag @s[tag=TerracottaNORTH] remove TerracottaNORTH
tag @s[tag=TerracottaEAST] remove TerracottaEAST
tag @s[tag=TerracottaSOUTH] remove TerracottaSOUTH
tag @s[tag=TerracottaWEST] remove TerracottaWEST
# Failed
execute as @s[scores={WrenchSuccess=0}] run scoreboard players set @s WrenchSuccess -1

View File

@ -0,0 +1,12 @@
## Click NESW
# Get Raycast Target Coords
function wrench:raycast/target_coords
$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)[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) 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 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 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/nesw/flip with storage lz:wrench

View File

@ -0,0 +1,6 @@
## Cycle NESW
$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=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=east] 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=south] run setblock ~ ~ ~ $(block)[facing=west] replace

View File

@ -0,0 +1,6 @@
## Flip NESW
$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
$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=west] run setblock ~ ~ ~ $(block)[facing=east] replace

View File

@ -0,0 +1,9 @@
## Face Player NESW
$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)[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)[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)[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)[facing=west] replace
# Otherwise, Flip
execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run function wrench:rotate/nesw/flip with storage lz:wrench

View File

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

View File

@ -0,0 +1,14 @@
## Face Click NESWUD
# Get Raycast Target Coords
function wrench:raycast/target_coords
$execute as @s[scores={lz_wrench_success=0}] if score py lz_wrench_raycast matches 15 store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block) run setblock ~ ~ ~ $(block)[facing=up] replace
$execute as @s[scores={lz_wrench_success=0}] if score py lz_wrench_raycast matches 0 store result score @s lz_wrench_success 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 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 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 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 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/neswud/flip with storage lz:wrench

View File

@ -0,0 +1,8 @@
## Cycle NESWUD
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[facing=up] run setblock ~ ~ ~ $(block)[facing=down] 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=north] 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=east] 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=south] 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=west] run setblock ~ ~ ~ $(block)[facing=up] replace

View File

@ -0,0 +1,8 @@
## Flip NESWUD
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[facing=up] run setblock ~ ~ ~ $(block)[facing=down] 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=up] 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
$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=west] run setblock ~ ~ ~ $(block)[facing=east] replace

View File

@ -0,0 +1,11 @@
## Face Player NESWUD
$execute as @s[scores={lz_wrench_success=0}, x_rotation=45..90] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block) run setblock ~ ~ ~ $(block)[facing=up] replace
$execute as @s[scores={lz_wrench_success=0}, x_rotation=-90..-45] store result score @s lz_wrench_success 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 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 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 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 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/neswud/flip with storage lz:wrench

View File

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

View File

@ -1,6 +0,0 @@
### Pillars
# Rotate Based on Wrench Mode
execute as @s[scores={WrenchSuccess=0},nbt={SelectedItem:{components:{"minecraft:lore":["Face Player"]}}}] run function wrench:rotate/pillars_player
execute as @s[scores={WrenchSuccess=0},nbt={SelectedItem:{components:{"minecraft:lore":["Face Click"]}}}] run function wrench:rotate/pillars_click
execute as @s[scores={WrenchSuccess=0}] run function wrench:rotate/pillars_cycle

View File

@ -1,311 +0,0 @@
### Rotate logs and pillars
## Get Raycast Target Coords
# Stored Value for Calc
scoreboard players set c16 WrenchRaycast 16
# Summon Invisible Entity
summon area_effect_cloud ~ ~ ~ {Radius:0.01,Duration:1,Tags:["RaycastMark"]}
# Pixel Calculations
execute store result score px WrenchRaycast run data get entity @e[tag=RaycastMark,sort=nearest,limit=1] Pos[0] 16
scoreboard players operation px WrenchRaycast %= c16 WrenchRaycast
execute if score px WrenchRaycast matches ..-1 run scoreboard players add px WrenchRaycast 16
execute store result score py WrenchRaycast run data get entity @e[tag=RaycastMark,sort=nearest,limit=1] Pos[1] 16
scoreboard players operation py WrenchRaycast %= c16 WrenchRaycast
execute if score py WrenchRaycast matches ..-1 run scoreboard players add py WrenchRaycast 16
execute store result score pz WrenchRaycast run data get entity @e[tag=RaycastMark,sort=nearest,limit=1] Pos[2] 16
scoreboard players operation pz WrenchRaycast %= c16 WrenchRaycast
execute if score pz WrenchRaycast matches ..-1 run scoreboard players add pz WrenchRaycast 16
# Remove Entity
kill @e[tag=RaycastMark,sort=nearest,limit=1]
## Overworld Logs & Woods
# Acacia Log
execute as @s[scores={WrenchSuccess=0}] unless score pz WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:acacia_log[axis=z] replace minecraft:acacia_log
execute as @s[scores={WrenchSuccess=0}] unless score py WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:acacia_log[axis=y] replace minecraft:acacia_log
execute as @s[scores={WrenchSuccess=0}] unless score px WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:acacia_log[axis=x] replace minecraft:acacia_log
# Acacia Log (Stripped)
execute as @s[scores={WrenchSuccess=0}] unless score pz WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_acacia_log[axis=z] replace minecraft:stripped_acacia_log
execute as @s[scores={WrenchSuccess=0}] unless score py WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_acacia_log[axis=y] replace minecraft:stripped_acacia_log
execute as @s[scores={WrenchSuccess=0}] unless score px WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_acacia_log[axis=x] replace minecraft:stripped_acacia_log
# Acacia Wood
execute as @s[scores={WrenchSuccess=0}] unless score pz WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:acacia_wood[axis=z] replace minecraft:acacia_wood
execute as @s[scores={WrenchSuccess=0}] unless score py WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:acacia_wood[axis=y] replace minecraft:acacia_wood
execute as @s[scores={WrenchSuccess=0}] unless score px WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:acacia_wood[axis=x] replace minecraft:acacia_wood
# Acacia Wood (Stripped)
execute as @s[scores={WrenchSuccess=0}] unless score pz WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_acacia_wood[axis=z] replace minecraft:stripped_acacia_wood
execute as @s[scores={WrenchSuccess=0}] unless score py WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_acacia_wood[axis=y] replace minecraft:stripped_acacia_wood
execute as @s[scores={WrenchSuccess=0}] unless score px WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_acacia_wood[axis=x] replace minecraft:stripped_acacia_wood
# Birch Log
execute as @s[scores={WrenchSuccess=0}] unless score pz WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:birch_log[axis=z] replace minecraft:birch_log
execute as @s[scores={WrenchSuccess=0}] unless score py WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:birch_log[axis=y] replace minecraft:birch_log
execute as @s[scores={WrenchSuccess=0}] unless score px WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:birch_log[axis=x] replace minecraft:birch_log
# Birch Log (Stripped)
execute as @s[scores={WrenchSuccess=0}] unless score pz WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_birch_log[axis=z] replace minecraft:stripped_birch_log
execute as @s[scores={WrenchSuccess=0}] unless score py WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_birch_log[axis=y] replace minecraft:stripped_birch_log
execute as @s[scores={WrenchSuccess=0}] unless score px WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_birch_log[axis=x] replace minecraft:stripped_birch_log
# Birch Wood
execute as @s[scores={WrenchSuccess=0}] unless score pz WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:birch_wood[axis=z] replace minecraft:birch_wood
execute as @s[scores={WrenchSuccess=0}] unless score py WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:birch_wood[axis=y] replace minecraft:birch_wood
execute as @s[scores={WrenchSuccess=0}] unless score px WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:birch_wood[axis=x] replace minecraft:birch_wood
# Birch Wood (Stripped)
execute as @s[scores={WrenchSuccess=0}] unless score pz WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_birch_wood[axis=z] replace minecraft:stripped_birch_wood
execute as @s[scores={WrenchSuccess=0}] unless score py WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_birch_wood[axis=y] replace minecraft:stripped_birch_wood
execute as @s[scores={WrenchSuccess=0}] unless score px WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_birch_wood[axis=x] replace minecraft:stripped_birch_wood
# Cherry Log
execute as @s[scores={WrenchSuccess=0}] unless score pz WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:cherry_log[axis=z] replace minecraft:cherry_log
execute as @s[scores={WrenchSuccess=0}] unless score py WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:cherry_log[axis=y] replace minecraft:cherry_log
execute as @s[scores={WrenchSuccess=0}] unless score px WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:cherry_log[axis=x] replace minecraft:cherry_log
# Cherry Log (Stripped)
execute as @s[scores={WrenchSuccess=0}] unless score pz WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_cherry_log[axis=z] replace minecraft:stripped_cherry_log
execute as @s[scores={WrenchSuccess=0}] unless score py WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_cherry_log[axis=y] replace minecraft:stripped_cherry_log
execute as @s[scores={WrenchSuccess=0}] unless score px WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_cherry_log[axis=x] replace minecraft:stripped_cherry_log
# Cherry Wood
execute as @s[scores={WrenchSuccess=0}] unless score pz WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:cherry_wood[axis=z] replace minecraft:cherry_wood
execute as @s[scores={WrenchSuccess=0}] unless score py WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:cherry_wood[axis=y] replace minecraft:cherry_wood
execute as @s[scores={WrenchSuccess=0}] unless score px WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:cherry_wood[axis=x] replace minecraft:cherry_wood
# Cherry Wood (Stripped)
execute as @s[scores={WrenchSuccess=0}] unless score pz WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_cherry_wood[axis=z] replace minecraft:stripped_cherry_wood
execute as @s[scores={WrenchSuccess=0}] unless score py WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_cherry_wood[axis=y] replace minecraft:stripped_cherry_wood
execute as @s[scores={WrenchSuccess=0}] unless score px WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_cherry_wood[axis=x] replace minecraft:stripped_cherry_wood
# Dark Oak Log
execute as @s[scores={WrenchSuccess=0}] unless score pz WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:dark_oak_log[axis=z] replace minecraft:dark_oak_log
execute as @s[scores={WrenchSuccess=0}] unless score py WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:dark_oak_log[axis=y] replace minecraft:dark_oak_log
execute as @s[scores={WrenchSuccess=0}] unless score px WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:dark_oak_log[axis=x] replace minecraft:dark_oak_log
# Dark Oak Log (Stripped)
execute as @s[scores={WrenchSuccess=0}] unless score pz WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_dark_oak_log[axis=z] replace minecraft:stripped_dark_oak_log
execute as @s[scores={WrenchSuccess=0}] unless score py WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_dark_oak_log[axis=y] replace minecraft:stripped_dark_oak_log
execute as @s[scores={WrenchSuccess=0}] unless score px WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_dark_oak_log[axis=x] replace minecraft:stripped_dark_oak_log
# Dark Oak Wood
execute as @s[scores={WrenchSuccess=0}] unless score pz WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:dark_oak_wood[axis=z] replace minecraft:dark_oak_wood
execute as @s[scores={WrenchSuccess=0}] unless score py WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:dark_oak_wood[axis=y] replace minecraft:dark_oak_wood
execute as @s[scores={WrenchSuccess=0}] unless score px WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:dark_oak_wood[axis=x] replace minecraft:dark_oak_wood
# Dark Oak Wood (Stripped)
execute as @s[scores={WrenchSuccess=0}] unless score pz WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_dark_oak_wood[axis=z] replace minecraft:stripped_dark_oak_wood
execute as @s[scores={WrenchSuccess=0}] unless score py WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_dark_oak_wood[axis=y] replace minecraft:stripped_dark_oak_wood
execute as @s[scores={WrenchSuccess=0}] unless score px WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_dark_oak_wood[axis=x] replace minecraft:stripped_dark_oak_wood
# Jungle Log
execute as @s[scores={WrenchSuccess=0}] unless score pz WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:jungle_log[axis=z] replace minecraft:jungle_log
execute as @s[scores={WrenchSuccess=0}] unless score py WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:jungle_log[axis=y] replace minecraft:jungle_log
execute as @s[scores={WrenchSuccess=0}] unless score px WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:jungle_log[axis=x] replace minecraft:jungle_log
# Jungle Log (Stripped)
execute as @s[scores={WrenchSuccess=0}] unless score pz WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_jungle_log[axis=z] replace minecraft:stripped_jungle_log
execute as @s[scores={WrenchSuccess=0}] unless score py WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_jungle_log[axis=y] replace minecraft:stripped_jungle_log
execute as @s[scores={WrenchSuccess=0}] unless score px WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_jungle_log[axis=x] replace minecraft:stripped_jungle_log
# Jungle Wood
execute as @s[scores={WrenchSuccess=0}] unless score pz WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:jungle_wood[axis=z] replace minecraft:jungle_wood
execute as @s[scores={WrenchSuccess=0}] unless score py WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:jungle_wood[axis=y] replace minecraft:jungle_wood
execute as @s[scores={WrenchSuccess=0}] unless score px WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:jungle_wood[axis=x] replace minecraft:jungle_wood
# Jungle Wood (Stripped)
execute as @s[scores={WrenchSuccess=0}] unless score pz WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_jungle_wood[axis=z] replace minecraft:stripped_jungle_wood
execute as @s[scores={WrenchSuccess=0}] unless score py WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_jungle_wood[axis=y] replace minecraft:stripped_jungle_wood
execute as @s[scores={WrenchSuccess=0}] unless score px WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_jungle_wood[axis=x] replace minecraft:stripped_jungle_wood
# Mangrove Log
execute as @s[scores={WrenchSuccess=0}] unless score pz WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:mangrove_log[axis=z] replace minecraft:mangrove_log
execute as @s[scores={WrenchSuccess=0}] unless score py WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:mangrove_log[axis=y] replace minecraft:mangrove_log
execute as @s[scores={WrenchSuccess=0}] unless score px WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:mangrove_log[axis=x] replace minecraft:mangrove_log
# Mangrove Log (Stripped)
execute as @s[scores={WrenchSuccess=0}] unless score pz WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_mangrove_log[axis=z] replace minecraft:stripped_mangrove_log
execute as @s[scores={WrenchSuccess=0}] unless score py WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_mangrove_log[axis=y] replace minecraft:stripped_mangrove_log
execute as @s[scores={WrenchSuccess=0}] unless score px WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_mangrove_log[axis=x] replace minecraft:stripped_mangrove_log
# Mangrove Wood
execute as @s[scores={WrenchSuccess=0}] unless score pz WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:mangrove_wood[axis=z] replace minecraft:mangrove_wood
execute as @s[scores={WrenchSuccess=0}] unless score py WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:mangrove_wood[axis=y] replace minecraft:mangrove_wood
execute as @s[scores={WrenchSuccess=0}] unless score px WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:mangrove_wood[axis=x] replace minecraft:mangrove_wood
# Mangrove Wood (Stripped)
execute as @s[scores={WrenchSuccess=0}] unless score pz WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_mangrove_wood[axis=z] replace minecraft:stripped_mangrove_wood
execute as @s[scores={WrenchSuccess=0}] unless score py WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_mangrove_wood[axis=y] replace minecraft:stripped_mangrove_wood
execute as @s[scores={WrenchSuccess=0}] unless score px WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_mangrove_wood[axis=x] replace minecraft:stripped_mangrove_wood
# Mangrove Roots (Muddy)
execute as @s[scores={WrenchSuccess=0}] unless score pz WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:muddy_mangrove_roots[axis=z] replace minecraft:muddy_mangrove_roots
execute as @s[scores={WrenchSuccess=0}] unless score py WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:muddy_mangrove_roots[axis=y] replace minecraft:muddy_mangrove_roots
execute as @s[scores={WrenchSuccess=0}] unless score px WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:muddy_mangrove_roots[axis=x] replace minecraft:muddy_mangrove_roots
# Oak Log
execute as @s[scores={WrenchSuccess=0}] unless score pz WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:oak_log[axis=z] replace minecraft:oak_log
execute as @s[scores={WrenchSuccess=0}] unless score py WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:oak_log[axis=y] replace minecraft:oak_log
execute as @s[scores={WrenchSuccess=0}] unless score px WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:oak_log[axis=x] replace minecraft:oak_log
# Oak Log (Stripped)
execute as @s[scores={WrenchSuccess=0}] unless score pz WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_oak_log[axis=z] replace minecraft:stripped_oak_log
execute as @s[scores={WrenchSuccess=0}] unless score py WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_oak_log[axis=y] replace minecraft:stripped_oak_log
execute as @s[scores={WrenchSuccess=0}] unless score px WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_oak_log[axis=x] replace minecraft:stripped_oak_log
# Oak Wood
execute as @s[scores={WrenchSuccess=0}] unless score pz WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:oak_wood[axis=z] replace minecraft:oak_wood
execute as @s[scores={WrenchSuccess=0}] unless score py WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:oak_wood[axis=y] replace minecraft:oak_wood
execute as @s[scores={WrenchSuccess=0}] unless score px WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:oak_wood[axis=x] replace minecraft:oak_wood
# Oak Wood (Stripped)
execute as @s[scores={WrenchSuccess=0}] unless score pz WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_oak_wood[axis=z] replace minecraft:stripped_oak_wood
execute as @s[scores={WrenchSuccess=0}] unless score py WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_oak_wood[axis=y] replace minecraft:stripped_oak_wood
execute as @s[scores={WrenchSuccess=0}] unless score px WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_oak_wood[axis=x] replace minecraft:stripped_oak_wood
# Pale Oak Log
execute as @s[scores={WrenchSuccess=0}] unless score pz WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:pale_oak_log[axis=z] replace minecraft:pale_oak_log
execute as @s[scores={WrenchSuccess=0}] unless score py WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:pale_oak_log[axis=y] replace minecraft:pale_oak_log
execute as @s[scores={WrenchSuccess=0}] unless score px WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:pale_oak_log[axis=x] replace minecraft:pale_oak_log
# Pale Oak Log (Stripped)
execute as @s[scores={WrenchSuccess=0}] unless score pz WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_pale_oak_log[axis=z] replace minecraft:stripped_pale_oak_log
execute as @s[scores={WrenchSuccess=0}] unless score py WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_pale_oak_log[axis=y] replace minecraft:stripped_pale_oak_log
execute as @s[scores={WrenchSuccess=0}] unless score px WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_pale_oak_log[axis=x] replace minecraft:stripped_pale_oak_log
# Pale Oak Wood
execute as @s[scores={WrenchSuccess=0}] unless score pz WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:pale_oak_wood[axis=z] replace minecraft:pale_oak_wood
execute as @s[scores={WrenchSuccess=0}] unless score py WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:pale_oak_wood[axis=y] replace minecraft:pale_oak_wood
execute as @s[scores={WrenchSuccess=0}] unless score px WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:pale_oak_wood[axis=x] replace minecraft:pale_oak_wood
# Pale Oak Wood (Stripped)
execute as @s[scores={WrenchSuccess=0}] unless score pz WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_pale_oak_wood[axis=z] replace minecraft:stripped_pale_oak_wood
execute as @s[scores={WrenchSuccess=0}] unless score py WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_pale_oak_wood[axis=y] replace minecraft:stripped_pale_oak_wood
execute as @s[scores={WrenchSuccess=0}] unless score px WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_pale_oak_wood[axis=x] replace minecraft:stripped_pale_oak_wood
# Spruce Log
execute as @s[scores={WrenchSuccess=0}] unless score pz WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:spruce_log[axis=z] replace minecraft:spruce_log
execute as @s[scores={WrenchSuccess=0}] unless score py WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:spruce_log[axis=y] replace minecraft:spruce_log
execute as @s[scores={WrenchSuccess=0}] unless score px WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:spruce_log[axis=x] replace minecraft:spruce_log
# Spruce Log (Stripped)
execute as @s[scores={WrenchSuccess=0}] unless score pz WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_spruce_log[axis=z] replace minecraft:stripped_spruce_log
execute as @s[scores={WrenchSuccess=0}] unless score py WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_spruce_log[axis=y] replace minecraft:stripped_spruce_log
execute as @s[scores={WrenchSuccess=0}] unless score px WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_spruce_log[axis=x] replace minecraft:stripped_spruce_log
# Spruce Wood
execute as @s[scores={WrenchSuccess=0}] unless score pz WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:spruce_wood[axis=z] replace minecraft:spruce_wood
execute as @s[scores={WrenchSuccess=0}] unless score py WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:spruce_wood[axis=y] replace minecraft:spruce_wood
execute as @s[scores={WrenchSuccess=0}] unless score px WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:spruce_wood[axis=x] replace minecraft:spruce_wood
# Spruce Wood (Stripped)
execute as @s[scores={WrenchSuccess=0}] unless score pz WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_spruce_wood[axis=z] replace minecraft:stripped_spruce_wood
execute as @s[scores={WrenchSuccess=0}] unless score py WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_spruce_wood[axis=y] replace minecraft:stripped_spruce_wood
execute as @s[scores={WrenchSuccess=0}] unless score px WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_spruce_wood[axis=x] replace minecraft:stripped_spruce_wood
### Nether
# Basalt
execute as @s[scores={WrenchSuccess=0}] unless score pz WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:basalt[axis=z] replace minecraft:basalt
execute as @s[scores={WrenchSuccess=0}] unless score py WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:basalt[axis=y] replace minecraft:basalt
execute as @s[scores={WrenchSuccess=0}] unless score px WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:basalt[axis=x] replace minecraft:basalt
# Basalt (Polished)
execute as @s[scores={WrenchSuccess=0}] unless score pz WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:polished_basalt[axis=z] replace minecraft:polished_basalt
execute as @s[scores={WrenchSuccess=0}] unless score py WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:polished_basalt[axis=y] replace minecraft:polished_basalt
execute as @s[scores={WrenchSuccess=0}] unless score px WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:polished_basalt[axis=x] replace minecraft:polished_basalt
# Crimson Stem
execute as @s[scores={WrenchSuccess=0}] unless score pz WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:crimson_stem[axis=z] replace minecraft:crimson_stem
execute as @s[scores={WrenchSuccess=0}] unless score py WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:crimson_stem[axis=y] replace minecraft:crimson_stem
execute as @s[scores={WrenchSuccess=0}] unless score px WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:crimson_stem[axis=x] replace minecraft:crimson_stem
# Crimson Stem (Stripped)
execute as @s[scores={WrenchSuccess=0}] unless score pz WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_crimson_stem[axis=z] replace minecraft:stripped_crimson_stem
execute as @s[scores={WrenchSuccess=0}] unless score py WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_crimson_stem[axis=y] replace minecraft:stripped_crimson_stem
execute as @s[scores={WrenchSuccess=0}] unless score px WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_crimson_stem[axis=x] replace minecraft:stripped_crimson_stem
# Crimson Hyphae
execute as @s[scores={WrenchSuccess=0}] unless score pz WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:crimson_hyphae[axis=z] replace minecraft:crimson_hyphae
execute as @s[scores={WrenchSuccess=0}] unless score py WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:crimson_hyphae[axis=y] replace minecraft:crimson_hyphae
execute as @s[scores={WrenchSuccess=0}] unless score px WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:crimson_hyphae[axis=x] replace minecraft:crimson_hyphae
# Crimson Hyphae (Stripped)
execute as @s[scores={WrenchSuccess=0}] unless score pz WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_crimson_hyphae[axis=z] replace minecraft:stripped_crimson_hyphae
execute as @s[scores={WrenchSuccess=0}] unless score py WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_crimson_hyphae[axis=y] replace minecraft:stripped_crimson_hyphae
execute as @s[scores={WrenchSuccess=0}] unless score px WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_crimson_hyphae[axis=x] replace minecraft:stripped_crimson_hyphae
# Warped Stem
execute as @s[scores={WrenchSuccess=0}] unless score pz WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:warped_stem[axis=z] replace minecraft:warped_stem
execute as @s[scores={WrenchSuccess=0}] unless score py WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:warped_stem[axis=y] replace minecraft:warped_stem
execute as @s[scores={WrenchSuccess=0}] unless score px WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:warped_stem[axis=x] replace minecraft:warped_stem
# Warped Stem (Stripped)
execute as @s[scores={WrenchSuccess=0}] unless score pz WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_warped_stem[axis=z] replace minecraft:stripped_warped_stem
execute as @s[scores={WrenchSuccess=0}] unless score py WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_warped_stem[axis=y] replace minecraft:stripped_warped_stem
execute as @s[scores={WrenchSuccess=0}] unless score px WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_warped_stem[axis=x] replace minecraft:stripped_warped_stem
# Warped Hyphae
execute as @s[scores={WrenchSuccess=0}] unless score pz WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:warped_hyphae[axis=z] replace minecraft:warped_hyphae
execute as @s[scores={WrenchSuccess=0}] unless score py WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:warped_hyphae[axis=y] replace minecraft:warped_hyphae
execute as @s[scores={WrenchSuccess=0}] unless score px WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:warped_hyphae[axis=x] replace minecraft:warped_hyphae
# Warped Hyphae (Stripped)
execute as @s[scores={WrenchSuccess=0}] unless score pz WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_warped_hyphae[axis=z] replace minecraft:stripped_warped_hyphae
execute as @s[scores={WrenchSuccess=0}] unless score py WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_warped_hyphae[axis=y] replace minecraft:stripped_warped_hyphae
execute as @s[scores={WrenchSuccess=0}] unless score px WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_warped_hyphae[axis=x] replace minecraft:stripped_warped_hyphae
## Pillars & Blocks
# Quartz Pillar
execute as @s[scores={WrenchSuccess=0}] unless score pz WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:quartz_pillar[axis=z] replace minecraft:quartz_pillar
execute as @s[scores={WrenchSuccess=0}] unless score py WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:quartz_pillar[axis=y] replace minecraft:quartz_pillar
execute as @s[scores={WrenchSuccess=0}] unless score px WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:quartz_pillar[axis=x] replace minecraft:quartz_pillar
# Purpur Pillar
execute as @s[scores={WrenchSuccess=0}] unless score pz WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:purpur_pillar[axis=z] replace minecraft:purpur_pillar
execute as @s[scores={WrenchSuccess=0}] unless score py WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:purpur_pillar[axis=y] replace minecraft:purpur_pillar
execute as @s[scores={WrenchSuccess=0}] unless score px WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:purpur_pillar[axis=x] replace minecraft:purpur_pillar
# Hay Block
execute as @s[scores={WrenchSuccess=0}] unless score pz WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:hay_block[axis=z] replace minecraft:hay_block
execute as @s[scores={WrenchSuccess=0}] unless score py WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:hay_block[axis=y] replace minecraft:hay_block
execute as @s[scores={WrenchSuccess=0}] unless score px WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:hay_block[axis=x] replace minecraft:hay_block
# Bone Block
execute as @s[scores={WrenchSuccess=0}] unless score pz WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:bone_block[axis=z] replace minecraft:bone_block
execute as @s[scores={WrenchSuccess=0}] unless score py WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:bone_block[axis=y] replace minecraft:bone_block
execute as @s[scores={WrenchSuccess=0}] unless score px WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:bone_block[axis=x] replace minecraft:bone_block
# Deepslate
execute as @s[scores={WrenchSuccess=0}] unless score pz WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:deepslate[axis=z] replace minecraft:deepslate
execute as @s[scores={WrenchSuccess=0}] unless score py WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:deepslate[axis=y] replace minecraft:deepslate
execute as @s[scores={WrenchSuccess=0}] unless score px WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:deepslate[axis=x] replace minecraft:deepslate
# Ochre Froglight
execute as @s[scores={WrenchSuccess=0}] unless score pz WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:ochre_froglight[axis=z] replace minecraft:ochre_froglight
execute as @s[scores={WrenchSuccess=0}] unless score py WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:ochre_froglight[axis=y] replace minecraft:ochre_froglight
execute as @s[scores={WrenchSuccess=0}] unless score px WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:ochre_froglight[axis=x] replace minecraft:ochre_froglight
# Pearlescent Froglight
execute as @s[scores={WrenchSuccess=0}] unless score pz WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:pearlescent_froglight[axis=z] replace minecraft:pearlescent_froglight
execute as @s[scores={WrenchSuccess=0}] unless score py WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:pearlescent_froglight[axis=y] replace minecraft:pearlescent_froglight
execute as @s[scores={WrenchSuccess=0}] unless score px WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:pearlescent_froglight[axis=x] replace minecraft:pearlescent_froglight
# Verdant Froglight
execute as @s[scores={WrenchSuccess=0}] unless score pz WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:verdant_froglight[axis=z] replace minecraft:verdant_froglight
execute as @s[scores={WrenchSuccess=0}] unless score py WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:verdant_froglight[axis=y] replace minecraft:verdant_froglight
execute as @s[scores={WrenchSuccess=0}] unless score px WrenchRaycast matches 1..14 store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:verdant_froglight[axis=x] replace minecraft:verdant_froglight
## Non-processed
# Failed
execute as @s[scores={WrenchSuccess=0}] run scoreboard players set @s WrenchSuccess -1

View File

@ -1,282 +0,0 @@
### Rotate Logs and Pillars
## Overworld Logs & Woods
# Acacia Log
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:acacia_log[axis=z] replace minecraft:acacia_log[axis=y]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:acacia_log[axis=y] replace minecraft:acacia_log[axis=x]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:acacia_log[axis=x] replace minecraft:acacia_log[axis=z]
# Acacia Log (Stripped)
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_acacia_log[axis=z] replace minecraft:stripped_acacia_log[axis=y]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_acacia_log[axis=y] replace minecraft:stripped_acacia_log[axis=x]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_acacia_log[axis=x] replace minecraft:stripped_acacia_log[axis=z]
# Acacia Wood
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:acacia_wood[axis=z] replace minecraft:acacia_wood[axis=y]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:acacia_wood[axis=y] replace minecraft:acacia_wood[axis=x]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:acacia_wood[axis=x] replace minecraft:acacia_wood[axis=z]
# Acacia Wood (Stripped)
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_acacia_wood[axis=z] replace minecraft:stripped_acacia_wood[axis=y]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_acacia_wood[axis=y] replace minecraft:stripped_acacia_wood[axis=x]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_acacia_wood[axis=x] replace minecraft:stripped_acacia_wood[axis=z]
# Birch Log
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:birch_log[axis=z] replace minecraft:birch_log[axis=y]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:birch_log[axis=y] replace minecraft:birch_log[axis=x]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:birch_log[axis=x] replace minecraft:birch_log[axis=z]
# Birch Log (Stripped)
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_birch_log[axis=z] replace minecraft:stripped_birch_log[axis=y]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_birch_log[axis=y] replace minecraft:stripped_birch_log[axis=x]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_birch_log[axis=x] replace minecraft:stripped_birch_log[axis=z]
# Birch Wood
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:birch_wood[axis=z] replace minecraft:birch_wood[axis=y]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:birch_wood[axis=y] replace minecraft:birch_wood[axis=x]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:birch_wood[axis=x] replace minecraft:birch_wood[axis=z]
# Birch Wood (Stripped)
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_birch_wood[axis=z] replace minecraft:stripped_birch_wood[axis=y]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_birch_wood[axis=y] replace minecraft:stripped_birch_wood[axis=x]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_birch_wood[axis=x] replace minecraft:stripped_birch_wood[axis=z]
# Cherry Log
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:cherry_log[axis=z] replace minecraft:cherry_log[axis=y]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:cherry_log[axis=y] replace minecraft:cherry_log[axis=x]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:cherry_log[axis=x] replace minecraft:cherry_log[axis=z]
# Cherry Log (Stripped)
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_cherry_log[axis=z] replace minecraft:stripped_cherry_log[axis=y]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_cherry_log[axis=y] replace minecraft:stripped_cherry_log[axis=x]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_cherry_log[axis=x] replace minecraft:stripped_cherry_log[axis=z]
# Cherry Wood
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:cherry_wood[axis=z] replace minecraft:cherry_wood[axis=y]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:cherry_wood[axis=y] replace minecraft:cherry_wood[axis=x]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:cherry_wood[axis=x] replace minecraft:cherry_wood[axis=z]
# Cherry Wood (Stripped)
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_cherry_wood[axis=z] replace minecraft:stripped_cherry_wood[axis=y]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_cherry_wood[axis=y] replace minecraft:stripped_cherry_wood[axis=x]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_cherry_wood[axis=x] replace minecraft:stripped_cherry_wood[axis=z]
# Dark Oak Log
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:dark_oak_log[axis=z] replace minecraft:dark_oak_log[axis=y]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:dark_oak_log[axis=y] replace minecraft:dark_oak_log[axis=x]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:dark_oak_log[axis=x] replace minecraft:dark_oak_log[axis=z]
# Dark Oak Log (Stripped)
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_dark_oak_log[axis=z] replace minecraft:stripped_dark_oak_log[axis=y]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_dark_oak_log[axis=y] replace minecraft:stripped_dark_oak_log[axis=x]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_dark_oak_log[axis=x] replace minecraft:stripped_dark_oak_log[axis=z]
# Dark Oak Wood
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:dark_oak_wood[axis=z] replace minecraft:dark_oak_wood[axis=y]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:dark_oak_wood[axis=y] replace minecraft:dark_oak_wood[axis=x]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:dark_oak_wood[axis=x] replace minecraft:dark_oak_wood[axis=z]
# Dark Oak Wood (Stripped)
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_dark_oak_wood[axis=z] replace minecraft:stripped_dark_oak_wood[axis=y]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_dark_oak_wood[axis=y] replace minecraft:stripped_dark_oak_wood[axis=x]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_dark_oak_wood[axis=x] replace minecraft:stripped_dark_oak_wood[axis=z]
# Jungle Log
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:jungle_log[axis=z] replace minecraft:jungle_log[axis=y]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:jungle_log[axis=y] replace minecraft:jungle_log[axis=x]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:jungle_log[axis=x] replace minecraft:jungle_log[axis=z]
# Jungle Log (Stripped)
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_jungle_log[axis=z] replace minecraft:stripped_jungle_log[axis=y]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_jungle_log[axis=y] replace minecraft:stripped_jungle_log[axis=x]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_jungle_log[axis=x] replace minecraft:stripped_jungle_log[axis=z]
# Jungle Wood
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:jungle_wood[axis=z] replace minecraft:jungle_wood[axis=y]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:jungle_wood[axis=y] replace minecraft:jungle_wood[axis=x]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:jungle_wood[axis=x] replace minecraft:jungle_wood[axis=z]
# Jungle Wood (Stripped)
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_jungle_wood[axis=z] replace minecraft:stripped_jungle_wood[axis=y]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_jungle_wood[axis=y] replace minecraft:stripped_jungle_wood[axis=x]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_jungle_wood[axis=x] replace minecraft:stripped_jungle_wood[axis=z]
# Mangrove Log
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:mangrove_log[axis=z] replace minecraft:mangrove_log[axis=y]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:mangrove_log[axis=y] replace minecraft:mangrove_log[axis=x]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:mangrove_log[axis=x] replace minecraft:mangrove_log[axis=z]
# Mangrove Log (Stripped)
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_mangrove_log[axis=z] replace minecraft:stripped_mangrove_log[axis=y]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_mangrove_log[axis=y] replace minecraft:stripped_mangrove_log[axis=x]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_mangrove_log[axis=x] replace minecraft:stripped_mangrove_log[axis=z]
# Mangrove Wood
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:mangrove_wood[axis=z] replace minecraft:mangrove_wood[axis=y]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:mangrove_wood[axis=y] replace minecraft:mangrove_wood[axis=x]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:mangrove_wood[axis=x] replace minecraft:mangrove_wood[axis=z]
# Mangrove Wood (Stripped)
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_mangrove_wood[axis=z] replace minecraft:stripped_mangrove_wood[axis=y]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_mangrove_wood[axis=y] replace minecraft:stripped_mangrove_wood[axis=x]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_mangrove_wood[axis=x] replace minecraft:stripped_mangrove_wood[axis=z]
# Mangrove Roots (Muddy)
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:muddy_mangrove_roots[axis=z] replace minecraft:muddy_mangrove_roots[axis=y]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:muddy_mangrove_roots[axis=y] replace minecraft:muddy_mangrove_roots[axis=x]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:muddy_mangrove_roots[axis=x] replace minecraft:muddy_mangrove_roots[axis=z]
# Oak Log
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:oak_log[axis=z] replace minecraft:oak_log[axis=y]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:oak_log[axis=y] replace minecraft:oak_log[axis=x]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:oak_log[axis=x] replace minecraft:oak_log[axis=z]
# Oak Log (Stripped)
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_oak_log[axis=z] replace minecraft:stripped_oak_log[axis=y]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_oak_log[axis=y] replace minecraft:stripped_oak_log[axis=x]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_oak_log[axis=x] replace minecraft:stripped_oak_log[axis=z]
# Oak Wood
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:oak_wood[axis=z] replace minecraft:oak_wood[axis=y]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:oak_wood[axis=y] replace minecraft:oak_wood[axis=x]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:oak_wood[axis=x] replace minecraft:oak_wood[axis=z]
# Oak Wood (Stripped)
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_oak_wood[axis=z] replace minecraft:stripped_oak_wood[axis=y]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_oak_wood[axis=y] replace minecraft:stripped_oak_wood[axis=x]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_oak_wood[axis=x] replace minecraft:stripped_oak_wood[axis=z]
# Oak Log
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:pale_oak_log[axis=z] replace minecraft:pale_oak_log[axis=y]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:pale_oak_log[axis=y] replace minecraft:pale_oak_log[axis=x]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:pale_oak_log[axis=x] replace minecraft:pale_oak_log[axis=z]
# Oak Log (Stripped)
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_pale_oak_log[axis=z] replace minecraft:stripped_pale_oak_log[axis=y]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_pale_oak_log[axis=y] replace minecraft:stripped_pale_oak_log[axis=x]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_pale_oak_log[axis=x] replace minecraft:stripped_pale_oak_log[axis=z]
# Pale Oak Wood
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:pale_oak_wood[axis=z] replace minecraft:pale_oak_wood[axis=y]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:pale_oak_wood[axis=y] replace minecraft:pale_oak_wood[axis=x]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:pale_oak_wood[axis=x] replace minecraft:pale_oak_wood[axis=z]
# Pale Oak Wood (Stripped)
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_pale_oak_wood[axis=z] replace minecraft:stripped_pale_oak_wood[axis=y]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_pale_oak_wood[axis=y] replace minecraft:stripped_pale_oak_wood[axis=x]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_pale_oak_wood[axis=x] replace minecraft:stripped_pale_oak_wood[axis=z]
# Spruce Log
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:spruce_log[axis=z] replace minecraft:spruce_log[axis=y]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:spruce_log[axis=y] replace minecraft:spruce_log[axis=x]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:spruce_log[axis=x] replace minecraft:spruce_log[axis=z]
# Spruce Log (Stripped)
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_spruce_log[axis=z] replace minecraft:stripped_spruce_log[axis=y]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_spruce_log[axis=y] replace minecraft:stripped_spruce_log[axis=x]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_spruce_log[axis=x] replace minecraft:stripped_spruce_log[axis=z]
# Spruce Wood
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:spruce_wood[axis=z] replace minecraft:spruce_wood[axis=y]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:spruce_wood[axis=y] replace minecraft:spruce_wood[axis=x]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:spruce_wood[axis=x] replace minecraft:spruce_wood[axis=z]
# Spruce Wood (Stripped)
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_spruce_wood[axis=z] replace minecraft:stripped_spruce_wood[axis=y]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_spruce_wood[axis=y] replace minecraft:stripped_spruce_wood[axis=x]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_spruce_wood[axis=x] replace minecraft:stripped_spruce_wood[axis=z]
## Nether
# Basalt
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:basalt[axis=z] replace minecraft:basalt[axis=y]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:basalt[axis=y] replace minecraft:basalt[axis=x]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:basalt[axis=x] replace minecraft:basalt[axis=z]
# Basalt (Polished)
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:polished_basalt[axis=z] replace minecraft:polished_basalt[axis=y]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:polished_basalt[axis=y] replace minecraft:polished_basalt[axis=x]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:polished_basalt[axis=x] replace minecraft:polished_basalt[axis=z]
# Crimson Stem
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:crimson_stem[axis=z] replace minecraft:crimson_stem[axis=y]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:crimson_stem[axis=y] replace minecraft:crimson_stem[axis=x]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:crimson_stem[axis=x] replace minecraft:crimson_stem[axis=z]
# Crimson Stem (Stripped)
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_crimson_stem[axis=z] replace minecraft:stripped_crimson_stem[axis=y]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_crimson_stem[axis=y] replace minecraft:stripped_crimson_stem[axis=x]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_crimson_stem[axis=x] replace minecraft:stripped_crimson_stem[axis=z]
# Crimson Hyphae
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:crimson_hyphae[axis=z] replace minecraft:crimson_hyphae[axis=y]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:crimson_hyphae[axis=y] replace minecraft:crimson_hyphae[axis=x]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:crimson_hyphae[axis=x] replace minecraft:crimson_hyphae[axis=z]
# Crimson Hyphae (Stripped)
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_crimson_hyphae[axis=z] replace minecraft:stripped_crimson_hyphae[axis=y]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_crimson_hyphae[axis=y] replace minecraft:stripped_crimson_hyphae[axis=x]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_crimson_hyphae[axis=x] replace minecraft:stripped_crimson_hyphae[axis=z]
# Warped Stem
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:warped_stem[axis=z] replace minecraft:warped_stem[axis=y]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:warped_stem[axis=y] replace minecraft:warped_stem[axis=x]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:warped_stem[axis=x] replace minecraft:warped_stem[axis=z]
# Warped Stem (Stripped)
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_warped_stem[axis=z] replace minecraft:stripped_warped_stem[axis=y]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_warped_stem[axis=y] replace minecraft:stripped_warped_stem[axis=x]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_warped_stem[axis=x] replace minecraft:stripped_warped_stem[axis=z]
# Warped Hyphae
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:warped_hyphae[axis=z] replace minecraft:warped_hyphae[axis=y]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:warped_hyphae[axis=y] replace minecraft:warped_hyphae[axis=x]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:warped_hyphae[axis=x] replace minecraft:warped_hyphae[axis=z]
# Warped Hyphae (Stripped)
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_warped_hyphae[axis=z] replace minecraft:stripped_warped_hyphae[axis=y]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_warped_hyphae[axis=y] replace minecraft:stripped_warped_hyphae[axis=x]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_warped_hyphae[axis=x] replace minecraft:stripped_warped_hyphae[axis=z]
### Pillars & Blocks
# Quartz Pillar
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:quartz_pillar[axis=z] replace minecraft:quartz_pillar[axis=y]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:quartz_pillar[axis=y] replace minecraft:quartz_pillar[axis=x]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:quartz_pillar[axis=x] replace minecraft:quartz_pillar[axis=z]
# Purpur Pillar
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:purpur_pillar[axis=z] replace minecraft:purpur_pillar[axis=y]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:purpur_pillar[axis=y] replace minecraft:purpur_pillar[axis=x]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:purpur_pillar[axis=x] replace minecraft:purpur_pillar[axis=z]
# Hay Block
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:hay_block[axis=z] replace minecraft:hay_block[axis=y]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:hay_block[axis=y] replace minecraft:hay_block[axis=x]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:hay_block[axis=x] replace minecraft:hay_block[axis=z]
# Bone Block
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:bone_block[axis=z] replace minecraft:bone_block[axis=y]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:bone_block[axis=y] replace minecraft:bone_block[axis=x]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:bone_block[axis=x] replace minecraft:bone_block[axis=z]
# Deepslate
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:deepslate[axis=z] replace minecraft:deepslate[axis=y]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:deepslate[axis=y] replace minecraft:deepslate[axis=x]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:deepslate[axis=x] replace minecraft:deepslate[axis=z]
# Ochre Froglight
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:ochre_froglight[axis=z] replace minecraft:ochre_froglight[axis=y]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:ochre_froglight[axis=y] replace minecraft:ochre_froglight[axis=x]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:ochre_froglight[axis=x] replace minecraft:ochre_froglight[axis=z]
# Pearlescent Froglight
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:pearlescent_froglight[axis=z] replace minecraft:pearlescent_froglight[axis=y]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:pearlescent_froglight[axis=y] replace minecraft:pearlescent_froglight[axis=x]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:pearlescent_froglight[axis=x] replace minecraft:pearlescent_froglight[axis=z]
# Verdant Froglight
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:verdant_froglight[axis=z] replace minecraft:verdant_froglight[axis=y]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:verdant_froglight[axis=y] replace minecraft:verdant_froglight[axis=x]
execute as @s[scores={WrenchSuccess=0}] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:verdant_froglight[axis=x] replace minecraft:verdant_froglight[axis=z]

View File

@ -1,452 +0,0 @@
### Rotate Logs and Pillars
## Overworld Logs & Woods
# Acacia Log
execute as @s[scores={WrenchSuccess=0}, x_rotation=45..90] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:acacia_log[axis=y] replace minecraft:acacia_log
execute as @s[scores={WrenchSuccess=0}, x_rotation=-90..-45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:acacia_log[axis=y] replace minecraft:acacia_log
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=-45..45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:acacia_log[axis=z] replace minecraft:acacia_log
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=135..-135] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:acacia_log[axis=z] replace minecraft:acacia_log
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=45..135] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:acacia_log[axis=x] replace minecraft:acacia_log
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=-135..-45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:acacia_log[axis=x] replace minecraft:acacia_log
# Acacia Log (Stripped)
execute as @s[scores={WrenchSuccess=0}, x_rotation=45..90] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_acacia_log[axis=y] replace minecraft:stripped_acacia_log
execute as @s[scores={WrenchSuccess=0}, x_rotation=-90..-45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_acacia_log[axis=y] replace minecraft:stripped_acacia_log
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=-45..45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_acacia_log[axis=z] replace minecraft:stripped_acacia_log
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=135..-135] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_acacia_log[axis=z] replace minecraft:stripped_acacia_log
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=45..135] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_acacia_log[axis=x] replace minecraft:stripped_acacia_log
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=-135..-45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_acacia_log[axis=x] replace minecraft:stripped_acacia_log
# Acacia Wood
execute as @s[scores={WrenchSuccess=0}, x_rotation=45..90] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:acacia_wood[axis=y] replace minecraft:acacia_wood
execute as @s[scores={WrenchSuccess=0}, x_rotation=-90..-45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:acacia_wood[axis=y] replace minecraft:acacia_wood
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=-45..45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:acacia_wood[axis=z] replace minecraft:acacia_wood
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=135..-135] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:acacia_wood[axis=z] replace minecraft:acacia_wood
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=45..135] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:acacia_wood[axis=x] replace minecraft:acacia_wood
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=-135..-45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:acacia_wood[axis=x] replace minecraft:acacia_wood
# Acacia Wood (Stripped)
execute as @s[scores={WrenchSuccess=0}, x_rotation=45..90] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_acacia_wood[axis=y] replace minecraft:stripped_acacia_wood
execute as @s[scores={WrenchSuccess=0}, x_rotation=-90..-45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_acacia_wood[axis=y] replace minecraft:stripped_acacia_wood
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=-45..45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_acacia_wood[axis=z] replace minecraft:stripped_acacia_wood
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=135..-135] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_acacia_wood[axis=z] replace minecraft:stripped_acacia_wood
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=45..135] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_acacia_wood[axis=x] replace minecraft:stripped_acacia_wood
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=-135..-45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_acacia_wood[axis=x] replace minecraft:stripped_acacia_wood
# Birch Log
execute as @s[scores={WrenchSuccess=0}, x_rotation=45..90] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:birch_log[axis=y] replace minecraft:birch_log
execute as @s[scores={WrenchSuccess=0}, x_rotation=-90..-45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:birch_log[axis=y] replace minecraft:birch_log
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=-45..45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:birch_log[axis=z] replace minecraft:birch_log
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=135..-135] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:birch_log[axis=z] replace minecraft:birch_log
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=45..135] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:birch_log[axis=x] replace minecraft:birch_log
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=-135..-45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:birch_log[axis=x] replace minecraft:birch_log
# Birch Log (Stripped)
execute as @s[scores={WrenchSuccess=0}, x_rotation=45..90] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_birch_log[axis=y] replace minecraft:stripped_birch_log
execute as @s[scores={WrenchSuccess=0}, x_rotation=-90..-45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_birch_log[axis=y] replace minecraft:stripped_birch_log
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=-45..45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_birch_log[axis=z] replace minecraft:stripped_birch_log
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=135..-135] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_birch_log[axis=z] replace minecraft:stripped_birch_log
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=45..135] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_birch_log[axis=x] replace minecraft:stripped_birch_log
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=-135..-45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_birch_log[axis=x] replace minecraft:stripped_birch_log
# Birch Wood
execute as @s[scores={WrenchSuccess=0}, x_rotation=45..90] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:birch_wood[axis=y] replace minecraft:birch_wood
execute as @s[scores={WrenchSuccess=0}, x_rotation=-90..-45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:birch_wood[axis=y] replace minecraft:birch_wood
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=-45..45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:birch_wood[axis=z] replace minecraft:birch_wood
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=135..-135] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:birch_wood[axis=z] replace minecraft:birch_wood
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=45..135] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:birch_wood[axis=x] replace minecraft:birch_wood
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=-135..-45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:birch_wood[axis=x] replace minecraft:birch_wood
# Birch Wood (Stripped)
execute as @s[scores={WrenchSuccess=0}, x_rotation=45..90] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_birch_wood[axis=y] replace minecraft:stripped_birch_wood
execute as @s[scores={WrenchSuccess=0}, x_rotation=-90..-45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_birch_wood[axis=y] replace minecraft:stripped_birch_wood
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=-45..45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_birch_wood[axis=z] replace minecraft:stripped_birch_wood
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=135..-135] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_birch_wood[axis=z] replace minecraft:stripped_birch_wood
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=45..135] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_birch_wood[axis=x] replace minecraft:stripped_birch_wood
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=-135..-45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_birch_wood[axis=x] replace minecraft:stripped_birch_wood
# Cherry Log
execute as @s[scores={WrenchSuccess=0}, x_rotation=45..90] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:cherry_log[axis=y] replace minecraft:cherry_log
execute as @s[scores={WrenchSuccess=0}, x_rotation=-90..-45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:cherry_log[axis=y] replace minecraft:cherry_log
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=-45..45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:cherry_log[axis=z] replace minecraft:cherry_log
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=135..-135] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:cherry_log[axis=z] replace minecraft:cherry_log
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=45..135] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:cherry_log[axis=x] replace minecraft:cherry_log
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=-135..-45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:cherry_log[axis=x] replace minecraft:cherry_log
# Cherry Log (Stripped)
execute as @s[scores={WrenchSuccess=0}, x_rotation=45..90] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_cherry_log[axis=y] replace minecraft:stripped_cherry_log
execute as @s[scores={WrenchSuccess=0}, x_rotation=-90..-45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_cherry_log[axis=y] replace minecraft:stripped_cherry_log
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=-45..45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_cherry_log[axis=z] replace minecraft:stripped_cherry_log
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=135..-135] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_cherry_log[axis=z] replace minecraft:stripped_cherry_log
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=45..135] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_cherry_log[axis=x] replace minecraft:stripped_cherry_log
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=-135..-45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_cherry_log[axis=x] replace minecraft:stripped_cherry_log
# Cherry Wood
execute as @s[scores={WrenchSuccess=0}, x_rotation=45..90] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:cherry_wood[axis=y] replace minecraft:cherry_wood
execute as @s[scores={WrenchSuccess=0}, x_rotation=-90..-45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:cherry_wood[axis=y] replace minecraft:cherry_wood
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=-45..45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:cherry_wood[axis=z] replace minecraft:cherry_wood
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=135..-135] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:cherry_wood[axis=z] replace minecraft:cherry_wood
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=45..135] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:cherry_wood[axis=x] replace minecraft:cherry_wood
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=-135..-45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:cherry_wood[axis=x] replace minecraft:cherry_wood
# Cherry Wood (Stripped)
execute as @s[scores={WrenchSuccess=0}, x_rotation=45..90] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_cherry_wood[axis=y] replace minecraft:stripped_cherry_wood
execute as @s[scores={WrenchSuccess=0}, x_rotation=-90..-45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_cherry_wood[axis=y] replace minecraft:stripped_cherry_wood
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=-45..45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_cherry_wood[axis=z] replace minecraft:stripped_cherry_wood
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=135..-135] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_cherry_wood[axis=z] replace minecraft:stripped_cherry_wood
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=45..135] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_cherry_wood[axis=x] replace minecraft:stripped_cherry_wood
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=-135..-45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_cherry_wood[axis=x] replace minecraft:stripped_cherry_wood
# Dark Oak Log
execute as @s[scores={WrenchSuccess=0}, x_rotation=45..90] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:dark_oak_log[axis=y] replace minecraft:dark_oak_log
execute as @s[scores={WrenchSuccess=0}, x_rotation=-90..-45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:dark_oak_log[axis=y] replace minecraft:dark_oak_log
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=-45..45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:dark_oak_log[axis=z] replace minecraft:dark_oak_log
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=135..-135] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:dark_oak_log[axis=z] replace minecraft:dark_oak_log
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=45..135] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:dark_oak_log[axis=x] replace minecraft:dark_oak_log
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=-135..-45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:dark_oak_log[axis=x] replace minecraft:dark_oak_log
# Dark Oak Log (Stripped)
execute as @s[scores={WrenchSuccess=0}, x_rotation=45..90] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_dark_oak_log[axis=y] replace minecraft:stripped_dark_oak_log
execute as @s[scores={WrenchSuccess=0}, x_rotation=-90..-45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_dark_oak_log[axis=y] replace minecraft:stripped_dark_oak_log
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=-45..45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_dark_oak_log[axis=z] replace minecraft:stripped_dark_oak_log
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=135..-135] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_dark_oak_log[axis=z] replace minecraft:stripped_dark_oak_log
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=45..135] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_dark_oak_log[axis=x] replace minecraft:stripped_dark_oak_log
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=-135..-45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_dark_oak_log[axis=x] replace minecraft:stripped_dark_oak_log
# Dark Oak Wood
execute as @s[scores={WrenchSuccess=0}, x_rotation=45..90] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:dark_oak_wood[axis=y] replace minecraft:dark_oak_wood
execute as @s[scores={WrenchSuccess=0}, x_rotation=-90..-45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:dark_oak_wood[axis=y] replace minecraft:dark_oak_wood
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=-45..45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:dark_oak_wood[axis=z] replace minecraft:dark_oak_wood
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=135..-135] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:dark_oak_wood[axis=z] replace minecraft:dark_oak_wood
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=45..135] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:dark_oak_wood[axis=x] replace minecraft:dark_oak_wood
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=-135..-45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:dark_oak_wood[axis=x] replace minecraft:dark_oak_wood
# Dark Oak Wood (Stripped)
execute as @s[scores={WrenchSuccess=0}, x_rotation=45..90] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_dark_oak_wood[axis=y] replace minecraft:stripped_dark_oak_wood
execute as @s[scores={WrenchSuccess=0}, x_rotation=-90..-45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_dark_oak_wood[axis=y] replace minecraft:stripped_dark_oak_wood
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=-45..45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_dark_oak_wood[axis=z] replace minecraft:stripped_dark_oak_wood
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=135..-135] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_dark_oak_wood[axis=z] replace minecraft:stripped_dark_oak_wood
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=45..135] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_dark_oak_wood[axis=x] replace minecraft:stripped_dark_oak_wood
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=-135..-45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_dark_oak_wood[axis=x] replace minecraft:stripped_dark_oak_wood
# Jungle Log
execute as @s[scores={WrenchSuccess=0}, x_rotation=45..90] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:jungle_log[axis=y] replace minecraft:jungle_log
execute as @s[scores={WrenchSuccess=0}, x_rotation=-90..-45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:jungle_log[axis=y] replace minecraft:jungle_log
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=-45..45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:jungle_log[axis=z] replace minecraft:jungle_log
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=135..-135] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:jungle_log[axis=z] replace minecraft:jungle_log
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=45..135] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:jungle_log[axis=x] replace minecraft:jungle_log
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=-135..-45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:jungle_log[axis=x] replace minecraft:jungle_log
# Jungle Log (Stripped)
execute as @s[scores={WrenchSuccess=0}, x_rotation=45..90] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_jungle_log[axis=y] replace minecraft:stripped_jungle_log
execute as @s[scores={WrenchSuccess=0}, x_rotation=-90..-45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_jungle_log[axis=y] replace minecraft:stripped_jungle_log
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=-45..45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_jungle_log[axis=z] replace minecraft:stripped_jungle_log
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=135..-135] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_jungle_log[axis=z] replace minecraft:stripped_jungle_log
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=45..135] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_jungle_log[axis=x] replace minecraft:stripped_jungle_log
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=-135..-45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_jungle_log[axis=x] replace minecraft:stripped_jungle_log
# Jungle Wood
execute as @s[scores={WrenchSuccess=0}, x_rotation=45..90] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:jungle_wood[axis=y] replace minecraft:jungle_wood
execute as @s[scores={WrenchSuccess=0}, x_rotation=-90..-45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:jungle_wood[axis=y] replace minecraft:jungle_wood
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=-45..45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:jungle_wood[axis=z] replace minecraft:jungle_wood
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=135..-135] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:jungle_wood[axis=z] replace minecraft:jungle_wood
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=45..135] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:jungle_wood[axis=x] replace minecraft:jungle_wood
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=-135..-45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:jungle_wood[axis=x] replace minecraft:jungle_wood
# Jungle Wood (Stripped)
execute as @s[scores={WrenchSuccess=0}, x_rotation=45..90] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_jungle_wood[axis=y] replace minecraft:stripped_jungle_wood
execute as @s[scores={WrenchSuccess=0}, x_rotation=-90..-45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_jungle_wood[axis=y] replace minecraft:stripped_jungle_wood
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=-45..45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_jungle_wood[axis=z] replace minecraft:stripped_jungle_wood
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=135..-135] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_jungle_wood[axis=z] replace minecraft:stripped_jungle_wood
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=45..135] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_jungle_wood[axis=x] replace minecraft:stripped_jungle_wood
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=-135..-45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_jungle_wood[axis=x] replace minecraft:stripped_jungle_wood
# Mangrove Log
execute as @s[scores={WrenchSuccess=0}, x_rotation=45..90] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:mangrove_log[axis=y] replace minecraft:mangrove_log
execute as @s[scores={WrenchSuccess=0}, x_rotation=-90..-45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:mangrove_log[axis=y] replace minecraft:mangrove_log
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=-45..45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:mangrove_log[axis=z] replace minecraft:mangrove_log
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=135..-135] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:mangrove_log[axis=z] replace minecraft:mangrove_log
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=45..135] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:mangrove_log[axis=x] replace minecraft:mangrove_log
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=-135..-45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:mangrove_log[axis=x] replace minecraft:mangrove_log
# Mangrove Log (Stripped)
execute as @s[scores={WrenchSuccess=0}, x_rotation=45..90] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_mangrove_log[axis=y] replace minecraft:stripped_mangrove_log
execute as @s[scores={WrenchSuccess=0}, x_rotation=-90..-45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_mangrove_log[axis=y] replace minecraft:stripped_mangrove_log
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=-45..45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_mangrove_log[axis=z] replace minecraft:stripped_mangrove_log
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=135..-135] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_mangrove_log[axis=z] replace minecraft:stripped_mangrove_log
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=45..135] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_mangrove_log[axis=x] replace minecraft:stripped_mangrove_log
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=-135..-45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_mangrove_log[axis=x] replace minecraft:stripped_mangrove_log
# Mangrove Wood
execute as @s[scores={WrenchSuccess=0}, x_rotation=45..90] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:mangrove_wood[axis=y] replace minecraft:mangrove_wood
execute as @s[scores={WrenchSuccess=0}, x_rotation=-90..-45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:mangrove_wood[axis=y] replace minecraft:mangrove_wood
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=-45..45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:mangrove_wood[axis=z] replace minecraft:mangrove_wood
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=135..-135] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:mangrove_wood[axis=z] replace minecraft:mangrove_wood
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=45..135] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:mangrove_wood[axis=x] replace minecraft:mangrove_wood
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=-135..-45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:mangrove_wood[axis=x] replace minecraft:mangrove_wood
# Mangrove Wood (Stripped)
execute as @s[scores={WrenchSuccess=0}, x_rotation=45..90] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_mangrove_wood[axis=y] replace minecraft:stripped_mangrove_wood
execute as @s[scores={WrenchSuccess=0}, x_rotation=-90..-45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_mangrove_wood[axis=y] replace minecraft:stripped_mangrove_wood
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=-45..45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_mangrove_wood[axis=z] replace minecraft:stripped_mangrove_wood
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=135..-135] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_mangrove_wood[axis=z] replace minecraft:stripped_mangrove_wood
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=45..135] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_mangrove_wood[axis=x] replace minecraft:stripped_mangrove_wood
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=-135..-45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_mangrove_wood[axis=x] replace minecraft:stripped_mangrove_wood
# Mangrove Roots (Muddy)
execute as @s[scores={WrenchSuccess=0}, x_rotation=45..90] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:muddy_mangrove_roots[axis=y] replace minecraft:muddy_mangrove_roots
execute as @s[scores={WrenchSuccess=0}, x_rotation=-90..-45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:muddy_mangrove_roots[axis=y] replace minecraft:muddy_mangrove_roots
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=-45..45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:muddy_mangrove_roots[axis=z] replace minecraft:muddy_mangrove_roots
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=135..-135] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:muddy_mangrove_roots[axis=z] replace minecraft:muddy_mangrove_roots
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=45..135] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:muddy_mangrove_roots[axis=x] replace minecraft:muddy_mangrove_roots
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=-135..-45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:muddy_mangrove_roots[axis=x] replace minecraft:muddy_mangrove_roots
# Oak Log
execute as @s[scores={WrenchSuccess=0}, x_rotation=45..90] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:oak_log[axis=y] replace minecraft:oak_log
execute as @s[scores={WrenchSuccess=0}, x_rotation=-90..-45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:oak_log[axis=y] replace minecraft:oak_log
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=-45..45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:oak_log[axis=z] replace minecraft:oak_log
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=135..-135] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:oak_log[axis=z] replace minecraft:oak_log
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=45..135] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:oak_log[axis=x] replace minecraft:oak_log
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=-135..-45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:oak_log[axis=x] replace minecraft:oak_log
# Oak Log (Stripped)
execute as @s[scores={WrenchSuccess=0}, x_rotation=45..90] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_oak_log[axis=y] replace minecraft:stripped_oak_log
execute as @s[scores={WrenchSuccess=0}, x_rotation=-90..-45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_oak_log[axis=y] replace minecraft:stripped_oak_log
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=-45..45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_oak_log[axis=z] replace minecraft:stripped_oak_log
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=135..-135] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_oak_log[axis=z] replace minecraft:stripped_oak_log
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=45..135] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_oak_log[axis=x] replace minecraft:stripped_oak_log
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=-135..-45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_oak_log[axis=x] replace minecraft:stripped_oak_log
# Oak Wood
execute as @s[scores={WrenchSuccess=0}, x_rotation=45..90] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:oak_wood[axis=y] replace minecraft:oak_wood
execute as @s[scores={WrenchSuccess=0}, x_rotation=-90..-45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:oak_wood[axis=y] replace minecraft:oak_wood
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=-45..45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:oak_wood[axis=z] replace minecraft:oak_wood
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=135..-135] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:oak_wood[axis=z] replace minecraft:oak_wood
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=45..135] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:oak_wood[axis=x] replace minecraft:oak_wood
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=-135..-45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:oak_wood[axis=x] replace minecraft:oak_wood
# Oak Wood (Stripped)
execute as @s[scores={WrenchSuccess=0}, x_rotation=45..90] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_oak_wood[axis=y] replace minecraft:stripped_oak_wood
execute as @s[scores={WrenchSuccess=0}, x_rotation=-90..-45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_oak_wood[axis=y] replace minecraft:stripped_oak_wood
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=-45..45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_oak_wood[axis=z] replace minecraft:stripped_oak_wood
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=135..-135] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_oak_wood[axis=z] replace minecraft:stripped_oak_wood
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=45..135] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_oak_wood[axis=x] replace minecraft:stripped_oak_wood
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=-135..-45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_oak_wood[axis=x] replace minecraft:stripped_oak_wood
# Pale Oak Log
execute as @s[scores={WrenchSuccess=0}, x_rotation=45..90] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:pale_oak_log[axis=y] replace minecraft:pale_oak_log
execute as @s[scores={WrenchSuccess=0}, x_rotation=-90..-45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:pale_oak_log[axis=y] replace minecraft:pale_oak_log
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=-45..45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:pale_oak_log[axis=z] replace minecraft:pale_oak_log
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=135..-135] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:pale_oak_log[axis=z] replace minecraft:pale_oak_log
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=45..135] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:pale_oak_log[axis=x] replace minecraft:pale_oak_log
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=-135..-45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:pale_oak_log[axis=x] replace minecraft:pale_oak_log
# Pale Oak Log (Stripped)
execute as @s[scores={WrenchSuccess=0}, x_rotation=45..90] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_pale_oak_log[axis=y] replace minecraft:stripped_pale_oak_log
execute as @s[scores={WrenchSuccess=0}, x_rotation=-90..-45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_pale_oak_log[axis=y] replace minecraft:stripped_pale_oak_log
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=-45..45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_pale_oak_log[axis=z] replace minecraft:stripped_pale_oak_log
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=135..-135] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_pale_oak_log[axis=z] replace minecraft:stripped_pale_oak_log
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=45..135] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_pale_oak_log[axis=x] replace minecraft:stripped_pale_oak_log
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=-135..-45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_pale_oak_log[axis=x] replace minecraft:stripped_pale_oak_log
# Pale Oak Wood
execute as @s[scores={WrenchSuccess=0}, x_rotation=45..90] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:pale_oak_wood[axis=y] replace minecraft:pale_oak_wood
execute as @s[scores={WrenchSuccess=0}, x_rotation=-90..-45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:pale_oak_wood[axis=y] replace minecraft:pale_oak_wood
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=-45..45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:pale_oak_wood[axis=z] replace minecraft:pale_oak_wood
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=135..-135] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:pale_oak_wood[axis=z] replace minecraft:pale_oak_wood
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=45..135] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:pale_oak_wood[axis=x] replace minecraft:pale_oak_wood
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=-135..-45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:pale_oak_wood[axis=x] replace minecraft:pale_oak_wood
# Pale Oak Wood (Stripped)
execute as @s[scores={WrenchSuccess=0}, x_rotation=45..90] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_pale_oak_wood[axis=y] replace minecraft:stripped_pale_oak_wood
execute as @s[scores={WrenchSuccess=0}, x_rotation=-90..-45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_pale_oak_wood[axis=y] replace minecraft:stripped_pale_oak_wood
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=-45..45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_pale_oak_wood[axis=z] replace minecraft:stripped_pale_oak_wood
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=135..-135] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_pale_oak_wood[axis=z] replace minecraft:stripped_pale_oak_wood
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=45..135] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_pale_oak_wood[axis=x] replace minecraft:stripped_pale_oak_wood
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=-135..-45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_pale_oak_wood[axis=x] replace minecraft:stripped_pale_oak_wood
# Spruce Log
execute as @s[scores={WrenchSuccess=0}, x_rotation=45..90] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:spruce_log[axis=y] replace minecraft:spruce_log
execute as @s[scores={WrenchSuccess=0}, x_rotation=-90..-45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:spruce_log[axis=y] replace minecraft:spruce_log
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=-45..45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:spruce_log[axis=z] replace minecraft:spruce_log
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=135..-135] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:spruce_log[axis=z] replace minecraft:spruce_log
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=45..135] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:spruce_log[axis=x] replace minecraft:spruce_log
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=-135..-45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:spruce_log[axis=x] replace minecraft:spruce_log
# Spruce Log (Stripped)
execute as @s[scores={WrenchSuccess=0}, x_rotation=45..90] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_spruce_log[axis=y] replace minecraft:stripped_spruce_log
execute as @s[scores={WrenchSuccess=0}, x_rotation=-90..-45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_spruce_log[axis=y] replace minecraft:stripped_spruce_log
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=-45..45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_spruce_log[axis=z] replace minecraft:stripped_spruce_log
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=135..-135] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_spruce_log[axis=z] replace minecraft:stripped_spruce_log
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=45..135] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_spruce_log[axis=x] replace minecraft:stripped_spruce_log
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=-135..-45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_spruce_log[axis=x] replace minecraft:stripped_spruce_log
# Spruce Wood
execute as @s[scores={WrenchSuccess=0}, x_rotation=45..90] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:spruce_wood[axis=y] replace minecraft:spruce_wood
execute as @s[scores={WrenchSuccess=0}, x_rotation=-90..-45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:spruce_wood[axis=y] replace minecraft:spruce_wood
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=-45..45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:spruce_wood[axis=z] replace minecraft:spruce_wood
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=135..-135] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:spruce_wood[axis=z] replace minecraft:spruce_wood
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=45..135] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:spruce_wood[axis=x] replace minecraft:spruce_wood
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=-135..-45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:spruce_wood[axis=x] replace minecraft:spruce_wood
# Spruce Wood (Stripped)
execute as @s[scores={WrenchSuccess=0}, x_rotation=45..90] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_spruce_wood[axis=y] replace minecraft:stripped_spruce_wood
execute as @s[scores={WrenchSuccess=0}, x_rotation=-90..-45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_spruce_wood[axis=y] replace minecraft:stripped_spruce_wood
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=-45..45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_spruce_wood[axis=z] replace minecraft:stripped_spruce_wood
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=135..-135] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_spruce_wood[axis=z] replace minecraft:stripped_spruce_wood
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=45..135] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_spruce_wood[axis=x] replace minecraft:stripped_spruce_wood
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=-135..-45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_spruce_wood[axis=x] replace minecraft:stripped_spruce_wood
## Nether
# Basalt
execute as @s[scores={WrenchSuccess=0}, x_rotation=45..90] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:basalt[axis=y] replace minecraft:basalt
execute as @s[scores={WrenchSuccess=0}, x_rotation=-90..-45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:basalt[axis=y] replace minecraft:basalt
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=-45..45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:basalt[axis=z] replace minecraft:basalt
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=135..-135] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:basalt[axis=z] replace minecraft:basalt
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=45..135] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:basalt[axis=x] replace minecraft:basalt
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=-135..-45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:basalt[axis=x] replace minecraft:basalt
# Basalt (Polished)
execute as @s[scores={WrenchSuccess=0}, x_rotation=45..90] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:polished_basalt[axis=y] replace minecraft:polished_basalt
execute as @s[scores={WrenchSuccess=0}, x_rotation=-90..-45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:polished_basalt[axis=y] replace minecraft:polished_basalt
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=-45..45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:polished_basalt[axis=z] replace minecraft:polished_basalt
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=135..-135] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:polished_basalt[axis=z] replace minecraft:polished_basalt
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=45..135] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:polished_basalt[axis=x] replace minecraft:polished_basalt
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=-135..-45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:polished_basalt[axis=x] replace minecraft:polished_basalt
# Crimson Stem
execute as @s[scores={WrenchSuccess=0}, x_rotation=45..90] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:crimson_stem[axis=y] replace minecraft:crimson_stem
execute as @s[scores={WrenchSuccess=0}, x_rotation=-90..-45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:crimson_stem[axis=y] replace minecraft:crimson_stem
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=-45..45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:crimson_stem[axis=z] replace minecraft:crimson_stem
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=135..-135] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:crimson_stem[axis=z] replace minecraft:crimson_stem
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=45..135] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:crimson_stem[axis=x] replace minecraft:crimson_stem
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=-135..-45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:crimson_stem[axis=x] replace minecraft:crimson_stem
# Crimson Stem (Stripped)
execute as @s[scores={WrenchSuccess=0}, x_rotation=45..90] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_crimson_stem[axis=y] replace minecraft:stripped_crimson_stem
execute as @s[scores={WrenchSuccess=0}, x_rotation=-90..-45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_crimson_stem[axis=y] replace minecraft:stripped_crimson_stem
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=-45..45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_crimson_stem[axis=z] replace minecraft:stripped_crimson_stem
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=135..-135] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_crimson_stem[axis=z] replace minecraft:stripped_crimson_stem
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=45..135] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_crimson_stem[axis=x] replace minecraft:stripped_crimson_stem
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=-135..-45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_crimson_stem[axis=x] replace minecraft:stripped_crimson_stem
# Crimson Hyphae
execute as @s[scores={WrenchSuccess=0}, x_rotation=45..90] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:crimson_hyphae[axis=y] replace minecraft:crimson_hyphae
execute as @s[scores={WrenchSuccess=0}, x_rotation=-90..-45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:crimson_hyphae[axis=y] replace minecraft:crimson_hyphae
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=-45..45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:crimson_hyphae[axis=z] replace minecraft:crimson_hyphae
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=135..-135] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:crimson_hyphae[axis=z] replace minecraft:crimson_hyphae
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=45..135] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:crimson_hyphae[axis=x] replace minecraft:crimson_hyphae
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=-135..-45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:crimson_hyphae[axis=x] replace minecraft:crimson_hyphae
# Crimson Hyphae (Stripped)
execute as @s[scores={WrenchSuccess=0}, x_rotation=45..90] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_crimson_hyphae[axis=y] replace minecraft:stripped_crimson_hyphae
execute as @s[scores={WrenchSuccess=0}, x_rotation=-90..-45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_crimson_hyphae[axis=y] replace minecraft:stripped_crimson_hyphae
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=-45..45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_crimson_hyphae[axis=z] replace minecraft:stripped_crimson_hyphae
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=135..-135] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_crimson_hyphae[axis=z] replace minecraft:stripped_crimson_hyphae
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=45..135] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_crimson_hyphae[axis=x] replace minecraft:stripped_crimson_hyphae
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=-135..-45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_crimson_hyphae[axis=x] replace minecraft:stripped_crimson_hyphae
# Warped Stem
execute as @s[scores={WrenchSuccess=0}, x_rotation=45..90] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:warped_stem[axis=y] replace minecraft:warped_stem
execute as @s[scores={WrenchSuccess=0}, x_rotation=-90..-45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:warped_stem[axis=y] replace minecraft:warped_stem
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=-45..45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:warped_stem[axis=z] replace minecraft:warped_stem
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=135..-135] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:warped_stem[axis=z] replace minecraft:warped_stem
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=45..135] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:warped_stem[axis=x] replace minecraft:warped_stem
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=-135..-45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:warped_stem[axis=x] replace minecraft:warped_stem
# Warped Stem (Stripped)
execute as @s[scores={WrenchSuccess=0}, x_rotation=45..90] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_warped_stem[axis=y] replace minecraft:stripped_warped_stem
execute as @s[scores={WrenchSuccess=0}, x_rotation=-90..-45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_warped_stem[axis=y] replace minecraft:stripped_warped_stem
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=-45..45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_warped_stem[axis=z] replace minecraft:stripped_warped_stem
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=135..-135] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_warped_stem[axis=z] replace minecraft:stripped_warped_stem
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=45..135] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_warped_stem[axis=x] replace minecraft:stripped_warped_stem
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=-135..-45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_warped_stem[axis=x] replace minecraft:stripped_warped_stem
# Warped Hyphae
execute as @s[scores={WrenchSuccess=0}, x_rotation=45..90] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:warped_hyphae[axis=y] replace minecraft:warped_hyphae
execute as @s[scores={WrenchSuccess=0}, x_rotation=-90..-45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:warped_hyphae[axis=y] replace minecraft:warped_hyphae
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=-45..45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:warped_hyphae[axis=z] replace minecraft:warped_hyphae
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=135..-135] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:warped_hyphae[axis=z] replace minecraft:warped_hyphae
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=45..135] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:warped_hyphae[axis=x] replace minecraft:warped_hyphae
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=-135..-45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:warped_hyphae[axis=x] replace minecraft:warped_hyphae
# Warped Hyphae (Stripped)
execute as @s[scores={WrenchSuccess=0}, x_rotation=45..90] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_warped_hyphae[axis=y] replace minecraft:stripped_warped_hyphae
execute as @s[scores={WrenchSuccess=0}, x_rotation=-90..-45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_warped_hyphae[axis=y] replace minecraft:stripped_warped_hyphae
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=-45..45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_warped_hyphae[axis=z] replace minecraft:stripped_warped_hyphae
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=135..-135] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_warped_hyphae[axis=z] replace minecraft:stripped_warped_hyphae
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=45..135] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_warped_hyphae[axis=x] replace minecraft:stripped_warped_hyphae
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=-135..-45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:stripped_warped_hyphae[axis=x] replace minecraft:stripped_warped_hyphae
## Pillars & Blocks
# Quartz Pillar
execute as @s[scores={WrenchSuccess=0}, x_rotation=45..90] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:quartz_pillar[axis=y] replace minecraft:quartz_pillar
execute as @s[scores={WrenchSuccess=0}, x_rotation=-90..-45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:quartz_pillar[axis=y] replace minecraft:quartz_pillar
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=-45..45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:quartz_pillar[axis=z] replace minecraft:quartz_pillar
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=135..-135] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:quartz_pillar[axis=z] replace minecraft:quartz_pillar
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=45..135] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:quartz_pillar[axis=x] replace minecraft:quartz_pillar
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=-135..-45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:quartz_pillar[axis=x] replace minecraft:quartz_pillar
# Purpur Pillar
execute as @s[scores={WrenchSuccess=0}, x_rotation=45..90] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:purpur_pillar[axis=y] replace minecraft:purpur_pillar
execute as @s[scores={WrenchSuccess=0}, x_rotation=-90..-45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:purpur_pillar[axis=y] replace minecraft:purpur_pillar
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=-45..45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:purpur_pillar[axis=z] replace minecraft:purpur_pillar
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=135..-135] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:purpur_pillar[axis=z] replace minecraft:purpur_pillar
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=45..135] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:purpur_pillar[axis=x] replace minecraft:purpur_pillar
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=-135..-45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:purpur_pillar[axis=x] replace minecraft:purpur_pillar
# Hay Block
execute as @s[scores={WrenchSuccess=0}, x_rotation=45..90] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:hay_block[axis=y] replace minecraft:hay_block
execute as @s[scores={WrenchSuccess=0}, x_rotation=-90..-45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:hay_block[axis=y] replace minecraft:hay_block
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=-45..45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:hay_block[axis=z] replace minecraft:hay_block
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=135..-135] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:hay_block[axis=z] replace minecraft:hay_block
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=45..135] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:hay_block[axis=x] replace minecraft:hay_block
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=-135..-45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:hay_block[axis=x] replace minecraft:hay_block
# Bone Block
execute as @s[scores={WrenchSuccess=0}, x_rotation=45..90] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:bone_block[axis=y] replace minecraft:bone_block
execute as @s[scores={WrenchSuccess=0}, x_rotation=-90..-45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:bone_block[axis=y] replace minecraft:bone_block
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=-45..45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:bone_block[axis=z] replace minecraft:bone_block
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=135..-135] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:bone_block[axis=z] replace minecraft:bone_block
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=45..135] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:bone_block[axis=x] replace minecraft:bone_block
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=-135..-45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:bone_block[axis=x] replace minecraft:bone_block
# Deepslate
execute as @s[scores={WrenchSuccess=0}, x_rotation=45..90] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:deepslate[axis=y] replace minecraft:deepslate
execute as @s[scores={WrenchSuccess=0}, x_rotation=-90..-45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:deepslate[axis=y] replace minecraft:deepslate
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=-45..45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:deepslate[axis=z] replace minecraft:deepslate
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=135..-135] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:deepslate[axis=z] replace minecraft:deepslate
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=45..135] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:deepslate[axis=x] replace minecraft:deepslate
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=-135..-45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:deepslate[axis=x] replace minecraft:deepslate
# Ochre Froglight
execute as @s[scores={WrenchSuccess=0}, x_rotation=45..90] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:ochre_froglight[axis=y] replace minecraft:ochre_froglight
execute as @s[scores={WrenchSuccess=0}, x_rotation=-90..-45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:ochre_froglight[axis=y] replace minecraft:ochre_froglight
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=-45..45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:ochre_froglight[axis=z] replace minecraft:ochre_froglight
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=135..-135] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:ochre_froglight[axis=z] replace minecraft:ochre_froglight
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=45..135] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:ochre_froglight[axis=x] replace minecraft:ochre_froglight
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=-135..-45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:ochre_froglight[axis=x] replace minecraft:ochre_froglight
# Pearlescent Froglight
execute as @s[scores={WrenchSuccess=0}, x_rotation=45..90] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:pearlescent_froglight[axis=y] replace minecraft:pearlescent_froglight
execute as @s[scores={WrenchSuccess=0}, x_rotation=-90..-45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:pearlescent_froglight[axis=y] replace minecraft:pearlescent_froglight
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=-45..45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:pearlescent_froglight[axis=z] replace minecraft:pearlescent_froglight
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=135..-135] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:pearlescent_froglight[axis=z] replace minecraft:pearlescent_froglight
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=45..135] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:pearlescent_froglight[axis=x] replace minecraft:pearlescent_froglight
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=-135..-45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:pearlescent_froglight[axis=x] replace minecraft:pearlescent_froglight
# Verdant Froglight
execute as @s[scores={WrenchSuccess=0}, x_rotation=45..90] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:verdant_froglight[axis=y] replace minecraft:verdant_froglight
execute as @s[scores={WrenchSuccess=0}, x_rotation=-90..-45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:verdant_froglight[axis=y] replace minecraft:verdant_froglight
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=-45..45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:verdant_froglight[axis=z] replace minecraft:verdant_froglight
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=135..-135] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:verdant_froglight[axis=z] replace minecraft:verdant_froglight
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=45..135] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:verdant_froglight[axis=x] replace minecraft:verdant_froglight
execute as @s[scores={WrenchSuccess=0}, x_rotation=-45..45, y_rotation=-135..-45] store result score @s WrenchSuccess run fill ~ ~ ~ ~ ~ ~ minecraft:verdant_froglight[axis=x] replace minecraft:verdant_froglight
## Non-processed
# Failed
execute as @s[scores={WrenchSuccess=0}] run scoreboard players set @s WrenchSuccess -1

View File

@ -1,5 +0,0 @@
### Rails
# Rotate Based on Wrench Mode
execute as @s[scores={WrenchSuccess=0},nbt={SelectedItem:{components:{"minecraft:lore":["Face Player"]}}}] run function wrench:rotate/rails_player
execute as @s[scores={WrenchSuccess=0}] run function wrench:rotate/rails_cycle

View File

@ -0,0 +1,69 @@
## Cycle Rails
# Normal Rails
# Convert to Sloped
execute as @s[scores={lz_wrench_success=0}] if block ~-1 ~1 ~ #minecraft:rails store result score @s lz_wrench_success run fill ~ ~ ~ ~ ~ ~ minecraft:rail[waterlogged=true,shape=ascending_west] replace minecraft:rail[waterlogged=true,shape=east_west]
execute as @s[scores={lz_wrench_success=0}] if block ~1 ~1 ~ #minecraft:rails store result score @s lz_wrench_success run fill ~ ~ ~ ~ ~ ~ minecraft:rail[waterlogged=true,shape=ascending_east] replace minecraft:rail[waterlogged=true,shape=east_west]
execute as @s[scores={lz_wrench_success=0}] if block ~1 ~1 ~ #minecraft:rails store result score @s lz_wrench_success run fill ~ ~ ~ ~ ~ ~ minecraft:rail[waterlogged=true,shape=ascending_east] replace minecraft:rail[waterlogged=true,shape=ascending_west]
execute as @s[scores={lz_wrench_success=0}] if block ~ ~1 ~-1 #minecraft:rails store result score @s lz_wrench_success run fill ~ ~ ~ ~ ~ ~ minecraft:rail[waterlogged=true,shape=ascending_north] replace minecraft:rail[waterlogged=true,shape=north_south]
execute as @s[scores={lz_wrench_success=0}] if block ~ ~1 ~1 #minecraft:rails store result score @s lz_wrench_success run fill ~ ~ ~ ~ ~ ~ minecraft:rail[waterlogged=true,shape=ascending_south] replace minecraft:rail[waterlogged=true,shape=north_south]
execute as @s[scores={lz_wrench_success=0}] if block ~ ~1 ~1 #minecraft:rails store result score @s lz_wrench_success run fill ~ ~ ~ ~ ~ ~ minecraft:rail[waterlogged=true,shape=ascending_south] replace minecraft:rail[waterlogged=true,shape=ascending_north]
execute as @s[scores={lz_wrench_success=0}] if block ~-1 ~1 ~ #minecraft:rails store result score @s lz_wrench_success run fill ~ ~ ~ ~ ~ ~ minecraft:rail[waterlogged=false,shape=ascending_west] replace minecraft:rail[waterlogged=false,shape=east_west]
execute as @s[scores={lz_wrench_success=0}] if block ~1 ~1 ~ #minecraft:rails store result score @s lz_wrench_success run fill ~ ~ ~ ~ ~ ~ minecraft:rail[waterlogged=false,shape=ascending_east] replace minecraft:rail[waterlogged=false,shape=east_west]
execute as @s[scores={lz_wrench_success=0}] if block ~1 ~1 ~ #minecraft:rails store result score @s lz_wrench_success run fill ~ ~ ~ ~ ~ ~ minecraft:rail[waterlogged=false,shape=ascending_east] replace minecraft:rail[waterlogged=false,shape=ascending_west]
execute as @s[scores={lz_wrench_success=0}] if block ~ ~1 ~-1 #minecraft:rails store result score @s lz_wrench_success run fill ~ ~ ~ ~ ~ ~ minecraft:rail[waterlogged=false,shape=ascending_north] replace minecraft:rail[waterlogged=false,shape=north_south]
execute as @s[scores={lz_wrench_success=0}] if block ~ ~1 ~1 #minecraft:rails store result score @s lz_wrench_success run fill ~ ~ ~ ~ ~ ~ minecraft:rail[waterlogged=false,shape=ascending_south] replace minecraft:rail[waterlogged=false,shape=north_south]
execute as @s[scores={lz_wrench_success=0}] if block ~ ~1 ~1 #minecraft:rails store result score @s lz_wrench_success run fill ~ ~ ~ ~ ~ ~ minecraft:rail[waterlogged=false,shape=ascending_south] replace minecraft:rail[waterlogged=false,shape=ascending_north]
# Convert to Non-Sloped
execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run fill ~ ~ ~ ~ ~ ~ minecraft:rail[waterlogged=true,shape=east_west] replace minecraft:rail[waterlogged=true,shape=north_south]
execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run fill ~ ~ ~ ~ ~ ~ minecraft:rail[waterlogged=true,shape=north_south] replace minecraft:rail[waterlogged=true,shape=north_west]
execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run fill ~ ~ ~ ~ ~ ~ minecraft:rail[waterlogged=true,shape=north_west] replace minecraft:rail[waterlogged=true,shape=north_east]
execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run fill ~ ~ ~ ~ ~ ~ minecraft:rail[waterlogged=true,shape=north_east] replace minecraft:rail[waterlogged=true,shape=south_west]
execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run fill ~ ~ ~ ~ ~ ~ minecraft:rail[waterlogged=true,shape=south_west] replace minecraft:rail[waterlogged=true,shape=south_east]
execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run fill ~ ~ ~ ~ ~ ~ minecraft:rail[waterlogged=true,shape=south_east] replace minecraft:rail[waterlogged=true,shape=east_west]
execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run fill ~ ~ ~ ~ ~ ~ minecraft:rail[waterlogged=false,shape=east_west] replace minecraft:rail[waterlogged=false,shape=north_south]
execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run fill ~ ~ ~ ~ ~ ~ minecraft:rail[waterlogged=false,shape=north_south] replace minecraft:rail[waterlogged=false,shape=north_west]
execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run fill ~ ~ ~ ~ ~ ~ minecraft:rail[waterlogged=false,shape=north_west] replace minecraft:rail[waterlogged=false,shape=north_east]
execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run fill ~ ~ ~ ~ ~ ~ minecraft:rail[waterlogged=false,shape=north_east] replace minecraft:rail[waterlogged=false,shape=south_west]
execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run fill ~ ~ ~ ~ ~ ~ minecraft:rail[waterlogged=false,shape=south_west] replace minecraft:rail[waterlogged=false,shape=south_east]
execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run fill ~ ~ ~ ~ ~ ~ minecraft:rail[waterlogged=false,shape=south_east] replace minecraft:rail[waterlogged=false,shape=east_west]
# Convert Sloped to Non-Sloped
execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run fill ~ ~ ~ ~ ~ ~ minecraft:rail[waterlogged=true,shape=east_west] replace minecraft:rail[waterlogged=true,shape=ascending_north]
execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run fill ~ ~ ~ ~ ~ ~ minecraft:rail[waterlogged=true,shape=east_west] replace minecraft:rail[waterlogged=true,shape=ascending_south]
execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run fill ~ ~ ~ ~ ~ ~ minecraft:rail[waterlogged=true,shape=south_east] replace minecraft:rail[waterlogged=true,shape=ascending_east]
execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run fill ~ ~ ~ ~ ~ ~ minecraft:rail[waterlogged=true,shape=south_east] replace minecraft:rail[waterlogged=true,shape=ascending_west]
execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run fill ~ ~ ~ ~ ~ ~ minecraft:rail[waterlogged=false,shape=east_west] replace minecraft:rail[waterlogged=false,shape=ascending_north]
execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run fill ~ ~ ~ ~ ~ ~ minecraft:rail[waterlogged=false,shape=east_west] replace minecraft:rail[waterlogged=false,shape=ascending_south]
execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run fill ~ ~ ~ ~ ~ ~ minecraft:rail[waterlogged=false,shape=south_east] replace minecraft:rail[waterlogged=false,shape=ascending_east]
execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run fill ~ ~ ~ ~ ~ ~ minecraft:rail[waterlogged=false,shape=south_east] replace minecraft:rail[waterlogged=false,shape=ascending_west]
# Non Curved Rails
# Convert to Sloped
$execute as @s[scores={lz_wrench_success=0}] if block ~-1 ~1 ~ #minecraft:rails store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[waterlogged=true,shape=east_west] run setblock ~ ~ ~ $(block)[waterlogged=true,shape=ascending_east] replace
$execute as @s[scores={lz_wrench_success=0}] if block ~1 ~1 ~ #minecraft:rails store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[waterlogged=true,shape=east_west] run setblock ~ ~ ~ $(block)[waterlogged=true,shape=ascending_east] replace
$execute as @s[scores={lz_wrench_success=0}] if block ~1 ~1 ~ #minecraft:rails store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[waterlogged=true,shape=ascending_west] run setblock ~ ~ ~ $(block)[waterlogged=true,shape=ascending_east] replace
$execute as @s[scores={lz_wrench_success=0}] if block ~ ~1 ~-1 #minecraft:rails store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[waterlogged=true,shape=north_south] run setblock ~ ~ ~ $(block)[waterlogged=true,shape=ascending_north] replace
$execute as @s[scores={lz_wrench_success=0}] if block ~ ~1 ~1 #minecraft:rails store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[waterlogged=true,shape=north_south] run setblock ~ ~ ~ $(block)[waterlogged=true,shape=ascending_south] replace
$execute as @s[scores={lz_wrench_success=0}] if block ~ ~1 ~1 #minecraft:rails store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[waterlogged=true,shape=ascending_north] run setblock ~ ~ ~ $(block)[waterlogged=true,shape=ascending_south] replace
$execute as @s[scores={lz_wrench_success=0}] if block ~-1 ~1 ~ #minecraft:rails store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[waterlogged=false,shape=east_west] run setblock ~ ~ ~ $(block)[waterlogged=false,shape=ascending_west] replace
$execute as @s[scores={lz_wrench_success=0}] if block ~1 ~1 ~ #minecraft:rails store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[waterlogged=false,shape=east_west] run setblock ~ ~ ~ $(block)[waterlogged=false,shape=ascending_east] replace
$execute as @s[scores={lz_wrench_success=0}] if block ~1 ~1 ~ #minecraft:rails store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[waterlogged=false,shape=ascending_west] run setblock ~ ~ ~ $(block)[waterlogged=false,shape=ascending_east] replace
$execute as @s[scores={lz_wrench_success=0}] if block ~ ~1 ~-1 #minecraft:rails store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[waterlogged=false,shape=north_south] run setblock ~ ~ ~ $(block)[waterlogged=false,shape=ascending_north] replace
$execute as @s[scores={lz_wrench_success=0}] if block ~ ~1 ~1 #minecraft:rails store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[waterlogged=false,shape=north_south] run setblock ~ ~ ~ $(block)[waterlogged=false,shape=ascending_south] replace
$execute as @s[scores={lz_wrench_success=0}] if block ~ ~1 ~1 #minecraft:rails store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[waterlogged=false,shape=ascending_north] run setblock ~ ~ ~ $(block)[waterlogged=false,shape=ascending_south] replace
# Convert to Non-Sloped
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[waterlogged=true,shape=north_south] run setblock ~ ~ ~ $(block)[waterlogged=true,shape=east_west] replace
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[waterlogged=true,shape=east_west] run setblock ~ ~ ~ $(block)[waterlogged=true,shape=north_south] replace
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[waterlogged=false,shape=north_south] run setblock ~ ~ ~ $(block)[waterlogged=false,shape=east_west] replace
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[waterlogged=false,shape=east_west] run setblock ~ ~ ~ $(block)[waterlogged=false,shape=north_south] replace
# Convert Sloped to Non-Sloped
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[waterlogged=true,shape=ascending_north] run setblock ~ ~ ~ $(block)[waterlogged=true,shape=east_west] replace
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[waterlogged=true,shape=ascending_south] run setblock ~ ~ ~ $(block)[waterlogged=true,shape=east_west] replace
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[waterlogged=true,shape=ascending_east] run setblock ~ ~ ~ $(block)[waterlogged=true,shape=north_south] replace
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[waterlogged=true,shape=ascending_west] run setblock ~ ~ ~ $(block)[waterlogged=true,shape=north_south] replace
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[waterlogged=false,shape=ascending_north] run setblock ~ ~ ~ $(block)[waterlogged=false,shape=east_west] replace
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[waterlogged=false,shape=ascending_south] run setblock ~ ~ ~ $(block)[waterlogged=false,shape=east_west] replace
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[waterlogged=false,shape=ascending_east] run setblock ~ ~ ~ $(block)[waterlogged=false,shape=north_south] replace
$execute as @s[scores={lz_wrench_success=0}] store result score @s lz_wrench_success run execute if block ~ ~ ~ $(block)[waterlogged=false,shape=ascending_west] run setblock ~ ~ ~ $(block)[waterlogged=false,shape=north_south] replace

View File

@ -0,0 +1,81 @@
### Face Player Rails
# Normal Rails
# Sloped up
execute as @s[scores={lz_wrench_success=0}, y_rotation=-45..45] if block ~ ~1 ~1 #minecraft:rails store result score @s lz_wrench_success run fill ~ ~ ~ ~ ~ ~ minecraft:rail[waterlogged=true,shape=ascending_south] replace minecraft:rail[waterlogged=true]
execute as @s[scores={lz_wrench_success=0}, y_rotation=45..135] if block ~-1 ~1 ~ #minecraft:rails store result score @s lz_wrench_success run fill ~ ~ ~ ~ ~ ~ minecraft:rail[waterlogged=true,shape=ascending_west] replace minecraft:rail[waterlogged=true]
execute as @s[scores={lz_wrench_success=0}, y_rotation=135..-135] if block ~ ~1 ~-1 #minecraft:rails store result score @s lz_wrench_success run fill ~ ~ ~ ~ ~ ~ minecraft:rail[waterlogged=true,shape=ascending_north] replace minecraft:rail[waterlogged=true]
execute as @s[scores={lz_wrench_success=0}, y_rotation=-135..-45] if block ~1 ~1 ~ #minecraft:rails store result score @s lz_wrench_success run fill ~ ~ ~ ~ ~ ~ minecraft:rail[waterlogged=true,shape=ascending_east] replace minecraft:rail[waterlogged=true]
execute as @s[scores={lz_wrench_success=0}, y_rotation=-45..45] if block ~ ~1 ~1 #minecraft:rails store result score @s lz_wrench_success run fill ~ ~ ~ ~ ~ ~ minecraft:rail[shape=ascending_south] replace minecraft:rail[waterlogged=false]
execute as @s[scores={lz_wrench_success=0}, y_rotation=45..135] if block ~-1 ~1 ~ #minecraft:rails store result score @s lz_wrench_success run fill ~ ~ ~ ~ ~ ~ minecraft:rail[shape=ascending_west] replace minecraft:rail[waterlogged=false]
execute as @s[scores={lz_wrench_success=0}, y_rotation=135..-135] if block ~ ~1 ~-1 #minecraft:rails store result score @s lz_wrench_success run fill ~ ~ ~ ~ ~ ~ minecraft:rail[shape=ascending_north] replace minecraft:rail[waterlogged=false]
execute as @s[scores={lz_wrench_success=0}, y_rotation=-135..-45] if block ~1 ~1 ~ #minecraft:rails store result score @s lz_wrench_success run fill ~ ~ ~ ~ ~ ~ minecraft:rail[shape=ascending_east] replace minecraft:rail[waterlogged=false]
# Sloped down
execute as @s[scores={lz_wrench_success=0}, y_rotation=-45..45] if block ~ ~1 ~-1 #minecraft:rails store result score @s lz_wrench_success run fill ~ ~ ~ ~ ~ ~ minecraft:rail[waterlogged=true,shape=ascending_north] replace minecraft:rail[waterlogged=true]
execute as @s[scores={lz_wrench_success=0}, y_rotation=45..135] if block ~1 ~1 ~ #minecraft:rails store result score @s lz_wrench_success run fill ~ ~ ~ ~ ~ ~ minecraft:rail[waterlogged=true,shape=ascending_east] replace minecraft:rail[waterlogged=true]
execute as @s[scores={lz_wrench_success=0}, y_rotation=135..-135] if block ~ ~1 ~1 #minecraft:rails store result score @s lz_wrench_success run fill ~ ~ ~ ~ ~ ~ minecraft:rail[waterlogged=true,shape=ascending_south] replace minecraft:rail[waterlogged=true]
execute as @s[scores={lz_wrench_success=0}, y_rotation=-135..-45] if block ~-1 ~1 ~ #minecraft:rails store result score @s lz_wrench_success run fill ~ ~ ~ ~ ~ ~ minecraft:rail[waterlogged=true,shape=ascending_west] replace minecraft:rail[waterlogged=true]
execute as @s[scores={lz_wrench_success=0}, y_rotation=-45..45] if block ~ ~1 ~-1 #minecraft:rails store result score @s lz_wrench_success run fill ~ ~ ~ ~ ~ ~ minecraft:rail[shape=ascending_north] replace minecraft:rail[waterlogged=false]
execute as @s[scores={lz_wrench_success=0}, y_rotation=45..135] if block ~1 ~1 ~ #minecraft:rails store result score @s lz_wrench_success run fill ~ ~ ~ ~ ~ ~ minecraft:rail[shape=ascending_east] replace minecraft:rail[waterlogged=false]
execute as @s[scores={lz_wrench_success=0}, y_rotation=135..-135] if block ~ ~1 ~1 #minecraft:rails store result score @s lz_wrench_success run fill ~ ~ ~ ~ ~ ~ minecraft:rail[shape=ascending_south] replace minecraft:rail[waterlogged=false]
execute as @s[scores={lz_wrench_success=0}, y_rotation=-135..-45] if block ~-1 ~1 ~ #minecraft:rails store result score @s lz_wrench_success run fill ~ ~ ~ ~ ~ ~ minecraft:rail[shape=ascending_west] replace minecraft:rail[waterlogged=false]
# Straight
execute as @s[scores={lz_wrench_success=0}, y_rotation=-45..45] store result score @s lz_wrench_success run fill ~ ~ ~ ~ ~ ~ minecraft:rail[waterlogged=true,shape=north_south] replace minecraft:rail[waterlogged=true]
execute as @s[scores={lz_wrench_success=0}, y_rotation=45..135] store result score @s lz_wrench_success run fill ~ ~ ~ ~ ~ ~ minecraft:rail[waterlogged=true,shape=east_west] replace minecraft:rail[waterlogged=true]
execute as @s[scores={lz_wrench_success=0}, y_rotation=135..-135] store result score @s lz_wrench_success run fill ~ ~ ~ ~ ~ ~ minecraft:rail[waterlogged=true,shape=north_south] replace minecraft:rail[waterlogged=true]
execute as @s[scores={lz_wrench_success=0}, y_rotation=-135..-45] store result score @s lz_wrench_success run fill ~ ~ ~ ~ ~ ~ minecraft:rail[waterlogged=true,shape=east_west] replace minecraft:rail[waterlogged=true]
execute as @s[scores={lz_wrench_success=0}, y_rotation=-45..45] store result score @s lz_wrench_success run fill ~ ~ ~ ~ ~ ~ minecraft:rail[shape=north_south] replace minecraft:rail[waterlogged=false]
execute as @s[scores={lz_wrench_success=0}, y_rotation=45..135] store result score @s lz_wrench_success run fill ~ ~ ~ ~ ~ ~ minecraft:rail[shape=east_west] replace minecraft:rail[waterlogged=false]
execute as @s[scores={lz_wrench_success=0}, y_rotation=135..-135] store result score @s lz_wrench_success run fill ~ ~ ~ ~ ~ ~ minecraft:rail[shape=north_south] replace minecraft:rail[waterlogged=false]
execute as @s[scores={lz_wrench_success=0}, y_rotation=-135..-45] store result score @s lz_wrench_success run fill ~ ~ ~ ~ ~ ~ minecraft:rail[shape=east_west] replace minecraft:rail[waterlogged=false]
# Curved
execute as @s[scores={lz_wrench_success=0}, y_rotation=0..45] store result score @s lz_wrench_success run fill ~ ~ ~ ~ ~ ~ minecraft:rail[waterlogged=true,shape=north_west] replace minecraft:rail[waterlogged=true]
execute as @s[scores={lz_wrench_success=0}, y_rotation=45..90] store result score @s lz_wrench_success run fill ~ ~ ~ ~ ~ ~ minecraft:rail[waterlogged=true,shape=south_east] replace minecraft:rail[waterlogged=true]
execute as @s[scores={lz_wrench_success=0}, y_rotation=90..135] store result score @s lz_wrench_success run fill ~ ~ ~ ~ ~ ~ minecraft:rail[waterlogged=true,shape=north_east] replace minecraft:rail[waterlogged=true]
execute as @s[scores={lz_wrench_success=0}, y_rotation=135..180] store result score @s lz_wrench_success run fill ~ ~ ~ ~ ~ ~ minecraft:rail[waterlogged=true,shape=south_west] replace minecraft:rail[waterlogged=true]
execute as @s[scores={lz_wrench_success=0}, y_rotation=180..-135] store result score @s lz_wrench_success run fill ~ ~ ~ ~ ~ ~ minecraft:rail[waterlogged=true,shape=south_east] replace minecraft:rail[waterlogged=true]
execute as @s[scores={lz_wrench_success=0}, y_rotation=-135..-90] store result score @s lz_wrench_success run fill ~ ~ ~ ~ ~ ~ minecraft:rail[waterlogged=true,shape=north_west] replace minecraft:rail[waterlogged=true]
execute as @s[scores={lz_wrench_success=0}, y_rotation=-90..-45] store result score @s lz_wrench_success run fill ~ ~ ~ ~ ~ ~ minecraft:rail[waterlogged=true,shape=south_west] replace minecraft:rail[waterlogged=true]
execute as @s[scores={lz_wrench_success=0}, y_rotation=-45..-0] store result score @s lz_wrench_success run fill ~ ~ ~ ~ ~ ~ minecraft:rail[waterlogged=true,shape=north_east] replace minecraft:rail[waterlogged=true]
execute as @s[scores={lz_wrench_success=0}, y_rotation=0..45] store result score @s lz_wrench_success run fill ~ ~ ~ ~ ~ ~ minecraft:rail[shape=north_west] replace minecraft:rail[waterlogged=false]
execute as @s[scores={lz_wrench_success=0}, y_rotation=45..90] store result score @s lz_wrench_success run fill ~ ~ ~ ~ ~ ~ minecraft:rail[shape=south_east] replace minecraft:rail[waterlogged=false]
execute as @s[scores={lz_wrench_success=0}, y_rotation=90..135] store result score @s lz_wrench_success run fill ~ ~ ~ ~ ~ ~ minecraft:rail[shape=north_east] replace minecraft:rail[waterlogged=false]
execute as @s[scores={lz_wrench_success=0}, y_rotation=135..180] store result score @s lz_wrench_success run fill ~ ~ ~ ~ ~ ~ minecraft:rail[shape=south_west] replace minecraft:rail[waterlogged=false]
execute as @s[scores={lz_wrench_success=0}, y_rotation=180..-135] store result score @s lz_wrench_success run fill ~ ~ ~ ~ ~ ~ minecraft:rail[shape=south_east] replace minecraft:rail[waterlogged=false]
execute as @s[scores={lz_wrench_success=0}, y_rotation=-135..-90] store result score @s lz_wrench_success run fill ~ ~ ~ ~ ~ ~ minecraft:rail[shape=north_west] replace minecraft:rail[waterlogged=false]
execute as @s[scores={lz_wrench_success=0}, y_rotation=-90..-45] store result score @s lz_wrench_success run fill ~ ~ ~ ~ ~ ~ minecraft:rail[shape=south_west] replace minecraft:rail[waterlogged=false]
execute as @s[scores={lz_wrench_success=0}, y_rotation=-45..-0] store result score @s lz_wrench_success run fill ~ ~ ~ ~ ~ ~ minecraft:rail[shape=north_east] replace minecraft:rail[waterlogged=false]
# Non Curved Rails
# Sloped up
$execute as @s[scores={lz_wrench_success=0}, y_rotation=-45..45] if block ~ ~1 ~1 #minecraft:rails store result score @s lz_wrench_success unless block ~ ~ ~ $(block)[shape=ascending_south] run execute if block ~ ~ ~ $(block)[waterlogged=true] run setblock ~ ~ ~ $(block)[waterlogged=true,shape=ascending_south] replace
$execute as @s[scores={lz_wrench_success=0}, y_rotation=45..135] if block ~-1 ~1 ~ #minecraft:rails store result score @s lz_wrench_success unless block ~ ~ ~ $(block)[shape=ascending_west] run execute if block ~ ~ ~ $(block)[waterlogged=true] run setblock ~ ~ ~ $(block)[waterlogged=true,shape=ascending_west] replace
$execute as @s[scores={lz_wrench_success=0}, y_rotation=135..-135] if block ~ ~1 ~-1 #minecraft:rails store result score @s lz_wrench_success unless block ~ ~ ~ $(block)[shape=ascending_north] run execute if block ~ ~ ~ $(block)[waterlogged=true] run setblock ~ ~ ~ $(block)[waterlogged=true,shape=ascending_north] replace
$execute as @s[scores={lz_wrench_success=0}, y_rotation=-135..-45] if block ~1 ~1 ~ #minecraft:rails store result score @s lz_wrench_success unless block ~ ~ ~ $(block)[shape=ascending_east] run execute if block ~ ~ ~ $(block)[waterlogged=true] run setblock ~ ~ ~ $(block)[waterlogged=true,shape=ascending_east] replace
$execute as @s[scores={lz_wrench_success=0}, y_rotation=-45..45] if block ~ ~1 ~1 #minecraft:rails store result score @s lz_wrench_success unless block ~ ~ ~ $(block)[shape=ascending_south] run execute if block ~ ~ ~ $(block)[waterlogged=false] run setblock ~ ~ ~ $(block)[shape=ascending_south] replace
$execute as @s[scores={lz_wrench_success=0}, y_rotation=45..135] if block ~-1 ~1 ~ #minecraft:rails store result score @s lz_wrench_success unless block ~ ~ ~ $(block)[shape=ascending_west] run execute if block ~ ~ ~ $(block)[waterlogged=false] run setblock ~ ~ ~ $(block)[shape=ascending_west] replace
$execute as @s[scores={lz_wrench_success=0}, y_rotation=135..-135] if block ~ ~1 ~-1 #minecraft:rails store result score @s lz_wrench_success unless block ~ ~ ~ $(block)[shape=ascending_north] run execute if block ~ ~ ~ $(block)[waterlogged=false] run setblock ~ ~ ~ $(block)[shape=ascending_north] replace
$execute as @s[scores={lz_wrench_success=0}, y_rotation=-135..-45] if block ~1 ~1 ~ #minecraft:rails store result score @s lz_wrench_success unless block ~ ~ ~ $(block)[shape=ascending_east] run execute if block ~ ~ ~ $(block)[waterlogged=false] run setblock ~ ~ ~ $(block)[shape=ascending_east] replace
# Sloped down
$execute as @s[scores={lz_wrench_success=0}, y_rotation=-45..45] if block ~ ~1 ~-1 #minecraft:rails store result score @s lz_wrench_success unless block ~ ~ ~ $(block)[shape=ascending_north] run execute if block ~ ~ ~ $(block)[waterlogged=true] run setblock ~ ~ ~ $(block)[waterlogged=true,shape=ascending_north] replace
$execute as @s[scores={lz_wrench_success=0}, y_rotation=45..135] if block ~1 ~1 ~ #minecraft:rails store result score @s lz_wrench_success unless block ~ ~ ~ $(block)[shape=ascending_east] run execute if block ~ ~ ~ $(block)[waterlogged=true] run setblock ~ ~ ~ $(block)[waterlogged=true,shape=ascending_east] replace
$execute as @s[scores={lz_wrench_success=0}, y_rotation=135..-135] if block ~ ~1 ~1 #minecraft:rails store result score @s lz_wrench_success unless block ~ ~ ~ $(block)[shape=ascending_south] run execute if block ~ ~ ~ $(block)[waterlogged=true] run setblock ~ ~ ~ $(block)[waterlogged=true,shape=ascending_south] replace
$execute as @s[scores={lz_wrench_success=0}, y_rotation=-135..-45] if block ~-1 ~1 ~ #minecraft:rails store result score @s lz_wrench_success unless block ~ ~ ~ $(block)[shape=ascending_west] run execute if block ~ ~ ~ $(block)[waterlogged=true] run setblock ~ ~ ~ $(block)[waterlogged=true,shape=ascending_west] replace
$execute as @s[scores={lz_wrench_success=0}, y_rotation=-45..45] if block ~ ~1 ~-1 #minecraft:rails store result score @s lz_wrench_success unless block ~ ~ ~ $(block)[shape=ascending_north] run execute if block ~ ~ ~ $(block)[waterlogged=false] run setblock ~ ~ ~ $(block)[shape=ascending_north] replace
$execute as @s[scores={lz_wrench_success=0}, y_rotation=45..135] if block ~1 ~1 ~ #minecraft:rails store result score @s lz_wrench_success unless block ~ ~ ~ $(block)[shape=ascending_east] run execute if block ~ ~ ~ $(block)[waterlogged=false] run setblock ~ ~ ~ $(block)[shape=ascending_east] replace
$execute as @s[scores={lz_wrench_success=0}, y_rotation=135..-135] if block ~ ~1 ~1 #minecraft:rails store result score @s lz_wrench_success unless block ~ ~ ~ $(block)[shape=ascending_south] run execute if block ~ ~ ~ $(block)[waterlogged=false] run setblock ~ ~ ~ $(block)[shape=ascending_south] replace
$execute as @s[scores={lz_wrench_success=0}, y_rotation=-135..-45] if block ~-1 ~1 ~ #minecraft:rails store result score @s lz_wrench_success unless block ~ ~ ~ $(block)[shape=ascending_west] run execute if block ~ ~ ~ $(block)[waterlogged=false] run setblock ~ ~ ~ $(block)[shape=ascending_west] replace
# Straight
$execute as @s[scores={lz_wrench_success=0}, y_rotation=-45..45] store result score @s lz_wrench_success unless block ~ ~ ~ $(block)[shape=north_south] run execute if block ~ ~ ~ $(block)[waterlogged=true] run setblock ~ ~ ~ $(block)[waterlogged=true,shape=north_south] replace
$execute as @s[scores={lz_wrench_success=0}, y_rotation=45..135] store result score @s lz_wrench_success unless block ~ ~ ~ $(block)[shape=east_west] run execute if block ~ ~ ~ $(block)[waterlogged=true] run setblock ~ ~ ~ $(block)[waterlogged=true,shape=east_west] replace
$execute as @s[scores={lz_wrench_success=0}, y_rotation=135..-135] store result score @s lz_wrench_success unless block ~ ~ ~ $(block)[shape=north_south] run execute if block ~ ~ ~ $(block)[waterlogged=true] run setblock ~ ~ ~ $(block)[waterlogged=true,shape=north_south] replace
$execute as @s[scores={lz_wrench_success=0}, y_rotation=-135..-45] store result score @s lz_wrench_success unless block ~ ~ ~ $(block)[shape=east_west] run execute if block ~ ~ ~ $(block)[waterlogged=true] run setblock ~ ~ ~ $(block)[waterlogged=true,shape=east_west] replace
$execute as @s[scores={lz_wrench_success=0}, y_rotation=-45..45] store result score @s lz_wrench_success unless block ~ ~ ~ $(block)[shape=north_south] run execute if block ~ ~ ~ $(block)[waterlogged=false] run setblock ~ ~ ~ $(block)[shape=north_south] replace
$execute as @s[scores={lz_wrench_success=0}, y_rotation=45..135] store result score @s lz_wrench_success unless block ~ ~ ~ $(block)[shape=east_west] run execute if block ~ ~ ~ $(block)[waterlogged=false] run setblock ~ ~ ~ $(block)[shape=east_west] replace
$execute as @s[scores={lz_wrench_success=0}, y_rotation=135..-135] store result score @s lz_wrench_success unless block ~ ~ ~ $(block)[shape=north_south] run execute if block ~ ~ ~ $(block)[waterlogged=false] run setblock ~ ~ ~ $(block)[shape=north_south] replace
$execute as @s[scores={lz_wrench_success=0}, y_rotation=-135..-45] store result score @s lz_wrench_success unless block ~ ~ ~ $(block)[shape=east_west] run execute if block ~ ~ ~ $(block)[waterlogged=false] run setblock ~ ~ ~ $(block)[shape=east_west] replace
# Failed
execute as @s[scores={lz_wrench_success=0}] run scoreboard players set @s lz_wrench_success -1

Some files were not shown because too many files have changed in this diff Show More