MOD解説/JointBlock

提供:Minecraft Japan Wiki
< MOD解説MOD解説 > JointBlock
ナビゲーションに移動 検索に移動
Gear (item).gif
この項目は、まだ書きかけです。 [edit] 
本Wikiは誰でも編集ができます。加筆・修正など、皆様のご協力を心からお待ちしております。
Anvil.gif
現在のこの項目の情報は、JointBlock 0.7.3(for Minecraft 1.7.10)のものから、JointBlock 0.8.4(for Minecraft 1.12.2)のものに更新中です。 
最新の情報を反映していない可能性がございますので、あらかじめご注意ください。


ATW1436-JB Title01.png

MOD名 JointBlock
製作者 あるべ
配布場所 Ver0.7.3

Ver0.8系

対応環境 1.7.10(マルチ不可) or 1.12.2(マルチ可)
前提MOD 【Minecraft Forge】
最新バージョン 0.8.4
使用BlockID なし
使用ItemID なし
SMP対応
使用Class なし(※前提MODの使用分は除く)
関連サイト 解説動画       (大佐 Kakuran氏-youtube)

解説動画       (ルナチタニウム氏-ニコニコ動画)
チュートリアル動画  (ルナチタニウム氏-ニコニコ動画)
導入~ユニット搭乗まで解説(まから氏-ニコブロ)
JointBlockの取説  (まから氏-ニコブロ)
Jointblockの解説動画タグ(ニコニコ動画)
JointBlockの投稿タグ (ニコニコ静画)
JointBlockの配布タグ (ニコニコ静画)
JointBlockの動画タグ (ニコニコ動画)
ロボットコンテスト  (ニコニコ動画)
交流ディスコード  (あしゅとん氏)
技術アーカーブディスコード(葛飾白菜氏)テクニックやTipsの蓄積場所

JointBlockについて

追加されたブロックを組み合わせて「ロボットなどの搭乗可能な乗り物を作成するMOD」である。
ジョイントコアブロックを中心に他のジョイントブロックパーツを設置し、
「各パーツやブロックにパラメーターを設定」することで、動く乗り物が完成する。
このMODでは動く乗り物のことを「ユニット」と呼んでいる。

他にもユニットを作成する上で便利なツール群や、
彫刻などの細かい装飾を施せるツール等も追加されている。

ATW1436-top11.pngATW1436-top12.pngATW1436-top13.png

最初は癖のある仕様に慣れるのに時間がかかるが、慣れると気軽にユニットが作れる。
作れるユニットの例を挙げると「整地や掘削などに特化した実用的な機体」から、
「エンダードラゴンやウィザー等のボスを余裕で倒せる戦闘用機体」や、
実際に搭乗して使用できる「アニメ等で出てくるロボットの再現機体」など
工夫とアイディア、センス、根気次第で様々なユニットが作れる。

更にユニットの動きを制御できる簡易プログラミング機能「R.I.N.G」システムがあり、
ユニットに複雑な動きや状況判断による自立行動をさせることも出来る。

ATW1436-top21.pngATW1436-top22.pngATW1436-top23.png

また本MODはプラグインシステムを採用しており、「ジョイントブロックパーツを自作」することができる。
モデルパッケージ作成するには、obj形式の3Dモデルを使用する。
ゲーム中に作成したユニットをエクスポートするか、
モデリングソフト(Blender,Metasequoia等)、テクスチャ作成用の画像編集ソフトで作成する事になる。

ATW1436-top31.pngATW1436-top32.png

JointBlockで出来る事(目安としてJointBlockで出来る事を羅列した。)

初級編 -かんたんに設置できるレベル-


初級編 -かんたんに設置できるレベル-

  • ブロックを並べて、初期値を設定してポーズを取らせることが出来る。
  • 作成した色々なタイプのユニットを、搭乗して操作する事ができる。
  • MCTRLを入れて人型や車、ヘリなどの動きを取らせることが出来る。
  • バニラブロックモデルを入れて造形する事ができる。
  • 武器モデルを入れて撃ってみたりドリルモデルで掘ってみたりスラスターモデルで加速できる。
  • セラミックパテとノミ、ペイントガンで彫刻、塗装する事ができる。
  • ユニットコアでエフェクトを設定して音を鳴らす事ができる。
  • ユニットコアでエフェクトを設定してパーティクルを表示させる事ができる。


中級編 -つかい方をしらべて操作に慣れる必要があるレベル-


中級編 -つかい方をしらべて操作に慣れる必要があるレベル-

  • 汎用キー・アイテムMCTRLをブロックに入れて、ブロックを回したり伸ばしたり動かす事ができる。
  • パターンカッターを使い、角度の付いた彫刻造形をする事ができる。
  • 初期値を複数設定して、複数のポーズを取らせる事が出来る。
  • シートをインターフェースに変更し、搭乗せず操作する事ができる。
  • アトラクターを使い、スレーブ状態の他ユニットを合体させる事ができる。
  • ユニットコアをスレーブ状態にして、プレイヤーに装備させる事ができる。


上級編 -JointBlockの仕組みを熟知する必要があるレベル-


上級編 -JointBlockの仕組みを熟知する必要があるレベル-

  • 複数のローテーターやスライダーにMCTRLを入れて複雑な動きを取らせる事が出来る。
  • ローテーターやスライダーで彫刻したパーツを重ねて複雑な造形をする事ができる。
  • oblファイルを取り込み、オリジナルのモデルパッケージを作成する事ができる。
  • oggファイルを取り込み、オリジナルの音を鳴らす事ができる。
  • EXパッケージを作り、武器のパラメータや効果を変更したパーツを増やす事ができる。
  • R.I.N.G.を使い、自律行動や条件に合わせた複雑な動き、キー操作などをプログラムできる。



更新情報

最新の更新2019年2月28日 Dropbox

Ver0.8系


Ver0.8.4での変更点 (2019年2月28日)
[変更点]

  • インターフェースからも燃料画面が開けるように

・エネルギー回復時に消費されたアイテムの余剰分は「燃料キャッシュ」としてユニットにキャッシュされ、
次回のエネルギー回復時は「燃料キャッシュ」から優先して消費されます
ゲージ下に表示される燃料値は「スロットアイテムの燃料値の合計」+「燃料キャッシュ」となります
なお燃料キャッシュはユニットをアセンブルした際に蒸発します
・RINGの入れ替えを行った場合、RINGプログラムおよびスロット状態は全て初期化され
全ての処理は再スタートとなります
[バグ対応]

  • 1.12.2のforgeにてbaseUnitHealthの上限にキャップがかかっていたのを回避

(※forge的にはあまりお行儀がよくないであろう実装になっています。
今後はHealthを増やすよりもアブソーブ値などで調整できるようにすべき?)

  • 1.7.10にてNEI導入環境で一部GUIが落ちる現象を回避


Ver0.8.3での変更点 (2019年2月19日)
[バグ対応]

  • 1.12.2にてアセンブリ後にユニットが描画されない不具合への対応
  • 1.7.10にて設計図を出力した際にエフェクトスロットが復帰されない不具合を修正



Ver0.8.2での変更点 (2019年2月19日)
[変更点]

  • サウンド属性に「管理しない」を追加

管理しないにすると同パーツで再生した前のサウンドの終了を待たず、また、
スロット変更などに阻害されることなくサウンドの再生を行う

  • Exパッケージのアクション(bullet,thruster)のサウンド属性に「soundUnmanaged」を追加

(GUIでの「管理しない」と同等。※リピートを指定すると強制的にパーツにより再生管理されます)

  • コマンド「jbclient sound off」でJB音源を無効にした場合、即座に再生中のサウンドを停止するよう変更
  • GUIでのテキストボックスのキーリピート対応(1.7.10および1.12.2両方)


[バグ対応]

  • 1.12.2で搭乗プレーヤーの更新が二度かかっていた不具合を修正(※食べ物、アイテムの使用速度が2倍化していた)
  • 1.12.2においてコアパレットがクライアント側で正常にロードされないケースへの対応
  • 1.12.2においてユニットのカメラに関する不具合の修正
  • 1.12.2においてExパッケージのsoundItemが正常に読み込まれなかったバグを修正
  • Entityのイベントサウンドが再生されない不具合を修正
  • サーバーサイドロジックからJBサウンドが実行される場合があった不具合を修正(※クラッシュの可能性あり)
  • Exパッケージのアクション(bullet,thruster,sound)のサウンド属性が一部読み込まれなかった不具合を修正
  • 1.7.10でExパッケージのサウンドが名称を正しく取得できなかったバグを修正
  • 1.12.2にでjbed出力したExパッケージのモデルを含むユニットの設計図データが

1.7.10側でjbid読み込む再にモデルの引き当てが失敗するバグを修正
(※1.12.2にてMOD名のCase(大文字・小文字)変更による弊害。以下「お願い」に関連)
[お願い]
1.7.10と1.12.2の両方で互換を保つExパッケージを作成される際は以下の点にご注意ください
・パッケージID(packageId)には小文字を用いる(サウンド名、langのキーなども今後なるべく小文字で)
・ブロック名やサウンド名が1.7.10と1.12.2では異なるものが多々あることにもご注意ください
(ver間での名称マッピング機能は現在保留中・・・実装されないかも)
[modとは直接関係ない話]

  • Forge起動時にゲーム内で音が鳴らない場合->ゲーム内でF3+Tを押してみる


[**モデルアクションのサウンド属性について再整理**]

  • サウンドを付加できるアクションは「bullet」「thruster」と新たに追加された「sound」。
  • 「リピート」は保持期間内である限り、繰り返し再生し続ける機能

保持期間は同パーツで同スロットのサウンドが実行されるごとにリセットされ延長される
実際の保持期間は「サウンド保持期間」+「フェード(アウト)期間」となる

  • 「フェードバック期間」はフェード期間で落ちた音量が戻るまでの間隔

0にすると延長があった時点で即時に音量が既定値まで戻る

  • サウンド名に「minecraft:XXXX」でバニラのサウンドを指定可能(※互換性注意)


"soundName" : 「format sound」のjsonで登録したサウンド名

"soundVolume" : 実数値(小数第一位まで)、省略時1.0

"soundPitch" : 実数値(小数第一位まで)、省略時1.0

"soundRepeat" : true/false、省略時false

"soundRepeatDelay" : 整数値(MAX100)、省略時0

"soundKeepDuration" : 整数値(MAX100)、省略時10

"soundFadeDuration" : 整数値(MAX100)、省略時0

"soundFadeBackDuration" : 整数値(MAX100)、省略時0

"soundDriverOnly" : true/false、省略時false

"soundUnmanaged" : true/false、省略時false

Ver0.8.1での変更点 (2019年2月18日)
[バグ・誤字修正]

  • Enity検索指示ノードの検出タイプの文言が間違っていたのを修正
  • ターゲット設定指示ノードのタイプの文言が間違っていたのを修正
  • センサー状態検知ノードの検出タイプの文言が間違っていたのを修正
  • 1.12.2における描画処理の改善(角度により見えなくなるケースを修正)



Ver0.8.0での変更点 (2019年2月16日)
[Soundに関わる変更]

  • CoreおよびEntityJBにエフェクトスロット0-15を追加
  • CoreのGUIにエフェクトタブ&エフェクト設定画面を追加
  • 設定enableJointBlockSoundsを追加
  • soundアクション追加

・soundName
Exパッケージのサウンド名を指定
または接頭辞「minecraft:」でバニラの音源指定
・soundVolume
・soundPitch
・soundRepat
・soundRepatDelay(Repat時のみ)
・soundKeepDuration(Repat時のみ)
・soundFadeDuration(Repat時のみ)
・soundFadeBackDuration(Repat時のみ)

[アイテムに関わる変更]

  • TurnWrenchの種別に「ハンマー」を追加

殴って子接続ごと移動できるように
既存種別から変換できる変換レシピも追加

  • キーMotion、アイテムMotionに「サウンド」ハンドラを追加
  • キーMotion、アイテムMotionのスライダーに「シンプル」ハンドラを追加(ノーマルと同じ動作)
  • TurnWrench系とCeramicPutty系アイテムは左クリック時にJBブロックを破壊しないように
  • 設計図の種別に「カプセル」を追加



[アクションに関わる変更]

  • bulletアクションに属性追加

・sound関連属性
・accuracy属性(ミサイル専用)
・disableVT属性

  • bulletアクションにsound関連属性追加
  • EntityBulletの挙動を変更

・VT無効属性にまつわる処理変更
・ミサイルの追従性はaccuracyに基づくように(デフォルト0.2)
・ミサイルは一定角度でのブロック衝突で消滅するように

[RINGに関わる変更]

  • TGPartsノード追加
  • DRAttractorノード追加
  • DRChannelClearが機能していなかったのを修正
  • DRSearchの変更

・SEARCH_RANGE_MAXを64に
・ENTITY_TYPE_CLEARを追加
検索結果をクリア

  • DRTargetSetの変更

・TARGETTYPE_CLEARを追加
ターゲットをクリア

  • TGSensorの変更

・TYPE_PARTSIDを追加
パーツIDを取得(TGPartsに渡せる)

  • スペースキーでノードの内容をtipとして簡略表示(暫定版。ノードが多いと被るなど、改善の余地大)
  • DREffectノードを追加



[ユニットに関わる変更]

  • ユニットパーツによるユニット作成補助を廃止。ブロック数の検索と表示のみに
  • ユニットタイプ「サブマリン」を追加

・基本はフロートと同じ。スペースキー連続でサブマリンモード
・搭乗プレーヤーが水に入ったときに暗視&水中呼吸のポーション効果を自動的に付与する。
(仕様は暫定のやっつけ。ライトマップとプレーヤーのAir値を直接いじる仕様に変えるかも)

[その他]

  • ディスアセンブルペナルティ機能および設定を廃止
  • STVectorの項目エントリ指定が間違っていたのを修正
  • アドオンがファイルからも読めるように「XX.zip」という名称のフォルダも対象に

(パッケージ作成者のデバッグ用。配布ファイルを使用する場合はセキュリティの観点からもなるべくzipで)

  • blueprintフォーマットに「"capsule" : true」を追記することで販売時カプセルに

カプセルからはコンストラクタを介さずに直接Entityをスポーン可能

  • ミラーツールで削除したときアイテムが残らないように
  • 搭乗時のみ描画を追加
  • 燃料無限(クリエ専用)+unitEnergyRecoveryMode廃止

無限燃料は設計図に反映される

  • maxRatioedUnitRequirement設定を廃止(死に設定化していたユニット関連設定)
  • doPartsDestruction設定が死んでいたので廃止
  • ConfigのGUI画面廃止(設定可能な項目が一つしかなかった)
  • ラージユニットウェイトを300まで振れるようにした
  • IFF・MSBタグ、金型、パレット、設計図、コントローラーなど、データ取得可能なアイテムのデータ取得時に音を鳴らす
  • IFF・MSBのjbitemeditコマンド対応:引数にLong数値を指定することで手持ちのIFF・MSBアイテムに固定値を設定可能
  • 設計図のjbitemeditコマンド対応:引数に「capsule」指定で手持ちの設計図をカプセルに変換可能
  • Exパッケージのカタログ表示順がファイル読み込み順になっていたのをID順に修正
  • jbclientsetting(短縮jbclient)でJB由来のサウンドとパーティクルのON/OFF切り替え可能に

文法は「jbclient sound off」など

[内部的な話]

  • TileEntity内部情報のGUIへの反映方法を変更(軽量化を見越して1.12より逆輸入。GUIで問題が出るかも)
  • パーツのトランスフォーメーション処理を多少改善(問題が出るかも)
  • パーツごとのparentをweakReferenceから実参照へ変更
  • クライアント側へMotion/Actionの発動を送信する汎用機構を追加(実サーバー環境でのテストが必要、未テスト)
  • ブロックのActivate時の処理を統一
  • EntityBulletの発射音処理をAction側へ移譲
  • DRAttractorからのスレーブスロットON/OFFトグル時には固定ディレイを考慮しないように
  • 内部的に使用されるSoundアイテムを追加(クリエには現れない)
  • EntityBulletをディスク保存させなくした



[メモ]

  • soundに使用するoggファイルについては一部フォーマットがMinecraftの使用しているサウンドライブラリと

相性が悪いことがあるようです
ゲーム内で再生させてみてゲームがフリーズするなどした場合はエンコードするソフトを変えてみてください
(あるべはダメなファイルはVLC Playerの変換機能を通しました)


過去の更新情報

更新情報


Ver0.7系列


Ver0.7.3での変更点 (2017年4月11日)
2017年4月11日 47ページ目PostNo.300343

  • 追加:コマンド「/jbshowconnection」の追加(クライアント側コマンド)

「/jbscon 数値」で指定数tickの間、ブロック接続方向を可視化する
ただしこのコマンドは「アセンブリチューナー」を持っているときのみ接続が見える
アセンブル後のユニットも接続方向が見えるようにしたが、スケーラーなどの繋がりは結局まだわかりにくい

  • 追加:アトラクターのキー・アイテムMCTLに「複合」バインド追加

有効化・無効化を別キー(別アイテム)にそれぞれ設定可能

  • 変更点:コマンド「/jbbuildobj」の引数に「c」を指定できるように

「/jbbuildobj 出力ファイル名 c」のように「c」をつけるとコアを中心としてobjを出力するようにする
(※外部パッケージ用のobjを出力する再、セットしたモデルがブロック位置を基準に描画されるよう調整される)

  • 変更点:コマンド「/jbbuildobj」でobjファイル内のmtlファイル名が日付になっていたのを"同ファイル名.mtl"を記述するよう修正


  • BugFix:mtlファイルのマテリアルでKd以外にも不透明度を記述可能な「d値」を読み込むよう修正

これによりモデルレイヤ1でmtl付きobjを出力すると不透明度が反映される(別に書き出されたりはしないので手動追加が必要)

  • BugFix:RING移動タスク「自由に徘徊」などのランダム目的地到達判定が場合によって不正となる問題を修正



[「/jbbuildobj」を利用したパッケージモデル用objファイルの作成]
「/jbbuildobj」を使用するとカービングで作成した形状がobjファイルとして出力できるが、
それをzipパッケージ用のモデルとして用いることで3dソフトを使用しなくても簡易的に武器のモデルなどが作成できる
[おおまかな手順]
①コアを中心としてカービングを使用した形状を作成する
②一旦ユニットをアセンブリし、「アセンブリチューナー」アイテムでユニットのどのブロックでもよいので選択
③チャットウィンドウから「/jbbuildobj 出力ファイル名 c」コマンドを実行
④minecraftの「config」フォルダに「JointBlock」というフォルダ、その下に「objout」というフォルダが作成され、
さらにその下に出力時の日付でフォルダが作成される。
その中にコマンド引数の「出力ファイル名」で指定したファイル名で 拡張子が「obj」と「mtl」の二つのファイルが出力されている
objはポリゴンの頂点データ、mtlはコアのカラーパレットから読み出した色情報が、質感(マテリアル)データとして書き出されている
⑤本来であればテクスチャ画像と一緒に指定するobjファイルだが、ver0.7以降ではmtlファイルとセットでzip内に配置されたobjは
テクスチャ画像ではなくmtlの色情報を見に行くようにしてある
(つまりテクスチャが不要。/jbbuildobjで出した二つのファイルのみでモデルとして認識)
ただし以下のルールを遵守する
・obj内の「mtllib」行に続くmtlファイル名の指定はobjファイル名と揃える(obj名を変えた場合など)
・mtlそのもののファイル名もobjファイル名と揃える(obj名を変えた場合など)
・objとmtlはzipで同じ階層に置く
⑥zipの構成に従ってobjファイルを配置し、モデルjsonを記述することで出力したobjを外部パッケージの取り込みモデルとして
使用することが可能になる
(zipの詳しい作り方についてはJointBlockトピック外でもまとめている方がおられるので参照)
※「ひとつのobjにつき複数のmtlを容易して色変えモデルを作れないものか?」という要望は当然でてくるが、
各頂点情報とmtlの読み込みはセットになっているため、分けたものを読み込むのと結局は同等になる。
なので色変えverを作成する場合は手間ではあるが別セットのobjとmtlをそれぞれ用意する)

Ver0.7.2での変更点 (2017年4月05日)

  • 変更点:ユニット化条件の撤廃

現状ほぼ無意味な制約でしかなかったユニット化条件を完全に廃止
上記に伴い構造・ブロック数より算出していたパラメータはユニットで固定化
代わりにコアにアドオンを追加することにより各種パラメータが変動するようにした
詳しくは下記アドオンシステムにて

  • 追加:アドオンシステム

ユニットにアドオンを積むことで体力・ENや移動パラメータを増強できるシステム
アドオンには二種類あり
-アイテムとしてのアドオン
-モデルとしてのアドオン
がある
アイテムアドオンはコアの専用タブからスロットに追加することでアセンブル後に効果を発揮し、
モデルアドオンはモデルとして配置されていればアセンブル後に効果を発揮する
各パラメータ補正はユニット固有パラメータを元に算出されるので、
補正値はもともと対象パラメータの高いユニット型ほど高くなる
(例えば横移動がもともと遅い四足歩行型などは横移動アドオンを載せてもあまり効果は高くなく、
HPとENが高い車輪型はそれぞれアドオンでのHP・EN値の伸び率が良くなる)
(※以下ちょっとややこしい話。パッケージを作って遊びたい方以外はあんまり関係ない)
デフォルトアドオンではほぼ活用されていないが、「リミットキー」(ゲーム内では主に略称「LK」で表示)
というシステムにより、パッケージなどで追加されたアドオンなどでバランスを調整することができるようになった
リミット(制限)キーの名のとおり、ひとつのコアに乗せるアドオンを制限するための仕組み
アドオンはリミットキーに属することができ、リミットキーの上限コストによって積載制約を課すことができる
例)リミットキーA(上限コスト5)に属したアドオンX(LKコスト1)とアドオンZ(LKコスト3)があるとして
アドオンXを2つとアドオンZを1つ積んだ場合、リミットキーAのコストチェックでは総コスト5以内なので積載OK。
アドオンXを3つとアドオンZを1つ積もうとした場合、アドオンZの追加はコストチェックにかかって弾かれる
(※ちょっと微妙な仕様だが、コストの積み上げは検索あるいは読み込み順になる)
これはモデルアドオンにも適用可能なので、たとえばユニットにつきモデル武装やモデル部位の積載制限をすることが可能
(アドオンが無効になるだけかモデルの乗ったブロックが除外されるかはLKに設定可能)

  • 追加:ターゲットシステム

RINGにやらせたかったことを実現するキモの新システム
ユニットあたり5つのターゲットを持つことが可能
設定したターゲットはキーMCTLの新機能「ターゲットへ回転(ローテーター用)」と組み合わせることで
パーツをターゲット方向へ向けることができたり、RINGの「移動タスクノード」と合わせて自律移動などを行う
[ターゲット指定方法その①:ターゲットサイトアイテム]
ユニットに搭乗して新アイテム「ターゲットサイト」を持つと一定範囲のEntity上にターゲット選択リングが現れるので
右クリックでターゲットを選択することが可能
複数選択する場合は右クリックを押しっぱなしでそれぞれをドラッグオーバーして選択
ctrlキーを押すごとにターゲットの指定方法が「生物のみ」「Entity全て」「ブロック指定」に切り替わる
ブロック指定の状態ではブロック座標をひとつのみターゲットとすることが可能
[ターゲット指定方法その②:RINGのノード「ターゲット設定指示ノード」]
後述のセンサーノードの機能などで取得したEntityIDをターゲット指定ノードに渡してやることで
RING内でターゲットを指定することが可能
なお0番ターゲットは固定でアセンブル主になる
上手く組み合わせればRINGでターゲットを自動検索して射撃する機体なんかも作れるかも
(※注意※ターゲット情報はEntityの保存情報に含まれていない
セーブ・ロードを挟む、チャンクのアンロードを挟むなどで頭は空っぽになるので注意)

  • 追加:センサー機能(主にRINGで使用)

新アイテム「センサーMCTRL」を配置することで対象ブロックを位置センサーとしてRINGに認識させることが可能
「センサー状態検知ノード」よりセンサーの位置を取得することができるほか、
「Entity検索指示ノード」により検索されたEntityIDを取り出すこともできる

  • 追加:移動タスク指示(RING機能)

ターゲットに追従してユニットを移動させることが可能
ただ経路検索のコストがユニットの高さに比例して跳ね上がるので、一般MOBなどに比べると若干頭が悪いところがある
ジャンプを活用しないなどもろもろの制限はあり
(歩行系とホバー・ヘリだけ対応。エアクラフト・フロート・宇宙などは未実装)

  • 追加:Entity状態検知ノードとBlock状態検知ノード

それぞれEntityIDやブロック座標を渡してやるとそのEntity/Blockの一部情報を取得して出力する
※ただし「Block状態検知」のほうは現状唯一のオーバーパワーノードとして「enableOverpowerNode」設定の影響を受ける
設定ファイルを変えるか(デフォルトでは否設定)、「jbcset enableOverpowerNode true」で一時的に有効化可能
(使い方によっては鉱脈検索機なども作れてしまうため)

  • 追加:ベクタ入出力(RING機能)

詳細な説明は割愛。4値までの疑似ベクタを扱える。現状ノードの代入機能でベクタは渡せない

  • 追加:パターンコーナーB

パターンコーナーAの赤ちょぼからシームレスに切り替え可能
(内部的には別パターンに切り替えていてインジケーターで[CornerB]と表示される)

  • 変更点:RING保存データ形式の変更

0.7.1のRINGは使用不可能。

  • 変更点:スケーラーを100超えて設定できるように

ブロック数とステータスの相関が壊れた今となっては100%までの縛りが意味を失ったので試しに解放
想定外の不具合があるかもしれない

  • BugFix:アクションのスケールバグ(伸縮によって弾速や速度が変わるバグ)を修正

アドオンのほうに調整項目を追加

  • 変更点:スラスターのspeedLimit計算方法を変更。デフォルト値を「1.0」に

パッケージなどで独自スラスターを追加されていた方は要再調整。

  • 変更点:今まで足の長さで算出していたジャンプ力は初期値確定時のコアの高さから算出するよう変更(+アドオンで増強可)

同じく足の長さで算出していたラージユニットウェイト(腕の振りを鈍くする割合)もコアの高さから算出
もしマニュアルでラージユニットウェイト値を設定したい場合はコアの特殊設定から
ステップ高はユニット別に基礎値固定(+アドオンで増強可)

  • 追加:パラメータコピーに特殊設定を追加

それに伴いコピー先のブロック種別が違っていても特殊設定のコピー用にGUIが開けるよう変更

  • 追加:モーション無効の項目に「アクション無効」「両方無効」を追加(従来の「する」は「モーション無効」に)
  • 変更点:エアクラフト型の飛行時エネルギー消費を廃止

ただし崖などから無理やり着陸した場合のペナルティ消費はそのまま

  • 変更点:パス検索コスト軽減のため衝突の判定箱のサイズを従来の2から1に変更

これにより1x1のくぼみにも入るように
経路検索時、任意の高さぶんの検索があるのでどうしても横幅の判定を減らさないと難しいので

  • 変更点:RINGノードの全体的な挙動変更

-コントローラー越しにRingDebugもできるように
-TG系ノードはTICKで最初に値を要求された時点での値で同TICK間は固定するように(循環参照対策)
-TG系ノードは通過時にも値を更新するように
-TG系の例外時にはERROR値を返すように変更
-ERROR値を受け渡されたDRは仕事をしないように
-ifにERROR値判断を追加
-Linkノードで循環参照を防ぐためにリンク深度(リンクのリンク)を最大5に設定
(TG系と同じくTICK内で最初に更新されたリンク先で同TICK間は固定)
-座席番号項目を全てRef可能に
-キー入力DR・検知ノードに項目「シングル/ダブル」を追加

  • 変更点:RINGの他ページ呼び出し時、呼び出し元情報を限定でstackする仕様に

8呼び出しまでスタック。スタックオーバーフロー時は古い順から消去

  • 追加:ActionBulletの爆発に関するjson項目を追加

「ignoreDamageCooldown」ヒット後の無敵時間を強制0にしてダメージを与える(デフォルトfalse)
「cutExplosionNockBack」爆風作用をカットする(ダメージ自体のノックバックはする)(デフォルトfalse)(※ミサイルに適用した)
「explodeAffectsBlocks」爆発がブロックに影響するかどうか(デフォルトtrue)
「explodeAffectsEntity」爆発かEntityに影響するかどうか(デフォルトtrue)
※旧来の「dummyExplode」はtrueを設定すると上記両方がfalseになる項目に。
「explosionSize」で爆発サイズを設定できるように(省略すると1.5)
各デフォルト値は
バズーカA型3.0
バズーカB型4.0
ミサイル1.5
数値を大きくすると処理の負荷も相応に上がるので注意

  • 変更点:config設定

「disableUnitRequirement」廃止
「maxUnitHealth」廃止
「maxUnitEnergy」廃止
「fixHealthAndEnergyAtMax」廃止
「largeUnitAbilityFixType」廃止

  • 追加:config設定

「baseUnitHealth」追加
「baseUnitEnergy」追加
※上記二つにユニット型それぞれの倍率がかかり基本の体力・エネルギー値となる

  • 変更点:コマンド

「jbspeedworld」廃止
「jbdis」の仕様を変更
「/jbdis」だけでも実行可能に(範囲64)
「/jbdis」のみの場合は他ユニットスレーブ状態のユニットを解体できないように
スレーブも無理やり解体したい場合は「/jbdis 数値 force」で強制解体

  • BugFix:特殊設定の共通項目をチェックすると固有設定がクリアされていたバグを修正
  • BugFix:ローテーター系MCTL項目の「最小角度」「最大角度」がのきなみ%表記になっていたのを修正
  • 変更点:ノミとペイントガンのアイテムアイコン上の番号文字色を黄色に変更(白だとアイテム数とかぶるので)

またペイントガンの7番は表記を「B」に統一

  • BugFix:Edit入力で項目がずれるスライダー由来バグを修正
  • BugFix:RINGのGUIでボタン右クリックでtick音が聞こえなかったのを修正
  • 変更点:パレット画面でctrlを押すとパレット番号ごとにコピー&ペーストが出来るように(アイテムデータではなくメモリ経由)
  • BugFix:コアGUIの一部チェックボックスでアセンブルフラグが初期化され「OP独立」などのフラグがクリアされてしまうバグを修正
  • BugFix:エアクラフト型のコア高さが0より大きいとコア位置が正常に計算できていなかったバグを修正
  • BugFix:エアクラフト型の通信不正により回転によってはクライアント側が落ちる致命的なバグを修正
  • BugFix:ディスアセンブル時にユニットの描画が暴れる現象・幽体離脱現象を修正



Ver0.7.1での変更点

  • BugFix:/jbbuildobjでゼロスケーラーをかませるとエラーとなるバグを修正

※ただしゼロスケール部位はにフェイスの統合がされない場合があり(扱う少数表現の誤差のため)
なるべくゼロスケールの部位は除いて出力したほうが余分なデータを出さないため

  • BugFix:法線の計算が不正となり特定の平面が出力されない場合があるバグを修正
  • BugFix:R.I.N.G.のアクション指示でノーマルなど一部ジョイント種が反応しないバグを修正
  • 追加:コアの特殊設定に「スレーブ独立・モーション」「スレーブ独立・OP」の項目を追加
  • BugFix:項目の追加に伴い移動系およびキー系のMCTLの動作を以下のように修正

・移動系トリガーのMCTLはスレーブ接続時にデフォルトでは動かなくなるよう修正(マスター接続時は初期値に固定される)
モーション独立にチェックを入れた場合のみ移動判定を拾ってモーションを実行する
・キー・アイテム系MCTLは「OP独立」を選択しない場合はこれまで同様にマスターよりキー入力等を受け取り処理を行う
「OP独立」を選択した場合はスレーブ本体の入力にもとづいて処理を行う
また、 「OP独立」にした場合、スタビライザー系(親の回転をリセット系)の基準回転はマスターではなくスレーブ本体のyaw値から再計算される

  • BugFix:スレーブのyawをマスターより取得していたのをアフィン変換から改めて算出するよう修正

具体的には座席の向いている方向からyawを取り出す。なので極(直上、直下方面)付近では小さな差でもブレが大きくなるのでその点留意すること。

  • 変更点:上記スレーブyaw等、R.I.N.G.で取得できるものはスレーブユニット本体のものに固定(マスターのものを見に行かない)
  • BugFix:GUIにてText項目を出したままマウスホイールをスクロールすると入力先項目がずれるバグを修正(ホイール入力があるとテキスト項目を閉じるように)



Ver0.7.0での変更点 (2016年9月04日)

  • 変更点:jarの統合

JointBlock.jarとJBRobotModel.jarを1つのファイルに統合

  • 追加:R.I.N.G.システムの追加

R.I.N.G.システムとはJBのユニットをプログラムで制御できる仕組みである。
◆ユニットの燃料画面でセットすることでアセンブル後は毎tick動き、各ノードの処理を実行していく
◆ページ毎にMAX24ノード、32ページまでひとつのR.I.N.G.に登録可能
◆サイクルモードでは前回tickで止まった場所から再開する
ショットモードでは毎tick0ページ0ノードから処理を開始する
◆サイクルモードでは1tick内に無限にノードを処理できるわけではなく、
下記のルールに従ってtick内処理を中断して次のtickに処理を引き継ぐ
(ルール①)
同tick内で同じノードを二度実行しようとすると中断。次tickはそのノードから始まる
(ルール②)
24(1リングMAXノード数)*3=72の数のノードを処理すると中断
上記いずれの場合でも次tickは前tickに中断したノードから始まる
以上ルールによってひとつのユニットが無限にCPUリソースを消費することを防いぐ
ただ、上記仕様のためノードの処理がどこで止まるか、また、どこから再開されるかの保障はなく、
意図した動作にならない場合もある
必ずtick内に動作させたいノードがある場合などはショットモードを選択してみる
◆全てのノードは出力を持ち、他のノードから参照されたときに必ず何かの値を出す
基本的には
・真偽値(TRUE,FALSE)
・実数(浮動小数点)
・整数(浮動小数点を受け取り手に応じて整数に切り捨てたもの)が返される
◆ノードは大別して
ST系ノード(シンタックス系ノード。つまり構文ノード)
DR系ノード(命令形ノード。ユニットやパーツへチャンネルを解して命令を出すノード)
TG系ノード(トリガー系ノード、あるいはセンサー系ノードと呼んだほうがいいかもしれない?)に分けられる
◆上記DR系ノードは実行される際、必ずその仕事内容と関わる「チャンネル」を介して実行を行う
チャンネルには一つのノードのみ登録でき、あるノードが登録されている間は他のノードの登録を受け付けない
(強制的にクリアするためのノードもありますが、基本的にはこのルール)
全てのDR系ノードには「仕事期間(tick)」があり、仕事期間を経過するとチャンネルから退く
◆OPCutにチェックを入れたR.I.N.Gがセットされたユニットは席1の基本操作を受け付けなくなる
◆変数系ノードの内部値はjavaのdoubleすなわち倍精度(64bit)浮動小数点になっている
◆シングルでプレイしている場合のみ/jbringdebugコマンド(/jbrd・/jbdrでも可)
「/jbringdebug on/off またはスロット番号」
スロット番号は左上から右へ0, 1、左下から2, 3になっている
(サーバーサイドから直接実行情報を見に行っているだけなので外部サーバーの場合は情報を取れない)
サーバーから情報をネット越しに送信するようにすればマルチでもデバッグ可能だが、おそらく実装しない)
<20160905 GUIの機能について追記>
◆左のノードリストからドラッグ&ドロップでノードをページに追加
◆ページのリング状でノードを選択し、右側に表示された入力項目から各ノードの値を設定
◆REFとFIXが切り替えられる項目について
FIX(:FIXED=固定値)はユーザーが入力した値そのままを利用する
REF(:REFERENCE=参照値)は指定したノードの出力値を利用する
※例えばモーションDRノードでローテーターの回転値をユーザーのYAWから取りたい場合などは
ユーザー状態センサーノードのYAW(相対)からY軸の値をとることで追従っぽいことが可能
(ただユーザー状態センサーノードの各検出値は乗っていない場合でも0を出力するのでその切り替え判断も必要)
◆REF項目があるノードは左クリックでドラッグすることで線を他のノードへ接続可能
(※もちろんノードインデックスを直接指定するのでもOK)
◆Shiftを押しながらリング上のノードをクリックすることで複数選択が可能
◆ノードのTIPSに書いてあるInfやNaNって?
Infは浮動小数点表現の無限
NaNは不正な計算(ゼロ除算とか)などにより生じる非数のこと

  • 追加:/jbbuildobjコマンドを追加

[/jbbuildobjコマンド仕様]
◆アセンブル状態のユニットからCarvingのレンダリング情報のみを抜き出してobjファイルとして出力する
◆ブロックやモデルなどは出力されない。Carving部分のみ
◆「/jbbuildobj 出力ファイル名 [オプション:t]」
でConfigフォルダ下「JointBlock」フォルダの「objout」フォルダに現在時刻名のフォルダを作成し、
その下に指定したファイル名でobjファイルを出力する
◆一緒に出力されるmtlファイルは色情報が入っている
objファイル内で紐付けが指定されているのでobjのファイル名を変える場合はobj内の該当箇所とmtlのファイル名も変更する必要があり
◆tオプションをつけると全ての面が三角形で出力される
◆「/jbbo」「/jbobj」でも可
◆何か出なかったりエラーが出た場合は「こういうデータでエラーがでたよ」と報告があると直るかもしれない
◆クライアントの描画能力を借りてobjを構築する仕組みなので、処理能力はクライアント依存(サーバー側は一切関わなし)
普段はちょっと気にしているメモリの消費量やGcへの配慮などは一切なし
->処理が重たいので注意
◆メッシュ面の統合などはモーション部位区切り毎に行っているのでそのあたりを意識して機体を作ると出力がきれいになるかもしれない
◆書き出す際に限界がなくともJBで読み込む際には頂点数の限界があるので注意
JBで読み込ませる目的で出力する場合は腕や脚などのパーツ毎に小分けしてobj化するといいかもしれない
◆mltを読み込むようにするためにobjロード部分をフルスクラッチで書き直している
今までに読み込めていたデータが読み込めなった、などの不具合も報告すると直るかもしれない

  • 追加:新アイテム「パラメータ転写メモリ」を追加(クリエイティブ専用)

JBブロック内のパラメータをコピー、貼り付けできる。
スニーク右クリックでコピー、他のブロックに右クリックでGUIを開き貼り付け。

  • 追加:初期値入力画面でCTRLキーを押すと「削除」「コピー」「ペースト」が表示されるように
  • 追加:座席の設定に「搭乗者のYaw強制同期」を追加

OP(席1)のときはRINGでOPCutしているとき以外は使用しないのを推奨

  • 変更点:部位破壊を完全廃止
  • 変更点:キーMCTLの検知キーを増加

各種移動キーとマウスホイールの上下を追加

  • 変更点:jar統合にともないJBRobotModelのConfigを廃止

モデルのフォルダ名は「JointBlock」固定。

  • 変更点:カービング無分割を追加

スニークキーを押しながらパテを適用すると無分割から始まる

  • 変更点:全アクションについて指示者なしでもアクションの実行を可能に

問題がでるかも。変な挙動があったら報告を

  • 変更点:各パーツの値の更新・通信方法を若干修正
  • 変更点:GUIのスクロールバーをマウスホイールでも上下できるように

またスクロールバーの表示方法を若干改善

  • 追加:クライアント側設定「cutoffMouseScrollWithCtrl」を追加

デフォルトではoff(false)ですon(true)にするとCTRLを押しているときにMincraft側のホイールキーイベントを無効にする

  • 追加:サーバー側設定「unitEnergyRecoveryMode」を追加

0がデフォルトで、新仕様の燃料消費モード
1にするとレガシーモードでユニットは燃料を消費せずENを回復する

  • 追加:サーバー側設定「unitFuelEfficiencyMult」を追加

燃料値の算出に使用する

  • 追加:サーバー側設定「worldMaxEntityRadiusModifier」を追加

※この項目を触るとMinecraftバニラ全体に影響するので、変更に際しては下記をよくご理解のうえ変更をすること
-背の高いユニットを組み立てたときなど、攻撃などが上部のバウンダリに当たらない現象に遭遇したケースが多くある
これは衝突判定時に他のEntityを検索する際にチャンクを縦に分割した領域ごとにEntiyを保持しているためで、
衝突判定以前に領域が検索にかからなければEntityそのものが抽出されないということが起こる。
上記worldMaxEntityRadiusModifierは数値を上げることで検索する上下領域を増やし、
衝突判定時の検索でEntityが判定対象として抽出されるようにする。
(これにより「ユニットの上のほうだけ攻撃が当たらない」ということが起こらなくなくなる)
反面、全ての検索時に検索領域が増えることで処理のコストが増大する(バニラや他MODの処理にも関わってくる)
以上トレードオフを理解のうえ変更をすること

  • 追加:サーバー側設定「entityJointedTrackingRange」を追加

ユニットのトラッキングレンジを変更可能

  • BugFix:種消費バグ修正
  • BugFix:Te状態のコアインベントリがセーブ時に正常に保存されない場合があるバグを修正
  • BugFix:スライダーバネKeyMCTLの入力項目の刻みが10単位になっていたのを修正



Ver0.6系列



Ver0.6.2での変更点

  • 追加:5分割以内のBOXカービングをカッター(無印モード)で切るとPatternカービングに自動で変換した上でパターンを切る機能を追加



Ver0.6.1での変更点

  • BugFix:ShaderMOD導入時のカメラ周りのクラッシュバグおよび色バグ修正
  • BugFix:GUIの文字入力フォーカスバグ修正
  • BugFix:セーブデータからの再開時に初期値モードがリセットされるバグを修正
  • 追加:カッターモードにパターン回転、パターン反転を追加

※モードの数値がずれたことによる既存アイテムのモードずれが起こるので注意。
-回転モード(横回転レンチアイコン)
右クリック:上から見て時計回りに回転
左クリック:前方へ向かって回転
-反転モード(反転金型アイコン)
右クリック:左右反転
左クリック:上下反転
-コピーモード(複製金型アイコン)
右クリック:パターンを記憶
左クリック:パターンを反映
-旧回転モード(接続変更レンチアイコン)
0.6.0での横回転レンチアイコンでのモードに相当

Ver0.6.0での変更点

  • 追加:シートに種別「カメラ」を追加

-騎乗状態にて「/jbcamera 1-4座席番号|off」で指定したカメラへ切り替え。座席番号「/jbcam」だけなら自動検出(短縮「/jbcam」
-基本モデルのままの場合ユニット状態時はカメラモデルは描画されない。
(カービングやモデルをおいた場合は表示されるので、それでも消したい場合は個別非表示設定で)

  • 追加:シートに個別の特殊設定項目を追加

-「搭乗者を表示しない」
座席に座った搭乗者を描画しない。
-「カメラを自動検出」
乗った瞬間に「/jbcam」を自動で行う設定。

  • 追加:新ユニット型「エアクラフト型」

-条件は翼のみ。HP・ENともに最低。
-地上からスペースキーを押して加速し、一定期間トップスピードで離陸。
-空中操作はAロール左Dロール右Wピッチ下げSピッチ上げ(地上でもヨーは変更可能)
-滑走しないで強制離陸(段差を降りる、スラスターで垂直離陸)も可能しかしエネルギー大量消費。
-着陸時は水平に近い角度でないと機体にダメージ。
-飛行時は徐々にエネルギー消費。地上でエネルギー回復。空中でエネルギーゼロで制御不能に(墜ちます)
-速度や旋回性能はまたちょっと調整するかも(ユニット型全て調整するかも)

  • 追加:新アイテム「パターンカッター」を追加(下記ご参照)
  • 追加:カービングVer3こと「パターンカービング」追加(下記参照)

-セラミックパテ(パターン)をブロックに使用することで適用可能
-最大5分割まで
-パターンカッターでパターンを切り替え
現在は「なし(立方体)」「スロープ」「コーナー」の3パターンのみ
-パターンカッターをスニーク+右クリックで機能切り替え
-パターンカッター機能「形状操作」(アイコン右上に小さなチューナアイコン)
「スロープ」や「コーナー」の特定場所に視線を向けるとさらに細かい判定が表示される。
それらをクリックするとパターンの形状をさらに細かく変更可能。
-パターンカッター機能「回転」(アイコン右上に小さなレンチアイコン)
左クリックで底面、右クリックで向きを変更。
視線を合わせたときの赤い四角が底面、青い四角が向きを表している。
底面変更レンチと向き変更レンチのような動作イメージだが、
普通のブロックと決定的に異なるのが、パターンは形状によっては底面が2面や3面だったりする。
(具体的にはスロープは底面が3、コーナーは底面が2。各形状の表現に必要な最低限の面数のみ。)
-パターンカッター機能「コピー」(アイコン右上に小さな金型アイコン)
左クリックでコピー取得、右クリックでコピー反映
-ひとつのブロックに無限にパターンが切れるわけではない
各ブロックは内部にパターンテーブルを持っていて各カービング内座標がそのテーブルを参照して形を反映している。
そのテーブルが現状16パターンまで登録可能となっているので、一つのブロックで表現できる形状は16パターン。
パターンには底面、向き情報も含まれるので、同じ形状でも向きが違うと別パターンとみなされる。
パターンを変更しようとして直方体に戻ってしまう場合はパターン数が上限に達している。

  • 追加:インジケーター小ウィンドウ追加

-Carving時、チューナー操作時に追加情報を表示する小ウィンドウを追加。
-「/jbtoggleindicator [on|don|off|数値0:左,1:中央,2:右]」で表示の切り替え可能(短縮「/jbti」)
-設定「enableIndicatorWindowFromStart」を「false」で起動時から無効化
-onとdonの違いは「debug-on」でさらに追加の情報を表示
-donのおまけ機能としてジョイント設定画面の左下に「親移動(P)」「奥移動(F)」タブを表示

  • 追加:ジョイントの特殊設定画面にメモ欄(5文字まで)追加
  • 追加:アイテム「マウントボール」を追加

①MOBに投げる(当たるとちょっと跳ねる)
②有効状態の座席に投げる->一定距離内ならMOBが座席に搭乗

  • 追加:キー・アイテム操作モーションに新バインド「マウント」追加

-座席専用
-MOBが座席に座っているなら降ろし、空席なら指定範囲のMOBを検索して乗せる

  • BugFix:ロード時に前回搭乗状態を正しく復帰するよう修正

(ちょっと復帰時がくがくするが強制同期パケットの影響)

  • 追加:JBRobotModelに新モデル「フレイマー」追加

-火炎放射機

  • 追加:バズーカ頭モデルに[B型]追加(旧来のは[A型])

-[B型]はアクションがロケットではなく臼砲になってる
-ロケットと違って近接信管しないので当たったところで爆発する

  • 変更点:チューニング時にパーツに現モードのレイヤなければ勝手に追加(設定上限まで)
  • 変更点:プレーヤーへのスレーブ接続位置関係を変更

-コア位置を足元に合わせるようにしていたのを足元と足元で合わせる様に変更

  • 追加:MSBにシフト+右クリックで切りかえれる追従モード追加

-F:前寄りに追従 FF:さらに前寄りに追従
-B:後寄りに追従 BB:さらに後寄りに追従
-ユニットのバウンダリと弓矢などが干渉する現象への苦肉の策

  • 追加:押し移動不可を全ユニットへ解禁
  • BugFix:GUIにて非表示中のボタンにフォーカスが当たり、以降Eキーが飲まれてしまうウィジェットのバグを修正
  • 変更点:パレット画面とミラー画面もEキーでGUIを閉じれるように変更

スレイブモード時の接続処理を若干改善

  • 変更点:ブレードがMOBと干渉時にダメージを与えなくてもエネルギーを消費していたのをダメージを与えたときのみ消費するよう修正
  • 変更点:-加えてブレードhit時の消費量を少し多くした


  • 「mCube」パターンカービングについて

作者が裏機能として残した機能。形状問題を踏まえた上でも使いたいという奇特なユーザー向け。
[/give @p modJ_JointBlock:ceramicputty 1 4]で「セラミックパテ(mCube)」を入手可能。(1の部分は欲しい個数に応じて変更)
細かい仕様とうか制限は以下の通り
ノミをシフト+右クリックで現れる数値により座標の重み「のみ」変更可能(数値の分だけ凹凸を付けられる。パテの一分割に対し16段階に削ることができ、数字がない状態と16の時は16分割分、つまりパテの一分割分削る)
ブロック間で形状が繋がるのは以下の条件下のみ
・ノーマルとノーマルの間
・同じ色
・同じ分割数
色はベース色のみ(各座標に色を塗り分けは不可)
非平面四角問題のせいで向きによりポリゴンの窪み方が変わるので注意。
おおざっぱな形状が欲しい+細かいポリゴンの表面には拘らないというユーザー向け
あくまで裏機能であるいは将来verでけされるかもしれないので注意。


Ver5.0以前


Ver0.5.2での変更点

  • BugFix:エクスポート時に内部データのアトラクター数のカウントが不正となり、それによってインポートも失敗してしまうバグを修正
  • BugFix:巨大なデータ(31kB超)をエクスポートした場合のパケット作成エラーを修正
  • BugFix:マルチ環境で巨大なデータ(31kB超)をインポートしようとした場合に特定のバイト数では適切にエラー処理されずクラッシュするバグを再度修正
  • BugFix:シングルプレイではパケットの送受信を解さず、内部サーバー(Integratedサーバー)側でクリップボードに直接アクセスしインポートデータを取得するよう修正

->これにより31kBを超えるデータでもシングル時のみインポート可能。

Ver0.5.1での変更点

  • BugFix:スレイブモード接続時の「首」「視線追従」系モーション以降のパーツで発生するバグを修正。
  • BugFix:スレイブモードで機体をセーブの後、ロードするとコア部のスレイブ色が消えている不具合を修正。
  • 変更点:ジョイント系ブロックにMOBが湧かないよう修正。



Ver0.5.0での変更点

  • 変更点:追加村人の削除。代わりに通常の村人がJointBlockのアイテムとブロックを取引してくれる。
  • 変更点:様々なアイテムのレシピを追加。村人と取引しなくても、JointBlockのアイテムとブロックが入手可能。
  • 追加:JBRobotModelでobjファイル(wavefront形式)や設計図ファイルをパッケージ化して読み込めるように。マルチで遊ぶには、全クライアントに追加したパッケージを入れること。
  • 変更点:初期値のみしか入力のないモーション(モーションが「固定」の従来モーションブロック)をモーションとしてカウントしないように変更。
  • 変更点:モーションブロック最大255に増加。
  • 追加:ユニットに「スレーブモード」追加(※下記ジョイントアトラクターご参照)
  • 追加:ジョイントアトラクターブロックを追加。

スレーブモードの他ユニットを一体引き寄せて固定することが可能。
ただしスレーブモードで他のユニット(以下接続元を「マスター」と表現)は一般のユニットに比べていくつかの制限があり。
[スレーブモード下での制限]
・スレーブ時はモード変更不可となる。
->モード変更を行いたい場合は一度連結を解き、スレーブモードを解除してからモード変更を行う。
・マスター連結されている場合(ブロック・プレーヤーへの連結を除く)、操作はマスターに委譲される。
・マスター連結されている場合(ブロック・プレーヤーへの連結を除く)、エネルギー回復量が1/4になる。
->こちらは設定「slaveModeEnergyHealMult」にて数値を変更することが可能。
・スラスターは接続先マスターに働き、かつエネルギー消費量3倍
->デフォルトのスラスターモデルは上記数値が固定ですが、追加もモデルなどはjsonで数値を弄ることが可能。
・マスター連結されている場合(ブロック・プレーヤーへの連結を除く)、事故起こりそうなのでディスアセンブル不可。
設定「disableMasterConnectedDisassemble」をfalseにすれば連結状態でもディスアセンブル化になる。
[マスター・スレーブのつながり方(連結法則)]
・スロット番号さえ合っていればユニットとブロック状態のアトラクターは繋がる。
・一度繋がったマスター・スレーブは連結条件を失うまで他のマスター・スレーブには接続しない。(1対1)
・新アイテム「MSBタグ」を用いてマスター・スレーブの紐付けを限定することができる。
・ユニットとプレーヤーはMSB共通、かつユニットのスロットが0番である必要あり。
・ユニットとユニットはMSB共通、かつスレイブのスロット番号に対応したマスター待受スロットが
開放されている必要あり。MSBなしのユニット同士もMSBが共通とみなされ結合可能なので注意。
・スレイブはまずプレーヤー/ユニットをマスターとして検索し、なければブロックを検索するようになっている。
アトラクターの入手方法は別記新レシピ集を参照。

  • 追加:キー・アイテム操作モーションにアトラクター用の「切替/パージ」バインド追加

-「切替」はスロットの有効状態を切り替える。
-「パージ」は接続されているスレーブに対して指定tick期間は他のマスターやブロックと接続しないように信号を送る。
-「TE無効」は一定範囲内にあるブロック状態のアトラクターに対して指定tick期間無効化する信号を送る。

  • 追加:コア・ユニットに内部インベントリを追加

-コア<->ユニットのアセンブル/ディスアセンブル時もインベントリ内容は共通。
-ブロック状態の場合はコアからのみアクセス可能
アクセスするにはコア設定画面の右側に新たに追加されたタブをクリックする。
-ユニット状態時は下記「インターフェース」からのみアクセス可能。
-「インタラクト」枠と「固定」枠に分かれている。
-「インタラクト」枠は今回追加したユニット内部インベントリ干渉系のアクションの対象となり、「固定」はならない。

  • 追加:ジョイントシートブロック(座席ブロック)の新モードとして「インターフェース」追加。

-初期値に追加された「種別」の項目から「シート」または「インターフェース」が選択できるようになる。
-「インターフェース」であっても座席枠を一つ消費する。
[「インターフェース」特有の機能]
・搭乗不可
・ユニット時にインターフェースを右クリックするとユニットのインベントリにアクセスできる。
・座席番号1番をインターフェースにした場合、ユニットに騎乗状態でなくともユニットに紐付いた「ユニットコントローラー」から汎用キーを送信することが可能。
(※ユニットを作成(アセンブル)したプレーヤーのみ)
条件を満たしたコントローラーはアイコンの色が変わるので目安とする。
・モデルをかぶせないでください。byインターフェース君

  • 追加:JointRobotModelに新モデル「ハーベスター」と「プランター」を追加

[プランター]
・耕地&たねまき機能。
・植えるアイテムは内部インベントリのものを参照。
・耕地とたねまきでそれぞれエネルギーを消費する。
・バニラの一部農作物のみ対象。
[ハーベスター]
・ブロックと干渉しているバニラの一部農作物を刈り入れる。
・刈り入れた農作物は内部インベントリに格納。
・内部インベントリに余裕がなければそのままアイテム化する。

  • 変更点:部位破壊の修正

-コアを除く全てのパーツが破壊対象となるよう変更。
-設定「doPartsDestruction」が無効となっていたのをちゃんと効くように修正。

  • 変更点:ブロック制限の変更

-設定「maxAssembleCount」のデフォルトの数値を512に。
-設定「maxImportablePartsCount」のデフォルトの数値を512に。
・設定「maxAssembleMotionCount」のデフォルトの数値を255(←256ではありません)に
また、モーションが「固定」の旧来モーションブロックはモーション数に含めないように変更。
クライアント・サーバー間の通信も行わない。
上記設定は旧設定でデフォルト値のままのかたは強制的に引き上げられるが、
念のために設定ファイルは一度削除してから新バージョンのMODを適用するように。

  • 追加:新アイテム「アセンブリチューナー」を追加

-アセンブリ後に初期値のみ弄れるチューナーアイテム。
-自分でアセンブルしたユニットのみ変更可能。
-手に持ってユニットに向けるとブロックの選択枠が表示されるので、右クリックで選択状態。
-変更可能なブロックの場合、数値変更用のバーが表示されるので、バーをクリックして値を変更する。
-アイテム追加に伴いキー設定が追加されている。
カーソルの上下左右で親ブロック・子ブロック・兄弟ブロックに選択を移すことが可能。
一部コマンドについて、コントローラーを保持している場合のコマンド優先度を変更(jbcmなど)
-今までは座っているユニット->コントローラーに紐付いているユニットの順に検索されていたが、
コントローラーに紐付いているユニット->座っているユニットの順に変更。

  • 追加:キー・アイテム操作モーションに初期値モード・スレーブモードモード切替バインド追加

-「/jbcm」「/jbslavemode」のようにモード/スロットを変更するモーション。
-ノーマルブロックに配置することで設定可能。
-モード/スロット値のFrom(~から)とTo(~へ)を指定することで機体のモード/スロット値がFromのときのみ動作する。
-スレイブモードの場合Form(~から)とTo(~へ)に「off」も選択可能。

  • 追加:コマンド「/jbslavemode」を追加

-コマンド「/jbslavemode [off|数値]」で騎乗ユニットまたは手持ちコントローラーに紐付くユニットのスレーブモードを変更することが可能。
-「off」を指定した場合はスレーブモードが解除。
-「数値」を指定した場合はスレーブモードがONになり、指定した数値のスロットに繋がるようになる。(ディスアセンブル後のコア設定も変化)
-短縮コマンド「/jbslave」

  • 追加:コマンド「/jbchangesetting」を追加

-一部の設定を対象にコマンド「/jbdisassemble 設定名 値」でゲーム起動中に設定値を変更することが可能。
(※途中で変更しても問題ないもののみ)
-op-permission-level権限3が必要。
-このコマンドで設定した値は保存されない。
ゲーム/サーバーを再起動すると設定は設定ファイルのものに戻る。
-短縮コマンド「/jbcset」
「/jbscet help」で変更可能な設定一覧を表示する。

  • 追加:コマンド「/jbdisassemble」を追加

-コマンド「/jbdisassemble 数値」で範囲内のユニットをディスアセンブルすることが可能。
-op-permission-level権限2が必要。
-コマンド実行者がユニットの製作者である必要なし。
-短縮コマンド「/jbdis」

  • 追加:ディスアセンブル禁止設定「disableDisassemble」を追加

-デフォルトでは無効だが、設定値を「true」にすることでコマンド以外からのユニットのディスアセンブルを禁止。
-コマンド「/jbchangesetting」を用いることでゲーム起動中でも変更可能。

  • 追加:ディスアセンブル後にブロックにペナルティtickを課す設定「disassemblePenaltyTick」を追加

-デフォルトでは「0」(無効)となっているが、値を0より大きくすることで指定tickの間ブロックがアセンブル対象にならないペナルティが付与される。
-コマンド「/jbchangesetting」を用いることでゲーム起動中でも変更可能。

  • 変更点:クライアント用設定の「搭乗時第三者視点切替設定・搭乗時遠近設定・搭乗時遠景倍率設定」を廃止。

-ブロック(コア)設定の下記新タブから個別で指定するよう変更。

  • 追加:ジョイント設定画面にタブを追加

[新設定タブ「特殊設定画面」について]
・項目「アセンブリ時に透明化」にチェックを入れることでユニット化したときに該当ブロックは見えなくなる。
・項目「搭乗時に主観視点のみ透明化」にチェックを入れることで騎乗時かつ主観視点のみ該当ブロックが見えなくなる。
・項目「搭乗時に主観視点のみワイヤフレーム化」にチェックを入れることで騎乗時かつ主観視点のみ該当ブロックがワイヤフレーム表示になる。
・コア専用設定として「搭乗時第三者視点切替設定・搭乗時遠近設定・搭乗時遠景倍率設定」があり。
従来のクライアント側設定と内容はほぼ同じ。

  • 変更点:カービング状態のブロック選択枠の表示方法を修正

-金型、反転金型でブロックを選択した際、素手と同じように、ブロック全体の範囲をワイヤーで表示するよう修正。
-設計図、カラーパレットも同様。

  • 追加:人型下半身モーションのジャンプ時屈伸設定に「空中時判定」(旧来は跳躍判定)を追加

-跳躍ではなく、地面についているかどうかで屈伸の判定を行うようになる。
(※ただし段差などを降りる場合や、スラスターでちょっと浮いただけの場合なども空中時として判定されるのでご注)
-項目のタイトル名が「跳躍時~」から「空中時~」に切り替わるまで「>>」ボタンを押す。
-下記昆虫モーションでも同様の設定が可能。

  • 追加:昆虫モーションにジャンプ時の伸縮設定追加

-「デフォルト設定」で従来と同じ動作となる。
-文言が「固定」となっていますが、機能はほぼ人型下半身と同様。

  • 追加:視線追従設定に「入力時のみ追従」に「しない」「する」に加えて「離すと初期値」を追加

-離すと初期値に戻る。

  • 追加:振り子系モーション(移動で振り子・キーで振り子(アイテム側はなし))に「未入力で初期値」を追加

-ばね系とは異なり戻り方は選べない。ほぼ一息で戻る。
-(免責)サーバーと通信状況が悪い場合など、キー入力がないとみなされ戻ることがあり。

  • 変更点:ユニットコントローラーの紐付け周りを少しだけ改善

-ディスアセンブルボールなどでディスアセンブルした場合も紐付けを保つよう変更。
-ディスアセンブル信号送信時ではなく、ディスアセンブル完成時に紐付けを変更するよう修正。

  • 追加:黄色設計図と赤設計図を追加

-赤設計図は追加パッケージのカタログ販売専用の設計図。
[黄色設計図(揮発性設計図)について]
・(重要)黄色設計図は機体データがメモリ上の専用テーブル登録され、データはゲーム・サーバー終了時に破棄される。(重要)
・作者が想定していたよりもかなり巨大なデータを作成される傾向にあるので、アイテム取り回しの処理負担が少ない黄色設計図を追加。
青設計図とは違い、アイテムスタック自体に機体データが書き込まれないのでアイテムスロットの操作時など
プログラムの処理負担やクライアント・サーバー通信にコストが掛からない。
(逆に言うと青設計図に大きなデータを保存した場合はかなり負担がかかっていることになる)
・赤設計図も同様に内部に設計図データを持たず、メモリ上にあるテーブルからアイテム内に保存されたIDから
データを引き当てる形式だが、黄色設計図とは異なり毎回起動時に追加パッケージより読み込むので
データの存在は保証されている。(パッケージ内でのIDが変わらない限り。。。)
・データの失われた黄色設計図はコンストラクタでビルドしようとした時点でエラーメッセージが書き込まれる。
(赤設計図もデータがパッケージから消された場合などは同様の動作となる)
・データをエクスポートするために設計図を取りたい、などの場合には黄色設計図の使用を推奨。
・青設計図はひょっとしたら将来的に消すかもしれない。

  • 追加:設計図のシール(封)機能を追加

-/jbidコマンドの引数に「s」を指定することで設計図に封をすることが可能。
-封をした設計図はインポートもエクスポートも出来なくなる。
-赤設計図は販売時点で封がされている。

  • 追加:ミラーアイテムに「連鎖デリート機能」追加

-ミラーの機能を拡張して作ったので現状ではコアに接続されていないと破壊対象にならない。

  • 変更点:ミラーアイテム、IFFをスロット内のみ有効とするよう変更
  • 変更点:一部コマンド結果チャットが全体へブロードキャストされていたのを対象プレーヤーにのみ送信するよう修正
  • 追加:追加モデルのアクション属性に爆発ダメージのない爆発を起こせる属性を作成
  • BugFix:スラスターのずれをちょっと修正。
  • BugFix:大きすぎる設計図データを送ろうとしたときにクライアントがクラッシュするバグを修正
  • BugFix:高さ引っかかりバグのFIX(トータルの高さを少し小さめに)
  • 変更点:水に触れてもジョイントブロックがアイテム化しないよう修正
  • BugFix:エクステンダーの輝度バグを修正


  • 変更点:ユニット条件で総パーツ数に比例するタイプの要求条件を引き下げ(最大要求数を10程度に)

-ユニット選定の自由度を下げているという指摘があったので、かなり要求を下げた。
-対象となるユニットは「車両」「ホバー」「ヘリ」
-これは設定「maxRatioedUnitRequirement」より変更可能。

Ver0.3.1での変更点

  • BugFix:スケール縮小時の輝度バグ対応
  • BugFix:ユニット下限算出法の変更・修正
  • BugFix:新ジョイント種を含む設計図データのエクスポート・インポート時の不具合修正
  • 変更点:モーション等入力GUI画面の微変更
  • 追加:Editボタンを追加。数値入力項目に値を入力後、「Set」を押さないと反映されないので注意。
  • 変更点:右クリックでもボタンが反応し、それぞれ

左のボタン:-100
中央いずれかのボタン:0セット
右のボタン:+100セット

v0.3.0での変更点

  • 追加:新たなジョイント種を二種類追加。「ジョイントスケーラー」「ジョイントスライダー」
  • 変更点:基本ブロックモデルの一部見直し接続パーティクル(電撃)廃止
  • 変更点:描画を重くしている部分を見直し
  • 変更点:基本ブロックの形状も微変更。
  • 変更点:Carvingブロックの描画処理を見直し。GLで逐一コンパイルするようにしたので環境によっては少し描画が軽くなる場合もあり。

逆に環境によっては問題が起きるかもしれないが、その場合はconfigファイルの「disableCarvingGLCompile」をtrue(:無効化)に設定することでVer0.2.0までと同じ方法で描画する

  • 追加:ミラーツール追加。現状はクリエィテイブタブからのみ入手可能
  • 追加:「jbsf <数値>」コマンド追加。指定tickのあいだブロックのおおまかな種類を示す線パーティクルを表示
  • 追加:「jbsb <数値>」コマンド追加。指定tickのあいだユニットのおおまかなバウンダリ(当たり判定)を示す線パーティクルを表示
  • 追加:船ユニット「フロート型」追加
  • 追加:JBRobotModelに近接武器「ブレード」モデルを追加
  • 追加:一部モーションブロックに「振り子」「ばね式」追加
  • 変更点:スニークをしながらブロックを配置した際に、周囲の接続をブロックに向ける機能を廃止
  • 追加:「マグネットレンチ」アイテムを追加
  • BugFix:ログアウトを挟んだディスアセンブルボールを当てるとクラッシュして立ち上がらなくなるエラーを修正
  • BugFix:一部文言を修正




既知の不具合

随時報告してください


  • スケーラー、エクステンダー使用時、武器アクションの発射位置にズレが発生します。
  • エクステンダーの先にアトラクターをつけた場合、アセンブル後の表示位置と判定位置がずれます。
  • JointBlockバージョン0.8.xのマルチ対応状況については、Minecraft1.12.2版のみの対応となっています。
  • forge2768以上、または2836でoptiefineE4以上の場合、アセンブル後ユニットが透明化する。
  • 1.12.2 スレーブ機体をマスターにくっつけたままワールドに入りなおすとスレーブ機体が消えます
  • IFFタグはセンサーの敵味方判定に影響していない(不具合?)
  • IFFタグの付いたユニットは他のユニットにダメージを与えられ無い


その他、あしゅとん氏交流ディスコード>https://discord.gg/2ycdy6b
にて報告を集めてます



JointBlockの導入方法

導入方法


◆シングルプレイ
前提として「MOD解説/MinecraftForge」に従って【Minecraft Forge】を導入する。
※1.7.10-Forge10.13.4.1614推奨
1.12.2-Forge14.23.5.2768推奨 高いVerは不具合有

Ver0.7.0以降のVer

  1. 任意のフォルダの中に、ダウンロードしたJointBlock本体を解凍し、ファイル「JointBlockAllInOne○○-○○.jar」を「mods」コピー&貼り付けする。


Ver0.6.0以前のVer

  1. 任意のフォルダの中に、ダウンロードしたJointBlock本体を解凍し、ファイル「JointBlock○○.jar」、「JBRobotModel○○.jar」を「mods」コピー&貼り付けする。
  2. マインクラフトを起動、ログインしてタイトル画面まで進めたなら導入成功。


追加モデルパックを導入したいなら、minecraftフォルダのConfigフォルダ直下に「JointBlock」フォルダを作成し、zip化したパッケージを配置する。
◆マルチプレイ(他人のサーバーにログインして遊ぶ場合)
※Ver0.8.4 1.7.10用はマルチに対応していません。
編集中です。配布サイトを見て最新情報を確認してください。

...


  1. 上記の手順に従って、シングルプレイ用にJointBlock を導入する。
  2. サーバー主側から指定がある場合は、指示通りにコンフィグファイルを修正し、JointBlock以外のMODと追加モデルパックも導入する。
  3. 対象のサーバーにログイン。



◆マルチプレイ(自分でサーバーを建てる場合)

...


minecraft_server.jarのDL方法や、MOD導入以前の初期設定の仕方については「マルチプレイ」のページを参照。そもそもサーバー建てが初めての場合は、いきなりMODを導入せずに、バニラの状態で問題なく動作するかを確認する事。
前提として「MOD解説/MinecraftForge」に従って【Minecraft Forge】を導入する。

Ver0.7.0以降のVer

  1. 任意のフォルダの中に、ダウンロードしたJointBlock本体を解凍し、ファイル「JointBlockAllInOne○○-○○.jar」を「mods」コピー&貼り付けする。

Ver0.6.0以下のVer

  1. 任意のフォルダの中に、ダウンロードしたJointBlock本体を解凍し、ファイル「JointBlock○○.jar」、「JBRobotModel○○.jar」を「mods」コピー&貼り付けする。


追加モデルパックも導入したいなら、minecraftフォルダのConfigフォルダ直下に「JointBlock」フォルダを作成し、zip化したパッケージを配置する。

  1. サーバーを起動。正常に起動し、MOD内容が反映されていれば導入は終了。



対応環境

JointBlock Ver0.8.4

  • ◆Minecraft 1.7.10
  • ◆Minecraft 1.12.2(それぞれのVer用MODあり)


過去の対応環境


(MOD名) ver

  • ◆Minecraft X.X.X
  • Minecraft Forge x.x.x.xxx ~




追加ブロック・アイテム・レシピ一覧

JointBlockで追加されるブロックやアイテムの、生成方法と使用方法の解説である。
パーツである「ブロック」「モデル」、設定や操作をする「ツール」「R.I.N.G.※」、
動きを設定する「MCTRL」、ユニット性能を補正する「アイテムアドオン」などがある。
R.I.N.G.に付いては非常に複雑な為、別ページを設けている。
追加ブロック&アイテム&レシピ&インターフェース一覧

チュートリアル

ユニットの基本的な作成方法や、操作方法を解説している。
JointBlockで出来る事は多岐に渡り、応用できる事も多いので、
当ページ上部の関連サイトの動画や非公式フォーラム、交流ディスコードなども活用するとよい。
チュートリアル一覧

R.I.N.Gシステム解説

JointBlockで作成したユニットは、「R.I.N.G.(リング?)」と言うシステムで
動きや自律行動を簡易プログラミングする事ができる。
R.I.N.G

追加コマンド一覧

JointBlockには、ユニットの操作や作成を補助するためのコマンドが用意されています。
※この項目は網羅されていない可能性があります。

コマンド一覧


コマンド名 説明
/jbcamera x

(短縮/jbcam)
カメラ切り替え

騎乗状態で指定したカメラへ切り替え。(x=1~4の座席番号、offで初期)「/jbcam」だけなら自動検出。
/jbchangesetting x y

(短縮/jbcset)
ゲーム中設定値変更

一部の設定を対象にコマンド(x=設定名 y=値)でゲーム起動中に設定値を変更することが可能。


(※途中で変更しても問題ないもののみ)
このコマンドで設定した値は保存されない。ゲーム/サーバーを再起動すると設定は設定ファイルのものに戻る。
「/jbscet help」で変更可能な設定一覧を表示する。
op-permission-level権限3が必要。

/jbchangemode x

(短縮/jbcm)
別初期値に切替

ユニットに設定されている複数の初期値を切り替える。

このコマンドを利用すれば機体の変形も可能になる。
xは設定したモーション初期値のページ。xに番号指定。

/jbdisassemble x

(短縮/jbdis)
アセンブル解除

範囲内のユニットをディスアセンブルする。

xは自分を中心とした円の半径の範囲で、この範囲内のユニットがディスアセンブル対象となる。
ユニットを逆アセンブルできない場合に有効。
コマンド実行者がユニットの製作者である必要がない。op-permission-level権限2が必要。
「/jbdis」だけでも実行可能に(範囲64)
「/jbdis」のみの場合は他ユニットスレーブ状態のユニットを解体できないように
スレーブも無理やり解体したい場合は「/jbdis x force」で強制解体

/jbexportdata

(短縮/jbed)
データエクスポート

手に所持中の設計図(販売品除く)の中にあるユニットデータ,複製金型データおよびパレットデータを

クリップボードへエクスポートする。
-「b」オプション付加時、データを改行付きでクリップボードに出力。

/jbimportdata

(短縮/jbid)
データインポート

手に所持中の設計図複製金型データ,パレットデータを

クリップボードからインポートする。

-「s」オプション付加時、設計図に封をすることが可能。封した設計図はインポートもエクスポートもできない。なお、マルチ時には31KBまでしかインポートできない。
ユニットをインポートする際には、セラミックパテの最大分割数と最大モーションブロック数、最大総ブロック数を超えないようにする。
超えてしまうようなユニットをインポートする場合、下記のConfigファイルの設定を変更する必要がある。

/JBshowBounds x

(短縮/jbsb x)
当たり判定確認

xの指定tickのあいだ

ユニットのおおまかなバウンダリ(当たり判定)を示す線パーティクルを表示する。

/JBShowFrame x

(短縮/jbsf x)
コアブロック確認

xの指定tickのあいだ

ブロックのおおまかな種類を示す線パーティクルを表示する。
赤・コアブロック本体
青・コア接続ブロック
黒・ユニット化条件ブロック
灰・コア未接続ブロック

/jbslavemode x

(短縮/jbslave)
スレーブモード変更

搭乗ユニットまたは手持ちコントローラーに紐付くユニットの

スレーブモードを変更するxにoffを指定することで、スレーブモードが解除。
xに数値を指定した場合はスレーブモードがONとなり、指定した数値のスロットにつながるようになる。(ディスアセンブル後のコア設定も変化)

/jbtoggleindicator x

(短縮/jbti)
ウィンド位置変更

追加情報を表示する小ウィンドウの表示を切り替える。

xに表示の仕方を指定。onで表示。offで非表示。donでデバック情報の表示。数値0:左,1:中央,2:右で表示位置切り替え。

/jbbuildobj x

(短縮/jbbo)
3Dデータ出力

アセンブルチューナで選択中のユニットを3Dデータとして

config/JointBlock/objoutフォルダにobj形式でエクスポートする。(同時に出来る.mtlはカラーマップ)
引数無しの場合、コア下ユニット最下部を中心にobjファイルを生成。「C」をつけるとコアを中心にしたobjファイルになる。
「t」をつけると、ポリゴン面が三角のみになる。
出力したデータはモデルパックに使用することも出来る。
エクスポートは失敗しやすい為、複数回実行するとよい。成功時はゲームの動きが暫く止まる。

/jbshowconnection x

(短縮/jbscon)
接続方向確認

シングルプレイのみ、アセンブルチューナを持っている時、設定数値Tickの間、

ブロックの接続方向を可視化する。

/jbringdebug x

(短縮/jbdr)
R.I.N.G.デバッグ

シングルのみコントローラーを持っている状態で

R.I.N.G.内の動きが見えるようになる。
/jbdr 数値で0~3番目のR.I.N.G.を表示。 /jbdr offで非表示

/jbitemedit x

(短縮jbitem)
ツール設定

手持ちのIFF・MSBに固定値を設定(1~)

/jbitemedit capsuleで手持ちの設計図をカプセルに変換

/jbclientsetting

(短縮jbclient)
エフェクト切替

JB由来のサウンドとパーティクルのON/OFF切り替え可能。

文法は「jbclient sound off」など



Configファイルでの設定変更

コンフィグファイルの中身を書き変えることで、設定を変更できる。
MOD導入後に「/config/JointBlock.cfg」が生成される。
(Ver0.7より前の場合は、モデルに関するコンフィグ「JBRobotModel.cfg」も生成されます。)
ファイル内におけるItemIDは、実際のゲーム内におけるIDより-256した数値で記載されているので注意
行頭の大文字は、値のタイプを表す。
(B:Boolean 真偽値(true or false) I:Integer 整数 S:String 文字列 "(ダブルクォーテーション)は必要ない)
Ver0.7.3になり、一部項目が不要になった。
また、追加項目は起動時に自動生成される。

config一覧


項目 デフォルト 説明
Client_Side_conf
cutoffMouseScrollWithCtrl false
disableCarvingGLCompile false カービングGLコンパイルを無効にする
enableIndicatorWindowFromStart true
enableJointBlockParticle true JointBlockのパーティクルエフェクトを有効にする。
enableSlaveProcessOrderFix true スレーブプロセス指図の修正を有効にする。
indicatorWindowPosition 2
priorReceiveJBPacket true 以前の受信JBパケット
unitStatusBarOffsetX 0 ステータスバーのX位置
unitStatusBarOffsetY 0 ステータスバーのY位置
common_config
configVersion 5 コンフィグのバージョン。古いバージョンなら正しく設定が反映されない場合あり。
server_side_config
allowAnyBlockForModel false ブロックモデル使用の許可。trueで他modで追加されたブロックもほぼ全てモデルとして使用可能になる(例外あり)。
allowedModelBlocks モデルブロック使用の許可。一括で設定する上の設定に対してこちらはID指定でブロックごとに個別に行う。
baseUnitEnergy 100 基本En この数値にユニットタイプ係数とアドオン修正が入る(50~32767)
baseUnitHealth 100 基本体力 この数値にユニットタイプ係数とアドオン修正が入る(50~32767)
bypathPlayerDamageToUnit true trueでPlayerの受けるダメージを機体が肩代わりする。

(クリエイティブの場合/Killコマンドを使うと機体だけ壊れるので便利。)

disableDisassemble false 逆アッセンブリを無効にする
disableMasterConnectedDisassemble true マスター連結中のスレーブユニットのディアセンブル不可(falesで可)
disassemblePenaltyTick 0 逆アッセンブルペナルティー時間。再アッセンブルまでのディレイの事。
enableCarving true 彫刻を可能にする
enableDataExport true falseでサーバ側のクリップボードへのデータのエクスポートを拒否する。
enableDataImport true マルチ専用。falseでサーバ側のクリップボードからのデータのインポートを拒否する。
enableOverpowerNode false R.I.N.G.の「Block状態検知ノード」使用許可
entityJointedTrackingRange 64 描画可能の距離の変更
fluctuateUnitHeight false
fluctuateUnitHeightThreshold 1.0
maxAssembleCount 32767 ユニットに使用できる総ブロック数を設定する。

総ブロック数が上限数を超えた場合、遠いところから脱落する。
設定可能範囲(0~32767)

maxAssembleMotionCount 255 ユニットに使用できるモーションブロック数を設定する。

モーションを設定していないブロックは含まれなくなりました。
上限数を超えた場合、遠いところから脱落する。
設定可能範囲(0~255)

maxAssemble(X,Y,Z)Range 64 コアを中心にユニットのアセンブルする範囲を設定する。

X,Y,Zの3項目で範囲設定。
この数以上遠いとアセンブル時に脱落する。
64にすると全長129ブロックまで?
設定可能範囲(0~64)

maxCarvingDivide 4 セラミックパテ(Ceramic Putty)の最大分割数を設定する。7分割以上はPCに負荷がかかるので非推奨。パテで分割できないだけで、設計図や金型での生成は設定に関わらず16分割まで可能。

設定可能範囲(0~16)※パターンカービングは5分割で固定

maxImportablePartsCount 32767 設計図にインポート可能なパーツ数を制限する。
maxInitLayers 5 初期値レイヤーの設定上限。設定可能範囲(1~127)
slaveModeEnergyHeal 0.25 スレイブ状態のユニットのエネルギー回復速度。マスターと同じ場合は1。設定可能範囲(0.01~1000)
unitFuelEfficiencyMult 0.01
worldMaxEntityRadiusModifier 2.0
以下削除されたconfig
disableUnitRequiremen false ユニット要求者を無効にする
largeUnitAbilityFixType 1 大型ユニット能力修正タイプ 値を2にすると脚の長さに比例して速度増加(※非推奨)
fixHealthAndEnergyAtMax false
maxUnitEnergy 1000 ユニットのエネルギーの最大値。設定可能範囲(50~32767)
maxUnitHealth 1000 ユニットのHPの最大値。設定可能範囲(50~32767)
maxRatioedUnitRequirement 10 タイプ条件の必要ブロック数上限(車輪型のタイヤやヘリブレードなど)設定可能範囲(10~32767)
unitEnergyRecoveryMode 0 エネルギー回復に石炭が必要かどうか。1にすると不要。
doPartsDestruction true パーツの破壊



他のMODとの競合情報

同作者のMOD「Starminer」で追加される静止軌道ディメンションでは全ユニットが飛行動作可能。
前提に使用する【Minecraft Forge】も非常に競合の原因になりやすいMODであり、1.12.2環境では27682836以外は安定しない。
1.12.2環境ではさらにOptifineとの競合も報告されており、OptiFine 1.12.2 HD U E3以外では安定しない。
上記以外のバージョンのForgeまたはOptifineを使用した場合、本MODのユニットが描画されなくなるなどの不具合が発生する模様。
また、単純な競合の他に、【Minecraft Forge】本体との互換性問題もある。詳しくは「MOD解説/MinecraftForge」のページも参照の事。

随時ご報告ください


OptiFine_1.7.10HD_U_E3にすると、カービングの角が表示されなくなり、面ごとの影の向きもおかしくなります。
※使用できる最新バージョンはOptiFine_1.7.10_HD_U_D6です。
RealTrainModと競合するらしく、RTMでのブロック選択ができなくなります。

modern warfareと競合。クラッシュを確認



用語集

JointBlock独特な用語、よく使う用語の簡単な解説


  • アイテムアドオンコアに入れるアドオン効果の付いたパーツ。設計図には入らない。
  • アクションモデルブロックのGUIに入れるモデルの内、射撃などアクション機能が付いたモデル。
  • アセンブルユニットをブロック状態から搭乗状態にすること。
  • アドオン体力や移動速度など機体性能を補正する機能。モデルアドオンとアイテムアドオンの2種類がある。リミットキーで装備可能数が制限される。

  • カービング彫刻機能、または彫刻作業のこと。ブロックにセラミックパテを塗るとノミで削れる様になる。
  • コアメインになる追加ブロック クリックするか関連付けしたコントローラからGUIを開く。

  • 初期値アセンブルした時取るポーズの設定値。各ブロックに0~127番まで設定する事が出来き、アセンブル後に切り換える事が出来る。
  • スケーラーブロックの大きさを変更するブロック。0~300%まで変更できる。
  • スライダー上下左右前後に移動させるブロック。
  • スラスターデフォルトのアクションモデルのひとつ。エネルギーを消費して機体を加速させる事が出来る。
  • 設計図テキスト文でユニットの設計データを取るアイテム。コマンド/jbedでクリップボードに入り、メモ帳などにペーストできる。

  • ディスアセンブルアセンブルの逆で、ユニットを搭乗状態からブロック状態にすること。


  • パタカパターンカービングのことを指す。カービング状態のブロックをパターンカッターで削ることでブロクを斜めに彫刻する事が出来る。

  • モーションブロックに設定する様々な動きのことを指す。設定されたブロックはモーションブロックとして認識し、256個まで設置できる。
  • モーションブロック追加ブロックの内、モーションを設定したブロック。最大256個まで設定できる。
  • モデルブロックのGUIに入れる事で、そのブロックの見た目を変更させるアイテム。
  • モデルアドオンアドオン機能の付いたモデル。ブロックに入れる事でアドオン効果を得ることができる。
  • モデルパッケージモデルを追加で作成したもの。テキスト文で書かれた設定ファイルと、3Dモデルデータ、モデルのテクスチャから成る。

  • ユニットJointBlockで作った機体の総称。

  • ロテ・ロテタローテーターブロック。回転させるブロック。これを使うことで斜めにブロックを配置したり、グルグル回したりできる。
  • ローテーター造形ローテータやスライダーなどでブロックの位置を調整し造形する手法。カービングだけでは難しいなめらかな曲面や細かい造形が可能となる。
  • R.I.N.G.


英数

  • ENエネルギーのことを指す。機体がR.I.N.G.の実行及び武器モデルの動作を行うのに必要。ENケージが尽きたらいったん残りEN値を消費してチャージされる。残りEN値はコアブロックのメニューから燃料で補充する。
  • MCTRLモーションコントロール 通称「チップ」。入れる事でモーションブロックに様々な動きを指定できる。
  • R.I.N.G.簡易プログラムを書き込むことが出来るアイテム、または機能名。アイテムGUIを開いてプログラムを作成し、コアGUIに入れて使用する。使用にはENが消費される。


※聞きなれない用語やよく使う用語などあれば追加してください。編集用コメントでもよいです。



よくある質問

Q.アセンブル後のユニットの武器とR.I.N.Gが動作しない。
A.燃料は入れましたか?武器とR.I.N.GはEN値が無いと動作しないので、石炭などの燃料が必須になります。 燃料はジョイントコアのメニューから「コア燃料設定」のタブを参照し、燃料スロットに入れましょう。

Q.他人のユニットデータを取り入れたい又は自分のユニットデータを配布したい
A.チュートリアルのページのユニットのデータ保存、呼び出しを参照してください。

Q.マルチプレイで自分のユニットデータが読み込めない
A.現バージョンでの仕様で、マルチプレイでのユニットデータの最大サイズは31kBまでとなっております。
どうしてもユニットデータを読み込ませたい場合はサーバーの管理人と相談し、モデルパッケージ内の設計図として扱うのが良いでしょう。
なお、独自のモデルパッケージをマルチサーバーで運用する場合には、クライアント側にモデルパッケージをインストールする必要があります。

Q.モデルはどうやって入手できる?
A.モデルカタログを使用してモデルを購入しましょう。購入にはエメラルドが必要です。

Q.ディスアセンブルができない
A.ディスアセンブルを行うには十分な広さの場所が必要となります。特に複雑な機構やカービングを多用した機体はディスアセンブル時に数チャンクほどの場所が必要になります。
また、ディスアセンブル時にはユニットがエンティティからブロックに変換されますので、建築物の近くで行うとユニットのブロックが建築物を侵食する場合があります。
草原バイオームのような平坦な場所や何もない空中でディスアセンブルすることをお勧めします。

Q.体力やENが10になるんだけど?
A.ユニット型の計数やアドオン効果などで32767を越えると10になります。Configでベース値を下げれば治ります。

Cookieは私達のサービスを提供するのに役立ちます。このサービスを使用することにより、お客様はCookieの使用に同意するものとします。