From 41d6e9fb5bf462a9c0edbea08668133f6bd2e31e Mon Sep 17 00:00:00 2001 From: Lapis-LJA Date: Sat, 7 Mar 2026 16:30:54 +0900 Subject: [PATCH 01/27] =?UTF-8?q?=E6=9A=AB=E5=AE=9A=E7=9A=84=E3=81=AB?= =?UTF-8?q?=E6=8A=BD=E8=B1=A1=E3=82=92=E4=BD=9C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mob/2003.abstract_eye/move/.mcfunction | 14 ++++++++++++++ .../mob/2003.abstract_eye/register.mcfunction | 14 ++++++++++++++ .../mob/2003.abstract_eye/rotate/.mcfunction | 8 ++++++++ .../mob/2003.abstract_eye/rotate/m.mcfunction | 7 +++++++ .../mob/2003.abstract_eye/tick/.mcfunction | 9 +++++++++ .../asset/functions/mob/alias/2003/move.mcfunction | 8 ++++++++ .../functions/mob/alias/2003/register.mcfunction | 8 ++++++++ .../functions/mob/alias/2003/rotate.mcfunction | 8 ++++++++ .../asset/functions/mob/alias/2003/tick.mcfunction | 8 ++++++++ 9 files changed, 84 insertions(+) create mode 100644 Asset/data/asset/functions/mob/2003.abstract_eye/move/.mcfunction create mode 100644 Asset/data/asset/functions/mob/2003.abstract_eye/register.mcfunction create mode 100644 Asset/data/asset/functions/mob/2003.abstract_eye/rotate/.mcfunction create mode 100644 Asset/data/asset/functions/mob/2003.abstract_eye/rotate/m.mcfunction create mode 100644 Asset/data/asset/functions/mob/2003.abstract_eye/tick/.mcfunction create mode 100644 Asset/data/asset/functions/mob/alias/2003/move.mcfunction create mode 100644 Asset/data/asset/functions/mob/alias/2003/register.mcfunction create mode 100644 Asset/data/asset/functions/mob/alias/2003/rotate.mcfunction create mode 100644 Asset/data/asset/functions/mob/alias/2003/tick.mcfunction diff --git a/Asset/data/asset/functions/mob/2003.abstract_eye/move/.mcfunction b/Asset/data/asset/functions/mob/2003.abstract_eye/move/.mcfunction new file mode 100644 index 0000000000..63b0312a06 --- /dev/null +++ b/Asset/data/asset/functions/mob/2003.abstract_eye/move/.mcfunction @@ -0,0 +1,14 @@ +#> asset:mob/2003.abstract_eye/move/ +# +# 継承先などから実行される処理 +# +# @within asset:mob/alias/2003/move + +#> Private +# @private + #declare function lib:slide_move/ + +# Attributeから自身の移動速度を取得し移動する + data modify storage lib: Argument.SlideMove.Condition set value "anchored eyes unless block ^ ^ ^ #lib:no_collision/ anchored feet" + execute store result storage lib: Argument.SlideMove.Speed double 0.01 run attribute @s generic.movement_speed get 100 + function lib:slide_move/ diff --git a/Asset/data/asset/functions/mob/2003.abstract_eye/register.mcfunction b/Asset/data/asset/functions/mob/2003.abstract_eye/register.mcfunction new file mode 100644 index 0000000000..1a94426b4b --- /dev/null +++ b/Asset/data/asset/functions/mob/2003.abstract_eye/register.mcfunction @@ -0,0 +1,14 @@ +#> asset:mob/2003.abstract_eye/register +# +# Mobのデータを指定 +# +# @within function asset:mob/alias/2003/register + +# 他のモブに継承されることを許可するか (boolean) (オプション) + data modify storage asset:mob ExtendsSafe set value true +# 継承されることを前提とした、抽象的なモブであるかどうか(boolean) + data modify storage asset:mob IsAbstract set value true +# ID (int) + data modify storage asset:mob ID set value 2003 +# フィールド + # data modify storage asset:mob Field.myValue set value diff --git a/Asset/data/asset/functions/mob/2003.abstract_eye/rotate/.mcfunction b/Asset/data/asset/functions/mob/2003.abstract_eye/rotate/.mcfunction new file mode 100644 index 0000000000..11b5736833 --- /dev/null +++ b/Asset/data/asset/functions/mob/2003.abstract_eye/rotate/.mcfunction @@ -0,0 +1,8 @@ +#> asset:mob/2003.abstract_eye/rotate/ +# +# 継承先などから実行される処理 +# +# @within asset:mob/alias/2003/rotate + +# 回転 + function asset:mob/2003.abstract_eye/rotate/m with storage asset:context this diff --git a/Asset/data/asset/functions/mob/2003.abstract_eye/rotate/m.mcfunction b/Asset/data/asset/functions/mob/2003.abstract_eye/rotate/m.mcfunction new file mode 100644 index 0000000000..85e961a3d6 --- /dev/null +++ b/Asset/data/asset/functions/mob/2003.abstract_eye/rotate/m.mcfunction @@ -0,0 +1,7 @@ +#> asset:mob/2003.abstract_eye/rotate/m +# +# +# +# @within function asset:mob/2003.abstract_eye/rotate/ + + $execute facing entity @p[gamemode=!spectator,distance=..64] feet positioned ^ ^ ^-100 rotated as @s positioned ^ ^ ^-$(Rotate) facing entity @s feet positioned as @s run tp @s ~ ~ ~ ~ ~ diff --git a/Asset/data/asset/functions/mob/2003.abstract_eye/tick/.mcfunction b/Asset/data/asset/functions/mob/2003.abstract_eye/tick/.mcfunction new file mode 100644 index 0000000000..7275815126 --- /dev/null +++ b/Asset/data/asset/functions/mob/2003.abstract_eye/tick/.mcfunction @@ -0,0 +1,9 @@ +#> asset:mob/2003.abstract_eye/tick/ +# +# Mobのtick時の処理 +# +# @within asset:mob/alias/2003/tick + +# デフォルトではrotateとmoveを実行する + execute at @s run function asset:mob/call.m {method:"rotate"} + execute at @s run function asset:mob/call.m {method:"move"} diff --git a/Asset/data/asset/functions/mob/alias/2003/move.mcfunction b/Asset/data/asset/functions/mob/alias/2003/move.mcfunction new file mode 100644 index 0000000000..6af88ef87b --- /dev/null +++ b/Asset/data/asset/functions/mob/alias/2003/move.mcfunction @@ -0,0 +1,8 @@ +#> asset:mob/alias/2003/move +# +# メソッド処理のエイリアス +# +# @within asset_manager:mob/triggers/call_method/run_method.m + +# 本来の処理を呼び出す + function asset:mob/2003.abstract_eye/move/ \ No newline at end of file diff --git a/Asset/data/asset/functions/mob/alias/2003/register.mcfunction b/Asset/data/asset/functions/mob/alias/2003/register.mcfunction new file mode 100644 index 0000000000..c7a72a0f24 --- /dev/null +++ b/Asset/data/asset/functions/mob/alias/2003/register.mcfunction @@ -0,0 +1,8 @@ +#> asset:mob/alias/2003/register +# +# Mobのデータ指定処理のエイリアス +# +# @within asset_manager:mob/triggers/summon/register.m + +# 元の登録処理を呼び出す + function asset:mob/2003.abstract_eye/register \ No newline at end of file diff --git a/Asset/data/asset/functions/mob/alias/2003/rotate.mcfunction b/Asset/data/asset/functions/mob/alias/2003/rotate.mcfunction new file mode 100644 index 0000000000..c09d63f0d2 --- /dev/null +++ b/Asset/data/asset/functions/mob/alias/2003/rotate.mcfunction @@ -0,0 +1,8 @@ +#> asset:mob/alias/2003/rotate +# +# メソッド処理のエイリアス +# +# @within asset_manager:mob/triggers/call_method/run_method.m + +# 本来の処理を呼び出す + function asset:mob/2003.abstract_eye/rotate/ \ No newline at end of file diff --git a/Asset/data/asset/functions/mob/alias/2003/tick.mcfunction b/Asset/data/asset/functions/mob/alias/2003/tick.mcfunction new file mode 100644 index 0000000000..8980d6bcd1 --- /dev/null +++ b/Asset/data/asset/functions/mob/alias/2003/tick.mcfunction @@ -0,0 +1,8 @@ +#> asset:mob/alias/2003/tick +# +# Tick時処理のエイリアス +# +# @within asset_manager:mob/triggers/tick/tick.m + +# 元のTick処理を呼び出す + function asset:mob/2003.abstract_eye/tick/ \ No newline at end of file From d8415ea41e01cbe0ffce2c5d843f47a68a68f834 Mon Sep 17 00:00:00 2001 From: Lapis-LJA Date: Sat, 7 Mar 2026 16:31:21 +0900 Subject: [PATCH 02/27] =?UTF-8?q?[Mob=20210]=20=E3=82=AA=E3=83=BC=E3=83=AD?= =?UTF-8?q?=E3=83=A9=E3=82=A2=E3=82=A4=E3=81=AE=E5=87=A6=E7=90=86=E3=82=92?= =?UTF-8?q?=E8=A9=A6=E9=A8=93=E7=9A=84=E3=81=AB=E6=8A=BD=E8=B1=A1=E3=82=92?= =?UTF-8?q?=E7=B6=99=E6=89=BF=E3=81=99=E3=82=8B=E5=BD=A2=E3=81=AB=E5=A4=89?= =?UTF-8?q?=E6=9B=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../functions/mob/0210.aurora_eye/register.mcfunction | 10 +++++++++- .../functions/mob/0210.aurora_eye/tick/.mcfunction | 11 ++--------- 2 files changed, 11 insertions(+), 10 deletions(-) diff --git a/Asset/data/asset/functions/mob/0210.aurora_eye/register.mcfunction b/Asset/data/asset/functions/mob/0210.aurora_eye/register.mcfunction index 3d8d0fd718..a58a790677 100644 --- a/Asset/data/asset/functions/mob/0210.aurora_eye/register.mcfunction +++ b/Asset/data/asset/functions/mob/0210.aurora_eye/register.mcfunction @@ -1,6 +1,12 @@ #> asset:mob/0210.aurora_eye/register # @within asset:mob/alias/210/register +# 継承(オプション) + data modify storage asset:mob Extends append value 2003 + function asset:mob/extends +# 継承されることを前提とした、抽象的なモブであるかどうか(boolean) + data modify storage asset:mob IsAbstract set value false + # ID (int) data modify storage asset:mob ID set value 210 # Type (string) Wikiを参照 @@ -38,7 +44,7 @@ # 特殊防御力 (double) (オプション) // 4pointにつきダメージを大きく減らす # data modify storage asset:mob SpecialDefense set value # 移動速度 (double) (オプション) - # data modify storage asset:mob Speed set value + data modify storage asset:mob Speed set value 0.2 # 索敵範囲 (double) (オプション) # data modify storage asset:mob FollowRange set value # ノックバック耐性 (double) (オプション) @@ -61,3 +67,5 @@ data modify storage asset:mob Field.BulletCT set value {_:80,Max:80} data modify storage asset:mob Field.Metadata.Melee set value {AuroraEye:"Melee"} data modify storage asset:mob Field.Metadata.Bullet set value {AuroraEye:"Bullet"} + + data modify storage asset:mob Field.Rotate set value 800 diff --git a/Asset/data/asset/functions/mob/0210.aurora_eye/tick/.mcfunction b/Asset/data/asset/functions/mob/0210.aurora_eye/tick/.mcfunction index 7149940289..27845affbc 100644 --- a/Asset/data/asset/functions/mob/0210.aurora_eye/tick/.mcfunction +++ b/Asset/data/asset/functions/mob/0210.aurora_eye/tick/.mcfunction @@ -7,16 +7,9 @@ # 演出 particle dust_color_transition 0.000 1.000 0.886 1 0 0.235 1 ~ ~1.68 ~ 0.25 0.25 0.25 0 1 normal -# 追尾 - execute facing entity @p[gamemode=!spectator] feet positioned ^ ^ ^-100 rotated as @s positioned ^ ^ ^-800 facing entity @s feet positioned as @s run tp @s ^ ^ ^0.2 ~ ~ +# super.tick + function asset:mob/super.tick -# 接地で上を向く - execute at @s unless block ~ ~0.4 ~ #lib:no_collision at @s run tp @s ~ ~ ~ ~ ~-35 - execute at @s unless block ~ ~2.5 ~ #lib:no_collision at @s run tp @s ~ ~ ~ ~ ~80 - -# カベにぶつかった際の処理 - execute at @s unless block ^ ^ ^0.3 #lib:no_collision at @s run tp @s ~ ~ ~ ~45 ~-45 - execute at @s unless block ^ ^ ^0.2 #lib:no_collision at @s run tp @s ~ ~ ~ ~45 ~-45 # 近接攻撃 execute store result storage asset:context this.AttackCT._ int 0.9999999999 run data get storage asset:context this.AttackCT._ From e4b4638cb99747c73ebe9dde32a4ccf4811462a8 Mon Sep 17 00:00:00 2001 From: Lapis-LJA Date: Sat, 7 Mar 2026 17:30:51 +0900 Subject: [PATCH 03/27] =?UTF-8?q?=E6=8A=BD=E8=B1=A1=E3=82=92=E6=9A=AB?= =?UTF-8?q?=E5=AE=9A=E7=9A=84=E3=81=AB=E5=AE=8C=E6=88=90=E3=81=A8=E3=81=99?= =?UTF-8?q?=E3=82=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mob/2003.abstract_eye/move/.mcfunction | 10 +++++++--- .../mob/2003.abstract_eye/move/tp.m.mcfunction | 8 ++++++++ .../mob/2003.abstract_eye/reflect/.mcfunction | 16 ++++++++++++++++ .../reflect/forward_block.m.mcfunction | 5 +++++ .../mob/2003.abstract_eye/tick/.mcfunction | 6 +++++- .../functions/mob/alias/2003/reflect.mcfunction | 8 ++++++++ 6 files changed, 49 insertions(+), 4 deletions(-) create mode 100644 Asset/data/asset/functions/mob/2003.abstract_eye/move/tp.m.mcfunction create mode 100644 Asset/data/asset/functions/mob/2003.abstract_eye/reflect/.mcfunction create mode 100644 Asset/data/asset/functions/mob/2003.abstract_eye/reflect/forward_block.m.mcfunction create mode 100644 Asset/data/asset/functions/mob/alias/2003/reflect.mcfunction diff --git a/Asset/data/asset/functions/mob/2003.abstract_eye/move/.mcfunction b/Asset/data/asset/functions/mob/2003.abstract_eye/move/.mcfunction index 63b0312a06..5c05af855c 100644 --- a/Asset/data/asset/functions/mob/2003.abstract_eye/move/.mcfunction +++ b/Asset/data/asset/functions/mob/2003.abstract_eye/move/.mcfunction @@ -9,6 +9,10 @@ #declare function lib:slide_move/ # Attributeから自身の移動速度を取得し移動する - data modify storage lib: Argument.SlideMove.Condition set value "anchored eyes unless block ^ ^ ^ #lib:no_collision/ anchored feet" - execute store result storage lib: Argument.SlideMove.Speed double 0.01 run attribute @s generic.movement_speed get 100 - function lib:slide_move/ + # data modify storage lib: Argument.SlideMove.Condition set value "anchored eyes unless block ^ ^ ^ #lib:no_collision/ anchored feet" + # execute store result storage lib: Argument.SlideMove.Speed double 0.01 run attribute @s generic.movement_speed get 100 + # function lib:slide_move/ + + execute store result storage asset:temp Args.Speed double 0.01 run attribute @s generic.movement_speed get 100 + function asset:mob/2003.abstract_eye/move/tp.m with storage asset:temp Args + data remove storage asset:temp Args diff --git a/Asset/data/asset/functions/mob/2003.abstract_eye/move/tp.m.mcfunction b/Asset/data/asset/functions/mob/2003.abstract_eye/move/tp.m.mcfunction new file mode 100644 index 0000000000..032566ba7a --- /dev/null +++ b/Asset/data/asset/functions/mob/2003.abstract_eye/move/tp.m.mcfunction @@ -0,0 +1,8 @@ +#> asset:mob/2003.abstract_eye/move/tp.m +# +# +# +# @within function asset:mob/2003.abstract_eye/move/ + +# 1ブロック先が安全 && Speed分先のブロックが安全 ならtpする + $execute anchored eyes if block ^ ^ ^1 #lib:no_collision/ if block ^ ^ ^$(Speed) #lib:no_collision/ anchored feet run tp @s ^ ^ ^$(Speed) diff --git a/Asset/data/asset/functions/mob/2003.abstract_eye/reflect/.mcfunction b/Asset/data/asset/functions/mob/2003.abstract_eye/reflect/.mcfunction new file mode 100644 index 0000000000..df50f28add --- /dev/null +++ b/Asset/data/asset/functions/mob/2003.abstract_eye/reflect/.mcfunction @@ -0,0 +1,16 @@ +#> asset:mob/2003.abstract_eye/reflect/ +# +# 継承先などから実行される処理 +# +# @within asset:mob/alias/2003/reflect + +# 下がブロックなら上を向く + execute at @s unless block ~ ~0.2 ~ #lib:no_collision/ run tp @s ~ ~ ~ ~ ~-35 + +# 上がブロックなら下を向く + execute at @s unless block ~ ~2.5 ~ #lib:no_collision/ run tp @s ~ ~ ~ ~ ~80 + +# カベにぶつかった際の処理 + execute store result storage asset:temp Args.Speed double 0.01 run attribute @s generic.movement_speed get 100 + function asset:mob/2003.abstract_eye/reflect/forward_block.m with storage asset:temp Args + data remove storage asset:temp Args diff --git a/Asset/data/asset/functions/mob/2003.abstract_eye/reflect/forward_block.m.mcfunction b/Asset/data/asset/functions/mob/2003.abstract_eye/reflect/forward_block.m.mcfunction new file mode 100644 index 0000000000..8b6c7beb8a --- /dev/null +++ b/Asset/data/asset/functions/mob/2003.abstract_eye/reflect/forward_block.m.mcfunction @@ -0,0 +1,5 @@ +#> asset:mob/2003.abstract_eye/reflect/forward_block.m +# +# +# +# @within function asset:mob/2003.abstract_eye/reflect/ diff --git a/Asset/data/asset/functions/mob/2003.abstract_eye/tick/.mcfunction b/Asset/data/asset/functions/mob/2003.abstract_eye/tick/.mcfunction index 7275815126..1a65084bc9 100644 --- a/Asset/data/asset/functions/mob/2003.abstract_eye/tick/.mcfunction +++ b/Asset/data/asset/functions/mob/2003.abstract_eye/tick/.mcfunction @@ -4,6 +4,10 @@ # # @within asset:mob/alias/2003/tick -# デフォルトではrotateとmoveを実行する +# デフォルトではrelfect、rotateとmoveを実行する + execute at @s run function asset:mob/call.m {method:"reflect"} execute at @s run function asset:mob/call.m {method:"rotate"} execute at @s run function asset:mob/call.m {method:"move"} + +# 完全に重なるのを対策するために低確率で追加でmoveする + execute if predicate lib:random_pass_per/1 at @s run function asset:mob/call.m {method:"move"} diff --git a/Asset/data/asset/functions/mob/alias/2003/reflect.mcfunction b/Asset/data/asset/functions/mob/alias/2003/reflect.mcfunction new file mode 100644 index 0000000000..8d67ff931c --- /dev/null +++ b/Asset/data/asset/functions/mob/alias/2003/reflect.mcfunction @@ -0,0 +1,8 @@ +#> asset:mob/alias/2003/reflect +# +# メソッド処理のエイリアス +# +# @within asset_manager:mob/triggers/call_method/run_method.m + +# 本来の処理を呼び出す + function asset:mob/2003.abstract_eye/reflect/ \ No newline at end of file From 1ed9c4335618cfeaeeb1640340164578b2cd7359 Mon Sep 17 00:00:00 2001 From: Lapis-LJA Date: Sat, 7 Mar 2026 17:45:11 +0900 Subject: [PATCH 04/27] =?UTF-8?q?[Mob=20227]=20=E3=83=95=E3=83=AD=E3=82=B9?= =?UTF-8?q?=E3=83=88=E3=82=A2=E3=82=A4=E3=81=AB=E6=8A=BD=E8=B1=A1=E3=82=92?= =?UTF-8?q?=E9=81=A9=E7=94=A8=E3=81=99=E3=82=8B=E3=82=88=E3=81=86=E3=81=AB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../functions/mob/0227.frost_eye/register.mcfunction | 11 +++++++---- .../functions/mob/0227.frost_eye/tick/.mcfunction | 11 ++--------- 2 files changed, 9 insertions(+), 13 deletions(-) diff --git a/Asset/data/asset/functions/mob/0227.frost_eye/register.mcfunction b/Asset/data/asset/functions/mob/0227.frost_eye/register.mcfunction index c8189907ac..40f2e04c6d 100644 --- a/Asset/data/asset/functions/mob/0227.frost_eye/register.mcfunction +++ b/Asset/data/asset/functions/mob/0227.frost_eye/register.mcfunction @@ -4,9 +4,11 @@ # # @within function asset:mob/alias/227/register -# 継承 (int) (オプション) - # data modify storage asset:mob Extends append value - # function asset:mob/extends +# 継承(オプション) + data modify storage asset:mob Extends append value 2003 + function asset:mob/extends +# 継承されることを前提とした、抽象的なモブであるかどうか(boolean) + data modify storage asset:mob IsAbstract set value false # 他のモブに継承されることを許可するか (boolean) (オプション) data modify storage asset:mob ExtendsSafe set value true @@ -47,7 +49,7 @@ # 特殊防御力 (double) (オプション) // 4pointにつきダメージを大きく減らす # data modify storage asset:mob SpecialDefense set value # 移動速度 (double) (オプション) - # data modify storage asset:mob Speed set value + data modify storage asset:mob Speed set value 0.15 # 索敵範囲 (double) (オプション) # data modify storage asset:mob FollowRange set value # ノックバック耐性 (double) (オプション) @@ -67,3 +69,4 @@ # フィールド # 与えるダメージ data modify storage asset:mob Field.Damage set value 8.0f + data modify storage asset:mob Field.Rotate set value 800 diff --git a/Asset/data/asset/functions/mob/0227.frost_eye/tick/.mcfunction b/Asset/data/asset/functions/mob/0227.frost_eye/tick/.mcfunction index 97d55fd5c2..5a7dfc6cac 100644 --- a/Asset/data/asset/functions/mob/0227.frost_eye/tick/.mcfunction +++ b/Asset/data/asset/functions/mob/0227.frost_eye/tick/.mcfunction @@ -10,15 +10,8 @@ # 下の水を凍らせる execute if predicate api:area/is_breakable anchored eyes positioned ^ ^ ^ run fill ~0.5 ~-1 ~0.5 ~-0.5 ~-2 ~-0.5 frosted_ice replace #asset:mob/0227.frost_eye/freezable -# 接地で上を向く - execute at @s unless block ~ ~0.2 ~ #lib:no_collision run tp @s ~ ~ ~ ~ ~-35 - execute at @s unless block ~ ~2.5 ~ #lib:no_collision run tp @s ~ ~ ~ ~ ~80 - -# カベにぶつかった際の処理 - execute at @s unless block ^ ^ ^0.3 #lib:no_collision run tp @s ~ ~ ~ ~45 ~-45 - -# プレイヤーを追跡 - execute at @s facing entity @p[gamemode=!spectator] feet positioned ^ ^ ^-100 rotated as @s positioned ^ ^ ^-800 facing entity @s feet positioned as @s run tp @s ^ ^ ^0.15 ~ ~ +# super.tick + function asset:mob/super.tick # クールタイムを減らす 0以下にはならない scoreboard players remove @s[scores={6C.AttackCT=1..}] 6C.AttackCT 1 From a23e169a01a678330b975eed7a68d5b462aee996 Mon Sep 17 00:00:00 2001 From: Lapis-LJA Date: Sat, 7 Mar 2026 17:52:29 +0900 Subject: [PATCH 05/27] =?UTF-8?q?[Mob=20255]=20=E3=83=87=E3=82=B9=E3=83=9A?= =?UTF-8?q?=E3=83=87=E3=83=B3=E3=82=B9=E3=82=A2=E3=82=A4=E3=81=AB=E6=8A=BD?= =?UTF-8?q?=E8=B1=A1=E3=82=92=E9=81=A9=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mob/0255.dependence_eye/register.mcfunction | 11 ++++++++++- .../mob/0255.dependence_eye/tick/.mcfunction | 13 ++----------- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/Asset/data/asset/functions/mob/0255.dependence_eye/register.mcfunction b/Asset/data/asset/functions/mob/0255.dependence_eye/register.mcfunction index 7fc32a1a63..08f4303287 100644 --- a/Asset/data/asset/functions/mob/0255.dependence_eye/register.mcfunction +++ b/Asset/data/asset/functions/mob/0255.dependence_eye/register.mcfunction @@ -1,6 +1,12 @@ #> asset:mob/0255.dependence_eye/register # @within asset:mob/alias/255/register +# 継承(オプション) + data modify storage asset:mob Extends append value 2003 + function asset:mob/extends +# 継承されることを前提とした、抽象的なモブであるかどうか(boolean) + data modify storage asset:mob IsAbstract set value false + # ID (int) data modify storage asset:mob ID set value 255 # Type (string) Wikiを参照 @@ -38,7 +44,7 @@ # 特殊防御力 (double) (オプション) // 4pointにつきダメージを大きく減らす # data modify storage asset:mob SpecialDefense set value # 移動速度 (double) (オプション) - data modify storage asset:mob Speed set value 0 + data modify storage asset:mob Speed set value 0.25 # 索敵範囲 (double) (オプション) data modify storage asset:mob FollowRange set value 0 # ノックバック耐性 (double) (オプション) @@ -54,3 +60,6 @@ # data modify storage asset:mob Resist.Water set value # 雷倍率 (float) (オプション) # data modify storage asset:mob Resist.Thunder set value + +# フィールド + data modify storage asset:mob Field.Rotate set value 800 diff --git a/Asset/data/asset/functions/mob/0255.dependence_eye/tick/.mcfunction b/Asset/data/asset/functions/mob/0255.dependence_eye/tick/.mcfunction index f2cefc4cb3..19ef583c6a 100644 --- a/Asset/data/asset/functions/mob/0255.dependence_eye/tick/.mcfunction +++ b/Asset/data/asset/functions/mob/0255.dependence_eye/tick/.mcfunction @@ -4,24 +4,15 @@ # # @within function asset:mob/alias/255/tick - # だいたいデーモンアイからコピー。幾何学つかって多少簡略化 # パーティクル particle dust 0.5 0 0 1 ~ ~1.68 ~ 0.25 0.25 0.25 0 2 force @a[distance=..40] -# 接地で上を向く - execute unless block ~ ~-0.1 ~ #lib:no_collision at @s run tp @s ~ ~ ~ ~ ~-35 - execute unless block ~ ~1 ~ #lib:no_collision at @s run tp @s ~ ~ ~ ~ ~80 - -# 範囲内ならホーミングじみた移動、ただしダメージを受けていないなら - execute facing entity @p eyes positioned ^ ^ ^-100 rotated as @s positioned ^ ^ ^-800 facing entity @s eyes positioned as @s run tp @s ^ ^ ^0.25 ~ ~ +# super.tick + function asset:mob/super.tick # クールタイムを減らす 0以下にはならない scoreboard players remove @s[scores={73.AttackCT=1..}] 73.AttackCT 1 # クールタイム中じゃないなら接触時に攻撃 execute unless score @s 73.AttackCT matches 1.. positioned ~-0.5 ~-0.5 ~-0.5 if entity @p[tag=!PlayerShouldInvulnerable,dx=0] run function asset:mob/0255.dependence_eye/tick/3.attack - -# カベにぶつかった際の処理 - execute unless block ^ ^ ^0.5 #lib:no_collision at @s run tp @s ~ ~ ~ ~45 ~-45 - execute at @s unless block ^ ^ ^0.2 #lib:no_collision at @s run tp @s ~ ~ ~ ~45 ~-45 From 8b34819c7f57aa47fae3285b966eb66f5d4154bb Mon Sep 17 00:00:00 2001 From: Lapis-LJA Date: Thu, 12 Mar 2026 16:54:07 +0900 Subject: [PATCH 06/27] =?UTF-8?q?[Mob=20363]=20=E7=99=BD=E5=91=AA=E3=81=AE?= =?UTF-8?q?=E9=AD=94=E5=B0=8E=E6=9B=B8=E3=81=AB=E6=8A=BD=E8=B1=A1=E3=82=92?= =?UTF-8?q?=E9=81=A9=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mob/0363.white_spellbook/init/.mcfunction | 3 +++ .../0363.white_spellbook/register.mcfunction | 13 +++++++++---- .../0363.white_spellbook/set_speed/0.mcfunction | 11 +++++++++++ .../0363.white_spellbook/set_speed/1.mcfunction | 9 +++++++++ .../mob/0363.white_spellbook/tick/.mcfunction | 17 ++++++----------- 5 files changed, 38 insertions(+), 15 deletions(-) create mode 100644 Asset/data/asset/functions/mob/0363.white_spellbook/set_speed/0.mcfunction create mode 100644 Asset/data/asset/functions/mob/0363.white_spellbook/set_speed/1.mcfunction diff --git a/Asset/data/asset/functions/mob/0363.white_spellbook/init/.mcfunction b/Asset/data/asset/functions/mob/0363.white_spellbook/init/.mcfunction index a60271d450..89acda4674 100644 --- a/Asset/data/asset/functions/mob/0363.white_spellbook/init/.mcfunction +++ b/Asset/data/asset/functions/mob/0363.white_spellbook/init/.mcfunction @@ -6,3 +6,6 @@ # スコアの初期化 scoreboard players set @s General.Mob.Tick -80 + +# 速度・追尾力初期化 + function asset:mob/0363.white_spellbook/set_speed/0 diff --git a/Asset/data/asset/functions/mob/0363.white_spellbook/register.mcfunction b/Asset/data/asset/functions/mob/0363.white_spellbook/register.mcfunction index 2328c13ea0..c9a75fe50b 100644 --- a/Asset/data/asset/functions/mob/0363.white_spellbook/register.mcfunction +++ b/Asset/data/asset/functions/mob/0363.white_spellbook/register.mcfunction @@ -4,9 +4,11 @@ # # @within function asset:mob/alias/363/register -# 継承 (int) (オプション) - # data modify storage asset:mob Extends append value - # function asset:mob/extends +# 継承(オプション) + data modify storage asset:mob Extends append value 2003 + function asset:mob/extends +# 継承されることを前提とした、抽象的なモブであるかどうか(boolean) + data modify storage asset:mob IsAbstract set value false # 他のモブに継承されることを許可するか (boolean) (オプション) # data modify storage asset:mob ExtendsSafe set value true @@ -47,7 +49,7 @@ # 特殊防御力 (double) (オプション) // 4pointにつきダメージを大きく減らす # data modify storage asset:mob SpecialDefense set value # 移動速度 (double) (オプション) - # data modify storage asset:mob Speed set value + data modify storage asset:mob Speed set value 0.15 # 索敵範囲 (double) (オプション) # data modify storage asset:mob FollowRange set value # ノックバック耐性 (double) (オプション) @@ -66,3 +68,6 @@ # フィールド data modify storage asset:mob Field.Damage set value 35f + data modify storage asset:mob Field.MoveSpeed set value {Slow:0.15,Fast:0.3} + data modify storage asset:mob Field.RotatePower set value {Weak:1200,Strong:600} + # data modify storage asset:mob Field.Rotate set value diff --git a/Asset/data/asset/functions/mob/0363.white_spellbook/set_speed/0.mcfunction b/Asset/data/asset/functions/mob/0363.white_spellbook/set_speed/0.mcfunction new file mode 100644 index 0000000000..ca0585ebd6 --- /dev/null +++ b/Asset/data/asset/functions/mob/0363.white_spellbook/set_speed/0.mcfunction @@ -0,0 +1,11 @@ +#> asset:mob/0363.white_spellbook/set_speed/0 +# +# +# +# @within function +# asset:mob/0363.white_spellbook/init/ +# asset:mob/0363.white_spellbook/tick/ + +# 速度・追尾ともに弱く設定 + execute store result entity @s Attributes[{Name:"minecraft:generic.movement_speed"}].Base double 0.01 run data get storage asset:context this.MoveSpeed.Slow 100 + data modify storage asset:context this.Rotate set from storage asset:context this.Weak diff --git a/Asset/data/asset/functions/mob/0363.white_spellbook/set_speed/1.mcfunction b/Asset/data/asset/functions/mob/0363.white_spellbook/set_speed/1.mcfunction new file mode 100644 index 0000000000..207ba686f3 --- /dev/null +++ b/Asset/data/asset/functions/mob/0363.white_spellbook/set_speed/1.mcfunction @@ -0,0 +1,9 @@ +#> asset:mob/0363.white_spellbook/set_speed/1 +# +# +# +# @within function asset:mob/0363.white_spellbook/tick/ + +# 速度・追尾ともに強く設定 + execute store result entity @s Attributes[{Name:"minecraft:generic.movement_speed"}].Base double 0.01 run data get storage asset:context this.MoveSpeed.Fast 100 + data modify storage asset:context this.Rotate set from storage asset:context this.RotatePower.Strong diff --git a/Asset/data/asset/functions/mob/0363.white_spellbook/tick/.mcfunction b/Asset/data/asset/functions/mob/0363.white_spellbook/tick/.mcfunction index 81b621dc20..97a90a0538 100644 --- a/Asset/data/asset/functions/mob/0363.white_spellbook/tick/.mcfunction +++ b/Asset/data/asset/functions/mob/0363.white_spellbook/tick/.mcfunction @@ -7,26 +7,21 @@ # 演出 particle enchant ~ ~1.68 ~ 0.25 0.25 0.25 0 2 normal @a +# super.tick + function asset:mob/super.tick + # Tickスコア scoreboard players add @s General.Mob.Tick 1 # 魔法陣を召喚する execute if entity @s[scores={General.Mob.Tick=0..}] run function asset:mob/0363.white_spellbook/tick/magic -# 接地で上を向く - execute unless block ~ ~-0.1 ~ #lib:no_collision at @s run tp @s ~ ~ ~ ~ ~-35 - execute unless block ~ ~1 ~ #lib:no_collision at @s run tp @s ~ ~ ~ ~ ~80 - # 移動スコア scoreboard players add @s A3.MoveTimer 1 -# MoveTimer =< 60なら遅く追尾は弱く、MoveTimer > 60なら速く追尾は強く - execute if entity @s[scores={A3.MoveTimer=..60}] facing entity @p eyes positioned ^ ^ ^-100 rotated as @s positioned ^ ^ ^-1200 facing entity @s eyes positioned as @s run tp @s ^ ^ ^0.15 ~ ~ - execute if entity @s[scores={A3.MoveTimer=60..}] facing entity @p eyes positioned ^ ^ ^-100 rotated as @s positioned ^ ^ ^-600 facing entity @s eyes positioned as @s run tp @s ^ ^ ^0.3 ~ ~ +# MoveTimerが60/120になるごとに速度と追尾力を変える + execute if score @s A3.MoveTimer matches 60 run function asset:mob/0363.white_spellbook/set_speed/1 + execute if score @s A3.MoveTimer matches 120 run function asset:mob/0363.white_spellbook/set_speed/0 # 移動スコアリセット execute if entity @s[scores={A3.MoveTimer=120..}] run scoreboard players reset @s A3.MoveTimer - -# カベにぶつかった際の処理 - execute unless block ^ ^ ^0.5 #lib:no_collision at @s run tp @s ~ ~ ~ ~45 ~-45 - execute at @s unless block ^ ^ ^0.2 #lib:no_collision at @s run tp @s ~ ~ ~ ~45 ~-45 From 20f62d5a04f5df6b3c41130ea5f3d39d51b31b31 Mon Sep 17 00:00:00 2001 From: Lapis-LJA Date: Thu, 12 Mar 2026 17:03:42 +0900 Subject: [PATCH 07/27] =?UTF-8?q?[Mob=20257]=20=E6=AD=AA=E3=81=BF=E3=81=AE?= =?UTF-8?q?=E9=AD=94=E5=B0=8E=E6=9B=B8=E3=81=AB=E6=8A=BD=E8=B1=A1=E3=82=92?= =?UTF-8?q?=E9=81=A9=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../0257.distortion_spellbook/register.mcfunction | 11 ++++++++++- .../0257.distortion_spellbook/tick/.mcfunction | 15 ++------------- 2 files changed, 12 insertions(+), 14 deletions(-) diff --git a/Asset/data/asset/functions/mob/0257.distortion_spellbook/register.mcfunction b/Asset/data/asset/functions/mob/0257.distortion_spellbook/register.mcfunction index fcb3d42f68..07d0bdb302 100644 --- a/Asset/data/asset/functions/mob/0257.distortion_spellbook/register.mcfunction +++ b/Asset/data/asset/functions/mob/0257.distortion_spellbook/register.mcfunction @@ -1,6 +1,12 @@ #> asset:mob/0257.distortion_spellbook/register # @within asset:mob/alias/257/register +# 継承(オプション) + data modify storage asset:mob Extends append value 2003 + function asset:mob/extends +# 継承されることを前提とした、抽象的なモブであるかどうか(boolean) + data modify storage asset:mob IsAbstract set value false + # ID (int) data modify storage asset:mob ID set value 257 # Type (string) Wikiを参照 @@ -38,7 +44,7 @@ # 特殊防御力 (double) (オプション) // 4pointにつきダメージを大きく減らす # data modify storage asset:mob SpecialDefense set value # 移動速度 (double) (オプション) - # data modify storage asset:mob Speed set value + data modify storage asset:mob Speed set value 0.2 # 索敵範囲 (double) (オプション) # data modify storage asset:mob FollowRange set value # ノックバック耐性 (double) (オプション) @@ -54,3 +60,6 @@ data modify storage asset:mob Resist.Water set value 1 # 雷倍率 (float) (オプション) data modify storage asset:mob Resist.Thunder set value 1 + +# フィールド + data modify storage asset:mob Field.Rotate set value 800 diff --git a/Asset/data/asset/functions/mob/0257.distortion_spellbook/tick/.mcfunction b/Asset/data/asset/functions/mob/0257.distortion_spellbook/tick/.mcfunction index 645366cec6..216b58455f 100644 --- a/Asset/data/asset/functions/mob/0257.distortion_spellbook/tick/.mcfunction +++ b/Asset/data/asset/functions/mob/0257.distortion_spellbook/tick/.mcfunction @@ -4,18 +4,11 @@ # # @within function asset:mob/alias/257/tick - - -# だいたいデーモンアイからコピー。幾何学つかって多少簡略化 # パーティクル particle enchant ~ ~1.68 ~ 0.25 0.25 0.25 0 2 force @a[distance=..40] -# 接地で上を向く - execute unless block ~ ~-0.1 ~ #lib:no_collision at @s run tp @s ~ ~ ~ ~ ~-35 - execute unless block ~ ~1 ~ #lib:no_collision at @s run tp @s ~ ~ ~ ~ ~80 - -# 範囲内ならホーミングじみた移動 - execute facing entity @p eyes positioned ^ ^ ^-100 rotated as @s positioned ^ ^ ^-800 facing entity @s eyes positioned as @s run tp @s ^ ^ ^0.2 ~ ~ +# super.tick + function asset:mob/super.tick # スコア増やす scoreboard players add @s General.Mob.Tick 1 @@ -23,7 +16,3 @@ execute if score @s General.Mob.Tick matches 135.. if entity @p[gamemode=!spectator,distance=..20] run function asset:mob/0257.distortion_spellbook/tick/summon_teleporter # スコアリセット execute if score @s General.Mob.Tick matches 135.. run scoreboard players set @s General.Mob.Tick 0 - -# カベにぶつかった際の処理 - execute unless block ^ ^ ^0.5 #lib:no_collision at @s run tp @s ~ ~ ~ ~45 ~-45 - execute at @s unless block ^ ^ ^0.2 #lib:no_collision at @s run tp @s ~ ~ ~ ~45 ~-45 From 5abfe2df97e984c75ec59f7ff9cec9b2cbf0c2f8 Mon Sep 17 00:00:00 2001 From: Lapis-LJA Date: Fri, 13 Mar 2026 04:26:31 +0900 Subject: [PATCH 08/27] =?UTF-8?q?=E6=8A=BD=E8=B1=A1=E3=81=AE=E5=87=A6?= =?UTF-8?q?=E7=90=86=E3=82=92=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mob/2003.abstract_eye/get_speed/.mcfunction | 8 ++++++++ .../functions/mob/2003.abstract_eye/move/.mcfunction | 12 ++++-------- .../mob/2003.abstract_eye/move/tp.m.mcfunction | 8 -------- .../mob/2003.abstract_eye/reflect/.mcfunction | 12 ++++++------ .../reflect/forward_block.m.mcfunction | 5 +++++ .../functions/mob/2003.abstract_eye/tick/.mcfunction | 8 +++++++- .../functions/mob/alias/2003/get_speed.mcfunction | 8 ++++++++ 7 files changed, 38 insertions(+), 23 deletions(-) create mode 100644 Asset/data/asset/functions/mob/2003.abstract_eye/get_speed/.mcfunction delete mode 100644 Asset/data/asset/functions/mob/2003.abstract_eye/move/tp.m.mcfunction create mode 100644 Asset/data/asset/functions/mob/alias/2003/get_speed.mcfunction diff --git a/Asset/data/asset/functions/mob/2003.abstract_eye/get_speed/.mcfunction b/Asset/data/asset/functions/mob/2003.abstract_eye/get_speed/.mcfunction new file mode 100644 index 0000000000..fdd4730455 --- /dev/null +++ b/Asset/data/asset/functions/mob/2003.abstract_eye/get_speed/.mcfunction @@ -0,0 +1,8 @@ +#> asset:mob/2003.abstract_eye/get_speed/ +# +# 継承先などから実行される処理 +# +# @within asset:mob/alias/2003/get_speed + +# スピードを取得します + execute store result storage asset:temp 2003.Speed double 0.01 run attribute @s generic.movement_speed get 100 diff --git a/Asset/data/asset/functions/mob/2003.abstract_eye/move/.mcfunction b/Asset/data/asset/functions/mob/2003.abstract_eye/move/.mcfunction index 5c05af855c..8f3387708c 100644 --- a/Asset/data/asset/functions/mob/2003.abstract_eye/move/.mcfunction +++ b/Asset/data/asset/functions/mob/2003.abstract_eye/move/.mcfunction @@ -8,11 +8,7 @@ # @private #declare function lib:slide_move/ -# Attributeから自身の移動速度を取得し移動する - # data modify storage lib: Argument.SlideMove.Condition set value "anchored eyes unless block ^ ^ ^ #lib:no_collision/ anchored feet" - # execute store result storage lib: Argument.SlideMove.Speed double 0.01 run attribute @s generic.movement_speed get 100 - # function lib:slide_move/ - - execute store result storage asset:temp Args.Speed double 0.01 run attribute @s generic.movement_speed get 100 - function asset:mob/2003.abstract_eye/move/tp.m with storage asset:temp Args - data remove storage asset:temp Args +# 壁貫通のないように移動 + data modify storage lib: Argument.SlideMove.Speed set from storage asset:temp 2003.Speed + data modify storage lib: Argument.SlideMove.Conditions set value "anchored eyes unless block ^ ^ ^ #lib:no_collision/" + function lib:slide_move/ diff --git a/Asset/data/asset/functions/mob/2003.abstract_eye/move/tp.m.mcfunction b/Asset/data/asset/functions/mob/2003.abstract_eye/move/tp.m.mcfunction deleted file mode 100644 index 032566ba7a..0000000000 --- a/Asset/data/asset/functions/mob/2003.abstract_eye/move/tp.m.mcfunction +++ /dev/null @@ -1,8 +0,0 @@ -#> asset:mob/2003.abstract_eye/move/tp.m -# -# -# -# @within function asset:mob/2003.abstract_eye/move/ - -# 1ブロック先が安全 && Speed分先のブロックが安全 ならtpする - $execute anchored eyes if block ^ ^ ^1 #lib:no_collision/ if block ^ ^ ^$(Speed) #lib:no_collision/ anchored feet run tp @s ^ ^ ^$(Speed) diff --git a/Asset/data/asset/functions/mob/2003.abstract_eye/reflect/.mcfunction b/Asset/data/asset/functions/mob/2003.abstract_eye/reflect/.mcfunction index df50f28add..61f5a11510 100644 --- a/Asset/data/asset/functions/mob/2003.abstract_eye/reflect/.mcfunction +++ b/Asset/data/asset/functions/mob/2003.abstract_eye/reflect/.mcfunction @@ -4,13 +4,13 @@ # # @within asset:mob/alias/2003/reflect +# 正面のブロックにぶつかった際の処理 + execute store result storage asset:temp 2003.HalfSpeed float 0.005 run data get storage asset:temp 2003.Speed 100 + execute anchored eyes positioned ^ ^ ^ run function asset:mob/2003.abstract_eye/reflect/forward_block.m with storage asset:temp 2003 + execute if data storage asset:temp 2003{Check:true} run tp @s ~ ~ ~ ~45 ~-45 + # 下がブロックなら上を向く - execute at @s unless block ~ ~0.2 ~ #lib:no_collision/ run tp @s ~ ~ ~ ~ ~-35 + execute at @s unless block ~ ~1 ~ #lib:no_collision/ run tp @s ~ ~ ~ ~ ~-35 # 上がブロックなら下を向く execute at @s unless block ~ ~2.5 ~ #lib:no_collision/ run tp @s ~ ~ ~ ~ ~80 - -# カベにぶつかった際の処理 - execute store result storage asset:temp Args.Speed double 0.01 run attribute @s generic.movement_speed get 100 - function asset:mob/2003.abstract_eye/reflect/forward_block.m with storage asset:temp Args - data remove storage asset:temp Args diff --git a/Asset/data/asset/functions/mob/2003.abstract_eye/reflect/forward_block.m.mcfunction b/Asset/data/asset/functions/mob/2003.abstract_eye/reflect/forward_block.m.mcfunction index 8b6c7beb8a..75c1328e04 100644 --- a/Asset/data/asset/functions/mob/2003.abstract_eye/reflect/forward_block.m.mcfunction +++ b/Asset/data/asset/functions/mob/2003.abstract_eye/reflect/forward_block.m.mcfunction @@ -3,3 +3,8 @@ # # # @within function asset:mob/2003.abstract_eye/reflect/ + +# 視線先でのxyzの各ベクトルにおいてブロックがないかチェックする + $execute at @s positioned 0.0 0.0 0.0 positioned ^ ^ ^-1 positioned ~ 0.0 0.0 positioned ^ ^ ^0.5 facing 0.0 0.0 0.0 positioned as @s positioned ^ ^ ^$(Speed) rotated as @s positioned ^ ^ ^$(Speed) anchored eyes unless block ^ ^ ^ #lib:no_collision/ run return run data modify storage asset:temp 2003.Check set value true + $execute at @s rotated ~180 ~ positioned ^ ^ ^$(Speed) rotated ~-180 ~ positioned ^ ^ ^$(Speed) anchored eyes unless block ^ ^ ^ #lib:no_collision/ run return run data modify storage asset:temp 2003.Check set value true + $execute at @s positioned 0.0 0.0 0.0 positioned ^ ^ ^-1 positioned 0.0 0.0 ~ positioned ^ ^ ^0.5 facing 0.0 0.0 0.0 positioned as @s positioned ^ ^ ^$(Speed) rotated as @s positioned ^ ^ ^$(Speed) anchored eyes unless block ^ ^ ^ #lib:no_collision/ run return run data modify storage asset:temp 2003.Check set value true diff --git a/Asset/data/asset/functions/mob/2003.abstract_eye/tick/.mcfunction b/Asset/data/asset/functions/mob/2003.abstract_eye/tick/.mcfunction index 1a65084bc9..c39279c010 100644 --- a/Asset/data/asset/functions/mob/2003.abstract_eye/tick/.mcfunction +++ b/Asset/data/asset/functions/mob/2003.abstract_eye/tick/.mcfunction @@ -4,10 +4,16 @@ # # @within asset:mob/alias/2003/tick +# 移動速度を取得 + function asset:mob/call.m {method:"get_speed"} + # デフォルトではrelfect、rotateとmoveを実行する - execute at @s run function asset:mob/call.m {method:"reflect"} execute at @s run function asset:mob/call.m {method:"rotate"} + execute at @s run function asset:mob/call.m {method:"reflect"} execute at @s run function asset:mob/call.m {method:"move"} # 完全に重なるのを対策するために低確率で追加でmoveする execute if predicate lib:random_pass_per/1 at @s run function asset:mob/call.m {method:"move"} + +# リセット + data remove storage asset:temp 2003 diff --git a/Asset/data/asset/functions/mob/alias/2003/get_speed.mcfunction b/Asset/data/asset/functions/mob/alias/2003/get_speed.mcfunction new file mode 100644 index 0000000000..e849d8fa9c --- /dev/null +++ b/Asset/data/asset/functions/mob/alias/2003/get_speed.mcfunction @@ -0,0 +1,8 @@ +#> asset:mob/alias/2003/get_speed +# +# メソッド処理のエイリアス +# +# @within asset_manager:mob/triggers/call_method/run_method.m + +# 本来の処理を呼び出す + function asset:mob/2003.abstract_eye/get_speed/ \ No newline at end of file From 6553c81f4824096e7e57325dd47dbb37eb2c725a Mon Sep 17 00:00:00 2001 From: Lapis-LJA Date: Fri, 13 Mar 2026 20:18:30 +0900 Subject: [PATCH 09/27] =?UTF-8?q?[Mob=20370]=20=E8=8D=92=E6=B3=A2=E3=81=AE?= =?UTF-8?q?=E9=AD=94=E5=B0=8E=E6=9B=B8=E3=81=AB=E6=8A=BD=E8=B1=A1=E3=82=92?= =?UTF-8?q?=E9=81=A9=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mob/0370.wave_spellbook/register.mcfunction | 13 +++++++++---- .../mob/0370.wave_spellbook/rotate/.mcfunction | 8 ++++++++ .../mob/0370.wave_spellbook/tick/.mcfunction | 14 ++------------ .../functions/mob/alias/370/rotate.mcfunction | 8 ++++++++ 4 files changed, 27 insertions(+), 16 deletions(-) create mode 100644 Asset/data/asset/functions/mob/0370.wave_spellbook/rotate/.mcfunction create mode 100644 Asset/data/asset/functions/mob/alias/370/rotate.mcfunction diff --git a/Asset/data/asset/functions/mob/0370.wave_spellbook/register.mcfunction b/Asset/data/asset/functions/mob/0370.wave_spellbook/register.mcfunction index e9cb22bdc5..d350ec7e0a 100644 --- a/Asset/data/asset/functions/mob/0370.wave_spellbook/register.mcfunction +++ b/Asset/data/asset/functions/mob/0370.wave_spellbook/register.mcfunction @@ -4,9 +4,11 @@ # # @within function asset:mob/alias/370/register -# 継承 (int) (オプション) - # data modify storage asset:mob Extends append value - # function asset:mob/extends +# 継承(オプション) + data modify storage asset:mob Extends append value 2003 + function asset:mob/extends +# 継承されることを前提とした、抽象的なモブであるかどうか(boolean) + data modify storage asset:mob IsAbstract set value false # 他のモブに継承されることを許可するか (boolean) (オプション) # data modify storage asset:mob ExtendsSafe set value true @@ -47,7 +49,7 @@ # 特殊防御力 (double) (オプション) // 4pointにつきダメージを大きく減らす # data modify storage asset:mob SpecialDefense set value # 移動速度 (double) (オプション) - # data modify storage asset:mob Speed set value + data modify storage asset:mob Speed set value 0.2 # 索敵範囲 (double) (オプション) # data modify storage asset:mob FollowRange set value # ノックバック耐性 (double) (オプション) @@ -67,3 +69,6 @@ # フィールド # ダメージ設定 data modify storage asset:mob Field.Damage set value 28f + +# 追尾性能 + data modify storage asset:mob Field.Rotate set value 800 diff --git a/Asset/data/asset/functions/mob/0370.wave_spellbook/rotate/.mcfunction b/Asset/data/asset/functions/mob/0370.wave_spellbook/rotate/.mcfunction new file mode 100644 index 0000000000..a7af4301d8 --- /dev/null +++ b/Asset/data/asset/functions/mob/0370.wave_spellbook/rotate/.mcfunction @@ -0,0 +1,8 @@ +#> asset:mob/0370.wave_spellbook/rotate/ +# +# 継承先などから実行される処理 +# +# @within asset:mob/alias/370/rotate + +# プレイヤーが近くにいなければsuper.rotate + execute unless entity @p[gamemode=!spectator,distance=..6] run function asset:mob/super.method diff --git a/Asset/data/asset/functions/mob/0370.wave_spellbook/tick/.mcfunction b/Asset/data/asset/functions/mob/0370.wave_spellbook/tick/.mcfunction index 0e3e66529e..e62e99cd2f 100644 --- a/Asset/data/asset/functions/mob/0370.wave_spellbook/tick/.mcfunction +++ b/Asset/data/asset/functions/mob/0370.wave_spellbook/tick/.mcfunction @@ -7,18 +7,8 @@ # パーティクル particle enchant ~ ~1.68 ~ 0.25 0.25 0.25 0 2 force @a[distance=..40] -# 接地で上を向く - execute unless block ~ ~-0.1 ~ #lib:no_collision at @s run tp @s ~ ~ ~ ~ ~-35 - execute unless block ~ ~1 ~ #lib:no_collision at @s run tp @s ~ ~ ~ ~ ~80 - -# 移動 -# プレイヤーが近くにいれば直進、いなければ誘導 - execute if entity @p[gamemode=!spectator,distance=..6] run tp @s ^ ^ ^0.2 - execute unless entity @p[gamemode=!spectator,distance=..6] facing entity @p[gamemode=!spectator] eyes positioned ^ ^ ^-100 rotated as @s positioned ^ ^ ^-800 facing entity @s eyes positioned as @s run tp @s ^ ^ ^0.2 ~ ~ - -# カベにぶつかった際の処理 - execute unless block ^ ^ ^0.5 #lib:no_collision at @s run tp @s ~ ~ ~ ~45 ~-45 - execute at @s unless block ^ ^ ^0.2 #lib:no_collision at @s run tp @s ~ ~ ~ ~45 ~-45 +# super.tick + function asset:mob/super.tick # スコア scoreboard players add @s General.Mob.Tick 1 diff --git a/Asset/data/asset/functions/mob/alias/370/rotate.mcfunction b/Asset/data/asset/functions/mob/alias/370/rotate.mcfunction new file mode 100644 index 0000000000..046661f114 --- /dev/null +++ b/Asset/data/asset/functions/mob/alias/370/rotate.mcfunction @@ -0,0 +1,8 @@ +#> asset:mob/alias/370/rotate +# +# メソッド処理のエイリアス +# +# @within asset_manager:mob/triggers/call_method/run_method.m + +# 本来の処理を呼び出す + function asset:mob/0370.wave_spellbook/rotate/ \ No newline at end of file From 174487c7a2dda2c00cb13167229608985a4c0ba6 Mon Sep 17 00:00:00 2001 From: Lapis-LJA Date: Fri, 13 Mar 2026 20:43:43 +0900 Subject: [PATCH 10/27] =?UTF-8?q?=E6=8A=BD=E8=B1=A1=E3=81=AE=E5=87=A6?= =?UTF-8?q?=E7=90=86=E3=82=92=E3=83=AA=E3=82=BB=E3=83=83=E3=83=88=E3=81=8C?= =?UTF-8?q?=E4=B8=8D=E8=A6=81=E3=81=AA=E5=BD=A2=E3=81=AB=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../functions/mob/2003.abstract_eye/get_speed/.mcfunction | 2 +- .../asset/functions/mob/2003.abstract_eye/move/.mcfunction | 2 +- .../asset/functions/mob/2003.abstract_eye/reflect/.mcfunction | 3 ++- .../asset/functions/mob/2003.abstract_eye/tick/.mcfunction | 3 --- 4 files changed, 4 insertions(+), 6 deletions(-) diff --git a/Asset/data/asset/functions/mob/2003.abstract_eye/get_speed/.mcfunction b/Asset/data/asset/functions/mob/2003.abstract_eye/get_speed/.mcfunction index fdd4730455..6d5ed669bb 100644 --- a/Asset/data/asset/functions/mob/2003.abstract_eye/get_speed/.mcfunction +++ b/Asset/data/asset/functions/mob/2003.abstract_eye/get_speed/.mcfunction @@ -5,4 +5,4 @@ # @within asset:mob/alias/2003/get_speed # スピードを取得します - execute store result storage asset:temp 2003.Speed double 0.01 run attribute @s generic.movement_speed get 100 + execute store result storage asset:context this.Speed double 0.01 run attribute @s generic.movement_speed get 100 diff --git a/Asset/data/asset/functions/mob/2003.abstract_eye/move/.mcfunction b/Asset/data/asset/functions/mob/2003.abstract_eye/move/.mcfunction index 8f3387708c..e8e6af4157 100644 --- a/Asset/data/asset/functions/mob/2003.abstract_eye/move/.mcfunction +++ b/Asset/data/asset/functions/mob/2003.abstract_eye/move/.mcfunction @@ -9,6 +9,6 @@ #declare function lib:slide_move/ # 壁貫通のないように移動 - data modify storage lib: Argument.SlideMove.Speed set from storage asset:temp 2003.Speed + data modify storage lib: Argument.SlideMove.Speed set from storage asset:context this.Speed data modify storage lib: Argument.SlideMove.Conditions set value "anchored eyes unless block ^ ^ ^ #lib:no_collision/" function lib:slide_move/ diff --git a/Asset/data/asset/functions/mob/2003.abstract_eye/reflect/.mcfunction b/Asset/data/asset/functions/mob/2003.abstract_eye/reflect/.mcfunction index 61f5a11510..5426683d67 100644 --- a/Asset/data/asset/functions/mob/2003.abstract_eye/reflect/.mcfunction +++ b/Asset/data/asset/functions/mob/2003.abstract_eye/reflect/.mcfunction @@ -5,9 +5,10 @@ # @within asset:mob/alias/2003/reflect # 正面のブロックにぶつかった際の処理 - execute store result storage asset:temp 2003.HalfSpeed float 0.005 run data get storage asset:temp 2003.Speed 100 + execute store result storage asset:temp 2003.Speed float 0.005 run data get storage asset:context this.Speed 100 execute anchored eyes positioned ^ ^ ^ run function asset:mob/2003.abstract_eye/reflect/forward_block.m with storage asset:temp 2003 execute if data storage asset:temp 2003{Check:true} run tp @s ~ ~ ~ ~45 ~-45 + data remove storage asset:temp 2003 # 下がブロックなら上を向く execute at @s unless block ~ ~1 ~ #lib:no_collision/ run tp @s ~ ~ ~ ~ ~-35 diff --git a/Asset/data/asset/functions/mob/2003.abstract_eye/tick/.mcfunction b/Asset/data/asset/functions/mob/2003.abstract_eye/tick/.mcfunction index c39279c010..07327e0e40 100644 --- a/Asset/data/asset/functions/mob/2003.abstract_eye/tick/.mcfunction +++ b/Asset/data/asset/functions/mob/2003.abstract_eye/tick/.mcfunction @@ -14,6 +14,3 @@ # 完全に重なるのを対策するために低確率で追加でmoveする execute if predicate lib:random_pass_per/1 at @s run function asset:mob/call.m {method:"move"} - -# リセット - data remove storage asset:temp 2003 From ca5308b9c57695e90f7294e9462a831112ba80f3 Mon Sep 17 00:00:00 2001 From: Lapis-LJA Date: Fri, 13 Mar 2026 20:46:10 +0900 Subject: [PATCH 11/27] =?UTF-8?q?[Mob=20371]=20=E5=A4=A9=E9=9B=B7=E3=81=AE?= =?UTF-8?q?=E9=AD=94=E5=B0=8E=E6=9B=B8=E3=81=AB=E6=8A=BD=E8=B1=A1=E3=82=92?= =?UTF-8?q?=E9=81=A9=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../_index.d.mcfunction | 1 + .../register.mcfunction | 13 +++++--- .../rotate/.mcfunction | 12 +++++++ .../0371.lightning_spellbook/tick/.mcfunction | 33 ++++--------------- .../functions/mob/alias/371/rotate.mcfunction | 8 +++++ 5 files changed, 37 insertions(+), 30 deletions(-) create mode 100644 Asset/data/asset/functions/mob/0371.lightning_spellbook/rotate/.mcfunction create mode 100644 Asset/data/asset/functions/mob/alias/371/rotate.mcfunction diff --git a/Asset/data/asset/functions/mob/0371.lightning_spellbook/_index.d.mcfunction b/Asset/data/asset/functions/mob/0371.lightning_spellbook/_index.d.mcfunction index 6dd66d53d9..4ec20567f1 100644 --- a/Asset/data/asset/functions/mob/0371.lightning_spellbook/_index.d.mcfunction +++ b/Asset/data/asset/functions/mob/0371.lightning_spellbook/_index.d.mcfunction @@ -4,3 +4,4 @@ #> tag # @within function asset:mob/0371.lightning_spellbook/** #declare tag 2D.LeftRotate + #declare tag 2D.OnTop diff --git a/Asset/data/asset/functions/mob/0371.lightning_spellbook/register.mcfunction b/Asset/data/asset/functions/mob/0371.lightning_spellbook/register.mcfunction index 7368dd79b4..d94d8cf5cb 100644 --- a/Asset/data/asset/functions/mob/0371.lightning_spellbook/register.mcfunction +++ b/Asset/data/asset/functions/mob/0371.lightning_spellbook/register.mcfunction @@ -4,9 +4,11 @@ # # @within function asset:mob/alias/371/register -# 継承 (int) (オプション) - # data modify storage asset:mob Extends append value - # function asset:mob/extends +# 継承(オプション) + data modify storage asset:mob Extends append value 2003 + function asset:mob/extends +# 継承されることを前提とした、抽象的なモブであるかどうか(boolean) + data modify storage asset:mob IsAbstract set value false # 他のモブに継承されることを許可するか (boolean) (オプション) # data modify storage asset:mob ExtendsSafe set value true @@ -47,7 +49,7 @@ # 特殊防御力 (double) (オプション) // 4pointにつきダメージを大きく減らす # data modify storage asset:mob SpecialDefense set value # 移動速度 (double) (オプション) - # data modify storage asset:mob Speed set value + data modify storage asset:mob Speed set value 0.2 # 索敵範囲 (double) (オプション) # data modify storage asset:mob FollowRange set value # ノックバック耐性 (double) (オプション) @@ -67,3 +69,6 @@ # フィールド # ダメージ設定 data modify storage asset:mob Field.Damage set value 28 + +# 追尾性能 + data modify storage asset:mob Field.Rotate set value 800 diff --git a/Asset/data/asset/functions/mob/0371.lightning_spellbook/rotate/.mcfunction b/Asset/data/asset/functions/mob/0371.lightning_spellbook/rotate/.mcfunction new file mode 100644 index 0000000000..0519bf3e91 --- /dev/null +++ b/Asset/data/asset/functions/mob/0371.lightning_spellbook/rotate/.mcfunction @@ -0,0 +1,12 @@ +#> asset:mob/0371.lightning_spellbook/rotate/ +# +# 継承先などから実行される処理 +# +# @within asset:mob/alias/371/rotate + +# プレイヤーが下にいなければsuper.rotate + execute if entity @s[tag=!2D.OnTop] run function asset:mob/super.method + +# プレイヤーが下にいれば旋回する + execute if entity @s[tag= 2D.OnTop] at @s if entity @s[tag=2D.LeftRotate] run tp @s ^ ^ ^ ~-12 0 + execute if entity @s[tag= 2D.OnTop] at @s if entity @s[tag=!2D.LeftRotate] run tp @s ^ ^ ^ ~12 0 diff --git a/Asset/data/asset/functions/mob/0371.lightning_spellbook/tick/.mcfunction b/Asset/data/asset/functions/mob/0371.lightning_spellbook/tick/.mcfunction index 78f62d2cdd..00ac13c31f 100644 --- a/Asset/data/asset/functions/mob/0371.lightning_spellbook/tick/.mcfunction +++ b/Asset/data/asset/functions/mob/0371.lightning_spellbook/tick/.mcfunction @@ -4,10 +4,6 @@ # # @within function asset:mob/alias/371/tick -#> Private -# @private - #declare tag OnTop - # パーティクル particle enchant ~ ~1.68 ~ 0.25 0.25 0.25 0 2 force @a[distance=..40] @@ -19,32 +15,17 @@ # ここより下は移動処理 -# 接地で上を向く - execute unless block ~ ~-0.1 ~ #lib:no_collision at @s run tp @s ~ ~ ~ ~ ~-35 - execute unless block ~ ~1 ~ #lib:no_collision at @s run tp @s ~ ~ ~ ~ ~80 - # 下にプレイヤーがいるか判定 - execute positioned ~-1.5 ~ ~-1.5 if entity @p[dx=2,dy=-2.5,dz=2] at @s run tag @s add OnTop + execute positioned ~-1.5 ~ ~-1.5 if entity @p[gamemode=!spectator,dx=2,dy=-2.5,dz=2] at @s run tag @s add 2D.OnTop -# プレイヤーが下にいなければ移動 - execute if entity @s[tag=!OnTop] at @s facing entity @p eyes positioned ^ ^ ^-100 rotated as @s positioned ^ ^ ^-800 facing entity @s eyes positioned as @s run tp @s ^ ^ ^0.2 ~ ~ +# super.tick + function asset:mob/super.tick -# プレイヤーが下にいれば旋回する - execute if entity @s[tag=OnTop] at @s if entity @s[tag=2D.LeftRotate] run tp @s ^ ^ ^0.2 ~-12 0 - execute if entity @s[tag=OnTop] at @s if entity @s[tag=!2D.LeftRotate] run tp @s ^ ^ ^0.2 ~12 0 +# プレイヤーが近くにいる場合、真上を向いてmoveする + execute if entity @p[gamemode=!spectator,distance=..4] rotated ~ -90 run function asset:mob/call.m {method:"move"} # デバッグ用 - #say @s[tag=OnTop] + #say @s[tag=2D.OnTop] # 判定Tagを削除 - tag @s[tag=OnTop] remove OnTop - -# プレイヤーが近くにいたら上に移動 - execute at @s if entity @p[distance=..4] if block ~ ~2.2 ~ #lib:no_collision run tp @s ~ ~0.2 ~ - -# 不定期に急加速 - execute if predicate lib:random_pass_per/1 at @s run tp @s ^ ^ ^0.5 - -# カベにぶつかった際の処理 - execute unless block ^ ^ ^0.5 #lib:no_collision at @s run tp @s ~ ~ ~ ~45 ~-45 - execute at @s unless block ^ ^ ^0.2 #lib:no_collision at @s run tp @s ~ ~ ~ ~45 ~-45 + tag @s[tag=2D.OnTop] remove 2D.OnTop diff --git a/Asset/data/asset/functions/mob/alias/371/rotate.mcfunction b/Asset/data/asset/functions/mob/alias/371/rotate.mcfunction new file mode 100644 index 0000000000..a2a152fac0 --- /dev/null +++ b/Asset/data/asset/functions/mob/alias/371/rotate.mcfunction @@ -0,0 +1,8 @@ +#> asset:mob/alias/371/rotate +# +# メソッド処理のエイリアス +# +# @within asset_manager:mob/triggers/call_method/run_method.m + +# 本来の処理を呼び出す + function asset:mob/0371.lightning_spellbook/rotate/ \ No newline at end of file From 24ffbd548af818974614d7294a6858bcb57a6690 Mon Sep 17 00:00:00 2001 From: Lapis-LJA Date: Fri, 13 Mar 2026 22:20:01 +0900 Subject: [PATCH 12/27] =?UTF-8?q?[Mob=20265]=20=E3=83=80=E3=83=BC=E3=82=AF?= =?UTF-8?q?=E3=83=95=E3=82=A1=E3=83=9F=E3=83=AA=E3=82=A2=E3=81=AB=E3=82=A2?= =?UTF-8?q?=E3=82=A4=E6=8A=BD=E8=B1=A1=E3=82=92=E9=81=A9=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mob/0265.dark_familiar/init/.mcfunction | 4 ++++ .../mob/0265.dark_familiar/register.mcfunction | 13 +++++++++---- .../mob/0265.dark_familiar/rotate/.mcfunction | 11 +++++++++++ .../mob/0265.dark_familiar/tick/.mcfunction | 16 +++------------- .../functions/mob/alias/265/rotate.mcfunction | 8 ++++++++ 5 files changed, 35 insertions(+), 17 deletions(-) create mode 100644 Asset/data/asset/functions/mob/0265.dark_familiar/rotate/.mcfunction create mode 100644 Asset/data/asset/functions/mob/alias/265/rotate.mcfunction diff --git a/Asset/data/asset/functions/mob/0265.dark_familiar/init/.mcfunction b/Asset/data/asset/functions/mob/0265.dark_familiar/init/.mcfunction index 13b5aaf4bb..692db48480 100644 --- a/Asset/data/asset/functions/mob/0265.dark_familiar/init/.mcfunction +++ b/Asset/data/asset/functions/mob/0265.dark_familiar/init/.mcfunction @@ -12,3 +12,7 @@ # パーティクル execute at @s anchored eyes positioned ^ ^ ^ run particle poof ~ ~-0.3 ~ 0 0 0 0.1 10 + +# アイ抽象用 移動速度を-33%する +# IsBabyにより移動速度が1.5倍になっているのを相殺する + attribute @s generic.movement_speed modifier add 00000001-0000-0001-0000-010900000001 "265.OffsetIsBaby" -0.33 multiply diff --git a/Asset/data/asset/functions/mob/0265.dark_familiar/register.mcfunction b/Asset/data/asset/functions/mob/0265.dark_familiar/register.mcfunction index 9401cd3578..5084acd263 100644 --- a/Asset/data/asset/functions/mob/0265.dark_familiar/register.mcfunction +++ b/Asset/data/asset/functions/mob/0265.dark_familiar/register.mcfunction @@ -4,9 +4,11 @@ # # @within function asset:mob/alias/265/register -# 継承 (int) (オプション) - # data modify storage asset:mob Extends append value - # function asset:mob/extends +# 継承(オプション) + data modify storage asset:mob Extends append value 2003 + function asset:mob/extends +# 継承されることを前提とした、抽象的なモブであるかどうか(boolean) + data modify storage asset:mob IsAbstract set value false # 他のモブに継承されることを許可するか (boolean) (オプション) # data modify storage asset:mob ExtendsSafe set value true @@ -49,7 +51,7 @@ # 特殊防御力 (double) (オプション) // 4pointにつきダメージを大きく減らす # data modify storage asset:mob SpecialDefense set value # 移動速度 (double) (オプション) - # data modify storage asset:mob Speed set value + data modify storage asset:mob Speed set value 0.2 # 索敵範囲 (double) (オプション) # data modify storage asset:mob FollowRange set value # ノックバック耐性 (double) (オプション) @@ -68,3 +70,6 @@ # フィールド data modify storage asset:mob Field.Damage set value 25.0f + +# 追尾性能 + data modify storage asset:mob Field.Rotate set value 2000 diff --git a/Asset/data/asset/functions/mob/0265.dark_familiar/rotate/.mcfunction b/Asset/data/asset/functions/mob/0265.dark_familiar/rotate/.mcfunction new file mode 100644 index 0000000000..5bb4b239c9 --- /dev/null +++ b/Asset/data/asset/functions/mob/0265.dark_familiar/rotate/.mcfunction @@ -0,0 +1,11 @@ +#> asset:mob/0265.dark_familiar/rotate/ +# +# 継承先などから実行される処理 +# +# @within asset:mob/alias/265/rotate + +# 近くにサモナーがいればサモナーに対して追尾 + execute facing entity @e[type=zombie,scores={MobID=264},distance=..30] feet positioned ^ ^ ^-100 rotated as @s positioned ^ ^ ^-2000 facing entity @s eyes positioned as @s run tp @s ^ ^ ^ ~ ~ + +# 近くにサモナーがいないのであれば、プレイヤーに突っ込んでくる + execute unless entity @e[type=zombie,scores={MobID=264},distance=..30] run function asset:mob/super.method diff --git a/Asset/data/asset/functions/mob/0265.dark_familiar/tick/.mcfunction b/Asset/data/asset/functions/mob/0265.dark_familiar/tick/.mcfunction index 6ce68ae608..82d39bab18 100644 --- a/Asset/data/asset/functions/mob/0265.dark_familiar/tick/.mcfunction +++ b/Asset/data/asset/functions/mob/0265.dark_familiar/tick/.mcfunction @@ -12,25 +12,15 @@ execute anchored eyes positioned ^ ^ ^-0.3 run particle dust 0.5 0 0.6 0.5 ~ ~ ~ 0.1 0.1 0.1 0 1 force @a[distance=..40] execute anchored eyes positioned ^ ^ ^-0.3 run particle dust 0.5 0.3 0.6 0.7 ~ ~ ~ 0.1 0.1 0.1 0 1 force @a[distance=..40] -# 範囲内ならホーミングじみた移動 - execute facing entity @e[type=zombie,scores={MobID=264},distance=..30] feet positioned ^ ^ ^-100 rotated as @s positioned ^ ^ ^-2000 facing entity @s eyes positioned as @s run tp @s ^ ^ ^0.2 ~ ~ - -# 近くにサモナーがいないのであれば、プレイヤーに突っ込んでくる - execute unless entity @e[type=zombie,scores={MobID=264},distance=..30] facing entity @p[distance=..30] feet positioned ^ ^ ^-100 rotated as @s positioned ^ ^ ^-2000 facing entity @s eyes positioned as @s run tp @s ^ ^ ^0.2 ~ ~ - -# 接地で上を向く - execute positioned ~ ~1.68 ~ unless block ~ ~-1 ~ #lib:no_collision at @s run tp @s ~ ~ ~ ~ ~-35 - execute positioned ~ ~1.68 ~ unless block ~ ~1 ~ #lib:no_collision at @s run tp @s ~ ~ ~ ~ ~80 - -# カベにぶつかった際の処理 - execute positioned ~ ~1.68 ~ unless block ^ ^ ^0.5 #lib:no_collision at @s run tp @s ~ ~ ~ ~45 ~-45 - execute positioned ~ ~1.68 ~ unless block ^ ^ ^0.2 #lib:no_collision at @s run tp @s ~ ~ ~ ~45 ~-45 +# super.tick + function asset:mob/super.tick # スコア scoreboard players add @s General.Mob.Tick 1 # 消える execute if entity @s[scores={General.Mob.Tick=200..}] run function asset:mob/0265.dark_familiar/tick/kill + #tellraw @a {"storage":"asset:context","nbt":"this.Speed"} # 一定間隔で攻撃 召喚してすぐは攻撃しないようにしている scoreboard players operation $Interval Temporary = @s General.Mob.Tick diff --git a/Asset/data/asset/functions/mob/alias/265/rotate.mcfunction b/Asset/data/asset/functions/mob/alias/265/rotate.mcfunction new file mode 100644 index 0000000000..05282058bb --- /dev/null +++ b/Asset/data/asset/functions/mob/alias/265/rotate.mcfunction @@ -0,0 +1,8 @@ +#> asset:mob/alias/265/rotate +# +# メソッド処理のエイリアス +# +# @within asset_manager:mob/triggers/call_method/run_method.m + +# 本来の処理を呼び出す + function asset:mob/0265.dark_familiar/rotate/ \ No newline at end of file From 1540ca15036b92bfa7339521f91e2df9e4bb2fd0 Mon Sep 17 00:00:00 2001 From: Lapis-LJA Date: Fri, 13 Mar 2026 22:29:39 +0900 Subject: [PATCH 13/27] =?UTF-8?q?[Mob=20369]=20=E7=B4=85=E7=84=94=E3=81=AE?= =?UTF-8?q?=E9=AD=94=E5=B0=8E=E6=9B=B8=20=E9=80=94=E4=B8=AD=E3=81=BE?= =?UTF-8?q?=E3=81=A7=E6=8A=BD=E8=B1=A1=E3=82=92=E9=81=A9=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../get_speed/.mcfunction | 11 +++++++++++ .../reflect/.mcfunction | 11 +++++++++++ .../register.mcfunction | 14 ++++++++++---- .../0369.prominence_spellbook/tick/.mcfunction | 17 +++-------------- .../mob/alias/369/get_speed.mcfunction | 8 ++++++++ .../functions/mob/alias/369/reflect.mcfunction | 8 ++++++++ 6 files changed, 51 insertions(+), 18 deletions(-) create mode 100644 Asset/data/asset/functions/mob/0369.prominence_spellbook/get_speed/.mcfunction create mode 100644 Asset/data/asset/functions/mob/0369.prominence_spellbook/reflect/.mcfunction create mode 100644 Asset/data/asset/functions/mob/alias/369/get_speed.mcfunction create mode 100644 Asset/data/asset/functions/mob/alias/369/reflect.mcfunction diff --git a/Asset/data/asset/functions/mob/0369.prominence_spellbook/get_speed/.mcfunction b/Asset/data/asset/functions/mob/0369.prominence_spellbook/get_speed/.mcfunction new file mode 100644 index 0000000000..f244e33e4b --- /dev/null +++ b/Asset/data/asset/functions/mob/0369.prominence_spellbook/get_speed/.mcfunction @@ -0,0 +1,11 @@ +#> asset:mob/0369.prominence_spellbook/get_speed/ +# +# 継承先などから実行される処理 +# +# @within asset:mob/alias/369/get_speed + +# super.get_speed + function asset:mob/super.method + +# movement_speedはマイナスにできないため、後退モードの場合、速度を-1倍する + execute if score @s A9.StepBack matches 0.. store result storage asset:temp 2003.Speed double -0.01 run data get storage asset:temp 2003.Speed 100 diff --git a/Asset/data/asset/functions/mob/0369.prominence_spellbook/reflect/.mcfunction b/Asset/data/asset/functions/mob/0369.prominence_spellbook/reflect/.mcfunction new file mode 100644 index 0000000000..de6b51cb08 --- /dev/null +++ b/Asset/data/asset/functions/mob/0369.prominence_spellbook/reflect/.mcfunction @@ -0,0 +1,11 @@ +#> asset:mob/0369.prominence_spellbook/reflect/ +# +# 継承先などから実行される処理 +# +# @within asset:mob/alias/369/reflect + +# 後退モードでなければsuper.reflect + execute unless score @s A9.StepBack matches 0.. run function asset:mob/super.method + +# もし後退モードで足元がブロックなら真下を向く + execute if score @s A9.StepBack matches 0.. at @s unless block ~ ~0 ~ #lib:no_collision/ run tp @s ~ ~ ~ ~ 90 diff --git a/Asset/data/asset/functions/mob/0369.prominence_spellbook/register.mcfunction b/Asset/data/asset/functions/mob/0369.prominence_spellbook/register.mcfunction index ea1631a9d8..b4ef8bbfc3 100644 --- a/Asset/data/asset/functions/mob/0369.prominence_spellbook/register.mcfunction +++ b/Asset/data/asset/functions/mob/0369.prominence_spellbook/register.mcfunction @@ -4,9 +4,11 @@ # # @within function asset:mob/alias/369/register -# 継承 (int) (オプション) - # data modify storage asset:mob Extends append value - # function asset:mob/extends +# 継承(オプション) + data modify storage asset:mob Extends append value 2003 + function asset:mob/extends +# 継承されることを前提とした、抽象的なモブであるかどうか(boolean) + data modify storage asset:mob IsAbstract set value false # 他のモブに継承されることを許可するか (boolean) (オプション) # data modify storage asset:mob ExtendsSafe set value true @@ -47,7 +49,7 @@ # 特殊防御力 (double) (オプション) // 4pointにつきダメージを大きく減らす # data modify storage asset:mob SpecialDefense set value # 移動速度 (double) (オプション) - # data modify storage asset:mob Speed set value + data modify storage asset:mob Speed set value 0.3 # 索敵範囲 (double) (オプション) # data modify storage asset:mob FollowRange set value # ノックバック耐性 (double) (オプション) @@ -65,5 +67,9 @@ # data modify storage asset:mob Resist.Thunder set value # フィールド + # ダメージ data modify storage asset:mob Field.Damage set value 24f + +# 追尾性能 + data modify storage asset:mob Field.Rotate set value 800 diff --git a/Asset/data/asset/functions/mob/0369.prominence_spellbook/tick/.mcfunction b/Asset/data/asset/functions/mob/0369.prominence_spellbook/tick/.mcfunction index ac6e9164be..eda5994fa8 100644 --- a/Asset/data/asset/functions/mob/0369.prominence_spellbook/tick/.mcfunction +++ b/Asset/data/asset/functions/mob/0369.prominence_spellbook/tick/.mcfunction @@ -7,19 +7,12 @@ # パーティクル particle enchant ~ ~1.68 ~ 0.25 0.25 0.25 0 2 force @a[distance=..40] -# 接地で上を向く - execute unless block ~ ~-0.1 ~ #lib:no_collision at @s run tp @s ~ ~ ~ ~ ~-35 - execute unless block ~ ~1 ~ #lib:no_collision at @s run tp @s ~ ~ ~ ~ ~80 - -# 移動 - execute unless entity @s[scores={A9.StepBack=0..}] facing entity @p[gamemode=!spectator] eyes positioned ^ ^ ^-100 rotated as @s positioned ^ ^ ^-800 facing entity @s eyes positioned as @s run tp @s ^ ^ ^0.3 ~ ~ +# super.tick + function asset:mob/super.tick # 後退モード時は速度が下がる # 幾何学の処理をしてかつ、後ろがブロックじゃないかつ、足元がブロックじゃなければ後退 - execute if entity @s[scores={A9.StepBack=0..}] facing entity @p[gamemode=!spectator] eyes positioned ^ ^ ^-100 rotated as @s positioned ^ ^ ^-800 facing entity @s eyes positioned as @s positioned ~ ~1.8 ~ if block ^ ^ ^-0.1 #lib:no_collision positioned ~ ~-1.8 ~ if block ~ ~0 ~ #lib:no_collision if block ~ ~1.5 ~ #lib:no_collision run tp @s ^ ^ ^-0.1 ~ ~ - -# もし後退モードで足元がブロックなら下を向いて脱出 - execute if entity @s[scores={A9.StepBack=0..}] at @s unless block ~ ~0 ~ #lib:no_collision run tp @s ~ ~0.3 ~ ~ 90 + # execute if entity @s[scores={A9.StepBack=0..}] facing entity @p[gamemode=!spectator] eyes positioned ^ ^ ^-100 rotated as @s positioned ^ ^ ^-800 facing entity @s eyes positioned as @s positioned ~ ~1.8 ~ if block ^ ^ ^-0.1 #lib:no_collision positioned ~ ~-1.8 ~ if block ~ ~0 ~ #lib:no_collision if block ~ ~1.5 ~ #lib:no_collision run tp @s ^ ^ ^-0.1 ~ ~ # プレイヤーが近くにいるとき、3秒間後退モードになる execute if entity @p[distance=..5] unless entity @s[scores={A9.StepBack=0..}] run scoreboard players set @s A9.StepBack 60 @@ -30,10 +23,6 @@ # 後退モード動き用スコアを減らす execute if entity @s[scores={A9.StepBack=0..}] run scoreboard players remove @s A9.StepBack 1 -# 後退モードじゃない時、カベにぶつかった際の処理 - execute unless entity @s[scores={A9.StepBack=0..}] unless block ^ ^ ^0.5 #lib:no_collision at @s run tp @s ~ ~ ~ ~45 ~-45 - execute unless entity @s[scores={A9.StepBack=0..}] at @s unless block ^ ^ ^0.3 #lib:no_collision at @s run tp @s ~ ~ ~ ~45 ~-45 - # スコア scoreboard players add @s General.Mob.Tick 1 diff --git a/Asset/data/asset/functions/mob/alias/369/get_speed.mcfunction b/Asset/data/asset/functions/mob/alias/369/get_speed.mcfunction new file mode 100644 index 0000000000..a10d05f90d --- /dev/null +++ b/Asset/data/asset/functions/mob/alias/369/get_speed.mcfunction @@ -0,0 +1,8 @@ +#> asset:mob/alias/369/get_speed +# +# メソッド処理のエイリアス +# +# @within asset_manager:mob/triggers/call_method/run_method.m + +# 本来の処理を呼び出す + function asset:mob/0369.prominence_spellbook/get_speed/ \ No newline at end of file diff --git a/Asset/data/asset/functions/mob/alias/369/reflect.mcfunction b/Asset/data/asset/functions/mob/alias/369/reflect.mcfunction new file mode 100644 index 0000000000..8b8b0243de --- /dev/null +++ b/Asset/data/asset/functions/mob/alias/369/reflect.mcfunction @@ -0,0 +1,8 @@ +#> asset:mob/alias/369/reflect +# +# メソッド処理のエイリアス +# +# @within asset_manager:mob/triggers/call_method/run_method.m + +# 本来の処理を呼び出す + function asset:mob/0369.prominence_spellbook/reflect/ \ No newline at end of file From 40749536843e7fe8b3dc5413c512ccf578fecc39 Mon Sep 17 00:00:00 2001 From: Lapis-LJA Date: Fri, 13 Mar 2026 23:31:14 +0900 Subject: [PATCH 14/27] =?UTF-8?q?[Mob=20321]=20=E3=83=9F=E3=83=8B=E3=82=AC?= =?UTF-8?q?=E3=83=BC=E3=83=87=E3=82=A3=E3=82=A2=E3=83=B3=E3=81=AB=E6=8A=BD?= =?UTF-8?q?=E8=B1=A1=E3=82=92=E9=81=A9=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mob/0321.mini_guardian/move/.mcfunction | 8 ++++++++ .../mob/0321.mini_guardian/register.mcfunction | 9 ++++++++- .../mob/0321.mini_guardian/rotate/.mcfunction | 8 ++++++++ .../mob/0321.mini_guardian/tick/.mcfunction | 14 +++----------- .../tick/event/attack_mode.mcfunction | 3 ++- .../asset/functions/mob/alias/321/move.mcfunction | 8 ++++++++ .../functions/mob/alias/321/rotate.mcfunction | 8 ++++++++ 7 files changed, 45 insertions(+), 13 deletions(-) create mode 100644 Asset/data/asset/functions/mob/0321.mini_guardian/move/.mcfunction create mode 100644 Asset/data/asset/functions/mob/0321.mini_guardian/rotate/.mcfunction create mode 100644 Asset/data/asset/functions/mob/alias/321/move.mcfunction create mode 100644 Asset/data/asset/functions/mob/alias/321/rotate.mcfunction diff --git a/Asset/data/asset/functions/mob/0321.mini_guardian/move/.mcfunction b/Asset/data/asset/functions/mob/0321.mini_guardian/move/.mcfunction new file mode 100644 index 0000000000..b54ef36830 --- /dev/null +++ b/Asset/data/asset/functions/mob/0321.mini_guardian/move/.mcfunction @@ -0,0 +1,8 @@ +#> asset:mob/0321.mini_guardian/move/ +# +# 継承先などから実行される処理 +# +# @within asset:mob/alias/321/move + +# 攻撃中 または のけぞり中 でなければ移動 + execute if entity @s[tag=!8X.Mode.Attack] unless score @s 8X.HurtTime matches 1.. run function asset:mob/super.method diff --git a/Asset/data/asset/functions/mob/0321.mini_guardian/register.mcfunction b/Asset/data/asset/functions/mob/0321.mini_guardian/register.mcfunction index 750e16cbde..6895a01a26 100644 --- a/Asset/data/asset/functions/mob/0321.mini_guardian/register.mcfunction +++ b/Asset/data/asset/functions/mob/0321.mini_guardian/register.mcfunction @@ -1,6 +1,12 @@ #> asset:mob/0321.mini_guardian/register # @within asset:mob/alias/321/register +# 継承(オプション) + data modify storage asset:mob Extends append value 2003 + function asset:mob/extends +# 継承されることを前提とした、抽象的なモブであるかどうか(boolean) + data modify storage asset:mob IsAbstract set value false + # 他のモブに継承されることを許可するか (boolean) (オプション) data modify storage asset:mob ExtendsSafe set value true # ID (int) @@ -40,7 +46,7 @@ # 特殊防御力 (double) (オプション) // 4pointにつきダメージを大きく減らす # data modify storage asset:mob SpecialDefense set value # 移動速度 (double) (オプション) - # data modify storage asset:mob Speed set value + data modify storage asset:mob Speed set value 0.1 # 索敵範囲 (double) (オプション) # data modify storage asset:mob FollowRange set value # ノックバック耐性 (double) (オプション) @@ -59,3 +65,4 @@ # フィールド data modify storage asset:mob Field.Damage set value 5.5f + data modify storage asset:mob Field.Rotate set value 6000 diff --git a/Asset/data/asset/functions/mob/0321.mini_guardian/rotate/.mcfunction b/Asset/data/asset/functions/mob/0321.mini_guardian/rotate/.mcfunction new file mode 100644 index 0000000000..591038c682 --- /dev/null +++ b/Asset/data/asset/functions/mob/0321.mini_guardian/rotate/.mcfunction @@ -0,0 +1,8 @@ +#> asset:mob/0321.mini_guardian/rotate/ +# +# 継承先などから実行される処理 +# +# @within asset:mob/alias/321/rotate + +# 攻撃中 または のけぞり中 でなければ追尾 + execute if entity @s[tag=!8X.Mode.Attack] unless score @s 8X.HurtTime matches 1.. run function asset:mob/super.method diff --git a/Asset/data/asset/functions/mob/0321.mini_guardian/tick/.mcfunction b/Asset/data/asset/functions/mob/0321.mini_guardian/tick/.mcfunction index 606704a63d..ccc2212b57 100644 --- a/Asset/data/asset/functions/mob/0321.mini_guardian/tick/.mcfunction +++ b/Asset/data/asset/functions/mob/0321.mini_guardian/tick/.mcfunction @@ -7,9 +7,6 @@ # スコア関連 scoreboard players remove @s[scores={8X.HurtTime=0..}] 8X.HurtTime 1 -# 攻撃中じゃなければ移動 - execute unless score @s[tag=!8X.Mode.Attack] 8X.HurtTime matches 0..40 unless score @s 8X.Tick matches 40.. facing entity @p feet positioned ^ ^ ^-50 rotated as @s positioned ^ ^ ^-3000 facing entity @s eyes positioned as @s run tp @s ^ ^ ^0.1 ~ ~ - # 付近にプレイヤーがいたら攻撃待機 execute if entity @p[gamemode=!spectator,distance=..8] run tag @s add 8X.Mode.Attack @@ -19,13 +16,8 @@ # 遠くに離れたら攻撃モード終了 execute if entity @s[tag=8X.Mode.Attack] unless entity @p[gamemode=!spectator,distance=..15] run function asset:mob/0321.mini_guardian/tick/event/reset +# super.tick + function asset:mob/super.tick + # のけぞりから復帰 data modify entity @s[scores={8X.HurtTime=..0}] NoAI set value 1b - -# 接地で上を向く - execute positioned ~ ~1.5 ~ unless block ~ ~-1 ~ #lib:no_collision at @s run tp @s ~ ~ ~ ~ ~-35 - execute positioned ~ ~1.5 ~ unless block ~ ~1 ~ #lib:no_collision at @s run tp @s ~ ~ ~ ~ ~80 - -# カベにぶつかった際の処理 - execute positioned ~ ~1.5 ~ unless block ^ ^ ^1 #lib:no_collision at @s run tp @s ~ ~ ~ ~45 ~-45 - execute positioned ~ ~1.5 ~ unless block ^ ^ ^0.4 #lib:no_collision at @s run tp @s ~ ~ ~ ~45 ~-45 diff --git a/Asset/data/asset/functions/mob/0321.mini_guardian/tick/event/attack_mode.mcfunction b/Asset/data/asset/functions/mob/0321.mini_guardian/tick/event/attack_mode.mcfunction index 595ff2669a..2d7bdc5354 100644 --- a/Asset/data/asset/functions/mob/0321.mini_guardian/tick/event/attack_mode.mcfunction +++ b/Asset/data/asset/functions/mob/0321.mini_guardian/tick/event/attack_mode.mcfunction @@ -20,7 +20,8 @@ execute if score @s 8X.Tick matches 40..159 run function asset:mob/0321.mini_guardian/tick/event/laser/ # 攻撃終了後、ちょっと泳ぐ - execute at @s if score @s 8X.Tick matches 160..240 facing entity @p feet positioned ^ ^ ^-50 rotated as @s positioned ^ ^ ^-3000 facing entity @s eyes positioned as @s run tp @s ^ ^ ^0.1 ~ ~ + execute at @s if score @s 8X.Tick matches 160..240 run function asset:mob/call.m {method:"rotate"} + execute at @s if score @s 8X.Tick matches 160..240 run function asset:mob/call.m {method:"move"} # 攻撃動作終了 execute if score @s 8X.Tick matches 240 run function asset:mob/0321.mini_guardian/tick/event/reset diff --git a/Asset/data/asset/functions/mob/alias/321/move.mcfunction b/Asset/data/asset/functions/mob/alias/321/move.mcfunction new file mode 100644 index 0000000000..44d630b3eb --- /dev/null +++ b/Asset/data/asset/functions/mob/alias/321/move.mcfunction @@ -0,0 +1,8 @@ +#> asset:mob/alias/321/move +# +# メソッド処理のエイリアス +# +# @within asset_manager:mob/triggers/call_method/run_method.m + +# 本来の処理を呼び出す + function asset:mob/0321.mini_guardian/move/ \ No newline at end of file diff --git a/Asset/data/asset/functions/mob/alias/321/rotate.mcfunction b/Asset/data/asset/functions/mob/alias/321/rotate.mcfunction new file mode 100644 index 0000000000..7d59942ab7 --- /dev/null +++ b/Asset/data/asset/functions/mob/alias/321/rotate.mcfunction @@ -0,0 +1,8 @@ +#> asset:mob/alias/321/rotate +# +# メソッド処理のエイリアス +# +# @within asset_manager:mob/triggers/call_method/run_method.m + +# 本来の処理を呼び出す + function asset:mob/0321.mini_guardian/rotate/ \ No newline at end of file From 8c223d8456e713de324b0fe11bb9e59379e986ef Mon Sep 17 00:00:00 2001 From: Lapis-LJA Date: Fri, 13 Mar 2026 23:58:11 +0900 Subject: [PATCH 15/27] =?UTF-8?q?[Mob=2038]=20=E3=83=AC=E3=83=BC=E3=82=B6?= =?UTF-8?q?=E3=83=BC=E3=82=A2=E3=82=A4=E3=81=AB=E6=8A=BD=E8=B1=A1=E3=82=92?= =?UTF-8?q?=E9=81=A9=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mob/0038.laser_eye/get_speed/.mcfunction | 11 +++++++++++ .../functions/mob/0038.laser_eye/move/.mcfunction | 9 +++++++++ .../functions/mob/0038.laser_eye/move/m.mcfunction | 8 ++++++++ .../functions/mob/0038.laser_eye/reflect/.mcfunction | 7 +++++++ .../functions/mob/0038.laser_eye/register.mcfunction | 12 +++++++++++- .../functions/mob/0038.laser_eye/rotate/.mcfunction | 12 ++++++++++++ .../functions/mob/0038.laser_eye/tick/.mcfunction | 7 ++----- .../functions/mob/alias/38/get_speed.mcfunction | 8 ++++++++ .../asset/functions/mob/alias/38/move.mcfunction | 8 ++++++++ .../asset/functions/mob/alias/38/reflect.mcfunction | 8 ++++++++ .../asset/functions/mob/alias/38/rotate.mcfunction | 8 ++++++++ 11 files changed, 92 insertions(+), 6 deletions(-) create mode 100644 Asset/data/asset/functions/mob/0038.laser_eye/get_speed/.mcfunction create mode 100644 Asset/data/asset/functions/mob/0038.laser_eye/move/.mcfunction create mode 100644 Asset/data/asset/functions/mob/0038.laser_eye/move/m.mcfunction create mode 100644 Asset/data/asset/functions/mob/0038.laser_eye/reflect/.mcfunction create mode 100644 Asset/data/asset/functions/mob/0038.laser_eye/rotate/.mcfunction create mode 100644 Asset/data/asset/functions/mob/alias/38/get_speed.mcfunction create mode 100644 Asset/data/asset/functions/mob/alias/38/move.mcfunction create mode 100644 Asset/data/asset/functions/mob/alias/38/reflect.mcfunction create mode 100644 Asset/data/asset/functions/mob/alias/38/rotate.mcfunction diff --git a/Asset/data/asset/functions/mob/0038.laser_eye/get_speed/.mcfunction b/Asset/data/asset/functions/mob/0038.laser_eye/get_speed/.mcfunction new file mode 100644 index 0000000000..1ba54e4dc6 --- /dev/null +++ b/Asset/data/asset/functions/mob/0038.laser_eye/get_speed/.mcfunction @@ -0,0 +1,11 @@ +#> asset:mob/0038.laser_eye/get_speed/ +# +# 継承先などから実行される処理 +# +# @within asset:mob/alias/38/get_speed + +# まず普通にsuperする + function asset:mob/super.method + +# プレイヤーが近ければ速度を-1倍する + execute if entity @p[tag=!PlayerShouldInvulnerable,distance=..6] store result storage asset:context this.Speed double -0.01 run data get storage asset:context this.Speed 100 diff --git a/Asset/data/asset/functions/mob/0038.laser_eye/move/.mcfunction b/Asset/data/asset/functions/mob/0038.laser_eye/move/.mcfunction new file mode 100644 index 0000000000..0f6d80db8a --- /dev/null +++ b/Asset/data/asset/functions/mob/0038.laser_eye/move/.mcfunction @@ -0,0 +1,9 @@ +#> asset:mob/0038.laser_eye/move/ +# +# 継承先などから実行される処理 +# +# @within asset:mob/alias/38/move + +# 自身の速度だけ前進する +# 壁は貫通するものなのでそのまま進む + function asset:mob/0038.laser_eye/move/m with storage asset:context this diff --git a/Asset/data/asset/functions/mob/0038.laser_eye/move/m.mcfunction b/Asset/data/asset/functions/mob/0038.laser_eye/move/m.mcfunction new file mode 100644 index 0000000000..b21051526f --- /dev/null +++ b/Asset/data/asset/functions/mob/0038.laser_eye/move/m.mcfunction @@ -0,0 +1,8 @@ +#> asset:mob/0038.laser_eye/move/m +# +# +# +# @within function asset:mob/0038.laser_eye/move/ + +# + $tp @s ^ ^ ^$(Speed) diff --git a/Asset/data/asset/functions/mob/0038.laser_eye/reflect/.mcfunction b/Asset/data/asset/functions/mob/0038.laser_eye/reflect/.mcfunction new file mode 100644 index 0000000000..d93593e1dc --- /dev/null +++ b/Asset/data/asset/functions/mob/0038.laser_eye/reflect/.mcfunction @@ -0,0 +1,7 @@ +#> asset:mob/0038.laser_eye/reflect/ +# +# 継承先などから実行される処理 +# +# @within asset:mob/alias/38/reflect + +# 何もしない diff --git a/Asset/data/asset/functions/mob/0038.laser_eye/register.mcfunction b/Asset/data/asset/functions/mob/0038.laser_eye/register.mcfunction index 0076440382..4374c62bfe 100644 --- a/Asset/data/asset/functions/mob/0038.laser_eye/register.mcfunction +++ b/Asset/data/asset/functions/mob/0038.laser_eye/register.mcfunction @@ -1,6 +1,12 @@ #> asset:mob/0038.laser_eye/register # @within asset:mob/alias/38/register +# 継承(オプション) + data modify storage asset:mob Extends append value 2003 + function asset:mob/extends +# 継承されることを前提とした、抽象的なモブであるかどうか(boolean) + data modify storage asset:mob IsAbstract set value false + # ID (int) data modify storage asset:mob ID set value 38 # Type (string) Wikiを参照 @@ -38,7 +44,7 @@ # 特殊防御力 (double) (オプション) // 4pointにつきダメージを大きく減らす # data modify storage asset:mob SpecialDefense set value # 移動速度 (double) (オプション) - data modify storage asset:mob Speed set value 0 + data modify storage asset:mob Speed set value 0.21 # 索敵範囲 (double) (オプション) data modify storage asset:mob FollowRange set value 0 # ノックバック耐性 (double) (オプション) @@ -60,3 +66,7 @@ # 存在時間 data modify storage asset:mob Field.LifeTime set value 400 + +# 追尾性能 + # data modify storage asset:mob Field.Rotate set value 500 + data modify storage asset:mob Field.RotatePower set value {Far:500,Near:250} diff --git a/Asset/data/asset/functions/mob/0038.laser_eye/rotate/.mcfunction b/Asset/data/asset/functions/mob/0038.laser_eye/rotate/.mcfunction new file mode 100644 index 0000000000..cebe34cab9 --- /dev/null +++ b/Asset/data/asset/functions/mob/0038.laser_eye/rotate/.mcfunction @@ -0,0 +1,12 @@ +#> asset:mob/0038.laser_eye/rotate/ +# +# 継承先などから実行される処理 +# +# @within asset:mob/alias/38/rotate + +# 最も近いプレイヤーの位置に応じて追尾性能を変える + execute unless entity @p[tag=!PlayerShouldInvulnerable,distance=..6] if entity @p[tag=!PlayerShouldInvulnerable,distance=7..32] run data modify storage asset:context this.Rotate set from storage asset:context this.RotatePower.Far + execute if entity @p[tag=!PlayerShouldInvulnerable,distance=..6] run data modify storage asset:context this.Rotate set from storage asset:context this.RotatePower.Near + +# super.rotate + function asset:mob/super.method diff --git a/Asset/data/asset/functions/mob/0038.laser_eye/tick/.mcfunction b/Asset/data/asset/functions/mob/0038.laser_eye/tick/.mcfunction index 43d8c836b7..8c3d2803c7 100644 --- a/Asset/data/asset/functions/mob/0038.laser_eye/tick/.mcfunction +++ b/Asset/data/asset/functions/mob/0038.laser_eye/tick/.mcfunction @@ -4,11 +4,8 @@ # # @within function asset:mob/alias/38/tick -# プレイヤーが遠くにいる場合 - execute unless entity @s[tag=C.Charge] if entity @p[tag=!PlayerShouldInvulnerable,distance=7..32] facing entity @p[tag=!PlayerShouldInvulnerable] eyes positioned ^ ^ ^-100 rotated as @s positioned ^ ^ ^-500 facing entity @s eyes positioned as @s run tp @s ^ ^ ^0.21 ~ ~ - -# プレイヤーが近すぎる場合 - execute unless entity @s[tag=C.Charge] if entity @p[tag=!PlayerShouldInvulnerable,distance=..6] facing entity @p[tag=!PlayerShouldInvulnerable] eyes positioned ^ ^ ^-100 rotated as @s positioned ^ ^ ^-250 facing entity @s eyes positioned as @s run tp @s ^ ^ ^-0.21 ~ ~ +# チャージ中でなければsuper.tick + execute unless entity @s[tag=C.Charge] run function asset:mob/super.tick # 適正距離の場合 execute unless entity @s[tag=C.Charge] if entity @p[tag=!PlayerShouldInvulnerable,distance=3..9] run function asset:mob/0038.laser_eye/tick/charge diff --git a/Asset/data/asset/functions/mob/alias/38/get_speed.mcfunction b/Asset/data/asset/functions/mob/alias/38/get_speed.mcfunction new file mode 100644 index 0000000000..0bd15987be --- /dev/null +++ b/Asset/data/asset/functions/mob/alias/38/get_speed.mcfunction @@ -0,0 +1,8 @@ +#> asset:mob/alias/38/get_speed +# +# メソッド処理のエイリアス +# +# @within asset_manager:mob/triggers/call_method/run_method.m + +# 本来の処理を呼び出す + function asset:mob/0038.laser_eye/get_speed/ \ No newline at end of file diff --git a/Asset/data/asset/functions/mob/alias/38/move.mcfunction b/Asset/data/asset/functions/mob/alias/38/move.mcfunction new file mode 100644 index 0000000000..8c326e8e4e --- /dev/null +++ b/Asset/data/asset/functions/mob/alias/38/move.mcfunction @@ -0,0 +1,8 @@ +#> asset:mob/alias/38/move +# +# メソッド処理のエイリアス +# +# @within asset_manager:mob/triggers/call_method/run_method.m + +# 本来の処理を呼び出す + function asset:mob/0038.laser_eye/move/ \ No newline at end of file diff --git a/Asset/data/asset/functions/mob/alias/38/reflect.mcfunction b/Asset/data/asset/functions/mob/alias/38/reflect.mcfunction new file mode 100644 index 0000000000..17e6861ab0 --- /dev/null +++ b/Asset/data/asset/functions/mob/alias/38/reflect.mcfunction @@ -0,0 +1,8 @@ +#> asset:mob/alias/38/reflect +# +# メソッド処理のエイリアス +# +# @within asset_manager:mob/triggers/call_method/run_method.m + +# 本来の処理を呼び出す + function asset:mob/0038.laser_eye/reflect/ \ No newline at end of file diff --git a/Asset/data/asset/functions/mob/alias/38/rotate.mcfunction b/Asset/data/asset/functions/mob/alias/38/rotate.mcfunction new file mode 100644 index 0000000000..fc2b49b9cc --- /dev/null +++ b/Asset/data/asset/functions/mob/alias/38/rotate.mcfunction @@ -0,0 +1,8 @@ +#> asset:mob/alias/38/rotate +# +# メソッド処理のエイリアス +# +# @within asset_manager:mob/triggers/call_method/run_method.m + +# 本来の処理を呼び出す + function asset:mob/0038.laser_eye/rotate/ \ No newline at end of file From 34a6a842220ae8e809a133a8a1f99808a0cc6f65 Mon Sep 17 00:00:00 2001 From: Lapis-LJA Date: Sat, 14 Mar 2026 03:52:21 +0900 Subject: [PATCH 16/27] =?UTF-8?q?[Mob=20261]=20=E3=83=AC=E3=83=BC=E3=82=B6?= =?UTF-8?q?=E3=83=BC=E3=82=A2=E3=82=A4Mk-=E2=85=A1=E3=81=AB=E6=8A=BD?= =?UTF-8?q?=E8=B1=A1=E3=82=92=E9=81=A9=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../0261.laser_eye_mk2/get_speed/.mcfunction | 17 ++++++++++++++ .../mob/0261.laser_eye_mk2/move/.mcfunction | 11 +++++++++ .../mob/0261.laser_eye_mk2/move/m.mcfunction | 7 ++++++ .../0261.laser_eye_mk2/register.mcfunction | 18 ++++++++++++++- .../mob/0261.laser_eye_mk2/tick/.mcfunction | 23 +++++++++++-------- .../mob/alias/261/get_speed.mcfunction | 8 +++++++ .../functions/mob/alias/261/move.mcfunction | 8 +++++++ 7 files changed, 81 insertions(+), 11 deletions(-) create mode 100644 Asset/data/asset/functions/mob/0261.laser_eye_mk2/get_speed/.mcfunction create mode 100644 Asset/data/asset/functions/mob/0261.laser_eye_mk2/move/.mcfunction create mode 100644 Asset/data/asset/functions/mob/0261.laser_eye_mk2/move/m.mcfunction create mode 100644 Asset/data/asset/functions/mob/alias/261/get_speed.mcfunction create mode 100644 Asset/data/asset/functions/mob/alias/261/move.mcfunction diff --git a/Asset/data/asset/functions/mob/0261.laser_eye_mk2/get_speed/.mcfunction b/Asset/data/asset/functions/mob/0261.laser_eye_mk2/get_speed/.mcfunction new file mode 100644 index 0000000000..5d3f3b16b0 --- /dev/null +++ b/Asset/data/asset/functions/mob/0261.laser_eye_mk2/get_speed/.mcfunction @@ -0,0 +1,17 @@ +#> asset:mob/0261.laser_eye_mk2/get_speed/ +# +# 継承先などから実行される処理 +# +# @within asset:mob/alias/261/get_speed + +# 近い場合 + execute if data storage asset:context this{Distance:"Near"} unless data storage asset:context this{PreDistance:"Near"} run data modify entity @s Attributes[{Name:"minecraft:generic.movement_speed"}].Base set from storage asset:context this.SpeedType.Near + +# 遠い場合 + execute if data storage asset:context this{Distance: "Far"} unless data storage asset:context this{PreDistance:" Far"} run data modify entity @s Attributes[{Name:"minecraft:generic.movement_speed"}].Base set from storage asset:context this.SpeedType.Far + +# super.get_speed + function asset:mob/super.method + +# 近い場合、フィールドをマイナス倍する + execute if data storage asset:context this{Distance:"Near"} store result storage asset:context this.Speed double -0.01 run data get storage asset:context this.Speed 100 diff --git a/Asset/data/asset/functions/mob/0261.laser_eye_mk2/move/.mcfunction b/Asset/data/asset/functions/mob/0261.laser_eye_mk2/move/.mcfunction new file mode 100644 index 0000000000..ec869ed119 --- /dev/null +++ b/Asset/data/asset/functions/mob/0261.laser_eye_mk2/move/.mcfunction @@ -0,0 +1,11 @@ +#> asset:mob/0261.laser_eye_mk2/move/ +# +# 継承先などから実行される処理 +# +# @within asset:mob/alias/261/move + +# プレイヤーが遠い場合は、壁貫通を気にせずそのまま直進 + execute if data storage asset:context this{Distance:" Far"} run function asset:mob/0261.laser_eye_mk2/move/m with storage asset:context this + +# プレイヤーが近い場合は後ろのブロックを気にしつつ後退 + execute anchored eyes positioned ^ ^ ^ if block ^ ^ ^-1 #lib:no_collision/ if block ~ ~-0.25 ~ #lib:no_collision/ anchored feet at @s run function asset:mob/0261.laser_eye_mk2/move/m with storage asset:context this diff --git a/Asset/data/asset/functions/mob/0261.laser_eye_mk2/move/m.mcfunction b/Asset/data/asset/functions/mob/0261.laser_eye_mk2/move/m.mcfunction new file mode 100644 index 0000000000..baec399652 --- /dev/null +++ b/Asset/data/asset/functions/mob/0261.laser_eye_mk2/move/m.mcfunction @@ -0,0 +1,7 @@ +#> asset:mob/0261.laser_eye_mk2/move/m +# +# +# +# @within function asset:mob/0261.laser_eye_mk2/move/ + +$tp @s ^ ^ ^$(Speed) diff --git a/Asset/data/asset/functions/mob/0261.laser_eye_mk2/register.mcfunction b/Asset/data/asset/functions/mob/0261.laser_eye_mk2/register.mcfunction index 67e177d590..12250dd6ad 100644 --- a/Asset/data/asset/functions/mob/0261.laser_eye_mk2/register.mcfunction +++ b/Asset/data/asset/functions/mob/0261.laser_eye_mk2/register.mcfunction @@ -1,6 +1,12 @@ #> asset:mob/0261.laser_eye_mk2/register # @within asset:mob/alias/261/register +# 継承(オプション) + data modify storage asset:mob Extends append value 2003 + function asset:mob/extends +# 継承されることを前提とした、抽象的なモブであるかどうか(boolean) + data modify storage asset:mob IsAbstract set value false + # ID (int) data modify storage asset:mob ID set value 261 # Type (string) Wikiを参照 @@ -38,7 +44,7 @@ # 特殊防御力 (double) (オプション) // 4pointにつきダメージを大きく減らす # data modify storage asset:mob SpecialDefense set value # 移動速度 (double) (オプション) - # data modify storage asset:mob Speed set value + data modify storage asset:mob Speed set value 0.1 # 索敵範囲 (double) (オプション) # data modify storage asset:mob FollowRange set value # ノックバック耐性 (double) (オプション) @@ -57,3 +63,13 @@ # フィールド data modify storage asset:mob Field.Damage set value 24f + +# 距離の状態管理用フィールド + # data modify storage asset:context this.Distance + # data modify storage asset:context this.PreDistance + +# プレイヤーとの距離による移動速度の種類 + data modify storage asset:mob Field.SpeedType set value {Near:0.08,Far:0.1} + +# 追尾性能 + data modify storage asset:mob Field.Rotate set value 800 diff --git a/Asset/data/asset/functions/mob/0261.laser_eye_mk2/tick/.mcfunction b/Asset/data/asset/functions/mob/0261.laser_eye_mk2/tick/.mcfunction index 9c26fe7eb1..48445503b0 100644 --- a/Asset/data/asset/functions/mob/0261.laser_eye_mk2/tick/.mcfunction +++ b/Asset/data/asset/functions/mob/0261.laser_eye_mk2/tick/.mcfunction @@ -7,18 +7,21 @@ # プレイヤーが適正距離にいたらReadyタグを付与 execute unless entity @s[tag=79.Ready] if entity @p[gamemode=!spectator,distance=7..10] run tag @s add 79.Ready -# Readyタグがないとき - # @pを追尾 - execute if entity @s[tag=!79.Ready] facing entity @p[gamemode=!spectator,distance=..64] feet positioned ^ ^ ^-100 rotated as @s positioned ^ ^ ^-800 facing entity @s feet positioned as @s run tp @s ~ ~ ~ ~ ~ +# 適正距離にいない場合、フィールドで遠近の情報を管理する + execute unless entity @s[tag=79.Ready] if entity @p[gamemode=!spectator,distance=..7] run data modify storage asset:context this.Distance set value "Near" + execute unless entity @s[tag=79.Ready] unless entity @p[gamemode=!spectator,distance=..10] run data modify storage asset:context this.Distance set value "Far" - # プレイヤーが近くにいないなら前進 - execute if entity @s[tag=!79.Ready] at @s unless entity @p[gamemode=!spectator,distance=..7] run tp @s ^ ^ ^0.1 ~ ~ +# Readyタグがなければsuper.tick + execute unless entity @s[tag=79.Ready] run function asset:mob/super.tick - # プレイヤーがすごく近いかつ、後ろが床でなく、後ろが壁でもなければゆっくり後退 - execute if entity @s[tag=!79.Ready] at @s if entity @p[gamemode=!spectator,distance=..7] anchored eyes positioned ^ ^ ^ if block ^ ^ ^-1 #lib:no_collision if block ~ ~-0.25 ~ #lib:no_collision anchored feet at @s run tp @s ^ ^ ^-0.08 ~ ~ - - # 壁が後ろにあってこれ以上後退できない場合は発射準備に移る - execute if entity @s[tag=!79.Ready] at @s if entity @p[gamemode=!spectator,distance=..7] anchored eyes positioned ^ ^ ^ unless block ^ ^ ^-1 #lib:no_collision anchored feet at @s run tag @s add 79.Ready +# Readyタグがない && プレイヤーが近い && 後ろにブロックがあって後退できない なら発射準備に移る + execute if entity @s[tag=!79.Ready] at @s if data storage asset:context this{Distance:"Near"} anchored eyes positioned ^ ^ ^ unless block ^ ^ ^-1 #lib:no_collision/ anchored feet at @s run tag @s add 79.Ready # Readyタグがあるときは発射準備 execute if entity @s[tag=79.Ready] run function asset:mob/0261.laser_eye_mk2/tick/ready + +# 毎tickのattribute変更を対策するために前tickの距離の情報を保存しておく + data modify storage asset:context this.PreDistance set from storage asset:context this.Distance + +# リセット + data remove storage asset:context this.Distance diff --git a/Asset/data/asset/functions/mob/alias/261/get_speed.mcfunction b/Asset/data/asset/functions/mob/alias/261/get_speed.mcfunction new file mode 100644 index 0000000000..cdce9e2a54 --- /dev/null +++ b/Asset/data/asset/functions/mob/alias/261/get_speed.mcfunction @@ -0,0 +1,8 @@ +#> asset:mob/alias/261/get_speed +# +# メソッド処理のエイリアス +# +# @within asset_manager:mob/triggers/call_method/run_method.m + +# 本来の処理を呼び出す + function asset:mob/0261.laser_eye_mk2/get_speed/ \ No newline at end of file diff --git a/Asset/data/asset/functions/mob/alias/261/move.mcfunction b/Asset/data/asset/functions/mob/alias/261/move.mcfunction new file mode 100644 index 0000000000..9bcb69741c --- /dev/null +++ b/Asset/data/asset/functions/mob/alias/261/move.mcfunction @@ -0,0 +1,8 @@ +#> asset:mob/alias/261/move +# +# メソッド処理のエイリアス +# +# @within asset_manager:mob/triggers/call_method/run_method.m + +# 本来の処理を呼び出す + function asset:mob/0261.laser_eye_mk2/move/ \ No newline at end of file From 01f2674204d7b1474a37d00a4f8cd42fd9420196 Mon Sep 17 00:00:00 2001 From: Lapis-LJA Date: Sat, 14 Mar 2026 04:03:36 +0900 Subject: [PATCH 17/27] =?UTF-8?q?[Mob=20363]=20=E7=99=BD=E5=91=AA=E3=81=AE?= =?UTF-8?q?=E9=AD=94=E5=B0=8E=E6=9B=B8=E3=81=AE=E9=80=9F=E5=BA=A6=E5=A4=89?= =?UTF-8?q?=E6=9B=B4=E5=87=A6=E7=90=86=E3=82=92=20data=20modify=E3=81=A7?= =?UTF-8?q?=E8=A1=8C=E3=81=86=E3=82=88=E3=81=86=E3=81=AB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../functions/mob/0363.white_spellbook/set_speed/0.mcfunction | 2 +- .../functions/mob/0363.white_spellbook/set_speed/1.mcfunction | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Asset/data/asset/functions/mob/0363.white_spellbook/set_speed/0.mcfunction b/Asset/data/asset/functions/mob/0363.white_spellbook/set_speed/0.mcfunction index ca0585ebd6..629eb4b96d 100644 --- a/Asset/data/asset/functions/mob/0363.white_spellbook/set_speed/0.mcfunction +++ b/Asset/data/asset/functions/mob/0363.white_spellbook/set_speed/0.mcfunction @@ -7,5 +7,5 @@ # asset:mob/0363.white_spellbook/tick/ # 速度・追尾ともに弱く設定 - execute store result entity @s Attributes[{Name:"minecraft:generic.movement_speed"}].Base double 0.01 run data get storage asset:context this.MoveSpeed.Slow 100 + data modify entity @s Attributes[{Name:"minecraft:generic.movement_speed"}].Base set from storage asset:context this.MoveSpeed.Slow data modify storage asset:context this.Rotate set from storage asset:context this.Weak diff --git a/Asset/data/asset/functions/mob/0363.white_spellbook/set_speed/1.mcfunction b/Asset/data/asset/functions/mob/0363.white_spellbook/set_speed/1.mcfunction index 207ba686f3..121c00d7e8 100644 --- a/Asset/data/asset/functions/mob/0363.white_spellbook/set_speed/1.mcfunction +++ b/Asset/data/asset/functions/mob/0363.white_spellbook/set_speed/1.mcfunction @@ -5,5 +5,5 @@ # @within function asset:mob/0363.white_spellbook/tick/ # 速度・追尾ともに強く設定 - execute store result entity @s Attributes[{Name:"minecraft:generic.movement_speed"}].Base double 0.01 run data get storage asset:context this.MoveSpeed.Fast 100 + data modify entity @s Attributes[{Name:"minecraft:generic.movement_speed"}].Base set from storage asset:context this.MoveSpeed.Fast data modify storage asset:context this.Rotate set from storage asset:context this.RotatePower.Strong From 96bdaaa866e2c3da3b1c9aaeb0bc14596fbbe1a6 Mon Sep 17 00:00:00 2001 From: Lapis-LJA Date: Sat, 14 Mar 2026 04:21:15 +0900 Subject: [PATCH 18/27] =?UTF-8?q?[Mob=20369]=20=E7=B4=85=E7=84=94=E3=81=AE?= =?UTF-8?q?=E9=AD=94=E5=B0=8E=E6=9B=B8=E3=81=AB=E6=8A=BD=E8=B1=A1=E3=82=92?= =?UTF-8?q?=E9=81=A9=E7=94=A8=20=E5=BE=8C=E9=80=80=E5=87=A6=E7=90=86?= =?UTF-8?q?=E3=81=8C=E6=A9=9F=E8=83=BD=E3=81=97=E3=81=A6=E3=81=84=E3=81=AA?= =?UTF-8?q?=E3=81=84=E3=81=8C=E3=80=81=E3=81=93=E3=82=8C=E3=81=AF=E3=83=A9?= =?UTF-8?q?=E3=82=A4=E3=83=96=E3=83=A9=E3=83=AA=E5=81=B4=E3=81=A7=E8=A7=A3?= =?UTF-8?q?=E6=B1=BA=E3=81=95=E3=82=8C=E3=82=8B=E3=81=9F=E3=82=81=E3=83=A8?= =?UTF-8?q?=E3=82=B7=E3=81=A8=E3=81=97=E3=81=A6=E3=81=8A=E3=81=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../get_speed/.mcfunction | 2 +- .../mob/0369.prominence_spellbook/load.mcfunction | 9 --------- .../0369.prominence_spellbook/reflect/.mcfunction | 4 ++-- .../0369.prominence_spellbook/register.mcfunction | 4 ++++ .../0369.prominence_spellbook/tick/.mcfunction | 15 +++++++-------- Asset/data/asset/tags/functions/mob/load.json | 1 - 6 files changed, 14 insertions(+), 21 deletions(-) delete mode 100644 Asset/data/asset/functions/mob/0369.prominence_spellbook/load.mcfunction diff --git a/Asset/data/asset/functions/mob/0369.prominence_spellbook/get_speed/.mcfunction b/Asset/data/asset/functions/mob/0369.prominence_spellbook/get_speed/.mcfunction index f244e33e4b..a3477a4f62 100644 --- a/Asset/data/asset/functions/mob/0369.prominence_spellbook/get_speed/.mcfunction +++ b/Asset/data/asset/functions/mob/0369.prominence_spellbook/get_speed/.mcfunction @@ -8,4 +8,4 @@ function asset:mob/super.method # movement_speedはマイナスにできないため、後退モードの場合、速度を-1倍する - execute if score @s A9.StepBack matches 0.. store result storage asset:temp 2003.Speed double -0.01 run data get storage asset:temp 2003.Speed 100 + execute unless data storage asset:context this.MoveBackTick{_:0} store result storage asset:context this.Speed double -0.01 run data get storage asset:context this.Speed 100 diff --git a/Asset/data/asset/functions/mob/0369.prominence_spellbook/load.mcfunction b/Asset/data/asset/functions/mob/0369.prominence_spellbook/load.mcfunction deleted file mode 100644 index 312004d598..0000000000 --- a/Asset/data/asset/functions/mob/0369.prominence_spellbook/load.mcfunction +++ /dev/null @@ -1,9 +0,0 @@ -#> asset:mob/0369.prominence_spellbook/load -# -# MOBに利用するスコアボード等の初期化処理 -# -# @within tag/function asset:mob/load - -#> 定義類はここに -# @within function asset:mob/0369.prominence_spellbook/** - scoreboard objectives add A9.StepBack dummy diff --git a/Asset/data/asset/functions/mob/0369.prominence_spellbook/reflect/.mcfunction b/Asset/data/asset/functions/mob/0369.prominence_spellbook/reflect/.mcfunction index de6b51cb08..cbe5119b62 100644 --- a/Asset/data/asset/functions/mob/0369.prominence_spellbook/reflect/.mcfunction +++ b/Asset/data/asset/functions/mob/0369.prominence_spellbook/reflect/.mcfunction @@ -5,7 +5,7 @@ # @within asset:mob/alias/369/reflect # 後退モードでなければsuper.reflect - execute unless score @s A9.StepBack matches 0.. run function asset:mob/super.method + execute unless data storage asset:context this.MoveBackTick{_:0} run function asset:mob/super.method # もし後退モードで足元がブロックなら真下を向く - execute if score @s A9.StepBack matches 0.. at @s unless block ~ ~0 ~ #lib:no_collision/ run tp @s ~ ~ ~ ~ 90 + execute if data storage asset:context this.MoveBackTick{_:0} at @s unless block ~ ~1 ~ #lib:no_collision/ run tp @s ~ ~ ~ ~ 90 diff --git a/Asset/data/asset/functions/mob/0369.prominence_spellbook/register.mcfunction b/Asset/data/asset/functions/mob/0369.prominence_spellbook/register.mcfunction index b4ef8bbfc3..bcaea33a37 100644 --- a/Asset/data/asset/functions/mob/0369.prominence_spellbook/register.mcfunction +++ b/Asset/data/asset/functions/mob/0369.prominence_spellbook/register.mcfunction @@ -71,5 +71,9 @@ # ダメージ data modify storage asset:mob Field.Damage set value 24f +# 後退時間 + data modify storage asset:mob Field.MoveBackTick._ set value 0 + data modify storage asset:mob Field.MoveBackTick.Max set value 60 + # 追尾性能 data modify storage asset:mob Field.Rotate set value 800 diff --git a/Asset/data/asset/functions/mob/0369.prominence_spellbook/tick/.mcfunction b/Asset/data/asset/functions/mob/0369.prominence_spellbook/tick/.mcfunction index eda5994fa8..9e9896a41a 100644 --- a/Asset/data/asset/functions/mob/0369.prominence_spellbook/tick/.mcfunction +++ b/Asset/data/asset/functions/mob/0369.prominence_spellbook/tick/.mcfunction @@ -14,14 +14,13 @@ # 幾何学の処理をしてかつ、後ろがブロックじゃないかつ、足元がブロックじゃなければ後退 # execute if entity @s[scores={A9.StepBack=0..}] facing entity @p[gamemode=!spectator] eyes positioned ^ ^ ^-100 rotated as @s positioned ^ ^ ^-800 facing entity @s eyes positioned as @s positioned ~ ~1.8 ~ if block ^ ^ ^-0.1 #lib:no_collision positioned ~ ~-1.8 ~ if block ~ ~0 ~ #lib:no_collision if block ~ ~1.5 ~ #lib:no_collision run tp @s ^ ^ ^-0.1 ~ ~ -# プレイヤーが近くにいるとき、3秒間後退モードになる - execute if entity @p[distance=..5] unless entity @s[scores={A9.StepBack=0..}] run scoreboard players set @s A9.StepBack 60 - -# 後退モード時、プレイヤーが近くにいなければ後退モードをやめる - execute unless entity @p[distance=..10] unless entity @s[scores={A9.StepBack=0..}] run scoreboard players set @s A9.StepBack -1 - -# 後退モード動き用スコアを減らす - execute if entity @s[scores={A9.StepBack=0..}] run scoreboard players remove @s A9.StepBack 1 +# 後退諸々の処理 + # Tickのデクリメント + execute store result storage asset:context this.MoveBackTick._ int 0.9999999999 run data get storage asset:context this.MoveBackTick._ + # プレイヤーが近くにいれば3秒間後退モードになる + execute if entity @p[gamemode=!spectator,distance=..5] if data storage asset:context this.MoveBackTick{_:0} run data modify storage asset:context this.MoveBackTick._ set from storage asset:context this.MoveBackTick.Max + # 後退時、プレイヤーが近くにいなければ後退を終了する + execute unless entity @p[gamemode=!spectator,distance=..10] unless data storage asset:context this.MoveBackTick{_:0} run data modify storage asset:context this.MoveBackTick._ set value 0 # スコア scoreboard players add @s General.Mob.Tick 1 diff --git a/Asset/data/asset/tags/functions/mob/load.json b/Asset/data/asset/tags/functions/mob/load.json index 65a6680afb..cd9edbf6c1 100644 --- a/Asset/data/asset/tags/functions/mob/load.json +++ b/Asset/data/asset/tags/functions/mob/load.json @@ -20,7 +20,6 @@ "asset:mob/0380.haruclaire_v3/load", "asset:mob/0376.convict_v2/load", "asset:mob/0378.red_knight_v3/load", - "asset:mob/0369.prominence_spellbook/load", "asset:mob/0321.mini_guardian/load", "asset:mob/0311.blazing_inferno/load", "asset:mob/0059.jack_o_lantern/load", From c865a330da93a04b270ff34ef952733b33e58398 Mon Sep 17 00:00:00 2001 From: Lapis-LJA Date: Sat, 14 Mar 2026 04:25:08 +0900 Subject: [PATCH 19/27] =?UTF-8?q?=E4=B8=8D=E8=A6=81=E3=81=AA=E5=AE=9A?= =?UTF-8?q?=E7=BE=A9=E3=82=92=E5=89=8A=E9=99=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../asset/functions/mob/2003.abstract_eye/move/.mcfunction | 4 ---- 1 file changed, 4 deletions(-) diff --git a/Asset/data/asset/functions/mob/2003.abstract_eye/move/.mcfunction b/Asset/data/asset/functions/mob/2003.abstract_eye/move/.mcfunction index e8e6af4157..89e09693df 100644 --- a/Asset/data/asset/functions/mob/2003.abstract_eye/move/.mcfunction +++ b/Asset/data/asset/functions/mob/2003.abstract_eye/move/.mcfunction @@ -4,10 +4,6 @@ # # @within asset:mob/alias/2003/move -#> Private -# @private - #declare function lib:slide_move/ - # 壁貫通のないように移動 data modify storage lib: Argument.SlideMove.Speed set from storage asset:context this.Speed data modify storage lib: Argument.SlideMove.Conditions set value "anchored eyes unless block ^ ^ ^ #lib:no_collision/" From 50e7c14d86f1c7676ee5c477bd3b12f3ffdc5cb5 Mon Sep 17 00:00:00 2001 From: Lapis-LJA Date: Sat, 14 Mar 2026 19:50:50 +0900 Subject: [PATCH 20/27] =?UTF-8?q?[Mob=20204]=20=E3=83=98=E3=83=AB=E3=82=BA?= =?UTF-8?q?=E3=82=A6=E3=82=A9=E3=83=83=E3=83=81=E3=83=A3=E3=83=BC=E3=81=AB?= =?UTF-8?q?=E6=8A=BD=E8=B1=A1=E3=82=92=E9=81=A9=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../0204.infernal_watcher/init/.mcfunction | 4 +++ .../0204.infernal_watcher/register.mcfunction | 10 ++++-- .../0204.infernal_watcher/tick/.mcfunction | 4 ++- .../tick/move/do.m.mcfunction | 33 ------------------- .../tick/move/pitch.mcfunction | 21 ------------ .../tick/move/rotate.m.mcfunction | 7 ---- .../tick/move/yaw.mcfunction | 28 ---------------- .../tick/{move => other}/.mcfunction | 11 ++----- .../tick/update_state/end_frenzy.mcfunction | 18 +++++++--- .../tick/update_state/start_frenzy.mcfunction | 18 +++++++--- 10 files changed, 43 insertions(+), 111 deletions(-) delete mode 100644 Asset/data/asset/functions/mob/0204.infernal_watcher/tick/move/do.m.mcfunction delete mode 100644 Asset/data/asset/functions/mob/0204.infernal_watcher/tick/move/pitch.mcfunction delete mode 100644 Asset/data/asset/functions/mob/0204.infernal_watcher/tick/move/rotate.m.mcfunction delete mode 100644 Asset/data/asset/functions/mob/0204.infernal_watcher/tick/move/yaw.mcfunction rename Asset/data/asset/functions/mob/0204.infernal_watcher/tick/{move => other}/.mcfunction (56%) diff --git a/Asset/data/asset/functions/mob/0204.infernal_watcher/init/.mcfunction b/Asset/data/asset/functions/mob/0204.infernal_watcher/init/.mcfunction index 3d0d04fa37..8b91ca21e5 100644 --- a/Asset/data/asset/functions/mob/0204.infernal_watcher/init/.mcfunction +++ b/Asset/data/asset/functions/mob/0204.infernal_watcher/init/.mcfunction @@ -2,3 +2,7 @@ # @within asset:mob/alias/204/init execute as @s facing entity @a[distance=..64,sort=nearest,limit=1] eyes run tp @s ~ ~ ~ ~ ~ + +# 速度・追尾力を適用 + data modify entity @s Attributes[{Name:"minecraft:generic.movement_speed"}].Base set from storage asset:context this.Move._.Speed + data modify storage asset:context this.Rotate set from storage asset:context this.Move._.Rotate diff --git a/Asset/data/asset/functions/mob/0204.infernal_watcher/register.mcfunction b/Asset/data/asset/functions/mob/0204.infernal_watcher/register.mcfunction index 11cc545b58..8acd5c6526 100644 --- a/Asset/data/asset/functions/mob/0204.infernal_watcher/register.mcfunction +++ b/Asset/data/asset/functions/mob/0204.infernal_watcher/register.mcfunction @@ -1,6 +1,12 @@ #> asset:mob/0204.infernal_watcher/register # @within asset:mob/alias/204/register +# 継承(オプション) + data modify storage asset:mob Extends append value 2003 + function asset:mob/extends +# 継承されることを前提とした、抽象的なモブであるかどうか(boolean) + data modify storage asset:mob IsAbstract set value false + # ID (int) data modify storage asset:mob ID set value 204 # Type (string) Wikiを参照 @@ -38,7 +44,7 @@ # 特殊防御力 (double) (オプション) // 4pointにつきダメージを大きく減らす data modify storage asset:mob SpecialDefense set value 0 # 移動速度 (double) (オプション) - # data modify storage asset:mob Speed set value + data modify storage asset:mob Speed set value 0.2 # 索敵範囲 (double) (オプション) # data modify storage asset:mob FollowRange set value # ノックバック耐性 (double) (オプション) @@ -56,4 +62,4 @@ data modify storage asset:mob Resist.Thunder set value 1.0f # フィールド (オプション) data modify storage asset:mob Field.Damage set value {_:28f,InFrenzy:42f} - data modify storage asset:mob Field.Move set value {_:{Speed:0.2d,Range:800},InFrenzy:{Speed:0.5d,Range:1200}} + data modify storage asset:mob Field.Move set value {_:{Speed:0.2d,Rotate:800},InFrenzy:{Speed:0.5d,Rotate:1200}} diff --git a/Asset/data/asset/functions/mob/0204.infernal_watcher/tick/.mcfunction b/Asset/data/asset/functions/mob/0204.infernal_watcher/tick/.mcfunction index 08b43950e9..a53b3e33c2 100644 --- a/Asset/data/asset/functions/mob/0204.infernal_watcher/tick/.mcfunction +++ b/Asset/data/asset/functions/mob/0204.infernal_watcher/tick/.mcfunction @@ -8,7 +8,9 @@ scoreboard players add @s General.Mob.Tick 1 function asset:mob/0204.infernal_watcher/tick/update_state/ # 移動 - function asset:mob/0204.infernal_watcher/tick/move/ + function asset:mob/super.tick +# その他 + function asset:mob/0204.infernal_watcher/tick/other/ # 攻撃 function asset:mob/0204.infernal_watcher/tick/attack/ # 自壊 diff --git a/Asset/data/asset/functions/mob/0204.infernal_watcher/tick/move/do.m.mcfunction b/Asset/data/asset/functions/mob/0204.infernal_watcher/tick/move/do.m.mcfunction deleted file mode 100644 index 09cbf985cd..0000000000 --- a/Asset/data/asset/functions/mob/0204.infernal_watcher/tick/move/do.m.mcfunction +++ /dev/null @@ -1,33 +0,0 @@ -#> asset:mob/0204.infernal_watcher/tick/move/do.m -# @input args -# Speed : double -# Range : int -# @within function asset:mob/0204.infernal_watcher/tick/move/ - -# 遮蔽がない場合は最寄りのプレイヤーを追いかける - $execute facing entity @a[distance=..64,sort=nearest,limit=1] feet positioned ^ ^ ^-100 rotated as @s positioned ^ ^ ^-$(Range) facing entity @s eyes positioned as @s anchored eyes if block ^ ^ ^$(Speed) #lib:no_collision anchored feet run return run tp @s ^ ^ ^$(Speed) ~ ~ - -# 遮蔽がある場合は跳ね返る - -#> temp -# @private - #declare tag 5O.Marker - -# 自己位置の取得 - data modify storage asset:temp 5O.OwnPos set from entity @s Pos - execute store result score $5O.Yaw Temporary run data get entity @s Rotation[0] - execute store result score $5O.Pitch Temporary run data get entity @s Rotation[1] -# 移動先の取得 - $execute anchored eyes run summon marker ^ ^ ^$(Speed) {Tags:["5O.Marker"]} - execute as @e[type=marker,tag=5O.Marker,distance=..3,limit=1] run data modify storage asset:temp 5O.TargetPos set from entity @s Pos -# ヨーとピッチに分けて回転角計算 - function asset:mob/0204.infernal_watcher/tick/move/yaw - function asset:mob/0204.infernal_watcher/tick/move/pitch -# 回転 - execute store result storage asset:temp 5O.Yaw float 1 run scoreboard players get $5O.Yaw Temporary - execute store result storage asset:temp 5O.Pitch float 1 run scoreboard players get $5O.Pitch Temporary - function asset:mob/0204.infernal_watcher/tick/move/rotate.m with storage asset:temp 5O -# リセット - scoreboard players reset $5O.Yaw Temporary - scoreboard players reset $5O.Pitch Temporary - kill @e[type=marker,tag=5O.Marker,distance=..3,limit=1] diff --git a/Asset/data/asset/functions/mob/0204.infernal_watcher/tick/move/pitch.mcfunction b/Asset/data/asset/functions/mob/0204.infernal_watcher/tick/move/pitch.mcfunction deleted file mode 100644 index ae0096158e..0000000000 --- a/Asset/data/asset/functions/mob/0204.infernal_watcher/tick/move/pitch.mcfunction +++ /dev/null @@ -1,21 +0,0 @@ -#> asset:mob/0204.infernal_watcher/tick/move/pitch -# @within function asset:mob/0204.infernal_watcher/tick/move/do.m - -#> temp -# @private - #declare score_holder $5O.Own - #declare score_holder $5O.Target - -# 自己位置 -# 目の位置に補正 - execute store result score $5O.Own Temporary run data get storage asset:temp 5O.OwnPos[1] 100 - scoreboard players add $5O.Own Temporary 74 - scoreboard players operation $5O.Own Temporary /= $100 Const -# 移動先 - execute store result score $5O.Target Temporary run data get storage asset:temp 5O.TargetPos[1] 1 -# 計算 - scoreboard players operation $5O.Target Temporary -= $5O.Own Temporary - execute unless score $5O.Own Temporary matches 0 at @s run scoreboard players operation $5O.Pitch Temporary *= $-1 Const -# リセット - scoreboard players reset $5O.Own Temporary - scoreboard players reset $5O.Target Temporary diff --git a/Asset/data/asset/functions/mob/0204.infernal_watcher/tick/move/rotate.m.mcfunction b/Asset/data/asset/functions/mob/0204.infernal_watcher/tick/move/rotate.m.mcfunction deleted file mode 100644 index 456fe97c4e..0000000000 --- a/Asset/data/asset/functions/mob/0204.infernal_watcher/tick/move/rotate.m.mcfunction +++ /dev/null @@ -1,7 +0,0 @@ -#> asset:mob/0204.infernal_watcher/tick/move/rotate.m -# @input args -# Yaw : float -# Pitch : float -# @within function asset:mob/0204.infernal_watcher/tick/move/do.m - -$execute at @s run tp @s ~ ~ ~ $(Yaw) $(Pitch) diff --git a/Asset/data/asset/functions/mob/0204.infernal_watcher/tick/move/yaw.mcfunction b/Asset/data/asset/functions/mob/0204.infernal_watcher/tick/move/yaw.mcfunction deleted file mode 100644 index 5d84f948b9..0000000000 --- a/Asset/data/asset/functions/mob/0204.infernal_watcher/tick/move/yaw.mcfunction +++ /dev/null @@ -1,28 +0,0 @@ -#> asset:mob/0204.infernal_watcher/tick/move/yaw -# @within function asset:mob/0204.infernal_watcher/tick/move/do.m - -#> temp -# @private - #declare score_holder $5O.OwnX - #declare score_holder $5O.TargetX - #declare score_holder $5O.OwnZ - #declare score_holder $5O.TargetZ - -# X軸 - execute store result score $5O.OwnX Temporary run data get storage asset:temp 5O.OwnPos[0] 1 - execute store result score $5O.TargetX Temporary run data get storage asset:temp 5O.TargetPos[0] 1 - scoreboard players operation $5O.TargetX Temporary -= $5O.OwnX Temporary -# Z軸 - execute store result score $5O.OwnZ Temporary run data get storage asset:temp 5O.OwnPos[2] 1 - execute store result score $5O.TargetZ Temporary run data get storage asset:temp 5O.TargetPos[2] 1 - scoreboard players operation $5O.TargetZ Temporary -= $5O.OwnZ Temporary -# 計算 - execute unless score $5O.TargetX Temporary matches 0 unless score $5O.TargetZ Temporary matches 0 run scoreboard players add $5O.Yaw Temporary 180 - execute unless score $5O.TargetX Temporary matches 0 if score $5O.TargetZ Temporary matches 0 run scoreboard players operation $5O.Yaw Temporary *= $-1 Const - execute if score $5O.TargetX Temporary matches 0 unless score $5O.TargetZ Temporary matches 0 run scoreboard players remove $5O.Yaw Temporary 180 - execute if score $5O.TargetX Temporary matches 0 unless score $5O.TargetZ Temporary matches 0 run scoreboard players operation $5O.Yaw Temporary *= $-1 Const -# リセット - scoreboard players reset $5O.OwnX Temporary - scoreboard players reset $5O.TargetX Temporary - scoreboard players reset $5O.OwnZ Temporary - scoreboard players reset $5O.TargetZ Temporary diff --git a/Asset/data/asset/functions/mob/0204.infernal_watcher/tick/move/.mcfunction b/Asset/data/asset/functions/mob/0204.infernal_watcher/tick/other/.mcfunction similarity index 56% rename from Asset/data/asset/functions/mob/0204.infernal_watcher/tick/move/.mcfunction rename to Asset/data/asset/functions/mob/0204.infernal_watcher/tick/other/.mcfunction index 6ac243674d..2e47c25fba 100644 --- a/Asset/data/asset/functions/mob/0204.infernal_watcher/tick/move/.mcfunction +++ b/Asset/data/asset/functions/mob/0204.infernal_watcher/tick/other/.mcfunction @@ -1,6 +1,6 @@ -#> asset:mob/0204.infernal_watcher/tick/move/ +#> asset:mob/0204.infernal_watcher/tick/other/ # -# 移動処理 +# 演出とのけぞり # # @within function asset:mob/0204.infernal_watcher/tick/ @@ -13,10 +13,3 @@ particle dust 0.761 0.267 0 1 ~ ~1.74 ~ 0.25 0.25 0.25 0 1 force @a[distance=..40] particle dust 0.792 0 0 1 ~ ~1.74 ~ 0.25 0.25 0.25 0 1 force @a[distance=..40] execute if entity @s[tag= 5O.InFrenzy] run particle flame ~ ~1.74 ~ 0.25 0.25 0.25 0 1 -# 定数設定 - execute if entity @s[tag=!5O.InFrenzy] run data modify storage asset:temp 5O set from storage asset:context this.Move._ - execute if entity @s[tag= 5O.InFrenzy] run data modify storage asset:temp 5O set from storage asset:context this.Move.InFrenzy -# 実処理 - function asset:mob/0204.infernal_watcher/tick/move/do.m with storage asset:temp 5O -# リセット - data remove storage asset:temp 5O diff --git a/Asset/data/asset/functions/mob/0204.infernal_watcher/tick/update_state/end_frenzy.mcfunction b/Asset/data/asset/functions/mob/0204.infernal_watcher/tick/update_state/end_frenzy.mcfunction index db1a4ac33b..531b0aa4af 100644 --- a/Asset/data/asset/functions/mob/0204.infernal_watcher/tick/update_state/end_frenzy.mcfunction +++ b/Asset/data/asset/functions/mob/0204.infernal_watcher/tick/update_state/end_frenzy.mcfunction @@ -1,9 +1,17 @@ #> asset:mob/0204.infernal_watcher/tick/update_state/end_frenzy # @within function asset:mob/0204.infernal_watcher/tick/update_state/ -tag @s remove 5O.InFrenzy +# タグ削除 + tag @s remove 5O.InFrenzy -item replace entity @s armor.head with minecraft:stick{CustomModelData:20207} -playsound minecraft:block.soul_sand.break hostile @a[distance=..16] ~ ~ ~ 1.5 0.75 -playsound minecraft:entity.phantom.flap hostile @a[distance=..16] ~ ~ ~ 1.5 1.5 -particle large_smoke ~ ~1.5 ~ 0 0 0 0.05 5 +# 速度・追尾力更新 + data modify entity @s Attributes[{Name:"minecraft:generic.movement_speed"}].Base set from storage asset:context this.Move._.Speed + data modify storage asset:context this.Rotate set from storage asset:context this.Move._.Rotate + +# 見た目更新 + item replace entity @s armor.head with minecraft:stick{CustomModelData:20207} + +# 演出 + playsound minecraft:block.soul_sand.break hostile @a[distance=..16] ~ ~ ~ 1.5 0.75 + playsound minecraft:entity.phantom.flap hostile @a[distance=..16] ~ ~ ~ 1.5 1.5 + particle large_smoke ~ ~1.5 ~ 0 0 0 0.05 5 diff --git a/Asset/data/asset/functions/mob/0204.infernal_watcher/tick/update_state/start_frenzy.mcfunction b/Asset/data/asset/functions/mob/0204.infernal_watcher/tick/update_state/start_frenzy.mcfunction index 38fa673086..b24a3ced91 100644 --- a/Asset/data/asset/functions/mob/0204.infernal_watcher/tick/update_state/start_frenzy.mcfunction +++ b/Asset/data/asset/functions/mob/0204.infernal_watcher/tick/update_state/start_frenzy.mcfunction @@ -1,9 +1,17 @@ #> asset:mob/0204.infernal_watcher/tick/update_state/start_frenzy # @within function asset:mob/0204.infernal_watcher/tick/update_state/ -tag @s add 5O.InFrenzy +# tag付け + tag @s add 5O.InFrenzy -item replace entity @s armor.head with minecraft:stick{CustomModelData:20208} -playsound minecraft:block.respawn_anchor.set_spawn hostile @a[distance=..16] ~ ~ ~ 1.5 1.5 -playsound ogg:mob.blaze.breathe4 hostile @a[distance=..16] ~ ~ ~ 1.5 1.5 -particle lava ~ ~1.5 ~ 0 0 0 0.2 5 +# 速度・追尾力更新 + data modify entity @s Attributes[{Name:"minecraft:generic.movement_speed"}].Base set from storage asset:context this.Move.InFrenzy.Speed + data modify storage asset:context this.Rotate set from storage asset:context this.Move.InFrenzy.Rotate + +# 見た目更新 + item replace entity @s armor.head with minecraft:stick{CustomModelData:20208} + +# 演出 + playsound minecraft:block.respawn_anchor.set_spawn hostile @a[distance=..16] ~ ~ ~ 1.5 1.5 + playsound ogg:mob.blaze.breathe4 hostile @a[distance=..16] ~ ~ ~ 1.5 1.5 + particle lava ~ ~1.5 ~ 0 0 0 0.2 5 From 327f0001610d82d6cf3ccca94b2b6f278492d7bc Mon Sep 17 00:00:00 2001 From: Lapis-LJA Date: Sat, 14 Mar 2026 21:25:13 +0900 Subject: [PATCH 21/27] =?UTF-8?q?[Mob=20363]=20=E7=B4=85=E7=84=94=E3=81=AE?= =?UTF-8?q?=E9=AD=94=E5=B0=8E=E6=9B=B8=E3=81=AE=E5=87=A6=E7=90=86=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 --- .../get_speed/.mcfunction | 3 ++- .../0369.prominence_spellbook/reflect/.mcfunction | 4 ++-- .../0369.prominence_spellbook/register.mcfunction | 6 ++++++ .../0369.prominence_spellbook/tick/.mcfunction | 10 ++++------ .../tick/move_back_mode/end.mcfunction | 14 ++++++++++++++ .../tick/move_back_mode/start.mcfunction | 15 +++++++++++++++ 6 files changed, 43 insertions(+), 9 deletions(-) create mode 100644 Asset/data/asset/functions/mob/0369.prominence_spellbook/tick/move_back_mode/end.mcfunction create mode 100644 Asset/data/asset/functions/mob/0369.prominence_spellbook/tick/move_back_mode/start.mcfunction diff --git a/Asset/data/asset/functions/mob/0369.prominence_spellbook/get_speed/.mcfunction b/Asset/data/asset/functions/mob/0369.prominence_spellbook/get_speed/.mcfunction index a3477a4f62..6a5f37573b 100644 --- a/Asset/data/asset/functions/mob/0369.prominence_spellbook/get_speed/.mcfunction +++ b/Asset/data/asset/functions/mob/0369.prominence_spellbook/get_speed/.mcfunction @@ -8,4 +8,5 @@ function asset:mob/super.method # movement_speedはマイナスにできないため、後退モードの場合、速度を-1倍する - execute unless data storage asset:context this.MoveBackTick{_:0} store result storage asset:context this.Speed double -0.01 run data get storage asset:context this.Speed 100 + execute if data storage asset:context this{IsMoveBack:true} store result storage asset:context this.Speed double -0.01 run data get storage asset:context this.Speed 100 + diff --git a/Asset/data/asset/functions/mob/0369.prominence_spellbook/reflect/.mcfunction b/Asset/data/asset/functions/mob/0369.prominence_spellbook/reflect/.mcfunction index cbe5119b62..7c6401908b 100644 --- a/Asset/data/asset/functions/mob/0369.prominence_spellbook/reflect/.mcfunction +++ b/Asset/data/asset/functions/mob/0369.prominence_spellbook/reflect/.mcfunction @@ -5,7 +5,7 @@ # @within asset:mob/alias/369/reflect # 後退モードでなければsuper.reflect - execute unless data storage asset:context this.MoveBackTick{_:0} run function asset:mob/super.method + execute if data storage asset:context this{IsMoveBack:false} run function asset:mob/super.method # もし後退モードで足元がブロックなら真下を向く - execute if data storage asset:context this.MoveBackTick{_:0} at @s unless block ~ ~1 ~ #lib:no_collision/ run tp @s ~ ~ ~ ~ 90 + execute if data storage asset:context this{IsMoveBack:true} at @s unless block ~ ~1 ~ #lib:no_collision/ run tp @s ~ ~ ~ ~ 90 diff --git a/Asset/data/asset/functions/mob/0369.prominence_spellbook/register.mcfunction b/Asset/data/asset/functions/mob/0369.prominence_spellbook/register.mcfunction index bcaea33a37..3889bcb2da 100644 --- a/Asset/data/asset/functions/mob/0369.prominence_spellbook/register.mcfunction +++ b/Asset/data/asset/functions/mob/0369.prominence_spellbook/register.mcfunction @@ -75,5 +75,11 @@ data modify storage asset:mob Field.MoveBackTick._ set value 0 data modify storage asset:mob Field.MoveBackTick.Max set value 60 +# 後退モードか否か + data modify storage asset:mob Field.IsMoveBack set value false + +# 移動速度 + data modify storage asset:mob Field.MoveSpeed set value {Forward:0.3,Back:0.1} + # 追尾性能 data modify storage asset:mob Field.Rotate set value 800 diff --git a/Asset/data/asset/functions/mob/0369.prominence_spellbook/tick/.mcfunction b/Asset/data/asset/functions/mob/0369.prominence_spellbook/tick/.mcfunction index 9e9896a41a..9f718c8a90 100644 --- a/Asset/data/asset/functions/mob/0369.prominence_spellbook/tick/.mcfunction +++ b/Asset/data/asset/functions/mob/0369.prominence_spellbook/tick/.mcfunction @@ -10,17 +10,15 @@ # super.tick function asset:mob/super.tick -# 後退モード時は速度が下がる -# 幾何学の処理をしてかつ、後ろがブロックじゃないかつ、足元がブロックじゃなければ後退 - # execute if entity @s[scores={A9.StepBack=0..}] facing entity @p[gamemode=!spectator] eyes positioned ^ ^ ^-100 rotated as @s positioned ^ ^ ^-800 facing entity @s eyes positioned as @s positioned ~ ~1.8 ~ if block ^ ^ ^-0.1 #lib:no_collision positioned ~ ~-1.8 ~ if block ~ ~0 ~ #lib:no_collision if block ~ ~1.5 ~ #lib:no_collision run tp @s ^ ^ ^-0.1 ~ ~ - # 後退諸々の処理 # Tickのデクリメント execute store result storage asset:context this.MoveBackTick._ int 0.9999999999 run data get storage asset:context this.MoveBackTick._ # プレイヤーが近くにいれば3秒間後退モードになる - execute if entity @p[gamemode=!spectator,distance=..5] if data storage asset:context this.MoveBackTick{_:0} run data modify storage asset:context this.MoveBackTick._ set from storage asset:context this.MoveBackTick.Max + execute if data storage asset:context this{IsMoveBack:false} if entity @p[gamemode=!spectator,distance=..5] run function asset:mob/0369.prominence_spellbook/tick/move_back_mode/start + # 残りtickが0になったとき、後退モードを終了する + execute if data storage asset:context this{MoveBackTick:0,IsMoveBack:true} run function asset:mob/0369.prominence_spellbook/tick/move_back_mode/end # 後退時、プレイヤーが近くにいなければ後退を終了する - execute unless entity @p[gamemode=!spectator,distance=..10] unless data storage asset:context this.MoveBackTick{_:0} run data modify storage asset:context this.MoveBackTick._ set value 0 + execute if data storage asset:context this{IsMoveBack:true} unless entity @p[gamemode=!spectator,distance=..10] run function asset:mob/0369.prominence_spellbook/tick/move_back_mode/end # スコア scoreboard players add @s General.Mob.Tick 1 diff --git a/Asset/data/asset/functions/mob/0369.prominence_spellbook/tick/move_back_mode/end.mcfunction b/Asset/data/asset/functions/mob/0369.prominence_spellbook/tick/move_back_mode/end.mcfunction new file mode 100644 index 0000000000..927581d90c --- /dev/null +++ b/Asset/data/asset/functions/mob/0369.prominence_spellbook/tick/move_back_mode/end.mcfunction @@ -0,0 +1,14 @@ +#> asset:mob/0369.prominence_spellbook/tick/move_back_mode/end +# +# 後退モード終了処理 +# +# @within function asset:mob/0369.prominence_spellbook/tick/ + +# 後退モードをfalseに + data modify storage asset:context this.IsMoveBack set value false + +# 強制終了した場合もあるので0にしておく + data modify storage asset:context this.MoveBackTick._ set value 0 + +# 移動速度を変更 + data modify entity @s Attributes[{Name:"minecraft:generic.movement_speed"}].Base set from storage asset:context this.MoveSpeed.Forward diff --git a/Asset/data/asset/functions/mob/0369.prominence_spellbook/tick/move_back_mode/start.mcfunction b/Asset/data/asset/functions/mob/0369.prominence_spellbook/tick/move_back_mode/start.mcfunction new file mode 100644 index 0000000000..13c4beef16 --- /dev/null +++ b/Asset/data/asset/functions/mob/0369.prominence_spellbook/tick/move_back_mode/start.mcfunction @@ -0,0 +1,15 @@ +#> asset:mob/0369.prominence_spellbook/tick/move_back_mode/start +# +# 後退モード開始処理 +# +# @within function asset:mob/0369.prominence_spellbook/tick/ + +# 後退モードをtrueに + data modify storage asset:context this.IsMoveBack set value true + +# 後退時間を初期化 + data modify storage asset:context this.MoveBackTick._ set from storage asset:context this.MoveBackTick.Max + +# 移動速度を変更 + data modify entity @s Attributes[{Name:"minecraft:generic.movement_speed"}].Base set from storage asset:context this.MoveSpeed.Back + From 11a23aae7b4d95072c7f9422ea305927f941ebe2 Mon Sep 17 00:00:00 2001 From: Lapis-LJA Date: Sat, 14 Mar 2026 21:45:44 +0900 Subject: [PATCH 22/27] =?UTF-8?q?[Mob=2021]=20=E3=83=87=E3=83=BC=E3=83=A2?= =?UTF-8?q?=E3=83=B3=E3=82=A2=E3=82=A4=E3=81=AB=E6=8A=BD=E8=B1=A1=E3=82=92?= =?UTF-8?q?=E9=81=A9=E7=94=A8=20NoAI=E3=81=AB=E3=81=99=E3=82=8B=E5=BF=85?= =?UTF-8?q?=E8=A6=81=E3=81=AF=E3=81=82=E3=81=A3=E3=81=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mob/0021.demon_eye/move/.mcfunction | 8 ++++ .../mob/0021.demon_eye/register.mcfunction | 11 ++++- .../mob/0021.demon_eye/summon/.mcfunction | 2 +- .../mob/0021.demon_eye/tick/.mcfunction | 20 +--------- .../tick/rotater_tick.mcfunction | 40 ------------------- .../functions/mob/alias/21/move.mcfunction | 8 ++++ 6 files changed, 29 insertions(+), 60 deletions(-) create mode 100644 Asset/data/asset/functions/mob/0021.demon_eye/move/.mcfunction delete mode 100644 Asset/data/asset/functions/mob/0021.demon_eye/tick/rotater_tick.mcfunction create mode 100644 Asset/data/asset/functions/mob/alias/21/move.mcfunction diff --git a/Asset/data/asset/functions/mob/0021.demon_eye/move/.mcfunction b/Asset/data/asset/functions/mob/0021.demon_eye/move/.mcfunction new file mode 100644 index 0000000000..fa65c92b23 --- /dev/null +++ b/Asset/data/asset/functions/mob/0021.demon_eye/move/.mcfunction @@ -0,0 +1,8 @@ +#> asset:mob/0021.demon_eye/move/ +# +# 継承先などから実行される処理 +# +# @within asset:mob/alias/21/move + +# 被ダメしてないなら移動 + execute if data entity @s {HurtTime:0s} run function asset:mob/super.method diff --git a/Asset/data/asset/functions/mob/0021.demon_eye/register.mcfunction b/Asset/data/asset/functions/mob/0021.demon_eye/register.mcfunction index 2ba51c76f5..e5364774ed 100644 --- a/Asset/data/asset/functions/mob/0021.demon_eye/register.mcfunction +++ b/Asset/data/asset/functions/mob/0021.demon_eye/register.mcfunction @@ -1,6 +1,12 @@ #> asset:mob/0021.demon_eye/register # @within asset:mob/alias/21/register +# 継承(オプション) + data modify storage asset:mob Extends append value 2003 + function asset:mob/extends +# 継承されることを前提とした、抽象的なモブであるかどうか(boolean) + data modify storage asset:mob IsAbstract set value false + # ID (int) data modify storage asset:mob ID set value 21 # Type (string) Wikiを参照 @@ -38,7 +44,7 @@ # 特殊防御力 (double) (オプション) // 4pointにつきダメージを大きく減らす # data modify storage asset:mob SpecialDefense set value 0 # 移動速度 (double) (オプション) - # data modify storage asset:mob Speed set value + data modify storage asset:mob Speed set value 0.15 # 索敵範囲 (double) (オプション) # data modify storage asset:mob FollowRange set value # ノックバック耐性 (double) (オプション) @@ -54,3 +60,6 @@ # data modify storage asset:mob Resist.Water set value # 雷倍率 (float) (オプション) # data modify storage asset:mob Resist.Thunder set value + +# 回転 + data modify storage asset:mob Field.Rotate set value 1600 diff --git a/Asset/data/asset/functions/mob/0021.demon_eye/summon/.mcfunction b/Asset/data/asset/functions/mob/0021.demon_eye/summon/.mcfunction index 9685598fb7..ee966a56da 100644 --- a/Asset/data/asset/functions/mob/0021.demon_eye/summon/.mcfunction +++ b/Asset/data/asset/functions/mob/0021.demon_eye/summon/.mcfunction @@ -1,4 +1,4 @@ #> asset:mob/0021.demon_eye/summon/ # @within asset:mob/alias/21/summon -summon zombie ~ ~ ~ {Silent:1b,Tags:["MobInit","Enemy","ProcessCommonTag","AlwaysInvisible","AlwaysSlowFall"],DeathLootTable:"empty",Passengers:[{id:"minecraft:area_effect_cloud",Duration:-1,Age:-2147483648,WaitTime:-2147483648,Tags:["21.Rotater","ProcessCommonTag","AutoKillWhenDieVehicle"]}]} +summon zombie ~ ~ ~ {Silent:1b,NoAI:1b,Tags:["MobInit","Enemy","ProcessCommonTag","AlwaysInvisible","AlwaysSlowFall"],DeathLootTable:"empty"} diff --git a/Asset/data/asset/functions/mob/0021.demon_eye/tick/.mcfunction b/Asset/data/asset/functions/mob/0021.demon_eye/tick/.mcfunction index 35e4128540..c31e5ade76 100644 --- a/Asset/data/asset/functions/mob/0021.demon_eye/tick/.mcfunction +++ b/Asset/data/asset/functions/mob/0021.demon_eye/tick/.mcfunction @@ -7,21 +7,8 @@ # パーティクル particle dust 0.5 0 0 1 ~ ~1.68 ~ 0.25 0.25 0.25 0 2 force @a[distance=..40] -# 範囲内ならホーミングじみた移動、ただしダメージを受けていないなら - execute at @s anchored eyes as @e[type=area_effect_cloud,tag=21.Rotater,sort=nearest,limit=1] run function asset:mob/0021.demon_eye/tick/rotater_tick - -# 速さ - data modify storage lib: Argument.VectorMagnitude set value 0.15 - -# 飛ぶのに使う - execute if data entity @s {HurtTime:0s} at @s anchored eyes rotated as @e[type=area_effect_cloud,tag=21.Rotater,sort=nearest,limit=1] run function lib:motion/ - data remove storage lib: Argument -# 向き - data modify entity @s Rotation set from storage asset:temp Rotation - data remove storage asset:temp Rotation - -# 接地で上を向く - execute if data entity @s {OnGround:1b} positioned ~ ~1.5 ~ as @e[type=area_effect_cloud,tag=21.Rotater,sort=nearest,limit=1] at @s run tp @s ~ ~ ~ ~ ~-35 +# super.tick + function asset:mob/super.tick # クールタイムを減らす 0以下にはならない scoreboard players remove @s[scores={L.AttackCT=1..}] L.AttackCT 1 @@ -29,9 +16,6 @@ # クールタイム中じゃないなら接触時に攻撃 execute unless score @s L.AttackCT matches 1.. positioned ~-0.5 ~-0.5 ~-0.5 if entity @p[tag=!PlayerShouldInvulnerable,dx=0] at @s run function asset:mob/0021.demon_eye/tick/event/attack -# カベにぶつかった際の処理 - execute unless block ^ ^ ^0.5 #lib:no_collision as @e[type=area_effect_cloud,tag=21.Rotater,sort=nearest,limit=1] run tp @s ~ ~ ~ ~45 ~-45 - # 世界に存在しすぎた場合、消滅する scoreboard players remove @s L.LifeTime 1 execute if score @s L.LifeTime matches ..0 run function asset:mob/0021.demon_eye/tick/event/suicide diff --git a/Asset/data/asset/functions/mob/0021.demon_eye/tick/rotater_tick.mcfunction b/Asset/data/asset/functions/mob/0021.demon_eye/tick/rotater_tick.mcfunction deleted file mode 100644 index 7feb9b9143..0000000000 --- a/Asset/data/asset/functions/mob/0021.demon_eye/tick/rotater_tick.mcfunction +++ /dev/null @@ -1,40 +0,0 @@ -#> asset:mob/0021.demon_eye/tick/rotater_tick -# -# 頭の上に乗っかってるやつが使用 -# -# @within function asset:mob/0021.demon_eye/tick/ - -# いろは丸様のホーミング機構を使用させていただきました。 - -# Rotation取得 - data modify storage asset:temp Rotation set from entity @s Rotation -# ホーミング - execute store result score $L.RotX Temporary run data get storage asset:temp Rotation[0] 1000 - execute store result score $L.RotY Temporary run data get storage asset:temp Rotation[1] 1000 - -# 回転角度取得 - scoreboard players set $L.AngleX Temporary 0 - scoreboard players set $L.AngleY Temporary 0 - -# X軸の振り向き速度 - scoreboard players add $L.AngleX Temporary 1500 - -# Y軸の振り向き速度 - scoreboard players add $L.AngleY Temporary 3000 - -# 回転角度加算 - execute rotated as @s positioned as @a[distance=..100] positioned ^-100 ^ ^ positioned as @s[distance=..100] run scoreboard players operation $L.RotX Temporary -= $L.AngleY Temporary - execute rotated as @s positioned as @a[distance=..100] positioned ^100 ^ ^ positioned as @s[distance=..100] run scoreboard players operation $L.RotX Temporary += $L.AngleY Temporary - execute rotated as @s positioned as @a[distance=..100] positioned ^ ^-100 ^ positioned as @s[distance=..100] run scoreboard players operation $L.RotY Temporary -= $L.AngleX Temporary - execute rotated as @s positioned as @a[distance=..100] positioned ^ ^100 ^ positioned as @s[distance=..100] run scoreboard players operation $L.RotY Temporary += $L.AngleX Temporary - -# セット - execute store result storage asset:temp Rotation[0] float 0.001 run scoreboard players get $L.RotX Temporary - execute store result storage asset:temp Rotation[1] float 0.001 run scoreboard players get $L.RotY Temporary - data modify entity @s Rotation set from storage asset:temp Rotation - -# リセット - scoreboard players reset $L.RotX Temporary - scoreboard players reset $L.RotY Temporary - scoreboard players reset $L.AngleX Temporary - scoreboard players reset $L.AngleY Temporary diff --git a/Asset/data/asset/functions/mob/alias/21/move.mcfunction b/Asset/data/asset/functions/mob/alias/21/move.mcfunction new file mode 100644 index 0000000000..575a3be62f --- /dev/null +++ b/Asset/data/asset/functions/mob/alias/21/move.mcfunction @@ -0,0 +1,8 @@ +#> asset:mob/alias/21/move +# +# メソッド処理のエイリアス +# +# @within asset_manager:mob/triggers/call_method/run_method.m + +# 本来の処理を呼び出す + function asset:mob/0021.demon_eye/move/ \ No newline at end of file From 9c8bbde8e47c7bf9f3e8822bbac92344e3af7d2b Mon Sep 17 00:00:00 2001 From: Lapis-LJA Date: Sat, 14 Mar 2026 21:48:33 +0900 Subject: [PATCH 23/27] [regenerate cache] From 3421e638aa284a455828e5c294b3d0ccc12e41b2 Mon Sep 17 00:00:00 2001 From: Lapis-LJA Date: Mon, 16 Mar 2026 01:13:39 +0900 Subject: [PATCH 24/27] =?UTF-8?q?=E7=A7=BB=E5=8B=95=E9=80=9F=E5=BA=A6tp?= =?UTF-8?q?=E3=83=9F=E3=83=83=E3=82=AF=E3=82=B9=E3=82=A4=E3=83=B3=E3=82=92?= =?UTF-8?q?=E7=B6=99=E6=89=BF=E3=81=99=E3=82=8B=E3=82=88=E3=81=86=E3=81=AB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../functions/mob/2003.abstract_eye/get_speed/.mcfunction | 8 -------- .../functions/mob/2003.abstract_eye/register.mcfunction | 3 +++ .../asset/functions/mob/alias/2003/get_speed.mcfunction | 8 -------- 3 files changed, 3 insertions(+), 16 deletions(-) delete mode 100644 Asset/data/asset/functions/mob/2003.abstract_eye/get_speed/.mcfunction delete mode 100644 Asset/data/asset/functions/mob/alias/2003/get_speed.mcfunction diff --git a/Asset/data/asset/functions/mob/2003.abstract_eye/get_speed/.mcfunction b/Asset/data/asset/functions/mob/2003.abstract_eye/get_speed/.mcfunction deleted file mode 100644 index 6d5ed669bb..0000000000 --- a/Asset/data/asset/functions/mob/2003.abstract_eye/get_speed/.mcfunction +++ /dev/null @@ -1,8 +0,0 @@ -#> asset:mob/2003.abstract_eye/get_speed/ -# -# 継承先などから実行される処理 -# -# @within asset:mob/alias/2003/get_speed - -# スピードを取得します - execute store result storage asset:context this.Speed double 0.01 run attribute @s generic.movement_speed get 100 diff --git a/Asset/data/asset/functions/mob/2003.abstract_eye/register.mcfunction b/Asset/data/asset/functions/mob/2003.abstract_eye/register.mcfunction index 1a94426b4b..2383f7183c 100644 --- a/Asset/data/asset/functions/mob/2003.abstract_eye/register.mcfunction +++ b/Asset/data/asset/functions/mob/2003.abstract_eye/register.mcfunction @@ -4,6 +4,9 @@ # # @within function asset:mob/alias/2003/register +# 継承 (int) (オプション) + data modify storage asset:mob Extends append value 2004 + function asset:mob/extends # 他のモブに継承されることを許可するか (boolean) (オプション) data modify storage asset:mob ExtendsSafe set value true # 継承されることを前提とした、抽象的なモブであるかどうか(boolean) diff --git a/Asset/data/asset/functions/mob/alias/2003/get_speed.mcfunction b/Asset/data/asset/functions/mob/alias/2003/get_speed.mcfunction deleted file mode 100644 index e849d8fa9c..0000000000 --- a/Asset/data/asset/functions/mob/alias/2003/get_speed.mcfunction +++ /dev/null @@ -1,8 +0,0 @@ -#> asset:mob/alias/2003/get_speed -# -# メソッド処理のエイリアス -# -# @within asset_manager:mob/triggers/call_method/run_method.m - -# 本来の処理を呼び出す - function asset:mob/2003.abstract_eye/get_speed/ \ No newline at end of file From 381a7bc9f0c7a0f8ee64b299f9d75bd4347541c6 Mon Sep 17 00:00:00 2001 From: Lapis-LJA Date: Mon, 16 Mar 2026 01:17:18 +0900 Subject: [PATCH 25/27] =?UTF-8?q?[Mob=20363]=20=E7=99=BD=E5=91=AA=E3=81=AE?= =?UTF-8?q?=E9=AD=94=E5=B0=8E=E6=9B=B8=E3=81=AE=E8=BF=BD=E5=B0=BE=E5=8A=9B?= =?UTF-8?q?=E5=A4=89=E5=8C=96=E3=81=AE=E3=83=9F=E3=82=B9=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 --- .../functions/mob/0363.white_spellbook/set_speed/0.mcfunction | 2 +- .../asset/functions/mob/0363.white_spellbook/tick/.mcfunction | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/Asset/data/asset/functions/mob/0363.white_spellbook/set_speed/0.mcfunction b/Asset/data/asset/functions/mob/0363.white_spellbook/set_speed/0.mcfunction index 629eb4b96d..8138e8afea 100644 --- a/Asset/data/asset/functions/mob/0363.white_spellbook/set_speed/0.mcfunction +++ b/Asset/data/asset/functions/mob/0363.white_spellbook/set_speed/0.mcfunction @@ -8,4 +8,4 @@ # 速度・追尾ともに弱く設定 data modify entity @s Attributes[{Name:"minecraft:generic.movement_speed"}].Base set from storage asset:context this.MoveSpeed.Slow - data modify storage asset:context this.Rotate set from storage asset:context this.Weak + data modify storage asset:context this.Rotate set from storage asset:context this.RotatePower.Weak diff --git a/Asset/data/asset/functions/mob/0363.white_spellbook/tick/.mcfunction b/Asset/data/asset/functions/mob/0363.white_spellbook/tick/.mcfunction index 97a90a0538..65746457ea 100644 --- a/Asset/data/asset/functions/mob/0363.white_spellbook/tick/.mcfunction +++ b/Asset/data/asset/functions/mob/0363.white_spellbook/tick/.mcfunction @@ -23,5 +23,7 @@ execute if score @s A3.MoveTimer matches 60 run function asset:mob/0363.white_spellbook/set_speed/1 execute if score @s A3.MoveTimer matches 120 run function asset:mob/0363.white_spellbook/set_speed/0 +tellraw @a {"storage":"asset:context","nbt":"this.Rotate"} + # 移動スコアリセット execute if entity @s[scores={A3.MoveTimer=120..}] run scoreboard players reset @s A3.MoveTimer From 1ae78a8e0cfd91c7de00182f245b2718c430b466 Mon Sep 17 00:00:00 2001 From: Lapis-LJA Date: Mon, 16 Mar 2026 07:20:38 +0900 Subject: [PATCH 26/27] =?UTF-8?q?[Mob=20265]=20=E3=83=80=E3=83=BC=E3=82=AF?= =?UTF-8?q?=E3=83=95=E3=82=A1=E3=83=9F=E3=83=AA=E3=82=A2=E3=81=AE=E7=A7=BB?= =?UTF-8?q?=E5=8B=95=E9=80=9F=E5=BA=A6=E8=AA=BF=E6=95=B4=E5=87=A6=E7=90=86?= =?UTF-8?q?=E3=82=92=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../asset/functions/mob/0265.dark_familiar/init/.mcfunction | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Asset/data/asset/functions/mob/0265.dark_familiar/init/.mcfunction b/Asset/data/asset/functions/mob/0265.dark_familiar/init/.mcfunction index 692db48480..8eeacec90c 100644 --- a/Asset/data/asset/functions/mob/0265.dark_familiar/init/.mcfunction +++ b/Asset/data/asset/functions/mob/0265.dark_familiar/init/.mcfunction @@ -13,6 +13,6 @@ # パーティクル execute at @s anchored eyes positioned ^ ^ ^ run particle poof ~ ~-0.3 ~ 0 0 0 0.1 10 -# アイ抽象用 移動速度を-33%する +# アイ抽象用 移動速度を2/3倍する # IsBabyにより移動速度が1.5倍になっているのを相殺する - attribute @s generic.movement_speed modifier add 00000001-0000-0001-0000-010900000001 "265.OffsetIsBaby" -0.33 multiply + execute store result entity @s Attributes[{Name:"minecraft:generic.movement_speed"}].Base double 0.006667 run attribute @s generic.movement_speed base get 100 From a24b344552a56c242f0eef47661de1e827dc6e3f Mon Sep 17 00:00:00 2001 From: Lapis-LJA Date: Sun, 22 Mar 2026 11:08:50 +0900 Subject: [PATCH 27/27] =?UTF-8?q?=E3=83=87=E3=83=90=E3=83=83=E3=82=B0?= =?UTF-8?q?=E3=83=AD=E3=82=B0=E3=82=92=E5=89=8A=E9=99=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../asset/functions/mob/0363.white_spellbook/tick/.mcfunction | 2 -- 1 file changed, 2 deletions(-) diff --git a/Asset/data/asset/functions/mob/0363.white_spellbook/tick/.mcfunction b/Asset/data/asset/functions/mob/0363.white_spellbook/tick/.mcfunction index 65746457ea..97a90a0538 100644 --- a/Asset/data/asset/functions/mob/0363.white_spellbook/tick/.mcfunction +++ b/Asset/data/asset/functions/mob/0363.white_spellbook/tick/.mcfunction @@ -23,7 +23,5 @@ execute if score @s A3.MoveTimer matches 60 run function asset:mob/0363.white_spellbook/set_speed/1 execute if score @s A3.MoveTimer matches 120 run function asset:mob/0363.white_spellbook/set_speed/0 -tellraw @a {"storage":"asset:context","nbt":"this.Rotate"} - # 移動スコアリセット execute if entity @s[scores={A3.MoveTimer=120..}] run scoreboard players reset @s A3.MoveTimer