Dynamic Resource Control (Old: Rich Resources)

by kokejii

English A lightweight mod that dynamically multiplies all resource richness—including existing chunks and modded ores—featuring distance scaling, depletion recovery, and runtime controls for infinite abundance or scarcity. Japanese すべての資源(MOD・既存エリア含む)の埋蔵量を動的に乗算し、距離ボーナスや枯渇資源の復活、希少化までをゲーム中に再起動なしで自在に調整できる軽量MODです。

Tweaks
16 days ago
2.0
994
Mining Cheats

Changelog

Version: 2.0.4
Date: 01. 03. 2026
  Changes:
    - Added dynamic chunk processing.
    - Optimized processing by skipping empty chunks.
    - Added Chinese localization.
  変更:
    - 動的なチャンク処理を追加しました。
    - 空のチャンクをスキップするようにして、処理を最適化しました。
    - 中国語のローカライズを追加しました。
Version: 2.0.2
Date: 28. 02. 2026
  Changes:
    - Restored missing runtime setting handlers for manually resetting processed chunks, applying maintenance multiplier, and toggling existing ore application. These were accidentally removed during recent refactoring.
    - Fixed a potential crash with missing `end` statement in `worker.lua`.
  変更:
    - 処理済みチャンクリストの手動リセット、メンテナンス倍率の適用、既存鉱石への適用切り替え機能が、リファクタリング中に誤って削除されていたため復元しました。
    - `worker.lua` の `end` 不足によるクラッシュの可能性を修正しました。
Version: 2.0.1
Date: 28. 02. 2026
  Changes:
    - Fixed a crash when the task queue becomes empty (`attempt to get length of global 'queue'`).
    - Fixed a freeze issue on large maps when applying settings to existing chunks by processing them incrementally.
    - Fixed settings changes (`rich-resources-multiplier`) not applying immediately during gameplay.
  変更:
    - タスクキューが空の状態で長さ取得を行おうとしてクラッシュするバグ (`attempt to get length of global 'queue'`) を修正しました。
    - 既存チャンクへの設定適用時に、マップが巨大だとフリーズする問題を、分割処理により修正しました。
    - ゲームプレイ中に `rich-resources-multiplier` の設定を変更しても即座に反映されない問題を修正しました。
Version: 2.0.0
Date: 28. 02. 2026
  Changes:
    - Updated for Factorio 2.0: Migrated all `global` variables to `storage`.
    - Fixed desync issues: Ensured `on_nth_tick` is registered unconditionally on load and uses deterministic RNG.
    - Added runtime setting updates: Changed multiplier settings now apply immediately during gameplay.
    - Improved stability: Fixed potential crashes with empty task queues and `nil` references.
  変更:
    - Factorio 2.0 対応: すべての `global` 変数を `storage` に移行しました。
    - 同期ズレ(Desync)の修正: `on_nth_tick` をロード時に無条件で登録し、決定論的な乱数生成を使用するようにしました。
    - 実行時設定の反映: ゲーム中に倍率設定を変更した際、即座に反映されるようにしました。
    - 安定性の向上: タスクキューが空になった際の `nil` 参照エラーなどを修正しました。
Version: 1.5.5
Date: 28. 02. 2026
  Changes:
    - Major optimization: Changed internal tracking from entity-based to chunk-based system. This drastically reduces save file size and load times.
    - Added "Finite Resource Minimum Base Amount" setting (`rich-resources-finite-min-base`).
    - Fixed multiplayer desync issues by implementing deterministic random number generation based on map coordinates.
    - Improved boundary checks to prevent double-processing of resources spanning across chunks.
  変更:
    - 大幅な最適化: 内部的な処理済み管理をエンティティIDベースからチャンク座標ベースに変更しました。これによりセーブデータ容量とロード時間が劇的に削減されます。
    - 「有限資源の最小ベース量」設定 (`rich-resources-finite-min-base`) を追加しました。
    - 座標に基づいた決定論的な乱数生成を実装し、マルチプレイ時の同期ズレ(Desync)を修正しました。
    - チャンク境界を跨ぐ鉱石が二重に処理されてしまう問題を修正しました。
Version: 1.5.4
Date: 28. 02. 2026
  Changes:
    - Fixed a bug where pending tasks were not cleared when cancelling "Apply to existing ore patches".
    - Fixed a bug where queued maintenance or other tasks were not being executed if the current multiplier was 1.0 (skipped).
  変更:
    - 「既存の鉱石鉱脈にも反映する」をオフにして中断した際に、バックグラウンドに残っている予約タスクが消去されないバグを修正しました。
    - 現在の資源倍率が1.0(スキップ)の場合に、予約されていたメンテナンス等のタスクが実行されずに止まってしまうバグを修正しました。
Version: 1.5.3
Date: 28. 02. 2026
  Changes:
    - Changed "Richresources-reset-processed-list" and "Apply maintenance" settings trigger logic to toggle-based instead of auto-resetting. This fixes a synchronization bug where settings could get stuck.
    - Updated setting descriptions in locale files.
  変更:
    - 「処理済みリストのリセット」と「メンテナンス適用」の設定を、自動オフ方式からトグル(切り替え)方式に変更しました。これにより、設定の同期ズレにより変更が適用されなくなるバグが解消されます。
    - 設定の説明文(日本語/英語)を更新しました。
Version: 1.5.2
Date: 07. 02. 2026
  Changes:
    - Corrected title and description.
  変更:
    - タイトルと説明文の修整。
Version: 1.5.1
Date: 07. 02. 2026
  Changes:
    - Detailed the description.
  変更:
    - 説明文を詳しくしました。
Version: 1.5.0
Date: 07. 02. 2026
  Features:
    - Added Maintenance Mode: Allows applying an additional multiplier to resources already processed by this mod.
    - Added Random Variance: Adds random fluctuation to the richness multiplier (e.g. +/-20%).
    - Added Distance Bonus: Multiplier can now increase based on distance from the starting area.
    - Improved "Reset Processed List": Introduced generation tracking for safer re-application without game restart.
  機能追加:
    - メンテナンスモードを追加: 既にMODで処理済みの資源に対して、後から追加で倍率を適用できるようになりました。
    - ランダム変動(ゆらぎ)機能を追加: 倍率にランダムなばらつきを持たせることができるようになりました。
    - 距離ボーナス機能を追加: スタート地点からの距離に応じて倍率を加算できるようになりました。
    - 「処理済みリストのリセット」機能を改善: 世代管理(Generation)を導入し、ゲーム再起動なしで安全に再適用が可能になりました。
Version: 1.4.2
Date: 06. 02. 2026
  Features:
    - Added a setting to configure the minimum base amount for infinite resources (`rich-resources-infinite-min-base`).
    - Added a setting to configure the minimum base amount for finite resources (`rich-resources-finite-min-base`).
  機能追加:
    - 無限資源(原油など)の計算用最小ベース量を設定する機能を追加しました (`rich-resources-infinite-min-base`)。
    - 有限資源に対する最小ベース量を設定する機能を追加しました (`rich-resources-finite-min-base`)。
Version: 1.4.1
Date: 06. 02. 2026
  Important:
    - Upon updating from older versions, existing resources may be multiplied again because previous application history (tags) might not be recognized due to internal data structure changes.
    - Application records from this version onwards will be preserved correctly.
  Changed:
    - Adjusted calculation formula to `(amount + 1) * multiplier` to allow restoring entities with 0 resource amount (e.g. depleted oil wells).
  注意:
    - 旧バージョンからのアップデート時、内部データ構造の変更により過去の適用履歴(タグ)が正しく引き継げず、既存の鉱石に再度倍率が適用される可能性があります。
    - 今回の適用記録は次回以降のアップデートでも確実に保護されます。
  変更:
    - 資源量が0になってしまったエンティティ(枯渇した油田など)に対しても、倍率を適用して復旧できるように計算式を調整しました `(amount + 1) * multiplier`。
Version: 1.4.0
Date: 06. 02. 2026
  Features:
    - Added "Maintenance Multiplier" feature to apply an additional multiplier to already processed resources.
    - Added a queuing system to automatically run maintenance tasks after any currently running tasks complete.
    - Improved maintenance targeting logic to check both internal ID cache and entity tags.
  機能追加:
    - 既に倍率が適用済みの鉱石に対して、さらに追加で倍率を掛ける「追加変更倍率(メンテナンス)」機能を追加しました。
    - メンテナンスモード実行時、他の処理が実行中であれば完了を待ってから自動実行する予約システムを追加しました。
    - メンテナンスモードの対象判定を改善し、内部IDキャッシュだけでなくタグ情報も参照するようにしました。
Version: 1.3.0
Date: 06. 02. 2026
  Features:
    - Added "Reset processed list" setting. This allows re-applying the multiplier to already processed resources via a new generation tracking system.
    - The reset setting will automatically turn off after the process is complete.
  Changed:
    - Removed "Ignore Processed State" setting (superseded by the reset function).
    - Improved internal resource management logic to include generation information in tags.
  機能追加:
    - 「処理済みリストをリセット」設定を追加しました。これにより、既に倍率が適用された資源に対しても、再度倍率を適用することが可能になります(世代管理システムの導入)。
    - リセット処理完了後、設定が自動的にオフになる機能を追加しました。
  変更:
    - 「未処理判定を無視する」設定を削除しました(リセット機能に統合)。
    - 内部的な資源管理ロジックを改善し、タグに世代(Generation)情報を含めるようにしました。
Version: 1.2.11
Date: 06. 02. 2026
  Changed:
    - Moved settings from "Startup" to "Map (Runtime Global)". This allows changing the multiplier in-game via map settings.
  Bugfixes:
    - Fixed an issue where the multiplier was applied twice to some resource entities (those without unit_number) by adding coordinate-based identification.
  変更:
    - 設定を「Startup」から「Map (Runtime Global)」へ移動しました。これによりゲーム内(マップ設定)で倍率を変更できるようになりました。
  バグ修正:
    - 一部の資源エンティティ(unit_numberを持たないもの)に対して倍率が重複して適用される問題を修正しました。座標ベースの識別を追加しました。
Version: 1.2.10
Date: 06. 02. 2026
  Changed:
    - Changed the minimum value of resource multiplier setting from 1 to 0.001. This allows reducing resource amounts.
    - Changed chunk generation processing to be delayed by 1 tick. This prevents conflicts with other resource generation mods and ensures reliability.
  Bugfixes:
    - Fixed an issue where processing was skipped when the multiplier was less than 1 (e.g. 0.5).
  変更:
    - 資源倍率設定の下限を 1 から 0.001 に変更しました。これにより資源を減らす設定が可能になります。
    - チャンク生成時の処理を1tick遅延させるように変更しました。これにより他の資源生成系MODとの競合を防ぎ、確実に倍率が適用されるようになります。
  バグ修正:
    - 倍率が1未満(例: 0.5)の場合に処理がスキップされてしまう問題を修正しました。
Version: 1.2.9
Date: 06. 02. 2026
  Added:
    - 「未処理判定を無視する」(Ignore Processed State)設定を追加しました。
    - この設定を有効にすると、既にこのMODで処理済みとマークされている資源に対しても、倍率を再適用できるようになります。
Version: 1.2.8
Date: 03. 02. 2026
  Changed:
    - 資源の豊富さの倍率設定(rich-resources-multiplier)を「スタートアップ」設定に変更しました。これにより起動時に値が確定し、途中変更による矛盾を防ぎます。
    - 倍率の最大値を 1000 から 10000 に引き上げました。
  Bugfixes:
    - 既存資源への適用処理で関数定義の順序により発生する可能性があったバグを修正しました(process_apply_queue)。
Version: 1.2.6
Date: 13. 09. 2025
  Added:
    - MOD設定に「既存の鉱石鉱脈にも反映する」チェックボックス(スタートアップ)を追加しました。
    - 上記設定が有効な場合、セーブ読み込み時や構成変更時に、既存の資源パッチへ自動で倍率を適用します(バックグラウンド処理)。
  Changed:
    - 大規模マップでも安定して処理できるよう、既存資源への適用はキューで分割し、1tickあたり最大32チャンクを処理する方式にしました。
    - 重複適用を避けるため、unit_numberによる管理とentity.tags(pcallで保護)を併用して処理済み印を付けるようにしました。
    - 処理完了時にローカライズ済みメッセージで件数を通知します。
  Bugfixes:
    - on_nth_tick(1) の完了メッセージ出力時に `game.valid` を参照してクラッシュしていた問題を修正しました。
Version: 1.2.5
Date: 12. 09. 2025
  Improvements:
    - キーコンフィグに表示されていた不要なカスタム入力設定を削除しました。
    - 使用されていないGUI関連のコード(スプライト定義、未使用関数)を削除し、コードを簡潔化しました。
Version: 1.2.3
Date: 12. 09. 2025
  Code Cleanup:
    - 削除されたGUI機能に関連する残存コードを整理しました。
Version: 1.2.2
Date: 11. 09. 2025
  Bugfixes:
    - タグをサポートしていない資源エンティティに対してentity.tagsにアクセスした際のクラッシュを修正しました。
    - 倍率により4294967295を超える値が生成された際の資源量オーバーフローを修正しました。
    - 同じ資源に対して倍率が複数回適用されるのを防ぐため、重複処理防止機能を追加しました。
    - より安全なタグアクセスのために、pcallによるエラーハンドリングを改善しました。
Version: 1.2.1
Date: 11. 09. 2025
  Features:
    - 資源倍率機能を追加しました。
    - 既存資源への手動適用ボタンを追加しました。
Version: 1.2.0
Date: 11. 09. 2025
  Added:
    - MOD設定に「『既存資源へ適用』ボタンを表示」するチェックボックスを追加しました。
    - 上記設定を有効にすると、ゲーム画面の左上に手動実行ボタンが表示されるようになりました。
    - 手動実行ボタンには、誤操作を防ぐための確認ダイアログを実装しました。
    - MODアイコンとして、バニラの原油アイコンを暂定的に設定しました。
  Changed:
    - control.luaの構造をリファクタリングし、GUI管理と新しい手動実行ロジックに対応させました。
    - 既存の資源に倍率を適用する際も、チャンク生成時と同じ内部タグを使用し、一つの資源パッチに処理が重複して行われないように改善しました。
    - data.luaにボタン用の定義を追加しました。
    - localeファイルに、新しい設定項目やボタン、確認メッセージ用のテキストを追加しました。
Version: 1.1.0
Date: 11. 09. 2025
  Added:
    - control.luaファイルを新たに追加し、ゲーム中のイベントを処理できるようにしました。
    - ゲームのプレイ中にMOD設定を変更した場合、その変更が「これから新しく生成されるチャンク」に適用されるようになりました。
  Changed:
    - MOD設定を「スタートアップ」から「ランタイム(グローバル)」に変更し、ゲームの途中で倍率を変更できるようになりました。
    - MODのコアロジックを、ゲームロード時に一度だけ実行されるdata.luaから、チャンク生成のたびに実行されるcontrol.lua (`on_chunk_generated`イベント) に移行しました。
    - 各資源パッチに処理が一度しか行われないように、内部的な目印(タグ)を付ける処理を追加しました。
  Removed:
    - data.luaに記述されていた、ゲームロード時に資源定義を書き換える処理を削除しました。
Version: 1.0.0
Date: 11. 09. 2025
  Added:
    - 初回リリース。
    - MOD設定(スタートアップ)から、すべての資源(鉱石、原油など)の豊富さ(Richness)を乗算で変更する機能を追加。
    - 他のMODによって追加された資源にも自動で対応。
    - 倍率は1倍から1000倍まで設定可能。
    - 表示言語として、英語と日本語に対応。