Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
41d6e9f
暫定的に抽象を作成
Lapis-LJA Mar 7, 2026
d8415ea
[Mob 210] オーロラアイの処理を試験的に抽象を継承する形に変更
Lapis-LJA Mar 7, 2026
e4b4638
抽象を暫定的に完成とする
Lapis-LJA Mar 7, 2026
1ed9c43
[Mob 227] フロストアイに抽象を適用するように
Lapis-LJA Mar 7, 2026
a23e169
[Mob 255] デスペデンスアイに抽象を適用
Lapis-LJA Mar 7, 2026
8b34819
[Mob 363] 白呪の魔導書に抽象を適用
Lapis-LJA Mar 12, 2026
20f62d5
[Mob 257] 歪みの魔導書に抽象を適用
Lapis-LJA Mar 12, 2026
5abfe2d
抽象の処理を更新
Lapis-LJA Mar 12, 2026
6553c81
[Mob 370] 荒波の魔導書に抽象を適用
Lapis-LJA Mar 13, 2026
174487c
抽象の処理をリセットが不要な形に修正
Lapis-LJA Mar 13, 2026
ca5308b
[Mob 371] 天雷の魔導書に抽象を適用
Lapis-LJA Mar 13, 2026
24ffbd5
[Mob 265] ダークファミリアにアイ抽象を適用
Lapis-LJA Mar 13, 2026
1540ca1
[Mob 369] 紅焔の魔導書 途中まで抽象を適用
Lapis-LJA Mar 13, 2026
4074953
[Mob 321] ミニガーディアンに抽象を適用
Lapis-LJA Mar 13, 2026
8c223d8
[Mob 38] レーザーアイに抽象を適用
Lapis-LJA Mar 13, 2026
34a6a84
[Mob 261] レーザーアイMk-Ⅱに抽象を適用
Lapis-LJA Mar 13, 2026
01f2674
[Mob 363] 白呪の魔導書の速度変更処理を
Lapis-LJA Mar 13, 2026
96bdaaa
[Mob 369] 紅焔の魔導書に抽象を適用 後退処理が機能していないが、これはライブラリ側で解決されるためヨシとしておく
Lapis-LJA Mar 13, 2026
c865a33
不要な定義を削除
Lapis-LJA Mar 13, 2026
50e7c14
[Mob 204] ヘルズウォッチャーに抽象を適用
Lapis-LJA Mar 14, 2026
2594946
Merge branch 'master' into dev/lapis_flying_mob_abstract
Lapis-LJA Mar 14, 2026
327f000
[Mob 363] 紅焔の魔導書の処理を修正
Lapis-LJA Mar 14, 2026
11a23aa
[Mob 21] デーモンアイに抽象を適用 NoAIにする必要はあった
Lapis-LJA Mar 14, 2026
9c8bbde
[regenerate cache]
Lapis-LJA Mar 14, 2026
b7f9c2c
Merge branch 'master' into dev/lapis_flying_mob_abstract
Lapis-LJA Mar 15, 2026
3421e63
移動速度tpミックスインを継承するように
Lapis-LJA Mar 15, 2026
381a7bc
[Mob 363] 白呪の魔導書の追尾力変化のミスを修正
Lapis-LJA Mar 15, 2026
1ae78a8
[Mob 265] ダークファミリアの移動速度調整処理を修正
Lapis-LJA Mar 15, 2026
a24b344
デバッグログを削除
Lapis-LJA Mar 22, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -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
Original file line number Diff line number Diff line change
@@ -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を参照
Expand Down Expand Up @@ -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) (オプション)
Expand All @@ -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
Original file line number Diff line number Diff line change
@@ -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"}
20 changes: 2 additions & 18 deletions Asset/data/asset/functions/mob/0021.demon_eye/tick/.mcfunction
Original file line number Diff line number Diff line change
Expand Up @@ -7,31 +7,15 @@
# パーティクル
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

# クールタイム中じゃないなら接触時に攻撃
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

This file was deleted.

Original file line number Diff line number Diff line change
@@ -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
Original file line number Diff line number Diff line change
@@ -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
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
#> asset:mob/0038.laser_eye/move/m
#
#
#
# @within function asset:mob/0038.laser_eye/move/

#
$tp @s ^ ^ ^$(Speed)
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
#> asset:mob/0038.laser_eye/reflect/
#
# 継承先などから実行される処理
#
# @within asset:mob/alias/38/reflect

# 何もしない
Original file line number Diff line number Diff line change
@@ -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を参照
Expand Down Expand Up @@ -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) (オプション)
Expand All @@ -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}
12 changes: 12 additions & 0 deletions Asset/data/asset/functions/mob/0038.laser_eye/rotate/.mcfunction
Original file line number Diff line number Diff line change
@@ -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
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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
Original file line number Diff line number Diff line change
@@ -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を参照
Expand Down Expand Up @@ -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) (オプション)
Expand All @@ -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}}
Original file line number Diff line number Diff line change
Expand Up @@ -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/
# 自壊
Expand Down

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

Original file line number Diff line number Diff line change
@@ -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/

Expand All @@ -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
Original file line number Diff line number Diff line change
@@ -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
Loading
Loading