011回の計算で何が行われるか
まずアイテムレベルの基本時間があり、次にアイテムの環境に応じて温度と劣化速度が変わり、サーバーが残り時間を計算します。
温度曲線は劣化速度を調整し、「効果」サブページは食べたときの温度効果を調整します。両者は独立したリストで、ある効果を設定しても保存期間が自動的に変わることはありません。
durationMinutes に保存するときは整数分にします。内蔵アイテムは設定クラスの10℃初期温度を上書きすることがあるため、クラスの既定値をすべての食べ物の初期温度と見なさないでください。ShelfDurationUnit、S2ShelfConfig、ShelfTemperatureCurve.effectiveRate。02エディターの8つのサブ Tab
以下の8つのタブはゲーム内「保存期間」エディターの並びと同じです。項目を選ぶとフィールド、用途、紛らわしい境界を確認できます。Web ページから設定は保存できません。
保存期間
新しいアイテムの基本保存時間と基本劣化倍率を設定します。単位ボタンは分、時間、日、ゲーム日で切り替わります。入力には小数を含められ、保存時に整数分へ換算されます。あるディメンションに倍率を設定しない場合、そのディメンションは1倍のままです。
| 編集可能項目 | 作用 |
|---|---|
| 保存期間 / 基本劣化倍率 | 開始時間と劣化速度の基準をそれぞれ決めます。倍率0は基本減少がゼロであることを意味します。 |
| 期限切れ産物 / 温度継承 | 期限切れ時に指定アイテムへ置換します。minecraft:air は消滅を意味します。継承を有効にすると期限切れ瞬間の温度だけを産物に渡し、産物の保存期間は新しく計時されます。 |
| 期限切れコマンド | 所持者の手元でアイテムが期限切れになったとき、所持者をコンテキストとして実行します。空欄なら実行しません。コンテナ内やドロップアイテムの期限切れでは発動しません。 |
| ディメンション劣化倍率 | ディメンションごとに ID で劣化倍率を設定します。たとえばネザーをメインワールドと変えられます。温度オフセットではありません。 |
ItemConfigEditScreenV2.buildShelfEditor、S2ShelfConfig.durationMinutes、ShelfDimensionMultiplier。基本
ここではアイテム温度が到達できる上下限、初回計時開始時の温度、摂取可能な温度範囲を定義します。劣化倍率を直接変更することはありません。既存アイテムの現在温度は、初期温度を変更してもすぐにはリセットされません。
ItemConfigEditScreenV2.SHELF_COMMON_LABELS、S2ShelfConfig.Common。温度曲線
各曲線は開始/終了温度と両端の劣化倍率を設定し、区間内では温度に応じて線形に変化します。開始前と終了後のバッファを任意で設定し、区間外で倍率を滑らかに1倍へ戻せます。バッファがなく区間外の場合、1本の曲線の寄与は1倍です。
temperatureCurves は残り保存時間の消費を調整し、摂取時のポーション効果は設定しません。ShelfTemperatureCurve.multiplierAt、multiplier、ItemConfigEditScreenV2.buildShelfCurveRows。効果
必要に応じてカスタム温度帯を追加します。各記録には効果 ID、作用温度区間、端点を含むかどうか、開始/終了レベルと時間、粒子スイッチがあります。食べたときに現在温度がその区間に一致した場合のみ、端点間の線形補間でレベルと持続時間を決めます。
temperatureEffectCurves の統一リストに準拠します。冷鮮/常温などの区域名からポーション効果が自動生成されることはありません。ShelfTemperatureEffectCurve、ShelfTemperatureEffectMigration、ItemConfigEditScreenV2.buildShelfZoneEffectRows。自然環境
アイテムは自然環境で目標環境温度へ向かって変化します。基本温度変化量と間隔が基本速度を与えます。環境とアイテムの温度差が大きいほど、降温または昇温のステップ幅、1ステップあたりの増分、倍率上限で加速でき、さらに温度帯ごとの速度補正も追加できます。
自然目標温度はワールドとサーバーの環境ルールにも影響されます。このサブページはその食べ物の自然温度変化パラメータだけを管理し、現在のアイテムのリアルタイム温度を直接指定することはできません。
S2ShelfConfig.NaturalEnvironment、S2Environment、ItemConfigEditScreenV2.SHELF_NATURAL_DISPLAY_FIELDS。冷蔵庫
通常冷蔵庫と冷凍庫にはそれぞれ温度変化量と間隔があり、アイテムが対応設備に入った後、目標環境温度へ近づく基本速度を決めます。このページでは冷凍、低温、常温、高温の各温度帯に冷蔵庫の温度変化速度補正を設定できます。
fridgeTemperatureChangeC と fridgeTemperatureChangeMinutes。freezerTemperatureChangeC と freezerTemperatureChangeMinutes。S2ShelfConfig.FridgeTemperature、ItemConfigEditScreenV2.SHELF_FRIDGE_DISPLAY_FIELDS。冷鮮
凍結点、冷凍点、冷鮮点、高温点、および冷鮮度が50%のときの保存率を設定します。温度が冷鮮点を下回ると冷鮮度を獲得し始め、冷凍点で50%、凍結点以下で100%になります。保護割合は進行度に応じて変化します。
S2ShelfConfig.Common、protectionFraction、S2Environment.mapNaturalColdFreshProgress。保冷度
coldRetention を有効にすると、アイテム温度が完全凍結区間にある間は消費を停止し、設定速度で保冷時間を回充します。完全凍結区間を離れると通常どおり消費します。累計損失が段階に達すると、回充上限が永久に低下し、再凍結しても上限は自動回復しません。
S2ShelfConfig.coldRetention、coldRecoveryRate、coldDegradationRate、S2Engine。03インベントリを離れた後の時間とマルチ保護
食べ物はプレイヤー、コンテナ、地面で異なる時計を使います。サーバーが計算を担当し、クライアントはサーバーが送った速度で表示するだけです。
2つの時計とサーバー権威
プレイヤーのインベントリ、装備スロット、オフハンド、カーソル上の食べ物はプレイヤーのオンラインプレイ時間で計算され、オフライン中は進みません。チェスト、冷蔵庫、その他のコンテナ、地面のドロップアイテム、設置されたブロック食品はワールド時間で計算され、サーバーが動いている限り進みます。クリエイティブインベントリと JEI 内の食べ物は計時されません。
腐敗、温度、冷鮮度はすべてサーバーが計算し、クライアントが見るのはサーバーが送ったスナップショットだけです。ツールチップの数値はサーバーが送った現在速度で毎秒進むためリアルタイムに見えますが、真の値は常にサーバーが基準です。クライアントを変更しても新鮮な食べ物を作ることはできません。ツールチップの文字と色もサーバーのスキームファイルが基準です。
受け渡し、ログイン、ディメンション変更で再同期
食べ物が受け渡されると、新しい持ち主が受け取った瞬間から計算を続けます。前の持ち主のオンライン時間が長かったからといって、受け取った瞬間に突然腐ることはありません。プレイヤーのログインやディメンション変更でも再同期され、オフライン期間の時間がインベントリ内アイテムに加算されることはありません。
インベントリと地面のドロップアイテムは約20秒ごとに更新されます。S を押すと即座に計算して最新値を確認できます。コンテナを開く、食べ始める、Tom ストレージ端末にアクセスするときも、次の周期を待たずにインベントリが更新されます。
誰がアイテムの持ち主か
保存期間が設定された食べ物はコンテナに入れた瞬間、入れたプレイヤーの持ち主マークが付きます。他のプレイヤーがチェストを開くと赤い枠が表示され、持ち出せません。地面に落ちた保護食品も拾えません。冷蔵庫や Tom ストレージ端末などのコンテナも同じルールです。
「コンテナに入れた」場合だけが対象です。野外の宝箱から半分持ち出しても、触っただけで残りが自分のものになるわけではなく、他のプレイヤーも公平に取得できます。逆に、一度もコンテナに入っていない食べ物には持ち主がいません。作ったばかり、拾ったばかりでずっと持ち歩いている食べ物は自由に渡せます。マークが付くとアイテムに追随し、自分のチェストからインベントリに戻しても自分のままです。
S を押して詳細を表示し、持ち主が自分でない場合、最下部に「アイテムの持ち主」行が追加されます。持ち主が異なる同じ種類の食べ物はスタックできず、2つの山に分かれ、マークが上書きされるのを防ぎます。
信頼リストと所有権の移転
/hdtrust で自分の保護アイテムの信頼リストを管理できます。OP は不要です:
| コマンド | 作用 |
|---|---|
/hdtrust add <プレイヤー名> | オンラインプレイヤーを現在のホワイトリストに追加し、相手はあなたの保護食品を正常に取得できます。 |
/hdtrust remove <プレイヤー名> | 現在のホワイトリストから外しますが「以前信頼した」履歴は保持します。相手が既に持ち出して未返却のアイテムは相手へ移転します。 |
/hdtrust forget <プレイヤー名> | 現在のホワイトリストと以前の信頼履歴を同時に消去し、以後は未信頼として扱います。 |
/hdtrust list | 現在のホワイトリストと以前の信頼リストを表示します。リスト内の名前をクリックすると削除または再信頼できます。 |
信頼は常に最初の持ち主を参照します。友人があなたの食べ物を持ち出して自分のチェストに入れても、持ち主はあなたのままで、転売のように洗浄されることはありません。自分から食べ物を捨てた場合は譲渡とみなされ、マークが消えます。友人があなたの食べ物を持ち出してから捨てた場合も同様に譲渡です。
死亡時のドロップは譲渡ではありません。元々持ち主のいない食べ物には死亡した瞬間にあなたのマークが付き、既にマークがあるものは元の持ち主を維持します。他人は拾えず、あなた自身と信頼した友人は拾え、リスポーン後に回収できます。サーバーで removeOwnerOnDeathDrop(PvP サーバー向け)が有効な場合、死亡ドロップは保護マークを強制消去し、誰でも拾えます。
ejectIllegalProtectedItems を有効にすると、そのようなアイテムを所持者の足元に直接ドロップできます。既定では無効で、信頼ファイルの異常時にまとめて誤処理するのを避けます。全員オフラインの間、コンテナ内の食べ物は腐敗しない
保護食品の持ち主と現在のすべての信頼プレイヤーが全員オフラインの間、チェストや冷蔵庫などのコンテナ内の時間は腐敗に算入されません。リスト内に権限を持つプレイヤーが1人でもオンラインなら、通常どおり計算されます。
サーバーはオフライン台帳で「全員オフライン」の期間を記録します。チェストは元々開かれたときだけ計算されるため、誰かが戻って確認したときにまとめて差し引かれます。オフライン台帳は有効化後の期間だけを記録し、それ以前のオフライン時間は補填できません。地面に落ちた保護食品はこの保護を受けず、通常どおり腐敗します。
コンテナ、戦利品、ドロップアイテム
閉じたチェストは継続的にスキャンされません。食べ物は前回の計算時刻を記録しており、チェストを開いたときに前回の温度で中間期間を一括計算します。途中の天候変化は区間ごとに再計算されないため、継続シミュレーションと多少異なりますが、かなり近く、性能への負荷もほとんどありません。
チェストを開く、チェスト内のアイテムをクリックする、S を押すと即座に計算されます。まだ計時が始まっていないチェスト内の食べ物(コマンドや他 MOD が直接入れたもの、古いセーブで保存期間設定前に投入されたものなど)は、チェストを開いた瞬間または S を押した瞬間にマークが付き、計時が始まります。チェストが破壊されると、先に時間を合わせ、冷蔵庫状態を消去してからドロップするため、「地面に落ちたのにまだ冷蔵庫にいると思う」ことはありません。ホッパーやパイプがチェストに投入する場合も統合ルールに従い、重なったときは悪い方の割合で計算されます。
宝箱に生成された食べ物、モブがドロップした食べ物は生成された瞬間に保存期間マークが付き、ゼロから計時する新鮮な食べ物になります。メイドや Create などが収穫物を直接自分のインベントリに入れる場合も同様です。自分でクラフト、焼成、機械加工した食べ物は対象外で、初めてプレイヤーやコンテナに見られたときから計時が始まります。
地面のドロップアイテムは20秒単位の時間帯に整列され、同じ時間帯に落ちた同種の食べ物は保存期間データが完全に同じため、地面でもスタックできます。着地後の最初の短い期間は計算されず、誤差はプレイヤーに有利です。チャンクがアンロードされると計算されず、再読み込み時に中間時間が一括補填されます。
地面に置かれたケーキなどのブロック食品はワールド時間で計算されます。チャンク読み込み時に1回計算され、同じチャンクは3分間に1回だけ計算されます。FTB Chunks などの強制読み込みチャンクでは1分ごとに計算されます。腐ったケーキは消滅するか期限切れ産物をドロップします。既に腐ったケーキを置くとその場で期限切れ産物になります。未摂取のケーキは掘り起こすと元の保存期間を保持しますが、食べたケーキは回収できません。
Jade をインストールすると、クロスヘアを地面の食べ物に向けたとき HUD に保存期間行が追加され、時間は秒単位、割合は小数1桁まで表示されます。データは同じくサーバーから来ます。チェスト内と手持ちの食べ物は引き続きアイテムツールチップを参照します。
スタックと統合しきい値
| 条件 | 既定しきい値 |
|---|---|
| 残り保存期間の差 | 5分以内 |
| アイテム温度差 | 10℃以内 |
| 冷鮮度差 | 20以内(0–100スケール) |
3つの条件をすべて満たす場合のみ統合でき、統合後は悪い方で計算されます。新鮮な食べ物で傷んだものを「洗白」することはできません。しきい値は config/healthy_diet/server.json の shelfMerge セクションで調整できます。地面のドロップアイテムは保存期間データが完全に同じ場合のみスタックでき、保冷上限が異なる2つもスタックできません。
期限切れコマンドと産物
期限切れコマンドは、食べ物がプレイヤーの手元で腐ったとき、または既に腐ったケーキを一口食べたときだけ実行されます。コンテナ内や地面で自然に腐った場合は実行されません。期限切れ産物は完全に新しいアイテムで、元の NBT を引き継がず、数量は保持されます。収まらない場合はインベントリに戻り、インベントリも満杯なら地面にドロップします。
S2Engine、S2Handler、S2OfflineLedger、S2StackMerge、TrustManager、HDTrustCommand、PlacedFoodRefresh。