Raidable Balloon Bases

Early Access Raidable Balloon Bases 1.1.0

Spawns floating balloon bases with npcs and loot for players to raid
Dependencies
Copy Paste (Required)
Balloon Base Editor (Required)
Custom Loot Spawns (Optional)
giphy.gif



This plugin spawns raidable bases attached to hot air balloons, each filled with loot and protected by npcs. Bases float across the map, offering a unique airborne raiding challenge.

Early Access

This plugin is in early access. While fully functional, it's still under active development. Early access means that new features may be added, existing ones may be improved, and occasional bugs may occur. Your feedback is valuable in shaping the final version, so feel free to share your suggestions or report any issues through our Discord community or support forum.

Commands

  • rbb.loot create <filename> - Creates a new loot table with the specified filename.
  • rbb.loot category generate <filename> <itemCategoryName> - Generates loot for the specified category and adds it to the loot table.
  • rbb.loot category remove <filename> <itemCategoryName> - Removes all items of the specified category from the loot table.
  • rbb.loot category set <filename> <property> <value> <itemCategoryName> - Updates a property (e.g., blueprint, minamount, maxamount, rarity) for items in the specified category in the loot table.
  • rbb.loot item add <filename> <itemShortName> [<itemShortName> ...] - Adds one or more specific items to the loot table.
  • rbb.loot item remove <filename> <itemShortName> [<itemShortName> ...] - Removes one or more specific items from the loot table.
  • rbb.loot item set <filename> <property> <value> <itemShortName> [<itemShortName> ...] - Updates a property (e.g., blueprint, minamount, maxamount, rarity) for specific items in the loot table.
  • rbb.profile <profileName> - Creates a new profile with default settings if it does not already exist.
  • rbb.spawn <profileName> - Spawns a raidable balloon from the specified profile.

Configuration

JSON:
{
  "Version": "1.0.0",
  "Flight Ceiling": 350.0,
  "Zone Opacity": 1,
  "Maximum Number Of Balloons Allowed Globally": 3,
  "Rarity Weights": {
    "Common": 50,
    "Uncommon": 30,
    "Rare": 15,
    "VeryRare": 5
  }
}

Stored Data

JSON:
{
  "Name": "Easy",
  "Enabled": true,
  "Event Duration Minutes": 60.0,
  "Pastes": [
    {
      "Filename": "default_paste",
      "Pick Probability Weight": 1,
      "Custom Loot Spawn Group": "default_loot"
    }
  ],
  "Spawn": {
    "Enabled": true,
    "Maximum Population": 1,
    "Initial Spawn": true,
    "Minimum Respawn Delay Minutes": 60.0,
    "Maximum Respawn Delay Minutes": 120.0,
    "Minimum Number To Spawn Per Tick": 1,
    "Maximum Number To Spawn Per Tick": 1,
    "Spawn Filter": {
      "Lowest Ceiling": 200.0,
      "Highest Ceiling": 350.0,
      "Spawn Over Water": false,
      "Excluded Biomes": [
        "Arctic"
      ]
    }
  },
  "Balloon": {
    "Health": 1500.0
  },
  "Decay": {
    "Balloon Health Loss Required To Start Decay": 200.0,
    "Percentage Of Blocks To Decay ": 10,
    "Decay Amount Per Block": 200.0
  },
  "Crash": {
    "Minimum Number Of Wreckage To Spawn": 3,
    "Maximum Number Of Wreckage To Spawn": 6,
    "Minimum Number Of Fire Balls To Scatter": 5,
    "Maximum Number Of Fire Balls To Scatter": 10,
    "Should Create Explosion Marker": true,
    "Explosion Marker Duration Minutes": 5.0,
    "Minimum Crashed Balloon Height Above Ground": 3.0,
    "Maximum Crashed Balloon Height Above Ground": 7.0,
    "Crashed Balloon Tilt Angle Range": 15.0
  },
  "Loot": {
    "Loot Table Name": "default_loot_table",
    "Percentage Of Containers To Populate": 80,
    "Empty Container Contents Before Populating Loot": true,
    "Percentage Of Container Capacity To Fill": 40,
    "Storage Containers": [
      {
        "Prefabs": [
          "assets/prefabs/deployable/woodenbox/woodbox_deployed.prefab",
          "assets/prefabs/deployable/large wood storage/box.wooden.large.prefab",
          "assets/prefabs/misc/decor_dlc/storagebarrel/storage_barrel_b.prefab",
          "assets/prefabs/misc/decor_dlc/storagebarrel/storage_barrel_c.prefab"
        ],
        "Percentage Of Container Capacity To Fill": 40,
        "Allowed Item Categories": [
          "Weapon",
          "Resources",
          "Component",
          "Electrical",
          "Tool",
          "Ammunition"
        ]
      },
      {
        "Prefabs": [
          "assets/prefabs/deployable/repair bench/repairbench_deployed.prefab"
        ],
        "Percentage Of Container Capacity To Fill": 100,
        "Allowed Item Categories": [
          "Weapon"
        ]
      },
      {
        "Prefabs": [
          "assets/prefabs/deployable/furnace/furnace.prefab",
          "assets/prefabs/deployable/legacyfurnace/legacy_furnace.prefab",
          "assets/prefabs/deployable/furnace.large/furnace.large.prefab"
        ],
        "Percentage Of Container Capacity To Fill": 100,
        "Allowed Item Categories": [
          "Resources"
        ]
      },
      {
        "Prefabs": [
          "assets/prefabs/deployable/locker/locker.deployed.prefab"
        ],
        "Percentage Of Container Capacity To Fill": 30,
        "Allowed Item Categories": [
          "Attire",
          "Weapon",
          "Tool"
        ]
      },
      {
        "Prefabs": [
          "assets/prefabs/deployable/fridge/fridge.deployed.prefab"
        ],
        "Percentage Of Container Capacity To Fill": 20,
        "Allowed Item Categories": [
          "Food"
        ]
      }
    ]
  }
}
JSON:
[
  {
    "Short Name": "fat.animal",
    "Display Name": null,
    "Item Id": -1018587433,
    "Skin Id": 0,
    "Minimum Amount": 175,
    "Maximum Amount": 350,
    "Blueprint": false,
    "Rarity": "Common",
    "Category": "Resources"
  },
  {
    "Short Name": "bone.fragments",
    "Display Name": null,
    "Item Id": 1719978075,
    "Skin Id": 0,
    "Minimum Amount": 175,
    "Maximum Amount": 350,
    "Blueprint": false,
    "Rarity": "Common",
    "Category": "Resources"
  },
  {
    "Short Name": "cctv.camera",
    "Display Name": null,
    "Item Id": 634478325,
    "Skin Id": 0,
    "Minimum Amount": 3,
    "Maximum Amount": 6,
    "Blueprint": false,
    "Rarity": "VeryRare",
    "Category": "Resources"
  },
  {
    "Short Name": "charcoal",
    "Display Name": null,
    "Item Id": -1938052175,
    "Skin Id": 0,
    "Minimum Amount": 175,
    "Maximum Amount": 350,
    "Blueprint": false,
    "Rarity": "Common",
    "Category": "Resources"
  },
  {
    "Short Name": "cloth",
    "Display Name": null,
    "Item Id": -858312878,
    "Skin Id": 0,
    "Minimum Amount": 132,
    "Maximum Amount": 263,
    "Blueprint": false,
    "Rarity": "Uncommon",
    "Category": "Resources"
  },
  {
    "Short Name": "crude.oil",
    "Display Name": null,
    "Item Id": -321733511,
    "Skin Id": 0,
    "Minimum Amount": 88,
    "Maximum Amount": 175,
    "Blueprint": false,
    "Rarity": "Common",
    "Category": "Resources"
  },
  {
    "Short Name": "diesel_barrel",
    "Display Name": null,
    "Item Id": 1568388703,
    "Skin Id": 0,
    "Minimum Amount": 4,
    "Maximum Amount": 7,
    "Blueprint": false,
    "Rarity": "Common",
    "Category": "Resources"
  },
  {
    "Short Name": "explosives",
    "Display Name": null,
    "Item Id": -592016202,
    "Skin Id": 0,
    "Minimum Amount": 5,
    "Maximum Amount": 9,
    "Blueprint": false,
    "Rarity": "VeryRare",
    "Category": "Resources"
  },
  {
    "Short Name": "gunpowder",
    "Display Name": null,
    "Item Id": -265876753,
    "Skin Id": 0,
    "Minimum Amount": 44,
    "Maximum Amount": 88,
    "Blueprint": false,
    "Rarity": "VeryRare",
    "Category": "Resources"
  },
  {
    "Short Name": "hq.metal.ore",
    "Display Name": null,
    "Item Id": -1982036270,
    "Skin Id": 0,
    "Minimum Amount": 9,
    "Maximum Amount": 18,
    "Blueprint": false,
    "Rarity": "Rare",
    "Category": "Resources"
  },
  {
    "Short Name": "metal.refined",
    "Display Name": null,
    "Item Id": 317398316,
    "Skin Id": 0,
    "Minimum Amount": 9,
    "Maximum Amount": 18,
    "Blueprint": false,
    "Rarity": "Rare",
    "Category": "Resources"
  },
  {
    "Short Name": "leather",
    "Display Name": null,
    "Item Id": 1381010055,
    "Skin Id": 0,
    "Minimum Amount": 132,
    "Maximum Amount": 263,
    "Blueprint": false,
    "Rarity": "Uncommon",
    "Category": "Resources"
  },
  {
    "Short Name": "lowgradefuel",
    "Display Name": null,
    "Item Id": -946369541,
    "Skin Id": 0,
    "Minimum Amount": 88,
    "Maximum Amount": 175,
    "Blueprint": false,
    "Rarity": "Common",
    "Category": "Resources"
  },
  {
    "Short Name": "metal.fragments",
    "Display Name": null,
    "Item Id": 69511070,
    "Skin Id": 0,
    "Minimum Amount": 132,
    "Maximum Amount": 263,
    "Blueprint": false,
    "Rarity": "Uncommon",
    "Category": "Resources"
  },
  {
    "Short Name": "metal.ore",
    "Display Name": null,
    "Item Id": -4031221,
    "Skin Id": 0,
    "Minimum Amount": 132,
    "Maximum Amount": 263,
    "Blueprint": false,
    "Rarity": "Uncommon",
    "Category": "Resources"
  },
  {
    "Short Name": "scrap",
    "Display Name": null,
    "Item Id": -932201673,
    "Skin Id": 0,
    "Minimum Amount": 132,
    "Maximum Amount": 263,
    "Blueprint": false,
    "Rarity": "Uncommon",
    "Category": "Resources"
  },
  {
    "Short Name": "stones",
    "Display Name": null,
    "Item Id": -2099697608,
    "Skin Id": 0,
    "Minimum Amount": 175,
    "Maximum Amount": 350,
    "Blueprint": false,
    "Rarity": "Common",
    "Category": "Resources"
  },
  {
    "Short Name": "sulfur.ore",
    "Display Name": null,
    "Item Id": -1157596551,
    "Skin Id": 0,
    "Minimum Amount": 88,
    "Maximum Amount": 175,
    "Blueprint": false,
    "Rarity": "Rare",
    "Category": "Resources"
  },
  {
    "Short Name": "sulfur",
    "Display Name": null,
    "Item Id": -1581843485,
    "Skin Id": 0,
    "Minimum Amount": 88,
    "Maximum Amount": 175,
    "Blueprint": false,
    "Rarity": "Rare",
    "Category": "Resources"
  },
  {
    "Short Name": "targeting.computer",
    "Display Name": null,
    "Item Id": 1523195708,
    "Skin Id": 0,
    "Minimum Amount": 3,
    "Maximum Amount": 6,
    "Blueprint": false,
    "Rarity": "VeryRare",
    "Category": "Resources"
  },
  {
    "Short Name": "wood",
    "Display Name": null,
    "Item Id": -151838493,
    "Skin Id": 0,
    "Minimum Amount": 175,
    "Maximum Amount": 350,
    "Blueprint": false,
    "Rarity": "Common",
    "Category": "Resources"
  }
]
Author
VisEntities
License duration
Unlimited
Price
40.00 USD
First release
Last update

Ratings

0.00 star(s) 0 reviews

Also by VisEntities

Latest updates

  1. 1.1.0

    Added a new command to manually spawn a raidable balloon from a specific profile. Note: This...
  2. 1.0.3

    Fixed an oopsie where sam sites could target raidable balloons.
  3. 1.0.2

    Improved ground contact detection during balloon falls. Fixed balloons not finding a crash site...
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