Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

✨ [神器1017] 終わりなき静かのカトラスを作成 #1272

Open
wants to merge 13 commits into
base: master
Choose a base branch
from
Open
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
#> asset:sacred_treasure/1017.cutlass_of_endless_silence/give/1.trigger
#
# 神器の取得処理の呼び出し時に実行されるfunction
#
# @within tag/function asset:sacred_treasure/give

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

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

# 神器のID (int) スプレッドシートの値を入れる
data modify storage asset:sacred_treasure ID set value 1017
# 神器のベースアイテム
data modify storage asset:sacred_treasure Item set value "minecraft:carrot_on_a_stick"
# 神器の名前 (TextComponentString)
data modify storage asset:sacred_treasure Name set value '{"text":"終わり無き静かのカトラス","color":"gold","bold":true,"underlined":true}'
# 神器の説明文 (TextComponentString[])
data modify storage asset:sacred_treasure Lore set value ['{"text":"二回斬撃を放つ"}','{"text":"地面を叩きつけ、地上にいる敵を打ち上げる"}']
# MP以外の消費物 (TextComponentString) (オプション)
# data modify storage asset:sacred_treasure CostText set value
# 使用回数 (int) (オプション)
# data modify storage asset:sacred_treasure RemainingCount set value
# 神器を発動できるスロット (string) Wikiを参照
data modify storage asset:sacred_treasure Slot set value "auto"
# 神器のトリガー (string) Wikiを参照
data modify storage asset:sacred_treasure Trigger set value onClick
quikku marked this conversation as resolved.
Show resolved Hide resolved
# 神器の発動条件 (TextComponentString) (オプション)
# data modify storage asset:sacred_treasure Condition set value
# 攻撃に関する情報 -Damage量 (literal[]/literal) Wikiを参照 (オプション)
data modify storage asset:sacred_treasure AttackInfo.Damage set value [80,400]
# 攻撃に関する情報 -攻撃タイプ (string[]) Wikiを参照 (オプション)
data modify storage asset:sacred_treasure AttackInfo.AttackType set value [Magic]
# 攻撃に関する情報 -攻撃属性 (string[]) Wikiを参照 (オプション)
data modify storage asset:sacred_treasure AttackInfo.ElementType set value [None]
# 攻撃に関する情報 -防御無視 (boolean) Wikiを参照 (オプション)
# data modify storage asset:sacred_treasure AttackInfo.BypassResist set value
# 攻撃に関する情報 -範囲攻撃 (string) Wikiを参照 (オプション)
data modify storage asset:sacred_treasure AttackInfo.IsRangeAttack set value every
quikku marked this conversation as resolved.
Show resolved Hide resolved
# 攻撃に関する情報 -攻撃範囲 (literal) Wikiを参照 (オプション)
data modify storage asset:sacred_treasure AttackInfo.AttackRange set value 4
# MP消費量 (int)
data modify storage asset:sacred_treasure MPCost set value 30
# MP必要量 (int) (オプション)
# data modify storage asset:sacred_treasure MPRequire set value
# 神器のクールダウン (int) (オプション)
data modify storage asset:sacred_treasure LocalCooldown set value 40
# グローバルクールダウン (int) (オプション)
# data modify storage asset:sacred_treasure SpecialCooldown set value
# クールダウンによる使用不可のメッセージを非表示にするか否か (boolean) (オプション)
# data modify storage asset:sacred_treasure DisableCooldownMessage set value
# MP不足による使用不可のメッセージを非表示にするか否か (boolean) (オプション)
# data modify storage asset:sacred_treasure DisableMPMessage set value
# 扱える神 (string[]) Wikiを参照
data modify storage asset:sacred_treasure CanUsedGod set value ALL
quikku marked this conversation as resolved.
Show resolved Hide resolved
# カスタムNBT (NBTCompound) 追加で指定したいNBT (オプション)
# data modify storage asset:sacred_treasure CustomNBT set value {}

# 神器の入手用function
function asset:sacred_treasure/common/give
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
#> asset:sacred_treasure/1017.cutlass_of_endless_silence/trigger/0.load
#
# 神器に利用するスコアボード等の初期化処理
#
# @within tag/function asset:sacred_treasure/load

#> 定義類はここに
# @within function asset:sacred_treasure/1017.cutlass_of_endless_silence/trigger/**
scoreboard objectives add S9.Time dummy
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
#> asset:sacred_treasure/1017.cutlass_of_endless_silence/trigger/1.trigger
#
# 指定したイベントタイミングで実行されるfunction
#
# @within tag/function asset:sacred_treasure/**

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

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

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

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

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

# タグを与える
tag @s add S9.Activation

# スケジュールを開始する
schedule function asset:sacred_treasure/1017.cutlass_of_endless_silence/trigger/schedule 1t replace
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
#> asset:sacred_treasure/1017.cutlass_of_endless_silence/trigger/4.slash
#
#
#
# @within function asset:sacred_treasure/1017.cutlass_of_endless_silence/trigger/schedule

# スコア増やす
scoreboard players add @s S9.Time 1

# 斬る
execute if score @s S9.Time matches 1 run function asset:sacred_treasure/1017.cutlass_of_endless_silence/trigger/5.slash_first



# 衝撃波
execute if score @s S9.Time matches 10 run function asset:sacred_treasure/1017.cutlass_of_endless_silence/trigger/6.slash_second



# スコア一定になったらタグ消す
execute if score @s S9.Time matches 10 run tag @s remove S9.Activation
execute if score @s S9.Time matches 10 run scoreboard players reset @s S9.Time
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
#> asset:sacred_treasure/1017.cutlass_of_endless_silence/trigger/5.slash_first
#
#
#
# @within function asset:sacred_treasure/1017.cutlass_of_endless_silence/trigger/4.slash

# パーティクル
execute positioned ^0.3 ^0.8 ^1 run function asset:sacred_treasure/1017.cutlass_of_endless_silence/trigger/vfx

playsound minecraft:item.trident.return player @a ~ ~ ~ 1 2

# タグ付与
execute positioned ^ ^ ^1 run tag @e[type=#lib:living,tag=Enemy,tag=!Uninterferable,distance=..2] add Hit
execute positioned ^ ^ ^2 run tag @e[type=#lib:living,tag=Enemy,tag=!Uninterferable,distance=..2] add Hit

# ダメージ設定
# 与えるダメージ
data modify storage lib: Argument.Damage set value 400.0f
# 魔法属性
data modify storage lib: Argument.AttackType set value "Physical"
# 無属性
data modify storage lib: Argument.ElementType set value "None"
# ダメージ
function lib:damage/modifier
execute as @e[type=#lib:living,tag=Enemy,tag=Hit,tag=!Uninterferable,distance=..5] at @s run function lib:damage/
# リセット
function lib:damage/reset
tag @e[type=#lib:living,tag=Enemy,tag=Hit,tag=!Uninterferable,distance=..10] remove Hit
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
#> asset:sacred_treasure/1017.cutlass_of_endless_silence/trigger/6.slash_second
#
#
#
# @within function asset:sacred_treasure/1017.cutlass_of_endless_silence/trigger/4.slash

# パーティクル
execute positioned ^ ^ ^1 run function asset:sacred_treasure/1017.cutlass_of_endless_silence/trigger/vfx2

# 演出
playsound minecraft:item.trident.return player @a ~ ~ ~ 1 2

# タグ付与
execute positioned ^ ^ ^1 run tag @e[type=#lib:living,tag=Enemy,tag=!Uninterferable,distance=..2] add Hit
execute positioned ^ ^ ^2 run tag @e[type=#lib:living,tag=Enemy,tag=!Uninterferable,distance=..2] add Hit

# ダメージ設定
# 与えるダメージ
data modify storage lib: Argument.Damage set value 400.0f
# 魔法属性
data modify storage lib: Argument.AttackType set value "Physical"
# 無属性
data modify storage lib: Argument.ElementType set value "None"
# ダメージ
function lib:damage/modifier
execute as @e[type=#lib:living,tag=Enemy,tag=Hit,tag=!Uninterferable,distance=..5] at @s run function lib:damage/
# リセット
function lib:damage/reset
tag @e[type=#lib:living,tag=Enemy,tag=Hit,tag=!Uninterferable,distance=..10] remove Hit

# 地面にいるやつをうちあげ

# 与えるダメージ
data modify storage lib: Argument.Damage set value 100.0f
# 魔法属性
data modify storage lib: Argument.AttackType set value "Physical"
# 無属性
data modify storage lib: Argument.ElementType set value "None"
# ダメージ
function lib:damage/modifier
execute as @e[type=#lib:living,tag=Enemy,tag=!Uninterferable,nbt={OnGround:1b},distance=..20] run function lib:damage/
# 上空へ飛ばす
execute as @e[type=#lib:living,tag=Enemy,tag=!Uninterferable,nbt={OnGround:1b},distance=..20] at @s run summon area_effect_cloud ~ ~ ~ {Duration:14,Age:4,Effects:[{Id:25,Amplifier:80b,Duration:3,ShowParticles:0b},{Id:11,Amplifier:127b,Duration:1,ShowParticles:0b},{Id:7,Amplifier:0b,Duration:1,ShowParticles:0b}]}
# リセット
function lib:damage/reset
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
#> asset:sacred_treasure/1017.cutlass_of_endless_silence/trigger/_index.d
# @private

#> tag
# @within function asset:sacred_treasure/1017.cutlass_of_endless_silence/trigger/**
#declare tag S9.Activation
#declare tag Hit
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
#> asset:sacred_treasure/1017.cutlass_of_endless_silence/trigger/rejoin_process
#
# 使い方は必ずwikiを見ること
#
# @within tag/function asset:rejoin

# ループさせる
execute if entity @a[tag=S9.Activation] run schedule function asset:sacred_treasure/1017.cutlass_of_endless_silence/trigger/schedule 1t replace
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
#> asset:sacred_treasure/1017.cutlass_of_endless_silence/trigger/schedule
#
#
#
# @within function
# asset:sacred_treasure/1017.cutlass_of_endless_silence/trigger/3.main
# asset:sacred_treasure/1017.cutlass_of_endless_silence/trigger/schedule
# asset:sacred_treasure/1017.cutlass_of_endless_silence/trigger/rejoin_process

# ファンクションを実行する
execute as @a[tag=S9.Activation] at @s run function asset:sacred_treasure/1017.cutlass_of_endless_silence/trigger/4.slash

# ループする
execute if entity @a[tag=S9.Activation] run schedule function asset:sacred_treasure/1017.cutlass_of_endless_silence/trigger/schedule 1t replace
Loading