﻿#### Heat&Climate Lib 2.5.5 for Minecraft 1.12.2 ####


# 前提Ver&Mod

・Minecraft1.12.2
・MincraftForge 1.12.2-14.23.3.2655

### 注意事項! ###

・このMODは、正式版に移行しましたので、以下の対応は通常通り行います。
　　・不具合報告への対応と修正。
　　・他MOD連携の検討・実装開始
　　・マルチでの起動確認(基本的に開発と同ビルドのForge鯖で行います。)

・このMODは、前提MOD・本体MODを別々にDLして導入する構成になっています。
　こちらは　*** 前提MOD　*** です。

・前提MODですが、これ自体に色々な機能を搭載しています。
　コアモッド要素を含む様々なワールド改変要素を含みますので、テスト環境を作ってテストされることをお勧めします。

※マルチプレイについて

起動確認のみで、テストプレイ開始にはもうちょっとかかりそうです。
但しクラッシュレポートがあれば検証・修正はある程度出来ますので、ご報告などは気兼ねなくどうぞ。


# 使用方法

・MincraftForgeの導入後に作成されるmodsフォルダの中に、DLしたファイルを.jarファイルのまま置いてください。



# 配布DL先
 投稿フォーラム：http://forum.minecraftuser.jp/viewtopic.php?f=13&t=17657
 URL：http://defeatedcrow.jp/modwiki/HeatAndClimate


# 概要

AppleMilkTeaにあった熱源ブロック、乾燥や発酵のBiome条件など、散り散りバラバラだった環境参照要素を『座標毎のClimate値』として統一し、
バイオームや範囲内の環境要因ブロックによって変動させたり、Climate値を利用してレシピ処理や設置オブジェクトの変化を起こすMODです。

AMTの設置可能オブジェクトを更に発展させ、リアルタイムでの状態変化をより自由な配置で、汎用的に起こそうというものです。

その他、過去のMODで技術不足により断念したもの、追加はしたものの造りに納得していないものなども総合的に投入していく予定です。


※現時点で実装してある主な要素（仮実装も多く、各仕様はいずれ変更される可能性があります。）
　「ベース」とあるものは、前提MODだけでは要素としてはなにも追加されません。本体であるHaCMODを一緒に導入してお楽しみ下さい。

　―気候システム
　　　・周囲のバイオームとブロック構成によって決まる環境パラメータ
　　　・高温・低温でダメージが発生、防具の重要性が増すように
　　　・環境によっていろいろなものが自然変化する
　―より改良された、圧縮コンテナシリーズ
　―置ける食べ物システム改
　―気候からエネルギーを取り出して動力にする「トルクエネルギー」のシステム
　―気候利用作物のベース
　―プレイヤーインベントリの最上段9スロットに置いておくと発動する、チャームシリーズのベース
　―追加液体と液体クラフティング(醸造や発酵、鍋料理など)

※上記に加え、バニラ要素の改変を色々と搭載しています。
　多くはコンフィグでOFFにも出来ますので、お好みでご使用下さい。

　―(AMTからの引き継ぎ)跳躍ポーションで落下ダメージを無効化できる
　―(AMTから引き継ぎ)騎乗中モブにポーション効果を分け与える
　―一部のアイテムに鉱石辞書名を追加&鉱石辞書を使ったアナザーレシピの追加
　―気候によって変化するバニラの自然ブロック
　―高湿バイオームの地底には溶岩の代わりに水を生成
　―ツールチップの拡張(ツールの最大耐久値や採掘速度、防具の気候耐性値を表示)

　前提MODとして、上記の要素のベース部分や、追加を補助するための要素が含まれています。


AMT&アドオンシリーズの再構成という性質もあるので、AMTにあった要素の類似の物は追加されると思います。
但し移植ではなく、システムを手直しした一新となるため、勝手が同じとは限らない点ご留意下さい。


# 詳細

○気候システム！

このmodのメイン要素であり、modのあらゆる要素に関わります。

●基本の遊び方

　気候は「温度(HeatTier)」「湿度(Humidity)」「通気(Airflow)」の三要素です。
　Biomeの持つベース値と、範囲内(温度は5x5x5、他は3x3x3)のBlockの持つ変動要素から算出されます。
　確かめるには、「気候チェッカー」を右クリックでブロックに使用してください。

　この三要素が条件を満たす場所にブロックやエンティティを置くと、それが設置された状態で色々と変化します。
　たとえば、リンゴ箱を焼いて焼きリンゴにするときは、
　通気が少ない屋内(リンゴ箱を地中に埋めてもOK)で、火のそばにリンゴ箱を置いて加熱すればOK。

●気候ダメージ

　高温/極低温の環境では、あらゆるモブ(プレイヤー含む)はダメージを受け続けます。
　通常環境ではハート半分でダメージは止まりますが、極限環境ではとどめを刺されます。
　ただし軽減方法が多くあるため、対策は簡単です。

　・防具やアクセサリーを身につける(金属よりは布や革の方が気候に強いです。)
　・(熱気の場合)火耐性ポーションでほぼ無効化できる
　・温度を相殺するブロックを置いて周囲の温度を調整する
　・(バイオームのベース気温の場合)日陰に入ることで気温を一段階緩和できる

　ダメージの有無は、体力ゲージの左あたりに出てくるハートマークで見分けられます。
　スリップダメージ/致死ダメージ有りの環境にいる場合、ハートのアイコンが変化します。

●バニラ仕様への気候の影響

　・寒冷気候では明るくても氷や雪が溶けず、温暖では溶けるように
　・一定以下の気温では自然に氷ができはじめる
　・寒冷では作物が育ちづらく、WARM気候では早く育つ
　・気温WARMかつ湿度WET(ジャングルなど)では、雑草が勝手に伸びる

●各要素について

　それぞれの要素の物を配置して、周囲の気候を調整できます。

・温度

　　14段階のTierで定義されます。

　　高温のバイオーム：砂漠、ジャングル、ネザーなど
　　低温のバイオーム：タイガ、雪原、エンドなど

　　高温のブロック：火、溶岩、稼働中のかまど、燃焼チャンバー、たいまつやジャックオーランタンなど
　　低温のブロック：氷、氷塊など

　　バイオームとブロックで、温度の変動仕様が異なります。
　　バイオームの場合：
　　　・屋根の下では1段階気温がやわらぎ、NORMALに近づく
　　　・雨が直接当たる条件では気温が1段階下がり、晴天が一定期間続くと日照りにより気温が一段階上がる
　　　・高度100以上では気温が1段階下がる

　　ブロックの場合：
　　　・熱源の影響範囲は熱源から2ブロック先まで
　　　・熱源との間に断熱効果のあるブロック(木材や羊毛、レンガ、スポンジなど)があるとTierが下がる

　　※範囲内の最も高温の要素を最も低温の要素で相殺し、得られる値がその範囲の気温になります。重ね置きは意味がありません。
　　　また、CRYOGENIC以下の極低温にするには高Tierのマシンが要求され、低温にする方向の調整は高温より困難です。

・湿度

　　3段階のTierと、水没判定で定義されます。
　　水ブロックなど湿ったブロックの数や、雨天により湿度が上昇します。

　　高湿度のバイオーム：ジャングル、沼地など
　　乾燥のバイオーム：砂漠、サバンナ、ネザーなど

　　高湿度のブロック：水、しめったスポンジなど
　　乾燥のブロック：乾いたスポンジなど

　　※高湿判定と乾燥判定の数は互いに相殺します。
　　※水没して周囲にAirのない状況は特にUNDERWATERとなり、水没判定に使われます。

・通気

　　4段階のTierで定義されます。
　　主に高高度の座標と雨天時に風(Wind)が発生します

　　風の強いバイオーム：山岳
　　風のないバイオーム：ネザーなど、空がないディメンション

　　※通気のみ判定が特殊で、範囲内の空気ブロックの数といくつか環境要因で判定されます。
　　　　空が見える条件→FLOW　見えない(屋内判定)→NORMAL(バイオーム依存)
　　　　雨天時に屋外にある→WIND
　　　　風を起こす装置がある→WIND
　　　　Y=140以上→WIND
　　　　空気ブロックが2個以下→TIGHT
　　　

●気候チェッカー

(レシピ)※仮レシピです
 X
YZY
 X
X=カルセドニー各種
Y=金インゴット
Z=赤石
右クリックで使うと、クリック座標の5x5x5範囲内の熱・3x3x3範囲内の湿度･通気をチェックし、得られた気候情報を表示します。
また、現在の気候で変化するブロックをクリックした場合はメッセージが出ます。


○ハードモードの搭載
　プレイヤーにもPCにも優しくないため、デフォルトではすべてOFFです。
　お好みでご使用下さい。

　●Hardmode Vanilla Recipe
　　・WARM~HOT & WET
　　　砂->土、土->草ブロックへの自然変化が（まばらに）起こるように
　　　砂漠の枯れ草->樫の苗木に変化するように
　　・SMELTING~ & DRY
　　　草ブロック->土、土->砂の自然変化
　　　苗木->枯れ草
　　・UHT~
　　　植物の自然発火
　　・INFERNO
　　　マテリアルがROCK、SAND、GROUND(つまりほとんどの地形構成ブロック)がまばらに融解して溶岩に変化していく

　●INFERNAL INFERNO
　　・ネザーの気温設定がINFERNOに
　　・火耐性モブの高温耐性を引き上げ、高温ダメージを完全無効化

 ●Suffocation
　　・Airflow=TIGHTの場所では、水中と同じように窒息効果などのペナルティが発生するようになる。
　　　発生基準は頭の位置の座標で決まる点に注意。
　　　発生中は水中のようにFogやAirゲージが出現し、対策方法もバニラの水中活動と同じになる。

　●Anaerobic Underworld
　　・Y30以下の屋内が通気NORMALではなく通気TIGHTになります。
　　　Suffocationと組み合わせると、地下に潜るために水中呼吸ペナルティの対策が必要になります。
　　　反面、TIGHTが必要な金属精錬には有利になります。

○気候耐性設定
　防具アイテムとモブに対し、コンフィグファイルから耐性を設定できます。
　登録に使う名称は、レジストリネーム（NEIのダンプファイルなどで確認できる）を使用して下さい。
　書式はファイルに既登録の例を参考にして下さい。


○その他の仕様

　・バニラのジャンプ力増強ポーションで落下ダメージがなくなる効果
　・騎乗している乗り物MOBにポーション効果を分け与える機能
　・一部バニラアイテムに鉱石辞書名追加
　・アイテムのアナザーレシピ追加(骨粉、矢、火打ち石など)
　・ツールや防具のツールチップ拡張(耐久度、採掘レベル、気候耐性値が見える)

●地形生成への干渉要素
　バニラの地形生成などにも多少の介入を行っています。コンフィグでOFFにできるので、お好きに調整してご使用ください。

　・水中が少し明るくなる
　　バニラの水中FOGがきつすぎて水中建築が映えないので、水の透明度を変更。
　　海底から水面や遠景が十分見渡せるくらいに調整を行っています。

　・高湿バイオームでは地下に溶岩が生成しない
　　1.3.0より、溶岩湖や地下渓谷にも変更を加えているので、沼やジャングルでは溶岩が全く生成しなくなります。

　・海洋バイオームの地下洞窟が水没する（コンフィグON時のみ）
　　Y=40以下が水没します。
　　廃坑は水没しません。


### 更新履歴 ###

1.X.Xの内容は1.10.2版HaCLibのReadMeをご確認ください。

○2.5.5
　修正
　　・ジャンプ、スニークのキーコンフィグが効いていないのを修正

○2.5.4
　修正
　　・BlockSetでのNull落ち
　　・いくつかの成否ログを非デバッグモードでも出力
　　・火耐性モブを熱にもうちょっと強く

○2.5.3
　修正
　　・コンフィグファイルのいくつかのタイプミス
　　・モブの温度耐性の再調整

○2.5.2
　変更
　　・DropItemの状態で全ての気候精錬レシピとバニラ精錬を扱えるように
　　　コンフィグで切り替え可能（デフォルトOFF）
　修正
　　・海底洞窟の生成挙動

○2.5.1
　変更
　　・Jarに署名した
　　・ブロックの気候設定をjsonで登録できるようにした

○2.5.0
　変更
　　・気温Tierを14種に増やした (+2)
　　　極低温のCRYOGENIC、水の沸騰温度のBOILが増えた
　　・ドロップアイテムの更新処理にフックするイベントをASMで挿入
　　・気候レシピの検索範囲を少し広げた
　　・耕地のUpdate処理時、State設定方法をちょっと変更
　修正
　　・いくつかのタイプミス
　API
　　・ドロップアイテムの状態で自然変化する気候レシピの追加用API
　EX
　　・(試験的)BoPの耕地にもHaCの耕地システムを挿入してみた

○2.4.9
　変更
　　・Entity設置アイテムに、実績トリガー解除処理を入れた
　　・コンフィグで季節の長さを変更可能にし、デフォルト60日にした

○2.4.8
　修正
　　・時間経過のチェックにWorldTotalTimeを使わないように

○2.4.7
　修正
　　・気候ダメージ耐性の計算式を修正

○2.4.6
　変更
　　・作物系ベースクラスにIPlantableを実装
　　・レシピ変換クラスにクラフトレシピのサイズ判定を追加

○2.4.5
　変更
　　・ブロックベースクラスをバニラのRotate処理に対応
　　・ハードモードレシピの草・土風化の条件を緩和した

○2.4.4
　変更
　　・ブロックのベースクラスのSolid面設定、ピストン動作可能判定など手直し
　修正
　　・海底の峡谷生成が途切れがちになる

○2.4.3
　変更
　　・海洋バイオームの洞窟を水没させるコンフィグを追加
　　・溶岩のFog濃度を調整するコンフィグを追加
　　・水のFog濃度の調整コンフィグを追加し、調整のオンオフ切り替えコンフィグを廃止
　修正
　　・2ブロック作物の収穫後のState

○2.4.2
　修正
　　・作物ベースクラスのデフォルトの適正気温を修正

○2.4.1
　修正
　　・防具モデルの腕振りが体に追従しないのを修正
　　・Entityの衝突時の動きの修正

○2.4.0
　修正
　　・ItemStack操作用のUtilメソッド追加
　　・独自レシピのinput登録方法をちょっと改良

○2.2.3
　修正
　　・マルチでのクラッシュ

○2.2.2
　修正
　　・食べ物ベースクラスのaddStats処理を差し替え

○2.2.1
　修正
　　・食べ物ベースクラスの右クリック処理を修正
　EX
　　・Guiのベースクラスを追加

○2.2.0
　API
　　・破砕機レシピのAPIとJEI表示
　EX
　　・石臼、紡績機のレシピJEI表示を改良
　　・移植補助としてラップメソッドを追加

○2.1.5
　EX
　　・zh_cn.lang更新

○2.1.4
　変更
　　・通気判定では、プレイヤーの下方向に空間が十分あってもFLOW以上になる
　　・防具の細身モデルの無駄な処理を省略
　修正
　　・設定ファイルでモブの気候耐性を0.0Fに設定しても反映されない問題

○2.1.3
　修正
　　・液体アイテムの処理の修正

○2.1.2
　変更
　　・クラフトレシピを独自クラスに差し替え

○2.1.1
　修正
　　・バッジが消費されない

○2.1.0
　Recommended更新によりForgeを2554にアップデート
　修正
　　・ワイルドカード使用レシピが動かない問題
　　・アイテムの容器返却処理

○2.0.4
　修正
　　・耐寒ポーションが悪性扱いになっていた
　API
　　・アミュレットのインターフェイス

○2.0.2
　修正
　　・液体容器の取り扱い部分の修正

○2.0.1
　修正
　　・液体アイテムの取扱部分の修正
　　・JEIで材料の欠けたレシピを表示しないように

○2.0.0
　全般
　　・1.12.1に対応
　API
　　・ClimateHelperクラスを作成
