Mark Rapson 329f879cd8 updated tags and scoreboards
added sound to action
fixed damage when in offhand
2025-05-15 23:20:41 +01:00

40 lines
10 KiB
MCFunction

## Face Click Trapdoors
# 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 if score py lzt_wrench_raycast matches 8.. store result score @s lzt_wrench_success run execute if block ~ ~ ~ $(block)[waterlogged=true,open=true] run setblock ~ ~ ~ $(block)[half=top,facing=south,waterlogged=true,open=true] replace
$execute as @s[scores={lzt_wrench_success=0}] if score px lzt_wrench_raycast matches 15 if score py lzt_wrench_raycast matches 8.. store result score @s lzt_wrench_success run execute if block ~ ~ ~ $(block)[waterlogged=true,open=true] run setblock ~ ~ ~ $(block)[half=top,facing=west,waterlogged=true,open=true] replace
$execute as @s[scores={lzt_wrench_success=0}] if score pz lzt_wrench_raycast matches 15 if score py lzt_wrench_raycast matches 8.. store result score @s lzt_wrench_success run execute if block ~ ~ ~ $(block)[waterlogged=true,open=true] run setblock ~ ~ ~ $(block)[half=top,facing=north,waterlogged=true,open=true] replace
$execute as @s[scores={lzt_wrench_success=0}] if score px lzt_wrench_raycast matches 0 if score py lzt_wrench_raycast matches 8.. store result score @s lzt_wrench_success run execute if block ~ ~ ~ $(block)[waterlogged=true,open=true] run setblock ~ ~ ~ $(block)[half=top,facing=east,waterlogged=true,open=true] replace
$execute as @s[scores={lzt_wrench_success=0}] if score pz lzt_wrench_raycast matches 0 if score py lzt_wrench_raycast matches 8.. store result score @s lzt_wrench_success run execute if block ~ ~ ~ $(block)[waterlogged=true,open=false] run setblock ~ ~ ~ $(block)[half=top,facing=south,waterlogged=true,open=false] replace
$execute as @s[scores={lzt_wrench_success=0}] if score px lzt_wrench_raycast matches 15 if score py lzt_wrench_raycast matches 8.. store result score @s lzt_wrench_success run execute if block ~ ~ ~ $(block)[waterlogged=true,open=false] run setblock ~ ~ ~ $(block)[half=top,facing=west,waterlogged=true,open=false] replace
$execute as @s[scores={lzt_wrench_success=0}] if score pz lzt_wrench_raycast matches 15 if score py lzt_wrench_raycast matches 8.. store result score @s lzt_wrench_success run execute if block ~ ~ ~ $(block)[waterlogged=true,open=false] run setblock ~ ~ ~ $(block)[half=top,facing=north,waterlogged=true,open=false] replace
$execute as @s[scores={lzt_wrench_success=0}] if score px lzt_wrench_raycast matches 0 if score py lzt_wrench_raycast matches 8.. store result score @s lzt_wrench_success run execute if block ~ ~ ~ $(block)[waterlogged=true,open=false] run setblock ~ ~ ~ $(block)[half=top,facing=east,waterlogged=true,open=false] replace
$execute as @s[scores={lzt_wrench_success=0}] if score pz lzt_wrench_raycast matches 0 if score py lzt_wrench_raycast matches ..7 store result score @s lzt_wrench_success run execute if block ~ ~ ~ $(block)[waterlogged=true,open=true] run setblock ~ ~ ~ $(block)[half=bottom,facing=south,waterlogged=true,open=true] replace
$execute as @s[scores={lzt_wrench_success=0}] if score px lzt_wrench_raycast matches 15 if score py lzt_wrench_raycast matches ..7 store result score @s lzt_wrench_success run execute if block ~ ~ ~ $(block)[waterlogged=true,open=true] run setblock ~ ~ ~ $(block)[half=bottom,facing=west,waterlogged=true,open=true] replace
$execute as @s[scores={lzt_wrench_success=0}] if score pz lzt_wrench_raycast matches 15 if score py lzt_wrench_raycast matches ..7 store result score @s lzt_wrench_success run execute if block ~ ~ ~ $(block)[waterlogged=true,open=true] run setblock ~ ~ ~ $(block)[half=bottom,facing=north,waterlogged=true,open=true] replace
$execute as @s[scores={lzt_wrench_success=0}] if score px lzt_wrench_raycast matches 0 if score py lzt_wrench_raycast matches ..7 store result score @s lzt_wrench_success run execute if block ~ ~ ~ $(block)[waterlogged=true,open=true] run setblock ~ ~ ~ $(block)[half=bottom,facing=east,waterlogged=true,open=true] replace
$execute as @s[scores={lzt_wrench_success=0}] if score pz lzt_wrench_raycast matches 0 if score py lzt_wrench_raycast matches 7.. store result score @s lzt_wrench_success run execute if block ~ ~ ~ $(block)[waterlogged=true,open=false] run setblock ~ ~ ~ $(block)[half=bottom,facing=south,waterlogged=true,open=false] replace
$execute as @s[scores={lzt_wrench_success=0}] if score px lzt_wrench_raycast matches 15 if score py lzt_wrench_raycast matches 7.. store result score @s lzt_wrench_success run execute if block ~ ~ ~ $(block)[waterlogged=true,open=false] run setblock ~ ~ ~ $(block)[half=bottom,facing=west,waterlogged=true,open=false] replace
$execute as @s[scores={lzt_wrench_success=0}] if score pz lzt_wrench_raycast matches 15 if score py lzt_wrench_raycast matches 7.. store result score @s lzt_wrench_success run execute if block ~ ~ ~ $(block)[waterlogged=true,open=false] run setblock ~ ~ ~ $(block)[half=bottom,facing=north,waterlogged=true,open=false] replace
$execute as @s[scores={lzt_wrench_success=0}] if score px lzt_wrench_raycast matches 0 if score py lzt_wrench_raycast matches 7.. store result score @s lzt_wrench_success run execute if block ~ ~ ~ $(block)[waterlogged=true,open=false] run setblock ~ ~ ~ $(block)[half=bottom,facing=east,waterlogged=true,open=false] replace
$execute as @s[scores={lzt_wrench_success=0}] if score pz lzt_wrench_raycast matches 0 if score py lzt_wrench_raycast matches 8.. store result score @s lzt_wrench_success run execute if block ~ ~ ~ $(block)[waterlogged=false,open=true] run setblock ~ ~ ~ $(block)[half=top,facing=south,open=true] replace
$execute as @s[scores={lzt_wrench_success=0}] if score px lzt_wrench_raycast matches 15 if score py lzt_wrench_raycast matches 8.. store result score @s lzt_wrench_success run execute if block ~ ~ ~ $(block)[waterlogged=false,open=true] run setblock ~ ~ ~ $(block)[half=top,facing=west,open=true] replace
$execute as @s[scores={lzt_wrench_success=0}] if score pz lzt_wrench_raycast matches 15 if score py lzt_wrench_raycast matches 8.. store result score @s lzt_wrench_success run execute if block ~ ~ ~ $(block)[waterlogged=false,open=true] run setblock ~ ~ ~ $(block)[half=top,facing=north,open=true] replace
$execute as @s[scores={lzt_wrench_success=0}] if score px lzt_wrench_raycast matches 0 if score py lzt_wrench_raycast matches 8.. store result score @s lzt_wrench_success run execute if block ~ ~ ~ $(block)[waterlogged=false,open=true] run setblock ~ ~ ~ $(block)[half=top,facing=east,open=true] replace
$execute as @s[scores={lzt_wrench_success=0}] if score pz lzt_wrench_raycast matches 0 if score py lzt_wrench_raycast matches 8.. store result score @s lzt_wrench_success run execute if block ~ ~ ~ $(block)[waterlogged=false,open=false] run setblock ~ ~ ~ $(block)[half=top,facing=south,open=false] replace
$execute as @s[scores={lzt_wrench_success=0}] if score px lzt_wrench_raycast matches 15 if score py lzt_wrench_raycast matches 8.. store result score @s lzt_wrench_success run execute if block ~ ~ ~ $(block)[waterlogged=false,open=false] run setblock ~ ~ ~ $(block)[half=top,facing=west,open=false] replace
$execute as @s[scores={lzt_wrench_success=0}] if score pz lzt_wrench_raycast matches 15 if score py lzt_wrench_raycast matches 8.. store result score @s lzt_wrench_success run execute if block ~ ~ ~ $(block)[waterlogged=false,open=false] run setblock ~ ~ ~ $(block)[half=top,facing=north,open=false] replace
$execute as @s[scores={lzt_wrench_success=0}] if score px lzt_wrench_raycast matches 0 if score py lzt_wrench_raycast matches 8.. store result score @s lzt_wrench_success run execute if block ~ ~ ~ $(block)[waterlogged=false,open=false] run setblock ~ ~ ~ $(block)[half=top,facing=east,open=false] replace
$execute as @s[scores={lzt_wrench_success=0}] if score pz lzt_wrench_raycast matches 0 if score py lzt_wrench_raycast matches ..7 store result score @s lzt_wrench_success run execute if block ~ ~ ~ $(block)[waterlogged=false,open=true] run setblock ~ ~ ~ $(block)[half=bottom,facing=south,open=true] replace
$execute as @s[scores={lzt_wrench_success=0}] if score px lzt_wrench_raycast matches 15 if score py lzt_wrench_raycast matches ..7 store result score @s lzt_wrench_success run execute if block ~ ~ ~ $(block)[waterlogged=false,open=true] run setblock ~ ~ ~ $(block)[half=bottom,facing=west,open=true] replace
$execute as @s[scores={lzt_wrench_success=0}] if score pz lzt_wrench_raycast matches 15 if score py lzt_wrench_raycast matches ..7 store result score @s lzt_wrench_success run execute if block ~ ~ ~ $(block)[waterlogged=false,open=true] run setblock ~ ~ ~ $(block)[half=bottom,facing=north,open=true] replace
$execute as @s[scores={lzt_wrench_success=0}] if score px lzt_wrench_raycast matches 0 if score py lzt_wrench_raycast matches ..7 store result score @s lzt_wrench_success run execute if block ~ ~ ~ $(block)[waterlogged=false,open=true] run setblock ~ ~ ~ $(block)[half=bottom,facing=east,open=true] replace
$execute as @s[scores={lzt_wrench_success=0}] if score pz lzt_wrench_raycast matches 0 if score py lzt_wrench_raycast matches ..7 store result score @s lzt_wrench_success run execute if block ~ ~ ~ $(block)[waterlogged=false,open=false] run setblock ~ ~ ~ $(block)[half=bottom,facing=south,open=false] replace
$execute as @s[scores={lzt_wrench_success=0}] if score px lzt_wrench_raycast matches 15 if score py lzt_wrench_raycast matches ..7 store result score @s lzt_wrench_success run execute if block ~ ~ ~ $(block)[waterlogged=false,open=false] run setblock ~ ~ ~ $(block)[half=bottom,facing=west,open=false] replace
$execute as @s[scores={lzt_wrench_success=0}] if score pz lzt_wrench_raycast matches 15 if score py lzt_wrench_raycast matches ..7 store result score @s lzt_wrench_success run execute if block ~ ~ ~ $(block)[waterlogged=false,open=false] run setblock ~ ~ ~ $(block)[half=bottom,facing=north,open=false] replace
$execute as @s[scores={lzt_wrench_success=0}] if score px lzt_wrench_raycast matches 0 if score py lzt_wrench_raycast matches ..7 store result score @s lzt_wrench_success run execute if block ~ ~ ~ $(block)[waterlogged=false,open=false] run setblock ~ ~ ~ $(block)[half=bottom,facing=east,open=false] replace
# Otherwise, Flip
execute as @s[scores={lzt_wrench_success=0}] store result score @s lzt_wrench_success run function lzstools_wrench:rotate/trapdoors/flip with storage lzstools:wrench