Portable Fort
Throw a grenade to instantly spawn a full base where it lands
Dependencies
Copy Paste (Required)


This plugin lets players throw special grenades that instantly spawn full prebuilt bases on impact, just like the Port-A-Fort from Fortnite. Using Copy Paste files, you can define multiple grenade types, each with their own builds and fuse times.

Commands

  • pf.givegrenade <playerNameOrId> <configIndex> - Gives a fort grenade to the target player. You can enter either their full/partial name or their Steam id as the first argument, followed by the index of the grenade config from the plugin's config file.

    This command is mainly for admins to give grenades manually for testing or integration with other plugins.

Configuration

JSON:
{
  "Version": "1.2.0",
  "Fort Grenades": [
    {
      "Grenade Skin Id": 1163186435,
      "Grenade Display Name": "Port-A-Fort",
      "Fuse Length Seconds": 10.0,
      "Paste Files": [
        "StarterBase",
        "TrapBase",
        "FurnaceBase"
      ],
      "Override Building Grade": "None",
      "Paste Options": {
        "stability": "false",
        "deployables": "true",
        "entityowner": "false",
        "auth": "false",
        "blockcollision": "0",
        "inventories": "false"
      }
    },
    {
      "Grenade Skin Id": 815252048,
      "Grenade Display Name": "Port-A-Fort 2",
      "Fuse Length Seconds": 5.0,
      "Paste Files": [
        "HeliTower",
        "RaidCamp"
      ],
      "Override Building Grade": "None",
      "Paste Options": {
        "stability": "true",
        "deployables": "true",
        "entityowner": "false",
        "auth": "false",
        "blockcollision": "0",
        "inventories": "true"
      }
    }
  ]
}
  • Fort Grenades- A list of grenade definitions that can spawn forts when thrown.
    • Grenade Skin Id - The skin id of the grenade item to match. If you want to use the default grenade (no skin), set this to 0.
    • Grenade Display Name - Optional custom name to further identify the grenade. Leave this empty to match any name (just relies on the skin id).
    • Fuse Length Seconds - Time in seconds before the fort spawns after the grenade lands.
    • Paste Files - A list of Copy Paste file names the plugin will randomly pick from when this grenade is used.
    • Paste Options- These control how the structure is pasted in. Note that some options are locked and will be forced no matter what you set:
      • autoheight is always false.
      • blockcollision is always 0.
      • Any other options (like stability, inventories, auth, etc.) will be passed through exactly as you set them.
    • Override Building Grade- This lets you force all blocks in the pasted base to use a specific building grade, no matter what grade they originally had in the paste file.
      Available values:
      • None - Keeps the original grade from the paste file.
      • Twigs
      • Wood
      • Stone
      • Metal
      • TopTier

Localization

JSON:
{
  "GiveGrenade.Usage": "Usage: pf.givegrenade <playerNameOrId> <configIndex>",
  "GiveGrenade.IndexInvalid": "Invalid configIndex '{0}'. It must be a number.",
  "GiveGrenade.NoConfigFound": "No grenade config found at index {0}.",
  "GiveGrenade.NoPlayerFound": "No active player found matching '{0}'.",
  "GiveGrenade.FailedCreate": "Failed to create grenade.f1 item!",
  "GiveGrenade.Success": "Gave '{0}' grenade (index {1}) to player {2}."
}
  • Like
Reactions: magnumk
Author
VisEntities
License duration
Unlimited
Price
10.00 USD
First release
Last update

Ratings

5.00 star(s) 1 reviews

Also by VisEntities

Latest updates

  1. 1.2.0

    Added Override Building Grade config option to force a specific building grade (e.g. Stone, Top...
  2. 1.1.0

    Added a pf.givegrenade console command. This command allows you to quickly give one of the...

Latest reviews

Plugin works wonderfully!

When you are adding the grenade to the Loottable, ensure you match up the Name with the grenade skin ID in the same block so it works correctly. I made this mistake and the grenade will perform as a grenade rather than the Fort grenade.

The fuse length makes it interesting as well with the ability to decide how long until the base starts building.

Amazing addition to the plugins already put out.
Back
Top
This plugin uses Oxide's permission system. Grant or revoke permissions using oxide.grant and oxide.revoke. You can assign them to individual players or groups using their Steam id or group name.
Chat commands start with a /, while console commands can be entered directly in the F1 console or server console. Use find <keyword> in console to search for available commands related to the plugin.
Settings are stored in the config file found under the config/ directory. You can edit this file manually, then reload the plugin to apply your changes.
Persistent data is saved in the data/ directory. This includes things like saved settings, usage stats, or player progress depending on the plugin. Deleting a data file will reset stored progress or customizations.
Language files are located in the lang/ folder. To translate messages, copy the en.json file into your target language folder (e.g. fr, de) and edit the values. Reload the plugin after changes to apply new messages.
This section lists public methods exposed by the plugin for use in other plugins. You can call these via the CallHook method. Make sure the plugin is loaded before calling its API to avoid null reference errors.
These are custom hooks that other plugins can listen for. Simply define a method with the same name and expected parameters in your plugin to handle the event. Hooks are triggered at key moments and are useful for extending or reacting to plugin behavior.
These hooks are injected into the game's code using Harmony. They let the plugin run code at key points in the game's internal logic. You can return values to block or modify behavior. Use with caution — these are powerful and can affect core mechanics.
Cart