リンクから来てない人はしたリンクを見てください

配布ZIPから作る方
zipを解凍して、example/manifest.jsonをメモ帳やVSCなどのコードエディタで開きます
{
"format_version": 2,
"header": {
"name": "Example",
"description": "Example",
"uuid": "69ae9dc1-63b4-4315-9465-fa0908542967",//適当なuuid
"version": [ 1, 0, 0 ],
"min_engine_version": [ 1, 20, 60 ]
},
"modules": [
{
"description": "data",
"type": "data",
"uuid": "14f9ae8d-1352-4c74-ae61-3b535bffbe39",//適当なuuid
"version": [1, 0, 0]
},
{
"description": "",
"type": "script",
"language": "javascript",
"uuid": "4712a9c2-def8-4cf8-b95d-5f2da09a3b8d",//適当なuuid
"entry": "scripts/main.js",
"version": [ 1, 0, 0 ]
}
],
"dependencies": [
{
"module_name": "@minecraft/server",
"version": "2.0.0"
},
{
"module_name": "@minecraft/server-ui",
"version": "2.0.0"
}
]
}
nameにアドオン名 descriptionに説明入れて適当なuuid入れてください(すべて違うuuid)
自分のアドオンに追加する方
上のコードの”entry”:””←指定のファイルを開いてください
import {} from "./Advancement/DontTouch/sendData"
import {} from "./Advancement/advancement"
これを文頭に設置してください
つぎにzipファイルのExample/scriptsを開いてAdvancementをコピーして自分のscriptsフォルダにペーストしてください
2.進捗Dataの書き方
Advancement/AdvanceDataフォルダを開いてください
export const AdvancementData =
{
"example":{
challenge:false,//挑戦か進捗か
short://ないならからの配列に
{
getItem:{"minecraft:apple":1},//リンゴが一個持っているとき達成
/*
getItem:{"minecraft:netherite_helmet":1,"minecraft:netherite_chestplate":1,"minecraft:netherite_leggings":1,"minecraft:netherite_boots":1},
all:true//全部持っていないといけないか,falseなら一個でも持っていれば
*/
/*
kill:{entity:エンティティのID minecraft:からはじまる,death:死んだ理由}
*/r
cate:"Minecraft"//カテゴリー名 このアドオンのカテゴリーはMinecraft,ネザー,エンド
}
},
"next":{//次の作るときnextじゃないといけないわけじゃないです
challenge:true,
short:{},
cate:"ネザー"
}
};
ショートネーム
exampleとして本文では書いてますが半角英数字ならなんでもいいです。これは全部に共通する進捗のショートネームです。コーディングのみに使うので実際には表示されません
challenge
その実績が実績か挑戦かみるやつです。
short
コーディングしなくて楽にするようです
現在二種類あります
getItem
getItem:{"minecraft:apple":1},
short内にこれを入れるとリンゴを一個持ってるとその実績解除になります
getItem:{"minecraft:iron_ingot":1,"minecraft:diamond":1},
all:true//trueならすべて持ってないとならない
アイテム複数選択可能です(複数入れるときはallをshort内に入れてください)
allのtrue/falseですべて持つか、どれか持つか選べます
kill
エンティティを倒したら実行です
entity
どのエンティティを倒すかの指定です
minecraft:から始まるidです
death
死んだ理由が指定したやつならです

ここからstringで出してください
cate
カテゴリー名です
このアドオンには「Minecraft」 「ネザー」 「エンド」のカテゴリーがありますが 自分で入れたらそのカテゴリーが新たに作られます
3.langの書き方
export const lang =
{
"example":{
name:"例",//実際に表記する名前
description:"説明"//説明
},
}
ショートネーム
前述したものと同じものを記してください
name
実際に表示される名前です
description
/adで表示される説明文です
4.adの書き方
import { world ,system} from "@minecraft/server";
import { getAdvancement } from "./DontTouch/sendData";
//いつものmain.jsみたいに書く
//getAdvancement(name,player) name = 進捗のショートネーム
system.runInterval(()=>
{
for(const player of world.getAllPlayers())
{
if(player.dimension.id === "minecraft:nether") getAdvancement("enter_the_nether",player)//「さらなる深み」へを入手
if(player.dimension.id === "minecraft:end") getAdvancement("enter_the_end",player)//「おしまい?」を入手
}
},5)
上のコードの通りです
import { getAdvancement } from "./DontTouch/sendData";
このコード消さなければ何かいてもいいです
普段の指定ファイルみたいに使います
getAdvancement(name,player)
関数です
nameにショートネームを入れればその実績を獲得できます
さいごに
これにて説明は終わります
何かご不明な点がございましたらコメントにてご質問お願いします
コメント