By
_senyaa
in Plugins
In short, this plugin turns low grade, crude oil and diesel into a liquid, which forces players to use jugs, bota bags and bottles to interact with fuel. Based on this, we can introduce new features such as fuel splashing, refining crude oil in regular purifiers or building autonomous refining factories using powered water purifiers and pumps! Also players can get their fuel from Oxum's Gas Station.
1. Introducing Liquid Fuel
This plugin introduces 3 new liquids: Low Grade, Crude Oil and Diesel. 1 ml of the liquid represents 1 respecting "vanilla" item. Vanilla fuel is completely replaced by its liquid form. All items, vehicles, weapons and deployables now use liquid fuel. Players need to use liquid containers in order to get and store fuel.
2. Getting fuel
There are several ways players can get fuel
From Oxum's Gas Station
Gas pumps now contain a bit of low grade inside them.
Players can come to gas station and loot them.
You can modify behaviour of this in the configuration file.
From Red Oil Barrels
Just like the regular old red barrels, players can get fuel from them, but they need to have free liquid containers inside their inventory. But players should be careful, because this plugin introduces gas explosions.
From Pump Jacks.
Since pump jacks now only farm crude oil, this plugin adds an option to increase crude oil production rates, see [3. Looting] Aditional Crude Oil in pumpjack configuration option.
All drop rates are configurable.
2.1 Commands
There are several chat and console commands so players, admins and other plugins could give liquid fuel.
Chat commands:
/buylowgrade
/buycrudeoil
/buydiesel
these chat commands require liquidfuel.buyfuel permission
liquidfuel.freefuel permission gives fuel for free
Admin console commands:
givefuel <1 - LGF , 2 - Crude Oil l, 3 - Diesel > <amount> <player name>
3. Refining Crude Oil
This plugin completely rethinks the way players refine their crude oil. Old oil refineries become non-existent the second you load the plugin, which makes players use purifiers.
Players are able to refine the fuel at their base almost immediately after starting out. They use regular water purifiers, that run on campfires, these purifier are slower and refine at a slower pace.
Mid-game way to get fuel is to place a powered water purifier. By default, it refines faster and more efficiently, producing more low grade.
Also, all purifiers have a input/output slots for connecting them to barrels or other purifiers. This allows players to build complicated autonomous fuel refining factories, which I find very interesting.
Remember, speed and refining rates are configurable, so you can balance it the way you see it!
4. Fuel Splashing
Now players can splash and then ignite fuel anywhere and in any pattern they wish. This allows players to raid bases, use it in PvP, create interesting trap contraptions and much more!
5. XM42 Flamethrower
It was removed from the plugin, since it was added in vanilla Rust.
6. Explosions
Red fuel barrels now explode when they are ignited or shot. Players should carefully farm oil barrels using tools, because one shot can initiate a chain reaction of explosions of other neighbouring oil barrels and can easily kill them.
Also, fuel wagons now have a chance of exploding when hit with something flammable. You can change the projectiles and the explosion chance in the configuration file.
7. Crafting
Crafting with liquid fuel is quite easy -
to craft low grade you just need to have a liquid container in your inventory to store the crafted fuel inside,
to craft something with low grade, you need to have a liquid container with enough fuel inside it.
7.2 Crafting with mixing table
mixing low grade is done as before, by placing cloth and fat, players can get fuel, it's just in liquid form
mixing recipes that require low grade are done by placing a liquid container in place of low grade.
8. Localization
Built-in localization:
English
Russian
But you can always add your own or change existing ones by modifying files in /oxide/lang/{your_language}/LiquidFuel.json
9. Configuration
LiquidFuel's configuration is quite easy to understand and work with. Here is the example of the configuration file.
It is located in /oxide/config/LiquidFuel.json
{
"[1. Prices] Low Grade Fuel Amount": 300,
"[1. Prices] Low Grade Fuel Price (set value to 0 to make it free, use ServerRewards or Economics as a shortname to use RP points or Economics balance respectively)\"": {
"ShortName": "scrap",
"Amount": 50,
"SkinID": 0
},
"[1. Prices] Crude Oil Amount": 150,
"[1. Prices] Crude Oil Price (set value to 0 to make it free, use ServerRewards or Economics as a shortname to use RP points or Economics balance respectively)\"": {
"ShortName": "scrap",
"Amount": 75,
"SkinID": 0
},
"[1. Prices] Diesel Amount": 10,
"[1. Prices] Diesel Price (set value to 0 to make it free, use ServerRewards or Economics as a shortname to use RP points or Economics balance respectively)\"": {
"ShortName": "scrap",
"Amount": 100,
"SkinID": 0
},
"[2. Entity Fuel Tanks] Max interaction distance (m)": 4.0,
"[2. Entity Fuel Tanks] Fuel tank stack limits": {
"fuel_storage_scrapheli": 1000,
"fuel_storage_attackheli": 1000,
"fuel_storage": 500,
"fuelstorage": 20,
"engine": 20,
"crudeoutput": 5000,
"crate_fuel": 100,
"modular_car_fuel_storage": 250,
"snowmobilefuelstorage": 250,
"submarinefuelstorage": 250,
"tugboat fuel_storage": 250,
"workcart_fuel_storage": 250,
"locomotive_fuel_storage": 250,
"wagon_storage_fuel": 2500,
"coaling_tower_fuel_storage.entity": 5000,
"flameturret.deployed": 250,
"tunalight.deployed": 250,
"lantern.deployed": 250,
"carvable.pumpkin": 100,
"jackolantern.happy": 100,
"jackolantern.angry": 100,
"chineselantern.deployed": 250,
"skylantern.deployed": 250,
"skylantern.skylantern.red": 250,
"skylantern.skylantern.green": 250,
"skylantern.skylantern.orange": 250,
"skylantern.skylantern.purple": 250,
"fogmachine": 500,
"snowmachine": 500
},
"[3. Looting] Minumum of Low Grade Fuel in red barrel": 5,
"[3. Looting] Maximum of Low Grade Fuel in red barrel": 9,
"[3. Looting] Minumum of Crude Oil in red barrel": 15,
"[3. Looting] Maximum of Crude Oil in red barrel": 19,
"[3. Looting] Minumum of Diesel per diesel barrel": 1,
"[3. Looting] Maximum of Diesel per diesel barrel": 1,
"[3. Looting] Aditional Crude Oil in pumpjack": 3,
"[3.1. Looting Oxum's Gas Station] Enable gas pumps in Oxum's Gas Station (true/false)": true,
"[3.1. Looting Oxum's Gas Station] Max interaction distance": 2.0,
"[3.1. Looting Oxum's Gas Station] Raycasting interval (higher number results in better performance, but slower UI)": 0.2,
"[3.1. Looting Oxum's Gas Station] Minimum gas refill time (minutes)": 2.0,
"[3.1. Looting Oxum's Gas Station] Maximum gas refill time (minutes)": 5.0,
"[3.1. Looting Oxum's Gas Station] Minimum Low Grade Fuel": 15,
"[3.1. Looting Oxum's Gas Station] Maximum Low Grade Fuel": 40,
"[4. Refineries] Regular purifier purification ratio (per 1 crude oil)": 1,
"[4. Refineries] Powered purifier purification ratio (per 1 crude oil)": 3,
"[4. Refineries] Regular purifier purification speed (per minute)": 24,
"[4. Refineries] Powered purifier purification speed (per minute)": 60,
"[5. Fuel splashing] Enable fuel splashing (true/false)": true,
"[5. Fuel splashing] Minimum burn time (seconds)": 20.0,
"[5. Fuel splashing] Maximum burn time (seconds)": 25.0,
"[5. Fuel splashing] Fire damage radius (m)": 0.2,
"[5. Fuel splashing] Fire damage (per second)": 5.0,
"[5. Fuel splashing] Delay between igniting next fuel path node (seconds)": 0.1,
"[5. Fuel splashing] Fuel spent per second of splashing": 15,
"[5. Fuel splashing] Fuel path decay time (seconds)": 180.0,
"[6. XM42 Flamethrower] Price": {
"ShortName": "scrap",
"Amount": 500,
"SkinID": 0
},
"[6. XM42 Flamethrower] Item Name": "XM42 Flamethrower",
"[6. XM42 Flamethrower] Fuel capacity": 150,
"[6. XM42 Flamethrower] Damage per second": 90,
"[7. Explosions] Fuel wagon explosion chance": 0.2,
"[7. Explosions] Projectiles that initiate fuel wagon explosion": [
"riflebullet_fire",
"pistolbullet_fire",
"riflebullet_explosive"
],
"[7. Explosions] Red barrel explosion damage": 60,
"[8. Misc] Fuel poisoning amount": 15.0
}
10. API
This plugin exposes the following API methods:
// Type: 1 - LGF; 2 - Crude Oil; 3 - Diesel
Item CreateFuel(int type, int amount) -> Returns the stack of the requested fuel
11. Notes
Because this plugin quite drastically changes Rust world and items, it is not recommended to install/uninstall this plugin mid-wipe. Even though it preserves its state after reloads, it's not recommended to unload the plugin for long periods of time.
12. Credits
Thanks to @Nikita and @kyrich for helping me with testing and video production.