ChristopherS's Wishlist
-
Grid Power
Grid Power rust plugin allows players to harness electricity directly from the Power Grid on any map by climbing Power line Poles to upgrade Transformers with components and protect their grid section, while also enhancing vanilla visuals with realistic, adjustable slack on hanging wires and lights.
Questions? Support? Join the discord: https://discord.nikhub.dev
In short
Draw electricity straight from the Power Grid in Rust - on any map, be it a procedurally generated or a custom one! Ladder up the Power line Poles to upgrade their Transformers with components like Root Combiners (to replace missing/stolen/destroyed outlets that you plug into) and Tech Trash (to permanently upgrade power output level, up to a configurable point). Maintain the service with long-lasting Fuses. But most importantly, protect your precious part of the grid from vandalism, theft and sabotage that will inevitably come from those jealous players! Whatever you do, just be careful up there... high voltage happens to be highly dangerous. Always wear protective gear (like a hazmat suit) and don't touch the wires while they're live! As a bonus, this plugin also improves vanilla visuals with realistically hanging wires / hoses / Xmas lights, the slack of which (how loose they appear to be hanging) can be adjusted while placing. And this feature is completely optional, too. Goodbye, straight lines that look like steel rods - hello, actual laws of physics!
But don't take my word for it - let the video speak for itself:
Still not convinced? Check out this in-depth, 20+ minutes long review and tutorial by srtbull!
1.0.2 UPDATE: Introducing working Street Lights for eligible poles! The lights go on between between 20:00 and 8:00 by default.
Quick start (for admins)
Upload the GridPower.cs file to your oxide/plugins folder and you should be good to go, it's all plug-and-play. No need to restart your server! If you're loading it for the first time or it's a new map wipe, the plugin will automatically locate all Power Line Prefabs on your map, randomly choose some of them (according to chances set in the default config) and attach extra electrical entities to them to make them functional. Those entities should persist throughout the wipe and will be replaced if missing, on every plugin reload/server restart. Each Power line Pole will be assigned a number and its position will be stored in the data. This will work on any map that contains at least one of the following prefabs:
assets/bundled/prefabs/autospawn/decor/powerline-small/powerline_pole_a.prefab assets/content/props/powerline_poles/powerline_pole_a.prefab
Quick start (for players)
Locating functional Transformers
Not all Power Line Poles were made equally. Only a percentage of them (by default, 33% on average) will be functional. How do you recognise a functional one? Look up - if you see a Button attached to the top of the Pole, and maybe even some pre-existing Root Combiner Outlets, that's it! [insert image here, maybe a player looking at a powerline pole with binoculars]
Laddering Up
Now that you have located a functional pole, you need to climb it. Normally you cannot deploy Ladders on Power Line Poles and many other places (but oddly enough, you CAN deploy them on the horizontal planks at the top of a Pole!). However, Grid Power re-implements all the client-sided deployment logic to allow bypassing of that arbitrary-seeming limitation. If you try to deploy a Ladder on a Power Line Pole, don't be discouraged by the fact that the "ghost guide" is red instead of blue/amber. Click anyway and it will force it through! Ignore the message in the chat saying that the deployment failed - just like the colour of the ghost guide, it's all client-sided and as such there's nothing the plugin can do about it, visually speaking. But trust me, everything works as intended, despite what the client messages are telling you. The Ladders can then be destroyed/picked up to be reused.
Maintenance
A Transformer can have up to 4 Outlets (Root Combiners). That's where the players draw the electricity from. Those Root Combiners can be damaged/destroyed/repaired/picked up with a hammer (if you have Building Privilege) any time. If there's less than 4 Outlets, right-click on a Root Combiner Item in your inventory or drag it into the Fuse Box of the Transformer. You will hear a deployment effect and the Root Combiner will be deployed on the pole. In order to be able to draw power from that Transformer, you need to put a Fuse inside. Right-click a Fuse in your inventory or drag it directly to the Fuse Box. Don't worry - inside of the Transformers, those Fuses will last for much, MUCH longer than inside regular monument Fuse Boxes. By default, a brand new Fuse inside of a Transformer Fuse Box will last you for 12000 seconds (= 200 minutes, = 3.33 hours). This value can be increased or decreased in the config. You can see how much time a fuse has left in the Transformer GUI. By default, the Power Grid will produce electricity between 8 AM and 8 PM. The power output will follow a smooth curve, being the lowest in the morning/evening, and peaking at 2 PM. Exactly how much RWs will be produced on each Outlet is determined by the Transformer's Tech Trash level. By default, each Tech Trash inserted increases the peak power output by 5 RWs (up until a certain point - by default, that level is capped at 50, which translates to 250 RWs per Outlet at peak hours). Upgrade the level by right-clicking the Tech Trash item in your inventory or dragging it directly into the Fuse Box. Inserting Root Combiners/Tech Trash is still possible even if there's already a Fuse inside of the Fuse Box. The Fuse won't be replaced as the sole Item in the slot, since Root Combiners/Tech Trash are consumed immediately.
Hooking Up & Hanging Out
Once there's at least 1 Outlet present, you have a Fuse at hand, and the Grid is currently producing power - you're all set. Take a Wire Tool, pick your favourite wire colour with the [RELOAD] button, typically R, and connect to the outputs of the Root Combiner Outlets to your own electrical devices, usually a Battery or another Root Combiner. You will notice the text on top of your screen telling you what the current Slack of your wire tool / hose tool is. You can increase it with the [DUCK] button, typically CTRL, and decrease it with the [SPRINT] button, typically SHIFT. Larger Slack value means that the wire/hose will appear to be hanging more loosely. Smaller values will make it look tighter. Values close to zero will make it look like they look in vanilla Rust - i.e. not so good in comparison 😉 The final Slack value will be applied the moment you finalise your wire/hose connection. This hanging improvement applies to anything you do with Wire Tools/Hose Tools, not just Transformer Outlet connections! For the Advanced Xmas Lights, it's even better: you can adjust the Slack of each segment individually! After you place the Advanced Xmas Lights segment down, and you're just about to place the next segment, adjust the Slack of the segment you have just placed down with [DUCK] and [SPRINT] buttons. You will see a preview of what it will make the segment look like. Placing the next segment down confirms the Slack for the segment before it.
Danger! High Voltage!
If the Grid is currently producing Power (by default, during daytime) AND a Fuse is inserted in the Transformer, all Root Combiner Outlets are considered live on that Transformer. You can tell whether a Transformer is live or not: first, check your electric devices plugged in directly to the Grid. If they're not currently receiving any charge, they're not live. Similarly, you can look at the diodes on the Root Combiner Outlets. If they're not on, the Transformer is not live either. Lastly, it's pretty clear from the Transformer GUI. If a player tries to connect/disconnect a wire to/from a live Outlet, or they're trying to pick up the Root Combiner Outlet with a hammer, and they're not wearing one of the items on a pre-approved list (see the Advanced Config section below), there is a 1.0 (100%) chance they will get electrocuted to death. Another way to guarantee electrocution is trying to clear connections named INTERNAL. Leave those alone! Wearing protective clothing reduces that chance to 1 in 10 (10%, according to the default permission profile - see below). You can set that chance to 0.0 (0%) if you want to give your players a peace of mind. Another way to guarantee 0% electrocution chance is making sure the Transformer is not live: either wait for the Grid to stop producing Power or take out the Fuse before doing anything else.
Permissions (Oxide.Grant user YourName [permission name starting with gridpower.])
By default, the plugin generates 3 permission profiles in the config - one for admins, one for normal players with no specific permissions (default) and one for VIP. More on permission profiles and config values they can handle can be found in the section Advanced Config. Unless you have added more permission profiles, only these two below are going to be used by your config:
gridpower.admin
Holders of the admin permission will also be able to run the /gp_cfg and /gp_emergency_cleanup commands
gridpower.vip1
Holders of this permission will follow settings and limits associated with with that permission profile. The permissions below are also registered, but not used by default. To use them, just create some permission profiles with those permissions as the key.
gridpower.vip2 gridpower.vip3 gridpower.vip4 gridpower.vip5
Automatic street lights
Depending on your map design, some power line poles might have lamps on them. All those lamps will now emit light, by default between 20:00 an 8:00, which just so happens to be the time when the grid production goes back to 0. You can also set the street lights to be always on, regardless of the time of day. The time settings for the street lights are independent of your power production time settings - they can overlap, one can start before midnight and end after midnight while the other one does not, etc. Those street lights will work even on non-functional power line poles, e.g those without a button on top of them. When on, the lights will flicker from time to time. How often they will flicker and how long individual flickers are going to be depends on your config - look below.
Admin F1 console/chat commands (must have ownerid/moderatorid/gridpower.admin permission)
If you're typing those commands from the F1 console or the server console, drop the preceding slash in the command name.
/gp_cfg Will allow the admins to change non-permission profile related config values on the fly (see below) /gp_emergency_cleanup Instantly kills all the plugin-related entities: fuseboxes, admin generators, root combiners and buttons. It won't remove the power line entries in your data, however. All the killed entities will be re-generated according to your current generation settings in the config next time your server restarts or the plugin reloads. If you want to permanently get rid of them, unload the plugin, delete your oxide/data/GridPower.json, and load it back in. /gp_pole [add/remove] This command will allow admins to add or remove functional power line poles at any time. Just look directly at the pole you want to modify and type the command with an argument (either "add" or "remove", depending on what you want to achieve). If you want to add a pole and it already is functional, or if you want to remove a pole, but it isn't functional - you will get a warning. Same if you try to add a pole, but the pole you're looking at is building blocked by a nearby monument. "Ent killing" (or using a plugin like Remover) the power line fusebox is the equivalent of permanently removing it from the data and it won't be re-generated any more on next reload. Wiping your save file also automatically removes all the extra components and replaces them with new ones tailored to your map, in accordance to your generation settings.
Configuration (oxide/config/GridPower.json and /gp_cfg console/chat command)
Vast majority of the settings can be configured with the /gp_cfg chat command. Typing it in the chat/console with no parameters should dump a rundown of config fields and their values. In order to run any of the config commands, you will need to have ownerid or moderatorid (or the gridpower.admin permission).
/gp_cfg GridConstantPower [logical values (true or false)] If set to true, the Grid will always produce electricity at its peak (100%), 24 hours a day (DEFAULT: false) /gp_cfg GridProductionStartAtHour [fractions (like 13.37) between 0.00 and 24.00] The hour of the day when the power production starts climbing up from 0 (DEFAULT: 8.0) /gp_cfg GridProductionEndAtHour [fractions (like 0.69, nice) between 0.00 and 24.00] The hour of the day when the power production settles back at 0 (DEFAULT: 20.0) /gp_cfg StreetlightsConstantPower [logical values (true or false)] If set to true, the Streetlights will be on 24 hours a day. (DEFAULT: FALSE) /gp_cfg StreetlightsTurnOnAtHour [fractions (like 20.4) between 0.00 and 24.00] The hour of the day when the street lights turn on (DEFAULT: 20.0) /gp_cfg StreetlightsTurnOffAtHour [fractions (like 8.2) between 0.00 and 24.00] The hour of the day when the street lights turn off (DEFAULT: 8.0) /gp_cfg StreetlightsReliability [fractions (like 0.5) between 0.00 and 1.00] The reliability of the streetlight. The less it is, the more often it will flicker. At 1, which represents 100%, it never flickers. (DEFAULT: 0.95) /gp_cfg StreetlightsFlickerLengthMin [fractions (like 1.2) between 0.00 and Positive Infinity] The minimum random length of the flicker, in seconds (DEFAULT: 0.1) /gp_cfg StreetlightsFlickerLengthMax [fractions (like 2.4) between 0.00 and Positive Infinity] The maximum random length of the flicker, in seconds (DEFAULT: 0.5) /gp_cfg GeneratorChancePowerlineFunctional [fractions (like 0.5) between 0.00 and 1.00] The chance that a valid Power Line Pole will be made functional during generation. (DEFAULT: 0.33) /gp_cfg FuseRequired [logical values (true or false)] If set to false, the Transformers won't need Fuses to produce power, just the right time of the day (if power is not 24/7) (DEFAULT: TRUE) /gp_cfg BuildingBlockPreventsButtonPress [logical values (true or false)] If set to true, if there's any Tool Cupboards in the range of the Transformer, you need to be authorised on all of them to open the Transformer GUI (DEFAULT: TRUE) /gp_cfg GeneratorInitialLevelMin [integers (like 7) between 0 and 1000] The lower limit for the random Tech Trash level of valid Power Line Poles during generation (DEFAULT: 1) /gp_cfg GeneratorInitialLevelMax [integers (like 7) between 0 and 1000] The upper limit for the random Tech Trash level of valid Power Line Poles during generation (DEFAULT: 5) /gp_cfg GeneratorInitialOutletsMin [integers (like 1) between 0 and 4] The lower limit for the random number of Outlets of valid Power Line Poles during generation (DEFAULT: 0) /gp_cfg GeneratorInitialOutletsMax [integers (like 3) between 0 and 4] The upper limit for the random number of Outlets of valid Power Line Poles during generation (DEFAULT: 4) /gp_cfg PowerlinePowerPerTechTrash [integers (like 7) between 0 and 1000] How much RWs at peak hours are provided per 1 Tech Trash Level upgrade (DEFAULT: 5) /gp_cfg PowerlineMaxTechTrashLevel [integers (like 7) between 0 and 1000] The maximum level that a Transformer can be upgraded to (DEFAULT: 50) /gp_cfg PowerlineFuseDurationSeconds [fractions (like 420.69, nice) between 0.0 and Infinity] How long (in seconds) a brand new Fuse inserted in the Transformer Fusebox will last (DEFAULT: 12000.0) /gp_cfg FuseItemShortname [strings (like "fuse")] The shortname of the item that acts as the Fuse for Transformer Fuseboxes, must be a valid Rust item shortname /gp_cfg FuseItemGuiName [strings (like "Transformer Fuse")] The custom GUI display name of the item that acts as the Fuse for Transformer Fuseboxes, can be anything, or left blank for default /gp_cfg FuseItemSkinID [positive long integers (like 2783151202)] The skin ID of the Fuse item if using custom, leave at 0 to accept any items of the shortname specified by FuseItemShortname
Protective clothing (only editable through oxide/config/GridPower.json)
"ProtectiveClothing": { "hazmatsuit": null, "scientistsuit_heavy": null, "hazmatsuit_scientist": null, "hazmatsuit_scientist_peacekeeper": null, "hazmatsuit.spacesuit": null, "boots.frog": null, "hazmatsuit.nomadsuit": null, "pants": [ 1581896222 ], "hoodie": [ 1581890527, 1582492745 ] }, Each entry has a key (the item shortname in quotes) and a value. If the value is null, it means all possible skins for that item shortname are accepted. In the example above, we're allowing all rubbery one-pieces (value is null, so any skin) and we're also allowing pants with 1 possible skin or a hoodie with 2 possible skins to be treated as protective clothing. You will see that there's no comma after the last entry on the list. BEFORE SAVING, ALWAYS VALIDATE YOUR JSON WITH A TOOL LIKE JSON LINT!
Permission profiles
Using profiles you can quickly create/edit different permissions for different players, for example, if you have more than 1 VIP tier on your server - just add some new profiles. Different players can have different limits and permissions associated with using the Power Grid. To check which permission profile the player should fall under, the plugin goes through all permission profiles and checks whether the player has that permission granted. The permissions are checked in order, meaning that if the player doesn't have the first permission, it will try the next permission on the list, etc (similar to how Auto Kits checks which kit to give to a player based on their permissions in order). If the player doesn't have any permissions from the list granted, they will fall back to the "default" profile. That's the only one that you shouldn't remove! If you remove it, a new one with default values will be created. So if you don't want your default, non-VIP players to use the power grid, don't remove the default profile, just take away privileges in that profile (like upgrading/deploying ladders/pressing the button). You don't have to use the built-in VIP permissions - any REGISTERED permission from any plugin will do just fine! By default, three permission profiles are generate in the config: default, gridpower.admin and gridpower.vip1. The default permission profile will apply to any player who doesn't have any permissions listed in the profile list - let's have a look at it:
"PermissionProfiles": { "default": { "PermissionRequired": "default", "GridCanDeployLadder": true, "GridCanDeployRootCombiners": true, "GridCanConnectDisconnect": true, "GridCanPressButton": true, "GridCanUpgrade": true, "GridDangerousWireElectricutionChance": 0.1, "HangingXmasLights": false, "HangingWiresAndHoses": false, "SubdivisionsPreview": 10, "SubdivisionsFinal": 50, "SlackMax": 5.0 },
PermissionRequired should contain an already existing permission registered by any plugin in the form of pluginname.permissionname GridCanDeployLadder allows players to deploy ladders on Power Line Poles GridCanDeployRootCombiners allows players to deploy Root Combiners on Power Line Pole transformers by inserting them into the Fuse Box GridCanConnectDisconnect allows players to use a Wire Tool to connect their own electrical devices to the Grid GridCanPressButton allows players to access the Transformer GUI GridCanUpgrade allows the players to upgrade the Transformer peak output by inserting Tech Trash into the Fuse Box GridDangerousWireElectricutionChance defines how likely it is that a player will die from electrical accidents, even while wearing protective clothing HangingXmasLights allows the players more control over how much the Advanced Xmas Lights will be hanging (purely visual) HangingWiresAndHoses allows the players more control over how much the Wires/Hoses will be hanging (purely visual) SubdivisionsPreview is the number of intermediary points used while showing the hanging Xmas Lights preview catenary curve of the last placed segment. The more points, the smoother it looks. (purely visual) SubdivisionsFinal is it the number of intermediary points used for the final catenary curve of the hanging wires/hoses/xmas lights. The more points, the smoother it looks (purely visual) SlackMax sets the maximum "looseness" of the wire/hose/xmas lights that the player is allowed. The more the slack, the longer the wire appears overall.
API hooks (for plugin developers)
All methods utilise the [HookMethod] attribute, which means you don't call them through Interface.Call, you need to first create this field in your plugin's main class...
[PluginReference] private Plugin GridPower; Then, call the hooks like so. It's pretty self-explanatory what information they will provide you with.
bool isPowerConstant = (bool) GridPower.Call("GridPowerIsConstant"); bool isGridProducing = (bool) GridPower.Call("GridIsProducing"); float productionHourStart = (float) GridPower.Call("GridGetProductionHourStart"); float productionHourEnd = (float) GridPower.Call("GridGetProductionHourEnd"); float currentGridEfficiency = (float) GridPower.Call("GridGetEfficiency"); bool areStreetlightsAlwaysOn = (bool) GridPower.Call("StreetlightsPowerIsConstant"); bool areStreetlightsOn = (bool) GridPower.Call("StreetlightsAreOn"); float streetlightsHourStart = (float) GridPower.Call("StreetlightsGetTurnOnHour"); float streetlightsHourEnd = (float) GridPower.Call("StreetlightsGetTurnOffHour");
Translation support (oxide/lang/en/GridPower.json)
Almost every string the players see, including the text displaying in the chat and the GUI, can be edited. Just load the plugin and let it generate the file - after you edit it, reload the plugin.
-
Cooking
By imthenewguy in Plugins
This plugin extends the vanilla cooking system in rust by adding a number of ingredients and advanced recipes to the game.
The ingredients are obtained from any of the 45+ different sources, from ore nodes, to trees, to collectibles such as hemp and pumpkins.
These ingredients are used to create delicious meals that will provide the player with 1 of the 55 different buffs the plugin has to offer, or your own custom buffs should you wish to create your own using permissions from other plugins.
The plugin comes standard with 47 custom recipes and 11 custom ingredients included. It also utilizes a number of rusts existing items, such as pumpkins, corn, wheat and potatoes.
There are over 47 recipes that come with the default configuration.
Each recipe allows for any number of ingredients to be added (default is up to 4), and any number of the 46 buffs to be added to each meal.
Recipes can be easily added via the config. This allows server owners to get creative by creating their own custom meals and buffs.
The above video showcases how new recipes and ingredients can be easily added to your configuration.
The plugin comes with 11 unique custom ingredients, and also utilizes 16 of the default items in rust.
Ingredients can be easily added to the configuration (see the above video).
All non-default ingredients can be found from 49 different sources including cutting trees, mining nodes, collecting hemp etc.
Each sources drop rate can be customized to suit your server, and the sources for ingredients can be changed incredible easily by simply adjusting a number in the config file.
There are 49 unique sources that ingredients can be obtained from from cutting trees to collecting pumpkins.
The chances for each ingredient drop are based on the interaction with that source.
For example, picking a pumpkin offers 1 chance, as it is 1 interaction to pick a pumpking, while cutting a tree may be 10-20 chances (depending on the tool), as it takes a number of hits to fall a tree (this can be adjusted to be based on 1 chance per tree/node etc via the config).
When a roll is successful, it then rolls through each item type and selects the item based on that items "dropWeight", allowing you to make ingredients more or less common than others on the same drop table.
The Farmers Market is an in-built market that allows players to buy and sell ingredients for scrap, server rewards or economics.
By default, the markets stocks will start at 0, and will only increase as players sell their unwanted ingredients to it.
It can be configured to allow all items, or only custom items to be bought and sold through it, and also allows for a maximum stock to be set (default 100), meaing that it cannot have more than 100 of an item type.
The buy/sell values for each ingredient can be adjusted in the config file (default $10 buy, $5 sell).
Starting quantities can also be set if you do not want the market to start at 0.
The market can be accessed by typing in /market (if config is enabled) or by speaking to an NPC that can be spawned with the plugin (addmarketnpc).
Ingredient: A useful ingredient used to make more complex meals.
Woodcutting_Yield: Increases the amount of wood received by a percentage when cutting trees and logs.
Mining_Yield: Increases the amount of ore received by a percentage when mining any ore type.
Skinning_Yield: Increases the amount of animal products received by a percentage when skinning animals.
Heal_Share: Heals those around you for a percentage of the healing you receive.
Heal: Instantly heals you for a percentage of your maximum health.
Food_Share: Shares your food with nearby players, providing them with a percentage of the calories that you consume.
Metabolism_Overload: Increases your maximum calories and hydration capacity by a percentage.
Comfort: Provides an aura of comfort around you. Each nearby player will receive a percentage comfort.
Water_Breathing: Will allow you to breath underwater for the duration.
Fire_Resist: Reduces the damage taken from all sources of fire/heat by a percentage.
Cold_Resist: Reduces the damage taken from the cold by a percentage.
Explosion_Resist: Reduces the damage taken from explosives by a percentage.
Animal_Resist: Reduces the damage taken from animals by a percentage.
Melee_Resist: Reduces the damage taken from attacks made with a melee weapon by a percentage.
Wounded_Resist: If you would enter the wounded state while this buff is active, you will instead be brought to your feet. Any negative modifiers will be removed.
Spectre: You will become invisible to auto-turrets, flame turrets and shotgun traps for the duration.
Madness: This food will make you sound strange to others.
Wealth: Provides you with a percentage find scrap/economics/points when breaking barrels.
Barrel_Smasher: Provides you with a percentage chance to instantly break a barrel with any amount of damage.
Crafting_Refund: Provides you with a percentage chance to refund components when crafting an item.
Passive_Regen: Will passively regenerate a percentage health each second.
Horse_Stats: Will increase the speed any horse you ride by a percentage.
Fall_Damage_resist: Reduces damage taken from falling by a percentage.
Condition_Loss_Reduction: Reduces the condition loss of all worn and held items by a percentage.
Ingredient_Chance: Increases the chance to obtain cooking ingredients by a percentage.
Upgrade_Refund: Provides you with a percentage chance to receive a free upgrade when upgrading your building blocks.
Research_Refund: Provides you with a percentage chance to receive a scrap refund when using a research bench.
Role_Play: This item provides no buffs as it a Roleplay item.
Anti_Bradley_Radar: Makes you invisible to the Bradley APC.
Fishing_Luck: Provides you with a percentage chance to obtain a random item while fishing.
Farming_Yield: Increases the amount of resources collected by a percentage when harvesting player-grown plants.
Component_Luck: Provides a percentage chance to receive a random component when breaking barrels.
Electronics_Luck: Provides a percentage chance to receive a random electrical item when breaking barrels.
Permission: Used for firing off custom commands such as assigning and removing permissions.
Bleed_Resist: Reduces the damage taken from bleeding by a percentage.
Radiation_Resist: Reduces the damage taken from radiation by a percentage.
Max_Repair: Any item that is repaired while this buff is active, will have its maximum condition reset.
Smelt_On_Mine: Provides you with a percentage chance to receive refined resources instead of ores, when mining sulfur and metal nodes.
Loot_Pickup: Provides you with a percentage chance for all items to be moved directly into your inventory when breaking barrels.
Reviver: Sets a players health to a percentage when bringing them up from the wounded state.
Duplicator: Provides you with a percentage chance to duplicate an item when crafting.
Harvest: Increases the amount of resources collected by a percentage> when harvesting wild entities.
Ingredient_Storage: Stores ingredients.
Extra_Calories: Instantly provides you with a percentage of your maximum calories when consumed.
Extra_Hydration: Instantly provides you with a percentage of your maximum hydration when consumed.
Max_Health: Increases your maximum health by a percentage.
Fishing_Yield: Increases the amount of fish received by a percentage.
Damage_Over_Time: This perk will damage the consumer every second for the set value.
Mining_Hotspot: The player will always hit the hot spot while mining.
Woodcutting_Hotspot: The player will always hit the marker while chopping wood.
Dehydration: Removes hydration when applied.
Damage: Damages the consumer by the value.
Radiation: Gives the consumer radiation equal to the value.
Hunger: Removes calories when applied.
Lifelink: Heals the user for a percentage of damage done.
Default: Default Rust item
AnyTree: Chopping any tree
ArcticTree: Chopping arctic trees
DesertTree: Chopping palm trees
TemperateTree: Chopping temperate trees
TundraTree: Chopping tundra trees
Cactus: Chopping cacti
AnyNode: Mining any node
AnyArcticNode: Mining any arctic nodes
AnyDesertNode: Mining any desert nodes
AnyTemperateNode: Mining any temperate nodes
AnyTundraNode: Mining any tundra nodes
StoneNode: Mining stone nodes
MetalNode: Mining metal nodes
SulfurNode: Mining sulfur nodes
AnyAnimal: Skinning any animal
Deer: Skinning deer
Bear: Skinning bears
Wolf: Skinning wolves
Chicken: Skinning chickens
PolarBear: Skinning polar bears
Shark: Skinning sharks
Boar: Skinning boar
horse: Skinning horses
Fishing: Catching fish
Gut: Gutting fish
Pumpkin: Harvesting pumpkins
Potato: Harvesting potatos
Corn: Harvesting corn
Mushroom: Picking mushrooms
BerryBush: Picking berries
BerryBushBlack: Picking black berries
BerryBushBlue: Picking blue berries
BerryBushGreen: Picking green berries
BerryBushRed: Picking red berries
BerryBushWhite: Picking white berries
BerryBushYellow: Picking yellow berries
Hemp: Harvesting hemp
CollectableSulfur: Collectable sulfur nodes
CollectableStone: Collectable stone nodes
CollectableMetal: Collectable metal nodes
Crafted: Crafted
Foodbox: Food boxes
Excavated: Digging up metal detector sites
Wheat: Picking up wheat
Command: cook or recipemenu
Action: Opens the recipe menu from anywhere.
Permission: cooking.recipemenu.chat
Command: market
Action: Opens the farmers market from anywhere.
Permission: cooking.market.cmd
Command: ibag
Action: Opens the ingredient bag from anywhere.
Permission: cooking.bag.cmd
Command: addmarketnpc
Action: Creates a farmers market NPC
Permission: cooking.admin
Command: removemarketnpc
Action: Removes the targeted farmers market NPC
Permission: cooking.admin
Command: clearingredientbags
Action: Clears the contents of ingredient bags for all players
Permission: cooking.admin
Command: giverecipe <recipe>
Action: Gives the command user the specified recipe card
Permission: cooking.admin
Command: givemeal <target> <meal> <amount>
Action: Gives the specified meal to the target player.
Permission: cooking.admin
Command: giveingredient <target> <ingredient> <amount>
Action: Gives the specified ingredient to the target player.
Permission: cooking.admin
Command: setmarketquantity <ingredient> <amount>
Action: Sets the available market quantity of the specified item.
Permission: cooking.admin
// Recipe menu chat command cooking.recipemenu.chat // Using the cooking menu cooking.use // Admin related cooking comands cooking.admin // Bypass cooking time cooking.instant // Bypass ingredient requirements cooking.free // Removes ability to gather ingredients cooking.nogather // Allows the ingredient bag to be opened via CMD cooking.bag.cmd // Disables drop notifications cooking.disable.notify.drop // Disables Notify notifications cooking.disable.notify.proc // Disables menu sounds cooking.disable.sound // Allows access to the farmers market via CMD cooking.market.cmd // Allows the user to speak to the market NPC cooking.market.npc // Allows the user to gather ingredients cooking.gather // Required to find recipe cards cooking.recipecards
Economics - Used for the farmers market and the Wealth buff type.
ServerRewards - Used for the market and the Wealth buff type.
SkillTree - Will provide xp when creating meals with the Cooking plugin.
bool CanGatherIngredient(BasePlayer player, uint source) Returning a non-null value will prevent players from receiving ingredients from certain drop sources. the source is the networked ID of the entity.
void OnMealCrafted(BasePlayer player, string meal, Dictionary<string, int> ingredients, bool isIngredient) Called after a meal has been created and given to the player.
bool IsCookingMeal(Item item) Useful if you want to see if an item is from the recipe menu.
bool IsHorseBuffed(RidableHorse horse) Used to prevent stacking modifiers if a horse is buffed by the Cooking plugin.
object OnAddRecipeCardToLootContainer(BasePlayer player, LootContainer container) Returning a non-null value will prevent recipe cards from being added to the container.
object OnIngredientBagDrop(BasePlayer player) Returning a non-null value will prevent the bag from dropping.
void OnMealConsumed(BasePlayer player, Item item, int duration) Triggered when a player successfully consumes a meal. No return types.
-
Admin Map
Admin Map is an innovative plugin for the game of Rust, designed to make server administration easier and improve the quality of the gaming experience. Focused on optimization and functionality, this plugin provides admins with the tools to effectively control players, minimizing the negative impact on the server and other participants.
Main features:
Interactive map with players: Admin Map provides server admins with a detailed and user-friendly map showing the positions of all players. This allows admins to easily monitor player activity and movements, and quickly detect suspicious activity. Large variety of different admin map layers:
- Marker,
- Text ,
- Sleeper,
- TC,
- Stash,
- Sleeping Bag Quick Commands on Players: The plugin allows admins to perform quick actions on players directly from the map. Send messages, punish or help players in real time, minimizing reaction time and increasing interaction efficiency. Minimal server load: One of the key features of Admin Map is its low server load. All processing takes place solely on the client side, which means that the plugin will not slow down the server or create additional delays for players. This makes it an ideal choice even for servers with high traffic. Ease of use: The plugin's intuitive user interface provides admins with easy access to functionality. Navigating the map, sending commands and monitoring players is done with minimal effort, making server administration easy. Customization: Admin Map provides admins with the option to customize the functionality to suit their needs. Scanning area, available commands, buttons, permissions and other options. Hardcore bypass: Admins will be able to access the map on servers with the hardcore game mode installed.
After permission is granted, it is necessary to rejoin the server Support in RUST+: You will be able to view players online on the map directly in your phone without going to the server! Admin Map is an innovative solution that combines convenience, functionality and optimization. It provides administrators with tools to effectively manage players without negatively impacting gameplay and other server participants. The Admin Map plugin is an essential asset for any Rust server administrator looking to create a comfortable and safe gaming environment.
Permissions:
adminmap.allow - for use adminmap and hardcore bypass adminmap.<button perm> - any permissions specified in the button settings adminmap.teleport2marker - teleportation by marker via CTRL+RMB adminmap.invis - hide player from the player map adminmap.rust+ - enable rust+ admin map adminmap.rust+.invis - hide from rust+ admin map (recommended in case of giving the map to players)
Commands:
/amap - show sidebar /amap off - disable everything and hide the sidebar
Color designations on the cupboards map:
Default Config:
{ "Auto show sidebar panel": true, "Open the admin menu instead of the action menu": false, "Text Map Settings": { "Font size": 8.0, "Use color generation for teams?": true, "Color for team": "ffaf4d", "Color for solo player": "9bd92f", "Color for sleeper": "404040" }, "Command Buttons": [ { "Permission (adminmap.<perm>)": "", "Label": "TP", "Command": "teleport {steamid}", "Color": "1 1 1 1" }, { "Permission (adminmap.<perm>)": "", "Label": "TP2ME", "Command": "teleport {steamid} {admin.steamid}", "Color": "1 1 1 1" }, { "Permission (adminmap.<perm>)": "", "Label": "INV", "Command": "/viewinv {username}", "Color": "1 1 1 1" }, { "Permission (adminmap.<perm>)": "", "Label": "SPECTATE", "Command": "spectate {steamid}", "Color": "1 1 1 1" }, { "Permission (adminmap.<perm>)": "", "Label": "KILL", "Command": "kill {steamid}", "Color": "0.9 0.1 0.25 1" }, { "Permission (adminmap.<perm>)": "", "Label": "KICK", "Command": "kick {steamid}", "Color": "0.9 0.1 0.25 1" }, { "Permission (adminmap.<perm>)": "", "Label": "SHOW\nTEAMMATES", "Command": "adminmap.cmd show_player_teammates {steamid}", "Color": "1 1 1 1" }, { "Permission (adminmap.<perm>)": "", "Label": "SHOW\nPRIVLIDGES", "Command": "adminmap.cmd show_player_privlidges {steamid}", "Color": "1 1 1 1" }, { "Permission (adminmap.<perm>)": "", "Label": "SHOW\nSLEEPING\nBAGS", "Command": "adminmap.cmd show_player_sleepingbags {steamid}", "Color": "1 1 1 1" }, { "Permission (adminmap.<perm>)": "", "Label": "SHOW\nSTASHES", "Command": "adminmap.cmd show_player_stashes {steamid}", "Color": "1 1 1 1" } ] }
Button Library:
Give item to player for AdminMenu by k1lly0u | Minimum required version 1.0.1 { "Permission (adminmap.<perm>)": "", "Label": "GIVE", "Command": "adminmenu.callback {steamid}.4;adminmenu.callback {steamid}.4", "Color": "1 1 1 1" } Permanent ban
{ "Permission (adminmap.<perm>)": "", "Label": "BAN", "Command": "ban {steamid}", "Color": "1 0 0 1" } View backpack (for Backpack Pro)
{ "Permission (adminmap.<perm>)": "", "Label": "Backpack", "Command": "/b {steamid}", "Color": "1 1 1 1" } View backpack (for Backpacks plugin from uMod)
{ "Permission (adminmap.<perm>)": "", "Label": "Backpack", "Command": "viewbackpack {steamid}", "Color": "1 1 1 1" } Spectate
{ "Permission (adminmap.<perm>)": "", "Label": "SPECTATE", "Command": "spectate {steamid}", "Color": "1 1 1 1" }
If you want to add buttons here, message me on my discord server
-
Custom Rewards
Introduction
CustomRewards is a turnkey solution to reward player engagement. This plugin allows you to give a player any type of reward based on conditions you'll be able to configure. Whether you're a server admin aiming to boost player engagement or a developer creating complex reward systems, CustomRewards is your go-to solution.
Main Features:
Diversity of Rewards: Set up a huge variety of rewards for your players, ranging from items to special permissions, including server command execution. Reward Templates: Create different reward models for various events or scenarios, providing maximum flexibility to meet your server's needs. Award Conditions: Ensure only eligible players receive certain rewards by setting conditions based on groups, permissions, and more.
Integration with Other Plugins:
CustomRewards isn't just a standalone, it can also be seamlessly integrated with other externals plugins such as VoteSystem or PlaytimeTracker :
Vote System : By using Custom Reward with VoteSystem, your players will be able to obtain rewards by voting. PlayTime Reward (free) : By using CustomRewards with PlaytimeTracker, your players will be able to obtain rewards based on their playtime. Interface Customization
Provide your players with an appealing visual experience with a fully customizable user interface, custom reward images, and colorful themes.
Expandability for Developers
For those looking to delve deeper, CustomRewards offers a robust API, allowing you to integrate your own point system or even other plugins !
Plugin's Future:
We always listen to the community! If you have a specific plugin you'd like to see integrated with CustomRewards, please let us know. Our goal is to make CustomRewards as versatile and useful as possible for all users.
Support :
I am very often available and will respond as quickly as possible to all your questions, here or on my Discord: https://discord.gg/JJnxFgP27G.
Full Documentation :
Feel free to check out the complete documentation here.
Commands (chat) :
- /CustomRewards_Give <type> <player name or id> <quantity> : available only for administrators or with permission CustomRewards.Admin
- The commands to show the UI need to be implemented in the configuration.
Permissions :
- CustomRewards.Admin : enable admin commands if not administrator
- CustomRewards.<Type>.Use : Permission linked to the type (rewards template), users without the permission will not be able to use the command to display the UI. Therefore, it's important to add the permission to your groups once the template is created!
How To use API :
private void Give_API(string rewardType, ulong playerId, int quantity) // Add quantity points for player (for referenced rewardType) private int Get_API(string rewardType, ulong playerId) // Get quantity points for player (for referenced rewardType)
CustomRewards Configuration Tutorial
Step 1: Initial Setup :
- Ensure the CustomRewards_rewards folder is present in Oxide/Data. If not, the plugin will attempt to create it automatically, but it's good to check.
- Ensure
- For each reward type you want to configure, create a .json file in the CustomRewards_rewards folder. For instance, for a reward type called "VIP", you might have a VIP.json file.
Step 2: Basic Configuration In your .json file:
- "Enabled": Set this value to true to activate this reward type.
- "Commands for show UI": List of commands that will display the user interface for this reward type. For example: ["rewards_vip", "vip_rewards"].
Step 3: User Interface Configuration Under "UI Settings":
- Configure the appearance and layout of the user interface with properties like "Max Reward By Page", "Window Rect", etc.
- Set the theme colors under "Theme" using properties like "Colors". Each color is defined by an RGBA value.
- Configure rarity colors under "Rarity Colors".
- To modify the window title or description (above the rewards), go through the lang files (Oxide/Lang/<lang>/CustomRewards_<type>).
Example Lang file : { "Messages": { "Title": "Rewards", "Description": "Every time you earn points, you can claim your rewards here." } }
Step 4: Reward Configuration Under "Rewards Settings":
- "Rewards List": Here, you'll define each individual reward for this type.
- "Rarity (Common - Rare - Epic - Legendary)": Set the reward's rarity.
- "Quantity": If the reward is an item, set the quantity here.
- "Item Shortname (optional)": If the reward is an item, set its short name here.
- "Custom image URL (optional)": For a custom image for the reward.
- "Server command (optional)": Commands to execute when this reward is claimed.
- "Grant Permissions ": Permissions to grant when this reward is claimed.
- "Grant Groups": Groups to grant when this reward is claimed.
- "Nedded Permissions": Permissions needed to claim this reward.
- "Nedded Group ": Groups needed to claim this reward.
Step 5: Plugin Extensions Under PluginExtensions, you can configure integration with other plugins:
- For PlaytimeTracker, use properties under "PlayTimeTracker" like "Count Afk Time?", "Added points", and "Add point every (in seconds)".
Step 6: Save and Reload After completing your configuration, save the .json file and reload the plugin on your server. Here's a sample configuration file to help you get started:
-
Heavy Cargo Ship Event
Heavy Cargo Ship Event is a configurable plugin that allows for a new type of random event. Randomly a message will appear letting players know that there's an incoming heavy cargo ship.
The ship is equipped with extra scientists, auto turrets, and a Bradley. Players must try to board the ship and kill the scientists in the lower decks to find the code to disable the auto turrets OR destroy all the turrets. If the code is found, it can be entered into the code lock in the lower decks to disable the turrets. Once the turrets are dealt with, players must defeat the Bradley. This can be a real challenge while on a moving ship. Finally, once the Bradley is defeated, players can collect all the loot. That's if someone else doesn't get to it first!
This is a great event to add to your server to give it a little more variety. It can be a fun PVP zone or a PVE event for non PVP servers.
EASY OPTIONAL SETUP - NO SETUP REQUIRED
You can simply drop the plugin in as-is and it will start the random event every 1 to 2 hours OR you can modify the config to change how often it should occur and/or how long until the Heavy Cargo Ship comes.
Configuration
"How many hackable loot crates should spawn.": 4,
"If this is true auto turrets will target and kill NPCs as well as players on the cargo ship.": false,
"If this is true it will spawn auto turrets on the cargo ship.": true,
"If this is true it will spawn the APC Bradley on the cargo ship.": true,
"Maximum time between events(minutes):": 180,
"Minimum number of players before event will start": 4,
"Minimum time between events(minutes):": 60,
"Set this to true if you want to use the custom loot table in this config. If it's false, it will use your server default.": false,
"Should the event start automatically(false if you only want manually start with HeavyCargoStart command": true
Admin Only Commands
/HeavyCargoStart
/HeavyCargoStop
Hooks
void HeavyCargoShipEventStarted()
void HeavyCargoShipEventStopped()
Discord: cahnu