PlaceryExtended
1 / 9








Precision deployable placement for creative Rust builds.
PlaceryExtended is a highly configurable Rust plugin that allows players to place deployables on walls, ceilings, terrain, player-built bases, player boats, and other non-standard surfaces. It includes custom alignment, personal placement toggles, cooldowns, authorization rules, blacklist and whitelist controls, NoEscape integration, rotate mode, custom mounting, and underwater IO routing.
Latest Features
- Player boat placement support.
- Cannons can be placed on player bases and mounted using custom mount logic.
- Terrain placement with its own configurable rules.
- Underwater base support.
- Rotate Mode: hold a deployable placed with PlaceryExtended and press
Rto rotate it. - Underwater IO Tool support for electrical, industrial, and fluid connections.
- CubeBuild compatibility.
Work in Progress
- Door placement on
floor.frame. - Improved stacking for custom deployables.
Key Features
- Flexible placement: Place supported deployables on walls, ceilings, terrain, bases, boats, and other unconventional surfaces.
- Custom alignment: Deployables are automatically aligned using surface-aware angle logic.
- Mounted furniture support: Chairs, sofas, computer stations, and supported mounted entities can use custom mounting logic.
- Skin support: Placed items retain their skin ID.
- Industrial compatibility: Supports storage adapters and compatible industrial, electrical, and fluid connections.
- Permission-based access: Players require
placeryextended.use; administrators can receive separate bypass permissions. - Personal placement toggle: Players can enable or disable PlaceryExtended for themselves with
/toggleplacery. - Dynamic blacklist management: Administrators can add or remove blocked item shortnames without manually editing the config.
- NoEscape integration: Placement can be blocked while a player is combat-, raid-, or escape-blocked.
- Cooldown and radius controls: Helps prevent spam and exploitative rapid placement.
- Language support: User-facing messages can be customized through the plugin's language file.
How Placement Works
- Use right-click during deployment to invoke PlaceryExtended placement. Holding right-click is also supported.
- Use left-click to continue using Rust's normal placement behavior.
- Players normally need authorization from a nearby Tool Cupboard, according to the selected placement-context rules.
- Administrators with the relevant bypass permission can place deployables without normal Tool Cupboard authorization.
PlaceryExtended extends Rust's placement system without replacing normal left-click placement.
Mounted Chairs, Sofas, and Computer Stations
- Place the entity with PlaceryExtended using right-click.
- Ensure the entity faces outward and is not obstructed.
- Approach it and press
Eto mount. - Press
Eagain to dismount.
Permissions
placeryextended.use- Allows a player to use PlaceryExtended features.- Administrative bypass permissions can be used for server moderation, events, or creative building workflows.
Commands
Player Commands
/toggleplacery- Enables or disables PlaceryExtended placement for the player./placeryhelp- Displays available PlaceryExtended commands.
Admin Commands
/addblacklist <shortname>- Adds an item shortname to the blacklist./removeblacklist <shortname>- Removes an item shortname from the blacklist./getblacklist- Displays all blacklisted items./clearblacklist- Clears the blacklist./reloadplacery- Reloads the plugin configuration.
Compatible Deployables
PlaceryExtended is designed to work with most deployable items, including:
- Furniture: Chairs, beds, sofas, and lockers.
- Doors: Garage doors, double doors, and hinged doors when enabled.
- Electrical: Smart switches, ceiling lights, and other electrical deployables.
- Farming: Seeds and other farming deployables on unconventional surfaces.
- Storage: Coffins, boxes, lockers, and compatible storage containers.
- Defenses: Turrets, barricades, mines, and other defensive deployables when permitted by configuration.
Server owners retain full control through context-specific blacklists, whitelists, surface rules, and authorization settings.
Ideal For
- Creative and build servers.
- PvE servers and custom events.
- PvP and arena maps.
- Roleplay servers.
- Underwater bases.
- Custom player-boat builds.
UberTool may conflict with PlaceryExtended placement behavior. Disable the conflicting functionality if both plugins are installed.
Installation
- Place
PlaceryExtended.csin your server'soxide/pluginsdirectory. - Allow the plugin to load, or reload it through your framework/server console.
- Edit
oxide/config/PlaceryExtended.jsonas required. - Reload PlaceryExtended after saving configuration changes.
Configuration
The following is the supplied example configuration:
| 1 | { |
| 2 | "General Settings": { |
| 3 | "Require Command To Activate PlaceryExtended": false, |
| 4 | "Allow Building On Islands": false, |
| 5 | "Allow Door Placement": true, |
| 6 | "Use Custom Mount Logic": false |
| 7 | }, |
| 8 | "Chat Settings": { |
| 9 | "Use Prefix": true, |
| 10 | "Prefix": "<color=#89CFF0>[Placery Extended]</color>", |
| 11 | "Channel": 0, |
| 12 | "Icon Steam Id": 76561198888888888 |
| 13 | }, |
| 14 | "Placement Settings": { |
| 15 | "Radius": 4.0, |
| 16 | "Cooldown Seconds": 2.0 |
| 17 | }, |
| 18 | "Wire / Pipe / Hose Tool Settings": { |
| 19 | "Enabled": true, |
| 20 | "Selection Range": 5.0, |
| 21 | "Max Connection Length": 30.0, |
| 22 | "Max Route Nodes": 16, |
| 23 | "Route Marker Duration": 2.0, |
| 24 | "Route Marker Color": "#00FFFF", |
| 25 | "Allow Sprint + Right Click Edit Existing Connection": true, |
| 26 | "Show Help On Equip": true, |
| 27 | "Help Duration Seconds": 10.0 |
| 28 | }, |
| 29 | "Restriction Settings": { |
| 30 | "Block While Combat Blocked": false, |
| 31 | "Block While Escape Blocked": false, |
| 32 | "Block While Raid Blocked": false |
| 33 | }, |
| 34 | "Placement Rules": { |
| 35 | "Terrain": { |
| 36 | "Enabled": true, |
| 37 | "Require Context Authorization": true, |
| 38 | "Allow Initial Tool Cupboard Placement": true, |
| 39 | "Whitelist Enable": false, |
| 40 | "Whitelist": [], |
| 41 | "Blacklist Enable": true, |
| 42 | "Blacklist": [ |
| 43 | "autoturret", |
| 44 | "samsite" |
| 45 | ], |
| 46 | "Allowed Parent Shortnames Enable": false, |
| 47 | "Allowed Parent Shortnames": [], |
| 48 | "Allowed Surface Prefabs Enable": false, |
| 49 | "Allowed Surface Prefabs": [], |
| 50 | "Allowed Parent Deployables Enable": false, |
| 51 | "Allowed Parent Deployables": [] |
| 52 | }, |
| 53 | "Player Built Bases": { |
| 54 | "Enabled": true, |
| 55 | "Require Context Authorization": true, |
| 56 | "Allow Initial Tool Cupboard Placement": false, |
| 57 | "Whitelist Enable": false, |
| 58 | "Whitelist": [], |
| 59 | "Blacklist Enable": true, |
| 60 | "Blacklist": [ |
| 61 | "wall.external", |
| 62 | "wall.frame", |
| 63 | "wall.window", |
| 64 | "ladder.wooden.wall", |
| 65 | "chineselantern", |
| 66 | "chineselanternwhite", |
| 67 | "xmas.lightstring", |
| 68 | "xmas.lightstring.advanced", |
| 69 | "ceilinglight", |
| 70 | "gunrack_stand", |
| 71 | "xylophone", |
| 72 | "piano", |
| 73 | "pinata", |
| 74 | "discoball", |
| 75 | "microphonestand", |
| 76 | "sled", |
| 77 | "sled.xmas", |
| 78 | "cupboard.tool", |
| 79 | "cupboard.tool.shockbyte", |
| 80 | "cupboard.tool.retro", |
| 81 | "elevator", |
| 82 | "generator.wind.scrap", |
| 83 | "lock.code", |
| 84 | "lock.key", |
| 85 | "door.closer", |
| 86 | "hopper" |
| 87 | ], |
| 88 | "Allowed Parent Shortnames Enable": true, |
| 89 | "Allowed Parent Shortnames": [ |
| 90 | "floor", |
| 91 | "wall", |
| 92 | "foundation", |
| 93 | "ceiling", |
| 94 | "stair", |
| 95 | "shelves", |
| 96 | "roof", |
| 97 | "floor.triangle", |
| 98 | "floor.triangle.frame", |
| 99 | "floor.frame", |
| 100 | "wall.half", |
| 101 | "wall.low", |
| 102 | "roof.triangle", |
| 103 | "wall.doorway" |
| 104 | ], |
| 105 | "Allowed Surface Prefabs Enable": false, |
| 106 | "Allowed Surface Prefabs": [], |
| 107 | "Allowed Parent Deployables Enable": true, |
| 108 | "Allowed Parent Deployables": [ |
| 109 | "box.wooden.large" |
| 110 | ] |
| 111 | }, |
| 112 | "Player Boats": { |
| 113 | "Enabled": true, |
| 114 | "Require Context Authorization": true, |
| 115 | "Allow Initial Tool Cupboard Placement": false, |
| 116 | "Whitelist Enable": false, |
| 117 | "Whitelist": [ |
| 118 | "lantern" |
| 119 | ], |
| 120 | "Blacklist Enable": true, |
| 121 | "Blacklist": [ |
| 122 | "autoturret", |
| 123 | "samsite" |
| 124 | ], |
| 125 | "Allowed Parent Shortnames Enable": false, |
| 126 | "Allowed Parent Shortnames": [], |
| 127 | "Allowed Surface Prefabs Enable": true, |
| 128 | "Allowed Surface Prefabs": [ |
| 129 | "assets/prefabs/building boat/floor/floor.prefab", |
| 130 | "assets/prefabs/building boat/floor/floor.wood.prefab", |
| 131 | "assets/prefabs/building boat/floor.frame/floor.frame.prefab", |
| 132 | "assets/prefabs/building boat/floor.frame/floor.frame.wood.prefab", |
| 133 | "assets/prefabs/building boat/floor.frame.triangle/floor.frame.triangle.wood.prefab", |
| 134 | "assets/prefabs/building boat/floor.frame.triangle/floor.triangle.frame.prefab", |
| 135 | "assets/prefabs/building boat/floor.triangle/floor.triangle.prefab", |
| 136 | "assets/prefabs/building boat/floor.triangle/floor.triangle.wood.prefab", |
| 137 | "assets/prefabs/building boat/hull.corner/hull_corner.prefab", |
| 138 | "assets/prefabs/building boat/hull.corner/hull_corner.wood.prefab", |
| 139 | "assets/prefabs/building boat/hull.square/hull_square.prefab", |
| 140 | "assets/prefabs/building boat/hull.square/hull_square.wood.prefab", |
| 141 | "assets/prefabs/building boat/hull.triangle/hull.triangle.prefab", |
| 142 | "assets/prefabs/building boat/hull.triangle/hull.triangle.wood.prefab", |
| 143 | "assets/prefabs/building boat/ladder/ladder.wooden.boat.item.prefab", |
| 144 | "assets/prefabs/building boat/ladder/ladder.wooden.boat.prefab", |
| 145 | "assets/prefabs/building boat/ladder/ladder.wood.prefab", |
| 146 | "assets/prefabs/building boat/stair/stair.prefab", |
| 147 | "assets/prefabs/building boat/stair/stair.wood.prefab", |
| 148 | "assets/prefabs/building boat/pillar/pillar.wood.prefab", |
| 149 | "assets/prefabs/building boat/wall/wall.prefab", |
| 150 | "assets/prefabs/building boat/wall/wall.wood.prefab", |
| 151 | "assets/prefabs/building boat/wall/wall.wood.full.prefab", |
| 152 | "assets/prefabs/building boat/wall/wall.wood.corner.l.prefab", |
| 153 | "assets/prefabs/building boat/wall/wall.wood.corner.r.prefab", |
| 154 | "assets/prefabs/building boat/wall.low/wall.low.prefab", |
| 155 | "assets/prefabs/building boat/wall.low/wall.low.wood.prefab", |
| 156 | "assets/prefabs/building boat/wall.low.barrier/wall.low.barrier.prefab", |
| 157 | "assets/prefabs/building boat/wall.low.barrier/wall.low.barrier.wood.prefab", |
| 158 | "assets/prefabs/building boat/wall.low.barrier/wall.low.barrier.alt.wood.prefab", |
| 159 | "assets/prefabs/building boat/wall.low.canon/wall.low.cannon.prefab", |
| 160 | "assets/prefabs/building boat/wall.low.canon/wall.low.canon.wood.prefab", |
| 161 | "assets/prefabs/building boat/wall.window/wall.window.prefab", |
| 162 | "assets/prefabs/building boat/wall.window/wall.window.wood.prefab", |
| 163 | "assets/prefabs/building boat/wall.window/wall.window.alt.wood.prefab", |
| 164 | "assets/prefabs/building boat/wall.doorway/wall.doorway.prefab", |
| 165 | "assets/prefabs/building boat/wall.doorway/wall.doorway.wood.prefab" |
| 166 | ], |
| 167 | "Allowed Parent Deployables Enable": false, |
| 168 | "Allowed Parent Deployables": [] |
| 169 | }, |
| 170 | "Underwater": { |
| 171 | "Enabled": true, |
| 172 | "Require Context Authorization": true, |
| 173 | "Allow Initial Tool Cupboard Placement": true, |
| 174 | "Whitelist Enable": false, |
| 175 | "Whitelist": [], |
| 176 | "Blacklist Enable": true, |
| 177 | "Blacklist": [ |
| 178 | "autoturret", |
| 179 | "samsite" |
| 180 | ], |
| 181 | "Allowed Parent Shortnames Enable": true, |
| 182 | "Allowed Parent Shortnames": [ |
| 183 | "floor", |
| 184 | "wall", |
| 185 | "foundation", |
| 186 | "ceiling", |
| 187 | "stair", |
| 188 | "shelves", |
| 189 | "roof", |
| 190 | "floor.triangle", |
| 191 | "floor.triangle.frame", |
| 192 | "floor.frame", |
| 193 | "wall.half", |
| 194 | "wall.low", |
| 195 | "roof.triangle", |
| 196 | "wall.doorway" |
| 197 | ], |
| 198 | "Allowed Surface Prefabs Enable": false, |
| 199 | "Allowed Surface Prefabs": [], |
| 200 | "Allowed Parent Deployables Enable": false, |
| 201 | "Allowed Parent Deployables": [] |
| 202 | } |
| 203 | }, |
| 204 | "PVP Extras": { |
| 205 | "Underwater Tool Cupboard Marker Settings": { |
| 206 | "Enabled": true, |
| 207 | "Marker Text": "UnderWater Base", |
| 208 | "Show Radius Marker": true, |
| 209 | "Marker Radius (0.05 - 1.0)": 0.25, |
| 210 | "Marker Alpha (0 - 1)": 0.85, |
| 211 | "Marker Colour 1 (hex)": "#050505", |
| 212 | "Marker Colour 2 (hex)": "#4FC3F7" |
| 213 | } |
| 214 | }, |
| 215 | "Debug Settings": { |
| 216 | "Enabled": true |
| 217 | } |
| 218 | } |
Extended Placement List
Copy the following array into the appropriate placement section of your configuration if you want to use this extended set:
| 1 | "Placement": [ |
| 2 | "floor", |
| 3 | "wall", |
| 4 | "foundation", |
| 5 | "ceiling", |
| 6 | "stair", |
| 7 | "shelve", |
| 8 | "roof", |
| 9 | "floor.triangle", |
| 10 | "floor.triangle.frame", |
| 11 | "floor.frame", |
| 12 | "wall.half", |
| 13 | "wall.low", |
| 14 | "roof.triangle", |
| 15 | "wall.frame", |
| 16 | "wall.frame.garagedoor" |
| 17 | ] |
Developer API Hooks
Before Placement
Called before PlaceryExtended creates and places a deployable.
| 1 | object CanPlaceryExtendedPlace( |
| 2 | BasePlayer player, |
| 3 | Item item, |
| 4 | BaseEntity parent, |
| 5 | uint prefabId, |
| 6 | string prefabPath, |
| 7 | Vector3 position, |
| 8 | Vector3 normal |
| 9 | ) |
After Placement
Called after PlaceryExtended successfully creates, spawns, and deploys an entity.
| 1 | void OnPlaceryExtendedPlaced( |
| 2 | BasePlayer player, |
| 3 | Item item, |
| 4 | BaseEntity entity, |
| 5 | BaseEntity parent, |
| 6 | uint prefabId, |
| 7 | string prefabPath |
| 8 | ) |
Support
Join the Plugins by Duff Discord for updates and support:
Build your base your way with PlaceryExtended.