Skip to content

TUSB/TheUnusualSkyBlock-Update

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 

Repository files navigation

TheUnusualSkyBlock-Update

TheUnusualSkyBlockのアップデートデータパック用リポジトリ

ブランチ構成

  • main
    テンプレートブランチ
  • 1-19-4(例)
    MCverごとのテンプレートブランチ
    pack.mcmetaのpack_formatの数値を管理
  • v13-0-1-alpha2(例)
    ブランチ名のバージョンへのアップデート用ファイルが実装されたブランチ

アップデートデータパックの作り方

  1. アップデートの差分をメインリポジトリから取得する
git archive 1-19-4 `git diff --name-only HEAD HEAD~5` -o archive.zip

このようなコマンドを用いて、アップデートで追加・変更があるファイルを取得する。
削除には非対応

削除が含まれている場合は?

アップデート範囲の中にファイルの削除が入っていてエラーを出力する場合がある。
そのとき、削除が削除として記録されず、リネームとして記録されている可能性がある。

git diff --name-status

このコマンドでファイルの変更属性が確認できるが、ここで削除かリネームのどちらとして記録されているか確認する。
その後、git archiveコマンドの中のgit diffコマンドに--diff-filter=rのオプションを追加してリネームされたファイルを除外してアーカイブを作成する。
アーカイブを展開し、リネーム判定されたファイルを追加することで削除にも対応することができる。


  1. アップデート用タグを打つ
    まずは、
data modify storage v13alpha: UpdatingVersion set value {Major:0,Minor:0}

このコマンドが記述されたfunctionファイルを用意する。そのとき、MajorとMinorをアップデートするバージョンに指定しておく。
このfunctionファイルをtags/functionsettings:version_update/checkへ追記する。
replaceがtrueになっている必要がある。

  1. アップデート処理を追加する
    これは任意ではあるが、アップデート時に一回だけ実行したい処理を追加することができる。
execute if data storage v13alpha: {Version:{Major:0}} if score $World Calc matches ..0 run function settings:version_update/update/...

上のものが例である。
このように条件によって処理を実行するfunctionファイルを用意する。
v13alpha: {Version:{Major,Minor}}でアップデートの番号を指定できるほか、$World Calcにはアップデート前のマイナーバージョン値が記録されている。
このfunctionファイルをtags/functionsettings:version_update/updateへ追記する。
replaceはfalseでよい。
条件の先のfunctionでは自由に処理を記述できる。

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published