Easily spawn permanent entities at monuments, which auto respawn after restarts and wipes.
spawn <entity>
npcvendingmachine
or shopkeeper_vm_invis
prefabs.List of spawnable entities: https://github.com/OrangeWulf/Rust-Docs/blob/master/Entities.md
monumentaddons.admin
-- Allows all commands. Grant this to admins or moderators, not to normal players.Let's face it, you are probably planning to use this plugin the same way as many other server owners. That means there may already be profiles that you can install to do just that.
Several example profiles are included below. Run the corresponding command snippet to install each profile.
mainstall BarnAirwolf
-- Adds an Air Wolf vendor to Large Barn and Ranch.mainstall CargoShipCCTV
-- Adds 7 CCTVs and one computer station to cargo ship (same as the Cargo Ship CCTV plugin).mainstall FishingVillageAirwolf
-- Adds an Air Wolf vendor to Large Fishing Village and to one of the small Fishing Villages.mainstall MonumentCooking
-- Adds a cooking static (BBQ / camp fire / hobo barrel) to safe zones and low-level named monuments that lack them.mainstall MonumentLifts
-- Adds car lifts to gas station and supermarket (same as the MonumentLifts plugin).mainstall MonumentsRecycler
-- Adds recyclers to Cargo Ship, Oilrigs, Dome and Fishing Villages (same as the MonumentsRecycler plugin).mainstall OilRigSharks
-- Adds one shark to small rig and two sharks to lage rig.mainstall OutpostAirwolf
-- Adds an Air Wolf vendor to Outpost, with some ladders to allow access.mainstall SafeZoneRecyclers
-- Adds a recycler to Fishing Villages, Large Barn, and Ranch (different locations than MonumentsRecycler for compatibility).mainstall TrainStationCCTV
-- Adds 6 CCTVs and one computer station to each underground Train Station.These example profiles are installed from https://github.com/WheteThunger/MonumentAddons/blob/master/Profiles/. Don't see what you're looking for? Want to showcase a profile you created? Fork the repository on GitHub, commit the changes, and submit a pull request!
Follow these steps to spawn static entities.
maspawn <entity>
to spawn an entity of your choice. For example, maspawn modularcarlift.static
. Alternatively, if you are holding a deployable item, you can simply run maspawn
to spawn the corresponding entity.How this works:
Follow these steps to create an example puzzle.
maspawn generator.static
. This will be the root of your puzzle, automatically resetting it on a schedule. It's recommended to place the generator near the center of the puzzle so it can evenly detect nearby players for the purpose of delaying the puzzle from resetting.maspawn fusebox
.maspawn security.blue
. Reposition the door with Telekinesis if needed.maspawn cardreader
and maspawn doormanipulator
.maspawn pressbutton
, and maspawn orswitch
.macardlevel 2
to make it a blue card reader.mawire
.generator.static
-> fusebox
-> cardreader
-> orswitch
-> doormanipulator
.pressbutton
-> orswitch
.Follow these steps to create example spawn points.
maspawngroup create MyFirstSpawnGroup
to create a spawn group and a spawn point.maspawngroup add radtown/crate_normal 30
.maspawngroup add radtown/crate_normal_2 70
.maspawngroup add crate_basic 100
.maspawnpoint create MyFirstSpawnGroup
to create a second spawn point in the spawn group you created earlier.maspawnpoint set RandomRadius 1.5
.maspawngroup set MaxPopulation 2
.maspawngroup respawn
. Run this as many times as you want to see the loot crates respawn.mahelp
-- Prints help information about available commands.maspawn <entity>
-- Spawns an entity where you are aiming, using the entity prefab name.
maspawn
without specifying the entity name.spawn
command, so if the entity name isn't specific enough, it will print all matching entity names.station-sn-0
and station-we-0
will both use the TrainStation
alias, allowing all train stations to have the same entities.maprefab <prefab>
-- Creates an instance of a non-entity prefab. Note: This is very limited. Only prefabs with the assets/bundled/prefabs/modding
path are supported, and the prefab instances are not networked to clients (because the game does not offer that capability) so they will be invisible, despite having real effects on the server side. This command is intended primarily for placing CH47 drop zones (maprefab dropzone
), but it can also be used to place loot and NPC spawners that custom maps tend to use, although you will have much greater control of spawners when using the spawn point capabilities of the plugin instead.mapaste <file> <optional_args>
-- Pastes a building from the CopyPaste plugin, using the specified file name. Supports all arguments provided by the CopyPaste plugin such as height
.maundo
-- Undo a recent makill
action.mashow <optional_profile_name> <optional_duration_in_seconds>
-- Shows debug information about nearby entities spawned by this plugin, for the specified duration. Defaults to 60 seconds.
The following commands only work on objects managed by this plugin. The effect of these commands automatically applies to all copies of the object at matching monuments, and also updates the data files.
makill
-- Deletes the entity or spawn point that you are aiming at.
masave
-- Saves the current position and rotation of the entity you are aiming at. This is useful if you moved the entity with a plugin such as Edit Tool or Uber Tool. This is not necessary if you are repositioning entities with Telekinesis since that will be automatically detected.
maflag <flag>
-- (Advanced) Toggles a flag between enabled/disabled/unspecified on the entity you are aiming at. When running this command without specifying a flag, the current/enabled/disabled flags will be printed. Allowed flags as of this writing: Placeholder
, On
, OnFire
, Open
, Locked
, Debugging
, Disabled
, Reserved1
, Reserved2
, Reserved3
, Reserved4
, Reserved5
, Broken
, Busy
, Reserved6
, Reserved7
, Reserved8
, Reserved9
, Reserved10
, Reserved11
, InUse
, Reserved12
, Reserved13
, Unused23
, Protected
, Transferring
.
On
flag whenever it turns on/off). Overriding a flag with this plugin only ensures that the flag is enabled or disabled when the entity is spawned and when the profile or plugin reloads.On
-- Determines some functional and cosmetic effects for various entities, such as furnaces, recyclers, some lights.Locked
-- Determines whether a door or storage container can be opened.Busy
-- Determines whether the entity can be interacted with.Disabled
-- Determines whether the entity is visible.Reserved8
-- Used by electrical entities to denote whether there is sufficient electricity.Reserved9
-- Used by recyclers to determine recycle efficiency (by default, this flag is enabled on recyclers only in safe zones). You can forcibly enable or disable this flag to achieved the desired recycler efficiency (40% or 60%).maskin <skin id>
-- Updates the skin of the entity you are aiming at.masetid <id>
-- Updates the RC identifier of the CCTV camera you are aiming at.
1
, 2
, 3
and so on. This is done because some monuments may be duplicated, and each CCTV must have a unique identifier.masetdir
-- Updates the direction of the CCTV you are aiming at, so that it points toward you.maskull <name>
-- Sets the display name of the skull trophy you are aiming at.matrophy
-- Mounts a copy of your currently held head bag to the hunting trophy you are aiming at.mawire <optional color>
-- Temporarily enhances your currently held wire tool, allowing you to connect electrical entities spawned via maspawn
. Allowed colors: Default
, Red
, Green
, Blue
, Yellow
, Pink
, Purple
, Orange
, White
, LightBlue
, Invisible
. Note: When using the Invisible
color, you can only directly connect entity inputs and outputs, not place intermediate wire points.macardlevel <1-3>
(1 = green, 2 = blue, 3 = red) -- Sets the access level of the card reader you are aiming at. For example, macardlevel 2
will make the card reader visually blue and require a blue key card.mapuzzle reset
-- Resets the puzzle connected to the entity you are looking at. For example, when looking at a static generator (i.e., generator.static
) or an entity connected directly or indirectly to a static generator.mapuzzle set <option> <value>
-- Sets a property of the puzzle root entity you are looking at. This applies only to static generators (i.e., generator.static
).
PlayersBlockReset
: true/false -- While true
, the puzzle will not make progress toward the next reset while any players are within the distance PlayerDetectionRadius
.PlayerDetectionRadius
: number -- The distance in which players can block the puzzle from making progress toward its next reset.SecondsBetweenReset
: number -- The number of seconds between puzzle resets. Note: Reset progress does not advance while PlayersBlockReset
is enabled and players are nearby.mapuzzle add <group_name>
-- Associates a spawn group with the puzzle root entity you are aiming at (i.e., generator.static
). Whenever a puzzle resets, associated spawn groups will despawn and respawn entities, allowing you to synchronize loot, NPCs and puzzle doors. To associate a spawn group, it must be created by the plugin, stored under the same profile, and be at the same monument.mapuzzle remove <group_name>
-- Disassociates a spawn group with the puzzle root entity you are aiming at (i.e., generator.static
).mashowvanilla
-- For educational purposes, this shows debug information for 60 seconds about vanilla spawn points at the monument you are aiming at. If you are aiming at an entity (e.g., a junk pile, dwelling, or cargo ship), this will instead show spawn points that are parented to that entity.maspawngroup create <name>
-- Creates a spawn group and a spawn point where you are looking.maspawngroup set <option> <value>
-- Sets a property of the spawn group you are looking at.
Name
: string -- This name must be unique for the given profile + monument. This name can be used to create additional spawn points for this spawn group using maspawnpoint create <group_name>
.Color
: string -- The debug color of the spawn group, when using mashow
. Supports some color names such as "red", as well as HTML color codes like #F90
and #FF9900
. Set to none
to revert to the default color controlled by the config.MaxPopulation
: number -- The maximum number of entities that can be spawned across all spawn points in this spawn group.RespawnDelayMin
: number -- The minimum time in seconds to wait between spawning entities.RespawnDelayMax
: number -- The maximum time in seconds to wait between spawning entities. Set to 0
to disable automated respawns, which is useful if you are associating the spawn group with a puzzle.SpawnPerTickMin
: number -- The minimum number of entities to try to spawn in a batch.SpawnPerTickMax
: number -- The maximum number of entities to try to spawn in a batch.InitialSpawn
: true/false -- While true
, the spawn group will spawn entities as soon as the spawn group is created (e.g., when the profile loads, when the plugin loads, or when the server reboots). While false
, the spawn group will not spawn any entities initially, but will still spawn them later according to the defined schedule.PreventDuplicates
: true/false -- While true
, only one of each entity prefab can be present across all spawn points in the spawn group. Vanilla Rust uses this property for spawning modules at desert military bases.PauseScheduleWhileFull
: true/false -- While true
, the next spawn will not be scheduled until the spawn group is below its max population. For instance, if the spawn group is at 2/2 population, and respawn delay is set to 30 minutes, once the population reaches 1/2, the 30 minute respawn timer will be started. In vanilla Rust, this feature does not exist, meaning the timer is always going, allowing for situations where loot spawns shortly after loot is taken.RespawnWhenNearestPuzzleResets
: true/false -- While true
, the spawn group will associate with the closest nearby vanilla puzzle. When that puzzle resets, the spawn group will despawn all entities and run one spawn tick (same behavior as when you run maspawngroup respawn
). This is useful if you want to add spawn points for extra loot at vanilla puzzles. Note: This can only associate a custom spawn group with a vanilla puzzle. If you want to associate a custom spawn group with a custom puzzle, you must associate directly (e.g., mapuzzle add <group_name>
while looking at the puzzle root entity).maspawngroup add <entity> <weight>
-- Adds the specified entity prefab to the spawn group you are looking at.maspawngroup remove <entity>
-- Removes the specified entity prefab from the spawn group you are looking at.maspawngroup spawn
-- Runs one spawn tick for the spawn group. For example, if you have set SpawnPerTickMin
to 1 and SpawnPerTickMax
to 2, running this command will spawn 1-2 entities, as long as there are available spawn points and sufficient population headroom.maspawngroup respawn
-- Despawns all entities across the spawn group and runs one spawn tick.Note: masg
can be used in place of maspawngroup
.
maspawnpoint create <group_name>
-- Creates a spawn point where you are looking, for the specified spawn group. The spawn group must be in your selected profile and be at the same monument.maspawnpoint set <option> <value>
-- Sets a property of the spawn group you are looking at. You can also use setall
to apply the change to all spawn points within the same spawn group.
Exclusive
: true/false -- While true
, only one entity can be spawned at this spawn point at a time.DropToGround
: true/false -- While true
, entities will be spawned on the nearest flat surface below the spawn point.CheckSpace
: true/false -- While true
, entities can only spawn at this spawn point when there is sufficient space. This option is recommended for vehicle spawn points.RandomRotation
: true/false -- While true
, entities will spawn with random rotation at this spawn point, instead of following the rotation of the spawn point itself.RandomRadius
: number -- This number determines how far away entities can spawn from this spawn point. The default is 0.0
.PlayerDetectionRadius
: number -- This number determines how far away players must be, in order for this spawn point to spawn an entity. By default, vanilla behavior checks within 2
meters for normal spawn points, or RandomRadius
+ 1
meter for radial spawn points. Setting this value to greater than 0
will override the vanilla behavior, allowing you to enlarge or shrink the detection radius. While a player is detected within the radius, the spawn point is considered unavailable, so another spawn point within the same spawn group may be selected for spawning an entity.Note: masp
can be used in place of maspawnpoint
.
Profiles allow you to organize entities into groups. Each profile can be independently enabled or reloaded. Each profile uses a separate data file, so you can easily share profiles with others.
maprofile
-- Prints help info about all profile commands.maprofile list
-- Lists all profiles in the oxide/data/MonumentAddons/
directory.maprofile describe <name>
-- Describes all addons within the specified profile.maprofile enable <name>
-- Enables the specified profile. Enabling a profile spawns all of the profile's addons, and marks the profile as enabled in the data file so it will automatically load when the the plugin does.maprofile disable <name>
-- Disables the specified profile. Disabling a profile despawns all of the profile's addons, and marks the profile as disabled in the data file so it won't automatically load when the plugin does.maprofile reload <name>
-- Reloads the specified profile from disk. This despawns all the profile's addons, re-reads the data file, then respawns all the profile's addons. This is useful if you downloaded a new version of a profile or if you made manual edits to the data file.maprofile select <name>
-- Selects and enables the specified profile. Running maspawn <entity>
will save addons to the currently selected profile. Each player can have a separate profile selected, allowing multiple players to work on different profiles at the same time.maprofile create <name>
-- Creates a new profile, enables it and selects it.maprofile rename <name> <new name>
-- Renames the specified profile.maprofile clear <name>
-- Removes all addons from the specified profile.maprofile delete <name>
-- Deletes the specified profile. The profile must first be empty or disabled.maprofile moveto <name>
-- Moves the addon you are looking at to the specified profile.maprofile install <url>
-- Installs a profile from a URL.
mainstall <url>
.maprofile install OutpostAirwolf
or mainstall OutpostAirwolf
.{
"Debug display settings": {
"Default display duration (seconds)": 60.0,
"Display distance": 100.0,
"Display distance abbreviated": 200.0,
"Max addons to show unabbreviated": 1,
"Entity color": "#FF00FF",
"Spawn point color": "#FF8000",
"Paste color": "#00FFFF",
"Custom addon color": "#00FF00",
"Custom monument color": "#00FF00",
"Inactive profile color": "#808080"
},
"Save entities between restarts/reloads to preserve their state throughout a wipe": {
"Enable saving for storage entities": false,
"Enable saving for non-storage entities": false,
"Override saving enabled by prefab": {}
},
"Dynamic monuments": {
"Entity prefabs to consider as monuments": [
"assets/content/vehicles/boats/cargoship/cargoshiptest.prefab"
]
},
"Addon defaults": {
"Spawn group defaults": {
"MaxPopulation": 1,
"SpawnPerTickMin": 1,
"SpawnPerTickMax": 2,
"RespawnDelayMin": 1500.0,
"RespawnDelayMax": 2100.0,
"InitialSpawn": true,
"PreventDuplicates": false,
"PauseScheduleWhileFull": false,
"RespawnWhenNearestPuzzleResets": false
},
"Spawn point defaults": {
"Exclusive": true,
"SnapToGround": true,
"CheckSpace": false,
"RandomRotation": false,
"RandomRadius": 0.0,
"PlayerDetectionRadius": 0.0
},
"Puzzle defaults": {
"PlayersBlockReset": true,
"PlayerDetectionRadius": 30.0,
"SecondsBetweenResets": 1800.0
}
},
"Deployable overrides": {
"arcade.machine.chippy": "assets/bundled/prefabs/static/chippyarcademachine.static.prefab",
"autoturret": "assets/content/props/sentry_scientists/sentry.bandit.static.prefab",
"bbq": "assets/bundled/prefabs/static/bbq.static.prefab",
"boombox": "assets/prefabs/voiceaudio/boombox/boombox.static.prefab",
"box.repair.bench": "assets/bundled/prefabs/static/repairbench_static.prefab",
"cctv.camera": "assets/prefabs/deployable/cctvcamera/cctv.static.prefab",
"chair": "assets/bundled/prefabs/static/chair.static.prefab",
"computerstation": "assets/prefabs/deployable/computerstation/computerstation.static.prefab",
"connected.speaker": "assets/prefabs/voiceaudio/hornspeaker/connectedspeaker.deployed.static.prefab",
"hobobarrel": "assets/bundled/prefabs/static/hobobarrel_static.prefab",
"microphonestand": "assets/prefabs/voiceaudio/microphonestand/microphonestand.deployed.static.prefab",
"modularcarlift": "assets/bundled/prefabs/static/modularcarlift.static.prefab",
"research.table": "assets/bundled/prefabs/static/researchtable_static.prefab",
"samsite": "assets/prefabs/npc/sam_site_turret/sam_static.prefab",
"small.oil.refinery": "assets/bundled/prefabs/static/small_refinery_static.prefab",
"telephone": "assets/bundled/prefabs/autospawn/phonebooth/phonebooth.static.prefab",
"vending.machine": "assets/prefabs/deployable/vendingmachine/npcvendingmachine.prefab",
"wall.frame.shopfront.metal": "assets/bundled/prefabs/static/wall.frame.shopfront.metal.static.prefab",
"workbench1": "assets/bundled/prefabs/static/workbench1.static.prefab",
"workbench2": "assets/bundled/prefabs/static/workbench2.static.prefab"
},
"Xmas tree decorations (item short names)": [
"xmas.decoration.gingerbreadmen",
"xmas.decoration.star",
"xmas.decoration.tinsel",
"xmas.decoration.candycanes",
"xmas.decoration.pinecone",
"xmas.decoration.lights"
]
}
Debug display settings
-- Determines the appearance of addon debug information (i.e., when using mashow
). Note that running most commands in the plugin will automatically show or renew debug information for a period of time.
Default display duration (seconds)
-- Determines how long debug information will be displayed when using mashow
without specifying the duration, or when automatically showing debug information due to running a relevant command.Display distance
-- Determines how far away you can see full debug information about addons.Display distance abbreviated
-- Determines how far away you can see an abbreviated symbol for addons, instead of the full debug information, to reduce screen clutter. This number should be set higher than Display distance
.Max addons to show unabbreviated
-- Determines how many addons you can see unabbreviated at once. When there are more than this number of addons within Display distance
, addons closer to where you are aiming will be prioritized. This number should be set low to reduce screen clutter.Entity color
-- Determines the debug text color for entity addons (the most common type of addon).Spawn point color
-- Determines the debug text color for spawn point addons.Paste color
-- Determines the debug text color for paste addons.Custom addon color
-- Determines the debug text color for custom addons registered by other plugins.Custom monument color
-- Determines the debug text color for custom monuments registered by other plugins.Inactive profile color
-- Determines the debug text color for addons that are not part of the specified profile (i.e., when using mashow <profile_name>
).Save entities between restarts/reloads to preserve their state throughout a wipe
-- Determines whether entities spawned by maspawn
will remain while the plugin is unloaded, and will be saved by Rust across server restarts. Please carefully read and understand the documentation about this option before enabling it. Note: This option currently has no effect on Pastes, Spawn Groups or Custom Addons, nor for any addons placed at monuments registered via the Custom Monument API, meaning that those addons will always be despawned/respawned when the plugin reloads.
false
), when the plugin unloads, it will despawn all entities spawned via maspawn
. When the plugin subsequently reloads, those entities will be respawned from scratch. This means, for entities that maintain state (such as player items temporarily residing in recyclers), that state will be lost whenever the plugin unloads. The most practical consequence of using this mode is that player items inside containers will be lost when a profile is reloaded, when the plugin is reloaded, or when the server reboots. Despite that limitation, having saving disabled is the most simple and stable value for this option because it ensures consistent reproducibility across plugin reloads.true
), when the plugin unloads, all entities spawned by via maspawn
will remain, in order to preserve their state (e.g., items inside a recycler). When the plugin subsequently reloads, it will find the existing entities, reconcile how they differ from the enabled profiles, and despawn/respawn/reposition/modify them as needed. The plugin will try to avoid despawning/respawning an entity that is already present, in order to preserve the entity's state. Despite this sounding like the more obvious mode of the plugin, it is more complex and less stable than the default mode, and should therefore be enabled with caution.Enable saving for storage entities
(true
or false
) -- Applies to all entities that the plugin classifies as storage entities. This category includes hundreds of prefabs, including recyclers, furnaces, research tables, vending machines, and mining quarries. Enabling this is useful especially for vending machines as it will allow Custom Vending Setup to save dynamic prices throughout a wipe.Enable saving for non-storage entities
(true
or false)
-- Applies to all entities that the plugin doesn't classify as storage entities. It's recommended to keep this disabled as there is a low but nonetheless real risk of "double entities" in some edge cases if you enable saving for anything. If you have specific entity prefabs that you know need their state saved, you can override them via Override saving enabled by prefab
.Override saving enabled by prefab
-- Allows you to forcibly enable or disable saving of specific entity prefabs regardless of whether you have enabled saving for the entity category. Example below.
"Override saving enabled by prefab": {
"assets/prefabs/deployable/vendingmachine/npcvendingmachine": true,
"assets/prefabs/deployable/vendingmachine/npcvendingmachines/shopkeeper_vm_invis": true
}
Dynamic monuments
Entity prefabs to consider as monuments
-- Determines which entities are considered dynamic monuments. When an entity is considered a dynamic monument, you can define addons for it via maspawn
and similar commands, and the plugin will ensure every instance of that entity has those addons attached. For example, Cargo Ship has been considered a dynamic monument since an early version of this plugin, but now you can define additional ones such as desert military base modules and road-side junk piles.maspawn
and similar commands to recognize the entity as a monument. If you want to install an external profile that defines addons for a dynamic monument (such as the CargoShipCCTV profile), it isn't necessary to update this configuration because the plugin will automatically determine that the entity is a dynamic monument by reading the profile. Additionally, if you install an external profile which defines addons for a given dynamic monument, maspawn
and similar commands will automatically recognize that entity as a dynamic monument. Addon defaults
-- Determines the default values for various addon parameters when placing new addons. These options do not affect addons which have already been placed. To understand these options, see the documentation for the respective commands (maspawngroup
, maspawnpoint
, mapuzzle
).Deployable overrides
-- Determines which entity will be spawned when using maspawn
if you don't specify the entity name in the command. For example, while you are holding an auto turret, running maspawn
will spawn the sentry.bandit.static
prefab instead of the autoturret_deployed
prefab.Xmas tree decorations (item short names)
-- Determines which decorations will be automatically added to xmas_tree.deployed
entities spawned via maspawn
.Since underwater labs are procedurally generated, this plugin does not spawn entities relative to the monuments themselves. Instead, entities are spawned relative to specific modules. For example, if you spawn an entity in a moonpool module, the entity will also be spawned at all moonpool modules in the same lab and other labs.
Note that some modules have multiple possible vanilla configurations, so multiple instances of the same module might have slightly different placement of vanilla objects. That happens because Rust spawns semi-random dwelling entities in them, which you can learn about via the mashowvanilla
command. You can use that command to get an idea of where dwellings spawn, in order to avoid placing your addons at those locations. After spawning something into a lab module, it's also recommended to inspect other instances of that module to make sure the entity placement isn't overlapping a dwelling entity.
Sharing a profile via a website allows recipients to install the profile with a single command. Here's how it works:
oxide/data/MonumentAddons/PROFILE_NAME.json
file, where PROFILE_NAME
is replaced with the profile's actual name.mainstall <url>
using the URL provided by the profile author.Sharing a profile via a website will eventually have additional perks, including the ability to download updates to the profile automatically, while preserving customizations you have made.
If you don't have a website to host a profile, you can simply send the profile data file to someone else over Discord or wherever. Here's how it works:
oxide/data/MonumentAddons/PROFILE_NAME.json
file, where PROFILE_NAME
is replaced with the profile's actual name.maprofile enable <name>
. Alternatively, if the recipient already had a version of the profile installed and enabled, they would run maprofile reload <name>
.Use the following steps to set persistent images for signs or photo frames. Requires the Sign Artist plugin to be installed with the appropriate permissions granted.
maspawn sign.large
. You can also use other sign entities, photo frames, neon signs, or carvable pumpkins.sil
, silt
or sili
to apply an image to the sign.That's all you need to do. This plugin detects when you use a Sign Artist command and automatically saves the corresponding image URL or item short name in the profile's data file for that particular sign. When the plugin reloads, Sign Artist is called to reapply that image. Any change to a sign will also automatically propagate to all copies of that sign at duplicate monuments.
Notes:
monumentaddons.admin
permission can edit signs that are managed by this plugin, so you don't have to worry about random players vandalizing the signs.Use the following steps to resize entities. Requires the Entity Scale Manager plugin to be installed with the appropriate permissions granted.
maspawn <entity>
.scale <size>
.That's all you need to do. This plugin detects when an entity is resized and automatically applies that scale to copies of the entity as matching monuments, and saves the scale in the profile's data file. When the plugin reloads, Entity Scale manager is called to reapply that scale.
Use the following steps to set up a heli vendor at a custom location.
maspawn bandit_conversationalist
.maspawn airwolfspawner
.Use the following steps to set up a boat vendor at a custom location.
maspawn boat_shopkeeper
.maspawn boatspawner
.Notes:
Use the following steps to set up CCTV cameras and computer stations.
maspawn cctv.static
.masetid <id>
while looking at the camera.masetdir
while looking at the camera. This will cause the camera to face you, just like with deployable CCTV cameras.maspawn computerstation.static
.That's all you need to do. The rest is automatic. Read below if you are interested in how it works.
Note: As of this writing, there is currently a client bug where having lots of RC identifiers saved in a computer station may cause some of them to not be displayed. This is especially an issue at large underwater labs. If you add custom CCTVs in such a location, some of them may not show up in the list at the computer station. One thing you can do to partially mitigate this issue is to use shorter RC identifier names.
Use the following steps to set up a custom bandit wheel to allow players to gamble scrap.
maspawn chair.static
. You can also use other mountable entities.maspawn bigwheelbettingterminal
. This needs to be close to the front of the chair so that players can reach it while sitting. Getting this position correct is the hardest part.maspawn big_wheel
. This needs to be within 30 meters (equivalent to 10 foundations) of the betting terminals to find them.Notes:
To place a CH47 drop zone, run the command maprefab dropzone
. It can be removed using the makill
command.
Note: In order for a CH47 to drop a crate at this location, it must be within a monument that the chinook will visit. You can use the Better Chinook Patrol plugin to customize which monuments can be visited.
generator.static
(not generator.small
)fusebox
cardreader
pressbutton
(not button
)doormanipulator
(not doorcontroller.deployed
)simpleswitch
(not switch
)orswitch
(not orswitch.entity
)timerswitch
(not timer
)xorswitch
(not xorswitch.entity
)door.hinged.security.green
, door.hinged.security.blue
, door.hinged.security.red
, door.hinged.underwater_labs.security
, door.hinged.garage_security
Note: Kinetic IO elements such as wheelswitch
and sliding_blast_door
are not currently able to be controlled by electricity.
maspawn
and makill
to keys while setting up entities to save time. Remember that running maspawn
without specifying the entity name will spawn whichever deployable you are currently holding. Note: You may need to rotate the placement guide in some cases because the server cannot detect which way you have it rotated.tls
to a key to quickly toggle entity movement controls.ent kill
an entity that you spawned with this plugin, you can reload the entity's profile (or reload the whole plugin) to restore it.Ensure the plugin is loaded with saving disabled for all types of entities, then simply remove the plugin. All addons will be automatically removed.
Coming soon. For early access, see Custom Addons API documentation.
See Custom Monuments API documentation.
void OnMonumentAddonsInitialized()
void OnMonumentEntitySpawned(BaseEntity entity, UnityEngine.Component monument, Guid guid)
component
parameter represents the monument objectguid
parameter refers to the unique ID present in the profile data filevoid OnMonumentPrefabCreated(GameObject gameObject, Component monument, Guid guid)
maprefab
component
parameter represents the monument objectguid
parameter refers to the unique ID present in the profile data fileobject OnDynamicMonument(BaseEntity entity)
Dynamic monuments
-> Entity prefabs to consider as monuments
false
will prevent that specific entity from being considered a custom monument