【Minecraft】バックアップ対象となるファイルの参照【バックアップツール】

バックアップツールに必須となるのは、バックアップの対象が参照できることです。まずは、バックアップ対象を参照する機能を作成します。

エンティティオブジェクト作成

エンティティオブジェクトとは

フォルダー追加

エンティティオブジェクトをまとめるためのフォルダーを作成します。

フォルダー追加方法

クラス(オブジェクト)の追加

バックアップ対象を管理するためのクラス(オブジェクト)を追加します。

 

 

 

 

 

【Minecraft】画面構成を考える【バックアップツール】

アプリケーションを作成するにあたり、画面の構成が分かりやすいのが一番よいなと考えながら作成します。まずは、「操作画面」と「設定画面」をタブ選択で切り替えができるようにします。

タブコントロールを配置

メイン操作画面と設定画面を切り替える方法としてタブ選択がよいかなと考えます。なるべく、1画面に集約した方が使いやすいと個人的には思います。

まずは、ツールボックスから「TabControl」を選択して画面へドラッグアンドドロップします。

ツールボックスの配置方法

配置された「タブコントロール」をサイズを全画面に広げます。画面の角付近になると自動的に配置位置(画面淵からの幅)を調整してくれるのでそのまま配置します。

タブの表示名称を変更

タブの表示名称を変更します。画面に配置されている「タブコントロール」の上にある「TabItem」をクリックします。クリックしたらプロパティの「Header」を編集します。

変更すると以下のようになります。

 

 

 

【Minecraft】バックアップツールの仕様を考える。

マインクラフトをプレイしていていきなりの「クラッシュ」こんな悲劇は繰り返したくないので、まじめに必要機能を考えてみます。

動作要件

WindowsでPC版をプレイしているので対象範囲は以下の通りとします。

  • OS:Windows
  • .NET framework 4.6.1

開発環境

上記、動作要件から以下の開発環境にします。

  • Visual Studio 2017
  • 言語:C# (WPFプロジェクト)
  • ターゲット:.NET framework 4.6.1

機能

実装する機能として欲しいと思うのは以下の通りです。

自動バックアップ機能

定期的なタイミングでセーブデータをバックアップする機能です。

バックアップ履歴管理

セーブデータの世代管理を行う機能です。

バックアップ復元機能

セーブデータを選択して復元する機能です。

制限事項

地形情報が破損した場合、自動バックアップで保存したファイルから復元できない場合はあきらめます。

「level.dat」ファイルが破損した場合、自動バックアップで保存したファイルから復元できない場合は初回にバックアップした状態の「level.dat」から復元することも考慮して、破損時に持っていた持ち物などはあきらめます。