Compare commits

..
11 Commits
Author SHA1 Message Date
lzstealth 0e84867f0a Alphabetized tags
Added waterlogged predicate
Added Chain Variants
Added Copper Golems
Added Shelves
Shrunk Ender Chest hitbox

Moved partial box items into their own folder
2025-10-01 16:49:48 +01:00
lzstealth dec09d4a44 Resolved Chisel Block Place durability AGAIN 2025-05-22 22:46:18 +01:00
lzstealth c8a6e5938f Block Check Fix for Chisel 2025-05-22 22:20:14 +01:00
lzstealth 8cb721170b Update uninstall script 2025-05-22 21:27:49 +01:00
lzstealth ce728ebd2b Do nothing is empty slot 2025-05-22 21:26:34 +01:00
lzstealth a4ef6ca5f0 Chisel do nothing on unbreakable blocks 2025-05-21 21:47:58 +01:00
lzstealth 46a6e9ad65 Added Chisel 2025-05-21 21:26:09 +01:00
lzstealth 2b30e94381 Added durability to give command on trowels 2025-05-19 14:30:58 +01:00
lzstealth 8784b377f9 Added Skulls
Removed double checks
2025-05-18 02:15:33 +01:00
lzstealth c81a852e72 Fixed Hammer Durability not registering 2025-05-17 16:53:58 +01:00
lzstealth 723cbfc483 Data cleanup
Update uninstall command
Increased hammer durability
2025-05-17 10:48:51 +01:00
188 changed files with 1674 additions and 800 deletions
@@ -0,0 +1,6 @@
{
"parent": "minecraft:item/handheld",
"textures": {
"layer0": "lzstools:item/chisel/diamond"
}
}
@@ -0,0 +1,6 @@
{
"parent": "minecraft:item/handheld",
"textures": {
"layer0": "lzstools:item/chisel/iron"
}
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 364 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 378 B

@@ -55,6 +55,20 @@
"type": "model",
"model": "lzstools:items/trowel/diamond"
}
},
{
"when": "lzstools:chisel_iron",
"model": {
"type": "model",
"model": "lzstools:items/chisel/iron"
}
},
{
"when": "lzstools:chisel_diamond",
"model": {
"type": "model",
"model": "lzstools:items/chisel/diamond"
}
}
]
}
@@ -0,0 +1,32 @@
{
"display": {
"icon": {
"id": "minecraft:carrot_on_a_stick",
"components": {
"minecraft:custom_model_data": {
"strings": [
"lzstools:chisel_diamond"
]
}
}
},
"title": {
"text": "As flawless as Michelangelo"
},
"description": {
"text": "Craft a Diamond Chisel"
},
"show_toast": true,
"announce_to_chat": false,
"hidden": false
},
"parent": "lzstools:visible/chisel_iron",
"criteria": {
"": {
"trigger": "minecraft:recipe_crafted",
"conditions": {
"recipe_id": "lzstools_chisel:diamond"
}
}
}
}
@@ -0,0 +1,32 @@
{
"display": {
"icon": {
"id": "minecraft:carrot_on_a_stick",
"components": {
"minecraft:custom_model_data": {
"strings": [
"lzstools:chisel_iron"
]
}
}
},
"title": {
"text": "Just take a stab at it"
},
"description": {
"text": "Craft a Chisel"
},
"show_toast": true,
"announce_to_chat": false,
"hidden": false
},
"parent": "lzstools:visible/root",
"criteria": {
"": {
"trigger": "minecraft:recipe_crafted",
"conditions": {
"recipe_id": "lzstools_chisel:iron"
}
}
}
}
@@ -6,4 +6,7 @@ execute if predicate lzstools:wrench/offhand run function lzstools_wrench:wrench
# Trowel
execute if predicate lzstools:trowel/mainhand run function lzstools_trowel:mainhand
execute if predicate lzstools:trowel/offhand run function lzstools_trowel:offhand
execute if predicate lzstools:trowel/offhand run function lzstools_trowel:offhand
# Chisel
execute if predicate lzstools:chisel/mainhand run function lzstools_chisel:mainhand
@@ -0,0 +1 @@
give @s minecraft:carrot_on_a_stick[minecraft:item_name={"text":"Diamond Chisel","color":"aqua"},minecraft:custom_model_data={strings:["lzstools:chisel_diamond"]},minecraft:custom_data={"lzstools":["chisel","chisel_diamond"]},minecraft:max_damage=2100]
@@ -0,0 +1 @@
give @s minecraft:carrot_on_a_stick[minecraft:item_name={"text":"Iron Chisel","color":"aqua"},minecraft:custom_model_data={strings:["lzstools:chisel_iron"]},minecraft:custom_data={"lzstools":["chisel","chisel_iron"]},minecraft:max_damage=350]
@@ -1 +1 @@
give @s minecraft:iron_pickaxe[minecraft:item_name={"text":"Hammer","color":"light_purple"},minecraft:custom_model_data={strings:["lzstools:hammer"]},minecraft:custom_data={"lzstools":["hammer"]},minecraft:max_damage=1800]
give @s minecraft:iron_pickaxe[minecraft:item_name={"text":"Hammer","color":"light_purple"},minecraft:custom_model_data={strings:["lzstools:hammer"]},minecraft:custom_data={"lzstools":["hammer"]},minecraft:max_damage=2400]
@@ -1 +1 @@
give @s minecraft:carrot_on_a_stick[minecraft:item_name={"text":"Diamond Trowel","color":"aqua"},minecraft:custom_model_data={strings:["lzstools:trowel_diamond"]},minecraft:custom_data={"lzstools":["trowel","trowel_diamond"]}]
give @s minecraft:carrot_on_a_stick[minecraft:item_name={"text":"Diamond Trowel","color":"aqua"},minecraft:custom_model_data={strings:["lzstools:trowel_diamond"]},minecraft:custom_data={"lzstools":["trowel","trowel_diamond"]},minecraft:max_damage=4500]
@@ -1 +1 @@
give @s minecraft:carrot_on_a_stick[minecraft:item_name={"text":"Iron Trowel","color":"aqua"},minecraft:custom_model_data={strings:["lzstools:trowel_iron"]},minecraft:custom_data={"lzstools":["trowel","trowel_iron"]}]
give @s minecraft:carrot_on_a_stick[minecraft:item_name={"text":"Iron Trowel","color":"aqua"},minecraft:custom_model_data={strings:["lzstools:trowel_iron"]},minecraft:custom_data={"lzstools":["trowel","trowel_iron"]},minecraft:max_damage=750]
+11
View File
@@ -16,6 +16,17 @@ scoreboard objectives add lzt_trowel_unbreaking_chance dummy
scoreboard objectives add lzt_trowel_damage dummy
scoreboard objectives add lzt_trowel_max_damage dummy
# Chisel
scoreboard objectives add lzt_chisel_success dummy
scoreboard objectives add lzt_chisel_raycast dummy
scoreboard objectives add lzt_chisel_raycast_hit dummy
scoreboard objectives add lzt_chisel_block_check dummy
scoreboard objectives add lzt_chisel_slot dummy
scoreboard objectives add lzt_chisel_unbreaking_check dummy
scoreboard objectives add lzt_chisel_unbreaking_chance dummy
scoreboard objectives add lzt_chisel_damage dummy
scoreboard objectives add lzt_chisel_max_damage dummy
# Hammer
scoreboard objectives add lzt_hammer_check minecraft.used:minecraft.iron_pickaxe
scoreboard objectives add lzt_hammer_success dummy
@@ -1,4 +1,6 @@
recipe give @s lzstools_wrench:wrench
recipe give @s lzstools_trowel:iron
recipe give @s lzstools_trowel:diamond
recipe give @s lzstools_chisel:iron
recipe give @s lzstools_chisel:diamond
recipe give @s lzstools_hammer:hammer
+41 -3
View File
@@ -1,4 +1,42 @@
# Uninstall
scoreboard objectives remove lzt_click_check
scoreboard objectives remove lzt_wrench_success
scoreboard objectives remove lzt_wrench_raycast
# Click Check
scoreboard objectives remove lzt_click_check
# Wrench
scoreboard objectives remove lzt_wrench_success
scoreboard objectives remove lzt_wrench_raycast
# Trowel
scoreboard objectives remove lzt_trowel_success
scoreboard objectives remove lzt_trowel_raycast
scoreboard objectives remove lzt_trowel_raycast_hit
scoreboard objectives remove lzt_trowel_block_check
scoreboard objectives remove lzt_trowel_block_length
scoreboard objectives remove lzt_trowel_unbreaking_check
scoreboard objectives remove lzt_trowel_unbreaking_chance
scoreboard objectives remove lzt_trowel_damage
scoreboard objectives remove lzt_trowel_max_damage
# Chisel
scoreboard objectives remove lzt_chisel_success
scoreboard objectives remove lzt_chisel_raycast
scoreboard objectives remove lzt_chisel_raycast_hit
scoreboard objectives remove lzt_chisel_block_check
scoreboard objectives remove lzt_chisel_slot
scoreboard objectives remove lzt_chisel_unbreaking_check
scoreboard objectives remove lzt_chisel_unbreaking_chance
scoreboard objectives remove lzt_chisel_damage
scoreboard objectives remove lzt_chisel_max_damage
# Hammer
scoreboard objectives remove lzt_hammer_check
scoreboard objectives remove lzt_hammer_success
scoreboard objectives remove lzt_hammer_raycast
scoreboard objectives remove lzt_hammer_raycast_hit
scoreboard objectives remove lzt_hammer_side_raycast
scoreboard objectives remove lzt_hammer_side_raycast_hit
scoreboard objectives remove lzt_hammer_unbreaking_check
scoreboard objectives remove lzt_hammer_unbreaking_chance
scoreboard objectives remove lzt_hammer_damage
scoreboard objectives remove lzt_hammer_max_damage
@@ -0,0 +1,17 @@
{
"condition": "minecraft:entity_properties",
"entity": "this",
"predicate": {
"equipment": {
"mainhand": {
"predicates": {
"minecraft:custom_data": {
"lzstools": [
"chisel"
]
}
}
}
}
}
}
+8
View File
@@ -0,0 +1,8 @@
{
"condition": "minecraft:location_check",
"predicate": {
"fluid": {
"fluids": "#minecraft:water"
}
}
}
+3 -3
View File
@@ -1,10 +1,10 @@
{
"replace": false,
"values": [
"minecraft:furnace",
"minecraft:smoker",
"minecraft:blast_furnace",
"minecraft:carved_pumpkin",
"minecraft:jack_o_lantern"
"minecraft:furnace",
"minecraft:jack_o_lantern",
"minecraft:smoker"
]
}
+19 -17
View File
@@ -1,27 +1,29 @@
{
"replace": false,
"values": [
"#minecraft:rails",
"#minecraft:trapdoors",
"#minecraft:fence_gates",
"#minecraft:campfires",
"#minecraft:all_signs",
"#minecraft:anvil",
"minecraft:hopper",
"minecraft:repeater",
"minecraft:comparator",
"minecraft:calibrated_sculk_sensor",
"#minecraft:campfires",
"#minecraft:chains",
"#minecraft:copper_golem_statues",
"#minecraft:fence_gates",
"#minecraft:lightning_rods",
"#minecraft:rails",
"#minecraft:slabs",
"#minecraft:stairs",
"minecraft:end_rod",
"minecraft:chain",
"minecraft:piston",
"minecraft:sticky_piston",
"minecraft:decorated_pot",
"minecraft:lightning_rod",
"minecraft:stonecutter",
"minecraft:ender_chest",
"#minecraft:trapdoors",
"#minecraft:wooden_shelves",
"minecraft:bell",
"minecraft:grindstone"
"minecraft:calibrated_sculk_sensor",
"minecraft:comparator",
"minecraft:decorated_pot",
"minecraft:end_rod",
"minecraft:ender_chest",
"minecraft:grindstone",
"minecraft:hopper",
"minecraft:piston",
"minecraft:repeater",
"minecraft:sticky_piston",
"minecraft:stonecutter"
]
}
+11
View File
@@ -0,0 +1,11 @@
{
"replace": false,
"values": [
"minecraft:creeper_head",
"minecraft:dragon_head",
"minecraft:player_head",
"minecraft:skeleton_skull",
"minecraft:wither_skeleton_skull",
"minecraft:zombie_head"
]
}
+10 -10
View File
@@ -2,20 +2,20 @@
"replace": false,
"values": [
"minecraft:bedrock",
"minecraft:structure_block",
"minecraft:structure_void",
"minecraft:jigsaw",
"minecraft:command_block",
"minecraft:chain_command_block",
"minecraft:repeating_command_block",
"minecraft:test_instance_block",
"minecraft:test_block",
"minecraft:light",
"minecraft:command_block",
"minecraft:end_portal",
"minecraft:end_portal_frame",
"minecraft:jigsaw",
"minecraft:lava",
"minecraft:light",
"minecraft:nether_portal",
"minecraft:reinforced_deepslate",
"minecraft:water",
"minecraft:lava"
"minecraft:repeating_command_block",
"minecraft:structure_block",
"minecraft:structure_void",
"minecraft:test_block",
"minecraft:test_instance_block",
"minecraft:water"
]
}
+2 -2
View File
@@ -1,8 +1,8 @@
{
"replace": false,
"values": [
"minecraft:repeater",
"minecraft:comparator",
"minecraft:hopper"
"minecraft:hopper",
"minecraft:repeater"
]
}
+6 -6
View File
@@ -2,13 +2,13 @@
"replace": false,
"values": [
"#minecraft:logs",
"minecraft:quartz_pillar",
"minecraft:purpur_pillar",
"minecraft:hay_block",
"minecraft:bone_block",
"minecraft:basalt",
"minecraft:polished_basalt",
"minecraft:bone_block",
"minecraft:deepslate",
"minecraft:muddy_mangrove_roots"
"minecraft:hay_block",
"minecraft:muddy_mangrove_roots",
"minecraft:polished_basalt",
"minecraft:purpur_pillar",
"minecraft:quartz_pillar"
]
}
@@ -0,0 +1,7 @@
scoreboard players set @s lzt_chisel_success 0
# Don't place if same block
$execute if block ~ ~ ~ $(chosen_block) run return fail
execute if score @s lzt_chisel_success matches 0 run function lzstools_chisel:block/place_normal with storage lzstools:chisel
execute if score @s lzt_chisel_success matches 1 run function lzstools_chisel:block/remove_item with storage lzstools:chisel
@@ -0,0 +1,2 @@
# Place Leaves
$execute as @s store result score @s lzt_chisel_success setblock ~ ~ ~ $(chosen_block)[persistent=true] destroy
@@ -0,0 +1,5 @@
# Place NESW
$execute as @s[y_rotation=-45..45] store result score @s lzt_chisel_success run setblock ~ ~ ~ $(chosen_block)[facing=north] destroy
$execute as @s[y_rotation=45..135] store result score @s lzt_chisel_success run setblock ~ ~ ~ $(chosen_block)[facing=east] destroy
$execute as @s[y_rotation=135..-135] store result score @s lzt_chisel_success run setblock ~ ~ ~ $(chosen_block)[facing=south] destroy
$execute as @s[y_rotation=-135..-45] store result score @s lzt_chisel_success run setblock ~ ~ ~ $(chosen_block)[facing=west] destroy
@@ -0,0 +1,7 @@
# Place NESWUD
$execute as @s[x_rotation=45..90] store result score @s lzt_chisel_success run setblock ~ ~ ~ $(chosen_block)[facing=up] destroy
$execute as @s[x_rotation=-90..-45] store result score @s lzt_chisel_success run setblock ~ ~ ~ $(chosen_block)[facing=down] destroy
$execute as @s[x_rotation=-45..45, y_rotation=-45..45] store result score @s lzt_chisel_success run setblock ~ ~ ~ $(chosen_block)[facing=north] destroy
$execute as @s[x_rotation=-45..45, y_rotation=45..135] store result score @s lzt_chisel_success run setblock ~ ~ ~ $(chosen_block)[facing=east] destroy
$execute as @s[x_rotation=-45..45, y_rotation=135..-135] store result score @s lzt_chisel_success run setblock ~ ~ ~ $(chosen_block)[facing=south] destroy
$execute as @s[x_rotation=-45..45, y_rotation=-135..-45] store result score @s lzt_chisel_success run setblock ~ ~ ~ $(chosen_block)[facing=west] destroy
@@ -0,0 +1,3 @@
# Place Slabs
$execute as @s if score py lzt_chisel_raycast matches 8.. store result score @s lzt_chisel_success run setblock ~ ~ ~ $(chosen_block)[type=top] destroy
$execute as @s if score py lzt_chisel_raycast matches ..7 store result score @s lzt_chisel_success run setblock ~ ~ ~ $(chosen_block)[type=bottom] destroy
@@ -0,0 +1,9 @@
# Place Stairs
$execute as @s[y_rotation=-45..45] if score py lzt_chisel_raycast matches ..7 store result score @s lzt_chisel_success run setblock ~ ~ ~ $(chosen_block)[half=bottom,facing=south] destroy
$execute as @s[y_rotation=45..135] if score py lzt_chisel_raycast matches ..7 store result score @s lzt_chisel_success run setblock ~ ~ ~ $(chosen_block)[half=bottom,facing=west] destroy
$execute as @s[y_rotation=135..-135] if score py lzt_chisel_raycast matches ..7 store result score @s lzt_chisel_success run setblock ~ ~ ~ $(chosen_block)[half=bottom,facing=north] destroy
$execute as @s[y_rotation=-135..-45] if score py lzt_chisel_raycast matches ..7 store result score @s lzt_chisel_success run setblock ~ ~ ~ $(chosen_block)[half=bottom,facing=east] destroy
$execute as @s[y_rotation=-45..45] if score py lzt_chisel_raycast matches 8.. store result score @s lzt_chisel_success run setblock ~ ~ ~ $(chosen_block)[half=top,facing=south] destroy
$execute as @s[y_rotation=45..135] if score py lzt_chisel_raycast matches 8.. store result score @s lzt_chisel_success run setblock ~ ~ ~ $(chosen_block)[half=top,facing=west] destroy
$execute as @s[y_rotation=135..-135] if score py lzt_chisel_raycast matches 8.. store result score @s lzt_chisel_success run setblock ~ ~ ~ $(chosen_block)[half=top,facing=north] destroy
$execute as @s[y_rotation=-135..-45] if score py lzt_chisel_raycast matches 8.. store result score @s lzt_chisel_success run setblock ~ ~ ~ $(chosen_block)[half=top,facing=east] destroy
@@ -0,0 +1,10 @@
# Place Trapdoors
$execute as @s[y_rotation=-45..45] if score py lzt_chisel_raycast matches ..7 store result score @s lzt_chisel_success run setblock ~ ~ ~ $(chosen_block)[half=bottom,facing=north] destroy
$execute as @s[y_rotation=45..135] if score py lzt_chisel_raycast matches ..7 store result score @s lzt_chisel_success run setblock ~ ~ ~ $(chosen_block)[half=bottom,facing=east] destroy
$execute as @s[y_rotation=135..-135] if score py lzt_chisel_raycast matches ..7 store result score @s lzt_chisel_success run setblock ~ ~ ~ $(chosen_block)[half=bottom,facing=south] destroy
$execute as @s[y_rotation=-135..-45] if score py lzt_chisel_raycast matches ..7 store result score @s lzt_chisel_success run setblock ~ ~ ~ $(chosen_block)[half=bottom,facing=west] destroy
$execute as @s[y_rotation=-45..45] if score py lzt_chisel_raycast matches 8.. store result score @s lzt_chisel_success run setblock ~ ~ ~ $(chosen_block)[half=top,facing=north] destroy
$execute as @s[y_rotation=45..135] if score py lzt_chisel_raycast matches 8.. store result score @s lzt_chisel_success run setblock ~ ~ ~ $(chosen_block)[half=top,facing=east] destroy
$execute as @s[y_rotation=135..-135] if score py lzt_chisel_raycast matches 8.. store result score @s lzt_chisel_success run setblock ~ ~ ~ $(chosen_block)[half=top,facing=south] destroy
$execute as @s[y_rotation=-135..-45] if score py lzt_chisel_raycast matches 8.. store result score @s lzt_chisel_success run setblock ~ ~ ~ $(chosen_block)[half=top,facing=west] destroy
@@ -0,0 +1,7 @@
# Place XYZ
$execute as @s if score py lzt_chisel_raycast matches 0 store result score @s lzt_chisel_success run setblock ~ ~ ~ $(chosen_block)[axis=y] destroy
$execute as @s if score py lzt_chisel_raycast matches 15 store result score @s lzt_chisel_success run setblock ~ ~ ~ $(chosen_block)[axis=y] destroy
$execute as @s if score px lzt_chisel_raycast matches 0 store result score @s lzt_chisel_success run setblock ~ ~ ~ $(chosen_block)[axis=x] destroy
$execute as @s if score px lzt_chisel_raycast matches 15 store result score @s lzt_chisel_success run setblock ~ ~ ~ $(chosen_block)[axis=x] destroy
$execute as @s if score pz lzt_chisel_raycast matches 0 store result score @s lzt_chisel_success run setblock ~ ~ ~ $(chosen_block)[axis=z] destroy
$execute as @s if score pz lzt_chisel_raycast matches 15 store result score @s lzt_chisel_success run setblock ~ ~ ~ $(chosen_block)[axis=z] destroy
@@ -0,0 +1,16 @@
# Get Raycast Target Coords
function lzstools_chisel:block/target_coords
$setblock ~ -64 ~ $(chosen_block)
execute if score @s lzt_chisel_success matches 0 if block ~ -64 ~ #lzstools:xyz run function lzstools_chisel:block/place/xyz with storage lzstools:chisel
execute if score @s lzt_chisel_success matches 0 if block ~ -64 ~ #lzstools:neswud run function lzstools_chisel:block/place/neswud with storage lzstools:chisel
execute if score @s lzt_chisel_success matches 0 if block ~ -64 ~ #lzstools:nesw run function lzstools_chisel:block/place/nesw with storage lzstools:chisel
execute if score @s lzt_chisel_success matches 0 if block ~ -64 ~ #lzstools:glazed_terracotta run function lzstools_chisel:block/place/nesw with storage lzstools:chisel
execute if score @s lzt_chisel_success matches 0 if block ~ -64 ~ #minecraft:leaves run function lzstools_chisel:block/place/leaves with storage lzstools:chisel
execute if score @s lzt_chisel_success matches 0 if block ~ -64 ~ #minecraft:trapdoors run function lzstools_chisel:block/place/trapdoors with storage lzstools:chisel
execute if score @s lzt_chisel_success matches 0 if block ~ -64 ~ #minecraft:stairs run function lzstools_chisel:block/place/stairs with storage lzstools:chisel
execute if score @s lzt_chisel_success matches 0 if block ~ -64 ~ #minecraft:slabs run function lzstools_chisel:block/place/slabs with storage lzstools:chisel
$execute if score @s lzt_chisel_success matches 0 store result score @s lzt_chisel_success run setblock ~ ~ ~ $(chosen_block) destroy
setblock ~ -64 ~ bedrock
@@ -0,0 +1 @@
$execute if entity @s[gamemode=!creative] run clear @s $(chosen_block) 1
@@ -0,0 +1,22 @@
## Get Raycast Target Coords
# Stored Value for Calc
scoreboard players set c16 lzt_chisel_raycast 16
# Summon Invisible Entity
summon area_effect_cloud ~ ~ ~ {Radius:0.01,Duration:1,Tags:["RaycastMark"]}
# Pixel Calculations
execute store result score px lzt_chisel_raycast run data get entity @e[tag=RaycastMark,sort=nearest,limit=1] Pos[0] 16
scoreboard players operation px lzt_chisel_raycast %= c16 lzt_chisel_raycast
execute if score px lzt_chisel_raycast matches ..-1 run scoreboard players add px lzt_chisel_raycast 16
execute store result score py lzt_chisel_raycast run data get entity @e[tag=RaycastMark,sort=nearest,limit=1] Pos[1] 16
scoreboard players operation py lzt_chisel_raycast %= c16 lzt_chisel_raycast
execute if score py lzt_chisel_raycast matches ..-1 run scoreboard players add py lzt_chisel_raycast 16
execute store result score pz lzt_chisel_raycast run data get entity @e[tag=RaycastMark,sort=nearest,limit=1] Pos[2] 16
scoreboard players operation pz lzt_chisel_raycast %= c16 lzt_chisel_raycast
execute if score pz lzt_chisel_raycast matches ..-1 run scoreboard players add pz lzt_chisel_raycast 16
# Remove Entity
kill @e[tag=RaycastMark,sort=nearest,limit=1]
@@ -0,0 +1 @@
$item modify entity @s weapon.mainhand {"function":"minecraft:set_components","components":{"minecraft:damage":$(damage)}}
@@ -0,0 +1,4 @@
execute if entity @s[predicate=lzstools_chisel:mainhand/iron] at @s anchored eyes run particle minecraft:item{item:"minecraft:iron_sword"} ^ ^-0.35 ^0.65 0.1 0.1 0.1 0.06 10 force
execute if entity @s[predicate=lzstools_chisel:mainhand/diamond] at @s anchored eyes run particle minecraft:item{item:"minecraft:diamond_sword"} ^ ^-0.35 ^0.65 0.1 0.1 0.1 0.06 10 force
item replace entity @s weapon.mainhand with minecraft:air
playsound minecraft:entity.item.break master @a ~ ~ ~ 1 1
@@ -0,0 +1,13 @@
scoreboard players reset @s lzt_chisel_unbreaking_check
execute if entity @s[predicate=lzstools:unbreaking/mainhand/all] run function lzstools_chisel:durability/mainhand/unbreaking
execute if score @s lzt_chisel_unbreaking_check matches 1 run return fail
# Handle Damage
data modify storage lzstools:chisel components set from entity @s SelectedItem.components
execute store result score @s lzt_chisel_damage run data get storage lzstools:chisel components."minecraft:damage"
execute store result score @s lzt_chisel_max_damage run data get storage lzstools:chisel components."minecraft:max_damage"
scoreboard players add @s lzt_chisel_damage 1
execute store result storage lzstools:chisel damage int 1 run scoreboard players get @s lzt_chisel_damage
function lzstools_chisel:durability/mainhand/apply with storage lzstools:chisel
execute if score @s lzt_chisel_damage >= @s lzt_chisel_max_damage run function lzstools_chisel:durability/mainhand/break
@@ -0,0 +1,4 @@
execute store result score @s lzt_chisel_unbreaking_chance run random value 1..100
execute if entity @s[predicate=lzstools:unbreaking/mainhand/3] if score @s lzt_chisel_unbreaking_chance matches ..75 run return run scoreboard players set @s lzt_chisel_unbreaking_check 1
execute if entity @s[predicate=lzstools:unbreaking/mainhand/2] if score @s lzt_chisel_unbreaking_chance matches ..66 run return run scoreboard players set @s lzt_chisel_unbreaking_check 1
execute if entity @s[predicate=lzstools:unbreaking/mainhand/1] if score @s lzt_chisel_unbreaking_chance matches ..50 run return run scoreboard players set @s lzt_chisel_unbreaking_check 1
@@ -0,0 +1,3 @@
tag @s add lzstools_chisel_mainhand
# Raycast from player's position
function lzstools_chisel:raycast/start
@@ -0,0 +1,16 @@
# Get Slot and block
function lzstools_chisel:select/start
# No block, don't place and end
execute store result score @s lzt_chisel_block_check run data get storage lzstools:chisel chosen_block
execute if score @s lzt_chisel_block_check matches 0 run return fail
# Place block
function lzstools_chisel:block/place with storage lzstools:chisel
execute if score @s lzt_chisel_success matches 0 run return fail
execute at @s run playsound minecraft:block.azalea_leaves.place master @a ~ ~ ~ 0.3 1
# Durability
execute if entity @s[tag=lzstools_chisel_mainhand,gamemode=!creative] run function lzstools_chisel:durability/mainhand/handle
execute if entity @s[tag=lzstools_chisel_offhand,gamemode=!creative] run function lzstools_chisel:durability/offhand/handle
@@ -0,0 +1,15 @@
## Raycast
# Set block data
execute as @s store result score @s lzt_chisel_raycast_hit run loot spawn ~ -65 ~ mine ~ ~ ~ minecraft:netherite_pickaxe[minecraft:enchantments={"minecraft:silk_touch":1}]
execute as @s run kill @n[type=minecraft:item,distance=..0.5,y=-65]
execute as @s if score @s lzt_chisel_raycast_hit matches 1 run function lzstools_chisel:raycast/hit
execute if score @s lzt_chisel_raycast_hit matches 1 run tag @s remove lzstools_chisel_mainhand
# Do nothing is unbreakable block
execute if block ~ ~ ~ #lzstools:unbreakable run return fail
# Advance forward and if nothing found
scoreboard players add #distance lzt_chisel_raycast 1
execute if score @s lzt_chisel_raycast_hit matches 0 if score #distance lzt_chisel_raycast matches ..451 positioned ^ ^ ^0.01 run function lzstools_chisel:raycast/loop
@@ -0,0 +1,14 @@
#Setting up the raycasting data.
scoreboard players set #distance lzt_chisel_raycast 0
#Activating the raycast. This function will call itself until it is done.
execute as @s at @s anchored eyes positioned ^ ^ ^ anchored feet run function lzstools_chisel:raycast/loop
# Clean Data
data remove storage lzstools:chisel inventory
data remove storage lzstools:chisel damage
data remove storage lzstools:chisel components
data remove storage lzstools:chisel chosen_block
data remove storage lzstools:chisel chosen_slot
scoreboard players set @s lzt_chisel_damage 0
scoreboard players set @s lzt_chisel_max_damage 1
@@ -0,0 +1,6 @@
# No Shulkers
$execute if items entity @s hotbar.$(chosen_slot) #minecraft:shulker_boxes run return fail
$setblock ~ -64 ~ $(temp_id)
setblock ~ -64 ~ bedrock
$data modify storage lzstools:chisel chosen_block set value "$(temp_id)"
@@ -0,0 +1,2 @@
function lzstools_chisel:select/block_macro with storage lzstools:chisel
data remove storage lzstools:chisel temp_id
@@ -0,0 +1,4 @@
$data modify storage lzstools:chisel temp_id set from entity @s Inventory[{Slot:$(chosen_slot)b}].id
function lzstools_chisel:select/check_block with storage lzstools:chisel
setblock ~ -64 ~ bedrock
@@ -0,0 +1,7 @@
execute store result score @s lzt_chisel_slot run data get entity @s SelectedItemSlot
scoreboard players add @s lzt_chisel_slot 1
execute if score @s lzt_chisel_slot matches 9.. run return fail
execute store result storage lzstools:chisel chosen_slot int 1 run scoreboard players get @s lzt_chisel_slot
# Check Valid Block
function lzstools_chisel:select/get_block with storage lzstools:chisel
@@ -0,0 +1,17 @@
{
"condition": "minecraft:entity_properties",
"entity": "this",
"predicate": {
"equipment": {
"mainhand": {
"predicates": {
"minecraft:custom_data": {
"lzstools": [
"chisel_diamond"
]
}
}
}
}
}
}
@@ -0,0 +1,17 @@
{
"condition": "minecraft:entity_properties",
"entity": "this",
"predicate": {
"equipment": {
"mainhand": {
"predicates": {
"minecraft:custom_data": {
"lzstools": [
"chisel_iron"
]
}
}
}
}
}
}
+35
View File
@@ -0,0 +1,35 @@
{
"type": "minecraft:crafting_shaped",
"category": "equipment",
"pattern": [
"d ",
"s "
],
"key": {
"s": "minecraft:stick",
"d": "minecraft:diamond"
},
"result": {
"id": "minecraft:carrot_on_a_stick",
"count": 1,
"components": {
"minecraft:max_damage": 2100,
"minecraft:item_name": {
"text": "Diamond Chisel",
"color": "aqua",
"italic": false
},
"minecraft:custom_model_data": {
"strings": [
"lzstools:chisel_diamond"
]
},
"minecraft:custom_data": {
"lzstools": [
"chisel",
"chisel_diamond"
]
}
}
}
}
+35
View File
@@ -0,0 +1,35 @@
{
"type": "minecraft:crafting_shaped",
"category": "equipment",
"pattern": [
"i ",
"s "
],
"key": {
"s": "minecraft:stick",
"i": "minecraft:iron_ingot"
},
"result": {
"id": "minecraft:carrot_on_a_stick",
"count": 1,
"components": {
"minecraft:max_damage": 350,
"minecraft:item_name": {
"text": "Iron Chisel",
"color": "aqua",
"italic": false
},
"minecraft:custom_model_data": {
"strings": [
"lzstools:chisel_iron"
]
},
"minecraft:custom_data": {
"lzstools": [
"chisel",
"chisel_iron"
]
}
}
}
}
@@ -1,8 +1,8 @@
# Don't run if
execute if block ~ ~ ~ #lzstools:unbreakable run return fail
execute if block ~ ~ ~ #minecraft:air run return fail
execute if score @s lzt_hammer_damage >= @s lzt_hammer_max_damage run return fail
# Spawn item
loot spawn ~ ~ ~ mine ~ ~ ~ mainhand
@@ -1,5 +1,5 @@
scoreboard players reset @s lzt_hammer_unbreaking_check
execute if entity @s[predicate=lzstools:unbreaking/all] run function lzstools_hammer:durability/unbreaking
execute if entity @s[predicate=lzstools:unbreaking/mainhand/all] run function lzstools_hammer:durability/unbreaking
execute if score @s lzt_hammer_unbreaking_check matches 1 run return fail
# Handle Damage
@@ -8,5 +8,6 @@ execute as @s at @s anchored eyes positioned ^ ^ ^ anchored feet run function lz
# Clean Data
data remove storage lzstools:hammer damage
data remove storage lzstools:hammer components
scoreboard players set @s lzt_hammer_damage 0
scoreboard players set @s lzt_hammer_max_damage 1
+1 -1
View File
@@ -15,7 +15,7 @@
"id": "minecraft:iron_pickaxe",
"count": 1,
"components": {
"minecraft:max_damage": 1800,
"minecraft:max_damage": 2400,
"minecraft:item_name": {
"text": "Hammer",
"color": "light_purple",
@@ -8,6 +8,7 @@ execute as @s run execute as @s run kill @n[type=minecraft:item,distance=..0.5,y
# Partial Blocks
execute if block ~ ~ ~ #lzstools:partialbox run function lzstools_wrench:raycast/partialbox
execute if block ~ ~ ~ #lzstools:banners run function lzstools_wrench:raycast/partialbox
execute if block ~ ~ ~ #lzstools:skulls run function lzstools_wrench:raycast/partialbox
# Remaining Blocks
execute unless block ~ ~ ~ #lzstools:partialbox if block ~ ~ ~ #lzstools:neswud run function lzstools_wrench:rotate/neswud/rotate
@@ -5,25 +5,28 @@ function lzstools_wrench:raycast/target_coords
# Partial Boxes
execute if block ~ ~ ~ #lzstools:banners run function lzstools_wrench:raycast/partialbox/banners
execute if block ~ ~ ~ #minecraft:rails run function lzstools_wrench:raycast/partialbox/rails
execute if block ~ ~ ~ #minecraft:trapdoors run function lzstools_wrench:raycast/partialbox/trapdoors
execute if block ~ ~ ~ #minecraft:slabs run function lzstools_wrench:raycast/partialbox/slabs
execute if block ~ ~ ~ #minecraft:stairs run function lzstools_wrench:raycast/partialbox/stairs
execute if block ~ ~ ~ #minecraft:fence_gates run function lzstools_wrench:raycast/partialbox/fence_gates
execute if block ~ ~ ~ #minecraft:campfires run function lzstools_wrench:raycast/partialbox/campfires
execute if block ~ ~ ~ #lzstools:skulls run function lzstools_wrench:raycast/partialbox/skulls
execute if block ~ ~ ~ #minecraft:all_signs run function lzstools_wrench:raycast/partialbox/signs
execute if block ~ ~ ~ #minecraft:anvil run function lzstools_wrench:raycast/partialbox/anvils
execute if block ~ ~ ~ minecraft:repeater run function lzstools_wrench:raycast/partialbox/repeater
execute if block ~ ~ ~ minecraft:comparator run function lzstools_wrench:raycast/partialbox/comparator
execute if block ~ ~ ~ minecraft:calibrated_sculk_sensor run function lzstools_wrench:raycast/partialbox/calibrated_sculk_sensor
execute if block ~ ~ ~ minecraft:piston run function lzstools_wrench:raycast/partialbox/pistons
execute if block ~ ~ ~ minecraft:sticky_piston run function lzstools_wrench:raycast/partialbox/pistons
execute if block ~ ~ ~ minecraft:hopper run function lzstools_wrench:raycast/partialbox/hopper
execute if block ~ ~ ~ minecraft:end_rod run function lzstools_wrench:raycast/partialbox/end_rod
execute if block ~ ~ ~ minecraft:lightning_rod run function lzstools_wrench:raycast/partialbox/lightning_rod
execute if block ~ ~ ~ minecraft:chain run function lzstools_wrench:raycast/partialbox/chain
execute if block ~ ~ ~ minecraft:decorated_pot run function lzstools_wrench:raycast/partialbox/decorated_pot
execute if block ~ ~ ~ minecraft:stonecutter run function lzstools_wrench:raycast/partialbox/stonecutter
execute if block ~ ~ ~ minecraft:ender_chest run function lzstools_wrench:raycast/partialbox/ender_chest
execute if block ~ ~ ~ #minecraft:campfires run function lzstools_wrench:raycast/partialbox/campfires
execute if block ~ ~ ~ #minecraft:chains run function lzstools_wrench:raycast/partialbox/chains
execute if block ~ ~ ~ #minecraft:copper_golem_statues run function lzstools_wrench:raycast/partialbox/copper_golem_statues
execute if block ~ ~ ~ #minecraft:fence_gates run function lzstools_wrench:raycast/partialbox/fence_gates
execute if block ~ ~ ~ #minecraft:lightning_rods run function lzstools_wrench:raycast/partialbox/lightning_rods
execute if block ~ ~ ~ #minecraft:rails run function lzstools_wrench:raycast/partialbox/rails
execute if block ~ ~ ~ #minecraft:slabs run function lzstools_wrench:raycast/partialbox/slabs
execute if block ~ ~ ~ #minecraft:stairs run function lzstools_wrench:raycast/partialbox/stairs
execute if block ~ ~ ~ #minecraft:trapdoors run function lzstools_wrench:raycast/partialbox/trapdoors
execute if block ~ ~ ~ #minecraft:wooden_shelves run function lzstools_wrench:raycast/partialbox/wooden_shelves
execute if block ~ ~ ~ minecraft:bell run function lzstools_wrench:raycast/partialbox/bell
execute if block ~ ~ ~ minecraft:calibrated_sculk_sensor run function lzstools_wrench:raycast/partialbox/calibrated_sculk_sensor
execute if block ~ ~ ~ minecraft:comparator run function lzstools_wrench:raycast/partialbox/comparator
execute if block ~ ~ ~ minecraft:decorated_pot run function lzstools_wrench:raycast/partialbox/decorated_pot
execute if block ~ ~ ~ minecraft:end_rod run function lzstools_wrench:raycast/partialbox/end_rod
execute if block ~ ~ ~ minecraft:ender_chest run function lzstools_wrench:raycast/partialbox/ender_chest
execute if block ~ ~ ~ minecraft:grindstone run function lzstools_wrench:raycast/partialbox/grindstone
execute if block ~ ~ ~ minecraft:hopper run function lzstools_wrench:raycast/partialbox/hopper
execute if block ~ ~ ~ minecraft:piston run function lzstools_wrench:raycast/partialbox/pistons
execute if block ~ ~ ~ minecraft:repeater run function lzstools_wrench:raycast/partialbox/repeater
execute if block ~ ~ ~ minecraft:sticky_piston run function lzstools_wrench:raycast/partialbox/pistons
execute if block ~ ~ ~ minecraft:stonecutter run function lzstools_wrench:raycast/partialbox/stonecutter
@@ -1,2 +1,2 @@
# Banners
execute if score px lzt_wrench_raycast matches 4..11 if score pz lzt_wrench_raycast matches 4..11 if block ~ ~ ~ #lzstools:banners run function lzstools_wrench:rotate/banners/rotate
execute if score px lzt_wrench_raycast matches 4..11 if score pz lzt_wrench_raycast matches 4..11 run function lzstools_wrench:rotate/partialbox/banners/rotate
@@ -1,2 +1,2 @@
# Calibrated Sculk Sensor
execute if block ~ ~ ~ minecraft:calibrated_sculk_sensor if score py lzt_wrench_raycast matches ..7 run function lzstools_wrench:rotate/unique_blocks/calibrated_sculk_sensor/rotate
execute if block ~ ~ ~ minecraft:calibrated_sculk_sensor if score py lzt_wrench_raycast matches ..7 run function lzstools_wrench:rotate/nesw/rotate
@@ -1,2 +1,2 @@
# Campfires
execute if block ~ ~ ~ #minecraft:campfires if score py lzt_wrench_raycast matches ..7 run function lzstools_wrench:rotate/unique_blocks/campfires/rotate
execute if block ~ ~ ~ #minecraft:campfires if score py lzt_wrench_raycast matches ..7 run function lzstools_wrench:rotate/partialbox/campfires/rotate
@@ -1,4 +0,0 @@
# Chain
execute if block ~ ~ ~ minecraft:chain[axis=x] if score py lzt_wrench_raycast matches 7..8 if score pz lzt_wrench_raycast matches 7..8 run function lzstools_wrench:rotate/xyz/rotate
execute if block ~ ~ ~ minecraft:chain[axis=y] if score px lzt_wrench_raycast matches 7..8 if score pz lzt_wrench_raycast matches 7..8 run function lzstools_wrench:rotate/xyz/rotate
execute if block ~ ~ ~ minecraft:chain[axis=z] if score px lzt_wrench_raycast matches 7..8 if score py lzt_wrench_raycast matches 7..8 run function lzstools_wrench:rotate/xyz/rotate
@@ -0,0 +1,4 @@
# Chain
execute if block ~ ~ ~ #minecraft:chains[axis=x] if score py lzt_wrench_raycast matches 7..8 if score pz lzt_wrench_raycast matches 7..8 run function lzstools_wrench:rotate/xyz/rotate
execute if block ~ ~ ~ #minecraft:chains[axis=y] if score px lzt_wrench_raycast matches 7..8 if score pz lzt_wrench_raycast matches 7..8 run function lzstools_wrench:rotate/xyz/rotate
execute if block ~ ~ ~ #minecraft:chains[axis=z] if score px lzt_wrench_raycast matches 7..8 if score py lzt_wrench_raycast matches 7..8 run function lzstools_wrench:rotate/xyz/rotate
@@ -1,2 +1,2 @@
# Redstone Comprator
execute if block ~ ~ ~ minecraft:comparator if score py lzt_wrench_raycast matches ..1 run function lzstools_wrench:rotate/unique_blocks/comparator/rotate
execute if block ~ ~ ~ minecraft:comparator if score py lzt_wrench_raycast matches ..1 run function lzstools_wrench:rotate/partialbox/comparator/rotate
@@ -0,0 +1,2 @@
# Signs
execute if score px lzt_wrench_raycast matches 3..12 if score pz lzt_wrench_raycast matches 3..12 if block ~ ~ ~ #minecraft:copper_golem_statues run function lzstools_wrench:rotate/partialbox/copper_golem_statues/rotate
@@ -1,2 +1,2 @@
# Decorated Pot
execute if score px lzt_wrench_raycast matches 1..14 if score pz lzt_wrench_raycast matches 1..14 if block ~ ~ ~ minecraft:decorated_pot run function lzstools_wrench:rotate/nesw/rotate
execute if score px lzt_wrench_raycast matches 1..14 if score pz lzt_wrench_raycast matches 1..14 run function lzstools_wrench:rotate/nesw/rotate
@@ -1,2 +1,2 @@
# Ender Chest
execute if score px lzt_wrench_raycast matches 1..14 if score pz lzt_wrench_raycast matches 1..14 if score py lzt_wrench_raycast matches ..14 if block ~ ~ ~ minecraft:ender_chest run function lzstools_wrench:rotate/nesw/rotate
execute if score px lzt_wrench_raycast matches 1..14 if score pz lzt_wrench_raycast matches 1..14 if score py lzt_wrench_raycast matches ..14 run function lzstools_wrench:rotate/partialbox/ender_chest/rotate
@@ -1,64 +1,64 @@
# Grindstone
# Floor
execute if score px lzt_wrench_raycast matches 4..11 if score py lzt_wrench_raycast matches 4..15 if score pz lzt_wrench_raycast matches 2..13 if block ~ ~ ~ minecraft:grindstone[face=floor,facing=north] run function lzstools_wrench:rotate/unique_blocks/grindstone/rotate
execute if score pz lzt_wrench_raycast matches 4..11 if score py lzt_wrench_raycast matches 4..15 if score px lzt_wrench_raycast matches 2..13 if block ~ ~ ~ minecraft:grindstone[face=floor,facing=east] run function lzstools_wrench:rotate/unique_blocks/grindstone/rotate
execute if score px lzt_wrench_raycast matches 4..11 if score py lzt_wrench_raycast matches 4..15 if score pz lzt_wrench_raycast matches 2..13 if block ~ ~ ~ minecraft:grindstone[face=floor,facing=south] run function lzstools_wrench:rotate/unique_blocks/grindstone/rotate
execute if score pz lzt_wrench_raycast matches 4..11 if score py lzt_wrench_raycast matches 4..15 if score px lzt_wrench_raycast matches 2..13 if block ~ ~ ~ minecraft:grindstone[face=floor,facing=west] run function lzstools_wrench:rotate/unique_blocks/grindstone/rotate
execute if score px lzt_wrench_raycast matches 4..11 if score py lzt_wrench_raycast matches 4..15 if score pz lzt_wrench_raycast matches 2..13 if block ~ ~ ~ minecraft:grindstone[face=floor,facing=north] run function lzstools_wrench:rotate/partialbox/grindstone/rotate
execute if score pz lzt_wrench_raycast matches 4..11 if score py lzt_wrench_raycast matches 4..15 if score px lzt_wrench_raycast matches 2..13 if block ~ ~ ~ minecraft:grindstone[face=floor,facing=east] run function lzstools_wrench:rotate/partialbox/grindstone/rotate
execute if score px lzt_wrench_raycast matches 4..11 if score py lzt_wrench_raycast matches 4..15 if score pz lzt_wrench_raycast matches 2..13 if block ~ ~ ~ minecraft:grindstone[face=floor,facing=south] run function lzstools_wrench:rotate/partialbox/grindstone/rotate
execute if score pz lzt_wrench_raycast matches 4..11 if score py lzt_wrench_raycast matches 4..15 if score px lzt_wrench_raycast matches 2..13 if block ~ ~ ~ minecraft:grindstone[face=floor,facing=west] run function lzstools_wrench:rotate/partialbox/grindstone/rotate
execute if score px lzt_wrench_raycast matches 2..13 if score py lzt_wrench_raycast matches 7..12 if score pz lzt_wrench_raycast matches 5..10 if block ~ ~ ~ minecraft:grindstone[face=floor,facing=north] run function lzstools_wrench:rotate/unique_blocks/grindstone/rotate
execute if score pz lzt_wrench_raycast matches 2..13 if score py lzt_wrench_raycast matches 7..12 if score px lzt_wrench_raycast matches 5..10 if block ~ ~ ~ minecraft:grindstone[face=floor,facing=east] run function lzstools_wrench:rotate/unique_blocks/grindstone/rotate
execute if score px lzt_wrench_raycast matches 2..13 if score py lzt_wrench_raycast matches 7..12 if score pz lzt_wrench_raycast matches 5..10 if block ~ ~ ~ minecraft:grindstone[face=floor,facing=south] run function lzstools_wrench:rotate/unique_blocks/grindstone/rotate
execute if score pz lzt_wrench_raycast matches 2..13 if score py lzt_wrench_raycast matches 7..12 if score px lzt_wrench_raycast matches 5..10 if block ~ ~ ~ minecraft:grindstone[face=floor,facing=west] run function lzstools_wrench:rotate/unique_blocks/grindstone/rotate
execute if score px lzt_wrench_raycast matches 2..13 if score py lzt_wrench_raycast matches 7..12 if score pz lzt_wrench_raycast matches 5..10 if block ~ ~ ~ minecraft:grindstone[face=floor,facing=north] run function lzstools_wrench:rotate/partialbox/grindstone/rotate
execute if score pz lzt_wrench_raycast matches 2..13 if score py lzt_wrench_raycast matches 7..12 if score px lzt_wrench_raycast matches 5..10 if block ~ ~ ~ minecraft:grindstone[face=floor,facing=east] run function lzstools_wrench:rotate/partialbox/grindstone/rotate
execute if score px lzt_wrench_raycast matches 2..13 if score py lzt_wrench_raycast matches 7..12 if score pz lzt_wrench_raycast matches 5..10 if block ~ ~ ~ minecraft:grindstone[face=floor,facing=south] run function lzstools_wrench:rotate/partialbox/grindstone/rotate
execute if score pz lzt_wrench_raycast matches 2..13 if score py lzt_wrench_raycast matches 7..12 if score px lzt_wrench_raycast matches 5..10 if block ~ ~ ~ minecraft:grindstone[face=floor,facing=west] run function lzstools_wrench:rotate/partialbox/grindstone/rotate
execute if score px lzt_wrench_raycast matches 2..3 if score py lzt_wrench_raycast matches 0..6 if score pz lzt_wrench_raycast matches 6..9 if block ~ ~ ~ minecraft:grindstone[face=floor,facing=north] run function lzstools_wrench:rotate/unique_blocks/grindstone/rotate
execute if score pz lzt_wrench_raycast matches 2..3 if score py lzt_wrench_raycast matches 0..6 if score px lzt_wrench_raycast matches 6..9 if block ~ ~ ~ minecraft:grindstone[face=floor,facing=east] run function lzstools_wrench:rotate/unique_blocks/grindstone/rotate
execute if score px lzt_wrench_raycast matches 2..3 if score py lzt_wrench_raycast matches 0..6 if score pz lzt_wrench_raycast matches 6..9 if block ~ ~ ~ minecraft:grindstone[face=floor,facing=south] run function lzstools_wrench:rotate/unique_blocks/grindstone/rotate
execute if score pz lzt_wrench_raycast matches 2..3 if score py lzt_wrench_raycast matches 0..6 if score px lzt_wrench_raycast matches 6..9 if block ~ ~ ~ minecraft:grindstone[face=floor,facing=west] run function lzstools_wrench:rotate/unique_blocks/grindstone/rotate
execute if score px lzt_wrench_raycast matches 2..3 if score py lzt_wrench_raycast matches 0..6 if score pz lzt_wrench_raycast matches 6..9 if block ~ ~ ~ minecraft:grindstone[face=floor,facing=north] run function lzstools_wrench:rotate/partialbox/grindstone/rotate
execute if score pz lzt_wrench_raycast matches 2..3 if score py lzt_wrench_raycast matches 0..6 if score px lzt_wrench_raycast matches 6..9 if block ~ ~ ~ minecraft:grindstone[face=floor,facing=east] run function lzstools_wrench:rotate/partialbox/grindstone/rotate
execute if score px lzt_wrench_raycast matches 2..3 if score py lzt_wrench_raycast matches 0..6 if score pz lzt_wrench_raycast matches 6..9 if block ~ ~ ~ minecraft:grindstone[face=floor,facing=south] run function lzstools_wrench:rotate/partialbox/grindstone/rotate
execute if score pz lzt_wrench_raycast matches 2..3 if score py lzt_wrench_raycast matches 0..6 if score px lzt_wrench_raycast matches 6..9 if block ~ ~ ~ minecraft:grindstone[face=floor,facing=west] run function lzstools_wrench:rotate/partialbox/grindstone/rotate
execute if score px lzt_wrench_raycast matches 12..13 if score py lzt_wrench_raycast matches 0..6 if score pz lzt_wrench_raycast matches 6..9 if block ~ ~ ~ minecraft:grindstone[face=floor,facing=north] run function lzstools_wrench:rotate/unique_blocks/grindstone/rotate
execute if score pz lzt_wrench_raycast matches 12..13 if score py lzt_wrench_raycast matches 0..6 if score px lzt_wrench_raycast matches 6..9 if block ~ ~ ~ minecraft:grindstone[face=floor,facing=east] run function lzstools_wrench:rotate/unique_blocks/grindstone/rotate
execute if score px lzt_wrench_raycast matches 12..13 if score py lzt_wrench_raycast matches 0..6 if score pz lzt_wrench_raycast matches 6..9 if block ~ ~ ~ minecraft:grindstone[face=floor,facing=south] run function lzstools_wrench:rotate/unique_blocks/grindstone/rotate
execute if score pz lzt_wrench_raycast matches 12..13 if score py lzt_wrench_raycast matches 0..6 if score px lzt_wrench_raycast matches 6..9 if block ~ ~ ~ minecraft:grindstone[face=floor,facing=west] run function lzstools_wrench:rotate/unique_blocks/grindstone/rotate
execute if score px lzt_wrench_raycast matches 12..13 if score py lzt_wrench_raycast matches 0..6 if score pz lzt_wrench_raycast matches 6..9 if block ~ ~ ~ minecraft:grindstone[face=floor,facing=north] run function lzstools_wrench:rotate/partialbox/grindstone/rotate
execute if score pz lzt_wrench_raycast matches 12..13 if score py lzt_wrench_raycast matches 0..6 if score px lzt_wrench_raycast matches 6..9 if block ~ ~ ~ minecraft:grindstone[face=floor,facing=east] run function lzstools_wrench:rotate/partialbox/grindstone/rotate
execute if score px lzt_wrench_raycast matches 12..13 if score py lzt_wrench_raycast matches 0..6 if score pz lzt_wrench_raycast matches 6..9 if block ~ ~ ~ minecraft:grindstone[face=floor,facing=south] run function lzstools_wrench:rotate/partialbox/grindstone/rotate
execute if score pz lzt_wrench_raycast matches 12..13 if score py lzt_wrench_raycast matches 0..6 if score px lzt_wrench_raycast matches 6..9 if block ~ ~ ~ minecraft:grindstone[face=floor,facing=west] run function lzstools_wrench:rotate/partialbox/grindstone/rotate
# Wall
execute if score px lzt_wrench_raycast matches 4..11 if score py lzt_wrench_raycast matches 2..13 if score pz lzt_wrench_raycast matches 0..11 if block ~ ~ ~ minecraft:grindstone[face=wall,facing=north] run function lzstools_wrench:rotate/unique_blocks/grindstone/rotate
execute if score pz lzt_wrench_raycast matches 4..11 if score py lzt_wrench_raycast matches 2..13 if score px lzt_wrench_raycast matches 4..15 if block ~ ~ ~ minecraft:grindstone[face=wall,facing=east] run function lzstools_wrench:rotate/unique_blocks/grindstone/rotate
execute if score px lzt_wrench_raycast matches 4..11 if score py lzt_wrench_raycast matches 2..13 if score pz lzt_wrench_raycast matches 4..15 if block ~ ~ ~ minecraft:grindstone[face=wall,facing=south] run function lzstools_wrench:rotate/unique_blocks/grindstone/rotate
execute if score pz lzt_wrench_raycast matches 4..11 if score py lzt_wrench_raycast matches 2..13 if score px lzt_wrench_raycast matches 0..11 if block ~ ~ ~ minecraft:grindstone[face=wall,facing=west] run function lzstools_wrench:rotate/unique_blocks/grindstone/rotate
execute if score px lzt_wrench_raycast matches 4..11 if score py lzt_wrench_raycast matches 2..13 if score pz lzt_wrench_raycast matches 0..11 if block ~ ~ ~ minecraft:grindstone[face=wall,facing=north] run function lzstools_wrench:rotate/partialbox/grindstone/rotate
execute if score pz lzt_wrench_raycast matches 4..11 if score py lzt_wrench_raycast matches 2..13 if score px lzt_wrench_raycast matches 4..15 if block ~ ~ ~ minecraft:grindstone[face=wall,facing=east] run function lzstools_wrench:rotate/partialbox/grindstone/rotate
execute if score px lzt_wrench_raycast matches 4..11 if score py lzt_wrench_raycast matches 2..13 if score pz lzt_wrench_raycast matches 4..15 if block ~ ~ ~ minecraft:grindstone[face=wall,facing=south] run function lzstools_wrench:rotate/partialbox/grindstone/rotate
execute if score pz lzt_wrench_raycast matches 4..11 if score py lzt_wrench_raycast matches 2..13 if score px lzt_wrench_raycast matches 0..11 if block ~ ~ ~ minecraft:grindstone[face=wall,facing=west] run function lzstools_wrench:rotate/partialbox/grindstone/rotate
execute if score px lzt_wrench_raycast matches 2..13 if score py lzt_wrench_raycast matches 5..10 if score pz lzt_wrench_raycast matches 3..8 if block ~ ~ ~ minecraft:grindstone[face=wall,facing=north] run function lzstools_wrench:rotate/unique_blocks/grindstone/rotate
execute if score pz lzt_wrench_raycast matches 2..13 if score py lzt_wrench_raycast matches 5..10 if score px lzt_wrench_raycast matches 7..12 if block ~ ~ ~ minecraft:grindstone[face=wall,facing=east] run function lzstools_wrench:rotate/unique_blocks/grindstone/rotate
execute if score px lzt_wrench_raycast matches 2..13 if score py lzt_wrench_raycast matches 5..10 if score pz lzt_wrench_raycast matches 7..12 if block ~ ~ ~ minecraft:grindstone[face=wall,facing=south] run function lzstools_wrench:rotate/unique_blocks/grindstone/rotate
execute if score pz lzt_wrench_raycast matches 2..13 if score py lzt_wrench_raycast matches 5..10 if score px lzt_wrench_raycast matches 3..8 if block ~ ~ ~ minecraft:grindstone[face=wall,facing=west] run function lzstools_wrench:rotate/unique_blocks/grindstone/rotate
execute if score px lzt_wrench_raycast matches 2..13 if score py lzt_wrench_raycast matches 5..10 if score pz lzt_wrench_raycast matches 3..8 if block ~ ~ ~ minecraft:grindstone[face=wall,facing=north] run function lzstools_wrench:rotate/partialbox/grindstone/rotate
execute if score pz lzt_wrench_raycast matches 2..13 if score py lzt_wrench_raycast matches 5..10 if score px lzt_wrench_raycast matches 7..12 if block ~ ~ ~ minecraft:grindstone[face=wall,facing=east] run function lzstools_wrench:rotate/partialbox/grindstone/rotate
execute if score px lzt_wrench_raycast matches 2..13 if score py lzt_wrench_raycast matches 5..10 if score pz lzt_wrench_raycast matches 7..12 if block ~ ~ ~ minecraft:grindstone[face=wall,facing=south] run function lzstools_wrench:rotate/partialbox/grindstone/rotate
execute if score pz lzt_wrench_raycast matches 2..13 if score py lzt_wrench_raycast matches 5..10 if score px lzt_wrench_raycast matches 3..8 if block ~ ~ ~ minecraft:grindstone[face=wall,facing=west] run function lzstools_wrench:rotate/partialbox/grindstone/rotate
execute if score px lzt_wrench_raycast matches 2..3 if score py lzt_wrench_raycast matches 0..6 if score pz lzt_wrench_raycast matches 9..15 if block ~ ~ ~ minecraft:grindstone[face=wall,facing=north] run function lzstools_wrench:rotate/unique_blocks/grindstone/rotate
execute if score pz lzt_wrench_raycast matches 2..3 if score py lzt_wrench_raycast matches 0..6 if score px lzt_wrench_raycast matches 0..6 if block ~ ~ ~ minecraft:grindstone[face=wall,facing=east] run function lzstools_wrench:rotate/unique_blocks/grindstone/rotate
execute if score px lzt_wrench_raycast matches 2..3 if score py lzt_wrench_raycast matches 0..6 if score pz lzt_wrench_raycast matches 0..6 if block ~ ~ ~ minecraft:grindstone[face=wall,facing=south] run function lzstools_wrench:rotate/unique_blocks/grindstone/rotate
execute if score pz lzt_wrench_raycast matches 2..3 if score py lzt_wrench_raycast matches 0..6 if score px lzt_wrench_raycast matches 6..15 if block ~ ~ ~ minecraft:grindstone[face=wall,facing=west] run function lzstools_wrench:rotate/unique_blocks/grindstone/rotate
execute if score px lzt_wrench_raycast matches 2..3 if score py lzt_wrench_raycast matches 0..6 if score pz lzt_wrench_raycast matches 9..15 if block ~ ~ ~ minecraft:grindstone[face=wall,facing=north] run function lzstools_wrench:rotate/partialbox/grindstone/rotate
execute if score pz lzt_wrench_raycast matches 2..3 if score py lzt_wrench_raycast matches 0..6 if score px lzt_wrench_raycast matches 0..6 if block ~ ~ ~ minecraft:grindstone[face=wall,facing=east] run function lzstools_wrench:rotate/partialbox/grindstone/rotate
execute if score px lzt_wrench_raycast matches 2..3 if score py lzt_wrench_raycast matches 0..6 if score pz lzt_wrench_raycast matches 0..6 if block ~ ~ ~ minecraft:grindstone[face=wall,facing=south] run function lzstools_wrench:rotate/partialbox/grindstone/rotate
execute if score pz lzt_wrench_raycast matches 2..3 if score py lzt_wrench_raycast matches 0..6 if score px lzt_wrench_raycast matches 6..15 if block ~ ~ ~ minecraft:grindstone[face=wall,facing=west] run function lzstools_wrench:rotate/partialbox/grindstone/rotate
execute if score px lzt_wrench_raycast matches 12..13 if score py lzt_wrench_raycast matches 0..6 if score pz lzt_wrench_raycast matches 9..15 if block ~ ~ ~ minecraft:grindstone[face=wall,facing=north] run function lzstools_wrench:rotate/unique_blocks/grindstone/rotate
execute if score pz lzt_wrench_raycast matches 12..13 if score py lzt_wrench_raycast matches 0..6 if score px lzt_wrench_raycast matches 0..6 if block ~ ~ ~ minecraft:grindstone[face=wall,facing=east] run function lzstools_wrench:rotate/unique_blocks/grindstone/rotate
execute if score px lzt_wrench_raycast matches 12..13 if score py lzt_wrench_raycast matches 0..6 if score pz lzt_wrench_raycast matches 0..6 if block ~ ~ ~ minecraft:grindstone[face=wall,facing=south] run function lzstools_wrench:rotate/unique_blocks/grindstone/rotate
execute if score pz lzt_wrench_raycast matches 12..13 if score py lzt_wrench_raycast matches 0..6 if score px lzt_wrench_raycast matches 9..15 if block ~ ~ ~ minecraft:grindstone[face=wall,facing=west] run function lzstools_wrench:rotate/unique_blocks/grindstone/rotate
execute if score px lzt_wrench_raycast matches 12..13 if score py lzt_wrench_raycast matches 0..6 if score pz lzt_wrench_raycast matches 9..15 if block ~ ~ ~ minecraft:grindstone[face=wall,facing=north] run function lzstools_wrench:rotate/partialbox/grindstone/rotate
execute if score pz lzt_wrench_raycast matches 12..13 if score py lzt_wrench_raycast matches 0..6 if score px lzt_wrench_raycast matches 0..6 if block ~ ~ ~ minecraft:grindstone[face=wall,facing=east] run function lzstools_wrench:rotate/partialbox/grindstone/rotate
execute if score px lzt_wrench_raycast matches 12..13 if score py lzt_wrench_raycast matches 0..6 if score pz lzt_wrench_raycast matches 0..6 if block ~ ~ ~ minecraft:grindstone[face=wall,facing=south] run function lzstools_wrench:rotate/partialbox/grindstone/rotate
execute if score pz lzt_wrench_raycast matches 12..13 if score py lzt_wrench_raycast matches 0..6 if score px lzt_wrench_raycast matches 9..15 if block ~ ~ ~ minecraft:grindstone[face=wall,facing=west] run function lzstools_wrench:rotate/partialbox/grindstone/rotate
# Ceiling
execute if score px lzt_wrench_raycast matches 4..11 if score py lzt_wrench_raycast matches 0..11 if score pz lzt_wrench_raycast matches 2..13 if block ~ ~ ~ minecraft:grindstone[face=ceiling,facing=north] run function lzstools_wrench:rotate/unique_blocks/grindstone/rotate
execute if score pz lzt_wrench_raycast matches 4..11 if score py lzt_wrench_raycast matches 0..11 if score px lzt_wrench_raycast matches 2..13 if block ~ ~ ~ minecraft:grindstone[face=ceiling,facing=east] run function lzstools_wrench:rotate/unique_blocks/grindstone/rotate
execute if score px lzt_wrench_raycast matches 4..11 if score py lzt_wrench_raycast matches 0..11 if score pz lzt_wrench_raycast matches 2..13 if block ~ ~ ~ minecraft:grindstone[face=ceiling,facing=south] run function lzstools_wrench:rotate/unique_blocks/grindstone/rotate
execute if score pz lzt_wrench_raycast matches 4..11 if score py lzt_wrench_raycast matches 0..11 if score px lzt_wrench_raycast matches 2..13 if block ~ ~ ~ minecraft:grindstone[face=ceiling,facing=west] run function lzstools_wrench:rotate/unique_blocks/grindstone/rotate
execute if score px lzt_wrench_raycast matches 4..11 if score py lzt_wrench_raycast matches 0..11 if score pz lzt_wrench_raycast matches 2..13 if block ~ ~ ~ minecraft:grindstone[face=ceiling,facing=north] run function lzstools_wrench:rotate/partialbox/grindstone/rotate
execute if score pz lzt_wrench_raycast matches 4..11 if score py lzt_wrench_raycast matches 0..11 if score px lzt_wrench_raycast matches 2..13 if block ~ ~ ~ minecraft:grindstone[face=ceiling,facing=east] run function lzstools_wrench:rotate/partialbox/grindstone/rotate
execute if score px lzt_wrench_raycast matches 4..11 if score py lzt_wrench_raycast matches 0..11 if score pz lzt_wrench_raycast matches 2..13 if block ~ ~ ~ minecraft:grindstone[face=ceiling,facing=south] run function lzstools_wrench:rotate/partialbox/grindstone/rotate
execute if score pz lzt_wrench_raycast matches 4..11 if score py lzt_wrench_raycast matches 0..11 if score px lzt_wrench_raycast matches 2..13 if block ~ ~ ~ minecraft:grindstone[face=ceiling,facing=west] run function lzstools_wrench:rotate/partialbox/grindstone/rotate
execute if score px lzt_wrench_raycast matches 2..13 if score py lzt_wrench_raycast matches 3..8 if score pz lzt_wrench_raycast matches 5..10 if block ~ ~ ~ minecraft:grindstone[face=ceiling,facing=north] run function lzstools_wrench:rotate/unique_blocks/grindstone/rotate
execute if score pz lzt_wrench_raycast matches 2..13 if score py lzt_wrench_raycast matches 3..8 if score px lzt_wrench_raycast matches 5..10 if block ~ ~ ~ minecraft:grindstone[face=ceiling,facing=east] run function lzstools_wrench:rotate/unique_blocks/grindstone/rotate
execute if score px lzt_wrench_raycast matches 2..13 if score py lzt_wrench_raycast matches 3..8 if score pz lzt_wrench_raycast matches 5..10 if block ~ ~ ~ minecraft:grindstone[face=ceiling,facing=south] run function lzstools_wrench:rotate/unique_blocks/grindstone/rotate
execute if score pz lzt_wrench_raycast matches 2..13 if score py lzt_wrench_raycast matches 3..8 if score px lzt_wrench_raycast matches 5..10 if block ~ ~ ~ minecraft:grindstone[face=ceiling,facing=west] run function lzstools_wrench:rotate/unique_blocks/grindstone/rotate
execute if score px lzt_wrench_raycast matches 2..13 if score py lzt_wrench_raycast matches 3..8 if score pz lzt_wrench_raycast matches 5..10 if block ~ ~ ~ minecraft:grindstone[face=ceiling,facing=north] run function lzstools_wrench:rotate/partialbox/grindstone/rotate
execute if score pz lzt_wrench_raycast matches 2..13 if score py lzt_wrench_raycast matches 3..8 if score px lzt_wrench_raycast matches 5..10 if block ~ ~ ~ minecraft:grindstone[face=ceiling,facing=east] run function lzstools_wrench:rotate/partialbox/grindstone/rotate
execute if score px lzt_wrench_raycast matches 2..13 if score py lzt_wrench_raycast matches 3..8 if score pz lzt_wrench_raycast matches 5..10 if block ~ ~ ~ minecraft:grindstone[face=ceiling,facing=south] run function lzstools_wrench:rotate/partialbox/grindstone/rotate
execute if score pz lzt_wrench_raycast matches 2..13 if score py lzt_wrench_raycast matches 3..8 if score px lzt_wrench_raycast matches 5..10 if block ~ ~ ~ minecraft:grindstone[face=ceiling,facing=west] run function lzstools_wrench:rotate/partialbox/grindstone/rotate
execute if score px lzt_wrench_raycast matches 2..3 if score py lzt_wrench_raycast matches 9..15 if score pz lzt_wrench_raycast matches 6..9 if block ~ ~ ~ minecraft:grindstone[face=ceiling,facing=north] run function lzstools_wrench:rotate/unique_blocks/grindstone/rotate
execute if score pz lzt_wrench_raycast matches 2..3 if score py lzt_wrench_raycast matches 9..15 if score px lzt_wrench_raycast matches 6..9 if block ~ ~ ~ minecraft:grindstone[face=ceiling,facing=east] run function lzstools_wrench:rotate/unique_blocks/grindstone/rotate
execute if score px lzt_wrench_raycast matches 2..3 if score py lzt_wrench_raycast matches 9..15 if score pz lzt_wrench_raycast matches 6..9 if block ~ ~ ~ minecraft:grindstone[face=ceiling,facing=south] run function lzstools_wrench:rotate/unique_blocks/grindstone/rotate
execute if score pz lzt_wrench_raycast matches 2..3 if score py lzt_wrench_raycast matches 9..15 if score px lzt_wrench_raycast matches 6..9 if block ~ ~ ~ minecraft:grindstone[face=ceiling,facing=west] run function lzstools_wrench:rotate/unique_blocks/grindstone/rotate
execute if score px lzt_wrench_raycast matches 2..3 if score py lzt_wrench_raycast matches 9..15 if score pz lzt_wrench_raycast matches 6..9 if block ~ ~ ~ minecraft:grindstone[face=ceiling,facing=north] run function lzstools_wrench:rotate/partialbox/grindstone/rotate
execute if score pz lzt_wrench_raycast matches 2..3 if score py lzt_wrench_raycast matches 9..15 if score px lzt_wrench_raycast matches 6..9 if block ~ ~ ~ minecraft:grindstone[face=ceiling,facing=east] run function lzstools_wrench:rotate/partialbox/grindstone/rotate
execute if score px lzt_wrench_raycast matches 2..3 if score py lzt_wrench_raycast matches 9..15 if score pz lzt_wrench_raycast matches 6..9 if block ~ ~ ~ minecraft:grindstone[face=ceiling,facing=south] run function lzstools_wrench:rotate/partialbox/grindstone/rotate
execute if score pz lzt_wrench_raycast matches 2..3 if score py lzt_wrench_raycast matches 9..15 if score px lzt_wrench_raycast matches 6..9 if block ~ ~ ~ minecraft:grindstone[face=ceiling,facing=west] run function lzstools_wrench:rotate/partialbox/grindstone/rotate
execute if score px lzt_wrench_raycast matches 12..13 if score py lzt_wrench_raycast matches 9..15 if score pz lzt_wrench_raycast matches 6..9 if block ~ ~ ~ minecraft:grindstone[face=ceiling,facing=north] run function lzstools_wrench:rotate/unique_blocks/grindstone/rotate
execute if score pz lzt_wrench_raycast matches 12..13 if score py lzt_wrench_raycast matches 9..15 if score px lzt_wrench_raycast matches 6..9 if block ~ ~ ~ minecraft:grindstone[face=ceiling,facing=east] run function lzstools_wrench:rotate/unique_blocks/grindstone/rotate
execute if score px lzt_wrench_raycast matches 12..13 if score py lzt_wrench_raycast matches 9..15 if score pz lzt_wrench_raycast matches 6..9 if block ~ ~ ~ minecraft:grindstone[face=ceiling,facing=south] run function lzstools_wrench:rotate/unique_blocks/grindstone/rotate
execute if score pz lzt_wrench_raycast matches 12..13 if score py lzt_wrench_raycast matches 9..15 if score px lzt_wrench_raycast matches 6..9 if block ~ ~ ~ minecraft:grindstone[face=ceiling,facing=west] run function lzstools_wrench:rotate/unique_blocks/grindstone/rotate
execute if score px lzt_wrench_raycast matches 12..13 if score py lzt_wrench_raycast matches 9..15 if score pz lzt_wrench_raycast matches 6..9 if block ~ ~ ~ minecraft:grindstone[face=ceiling,facing=north] run function lzstools_wrench:rotate/partialbox/grindstone/rotate
execute if score pz lzt_wrench_raycast matches 12..13 if score py lzt_wrench_raycast matches 9..15 if score px lzt_wrench_raycast matches 6..9 if block ~ ~ ~ minecraft:grindstone[face=ceiling,facing=east] run function lzstools_wrench:rotate/partialbox/grindstone/rotate
execute if score px lzt_wrench_raycast matches 12..13 if score py lzt_wrench_raycast matches 9..15 if score pz lzt_wrench_raycast matches 6..9 if block ~ ~ ~ minecraft:grindstone[face=ceiling,facing=south] run function lzstools_wrench:rotate/partialbox/grindstone/rotate
execute if score pz lzt_wrench_raycast matches 12..13 if score py lzt_wrench_raycast matches 9..15 if score px lzt_wrench_raycast matches 6..9 if block ~ ~ ~ minecraft:grindstone[face=ceiling,facing=west] run function lzstools_wrench:rotate/partialbox/grindstone/rotate
@@ -1,8 +1,8 @@
# Hopper
execute if block ~ ~ ~ minecraft:hopper[facing=down] if score px lzt_wrench_raycast matches 6..9 if score py lzt_wrench_raycast matches ..3 if score pz lzt_wrench_raycast matches 6..9 run function lzstools_wrench:rotate/unique_blocks/hopper/rotate
execute if block ~ ~ ~ minecraft:hopper[facing=south] if score px lzt_wrench_raycast matches 6..9 if score py lzt_wrench_raycast matches 4..7 if score pz lzt_wrench_raycast matches 12.. run function lzstools_wrench:rotate/unique_blocks/hopper/rotate
execute if block ~ ~ ~ minecraft:hopper[facing=north] if score px lzt_wrench_raycast matches 6..9 if score py lzt_wrench_raycast matches 4..7 if score pz lzt_wrench_raycast matches ..3 run function lzstools_wrench:rotate/unique_blocks/hopper/rotate
execute if block ~ ~ ~ minecraft:hopper[facing=east] if score px lzt_wrench_raycast matches 12.. if score py lzt_wrench_raycast matches 4..7 if score pz lzt_wrench_raycast matches 6..9 run function lzstools_wrench:rotate/unique_blocks/hopper/rotate
execute if block ~ ~ ~ minecraft:hopper[facing=west] if score px lzt_wrench_raycast matches ..3 if score py lzt_wrench_raycast matches 4..7 if score pz lzt_wrench_raycast matches 6..9 run function lzstools_wrench:rotate/unique_blocks/hopper/rotate
execute if block ~ ~ ~ minecraft:hopper if score px lzt_wrench_raycast matches 4..11 if score py lzt_wrench_raycast matches 4.. if score pz lzt_wrench_raycast matches 4..11 run function lzstools_wrench:rotate/unique_blocks/hopper/rotate
execute if block ~ ~ ~ minecraft:hopper if score py lzt_wrench_raycast matches 10.. run function lzstools_wrench:rotate/unique_blocks/hopper/rotate
execute if block ~ ~ ~ minecraft:hopper[facing=down] if score px lzt_wrench_raycast matches 6..9 if score py lzt_wrench_raycast matches ..3 if score pz lzt_wrench_raycast matches 6..9 run function lzstools_wrench:rotate/partialbox/hopper/rotate
execute if block ~ ~ ~ minecraft:hopper[facing=south] if score px lzt_wrench_raycast matches 6..9 if score py lzt_wrench_raycast matches 4..7 if score pz lzt_wrench_raycast matches 12.. run function lzstools_wrench:rotate/partialbox/hopper/rotate
execute if block ~ ~ ~ minecraft:hopper[facing=north] if score px lzt_wrench_raycast matches 6..9 if score py lzt_wrench_raycast matches 4..7 if score pz lzt_wrench_raycast matches ..3 run function lzstools_wrench:rotate/partialbox/hopper/rotate
execute if block ~ ~ ~ minecraft:hopper[facing=east] if score px lzt_wrench_raycast matches 12.. if score py lzt_wrench_raycast matches 4..7 if score pz lzt_wrench_raycast matches 6..9 run function lzstools_wrench:rotate/partialbox/hopper/rotate
execute if block ~ ~ ~ minecraft:hopper[facing=west] if score px lzt_wrench_raycast matches ..3 if score py lzt_wrench_raycast matches 4..7 if score pz lzt_wrench_raycast matches 6..9 run function lzstools_wrench:rotate/partialbox/hopper/rotate
execute if block ~ ~ ~ minecraft:hopper if score px lzt_wrench_raycast matches 4..11 if score py lzt_wrench_raycast matches 4.. if score pz lzt_wrench_raycast matches 4..11 run function lzstools_wrench:rotate/partialbox/hopper/rotate
execute if block ~ ~ ~ minecraft:hopper if score py lzt_wrench_raycast matches 10.. run function lzstools_wrench:rotate/partialbox/hopper/rotate
@@ -1,7 +0,0 @@
# Lightning Rod
execute if block ~ ~ ~ minecraft:lightning_rod[facing=up] if score px lzt_wrench_raycast matches 6..9 if score pz lzt_wrench_raycast matches 6..9 run function lzstools_wrench:rotate/neswud/rotate
execute if block ~ ~ ~ minecraft:lightning_rod[facing=down] if score px lzt_wrench_raycast matches 6..9 if score pz lzt_wrench_raycast matches 6..9 run function lzstools_wrench:rotate/neswud/rotate
execute if block ~ ~ ~ minecraft:lightning_rod[facing=south] if score px lzt_wrench_raycast matches 6..9 if score py lzt_wrench_raycast matches 6..9 run function lzstools_wrench:rotate/neswud/rotate
execute if block ~ ~ ~ minecraft:lightning_rod[facing=north] if score px lzt_wrench_raycast matches 6..9 if score py lzt_wrench_raycast matches 6..9 run function lzstools_wrench:rotate/neswud/rotate
execute if block ~ ~ ~ minecraft:lightning_rod[facing=east] if score py lzt_wrench_raycast matches 6..9 if score pz lzt_wrench_raycast matches 6..9 run function lzstools_wrench:rotate/neswud/rotate
execute if block ~ ~ ~ minecraft:lightning_rod[facing=west] if score py lzt_wrench_raycast matches 6..9 if score pz lzt_wrench_raycast matches 6..9 run function lzstools_wrench:rotate/neswud/rotate
@@ -0,0 +1,7 @@
# Lightning Rod
execute if block ~ ~ ~ #minecraft:lightning_rods[facing=up] if score px lzt_wrench_raycast matches 6..9 if score pz lzt_wrench_raycast matches 6..9 run function lzstools_wrench:rotate/neswud/rotate
execute if block ~ ~ ~ #minecraft:lightning_rods[facing=down] if score px lzt_wrench_raycast matches 6..9 if score pz lzt_wrench_raycast matches 6..9 run function lzstools_wrench:rotate/neswud/rotate
execute if block ~ ~ ~ #minecraft:lightning_rods[facing=south] if score px lzt_wrench_raycast matches 6..9 if score py lzt_wrench_raycast matches 6..9 run function lzstools_wrench:rotate/neswud/rotate
execute if block ~ ~ ~ #minecraft:lightning_rods[facing=north] if score px lzt_wrench_raycast matches 6..9 if score py lzt_wrench_raycast matches 6..9 run function lzstools_wrench:rotate/neswud/rotate
execute if block ~ ~ ~ #minecraft:lightning_rods[facing=east] if score py lzt_wrench_raycast matches 6..9 if score pz lzt_wrench_raycast matches 6..9 run function lzstools_wrench:rotate/neswud/rotate
execute if block ~ ~ ~ #minecraft:lightning_rods[facing=west] if score py lzt_wrench_raycast matches 6..9 if score pz lzt_wrench_raycast matches 6..9 run function lzstools_wrench:rotate/neswud/rotate
@@ -1,6 +1,6 @@
# Rails
execute if block ~ ~ ~ #minecraft:rails if score py lzt_wrench_raycast matches ..1 run function lzstools_wrench:rotate/rails/rotate
execute if block ~ ~ ~ #minecraft:rails[shape=ascending_west] if score py lzt_wrench_raycast matches ..7 run function lzstools_wrench:rotate/rails/rotate
execute if block ~ ~ ~ #minecraft:rails[shape=ascending_east] if score py lzt_wrench_raycast matches ..7 run function lzstools_wrench:rotate/rails/rotate
execute if block ~ ~ ~ #minecraft:rails[shape=ascending_north] if score py lzt_wrench_raycast matches ..7 run function lzstools_wrench:rotate/rails/rotate
execute if block ~ ~ ~ #minecraft:rails[shape=ascending_south] if score py lzt_wrench_raycast matches ..7 run function lzstools_wrench:rotate/rails/rotate
execute if block ~ ~ ~ #minecraft:rails if score py lzt_wrench_raycast matches ..1 run function lzstools_wrench:rotate/partialbox/rails/rotate
execute if block ~ ~ ~ #minecraft:rails[shape=ascending_west] if score py lzt_wrench_raycast matches ..7 run function lzstools_wrench:rotate/partialbox/rails/rotate
execute if block ~ ~ ~ #minecraft:rails[shape=ascending_east] if score py lzt_wrench_raycast matches ..7 run function lzstools_wrench:rotate/partialbox/rails/rotate
execute if block ~ ~ ~ #minecraft:rails[shape=ascending_north] if score py lzt_wrench_raycast matches ..7 run function lzstools_wrench:rotate/partialbox/rails/rotate
execute if block ~ ~ ~ #minecraft:rails[shape=ascending_south] if score py lzt_wrench_raycast matches ..7 run function lzstools_wrench:rotate/partialbox/rails/rotate
@@ -1,2 +1,2 @@
# Redstone Repeater
execute if block ~ ~ ~ minecraft:repeater if score py lzt_wrench_raycast matches ..1 run function lzstools_wrench:rotate/unique_blocks/repeater/rotate
execute if block ~ ~ ~ minecraft:repeater if score py lzt_wrench_raycast matches ..1 run function lzstools_wrench:rotate/partialbox/repeater/rotate
@@ -1,23 +1,23 @@
# Signs
execute if score px lzt_wrench_raycast matches 4..11 if score pz lzt_wrench_raycast matches 4..11 if block ~ ~ ~ #minecraft:standing_signs run function lzstools_wrench:rotate/signs/rotate
execute if score px lzt_wrench_raycast matches 4..11 if score pz lzt_wrench_raycast matches 4..11 if block ~ ~ ~ #minecraft:ceiling_hanging_signs[rotation=1] run function lzstools_wrench:rotate/signs_hanging/rotate
execute if score px lzt_wrench_raycast matches 4..11 if score pz lzt_wrench_raycast matches 4..11 if block ~ ~ ~ #minecraft:ceiling_hanging_signs[rotation=2] run function lzstools_wrench:rotate/signs_hanging/rotate
execute if score px lzt_wrench_raycast matches 4..11 if score pz lzt_wrench_raycast matches 4..11 if block ~ ~ ~ #minecraft:ceiling_hanging_signs[rotation=3] run function lzstools_wrench:rotate/signs_hanging/rotate
execute if score px lzt_wrench_raycast matches 4..11 if score pz lzt_wrench_raycast matches 4..11 if block ~ ~ ~ #minecraft:ceiling_hanging_signs[rotation=5] run function lzstools_wrench:rotate/signs_hanging/rotate
execute if score px lzt_wrench_raycast matches 4..11 if score pz lzt_wrench_raycast matches 4..11 if block ~ ~ ~ #minecraft:ceiling_hanging_signs[rotation=6] run function lzstools_wrench:rotate/signs_hanging/rotate
execute if score px lzt_wrench_raycast matches 4..11 if score pz lzt_wrench_raycast matches 4..11 if block ~ ~ ~ #minecraft:ceiling_hanging_signs[rotation=7] run function lzstools_wrench:rotate/signs_hanging/rotate
execute if score px lzt_wrench_raycast matches 4..11 if score pz lzt_wrench_raycast matches 4..11 if block ~ ~ ~ #minecraft:ceiling_hanging_signs[rotation=9] run function lzstools_wrench:rotate/signs_hanging/rotate
execute if score px lzt_wrench_raycast matches 4..11 if score pz lzt_wrench_raycast matches 4..11 if block ~ ~ ~ #minecraft:ceiling_hanging_signs[rotation=10] run function lzstools_wrench:rotate/signs_hanging/rotate
execute if score px lzt_wrench_raycast matches 4..11 if score pz lzt_wrench_raycast matches 4..11 if block ~ ~ ~ #minecraft:ceiling_hanging_signs[rotation=11] run function lzstools_wrench:rotate/signs_hanging/rotate
execute if score px lzt_wrench_raycast matches 4..11 if score pz lzt_wrench_raycast matches 4..11 if block ~ ~ ~ #minecraft:ceiling_hanging_signs[rotation=13] run function lzstools_wrench:rotate/signs_hanging/rotate
execute if score px lzt_wrench_raycast matches 4..11 if score pz lzt_wrench_raycast matches 4..11 if block ~ ~ ~ #minecraft:ceiling_hanging_signs[rotation=14] run function lzstools_wrench:rotate/signs_hanging/rotate
execute if score px lzt_wrench_raycast matches 4..11 if score pz lzt_wrench_raycast matches 4..11 if block ~ ~ ~ #minecraft:ceiling_hanging_signs[rotation=15] run function lzstools_wrench:rotate/signs_hanging/rotate
execute if score px lzt_wrench_raycast matches 4..11 if score pz lzt_wrench_raycast matches 4..11 if block ~ ~ ~ #minecraft:ceiling_hanging_signs[rotation=1] run function lzstools_wrench:rotate/partialbox/signs_hanging/rotate
execute if score px lzt_wrench_raycast matches 4..11 if score pz lzt_wrench_raycast matches 4..11 if block ~ ~ ~ #minecraft:ceiling_hanging_signs[rotation=2] run function lzstools_wrench:rotate/partialbox/signs_hanging/rotate
execute if score px lzt_wrench_raycast matches 4..11 if score pz lzt_wrench_raycast matches 4..11 if block ~ ~ ~ #minecraft:ceiling_hanging_signs[rotation=3] run function lzstools_wrench:rotate/partialbox/signs_hanging/rotate
execute if score px lzt_wrench_raycast matches 4..11 if score pz lzt_wrench_raycast matches 4..11 if block ~ ~ ~ #minecraft:ceiling_hanging_signs[rotation=5] run function lzstools_wrench:rotate/partialbox/signs_hanging/rotate
execute if score px lzt_wrench_raycast matches 4..11 if score pz lzt_wrench_raycast matches 4..11 if block ~ ~ ~ #minecraft:ceiling_hanging_signs[rotation=6] run function lzstools_wrench:rotate/partialbox/signs_hanging/rotate
execute if score px lzt_wrench_raycast matches 4..11 if score pz lzt_wrench_raycast matches 4..11 if block ~ ~ ~ #minecraft:ceiling_hanging_signs[rotation=7] run function lzstools_wrench:rotate/partialbox/signs_hanging/rotate
execute if score px lzt_wrench_raycast matches 4..11 if score pz lzt_wrench_raycast matches 4..11 if block ~ ~ ~ #minecraft:ceiling_hanging_signs[rotation=9] run function lzstools_wrench:rotate/partialbox/signs_hanging/rotate
execute if score px lzt_wrench_raycast matches 4..11 if score pz lzt_wrench_raycast matches 4..11 if block ~ ~ ~ #minecraft:ceiling_hanging_signs[rotation=10] run function lzstools_wrench:rotate/partialbox/signs_hanging/rotate
execute if score px lzt_wrench_raycast matches 4..11 if score pz lzt_wrench_raycast matches 4..11 if block ~ ~ ~ #minecraft:ceiling_hanging_signs[rotation=11] run function lzstools_wrench:rotate/partialbox/signs_hanging/rotate
execute if score px lzt_wrench_raycast matches 4..11 if score pz lzt_wrench_raycast matches 4..11 if block ~ ~ ~ #minecraft:ceiling_hanging_signs[rotation=13] run function lzstools_wrench:rotate/partialbox/signs_hanging/rotate
execute if score px lzt_wrench_raycast matches 4..11 if score pz lzt_wrench_raycast matches 4..11 if block ~ ~ ~ #minecraft:ceiling_hanging_signs[rotation=14] run function lzstools_wrench:rotate/partialbox/signs_hanging/rotate
execute if score px lzt_wrench_raycast matches 4..11 if score pz lzt_wrench_raycast matches 4..11 if block ~ ~ ~ #minecraft:ceiling_hanging_signs[rotation=15] run function lzstools_wrench:rotate/partialbox/signs_hanging/rotate
execute if score px lzt_wrench_raycast matches 1..14 if score py lzt_wrench_raycast matches 0..9 if score pz lzt_wrench_raycast matches 7..8 if block ~ ~ ~ #minecraft:ceiling_hanging_signs[rotation=0] run function lzstools_wrench:rotate/signs_hanging/rotate
execute if score px lzt_wrench_raycast matches 1..14 if score py lzt_wrench_raycast matches 0..9 if score pz lzt_wrench_raycast matches 7..8 if block ~ ~ ~ #minecraft:ceiling_hanging_signs[rotation=8] run function lzstools_wrench:rotate/signs_hanging/rotate
execute if score pz lzt_wrench_raycast matches 1..14 if score py lzt_wrench_raycast matches 0..9 if score px lzt_wrench_raycast matches 7..8 if block ~ ~ ~ #minecraft:ceiling_hanging_signs[rotation=4] run function lzstools_wrench:rotate/signs_hanging/rotate
execute if score pz lzt_wrench_raycast matches 1..14 if score py lzt_wrench_raycast matches 0..9 if score px lzt_wrench_raycast matches 7..8 if block ~ ~ ~ #minecraft:ceiling_hanging_signs[rotation=12] run function lzstools_wrench:rotate/signs_hanging/rotate
execute if score px lzt_wrench_raycast matches 1..14 if score py lzt_wrench_raycast matches 0..9 if score pz lzt_wrench_raycast matches 7..8 if block ~ ~ ~ #minecraft:ceiling_hanging_signs[rotation=0] run function lzstools_wrench:rotate/partialbox/signs_hanging/rotate
execute if score px lzt_wrench_raycast matches 1..14 if score py lzt_wrench_raycast matches 0..9 if score pz lzt_wrench_raycast matches 7..8 if block ~ ~ ~ #minecraft:ceiling_hanging_signs[rotation=8] run function lzstools_wrench:rotate/partialbox/signs_hanging/rotate
execute if score pz lzt_wrench_raycast matches 1..14 if score py lzt_wrench_raycast matches 0..9 if score px lzt_wrench_raycast matches 7..8 if block ~ ~ ~ #minecraft:ceiling_hanging_signs[rotation=4] run function lzstools_wrench:rotate/partialbox/signs_hanging/rotate
execute if score pz lzt_wrench_raycast matches 1..14 if score py lzt_wrench_raycast matches 0..9 if score px lzt_wrench_raycast matches 7..8 if block ~ ~ ~ #minecraft:ceiling_hanging_signs[rotation=12] run function lzstools_wrench:rotate/partialbox/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 lzt_wrench_raycast matches 1..14 if score py lzt_wrench_raycast matches 0..9 if score pz lzt_wrench_raycast matches 7..8 if block ~ ~ ~ #minecraft:wall_hanging_signs[facing=north] run function lzstools_wrench:rotate/signs_wall/rotate
@@ -0,0 +1,2 @@
# Skulls
execute if score px lzt_wrench_raycast matches 4..11 if score pz lzt_wrench_raycast matches 4..11 if score py lzt_wrench_raycast matches ..7 run function lzstools_wrench:rotate/partialbox/skulls/rotate
@@ -1,3 +1,3 @@
# Slabs
execute if block ~ ~ ~ #minecraft:slabs[type=top] if score py lzt_wrench_raycast matches 8.. run function lzstools_wrench:rotate/slabs/rotate
execute if block ~ ~ ~ #minecraft:slabs[type=bottom] if score py lzt_wrench_raycast matches ..7 run function lzstools_wrench:rotate/slabs/rotate
execute if block ~ ~ ~ #minecraft:slabs[type=top] if score py lzt_wrench_raycast matches 8.. run function lzstools_wrench:rotate/partialbox/slabs/rotate
execute if block ~ ~ ~ #minecraft:slabs[type=bottom] if score py lzt_wrench_raycast matches ..7 run function lzstools_wrench:rotate/partialbox/slabs/rotate
@@ -3,18 +3,18 @@
execute if block ~ ~ ~ #minecraft:stairs[half=bottom] if score py lzt_wrench_raycast matches ..7 run function lzstools_wrench:rotate/stairs/rotate
execute if block ~ ~ ~ #minecraft:stairs[half=top] if score py lzt_wrench_raycast matches 8.. run function lzstools_wrench:rotate/stairs/rotate
# -x-z
execute if block ~ ~ ~ #minecraft:stairs if score px lzt_wrench_raycast matches ..7 if score pz lzt_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 lzstools_wrench:rotate/stairs/rotate
execute if block ~ ~ ~ #minecraft:stairs if score px lzt_wrench_raycast matches ..7 if score pz lzt_wrench_raycast matches ..7 if block ~ ~ ~ #minecraft:stairs[facing=east,shape=inner_left] run function lzstools_wrench:rotate/stairs/rotate
execute if block ~ ~ ~ #minecraft:stairs if score px lzt_wrench_raycast matches ..7 if score pz lzt_wrench_raycast matches ..7 if block ~ ~ ~ #minecraft:stairs[facing=south,shape=inner_right] run function lzstools_wrench:rotate/stairs/rotate
execute if block ~ ~ ~ #minecraft:stairs if score px lzt_wrench_raycast matches ..7 if score pz lzt_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 lzstools_wrench:rotate/partialbox/stairs/rotate
execute if block ~ ~ ~ #minecraft:stairs if score px lzt_wrench_raycast matches ..7 if score pz lzt_wrench_raycast matches ..7 if block ~ ~ ~ #minecraft:stairs[facing=east,shape=inner_left] run function lzstools_wrench:rotate/partialbox/stairs/rotate
execute if block ~ ~ ~ #minecraft:stairs if score px lzt_wrench_raycast matches ..7 if score pz lzt_wrench_raycast matches ..7 if block ~ ~ ~ #minecraft:stairs[facing=south,shape=inner_right] run function lzstools_wrench:rotate/partialbox/stairs/rotate
# -x+z
execute if block ~ ~ ~ #minecraft:stairs if score px lzt_wrench_raycast matches ..7 if score pz lzt_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 lzstools_wrench:rotate/stairs/rotate
execute if block ~ ~ ~ #minecraft:stairs if score px lzt_wrench_raycast matches ..7 if score pz lzt_wrench_raycast matches 8.. if block ~ ~ ~ #minecraft:stairs[facing=north,shape=inner_left] run function lzstools_wrench:rotate/stairs/rotate
execute if block ~ ~ ~ #minecraft:stairs if score px lzt_wrench_raycast matches ..7 if score pz lzt_wrench_raycast matches 8.. if block ~ ~ ~ #minecraft:stairs[facing=east,shape=inner_right] run function lzstools_wrench:rotate/stairs/rotate
execute if block ~ ~ ~ #minecraft:stairs if score px lzt_wrench_raycast matches ..7 if score pz lzt_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 lzstools_wrench:rotate/partialbox/stairs/rotate
execute if block ~ ~ ~ #minecraft:stairs if score px lzt_wrench_raycast matches ..7 if score pz lzt_wrench_raycast matches 8.. if block ~ ~ ~ #minecraft:stairs[facing=north,shape=inner_left] run function lzstools_wrench:rotate/partialbox/stairs/rotate
execute if block ~ ~ ~ #minecraft:stairs if score px lzt_wrench_raycast matches ..7 if score pz lzt_wrench_raycast matches 8.. if block ~ ~ ~ #minecraft:stairs[facing=east,shape=inner_right] run function lzstools_wrench:rotate/partialbox/stairs/rotate
# +x+z
execute if block ~ ~ ~ #minecraft:stairs if score px lzt_wrench_raycast matches 8.. if score pz lzt_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 lzstools_wrench:rotate/stairs/rotate
execute if block ~ ~ ~ #minecraft:stairs if score px lzt_wrench_raycast matches 8.. if score pz lzt_wrench_raycast matches 8.. if block ~ ~ ~ #minecraft:stairs[facing=west,shape=inner_left] run function lzstools_wrench:rotate/stairs/rotate
execute if block ~ ~ ~ #minecraft:stairs if score px lzt_wrench_raycast matches 8.. if score pz lzt_wrench_raycast matches 8.. if block ~ ~ ~ #minecraft:stairs[facing=north,shape=inner_right] run function lzstools_wrench:rotate/stairs/rotate
execute if block ~ ~ ~ #minecraft:stairs if score px lzt_wrench_raycast matches 8.. if score pz lzt_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 lzstools_wrench:rotate/partialbox/stairs/rotate
execute if block ~ ~ ~ #minecraft:stairs if score px lzt_wrench_raycast matches 8.. if score pz lzt_wrench_raycast matches 8.. if block ~ ~ ~ #minecraft:stairs[facing=west,shape=inner_left] run function lzstools_wrench:rotate/partialbox/stairs/rotate
execute if block ~ ~ ~ #minecraft:stairs if score px lzt_wrench_raycast matches 8.. if score pz lzt_wrench_raycast matches 8.. if block ~ ~ ~ #minecraft:stairs[facing=north,shape=inner_right] run function lzstools_wrench:rotate/partialbox/stairs/rotate
# +x-z
execute if block ~ ~ ~ #minecraft:stairs if score px lzt_wrench_raycast matches 8.. if score pz lzt_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 lzstools_wrench:rotate/stairs/rotate
execute if block ~ ~ ~ #minecraft:stairs if score px lzt_wrench_raycast matches 8.. if score pz lzt_wrench_raycast matches ..7 if block ~ ~ ~ #minecraft:stairs[facing=south,shape=inner_left] run function lzstools_wrench:rotate/stairs/rotate
execute if block ~ ~ ~ #minecraft:stairs if score px lzt_wrench_raycast matches 8.. if score pz lzt_wrench_raycast matches ..7 if block ~ ~ ~ #minecraft:stairs[facing=west,shape=inner_right] run function lzstools_wrench:rotate/stairs/rotate
execute if block ~ ~ ~ #minecraft:stairs if score px lzt_wrench_raycast matches 8.. if score pz lzt_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 lzstools_wrench:rotate/partialbox/stairs/rotate
execute if block ~ ~ ~ #minecraft:stairs if score px lzt_wrench_raycast matches 8.. if score pz lzt_wrench_raycast matches ..7 if block ~ ~ ~ #minecraft:stairs[facing=south,shape=inner_left] run function lzstools_wrench:rotate/partialbox/stairs/rotate
execute if block ~ ~ ~ #minecraft:stairs if score px lzt_wrench_raycast matches 8.. if score pz lzt_wrench_raycast matches ..7 if block ~ ~ ~ #minecraft:stairs[facing=west,shape=inner_right] run function lzstools_wrench:rotate/partialbox/stairs/rotate
@@ -1,13 +1,13 @@
# Trapdoors
execute if block ~ ~ ~ #minecraft:trapdoors[open=false,half=top] if score py lzt_wrench_raycast matches 13.. run function lzstools_wrench:rotate/trapdoors/rotate
execute if block ~ ~ ~ #minecraft:trapdoors[open=false,half=bottom] if score py lzt_wrench_raycast matches ..2 run function lzstools_wrench:rotate/trapdoors/rotate
execute if block ~ ~ ~ #minecraft:trapdoors[open=false,half=top] if score py lzt_wrench_raycast matches 13.. run function lzstools_wrench:rotate/partialbox/trapdoors/rotate
execute if block ~ ~ ~ #minecraft:trapdoors[open=false,half=bottom] if score py lzt_wrench_raycast matches ..2 run function lzstools_wrench:rotate/partialbox/trapdoors/rotate
# North
execute if block ~ ~ ~ #minecraft:trapdoors[open=true,facing=north] if score pz lzt_wrench_raycast matches 13.. run function lzstools_wrench:rotate/trapdoors/rotate
execute if block ~ ~ ~ #minecraft:trapdoors[open=true,facing=north] if score pz lzt_wrench_raycast matches 13.. run function lzstools_wrench:rotate/partialbox/trapdoors/rotate
# East
execute if block ~ ~ ~ #minecraft:trapdoors[open=true,facing=east] if score px lzt_wrench_raycast matches ..2 run function lzstools_wrench:rotate/trapdoors/rotate
execute if block ~ ~ ~ #minecraft:trapdoors[open=true,facing=east] if score px lzt_wrench_raycast matches ..2 run function lzstools_wrench:rotate/partialbox/trapdoors/rotate
# South
execute if block ~ ~ ~ #minecraft:trapdoors[open=true,facing=south] if score pz lzt_wrench_raycast matches ..2 run function lzstools_wrench:rotate/trapdoors/rotate
execute if block ~ ~ ~ #minecraft:trapdoors[open=true,facing=south] if score pz lzt_wrench_raycast matches ..2 run function lzstools_wrench:rotate/partialbox/trapdoors/rotate
# West
execute if block ~ ~ ~ #minecraft:trapdoors[open=true,facing=west] if score px lzt_wrench_raycast matches 13.. run function lzstools_wrench:rotate/trapdoors/rotate
execute if block ~ ~ ~ #minecraft:trapdoors[open=true,facing=west] if score px lzt_wrench_raycast matches 13.. run function lzstools_wrench:rotate/partialbox/trapdoors/rotate
@@ -0,0 +1,18 @@
# Wooden Shelves
# North
execute if block ~ ~ ~ #minecraft:wooden_shelves[facing=north] if score pz lzt_wrench_raycast matches 13.. run function lzstools_wrench:rotate/nesw/rotate
execute if block ~ ~ ~ #minecraft:wooden_shelves[facing=north] if score py lzt_wrench_raycast matches ..3 if score pz lzt_wrench_raycast matches 11.. run function lzstools_wrench:rotate/nesw/rotate
execute if block ~ ~ ~ #minecraft:wooden_shelves[facing=north] if score py lzt_wrench_raycast matches 12.. if score pz lzt_wrench_raycast matches 11.. run function lzstools_wrench:rotate/nesw/rotate
# East
execute if block ~ ~ ~ #minecraft:wooden_shelves[facing=east] if score px lzt_wrench_raycast matches ..2 run function lzstools_wrench:rotate/nesw/rotate
execute if block ~ ~ ~ #minecraft:wooden_shelves[facing=east] if score py lzt_wrench_raycast matches ..3 if score px lzt_wrench_raycast matches ..4 run function lzstools_wrench:rotate/nesw/rotate
execute if block ~ ~ ~ #minecraft:wooden_shelves[facing=east] if score py lzt_wrench_raycast matches 12.. if score px lzt_wrench_raycast matches ..4 run function lzstools_wrench:rotate/nesw/rotate
# South
execute if block ~ ~ ~ #minecraft:wooden_shelves[facing=south] if score pz lzt_wrench_raycast matches ..2 run function lzstools_wrench:rotate/nesw/rotate
execute if block ~ ~ ~ #minecraft:wooden_shelves[facing=south] if score py lzt_wrench_raycast matches ..3 if score pz lzt_wrench_raycast matches ..4 run function lzstools_wrench:rotate/nesw/rotate
execute if block ~ ~ ~ #minecraft:wooden_shelves[facing=south] if score py lzt_wrench_raycast matches 12.. if score pz lzt_wrench_raycast matches ..4 run function lzstools_wrench:rotate/nesw/rotate
# West
execute if block ~ ~ ~ #minecraft:wooden_shelves[facing=west] if score px lzt_wrench_raycast matches 13.. run function lzstools_wrench:rotate/nesw/rotate
execute if block ~ ~ ~ #minecraft:wooden_shelves[facing=west] if score py lzt_wrench_raycast matches ..3 if score px lzt_wrench_raycast matches 11.. run function lzstools_wrench:rotate/nesw/rotate
execute if block ~ ~ ~ #minecraft:wooden_shelves[facing=west] if score py lzt_wrench_raycast matches 12.. if score px lzt_wrench_raycast matches 11.. run function lzstools_wrench:rotate/nesw/rotate
@@ -1,3 +1,3 @@
## Unique Items
execute if block ~ ~ ~ minecraft:crafter run function lzstools_wrench:rotate/unique_blocks/crafter/rotate
execute if block ~ ~ ~ minecraft:crafter run function lzstools_wrench:rotate/partialbox/crafter/rotate
@@ -1,7 +1,12 @@
## NESW
# Rotate Based on Wrench Mode
execute as @s[scores={lzt_wrench_success=0},nbt={SelectedItem:{components:{"minecraft:lore":["Flip"]}}}] run function lzstools_wrench:rotate/nesw/flip with storage lzstools:wrench
execute as @s[scores={lzt_wrench_success=0},nbt={SelectedItem:{components:{"minecraft:lore":["Face Player"]}}}] run function lzstools_wrench:rotate/nesw/player with storage lzstools:wrench
execute as @s[scores={lzt_wrench_success=0},nbt={SelectedItem:{components:{"minecraft:lore":["Face Click"]}}}] run function lzstools_wrench:rotate/nesw/click with storage lzstools:wrench
execute as @s[scores={lzt_wrench_success=0}] run function lzstools_wrench:rotate/nesw/cycle with storage lzstools:wrench
execute as @s[scores={lzt_wrench_success=0},nbt={SelectedItem:{components:{"minecraft:lore":["Flip"]}}}] run execute if predicate lzstools:waterlogged run function lzstools_wrench:rotate/nesw/waterlogged_flip with storage lzstools:wrench
execute as @s[scores={lzt_wrench_success=0},nbt={SelectedItem:{components:{"minecraft:lore":["Face Player"]}}}] run execute if predicate lzstools:waterlogged run function lzstools_wrench:rotate/nesw/waterlogged_player with storage lzstools:wrench
execute as @s[scores={lzt_wrench_success=0},nbt={SelectedItem:{components:{"minecraft:lore":["Face Click"]}}}] run execute if predicate lzstools:waterlogged run function lzstools_wrench:rotate/nesw/waterlogged_click with storage lzstools:wrench
execute as @s[scores={lzt_wrench_success=0}] run execute if predicate lzstools:waterlogged run function lzstools_wrench:rotate/nesw/waterlogged_cycle with storage lzstools:wrench
execute as @s[scores={lzt_wrench_success=0},nbt={SelectedItem:{components:{"minecraft:lore":["Flip"]}}}] run execute unless predicate lzstools:waterlogged run function lzstools_wrench:rotate/nesw/flip with storage lzstools:wrench
execute as @s[scores={lzt_wrench_success=0},nbt={SelectedItem:{components:{"minecraft:lore":["Face Player"]}}}] run execute unless predicate lzstools:waterlogged run function lzstools_wrench:rotate/nesw/player with storage lzstools:wrench
execute as @s[scores={lzt_wrench_success=0},nbt={SelectedItem:{components:{"minecraft:lore":["Face Click"]}}}] run execute unless predicate lzstools:waterlogged run function lzstools_wrench:rotate/nesw/click with storage lzstools:wrench
execute as @s[scores={lzt_wrench_success=0}] run execute unless predicate lzstools:waterlogged run function lzstools_wrench:rotate/nesw/cycle with storage lzstools:wrench
@@ -0,0 +1,12 @@
## Click NESW
# Get Raycast Target Coords
function lzstools_wrench:raycast/target_coords
$execute as @s[scores={lzt_wrench_success=0}] if score pz lzt_wrench_raycast matches 0 store result score @s lzt_wrench_success run execute if block ~ ~ ~ $(block) run setblock ~ ~ ~ $(block)[waterlogged=true,facing=north] replace
$execute as @s[scores={lzt_wrench_success=0}] if score px lzt_wrench_raycast matches 15 store result score @s lzt_wrench_success run execute if block ~ ~ ~ $(block) run setblock ~ ~ ~ $(block)[waterlogged=true,facing=east] replace
$execute as @s[scores={lzt_wrench_success=0}] if score pz lzt_wrench_raycast matches 15 store result score @s lzt_wrench_success run execute if block ~ ~ ~ $(block) run setblock ~ ~ ~ $(block)[waterlogged=true,facing=south] replace
$execute as @s[scores={lzt_wrench_success=0}] if score px lzt_wrench_raycast matches 0 store result score @s lzt_wrench_success run execute if block ~ ~ ~ $(block) run setblock ~ ~ ~ $(block)[waterlogged=true,facing=west] replace
# Otherwise, Flip
execute as @s[scores={lzt_wrench_success=0}] store result score @s lzt_wrench_success run function lzstools_wrench:rotate/nesw/waterlogged_flip with storage lzstools:wrench
@@ -0,0 +1,6 @@
## Cycle NESW
$execute as @s[scores={lzt_wrench_success=0}] store result score @s lzt_wrench_success run execute if block ~ ~ ~ $(block)[facing=west] run setblock ~ ~ ~ $(block)[waterlogged=true,facing=north] replace
$execute as @s[scores={lzt_wrench_success=0}] store result score @s lzt_wrench_success run execute if block ~ ~ ~ $(block)[facing=north] run setblock ~ ~ ~ $(block)[waterlogged=true,facing=east] replace
$execute as @s[scores={lzt_wrench_success=0}] store result score @s lzt_wrench_success run execute if block ~ ~ ~ $(block)[facing=east] run setblock ~ ~ ~ $(block)[waterlogged=true,facing=south] replace
$execute as @s[scores={lzt_wrench_success=0}] store result score @s lzt_wrench_success run execute if block ~ ~ ~ $(block)[facing=south] run setblock ~ ~ ~ $(block)[waterlogged=true,facing=west] replace
@@ -0,0 +1,6 @@
## Flip NESW
$execute as @s[scores={lzt_wrench_success=0}] store result score @s lzt_wrench_success run execute if block ~ ~ ~ $(block)[facing=north] run setblock ~ ~ ~ $(block)[waterlogged=true,facing=south] replace
$execute as @s[scores={lzt_wrench_success=0}] store result score @s lzt_wrench_success run execute if block ~ ~ ~ $(block)[facing=south] run setblock ~ ~ ~ $(block)[waterlogged=true,facing=north] replace
$execute as @s[scores={lzt_wrench_success=0}] store result score @s lzt_wrench_success run execute if block ~ ~ ~ $(block)[facing=east] run setblock ~ ~ ~ $(block)[waterlogged=true,facing=west] replace
$execute as @s[scores={lzt_wrench_success=0}] store result score @s lzt_wrench_success run execute if block ~ ~ ~ $(block)[facing=west] run setblock ~ ~ ~ $(block)[waterlogged=true,facing=east] replace
@@ -0,0 +1,9 @@
## Face Player NESW
$execute as @s[scores={lzt_wrench_success=0}, y_rotation=-45..45] store result score @s lzt_wrench_success run execute if block ~ ~ ~ $(block) run setblock ~ ~ ~ $(block)[waterlogged=true,facing=north] replace
$execute as @s[scores={lzt_wrench_success=0}, y_rotation=45..135] store result score @s lzt_wrench_success run execute if block ~ ~ ~ $(block) run setblock ~ ~ ~ $(block)[waterlogged=true,facing=east] replace
$execute as @s[scores={lzt_wrench_success=0}, y_rotation=135..-135] store result score @s lzt_wrench_success run execute if block ~ ~ ~ $(block) run setblock ~ ~ ~ $(block)[waterlogged=true,facing=south] replace
$execute as @s[scores={lzt_wrench_success=0}, y_rotation=-135..-45] store result score @s lzt_wrench_success run execute if block ~ ~ ~ $(block) run setblock ~ ~ ~ $(block)[waterlogged=true,facing=west] replace
# Otherwise, Flip
execute as @s[scores={lzt_wrench_success=0}] store result score @s lzt_wrench_success run function lzstools_wrench:rotate/nesw/waterlogged_flip with storage lzstools:wrench
@@ -1,7 +1,13 @@
## NESW UD
# Rotate Based on Wrench Mode
execute as @s[scores={lzt_wrench_success=0},nbt={SelectedItem:{components:{"minecraft:lore":["Flip"]}}}] run function lzstools_wrench:rotate/neswud/flip with storage lzstools:wrench
execute as @s[scores={lzt_wrench_success=0},nbt={SelectedItem:{components:{"minecraft:lore":["Face Player"]}}}] run function lzstools_wrench:rotate/neswud/player with storage lzstools:wrench
execute as @s[scores={lzt_wrench_success=0},nbt={SelectedItem:{components:{"minecraft:lore":["Face Click"]}}}] run function lzstools_wrench:rotate/neswud/click with storage lzstools:wrench
execute as @s[scores={lzt_wrench_success=0}] run function lzstools_wrench:rotate/neswud/cycle with storage lzstools:wrench
execute as @s[scores={lzt_wrench_success=0},nbt={SelectedItem:{components:{"minecraft:lore":["Flip"]}}}] run execute if predicate lzstools:waterlogged run function lzstools_wrench:rotate/neswud/waterlogged_flip with storage lzstools:wrench
execute as @s[scores={lzt_wrench_success=0},nbt={SelectedItem:{components:{"minecraft:lore":["Face Player"]}}}] run execute if predicate lzstools:waterlogged run function lzstools_wrench:rotate/neswud/waterlogged_player with storage lzstools:wrench
execute as @s[scores={lzt_wrench_success=0},nbt={SelectedItem:{components:{"minecraft:lore":["Face Click"]}}}] run execute if predicate lzstools:waterlogged run function lzstools_wrench:rotate/neswud/waterlogged_click with storage lzstools:wrench
execute as @s[scores={lzt_wrench_success=0}] run execute if predicate lzstools:waterlogged run function lzstools_wrench:rotate/neswud/waterlogged_cycle with storage lzstools:wrench
execute as @s[scores={lzt_wrench_success=0},nbt={SelectedItem:{components:{"minecraft:lore":["Flip"]}}}] run execute unless predicate lzstools:waterlogged run function lzstools_wrench:rotate/neswud/flip with storage lzstools:wrench
execute as @s[scores={lzt_wrench_success=0},nbt={SelectedItem:{components:{"minecraft:lore":["Face Player"]}}}] run execute unless predicate lzstools:waterlogged run function lzstools_wrench:rotate/neswud/player with storage lzstools:wrench
execute as @s[scores={lzt_wrench_success=0},nbt={SelectedItem:{components:{"minecraft:lore":["Face Click"]}}}] run execute unless predicate lzstools:waterlogged run function lzstools_wrench:rotate/neswud/click with storage lzstools:wrench
execute as @s[scores={lzt_wrench_success=0}] run execute unless predicate lzstools:waterlogged run function lzstools_wrench:rotate/neswud/cycle with storage lzstools:wrench
@@ -0,0 +1,14 @@
## Face Click NESWUD
# Get Raycast Target Coords
function lzstools_wrench:raycast/target_coords
$execute as @s[scores={lzt_wrench_success=0}] if score py lzt_wrench_raycast matches 15 store result score @s lzt_wrench_success run execute if block ~ ~ ~ $(block) run setblock ~ ~ ~ $(block)[waterlogged=true,facing=up] replace
$execute as @s[scores={lzt_wrench_success=0}] if score py lzt_wrench_raycast matches 0 store result score @s lzt_wrench_success run execute if block ~ ~ ~ $(block) run setblock ~ ~ ~ $(block)[waterlogged=true,facing=down] replace
$execute as @s[scores={lzt_wrench_success=0}] if score pz lzt_wrench_raycast matches 0 store result score @s lzt_wrench_success run execute if block ~ ~ ~ $(block) run setblock ~ ~ ~ $(block)[waterlogged=true,facing=north] replace
$execute as @s[scores={lzt_wrench_success=0}] if score px lzt_wrench_raycast matches 15 store result score @s lzt_wrench_success run execute if block ~ ~ ~ $(block) run setblock ~ ~ ~ $(block)[waterlogged=true,facing=east] replace
$execute as @s[scores={lzt_wrench_success=0}] if score pz lzt_wrench_raycast matches 15 store result score @s lzt_wrench_success run execute if block ~ ~ ~ $(block) run setblock ~ ~ ~ $(block)[waterlogged=true,facing=south] replace
$execute as @s[scores={lzt_wrench_success=0}] if score px lzt_wrench_raycast matches 0 store result score @s lzt_wrench_success run execute if block ~ ~ ~ $(block) run setblock ~ ~ ~ $(block)[waterlogged=true,facing=west] replace
# Otherwise, Flip
execute as @s[scores={lzt_wrench_success=0}] store result score @s lzt_wrench_success run function lzstools_wrench:rotate/neswud/waterlogged_flip with storage lzstools:wrench
@@ -0,0 +1,8 @@
## Cycle NESWUD
$execute as @s[scores={lzt_wrench_success=0}] store result score @s lzt_wrench_success run execute if block ~ ~ ~ $(block)[facing=up] run setblock ~ ~ ~ $(block)[waterlogged=true,facing=down] replace
$execute as @s[scores={lzt_wrench_success=0}] store result score @s lzt_wrench_success run execute if block ~ ~ ~ $(block)[facing=down] run setblock ~ ~ ~ $(block)[waterlogged=true,facing=north] replace
$execute as @s[scores={lzt_wrench_success=0}] store result score @s lzt_wrench_success run execute if block ~ ~ ~ $(block)[facing=north] run setblock ~ ~ ~ $(block)[waterlogged=true,facing=east] replace
$execute as @s[scores={lzt_wrench_success=0}] store result score @s lzt_wrench_success run execute if block ~ ~ ~ $(block)[facing=east] run setblock ~ ~ ~ $(block)[waterlogged=true,facing=south] replace
$execute as @s[scores={lzt_wrench_success=0}] store result score @s lzt_wrench_success run execute if block ~ ~ ~ $(block)[facing=south] run setblock ~ ~ ~ $(block)[waterlogged=true,facing=west] replace
$execute as @s[scores={lzt_wrench_success=0}] store result score @s lzt_wrench_success run execute if block ~ ~ ~ $(block)[facing=west] run setblock ~ ~ ~ $(block)[waterlogged=true,facing=up] replace
@@ -0,0 +1,8 @@
## Flip NESWUD
$execute as @s[scores={lzt_wrench_success=0}] store result score @s lzt_wrench_success run execute if block ~ ~ ~ $(block)[facing=up] run setblock ~ ~ ~ $(block)[waterlogged=true,facing=down] replace
$execute as @s[scores={lzt_wrench_success=0}] store result score @s lzt_wrench_success run execute if block ~ ~ ~ $(block)[facing=down] run setblock ~ ~ ~ $(block)[waterlogged=true,facing=up] replace
$execute as @s[scores={lzt_wrench_success=0}] store result score @s lzt_wrench_success run execute if block ~ ~ ~ $(block)[facing=north] run setblock ~ ~ ~ $(block)[waterlogged=true,facing=south] replace
$execute as @s[scores={lzt_wrench_success=0}] store result score @s lzt_wrench_success run execute if block ~ ~ ~ $(block)[facing=south] run setblock ~ ~ ~ $(block)[waterlogged=true,facing=north] replace
$execute as @s[scores={lzt_wrench_success=0}] store result score @s lzt_wrench_success run execute if block ~ ~ ~ $(block)[facing=east] run setblock ~ ~ ~ $(block)[waterlogged=true,facing=west] replace
$execute as @s[scores={lzt_wrench_success=0}] store result score @s lzt_wrench_success run execute if block ~ ~ ~ $(block)[facing=west] run setblock ~ ~ ~ $(block)[waterlogged=true,facing=east] replace
@@ -0,0 +1,11 @@
## Face Player NESWUD
$execute as @s[scores={lzt_wrench_success=0}, x_rotation=45..90] store result score @s lzt_wrench_success run execute if block ~ ~ ~ $(block) run setblock ~ ~ ~ $(block)[waterlogged=true,facing=up] replace
$execute as @s[scores={lzt_wrench_success=0}, x_rotation=-90..-45] store result score @s lzt_wrench_success run execute if block ~ ~ ~ $(block) run setblock ~ ~ ~ $(block)[waterlogged=true,facing=down] replace
$execute as @s[scores={lzt_wrench_success=0}, x_rotation=-45..45, y_rotation=-45..45] store result score @s lzt_wrench_success run execute if block ~ ~ ~ $(block) run setblock ~ ~ ~ $(block)[waterlogged=true,facing=north] replace
$execute as @s[scores={lzt_wrench_success=0}, x_rotation=-45..45, y_rotation=45..135] store result score @s lzt_wrench_success run execute if block ~ ~ ~ $(block) run setblock ~ ~ ~ $(block)[waterlogged=true,facing=east] replace
$execute as @s[scores={lzt_wrench_success=0}, x_rotation=-45..45, y_rotation=135..-135] store result score @s lzt_wrench_success run execute if block ~ ~ ~ $(block) run setblock ~ ~ ~ $(block)[waterlogged=true,facing=south] replace
$execute as @s[scores={lzt_wrench_success=0}, x_rotation=-45..45, y_rotation=-135..-45] store result score @s lzt_wrench_success run execute if block ~ ~ ~ $(block) run setblock ~ ~ ~ $(block)[waterlogged=true,facing=west] replace
# Otherwise, Flip
execute as @s[scores={lzt_wrench_success=0}] store result score @s lzt_wrench_success run function lzstools_wrench:rotate/neswud/waterlogged_flip with storage lzstools:wrench
@@ -10,4 +10,4 @@ $execute as @s[scores={lzt_wrench_success=0}] if score pz lzt_wrench_raycast mat
$execute as @s[scores={lzt_wrench_success=0}] if score px lzt_wrench_raycast matches 4 store result score @s lzt_wrench_success run execute if block ~ ~ ~ $(block) run setblock ~ ~ ~ $(block)[rotation=4] replace
# Otherwise, Flip
execute as @s[scores={lzt_wrench_success=0}] store result score @s lzt_wrench_success run function lzstools_wrench:rotate/banners/flip with storage lzstools:wrench
execute as @s[scores={lzt_wrench_success=0}] store result score @s lzt_wrench_success run function lzstools_wrench:rotate/partialbox/banners/flip with storage lzstools:wrench
@@ -18,4 +18,4 @@ $execute as @s[scores={lzt_wrench_success=0}, y_rotation=-56.25..-33.75] store r
$execute as @s[scores={lzt_wrench_success=0}, y_rotation=-33.75..-11.25] store result score @s lzt_wrench_success run execute if block ~ ~ ~ $(block) run setblock ~ ~ ~ $(block)[rotation=7] replace
# Otherwise, Flip
execute as @s[scores={lzt_wrench_success=0}] store result score @s lzt_wrench_success run function lzstools_wrench:rotate/banners/flip with storage lzstools:wrench
execute as @s[scores={lzt_wrench_success=0}] store result score @s lzt_wrench_success run function lzstools_wrench:rotate/partialbox/banners/flip with storage lzstools:wrench
@@ -1,7 +1,7 @@
## Banners
# Rotate Based on Wrench Mode
execute as @s[scores={lzt_wrench_success=0},nbt={SelectedItem:{components:{"minecraft:lore":["Flip"]}}}] run function lzstools_wrench:rotate/banners/flip with storage lzstools:wrench
execute as @s[scores={lzt_wrench_success=0},nbt={SelectedItem:{components:{"minecraft:lore":["Face Player"]}}}] run function lzstools_wrench:rotate/banners/player with storage lzstools:wrench
execute as @s[scores={lzt_wrench_success=0},nbt={SelectedItem:{components:{"minecraft:lore":["Face Click"]}}}] run function lzstools_wrench:rotate/banners/click with storage lzstools:wrench
execute as @s[scores={lzt_wrench_success=0}] run function lzstools_wrench:rotate/banners/cycle with storage lzstools:wrench
execute as @s[scores={lzt_wrench_success=0},nbt={SelectedItem:{components:{"minecraft:lore":["Flip"]}}}] run function lzstools_wrench:rotate/partialbox/banners/flip with storage lzstools:wrench
execute as @s[scores={lzt_wrench_success=0},nbt={SelectedItem:{components:{"minecraft:lore":["Face Player"]}}}] run function lzstools_wrench:rotate/partialbox/banners/player with storage lzstools:wrench
execute as @s[scores={lzt_wrench_success=0},nbt={SelectedItem:{components:{"minecraft:lore":["Face Click"]}}}] run function lzstools_wrench:rotate/partialbox/banners/click with storage lzstools:wrench
execute as @s[scores={lzt_wrench_success=0}] run function lzstools_wrench:rotate/partialbox/banners/cycle with storage lzstools:wrench
@@ -0,0 +1,16 @@
## Campfires Cycle
$execute as @s[scores={lzt_wrench_success=0}] store result score @s lzt_wrench_success run execute if predicate lzstools:waterlogged run execute if block ~ ~ ~ $(block)[facing=west] run setblock ~ ~ ~ $(block)[waterlogged=true,lit=false,facing=north] replace
$execute as @s[scores={lzt_wrench_success=0}] store result score @s lzt_wrench_success run execute if predicate lzstools:waterlogged run execute if block ~ ~ ~ $(block)[facing=north] run setblock ~ ~ ~ $(block)[waterlogged=true,lit=false,facing=east] replace
$execute as @s[scores={lzt_wrench_success=0}] store result score @s lzt_wrench_success run execute if predicate lzstools:waterlogged run execute if block ~ ~ ~ $(block)[facing=east] run setblock ~ ~ ~ $(block)[waterlogged=true,lit=false,facing=south] replace
$execute as @s[scores={lzt_wrench_success=0}] store result score @s lzt_wrench_success run execute if predicate lzstools:waterlogged run execute if block ~ ~ ~ $(block)[facing=south] run setblock ~ ~ ~ $(block)[waterlogged=true,lit=false,facing=west] replace
$execute as @s[scores={lzt_wrench_success=0}] store result score @s lzt_wrench_success run execute unless predicate lzstools:waterlogged run execute if block ~ ~ ~ $(block)[lit=true,facing=west] run setblock ~ ~ ~ $(block)[lit=true,facing=north] replace
$execute as @s[scores={lzt_wrench_success=0}] store result score @s lzt_wrench_success run execute unless predicate lzstools:waterlogged run execute if block ~ ~ ~ $(block)[lit=true,facing=north] run setblock ~ ~ ~ $(block)[lit=true,facing=east] replace
$execute as @s[scores={lzt_wrench_success=0}] store result score @s lzt_wrench_success run execute unless predicate lzstools:waterlogged run execute if block ~ ~ ~ $(block)[lit=true,facing=east] run setblock ~ ~ ~ $(block)[lit=true,facing=south] replace
$execute as @s[scores={lzt_wrench_success=0}] store result score @s lzt_wrench_success run execute unless predicate lzstools:waterlogged run execute if block ~ ~ ~ $(block)[lit=true,facing=south] run setblock ~ ~ ~ $(block)[lit=true,facing=west] replace
$execute as @s[scores={lzt_wrench_success=0}] store result score @s lzt_wrench_success run execute unless predicate lzstools:waterlogged run execute if block ~ ~ ~ $(block)[lit=false,facing=west] run setblock ~ ~ ~ $(block)[lit=false,facing=north] replace
$execute as @s[scores={lzt_wrench_success=0}] store result score @s lzt_wrench_success run execute unless predicate lzstools:waterlogged run execute if block ~ ~ ~ $(block)[lit=false,facing=north] run setblock ~ ~ ~ $(block)[lit=false,facing=east] replace
$execute as @s[scores={lzt_wrench_success=0}] store result score @s lzt_wrench_success run execute unless predicate lzstools:waterlogged run execute if block ~ ~ ~ $(block)[lit=false,facing=east] run setblock ~ ~ ~ $(block)[lit=false,facing=south] replace
$execute as @s[scores={lzt_wrench_success=0}] store result score @s lzt_wrench_success run execute unless predicate lzstools:waterlogged run execute if block ~ ~ ~ $(block)[lit=false,facing=south] run setblock ~ ~ ~ $(block)[lit=false,facing=west] replace
@@ -1,3 +1,3 @@
## Campfires
execute as @s[scores={lzt_wrench_success=0}] run function lzstools_wrench:rotate/unique_blocks/campfires/cycle with storage lzstools:wrench
execute as @s[scores={lzt_wrench_success=0}] run function lzstools_wrench:rotate/partialbox/campfires/cycle with storage lzstools:wrench
@@ -15,4 +15,4 @@ $execute as @s[scores={lzt_wrench_success=0}] if score pz lzt_wrench_raycast mat
$execute as @s[scores={lzt_wrench_success=0}] if score px lzt_wrench_raycast matches 0 store result score @s lzt_wrench_success run execute if block ~ ~ ~ $(block)[mode=subtract] run setblock ~ ~ ~ $(block)[mode=subtract,facing=west] replace
# Otherwise, Flip
execute as @s[scores={lzt_wrench_success=0}] store result score @s lzt_wrench_success run function lzstools_wrench:rotate/unique_blocks/comparator/flip with storage lzstools:wrench
execute as @s[scores={lzt_wrench_success=0}] store result score @s lzt_wrench_success run function lzstools_wrench:rotate/partialbox/comparator/flip with storage lzstools:wrench
@@ -12,4 +12,4 @@ $execute as @s[scores={lzt_wrench_success=0}, y_rotation=135..-135] store result
$execute as @s[scores={lzt_wrench_success=0}, y_rotation=-135..-45] store result score @s lzt_wrench_success unless block ~ ~ ~ $(block)[facing=west] run execute if block ~ ~ ~ $(block)[mode=subtract] run setblock ~ ~ ~ $(block)[mode=subtract,facing=west] replace
# Otherwise, Flip
execute as @s[scores={lzt_wrench_success=0}] store result score @s lzt_wrench_success run function lzstools_wrench:rotate/unique_blocks/comparator/flip with storage lzstools:wrench
execute as @s[scores={lzt_wrench_success=0}] store result score @s lzt_wrench_success run function lzstools_wrench:rotate/partialbox/comparator/flip with storage lzstools:wrench

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