Compare commits

...
13 Commits
Author SHA1 Message Date
lzstealth 2db087f220 Terracotta rotate error
Draft Release / deploy-prod (push) Successful in 26s
2026-08-13 17:19:31 +01:00
lzstealth 2813e4c92a Revert terracotta offhand mode change 2026-08-13 00:19:36 +01:00
lzstealth 1d278003e2 Update pack format for latest Minecraft 2026-08-12 23:00:36 +01:00
lzstealth 3dc3212863 Fix wrench mode predicates 2026-08-12 22:54:25 +01:00
lzstealth a43955e36d Update Hammer Damage
Draft Release / deploy-prod (push) Successful in 3s
2026-02-25 13:36:06 +00:00
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
203 changed files with 1606 additions and 840 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=2400]
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=3200]
@@ -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]
@@ -1 +1 @@
give @s minecraft:carrot_on_a_stick[minecraft:item_name={"text":"Rotator Wrench","color":"aqua"},minecraft:lore=["Default"],minecraft:custom_model_data={strings:["lzstools:wrench_default"]},minecraft:custom_data={"lzstools":["wrench"]},minecraft:unbreakable={},minecraft:enchantment_glint_override=false,minecraft:tooltip_display={hidden_components:["minecraft:unbreakable"]}]
give @s minecraft:carrot_on_a_stick[minecraft:item_name={"text":"Rotator Wrench","color":"aqua"},minecraft:lore=[{"text":"Default"}],minecraft:custom_model_data={strings:["lzstools:wrench_default"]},minecraft:custom_data={"lzstools":["wrench"]},minecraft:unbreakable={},minecraft:enchantment_glint_override=false,minecraft:tooltip_display={hidden_components:["minecraft:unbreakable"]}]
+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
@@ -18,6 +18,17 @@ 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
@@ -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"
]
}
+3 -3
View File
@@ -1,11 +1,11 @@
{
"replace": false,
"values": [
"minecraft:player_head",
"minecraft:zombie_head",
"minecraft:creeper_head",
"minecraft:dragon_head",
"minecraft:player_head",
"minecraft:skeleton_skull",
"minecraft:wither_skeleton_skull",
"minecraft:dragon_head"
"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,5 @@
tag @s add lzstools_chisel_mainhand
# Raycast from player's position
function lzstools_chisel:raycast/start
swing @s mainhand
@@ -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"
]
}
}
}
}
@@ -12,11 +12,11 @@ clone ~ ~ ~ ~ ~ ~ ~ -64 ~ replace
setblock ~ ~ ~ minecraft:air replace
# Break
gamerule doTileDrops false
gamerule minecraft:block_drops false
clone ~ -64 ~ ~ -64 ~ ~ ~ ~ replace
setblock ~ -64 ~ minecraft:bedrock replace
setblock ~ ~ ~ minecraft:air destroy
gamerule doTileDrops true
gamerule minecraft:block_drops true
# Durability
function lzstools_hammer:durability/handle
+1 -1
View File
@@ -15,7 +15,7 @@
"id": "minecraft:iron_pickaxe",
"count": 1,
"components": {
"minecraft:max_damage": 2400,
"minecraft:max_damage": 3200,
"minecraft:item_name": {
"text": "Hammer",
"color": "light_purple",
@@ -1,3 +1,5 @@
tag @s add lzstools_trowel_mainhand
# Raycast from player's position
function lzstools_trowel:raycast/start
function lzstools_trowel:raycast/start
swing @s mainhand
@@ -1,3 +1,5 @@
tag @s add lzstools_trowel_offhand
# Raycast from player's position
function lzstools_trowel:raycast/start
function lzstools_trowel:raycast/start
swing @s offhand
@@ -6,25 +6,27 @@ function lzstools_wrench:raycast/target_coords
# Partial Boxes
execute if block ~ ~ ~ #lzstools:banners run function lzstools_wrench:raycast/partialbox/banners
execute if block ~ ~ ~ #lzstools:skulls run function lzstools_wrench:raycast/partialbox/skulls
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 ~ ~ ~ #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 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 @@
# 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 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
@@ -1,2 +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/skulls/rotate
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 +0,0 @@
## 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
@@ -2,3 +2,4 @@
execute as @s[nbt={SelectedItem:{components:{"minecraft:lore":["Terracotta"]}}}] run function lzstools_wrench:rotate/glazed_terracotta/mode with storage lzstools:wrench
execute as @s[scores={lzt_wrench_success=0}] run function lzstools_wrench:rotate/glazed_terracotta/cycle with storage lzstools:wrench
execute as @s[scores={lzt_wrench_success=0}] run function lzstools_wrench:rotate/glazed_terracotta/cycle with storage lzstools:wrench
@@ -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:custom_model_data":{"strings":["lzstools:wrench_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:custom_model_data":{"strings":["lzstools:wrench_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:custom_model_data":{"strings":["lzstools:wrench_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:custom_model_data":{"strings":["lzstools:wrench_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:custom_model_data":{"strings":["lzstools:wrench_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:custom_model_data":{"strings":["lzstools:wrench_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:custom_model_data":{"strings":["lzstools:wrench_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:custom_model_data":{"strings":["lzstools:wrench_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:custom_model_data":{"strings":["lzstools:wrench_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:custom_model_data":{"strings":["lzstools:wrench_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:custom_model_data":{"strings":["lzstools:wrench_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:custom_model_data":{"strings":["lzstools:wrench_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
@@ -0,0 +1,7 @@
## Banners
# Rotate Based on Wrench Mode
execute as @s[scores={lzt_wrench_success=0},nbt={SelectedItem:{components:{"minecraft:custom_model_data":{"strings":["lzstools:wrench_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:custom_model_data":{"strings":["lzstools:wrench_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:custom_model_data":{"strings":["lzstools:wrench_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

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