Added compatibility with True PVE so that lava damage to players can optionally bypass its rules when enabled in the config.
Spit fireballs now auto-despawn when they sink below terrain to prevent hidden buildup and reduce client performance impact during eruptions. (Credit to RyanJD for the idea)
Important: This update changes how volcano data is stored, each volcano now has its own separate data file instead of all being in one. Existing data will not transfer, so back up before updating and set them up again.
New Features and Improvements:
Bonus crates now support custom loot tables.
Added a command to manually stop an ongoing eruption for a specific volcano.
Added an option for lava fields to destroy buildings on contact.
Lava fields now deal gradual damage to players over time.
Added a permission to make players immune to lava damage.
Spoil prefabs now use rarity settings instead of manually assigned weights.
Fireball spewing is now separated from zone expansion, allowing lava zones to expand without spewing fireballs.
Volcano activity alerts now appear in chat in addition to toast notifications.
Volcano alert messages are now customizable via the language file.
Fixes and Optimizations:
Bonus crates are now automatically removed when the volcano cools down or the plugin unloads.
Volcano data now saves separately for each volcano in individual data files.
Volcanoes now log their details to the console when they are initialized.
Fixed an issue where spoils kept spawning after a volcano was forcefully erupted.
Admins can now manually trigger a volcano's eruption using the volcano erupt <alias> command. This instantly transitions the volcano into its eruption stage.
Chat commands start with a /, while console commands can be entered directly in the F1 console or server console. Use find <keyword> in console to search for available commands related to the plugin. Parameters in < > are required, while [ ] are optional.
This plugin uses Oxide's permission system. Grant or revoke permissions using oxide.grant and oxide.revoke. You can assign them to individual players or groups using their Steam id or group name.
Settings are stored in the config file found under the config/ directory. You can edit this file manually, then reload the plugin to apply your changes.
Persistent data is saved in the data/ directory. This includes things like saved settings, usage stats, or player progress depending on the plugin. Deleting a data file will reset stored progress or customizations.
Language files are located in the lang/ folder. To translate messages, copy the en.json file into your target language folder (e.g. fr, de) and edit the values. Reload the plugin after changes to apply new messages.
This section lists public methods exposed by the plugin for use in other plugins. You can call these via the CallHook method. Ensure the plugin is loaded before calling its API to avoid null reference errors.
These are custom hooks that other plugins can listen for. Simply define a method with the same name and expected parameters in your plugin to handle the event. Hooks are triggered at key moments and are useful for extending or reacting to plugin behavior.
These hooks are injected into the game's code using Harmony. They let the plugin run code at key points in the game's internal logic. You can return values to block or modify behavior. Use with caution — these are powerful and can affect core mechanics.