カスタム進捗アドオン カスタム使い方

スポンサーリンク

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

カスタム進捗アドオン Custom Advancement 1.0.0 beta
...

配布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

死んだ理由が指定したやつならです

minecraft/server.EntityDamageCause Enumeration
Contents of the @minecraft/server.EntityDamageCause enumeration.

ここから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にショートネームを入れればその実績を獲得できます

さいごに

これにて説明は終わります

何かご不明な点がございましたらコメントにてご質問お願いします

※投稿記事に含まれるファイルやリンクにより発生した被害についてクラフターズコロニーは責任を取りません
投稿通報

コメント

コメント通報