About BiomeSkins | Camouflage at its finest!
BiomeSkins is a Rust server plugin that dynamically customizes player clothing, armor, and sleeping bag skins based on the biome and topology of their location. By matching gear and sleeping bags to the surrounding environment, it enhances player immersion and camouflaging. Players can easily activate and control reskinning functions through simple chat commands, including options for key bindings and toggling automatic reskinning.
Installation
- Download the BiomeSkins.cs plugin file.
- Place the plugin file into your server’s plugins directory.
Usage/Commands
/biomeskin
Reskins the player’s clothing and armor to match their current biome.
/biomeskin [<a|w|b|m>]
Reskin player all and/or wear and/or belt and/or main inventory items (w - wear, b - belt, m - main, a - all). Example - /biomeskin wb will reskin items in wear and belt inventories. Not specifying an inventory parameter defaults to wear/armor items.
/biomeskin skin <player> [q|a|w|b|m]
Reskins the target player's target inventory items (see command above). Intended for admins and other plugins.
/biomeskin bind <key>
Displays the command for binding the /biomeskin command to a specified key, allowing players to quickly activate biome-based reskinning.
/biomeskin bag <on|off>
Toggles automatic reskinning for sleeping bags based on the biome and topology where they are placed.
/biomeskin <wear|belt|main|> <on|off>
Sets automatic reskinning for wear/belt/main inventory items based on the biome of the player's location.
/biomeskin toggle <wear|belt|main|all>
Toggles automatic reskinning for wear/belt/main inventory items based on the biome of the player's location.
Permissions
-
biomeskins.reskin.bag - Allows for sleeping bag reskinning on placement and access to the /biomeskin bag <on|off> command.
-
biomeskins.reskin.equipment - Allows for inventory item reskinning via the /biomeskin base command.
-
biomeskins.reskin.equipment.other - Allows for inventory item reskinning of other players via the /biomeskin skin <player> [q|a|w|b|m] command.
-
biomeskins.reskin.equipment.auto - Allows for player automatic inventory item reskinning when crossing between biomes as well as the /biomeskin <wear|belt|main|> <on|off> command.
Configuration
The plugin offers customizable options in the configuration file, enabling admins to tailor the reskinning behavior:
{ "Version (DO NOT EDIT)": 3, "Command aliases": [ "biomeskin" ], "Sleeping bag skins": { "Forest": 2131151567, "Arctic": 2162368881, "Desert": 2922792064, "Tundra": 3080447496, "Rock": 3144409492 }, "Equipment skins": { "Temperate": { "mask.metal.item": 2551475709, "metal_plate_torso.item": 2551474093, "pants.roadsign.item": 2570237224, "hoodie.red.item": 2563940111, "pants.cargo.item": 2563935722, "shoes.boots.brown.item": 2575506021, "gloves.roadsign.item": 2575539874, "hat.coffeecan.item": 2570227850, "roadsign_armor.item": 2570233552, "jacket.vagabond.item": 2582710266, "largebackpack": 3360828867 }, "Tundra": { "mask.metal.item": 2551475709, "metal_plate_torso.item": 2551474093, "pants.roadsign.item": 2570237224, "hoodie.red.item": 2563940111, "pants.cargo.item": 2563935722, "shoes.boots.brown.item": 2575506021, "gloves.roadsign.item": 2575539874, "hat.coffeecan.item": 2570227850, "roadsign_armor.item": 2570233552, "jacket.vagabond.item": 2582710266, "largebackpack": 3377499512 }, "Arctic": { "mask.metal.item": 2432948498, "metal_plate_torso.item": 2432947351, "pants.roadsign.item": 2469019097, "hoodie.red.item": 2416648557, "pants.cargo.item": 2416647256, "shoes.boots.brown.item": 2752873720, "gloves.roadsign.item": 2469031994, "hat.coffeecan.item": 2503956851, "roadsign_armor.item": 2503955663, "rifle.ak.item": 2525948777, "burlap.shirt.item": 2911362787, "mask.bandana.item": 10062, "attire.hide.boots.item": 2408298830, "attire.hide.poncho.item": 2856159140, "riot.helmet.item": 801095823, "burlap.trousers.item": 2911361380, "burlap.gloves.item": 10128, "largebackpack.item": 3361128718, "jacket.vagabond.item": 2496913595 }, "Arid": { "mask.metal.item": 2475428991, "metal_plate_torso.item": 2475407123, "pants.roadsign.item": 2496523983, "hoodie.red.item": 2503910428, "pants.cargo.item": 2503903214, "shoes.boots.brown.item": 2510093391, "gloves.roadsign.item": 2510097681, "hat.coffeecan.item": 2496517898, "roadsign_armor.item": 2496520042, "jacket.vagabond.item": 2865011686, "largebackpack": 3362212704 } }, "Reskin items in wear inventory": true, "Reskin items in belt inventory": false, "Reskin items in main inventory": false, "Automatic equipment reskinning": { "Enabled": false, "Enabled by default for players with permission?": false, "Time interval between player biome checks": 5.0, "Reskin items moved into wear inventory": true, "Reskin items moved into belt inventory": false, "Reskin items moved into main inventory": false }, "Hooks": { "OnBiomeSkin": true } }
Developer API
// Reskin player items in corresponding inventories (wear/belt/main) with the skins specified in the plugin config bool API_SkinPlayerItems(BasePlayer player, bool skinWear = true, bool skinBelt = true, bool skinMain = true) // Reskin player items in corresponding inventories (wear/belt/main) with the skins specified in the "skins" parameter (item name -> skinID) bool API_SkinPlayerItems(BasePlayer player, Dictionary<string, ulong> skins, bool skinWear = true, bool skinBelt = true, bool skinMain = true) // Returns true if target player has sleeping bag biome-based reskinning enabled bool API_IsSleepingBagReskinEnabled(BasePlayer player) // Enables/disables target player sleeping bag biome-based reskinning void API_SetEnabledAutoSleepingBagReskin(BasePlayer player, bool enabled) // Returns true if target player has automatic biome-based inventory item reskinning enabled bool API_IsAutoEquipmentReskinEnabled(BasePlayer player) // Enables/disables target player automatic biome-based inventory item reskinning void API_SetAutoEquipmentReskinEnabled(BasePlayer player, bool wear, bool belt, bool main) // Hooks // Invoked when a player's inventory items are about to be reskinned by the plugin // First argument - BasePlayer - Target player // Second argument - Action source // 0 = Command, 1 = Automatic (player crossing biomes), 2 = Third party plugin or console command // Returning bool 'true' will cancel the action OnBiomeSkin(BasePlayer, int)