Admin Commands Reference
Complete guide to administrative commands for oxide-landscapingjob.
Command Overview
| Command | Description | Permission |
|---|---|---|
/mowerlocation | Create a landscaping office at your position | admin.landscapingjob |
/mowervehicle | Set vehicle spawn for current location | admin.landscapingjob |
/moweryard | Start a new yard definition and open visual editor | admin.landscapingjob |
/mowerpatch | Open grass model picker dialog | admin.landscapingjob |
/mowerundo | Remove the last added patch from current yard | admin.landscapingjob |
/mowerfinishyard | Finish current yard and save it | admin.landscapingjob |
/mowerexport | Export all locations and yards to file (auto-merges existing data) | admin.landscapingjob |
/mowercancel | Cancel current in-progress setup | admin.landscapingjob |
/mowerimport | Load existing config locations and yards into session | admin.landscapingjob |
/mowerlist | Show all locations and yards in current session | admin.landscapingjob |
/mowerremoveyard | Remove a yard from the session by name | admin.landscapingjob |
Coordinate Builder
The coordinate builder is a set of server commands for capturing world positions and building yard definitions.
Location Commands
/mowerlocation
Create a new landscaping office at your current position.
Usage:
/mowerlocation <name>
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
| name | string | Yes | Display name for the office location |
Examples:
/mowerlocation Downtown Office
/mowerlocation Sandy Shores Branch
Output:
- Chat: "Location 'Downtown Office' created at X, Y, Z (heading H). Use /mowervehicle to set vehicle spawn."
Notes:
- Captures your exact position and heading
- You must run
/mowervehiclenext to set the van spawn point - The location is not saved until the vehicle spawn is set
/mowervehicle
Set the vehicle spawn point for the current location setup.
Usage:
/mowervehicle
Parameters: None
Behavior:
- Captures your current position and heading as the van spawn point
- Auto-saves the location with both the NPC and vehicle positions
Output:
- Chat: "Vehicle spawn set. Location 'Downtown Office' saved. Total locations: N"
Notes:
- Requires an active location from
/mowerlocation - Stand where you want the company van to spawn and face the direction it should point
- Choose a flat, open area near a road for best results
Yard Commands
/moweryard
Start a new yard definition at your current position and open the visual editor.
Usage:
/moweryard <name>
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
| name | string | Yes | Display name for the yard |
Examples:
/moweryard Vinewood Hills #1
/moweryard Mirror Park Residence
Output:
- Chat: "Yard 'Vinewood Hills #1' started at X, Y, Z. Visual editor opened."
- The visual yard editor opens in freecam mode
Notes:
- Only one yard can be in progress at a time
- Your player ped is frozen and hidden while the editor is active
- Use the visual editor controls to place patches and obstacles
- Finish with
Enterkey or/mowerfinishyard
/mowerpatch
Open the grass model picker dialog to add a patch at your position.
Usage:
/mowerpatch
Parameters: None
Notes:
- Alternative to the visual editor for placing individual patches
- Requires an active yard from
/moweryard - Opens a client-side dialog to select the grass model
- Patch is placed at your current position
/mowerundo
Remove the last added patch from the current yard.
Usage:
/mowerundo
Parameters: None
Output:
- Chat: "Removed patch #N (model). Remaining patches: N"
Notes:
- Only undoes patches added via
/mowerpatch(not the visual editor) - For visual editor undo, use
Ctrl+ZorBackspacewhile in the editor
/mowerfinishyard
Finish the current yard and save it.
Usage:
/mowerfinishyard
Parameters: None
Output:
- Chat: "Yard 'Name' saved! N patches, M obstacles, tier: SMALL. Total yards: N"
Notes:
- Yard must have at least one patch
- Automatically determines the yard tier based on patch count
- Closes the visual editor if active
- Cleans up all preview props
Export & Cancel
/mowerexport
Export all saved locations and yards to a Lua file.
Usage:
/mowerexport
Parameters: None
Behavior:
- Auto-saves any in-progress location or yard
- Auto-merges all existing locations and yards from the runtime config (deduplicates by name)
- Serializes the merged data to
exported_locations.luain the resource folder - Prints the full output to the server console
Output:
- Chat: "Exported N location(s) and M yard(s) to exported_locations.lua"
- Server console: Full Lua table output
Notes:
- Previously exported data is automatically preserved — you never lose existing yards
- New session entries with the same name as existing ones take priority
- Restart the resource after exporting for changes to take effect
/mowercancel
Cancel any in-progress location or yard setup.
Usage:
/mowercancel
Parameters: None
Output:
- Chat: "Active setup cancelled." or "No setup in progress."
Notes:
- Discards unsaved location and yard data
- Closes the visual editor if active
- Cleans up all preview props
Session Management
/mowerimport
Load existing config locations and yards into the current builder session.
Usage:
/mowerimport
Parameters: None
Behavior:
- Reads runtime
Config.LocationsandConfig.Yards(the merged result ofconfig.lua+exported_locations.lua) - Adds entries to the session that don't already exist (deduplicates by name)
Output:
- Chat: "Imported N location(s) and M yard(s) from config. Session now has X location(s) and Y yard(s)."
Notes:
- Required before using
/mowerremoveyardto remove existing yards - Safe to run multiple times — already-imported entries are skipped
- Use
/mowerlistafter importing to see the full session contents
/mowerlist
Show all locations and yards currently in the builder session.
Usage:
/mowerlist
Parameters: None
Output:
[LawnBuilder] === Session Contents ===
[LawnBuilder] Locations (2):
[LawnBuilder] 1. The Mighty Bush
[LawnBuilder] 2. New Office
[LawnBuilder] Yards (3):
[LawnBuilder] 1. Rockford Hills Sign (65 patches, 12 obstacles) [LARGE]
[LawnBuilder] 2. Steele Way (22 patches, 7 obstacles) [SMALL]
[LawnBuilder] 3. New Yard (10 patches, 3 obstacles) [SMALL]
Notes:
- Shows patch count, obstacle count, and tier for each yard
- Only shows data in the current session — use
/mowerimportfirst to include existing config data
/mowerremoveyard
Remove a yard from the builder session by its exact name.
Usage:
/mowerremoveyard <name>
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
| name | string | Yes | Exact name of the yard to remove |
Examples:
/mowerremoveyard Steele Way
/mowerremoveyard Rockford Hills Sign
Output:
- Chat: "Removed yard 'Steele Way'. Session now has N yard(s)."
- Or: "Yard 'Steele Way' not found in session. Use /mowerlist to see current yards."
Notes:
- Name must match exactly (case-sensitive)
- To remove a previously exported yard, run
/mowerimportfirst to load it into the session - After removing, run
/mowerexportand restart to apply the change
Visual Yard Editor
The yard editor is a freecam tool for precisely placing grass patches and obstacles in the world. It opens automatically when running /moweryard.
Editor Modes
The editor supports two placement types, toggled with Tab:
| Mode | Color | Description |
|---|---|---|
| PATCH | Green | Places grass patches (from Config.GrassProps) |
| OBSTACLE | Orange | Places obstacles (from Config.ObstacleProps) |
Placement Mode Controls
Placement mode is the default state with a freecam and ghost prop following your crosshair.
| Control | Action |
|---|---|
WASD | Move camera |
Mouse | Look around |
Shift | Move camera up |
Ctrl | Move camera down |
Scroll | Adjust camera speed |
E | Cycle to next model |
Q | Cycle to previous model |
Tab | Toggle patch/obstacle mode |
Left Click | Lock position, enter precision mode |
Ctrl+Z or Backspace | Undo last placement |
Enter | Save yard and exit |
ESC | Exit editor (yard stays in progress) |
Precision Mode Controls
Precision mode freezes the camera and lets you fine-tune rotation and height.
| Control | Action |
|---|---|
Mouse X | Rotate heading |
Scroll Up | Raise Z offset (+0.01 per tick) |
Scroll Down | Lower Z offset (-0.01 per tick) |
Left Click | Confirm placement |
Right Click | Cancel, return to placement mode |
HUD Display
While the editor is active, the HUD shows:
- Mode indicator:
[PATCH](green) or[OBSTACLE](orange) - Model name: Current model with index (e.g.,
prop_veg_grass_01_d (4/8)) - Counts: Total placed patches and obstacles
- Camera speed: Current movement speed
- Precision info: Z offset and heading (when in precision mode)
- Controls reminder: Key bindings at bottom of screen
Building New Yards
Recommended Workflow
- Scout the location: Drive around and find a suitable yard area
- Start the yard:
/moweryard My New Yard - Place patches: Fly around in freecam, click to place grass props
- Add obstacles: Press
Tabto switch to obstacle mode, place a few obstacles - Fine-tune: Use precision mode to adjust rotation and height
- Save: Press
Enterto finish the yard - Repeat: Build more yards as needed
- Export:
/mowerexportto save everything to a file
Tips
- Patch density: Aim for patches close together but not overlapping
- Patch count: 15-30 patches make a good small yard, 50+ for medium
- Obstacles: Add 3-8 obstacles per yard for variety
- Height: Use precision mode scroll to sink patches slightly into the ground for a natural look
- Rotation: Vary patch rotations to avoid a uniform appearance
- Test: After exporting, restart the resource and test the yard by clocking in
Adding Exported Data
After running /mowerexport, restart the resource to apply:
restart oxide-landscapingjob
The export automatically includes all existing data, so you can safely build yards incrementally across sessions without losing previous work.
Permissions
All coordinate builder commands require the admin.landscapingjob ACE permission. The visual editor is accessible only through /moweryard, which also requires this permission.
Granting Access
Add the following to your server.cfg:
add_ace group.admin admin.landscapingjob allow
Or grant to specific identifiers:
add_ace identifier.fivem:123456 admin.landscapingjob allow
How It Works
Commands check permissions using FiveM's built-in ACE system:
IsPlayerAceAllowed(source, 'admin.landscapingjob')