攻撃性アイテムの基礎スペックを設定できるNBT

【やりたいこと(要望)】 攻撃力、攻撃速度、所持状態での重量?などを設定できるNBTのテンプレを教えていただけないでしょうか。 変数を利用して数値を代入することで自由にスペックを変えられるのが理想です。 【最終的な目標実装】 YAMLファイルから情報を取り、スペックを反映した武器を作成 (想定しているYAMLファイルのテンプレ)
name: "temp",
spec: {
attack: 0,
speed: 0,
weight: 0
}
name: "temp",
spec: {
attack: 0,
speed: 0,
weight: 0
}
【基礎情報】 ver1.12.2 PRではありません。 必要プラグインは言ってくだされば入れますが、該当しそうなのだと1.10対応のskBee入れてます。
8 Replies
tanoKun
tanoKun3y ago
上ほんとにymlか? 普通にそれぞれ名前つけてファンクション作ればいいと思います
月猫ch
月猫chOP3y ago
すみません。NBT基礎の基礎も理解してなくて、、、 可能なら攻撃力・攻撃速度・重量 の三項目を設定できるNBTのテンプレを教えていただけないでしょうか💦
mirageeeeeeeeeeeeeeeeeeeeeeeeeee
mcstacker等で設定したい項目に適当な数字入れると 分かりやすいからおすすめ
/give @p minecraft:iron_sword 1 0 {AttributeModifiers:[{AttributeName:"generic.attackDamage",Name:"generic.attackDamage",Amount:99,Operation:0,UUIDLeast:312092,UUIDMost:121895},{AttributeName:"generic.attackSpeed",Name:"generic.attackSpeed",Amount:0.99,Operation:0,UUIDLeast:196361,UUIDMost:100164}]}
/give @p minecraft:iron_sword 1 0 {AttributeModifiers:[{AttributeName:"generic.attackDamage",Name:"generic.attackDamage",Amount:99,Operation:0,UUIDLeast:312092,UUIDMost:121895},{AttributeName:"generic.attackSpeed",Name:"generic.attackSpeed",Amount:0.99,Operation:0,UUIDLeast:196361,UUIDMost:100164}]}
攻撃力と攻撃速度はmodifiersっていう項目でいじる コマンド中のAmount:がその数値なので、実際に武器化する時はその部分に任意の数値を代入する
月猫ch
月猫chOP3y ago
ありがとうございます( •̥ࡇ•̥ )‎ とりあえず試すまでフォーラムは維持させて頂きます…
mirageeeeeeeeeeeeeeeeeeeeeeeeeee
ところでnbtは自分で好きなように追加(作成)できるので、例えば今回の重量という概念を追加したい場合
#nbtを追加
set {_item} to iron sword
add "{weight:5}" to nbt of {_item}

#nbtの値を取得
set {_weight} to tag "weight" of nbt of {_item}
#nbtを追加
set {_item} to iron sword
add "{weight:5}" to nbt of {_item}

#nbtの値を取得
set {_weight} to tag "weight" of nbt of {_item}
と言ったことが出来る
月猫ch
月猫chOP3y ago
なるほど。。。んで所持時に{_weight}を参照して移動速度を操作するんですかね、、、
mirageeeeeeeeeeeeeeeeeeeeeeeeeee
on tool change:
set {_speed} to getWeight(player's tool)*0.05
set player's walk speed to {_speed}

command /setWeight <number>:
trigger:
setWeight(player's tool, arg-1)

function getWeight(item: item) :: number:
set {_weight} to tag "weight" of nbt of {_item}
return {_weight}

function setWeight(item: item, value: number):
set tag "weight" of nbt of {_item} tp {_value}
on tool change:
set {_speed} to getWeight(player's tool)*0.05
set player's walk speed to {_speed}

command /setWeight <number>:
trigger:
setWeight(player's tool, arg-1)

function getWeight(item: item) :: number:
set {_weight} to tag "weight" of nbt of {_item}
return {_weight}

function setWeight(item: item, value: number):
set tag "weight" of nbt of {_item} tp {_value}
とかかな? 最近sk書いてなくて覚えてないな
月猫ch
月猫chOP3y ago
できました(´;ω;`) ひとまず目的の処理はできたので解決済みにさせていただきます
Want results from more Discord servers?
Add your server