From 2cd0865afb83c4ef01155de75f6682c7d7471df4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E3=81=AF=E3=81=84=E3=81=84=E3=82=8D?= Date: Mon, 22 Jun 2026 16:02:43 +0900 Subject: [PATCH 1/2] =?UTF-8?q?:bug:=20=E9=9D=9E=E3=83=97=E3=83=AC?= =?UTF-8?q?=E3=82=A4=E3=83=A4=E3=83=BC=E3=81=AE=20`lib:motion/facing`=20?= =?UTF-8?q?=E3=81=AE=E7=B2=BE=E5=BA=A6=E3=81=8C=E4=BD=8E=E4=B8=8B=E3=81=97?= =?UTF-8?q?=E3=81=A6=E3=81=84=E3=82=8B=E5=95=8F=E9=A1=8C=E3=82=92=E4=BF=AE?= =?UTF-8?q?=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../motion/core/looking/non-player.mcfunction | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/TheSkyBlessing/data/lib/functions/motion/core/looking/non-player.mcfunction b/TheSkyBlessing/data/lib/functions/motion/core/looking/non-player.mcfunction index fe183241f2..977cf6c07d 100644 --- a/TheSkyBlessing/data/lib/functions/motion/core/looking/non-player.mcfunction +++ b/TheSkyBlessing/data/lib/functions/motion/core/looking/non-player.mcfunction @@ -15,18 +15,18 @@ # 演算処理 data modify storage lib: Pos set from entity 0-0-0-0-0 Pos - execute store result score $VectorX Temporary run data get storage lib: Pos[0] 10 - execute store result score $VectorY Temporary run data get storage lib: Pos[1] 10 - execute store result score $VectorZ Temporary run data get storage lib: Pos[2] 10 + execute store result score $VectorX Temporary run data get storage lib: Pos[0] 1000 + execute store result score $VectorY Temporary run data get storage lib: Pos[1] 1000 + execute store result score $VectorZ Temporary run data get storage lib: Pos[2] 1000 scoreboard players operation $VectorX Temporary *= $VectorMagnitude Temporary scoreboard players operation $VectorY Temporary *= $VectorMagnitude Temporary scoreboard players operation $VectorZ Temporary *= $VectorMagnitude Temporary # 適用 - execute store result storage lib: Pos[0] double 0.00001 run scoreboard players get $VectorX Temporary - execute store result storage lib: Pos[1] double 0.00001 run scoreboard players get $VectorY Temporary - execute store result storage lib: Pos[2] double 0.00001 run scoreboard players get $VectorZ Temporary + execute store result storage lib: Pos[0] double 0.0000001 run scoreboard players get $VectorX Temporary + execute store result storage lib: Pos[1] double 0.0000001 run scoreboard players get $VectorY Temporary + execute store result storage lib: Pos[2] double 0.0000001 run scoreboard players get $VectorZ Temporary data modify entity @s Motion set from storage lib: Pos # リセット From f0701a9482cc2a94086383991e92e5704b89af2a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E3=81=AF=E3=81=84=E3=81=84=E3=82=8D?= Date: Mon, 22 Jun 2026 16:03:30 +0900 Subject: [PATCH 2/2] =?UTF-8?q?:bug:=20=E3=83=99=E3=82=AF=E3=83=88?= =?UTF-8?q?=E3=83=AB=E3=81=AE=E5=A4=A7=E3=81=8D=E3=81=95=E3=81=8C=200=20?= =?UTF-8?q?=E3=81=AE=E3=81=A8=E3=81=8D=E3=81=AB=E3=82=A8=E3=83=B3=E3=83=86?= =?UTF-8?q?=E3=82=A3=E3=83=86=E3=82=A3=E3=81=AE=20Motion=20=E3=82=92?= =?UTF-8?q?=E6=89=93=E3=81=A1=E6=B6=88=E3=81=99=E5=95=8F=E9=A1=8C=E3=82=92?= =?UTF-8?q?=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../data/lib/functions/motion/_index.d.mcfunction | 1 + .../lib/functions/motion/core/looking/.mcfunction | 4 ++-- .../data/lib/functions/motion/core/xyz/.mcfunction | 14 ++++++++++++-- 3 files changed, 15 insertions(+), 4 deletions(-) diff --git a/TheSkyBlessing/data/lib/functions/motion/_index.d.mcfunction b/TheSkyBlessing/data/lib/functions/motion/_index.d.mcfunction index 2dd0cee3a2..5bce948782 100644 --- a/TheSkyBlessing/data/lib/functions/motion/_index.d.mcfunction +++ b/TheSkyBlessing/data/lib/functions/motion/_index.d.mcfunction @@ -4,6 +4,7 @@ #> Val # @within function lib:motion/core/*/* #declare score_holder $VectorMagnitude + #declare score_holder $VectorSquared #declare score_holder $KnockbackResist #> api diff --git a/TheSkyBlessing/data/lib/functions/motion/core/looking/.mcfunction b/TheSkyBlessing/data/lib/functions/motion/core/looking/.mcfunction index fb683728af..9f3cbce8e1 100644 --- a/TheSkyBlessing/data/lib/functions/motion/core/looking/.mcfunction +++ b/TheSkyBlessing/data/lib/functions/motion/core/looking/.mcfunction @@ -12,8 +12,8 @@ execute if data storage lib: Argument{KnockbackResist:1b} run function lib:motion/core/looking/knockback_resistance # 適用 - execute if entity @s[type=player] run function lib:motion/core/looking/player - execute if entity @s[type=!player,tag=!Uninterferable] run function lib:motion/core/looking/non-player + execute if entity @s[type=player] unless score $VectorMagnitude Temporary matches 0 run function lib:motion/core/looking/player + execute if entity @s[type=!player,tag=!Uninterferable] unless score $VectorMagnitude Temporary matches 0 run function lib:motion/core/looking/non-player # リセット scoreboard players reset $VectorMagnitude Temporary diff --git a/TheSkyBlessing/data/lib/functions/motion/core/xyz/.mcfunction b/TheSkyBlessing/data/lib/functions/motion/core/xyz/.mcfunction index 13d5f29764..39aa5323e3 100644 --- a/TheSkyBlessing/data/lib/functions/motion/core/xyz/.mcfunction +++ b/TheSkyBlessing/data/lib/functions/motion/core/xyz/.mcfunction @@ -8,9 +8,19 @@ execute if data storage lib: Argument{KnockbackResist:1b} store result score $KnockbackResist Temporary run attribute @s generic.knockback_resistance get 100 execute if data storage lib: Argument{KnockbackResist:1b} run function lib:motion/core/xyz/knockback_resistance +# ベクトルの大きさ(の2乗)を取得する + function lib:array/session/open + data modify storage lib: Array set from storage lib: Argument.Vector + function lib:array/math/sqr + data modify storage lib: Array set from storage lib: SqrResult + function lib:array/math/sum + execute store result score $VectorSquared Temporary run data get storage lib: SumResult 10000 + function lib:array/session/close + # 適用 - execute if entity @s[type=player] run function lib:motion/core/xyz/player - execute if entity @s[type=!player,tag=!Uninterferable] run data modify entity @s Motion set from storage lib: Argument.Vector + execute if entity @s[type=player] unless score $VectorSquared Temporary matches 0 run function lib:motion/core/xyz/player + execute if entity @s[type=!player,tag=!Uninterferable] unless score $VectorSquared Temporary matches 0 run data modify entity @s Motion set from storage lib: Argument.Vector # リセット + scoreboard players reset $VectorSquared Temporary scoreboard players reset $KnockbackResist Temporary