コンテンツの作成
ビルドの作成
BetterStructures用に作成できるものに制限はありませんが、一般的なワールドへの収まりとパフォーマンス上の理由から、構造物のサイズは100x100x100ブロック以下に保つことを推奨します。とはいえ、それよりはるかに大きな構造物も問題なく扱えます。
特殊ブロック
BetterStructuresには2つの特殊ブロックがあります:バリアと岩盤です。WorldEditが貼り付けられる他のブロックは通常通り貼り付けられますが、バリアと岩盤のブロックは例外です。
| ブロック | 挙動 | 使用例 |
|---|---|---|
| バリア | その場所にブロックを配置しない - 元の地形を保持 | 貼り付けの端を丸める、洞窟に合わせて壁を成形、自然な統合 |
| 岩盤 | 確実に固体ブロックが存在することを保証。空気/液体の場合はペデスタルマテリアルで置き換え | レール用の床を作成、既存のブロックを上書きせずに床の存在を保証 |
スポーンサイン
BetterStructuresは特定のテキストを持つサインを使用して、EliteMobsやMythicMobsのモブやボスを特定の場所にスポーンさせることができます。
注:スポーンサインは構造物の貼り付け時に消費されます。BetterStructuresはエンティティをスポーンさせた時点で看板ブロックを空気に置き換えるため、プレイヤーが看板を目にすることはありません。タグが認識されなかった看板は、単に通常の看板として貼り付けられ、そのまま残ります。
| サインタイプ | 1行目 | 2-4行目 | 必要なプラグイン |
|---|---|---|---|
| バニラモブ | [spawn] | 2行目にEntity type | なし |
| EliteMobs | [elitemobs] | ボスのファイル名(2〜4行目にまたがって記述) | EliteMobs |
| MythicMobs | [mythicmobs] | 2行目にモブ名、3行目に任意でレベル | MythicMobs |
どの看板でも動作します。 すべての木材種類と、立て看板・壁掛け看板の両方が受け付けられます。吊り看板や、プラグインの作成後に追加された木材種類の看板も含まれます — チェックは固定の素材リストではなく、そのブロックが看板であるかどうかで行われます。
MythicMobsのレベル行は任意です。 3行目を空にすると、モブはレベル1でスポーンします。
スポーンサインの例
バニラモブ
[spawn]
ZOMBIE
その場所に永続的なゾンビをスポーンさせます。アーマースタンドやエンダークリスタルを含む、任意のSpigot EntityTypeで動作します。
EliteMobs
[elitemobs]
test_boss_with
_a_long_name
.yml
長いファイル名は複数行にまたがることができます。戦闘アリーナはすべてのボスが倒されるまでWorldGuardによって保護されます。
MythicMobs
[mythicmobs]
SkeletalKnight
10
レベル10のSkeletalKnightをスポーンさせます。
スキマティック
スキマティックは、WorldEditまたはFastAsyncWorldEditによって生成されるファイルで、BetterStructuresが使用するビルドのブロックが含まれています。 BetterStructuresは.schemファイル形式(最新のWorldEdit標準)を使用します。スキマティックは、レガシーの.schematic形式ではなく、必ず.schem形式で保存してください。
スキマティックの作成方法の詳細はここには含まれません。WorldEditおよびFastAsyncWorldEditのドキュメントで十分に詳しく説明されているためです。ただし、一般的には以下のように行います:
- ビルドの角を選び、
//pos1コマンドを使用します - 対角線上の反対側の角を選び、
//pos2コマンドを使用します //copyコマンドを使用します/schem save <schematicname>コマンドを使用します。<schematicName>はスキマティックに使用したいファイル名です。
ポイント1で//pos1、ポイント2で//pos2コマンドを必ず実行してください!
アンカーポイント
アンカーポイントは、スキマティックに対して//copyコマンドを実行する位置です。これらは、ワールドに配置された際の構造物の原点を決定します。
| ビルドタイプ | 推奨アンカー位置 | 理由 |
|---|---|---|
| 地表 | 床の最低点 | 適切な地面との位置合わせを保証 |
| 地下 | ビルドの上部 | 正しい埋没深度の決定を可能にする |
| 液体 | 水面上 | 適切な水面配置 |
| 空中/上空 | ビルドの上部 | 正しい高度位置決め |
重要: コピーする際は、必ずビルドに非常に近いか、または真上にいてください。遠くにいるほど、貼り付け操作は重くなります。
スキマティック設定
すべてのスキマティックファイルにはスキマティック設定があります。スキマティックファイルがサーバーに追加されたばかりの場合、設定はサーバー再起動または/betterstructures reloadの後に生成されます。
.yml は .schem と同じフォルダ内に生成されます。plugins/BetterStructures/schematics は再帰的にスキャンされるため、スキマティックをサブフォルダで配布するコンテンツパックの設定は、その同じサブフォルダに書き込まれます。ファイル名は schematics ツリー全体で一意である必要があります。異なるフォルダに同じ名前の .schem ファイルが2つあると設定の検索が曖昧になるため、BetterStructuresはどちらを意図したのかを推測するのではなく起動を拒否するようになりました。
対応する .schem のない .yml は警告とともにスキップされ、その構造物は登録されません。
これらの設定では、スキマティックの貼り付けに関する以下の設定を構成できます:
| キー | デフォルト | 必須 | 説明 |
|---|---|---|---|
isEnabled | true | ❌ | スキマティックが有効かどうか。無効の場合、どこにも配置されません。 |
weight | 1.0 | ❌ | 選択ウェイト。高いほど選ばれやすい。2.0 = 2倍の確率、0.5 = 半分の確率。 |
pedestalMaterial | 自動検出 | ❌ | ペデスタルブロックのマテリアル(Spigot Material名)。設定されていない場合は最適なものを自動検出。 |
generatorConfigFilename | - | ✅ | .yml拡張子を含むジェネレーター設定ファイル名。これがないスキマティックはスポーンしません。 |
treasureFile | ジェネレーターのデフォルト | ❌ | この構造物のチェスト用にトレジャーファイルを上書き。一般的にはジェネレーター側を変更する方が良いでしょう。 |
barrelTreasureFilename | ジェネレーターのデフォルト | ❌ | この構造物の樽用にトレジャーファイルを上書き。デフォルトはジェネレーター(またはそのフォールバックであるtreasure_barrel_food.yml)が提供するものになります。 |
戦利品コンテナ: BetterStructuresは、スキマティック内に配置されたチェスト、トラップ付きチェスト、および無着色のシュルカーボックスを自動的に検出し、チェスト用トレジャーファイルで満たします。樽は別途、樽用トレジャーファイル(デフォルトtreasure_barrel_food.yml)を使用して満たされ、generateLootInBarrels: falseによりジェネレーター単位で無効化できます。これらのコンテナをマークするための特別なサインや設定は必要ありません。
無効化されたジェネレーター: generatorConfigFilename が指すジェネレーターの isEnabled が false の場合、スキマティック自身の isEnabled が true であってもそのスキマティックは完全にスキップされます。
設定の詳細
pedestalMaterial
ペデスタルは、地表/地下のビルドの下に配置されるブロックで、空気の隙間を埋め、地形との統合を改善します。これらはスキマティック内の岩盤ブロックを置き換えるブロックでもあります。
何も定義されていない場合、プラグインは構造物の配置場所の下にあるブロックを分析し、ウェイトベースのランダム選択を使用して最も一般的なマテリアルタイプを選択します。デフォルト:ネザー = ネザーラック、エンド = エンドストーン、その他 = 石。
generatorConfigFilename
例:generatorConfigFilename: generator_surface_global.yml
ジェネレーターファイルはジェネレーター設定フォルダー内にあります。
treasureFile
詳細についてはトレジャーファイルのドキュメントおよびジェネレータードキュメントを参照してください。
コンテンツのカスタマイズ
BetterStructuresで配布されているものはすべて編集可能です。スキマティックファイルやジェネレーター設定を好みに合わせて変更できます。
上記のコンテンツ作成ガイドは、既存のコンテンツを編集する際にも役立つガイドです。
トラブルシューティング
構造物がスポーンしない場合は、以下を確認してください:
- スキマティックファイルが.schem形式であること
- 有効なジェネレーター設定が指定されていること
- isEnabledオプションが、スキマティック設定とそれが参照するジェネレーターの両方でtrueに設定されていること
- WorldEdit/FastAsyncWorldEditのバージョンが互換性があること
- スキマティックの
.ymlが.schemの隣にあり、plugins/BetterStructures/plugins/BetterStructures/...のような不正なツリーに入っていないこと。古いビルドは設定をその誤ったパスに書き込んでおり、その結果、配布された構造物にジェネレーターが割り当てられず、静かにスポーンしなくなっていました。そのフォルダが見つかった場合、中の設定は一度も読まれていません — 削除して、プラグインに正しい場所で設定を再生成させてください。
スキマティックのファイル名が重複しているというメッセージでサーバーが起動を拒否する場合、schematics(または modules)配下の異なるフォルダに同じ .schem 名が存在しています。どちらかをリネームしてください。
.schematic_cache フォルダ
BetterStructuresは、変換済みのスキマティックのコピーを plugins/BetterStructures/.schematic_cache に保持します。配布される .schem ファイルは古いMinecraftデータバージョンで保存されており、起動のたびに変換するのはフルのコンテンツ環境を読み込む際に最も高コストな処理であるため、変換結果を保存して再利用します。
このフォルダを管理する必要はありません:
- エントリはスキマティックの内容、Minecraftのバージョン、WorldEditのバージョンをキーとするため、スキマティックを編集したりどちらかのプラグインを更新したりすると、該当するエントリは自動的に再構築されます
- どのスキマティックにも一致しなくなったエントリ(コンテンツパックを削除した後など)は起動時に整理されます
- あくまで最適化にすぎません — エントリが欠けている、読み取れない、検証に失敗した場合は、代わりに元の
.schemが読み込まれます
削除しても安全です。次回の起動で単に再構築され、その分だけ時間がかかります。
「Skipped N unsupported legacy block entries」
配布される .schem ファイルには保存時のMinecraftバージョンが記録されているため、WorldEditは読み込み時にそのブロックエンティティをMojangのデータコンバーターに通します。型がすでに存在しないエントリ — よくあるのは minecraft:bed です。ベッドの色がブロックステートに移った1.13でベッドのブロックエンティティは廃止されました — は変換に失敗し、サーバーによってブロック1つにつき1行ずつERRORレベルで記録されます。フルのコンテンツ環境では同じ行が数百行出力され、壊れたインストールのように見えますが実害はありません。ブロック自体は問題なく変換され、構造物も正しく貼り付けられます。
BetterStructuresはこのノイズを、スキップされたエントリ数と関係したキーを示す1行の情報ログにまとめます。これが表示されても、修正すべきことは何もありません。
スポーンサインが機能しない場合:
- サインの形式が例と正確に一致していることを確認
- EliteMobs/MythicMobsの場合、プラグインがインストールされていることを確認
- エンティティタイプ/モブ名のスペルが正しいか確認
- 具体的なエラーメッセージについてはサーバーログを確認