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
Copyright (c) 2023 Mark Rapson (LZStealth)
Copyright (c) 2021 GoldenDelicios
Copyright (c) 2025 Mark Rapson (LZStealth)
Permission is hereby granted, free of charge, to any person obtaining a copy
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.
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
* Works on all rotatable blocks
* End rods can only be flipped.
* Cycles through all rotations.
## Flip
* Works on *Redstone*, *Rods*, *Slabs* and *Stairs*.
* Flips the block to the opposite rotation.
* Moves slabs between the top and bottom slab position.
## Face player
* Works on *Rails*, *Redstone*, *Pillars* and *Stairs*.
* Rotates the block based on player's rotation.
* similar to default placement of most *Redstone*.
* 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.
## Face click
* Works on *Rails*, *Redstone*, *Pillars* and *Stairs*.
* Rotates the block to face the side of the block aimed at.
* similar to default placement of *Pillars*.
* 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.
![](https://i.imgur.com/3NYmwIe.png)
* Special cases:
* In general, if "Face click" cannot be used, the Wrench will default to "Face Player".
* Hoppers will only use "Face player" if the top full-width section is clicked. Otherwise it will default to "Face Player" mode.
* In general, if "Face click" cannot be used, the Wrench will default to "Flip".
* 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.
@ -59,4 +45,4 @@ Rotatable blocks are divided into 5 categories:
* e.g. clicking edges of a block with "Face Click".
* 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,
"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
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]
### Partial Boxes
# Calculate partial-box
#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
# Partial Boxes
execute if block ~ ~ ~ #wrench:banners run function wrench:raycast/partialbox/banners
execute if block ~ ~ ~ #minecraft:rails run function wrench:raycast/partialbox/rails
execute if block ~ ~ ~ #minecraft:trapdoors run function wrench:raycast/partialbox/trapdoors
execute if block ~ ~ ~ #minecraft:slabs run function wrench:raycast/partialbox/slabs
execute if block ~ ~ ~ #minecraft:stairs run function wrench:raycast/partialbox/stairs
execute if block ~ ~ ~ #minecraft:fence_gates run function wrench:raycast/partialbox/fence_gates
execute if block ~ ~ ~ #minecraft:campfires run function wrench:raycast/partialbox/campfires
execute if block ~ ~ ~ #minecraft:all_signs run function wrench:raycast/partialbox/signs
execute if block ~ ~ ~ #minecraft:anvil run function wrench:raycast/partialbox/anvils
execute if block ~ ~ ~ minecraft:repeater run function wrench:raycast/partialbox/repeater
execute if block ~ ~ ~ minecraft:comparator run function wrench:raycast/partialbox/comparator
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 if block ~ ~ ~ minecraft:sticky_piston run function wrench:raycast/partialbox/pistons
execute if block ~ ~ ~ minecraft:hopper run function wrench:raycast/partialbox/hopper
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
execute if block ~ ~ ~ minecraft:chain run function wrench:raycast/partialbox/chain
execute if block ~ ~ ~ minecraft:decorated_pot run function wrench:raycast/partialbox/decorated_pot
execute if block ~ ~ ~ minecraft:stonecutter run function wrench:raycast/partialbox/stonecutter
execute if block ~ ~ ~ minecraft:ender_chest run function wrench:raycast/partialbox/ender_chest
execute if block ~ ~ ~ minecraft:bell run function wrench:raycast/partialbox/bell
execute if block ~ ~ ~ minecraft:grindstone run function wrench:raycast/partialbox/grindstone

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
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=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=z] if score px WrenchRaycast matches 7..8 if score py WrenchRaycast matches 7..8 run function wrench:rotate/chain_flip
# Chain
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 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 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
execute if block ~ ~ ~ minecraft:piston[extended=false] run function wrench:rotate/redstone
execute if block ~ ~ ~ minecraft:piston[facing=up] if score py WrenchRaycast matches ..11 run function wrench:rotate/redstone
execute if block ~ ~ ~ minecraft:piston[facing=down] if score py WrenchRaycast matches 4.. run function wrench:rotate/redstone
execute if block ~ ~ ~ minecraft:piston[facing=south] if score pz WrenchRaycast matches ..11 run function wrench:rotate/redstone
execute if block ~ ~ ~ minecraft:piston[facing=north] if score pz WrenchRaycast matches 4.. run function wrench:rotate/redstone
execute if block ~ ~ ~ minecraft:piston[facing=east] if score px WrenchRaycast matches ..11 run function wrench:rotate/redstone
execute if block ~ ~ ~ minecraft:piston[facing=west] if score px WrenchRaycast matches 4.. 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 lz_wrench_raycast matches ..11 run function wrench:rotate/neswud/rotate
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 lz_wrench_raycast matches ..11 run function wrench:rotate/neswud/rotate
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 lz_wrench_raycast matches ..11 run function wrench:rotate/neswud/rotate
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
execute if block ~ ~ ~ #minecraft:rails if score py WrenchRaycast matches ..1 run function wrench:rotate/rails
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_east] if score py WrenchRaycast matches ..7 run function wrench:rotate/rails
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_south] if score py WrenchRaycast matches ..7 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 lz_wrench_raycast matches ..7 run function wrench:rotate/rails/rotate
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 lz_wrench_raycast matches ..7 run function wrench:rotate/rails/rotate
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
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=bottom] if score py WrenchRaycast matches ..7 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 lz_wrench_raycast matches ..7 run function wrench:rotate/slabs/rotate

View File

@ -1,19 +1,20 @@
#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
# 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
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 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 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 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 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 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
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 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 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.. 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 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 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
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 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 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.. 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 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 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
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 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 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 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 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 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
execute if block ~ ~ ~ #wrench:partialbox run function wrench:raycast/partialbox
execute if block ~ ~ ~ #wrench:banners run function wrench:raycast/partialbox
# 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 unless score WrenchPillars WrenchConfig matches 0 if block ~ ~ ~ #wrench:pillars run function wrench:rotate/pillars
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:neswud run function wrench:rotate/neswud/rotate
execute unless block ~ ~ ~ #wrench:partialbox if block ~ ~ ~ #wrench:nesw run function wrench:rotate/nesw/rotate
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
execute as @s[scores={WrenchSuccess=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 ~ ~ ~
# Raycast Debug
execute if score WrenchDebug WrenchConfig matches 1 run summon area_effect_cloud ~ ~ ~ {Particle:happy_villager,Radius:0.01,Duration:2}
# Force Update on block
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..}] 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 ~ ~ ~
# Advance forward and if nothing found
scoreboard players add #distance WrenchRaycast 1
execute if score @s WrenchSuccess matches 0 if score #distance WrenchRaycast matches ..350 positioned ^ ^ ^0.01 run function wrench:raycast/rayloop
scoreboard players add #distance lz_wrench_raycast 1
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.
tag @s add raycast
scoreboard players set #distance WrenchRaycast 0
scoreboard players set #distance lz_wrench_raycast 0
tag @s add lz_wrench_raycast
#Activating the raycast. This function will call itself until it is done.
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
execute as @e[tag=lz_wrench_raycast] at @s anchored eyes positioned ^ ^ ^ run function wrench:raycast/rayloop
#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