Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
eaab5ad
とりあえず基礎まで
Lapis-LJA Nov 23, 2025
6e3001d
ターゲットを追尾するところまで
Lapis-LJA Dec 6, 2025
a3ad502
向き合わせの速度を調整
Lapis-LJA Dec 7, 2025
fd4bbc2
攻撃の実装まで
Lapis-LJA Dec 17, 2025
5457b85
途中経過
Lapis-LJA Dec 18, 2025
bd054b0
Merge branch 'master' into dev/lapis_artifact1320
Lapis-LJA Feb 13, 2026
2f6d8db
特定条件下で停止してしまうバグを修正
Lapis-LJA Feb 13, 2026
45456fe
コメントを調整
Lapis-LJA Feb 13, 2026
851473c
未使用Objectを削除
Lapis-LJA Feb 13, 2026
fd78c1f
演出を調整
Lapis-LJA Feb 13, 2026
493c1e3
objectのネームスペースを修正
Lapis-LJA Feb 13, 2026
58b6e6b
変更漏れを修正
Lapis-LJA Feb 13, 2026
3ecfc0a
敵を探索する位置をプレイヤー基準に
Lapis-LJA Feb 13, 2026
2dad08b
プレイヤーとの距離に応じて移動速度を変えるように
Lapis-LJA Feb 13, 2026
848e01d
initで攻撃CDを初期化するように
Lapis-LJA Feb 13, 2026
8a87e6e
敵への追尾力を低下
Lapis-LJA Feb 13, 2026
bc74f6c
敵を探す処理の基準位置を修正2
Lapis-LJA Feb 13, 2026
1b0afb7
tickでの処理順を修正
Lapis-LJA Feb 13, 2026
2d68350
召喚時の演出を追加
Lapis-LJA Feb 13, 2026
24cff7a
近くにいる判定を少し拡大
Lapis-LJA Feb 13, 2026
fb97242
存在時間をstorage管理に
Lapis-LJA Feb 14, 2026
d5cb6cc
プレイヤーに対する追尾力を調整
Lapis-LJA Feb 14, 2026
3237420
召喚時に真下を向いておくように
Lapis-LJA Feb 14, 2026
79f23f0
使用時の演出を追加
Lapis-LJA Feb 14, 2026
5f1706d
ダメージ範囲を設定
Lapis-LJA Feb 15, 2026
8cabc2b
フレーバーテキストを追加
Lapis-LJA Feb 15, 2026
8a7888b
名前にグラデーションを設定
Lapis-LJA Feb 15, 2026
c5f25da
ダメージが2重に発生しうる問題を修正
Lapis-LJA Feb 15, 2026
b2cea75
攻撃範囲を拡大
Lapis-LJA Feb 15, 2026
630e995
グラデーションを調整
Lapis-LJA Feb 15, 2026
ce5bbf7
フレーバーテキストを調整
Lapis-LJA Feb 15, 2026
c90318b
カラーシャードに追加
Lapis-LJA Feb 15, 2026
6bf0ef1
攻撃間隔を調整
Lapis-LJA Feb 15, 2026
2eb1e01
神器側で色々設定できるように
Lapis-LJA Feb 15, 2026
68c2db2
フレーバーテキストを調整
Lapis-LJA Feb 16, 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,7 @@
#> asset:artifact/1320.flare_bloom/give/1.trigger
#
# 神器の取得処理の呼び出し時に実行されるfunction
#
# @within tag/function asset:artifact/give

execute if data storage asset:context {id:1320} run function asset:artifact/1320.flare_bloom/give/2.give
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
#> asset:artifact/1320.flare_bloom/give/2.give
#
# 神器の作成部 ここでID等を定義する
#
# @user
# @within function asset:artifact/1320.flare_bloom/give/1.trigger

# 神器の説明や消費MPなどをここで設定する。
# 最後にasset:artifact/common/giveを実行することで入手可能。

# 神器のID (int) スプレッドシートの値を入れる
data modify storage asset:artifact ID set value 1320
# 神器のベースアイテム
data modify storage asset:artifact Item set value "minecraft:carrot_on_a_stick"
# 神器の名前 (TextComponentString)
data modify storage asset:artifact Name set value '[{"text":"フ","color":"#EA4C15"},{"text":"レ","color":"#EC5317"},{"text":"ア","color":"#EF5A19"},{"text":"ブ","color":"#F1611B"},{"text":"ル","color":"#F4681D"},{"text":"ー","color":"#F66E1E"},{"text":"ム","color":"#F8751F"}]'
# 神器の説明文 (TextComponentString[])
data modify storage asset:artifact Lore set value ['{"text":"周囲の敵を攻撃する炎の蝶を召喚する","color":"white"}','{"text":"自身の体力が50%未満の時、ダメージが1.5倍になる","color":"white"}','{"text":"自らを焦がし続ける残り火の花","color":"gray"}','{"text":"その命を燃やす香りが炎の蝶が呼び寄せる","color":"gray"}']
# 消費アイテム ({Item: TextComponent, Count: int, Extra?: TextComponent}) (オプション)
# data modify storage asset:artifact ConsumeItem.Item set value '{"translate":"item.minecraft.stick"}'
# data modify storage asset:artifact ConsumeItem.Count set value 1
# data modify storage asset:artifact ConsumeItem.Extra set value
# 使用回数 (int) (オプション)
# data modify storage asset:artifact RemainingCount set value
# 神器を発動できるスロット (string) Wikiを参照
data modify storage asset:artifact Slot set value "mainhand"
# 神器のトリガー (string) Wikiを参照
data modify storage asset:artifact Trigger set value "onClick"
# 神器の発動条件 (TextComponentString) (オプション)
# data modify storage asset:artifact Condition set value
# 攻撃に関する情報 -Damage量 (literal[]/literal) Wikiを参照 (オプション)
data modify storage asset:artifact AttackInfo.Damage set value [400,500]
# 攻撃に関する情報 -攻撃タイプ (string[]) Wikiを参照 (オプション)
data modify storage asset:artifact AttackInfo.AttackType set value [Physical]
# 攻撃に関する情報 -攻撃属性 (string[]) Wikiを参照 (オプション)
data modify storage asset:artifact AttackInfo.ElementType set value [Fire]
# 攻撃に関する情報 -防御無視 (boolean) Wikiを参照 (オプション)
# data modify storage asset:artifact AttackInfo.BypassResist set value
# 攻撃に関する情報 -範囲攻撃 (string) Wikiを参照 (オプション)
data modify storage asset:artifact AttackInfo.IsRangeAttack set value "every"
# 攻撃に関する情報 -攻撃範囲 (literal) Wikiを参照 (オプション)
data modify storage asset:artifact AttackInfo.AttackRange set value "2.5"
# MP消費量 (int)
data modify storage asset:artifact MPCost set value 100
# MP必要量 (int) (オプション)
# data modify storage asset:artifact MPRequire set value
# MP回復量 (int)
# data modify storage asset:artifact MPHealWhenHit set value
# 神器のクールダウン (int) (オプション)
# data modify storage asset:artifact LocalCooldown set value
# 種別クールダウン ({Type: string, Duration: int}) (オプション)
# data modify storage asset:artifact TypeCooldown.Type set value
# data modify storage asset:artifact TypeCooldown.Duration set value
# グローバルクールダウン (int) (オプション)
# data modify storage asset:artifact SpecialCooldown set value
# クールダウンによる使用不可のメッセージを非表示にするか否か (boolean) (オプション)
# data modify storage asset:artifact DisableCooldownMessage set value
# MP不足による使用不可のメッセージを非表示にするか否か (boolean) (オプション)
# data modify storage asset:artifact DisableMPMessage set value
# 破壊時の音を鳴らさないかどうか (boolean) (オプション)
# data modify storage asset:artifact DisableBreakSound set value
# 扱える神 (string[]) Wikiを参照
data modify storage asset:artifact CanUsedGod set value ["Urban", "Nyaptov", "Rumor"]
# カスタムNBT (NBTCompound) 追加で指定したいNBT (オプション)
# data modify storage asset:artifact CustomNBT set value {}

# 神器の入手用function
function asset:artifact/common/give
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
#> asset:artifact/1320.flare_bloom/register
#
# 神器プールへの登録処理
#
# @within tag/function asset:artifact/register

data modify storage asset:artifact RarityRegistry[4] append value [1320]
data modify storage asset:artifact RarityRegistryWithColor.Red[4] append value [1320]
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
#> asset:artifact/1320.flare_bloom/trigger/1.trigger
#
# 指定したイベントタイミングで実行されるfunction
#
# @within tag/function asset:artifact/**

# storage asset:idのmainhandに装備している神器のIDが入っているので比較し、~/2.check_condition.mcfunctionを実行する
execute if data storage asset:context id{mainhand:1320} run function asset:artifact/1320.flare_bloom/trigger/2.check_condition
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
#> asset:artifact/1320.flare_bloom/trigger/2.check_condition
#
# 神器の発動条件をチェックします
#
# @within function asset:artifact/1320.flare_bloom/trigger/1.trigger

# 神器の基本的な条件の確認を行うfunction、成功している場合CanUsedタグが付く
function asset:artifact/common/check_condition/mainhand
# 他にアイテム等確認する場合はここに書く

# CanUsedタグをチェックして3.main.mcfunctionを実行する
execute if entity @s[tag=CanUsed] run function asset:artifact/1320.flare_bloom/trigger/3.main
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
#> asset:artifact/1320.flare_bloom/trigger/3.main
#
# 神器のメイン処理部
#
# @within function asset:artifact/1320.flare_bloom/trigger/2.check_condition

# 基本的な使用時の処理(MP消費や使用回数の処理など)を行う
function asset:artifact/common/use/mainhand

# ここから先は神器側の効果の処理を書く

# 演出
execute anchored eyes positioned ^ ^ ^ positioned ~ ~-0.3 ~ rotated ~90 25 run function asset:artifact/1320.flare_bloom/trigger/vfx
execute anchored eyes positioned ^ ^ ^ positioned ~ ~-0.3 ~ rotated ~90 -25 run function asset:artifact/1320.flare_bloom/trigger/vfx
playsound entity.blaze.shoot player @a ~ ~ ~ 1.5 0.8
playsound entity.blaze.shoot player @a ~ ~ ~ 1.5 1.3
playsound entity.witch.throw player @a ~ ~ ~ 1.5 0.5

# ダメージ設定
data modify storage api: Argument.FieldOverride.Damage.Default set value {Min:400,Max:500}
execute store result storage api: Argument.FieldOverride.Damage.LowHealthPer.Min float 1.5 run data get storage api: Argument.FieldOverride.Damage.Default.Min
execute store result storage api: Argument.FieldOverride.Damage.LowHealthPer.Max float 1.5 run data get storage api: Argument.FieldOverride.Damage.Default.Max

# ダメージ以外の諸々の設定
# 1tick毎の敵を追跡する速度
data modify storage api: Argument.FieldOverride.ChaseSpeed set value 0.6

# 召喚演出が何tickか?
data modify storage api: Argument.FieldOverride.SummonMoveTick set value 45

# 存在時間(召喚が永続化したら要らなくなりそうだが)
data modify storage api: Argument.FieldOverride.Tick set value 445

# 最大追跡時間
data modify storage api: Argument.FieldOverride.ChaseTick.Max set value 60

# 攻撃発生までのディレイ
data modify storage api: Argument.FieldOverride.AttackDelay.Max set value 8

# 攻撃のクールダウン
data modify storage api: Argument.FieldOverride.AttackCD.Max set value 30

# Object召喚
data modify storage api: Argument.ID set value 1153
execute store result storage api: Argument.FieldOverride.UserID int 1 run scoreboard players get @s UserID
execute rotated ~ 0 anchored eyes positioned ^-1.8 ^8 ^-5 run function api:object/summon
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
#> asset:artifact/1320.flare_bloom/trigger/vfx
#
#
#
# @within function asset:artifact/1320.flare_bloom/trigger/3.main

# [ImportKey]: NobwRALgngDgpmAXGAxgSwE4oDYIDRgCuhaAJkqgBxwBmAhgJwDsNAtDQEYdOsAslABl6sGANhQpWEjjUoBGSqQCsQ-GAB2dALYJkgMMUABHLAEYdDNoDOScCgD2hdRCQAmSgRRwncDDbAA3OmxCXXAADyQBAihIgF9YggtSNEJrRDkBTKyCSwhzZ0QosDhsbDQYS10Moow7PIhdIrRLAFFS8sqWgEdCIOwoAGUzT3JEemxK+IBdIA_3
# 円 1
particle flame ~ ~ ~ ^0 ^ ^-1000000 0.00000030 0
particle flame ~ ~ ~ ^222520.93396 ^ ^-974927.91218 0.00000030 0
particle flame ~ ~ ~ ^433883.73912 ^ ^-900968.8679 0.00000030 0
particle flame ~ ~ ~ ^623489.80186 ^ ^-781831.48247 0.00000030 0
particle flame ~ ~ ~ ^781831.48247 ^ ^-623489.80186 0.00000030 0
particle flame ~ ~ ~ ^900968.8679 ^ ^-433883.73912 0.00000030 0
particle flame ~ ~ ~ ^974927.91218 ^ ^-222520.93396 0.00000030 0
particle flame ~ ~ ~ ^1000000 ^ ^0 0.00000030 0
particle flame ~ ~ ~ ^974927.91218 ^ ^222520.93396 0.00000030 0
particle flame ~ ~ ~ ^900968.8679 ^ ^433883.73912 0.00000030 0
particle flame ~ ~ ~ ^781831.48247 ^ ^623489.80186 0.00000030 0
particle flame ~ ~ ~ ^623489.80186 ^ ^781831.48247 0.00000030 0
particle flame ~ ~ ~ ^433883.73912 ^ ^900968.8679 0.00000030 0
particle flame ~ ~ ~ ^222520.93396 ^ ^974927.91218 0.00000030 0
particle flame ~ ~ ~ ^0 ^ ^1000000 0.00000030 0
particle flame ~ ~ ~ ^-222520.93396 ^ ^974927.91218 0.00000030 0
particle flame ~ ~ ~ ^-433883.73912 ^ ^900968.8679 0.00000030 0
particle flame ~ ~ ~ ^-623489.80186 ^ ^781831.48247 0.00000030 0
particle flame ~ ~ ~ ^-781831.48247 ^ ^623489.80186 0.00000030 0
particle flame ~ ~ ~ ^-900968.8679 ^ ^433883.73912 0.00000030 0
particle flame ~ ~ ~ ^-974927.91218 ^ ^222520.93396 0.00000030 0
particle flame ~ ~ ~ ^-1000000 ^ ^0 0.00000030 0
particle flame ~ ~ ~ ^-974927.91218 ^ ^-222520.93396 0.00000030 0
particle flame ~ ~ ~ ^-900968.8679 ^ ^-433883.73912 0.00000030 0
particle flame ~ ~ ~ ^-781831.48247 ^ ^-623489.80186 0.00000030 0
particle flame ~ ~ ~ ^-623489.80186 ^ ^-781831.48247 0.00000030 0
particle flame ~ ~ ~ ^-433883.73912 ^ ^-900968.8679 0.00000030 0
particle flame ~ ~ ~ ^-222520.93396 ^ ^-974927.91218 0.00000030 0
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
#> asset:object/1153.flare_butterfly/_index.d
# @private

#> tag
# @within function asset:object/1153.flare_butterfly/**
#declare tag 1153.Owner

#> tag
# @within function asset:object/1153.flare_butterfly/tick/attack/**
#declare score_holder $HealthPer

#> Private
# @within function asset:object/1153.flare_butterfly/tick/move/to_owner/**
#declare tag 1153.TempMarker
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
#> asset:object/1153.flare_butterfly/init/
#
# Objectのinit時の処理
#
# @within asset:object/alias/1153/init

# AttackCD初期化
data modify storage asset:context this.AttackCD._ set from storage asset:context this.AttackCD.Max

# 演出の関係で真下を向いておく
tp @s ~ ~ ~ ~ 90
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
#> asset:object/1153.flare_butterfly/predicate/near_enemy
#
#
#
# @within function asset:object/1153.flare_butterfly/tick/move/**

# Ownerの周囲に敵が周囲にいないなら失敗
execute at @p[tag=1153.Owner] unless entity @e[type=#lib:living_without_player,tag=Enemy,tag=!Uninterferable,distance=..12] run return 0

# 成功
return 1
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
#> asset:object/1153.flare_butterfly/predicate/near_owner
#
#
#
# @within function asset:object/1153.flare_butterfly/**

# Ownerが近くにいないなら失敗
execute unless entity @p[tag=1153.Owner,distance=..12] run return 0

# 成功
return 1
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
#> asset:object/1153.flare_butterfly/predicate/near_target/neutral_near/
#
#
#
# @within function asset:object/1153.flare_butterfly/tick/**

execute store result storage asset:context this.Success int 1 run function asset:object/1153.flare_butterfly/predicate/near_target/neutral_near/m with storage asset:context this

execute if data storage asset:context this{Success:1} run return 1
execute if data storage asset:context this{Success:0} run return 0
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
#> asset:object/1153.flare_butterfly/predicate/near_target/neutral_near/m
#
#
#
# @within function asset:object/1153.flare_butterfly/predicate/near_target/neutral_near/

$execute if entity @e[type=#lib:living_without_player,tag=Enemy,scores={MobUUID=$(TargetMobUUID)},distance=..12] run return 1

return 0
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
#> asset:object/1153.flare_butterfly/predicate/near_target/very_near/
#
#
#
# @within function asset:object/1153.flare_butterfly/**

execute store result storage asset:context this.Success int 1 run function asset:object/1153.flare_butterfly/predicate/near_target/very_near/m with storage asset:context this

execute if data storage asset:context this{Success:1} run return 1
execute if data storage asset:context this{Success:0} run return 0
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
#> asset:object/1153.flare_butterfly/predicate/near_target/very_near/m
#
#
#
# @within function asset:object/1153.flare_butterfly/predicate/near_target/very_near/

$execute positioned ~-1.2 ~-1.2 ~-1.2 if entity @e[type=#lib:living_without_player,tag=Enemy,scores={MobUUID=$(TargetMobUUID)},dx=1.4,dy=1.4,dz=1.4] run return 1

return 0
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
#> asset:object/1153.flare_butterfly/register
#
# Objectのデータを指定
#
# @within function asset:object/alias/1153/register

# 継承(オプション)
# data modify storage asset:object Extends append value
# function asset:object/extends
# 他のObjectに継承されることを許可するか (boolean) (オプション)
# data modify storage asset:object ExtendsSafe set value
# 継承されることを前提とした、抽象的なObjectであるかどうか(boolean)
data modify storage asset:object IsAbstract set value false
# Tickするかどうか(boolean) (オプション)
# data modify storage asset:object IsTicking set value

# ID (int)
data modify storage asset:object ID set value 1153
# フィールド(オプション)

# ダメージ・UserID
data modify storage asset:object Field.Damage.Default set value {Min:1,Max:5}
data modify storage asset:object Field.Damage.LowHealthPer set value {Min:6,Max:10}
data modify storage asset:object Field.Damage.UserID set value -1

# 移動速度
data modify storage asset:object Field.ChaseSpeed set value 0.6

# 負荷軽減用のインターバル
data modify storage asset:object Field.SearchInterval._ set value 0
data modify storage asset:object Field.SearchInterval.Max set value 3

# 召喚演出が何tickか?等
data modify storage asset:object Field.SummonMoveTick set value 45
data modify storage asset:object Field.SummonMoveEnded set value false

# 存在時間(召喚が永続化したら要らなくなりそうだが)
data modify storage asset:object Field.Tick set value 445

# 最大追跡時間
data modify storage asset:object Field.ChaseTick._ set value 0
data modify storage asset:object Field.ChaseTick.Max set value 60

# 攻撃発生までのディレイ
data modify storage asset:object Field.AttackDelay._ set value 0
data modify storage asset:object Field.AttackDelay.Max set value 8

# 攻撃のクールダウン
data modify storage asset:object Field.AttackCD._ set value 0
data modify storage asset:object Field.AttackCD.Max set value 30

# 攻撃モードか?
data modify storage asset:object Field.IsAttackMode set value false
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
#> asset:object/1153.flare_butterfly/summon/
#
# Object召喚処理の呼び出し時に実行されるfunction
#
# @within asset:object/alias/1153/summon

# 元となるEntityを召喚する
execute as 0-0-0-0-0 in minecraft:overworld positioned as @s run tp @s ~ ~ ~ ~ 0
data modify storage asset:temp Args.Rotation set from entity 0-0-0-0-0 Rotation
function asset:object/1153.flare_butterfly/summon/m with storage asset:temp Args
data remove storage asset:temp Args
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
#> asset:object/1153.flare_butterfly/summon/m
#
#
#
# @within function asset:object/1153.flare_butterfly/summon/

$summon armor_stand ~ ~ ~ {Tags:["ObjectInit","Friend"],Rotation:$(Rotation),Marker:1b,Invisible:1b,Passengers:[{id:"minecraft:item_display",Rotation:[90f,0f],Tags:["ProcessCommonTag","AutoKillWhenDieVehicle"],teleport_duration:1,brightness:{sky:10,block:10},item:{id:"minecraft:stick",Count:1b,tag:{CustomModelData:20584}},transformation:{left_rotation:[0.1987f,0f,0f,-0.9801f],right_rotation:[0f,0f,0f,1f],scale:[1f,1f,1f],translation:[0f,-0.5f,0f]}}]}
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
#> asset:object/1153.flare_butterfly/tick/
#
# Objectのtick時の処理
#
# @within asset:object/alias/1153/tick

#> Private
# @private
#declare score_holder $UserID

# 演出
function asset:object/1153.flare_butterfly/tick/vfx

# OwnerにTag付与
execute store result score $UserID Temporary run data get storage asset:context this.UserID
execute as @a if score @s UserID = $UserID Temporary run tag @s add 1153.Owner
scoreboard players reset $UserID Temporary

# 召喚時の演出
execute if data storage asset:context this{SummonMoveEnded:false} run function asset:object/1153.flare_butterfly/tick/move/summon_move/

# 移動・追尾・攻撃
execute if data storage asset:context this{SummonMoveEnded:true} run function asset:object/1153.flare_butterfly/tick/move/

# 攻撃のCD
function asset:object/1153.flare_butterfly/tick/attack/cooldown/

# 蝶の向きを調整
execute at @s on passengers run tp @s ~ ~ ~ ~ 0

# リセット
tag @p[tag=1153.Owner] remove 1153.Owner

# 消滅処理
execute store result storage asset:context this.Tick int 0.9999999999 run data get storage asset:context this.Tick
execute if data storage asset:context this{Tick:0} run function asset:object/1153.flare_butterfly/tick/kill
Loading