Skip to content

Commit

Permalink
✨ [神器775&778] 翡翠装備の頭/足部位の追加
Browse files Browse the repository at this point in the history
  • Loading branch information
haiiro2gou committed Dec 28, 2023
1 parent 6aa3615 commit 8d74601
Show file tree
Hide file tree
Showing 20 changed files with 330 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
#> asset:artifact/0775.jade_armor/give/1.trigger
#
# 神器の取得処理の呼び出し時に実行されるfunction
#
# @within tag/function asset:artifact/give

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

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

# 神器のID (int) スプレッドシートの値を入れる
data modify storage asset:artifact ID set value 775
# 神器のベースアイテム
data modify storage asset:artifact Item set value "minecraft:leather_helmet"
# 神器の名前 (TextComponentString)
data modify storage asset:artifact Name set value '{"text":"翡翠の鎧","color":"#38b48b"}'
# 神器の説明文 (TextComponentString[])
data modify storage asset:artifact Lore set value ['[{"text":"水耐性+5% 水攻撃+5% ","color":"aqua"},{"text":"MP回復量+4% ","color":"green"}]','[{"text":"雷耐性-5%","color":"dark_red"}]','[{"text":"美しい渓流で取れた翡翠で作られた鎧。","color":"#38B48B"}]','[{"text":"装着者は水の加護を得る。","color":"#38B48B"}]']
# MP以外の消費物 (TextComponentString) (オプション)
# data modify storage asset:artifact CostText set value
# 使用回数 (int) (オプション)
# data modify storage asset:artifact RemainingCount set value
# 神器を発動できるスロット (string) Wikiを参照
data modify storage asset:artifact Slot set value "head"
# 神器のトリガー (string) Wikiを参照
data modify storage asset:artifact Trigger set value "equipping"
# 神器の発動条件 (TextComponentString) (オプション)
# data modify storage asset:artifact Condition set value
# 攻撃に関する情報 -Damage量 (literal[]/literal) Wikiを参照 (オプション)
# data modify storage asset:artifact AttackInfo.Damage set value [0,0]
# 攻撃に関する情報 -攻撃タイプ (string[]) Wikiを参照 (オプション)
# data modify storage asset:artifact AttackInfo.AttackType set value [Physical,Magic]
# 攻撃に関する情報 -攻撃属性 (string[]) Wikiを参照 (オプション)
# data modify storage asset:artifact AttackInfo.ElementType set value [Fire,Water,Thunder,None]
# 攻撃に関する情報 -防御無視 (boolean) Wikiを参照 (オプション)
# data modify storage asset:artifact AttackInfo.BypassResist set value
# 攻撃に関する情報 -範囲攻撃 (string) Wikiを参照 (オプション)
# data modify storage asset:artifact AttackInfo.IsRangeAttack set value
# 攻撃に関する情報 -攻撃範囲 (literal) Wikiを参照 (オプション)
# data modify storage asset:artifact AttackInfo.AttackRange set value
# MP消費量 (int)
data modify storage asset:artifact MPCost set value 0
# MP必要量 (int) (オプション)
# data modify storage asset:artifact MPRequire set value
# 神器のクールダウン (int) (オプション)
# data modify storage asset:artifact LocalCooldown set value
# グローバルクールダウン (int) (オプション)
# data modify storage asset:artifact SpecialCooldown set value
# クールダウンによる使用不可のメッセージを非表示にするか否か (boolean) (オプション)
# data modify storage asset:artifact DisableCooldownMessage set value
# 扱える神 (string[]) Wikiを参照
data modify storage asset:artifact CanUsedGod set value ["Flora", "Wi-ki", "Rumor"]
# カスタムNBT (NBTCompound) 追加で指定したいNBT (オプション)
data modify storage asset:artifact CustomNBT set value {HideFlags:68,display:{color:3716235},Unbreakable:1b,AttributeModifiers:[{AttributeName:"generic.armor",Name:"generic.armor",Amount:3.5,Operation:0,UUID:[I;1,1,775,6],Slot:"head"},{AttributeName:"generic.armor_toughness",Name:"generic.armor_toughness",Amount:1,Operation:0,UUID:[I;1,1,775,6],Slot:"head"}]}

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

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

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

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

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

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

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

# 演出
particle dust 0.220 0.706 0.545 1 ~ ~1.7 ~ 0.4 0.2 0.4 1 50 normal
particle rain ~ ~1.7 ~ 0.4 0.2 0.4 0 60 normal @a
playsound entity.player.splash player @a ~ ~ ~ 0.8 1.7 0
playsound block.amethyst_block.hit player @a ~ ~ ~ 0.7 1.5 0

# 水耐性+5%
data modify storage api: Argument.UUID set value [I;1,1,775,6]
data modify storage api: Argument.Amount set value 0.05
data modify storage api: Argument.Operation set value "multiply_base"
function api:modifier/defense/water/add

# 水攻撃+5%
data modify storage api: Argument.UUID set value [I;1,1,775,6]
data modify storage api: Argument.Amount set value 0.05
data modify storage api: Argument.Operation set value "multiply_base"
function api:modifier/attack/water/add

# 雷耐性-5%
data modify storage api: Argument.UUID set value [I;1,1,775,6]
data modify storage api: Argument.Amount set value -0.05
data modify storage api: Argument.Operation set value "multiply_base"
function api:modifier/defense/thunder/add

# MP回復量+4%
data modify storage api: Argument.UUID set value [I;1,1,775,6]
data modify storage api: Argument.Amount set value 0.04
data modify storage api: Argument.Operation set value "multiply_base"
function api:modifier/mp_regen/add
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
#> asset:artifact/0775.jade_armor/trigger/dis_equip/
#
# 装備を外した時に外した部位にのみのidが入った状態でトリガーされる
#
# @within tag/function asset:artifact/dis_equip

execute if data storage asset:context id{head:775} run function asset:artifact/0775.jade_armor/trigger/dis_equip/main
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
#> asset:artifact/0775.jade_armor/trigger/dis_equip/main
#
# 装備を外した時のメイン処理
#
# @within function asset:artifact/0775.jade_armor/trigger/dis_equip/

# 補正削除

# 水耐性+5%
data modify storage api: Argument.UUID set value [I;1,1,775,6]
function api:modifier/defense/water/remove

# 水攻撃+5%
data modify storage api: Argument.UUID set value [I;1,1,775,6]
function api:modifier/attack/water/remove

# 雷耐性-5%
data modify storage api: Argument.UUID set value [I;1,1,775,6]
function api:modifier/defense/thunder/remove

# MP回復量+4%
data modify storage api: Argument.UUID set value [I;1,1,775,6]
function api:modifier/mp_regen/remove
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
#> asset:artifact/0778.jade_armor/give/1.trigger
#
# 神器の取得処理の呼び出し時に実行されるfunction
#
# @within tag/function asset:artifact/give

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

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

# 神器のID (int) スプレッドシートの値を入れる
data modify storage asset:artifact ID set value 778
# 神器のベースアイテム
data modify storage asset:artifact Item set value "minecraft:leather_boots"
# 神器の名前 (TextComponentString)
data modify storage asset:artifact Name set value '{"text":"翡翠の鎧","color":"#38b48b"}'
# 神器の説明文 (TextComponentString[])
data modify storage asset:artifact Lore set value ['[{"text":"水耐性+5% 水攻撃+5% ","color":"aqua"},{"text":"MP回復量+4% ","color":"green"}]','[{"text":"雷耐性-5%","color":"dark_red"}]','[{"text":"美しい渓流で取れた翡翠で作られた鎧。","color":"#38B48B"}]','[{"text":"装着者は水の加護を得る。","color":"#38B48B"}]']
# MP以外の消費物 (TextComponentString) (オプション)
# data modify storage asset:artifact CostText set value
# 使用回数 (int) (オプション)
# data modify storage asset:artifact RemainingCount set value
# 神器を発動できるスロット (string) Wikiを参照
data modify storage asset:artifact Slot set value "feet"
# 神器のトリガー (string) Wikiを参照
data modify storage asset:artifact Trigger set value "equipping"
# 神器の発動条件 (TextComponentString) (オプション)
# data modify storage asset:artifact Condition set value
# 攻撃に関する情報 -Damage量 (literal[]/literal) Wikiを参照 (オプション)
# data modify storage asset:artifact AttackInfo.Damage set value [0,0]
# 攻撃に関する情報 -攻撃タイプ (string[]) Wikiを参照 (オプション)
# data modify storage asset:artifact AttackInfo.AttackType set value [Physical,Magic]
# 攻撃に関する情報 -攻撃属性 (string[]) Wikiを参照 (オプション)
# data modify storage asset:artifact AttackInfo.ElementType set value [Fire,Water,Thunder,None]
# 攻撃に関する情報 -防御無視 (boolean) Wikiを参照 (オプション)
# data modify storage asset:artifact AttackInfo.BypassResist set value
# 攻撃に関する情報 -範囲攻撃 (string) Wikiを参照 (オプション)
# data modify storage asset:artifact AttackInfo.IsRangeAttack set value
# 攻撃に関する情報 -攻撃範囲 (literal) Wikiを参照 (オプション)
# data modify storage asset:artifact AttackInfo.AttackRange set value
# MP消費量 (int)
data modify storage asset:artifact MPCost set value 0
# MP必要量 (int) (オプション)
# data modify storage asset:artifact MPRequire set value
# 神器のクールダウン (int) (オプション)
# data modify storage asset:artifact LocalCooldown set value
# グローバルクールダウン (int) (オプション)
# data modify storage asset:artifact SpecialCooldown set value
# クールダウンによる使用不可のメッセージを非表示にするか否か (boolean) (オプション)
# data modify storage asset:artifact DisableCooldownMessage set value
# 扱える神 (string[]) Wikiを参照
data modify storage asset:artifact CanUsedGod set value ['Flora', 'Wi-ki', 'Rumor']
# カスタムNBT (NBTCompound) 追加で指定したいNBT (オプション)
data modify storage asset:artifact CustomNBT set value {HideFlags:68,display:{color:3716235},Unbreakable:1b,AttributeModifiers:[{AttributeName:"generic.armor",Name:"generic.armor",Amount:3.5,Operation:0,UUID:[I;1,1,778,3],Slot:"feet"},{AttributeName:"generic.armor_toughness",Name:"generic.armor_toughness",Amount:1,Operation:0,UUID:[I;1,1,778,3],Slot:"feet"}]}

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

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

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

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

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

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

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

# 演出
particle dust 0.220 0.706 0.545 1 ~ ~0.2 ~ 0.4 0.2 0.4 1 50 normal
particle rain ~ ~0.2 ~ 0.4 0.2 0.4 0 60 normal @a
playsound entity.player.splash player @a ~ ~ ~ 0.8 1.7 0
playsound block.amethyst_block.hit player @a ~ ~ ~ 0.7 1.5 0

# 水耐性+5%
data modify storage api: Argument.UUID set value [I;1,1,778,3]
data modify storage api: Argument.Amount set value 0.05
data modify storage api: Argument.Operation set value "multiply_base"
function api:modifier/defense/water/add

# 水攻撃+5%
data modify storage api: Argument.UUID set value [I;1,1,778,3]
data modify storage api: Argument.Amount set value 0.05
data modify storage api: Argument.Operation set value "multiply_base"
function api:modifier/attack/water/add

# 雷耐性-5%
data modify storage api: Argument.UUID set value [I;1,1,778,3]
data modify storage api: Argument.Amount set value -0.05
data modify storage api: Argument.Operation set value "multiply_base"
function api:modifier/defense/thunder/add

# MP回復量+4%
data modify storage api: Argument.UUID set value [I;1,1,778,3]
data modify storage api: Argument.Amount set value 0.04
data modify storage api: Argument.Operation set value "multiply_base"
function api:modifier/mp_regen/add
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
#> asset:artifact/0778.jade_armor/trigger/dis_equip/
#
# 装備を外した時に外した部位にのみのidが入った状態でトリガーされる
#
# @within tag/function asset:artifact/dis_equip

execute if data storage asset:context id{feet:778} run function asset:artifact/0778.jade_armor/trigger/dis_equip/main
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
#> asset:artifact/0778.jade_armor/trigger/dis_equip/main
#
# 装備を外した時のメイン処理
#
# @within function asset:artifact/0778.jade_armor/trigger/dis_equip/

# 補正削除

# 水耐性+5%
data modify storage api: Argument.UUID set value [I;1,1,778,3]
function api:modifier/defense/water/remove

# 水攻撃+5%
data modify storage api: Argument.UUID set value [I;1,1,778,3]
function api:modifier/attack/water/remove

# 雷耐性-5%
data modify storage api: Argument.UUID set value [I;1,1,778,3]
function api:modifier/defense/thunder/remove

# MP回復量+4%
data modify storage api: Argument.UUID set value [I;1,1,778,3]
function api:modifier/mp_regen/remove
2 changes: 2 additions & 0 deletions Asset/data/asset/tags/functions/artifact/dis_equip.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
{
"values": [
"asset:artifact/0775.jade_armor/trigger/dis_equip/",
"asset:artifact/0778.jade_armor/trigger/dis_equip/",
"asset:artifact/0690.steam_core/trigger/dis_equip/",
"asset:artifact/0724.oblivious_snow/trigger/dis_equip/",
"asset:artifact/0725.oblivious_snow/trigger/dis_equip/",
Expand Down
2 changes: 2 additions & 0 deletions Asset/data/asset/tags/functions/artifact/equip.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
{
"values": [
"asset:artifact/0775.jade_armor/trigger/1.trigger",
"asset:artifact/0778.jade_armor/trigger/1.trigger",
"asset:artifact/0690.steam_core/trigger/1.trigger",
"asset:artifact/0724.oblivious_snow/trigger/1.trigger",
"asset:artifact/0725.oblivious_snow/trigger/1.trigger",
Expand Down
2 changes: 2 additions & 0 deletions Asset/data/asset/tags/functions/artifact/give.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
{
"values": [
"asset:artifact/0775.jade_armor/give/1.trigger",
"asset:artifact/0778.jade_armor/give/1.trigger",
"asset:artifact/0719.sword_of_divine_sound/give/1.trigger",
"asset:artifact/0690.steam_core/give/1.trigger",
"asset:artifact/0724.oblivious_snow/give/1.trigger",
Expand Down
2 changes: 2 additions & 0 deletions Asset/data/asset/tags/functions/artifact/register.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
{
"values": [
"asset:artifact/0775.jade_armor/register",
"asset:artifact/0778.jade_armor/register",
"asset:artifact/0719.sword_of_divine_sound/register",
"asset:artifact/0690.steam_core/register",
"asset:artifact/0724.oblivious_snow/register",
Expand Down

0 comments on commit 8d74601

Please sign in to comment.