Join the Game4Freak Discord Get exclusive plugin sneak peeks, talk directly with VisEntities, never miss important updates, and unlock special discount codes!
Tree House
Claim jungle trees and build bases in the canopy
image.jpg

imasdfdfge.jpg



Tree House transforms jungle vine trees into claimable building platforms. Players can claim trees by holding the use key, which spawns a starter platform and opens up the tree as a buildable zone.

Once claimed, trees are protected from damage. Configure what percentage of trees on the map can be claimed, limit how many trees each player can own, and control the size of build zones. Optionally disable stability requirements so players can build without needing pillars or foundations.

Features

  • Tree claiming system - Players hold E near claimable trees to claim them and spawn a starter platform
  • Configurable tree availability - Control what percentage of jungle trees can be claimed
  • Starter platform generation - Automatically builds a 6-piece triangle floor platform when a tree is claimed
  • Build zone visualization - Shows zone boundaries to players inside claimed trees
  • Stability override - Optionally disable stability requirements for all structures inside tree build zones
  • Claim limits - Set maximum number of trees each player can claim
  • Tree damage protection - Claimed trees cannot be damaged or destroyed
  • Persistent storage - Tracks claimed trees and their structures across server restarts

How It Works

Tree Discovery & Claiming

When the plugin loads, it scans all jungle vine trees on the map. Based on the configured percentage, a random selection of trees are marked as claimable.
Trees are skipped if:
  • They're within the configured radius of a no-build zone (monuments, safe zones, and other protected areas)
  • They already have building blocks attached (already claimed)
Players with the treehouse.claim permission who enter a claimable tree's zone see a tip to hold E. A progress bar UI appears while holding the use key. After the configured claim duration, the tree is claimed.

Starter Platform

When a player successfully claims a tree, a starter platform of 6 triangle floors spawns in a circle around the tree at the configured vertical offset. One floor piece facing the player is omitted to create an entrance. The platform is automatically owned by the claiming player and uses twig grade.

Tree Protection

Claimed trees are protected from damage. Any damage dealt to a claimed tree is scaled to zero, preventing destruction. This ensures player bases remain intact. Unclaimed trees can be damaged and destroyed normally.

Stability Management

If Disable Stability Inside Tree Build Zones is enabled, all building blocks placed in tree zones are marked as grounded with 100% stability. This prevents them from collapsing even though they're high up in a tree.

If disabled, normal stability rules apply and structures need proper support.

Permissions

  • treehouse.claim -- Allows players to claim jungle trees

Configuration

JSON:
{
  "Version": "1.5.0",
  "Percentage Of Trees That Can Be Claimed (0-100)": 35,
  "Skip Trees Within This Radius Of Any No-Build Zone": 10.0,
  "Claim Duration Seconds": 5.0,
  "Starter Platform Vertical Offset": 6.0,
  "Disable Stability Inside Tree Build Zones": true,
  "Blocked Prefabs In Tree Build Zones (Exact Paths)": [
    "assets/prefabs/building core/foundation/foundation.prefab",
    "assets/prefabs/building core/foundation.triangle/foundation.triangle.prefab"
  ],
  "Size Of Tree Build Zone (Square Side Length)": 20.0,
  "Maximum Trees Each Player Can Claim (0 Disables)": 2,
  "Deployables Allowed On Walls (partial match)": [
    "tunalight",
    "sign",
    "picture",
    "spinner",
    "neonsign",
    "flasherlight",
    "sirenlight",
    "searchlight",
    "simplelight",
    "smart.alarm",
    "doorbell"
  ],
  "Deployables Allowed On Ceilings (partial match)": [
    "lantern",
    "ceilinglight",
    "chandelier"
  ],
  "Force Default Rotation On Walls (partial match, overrides creative free-rotation)": [
    "counter"
  ],
  "Force Default Rotation On Ceilings (partial match, overrides creative free-rotation)": [],
  "Deployables Blocked On Building Blocks (partial match, cannot be placed on building blocks)": [
    "plants/"
  ]
}

Tree Claiming Settings

  • Percentage Of Trees That Can Be Claimed -- What percentage of jungle vine trees on the map will be claimable. Set to 100 to make all trees claimable, or 0 to disable tree claiming entirely
  • Skip Trees Within This Radius Of Any No-Build Zone -- Trees within this distance from no-build zones will not be made claimable. Prevents trees near monuments or other protected areas from being claimable
  • Claim Duration Seconds -- How long (in seconds) a player must hold the use key to claim a tree
  • Maximum Trees Each Player Can Claim -- Maximum number of trees each player can claim. Set to 0 to remove the limit entirely

Build Zone Settings

  • Size Of Tree Build Zone -- The width and depth of the cubic build zone around claimed trees. Height is always 45 meters
  • Starter Platform Vertical Offset -- How high above the tree's base position the starter platform spawns. Adjust based on tree model heights
  • Disable Stability Inside Tree Build Zones -- When true, building blocks are marked as stable so they won't collapse. When false, normal stability rules apply and structures need ground support

Building Restrictions

  • Blocked Prefabs In Tree Build Zones -- Prefabs that cannot be built inside tree zones. Uses exact path matching - you must provide the full prefab path like assets/prefabs/building core/foundation/foundation.prefab
  • Deployables Blocked On Building Blocks -- Deployables that cannot be placed directly on building blocks (floors, walls, foundations, etc.). Uses partial matching - plants/ blocks all planter variants. Useful for items that should only go on deployables

Surface-Based Deployable Control

These settings use partial prefab path matching, meaning you only need to include part of the item's name. For example, sign will match sign.wooden, sign.large.wood, sign.pictureframe, etc. This lets you control entire categories of items without listing every variant.

Floor placement has no restrictions.
  • Deployables Allowed On Walls -- Deployables that can be placed on vertical surfaces. Unlisted items are blocked
  • Deployables Allowed On Ceilings -- Deployables that can be placed on overhead surfaces. Unlisted items are blocked
  • Force Default Rotation On Walls -- Deployables that should snap to proper wall orientation instead of using creative mode's free rotation. Fixes items that look wrong when freely rotated
  • Force Default Rotation On Ceilings -- Deployables that should snap to proper ceiling orientation instead of using creative mode's free rotation

Stored Data

JSON:
{
  "Claimed Trees": {
    "12345678": {
      "Entities": [98765432, 98765433, 98765434],
      "Owner Id": 76561198000000000,
      "Claimed At": "2026-02-14T10:30:00Z"
    }
  }
}
Each claimed tree is stored with its network Id as the key:
  • Entities -- Array of network Ids for all building blocks and deployables placed in this tree's build zone
  • Owner Id -- Steam Id of the player who claimed the tree
  • Claimed At -- UTC timestamp when the tree was claimed

Data Cleanup

The plugin automatically removes tree data when:
  • The tree entity itself is destroyed
  • All structures in the tree's build zone are removed (tree returns to unclaimed state)
  • The tree entity no longer exists on server restart

Localization

JSON:
{
  "UI.ClaimingBranch": "Claiming branch…",
  "Tip.HoldToClaim": "Hold [E] to claim this branch",
  "Tip.ClaimLimitReached": "Claim limit reached",
  "Error.ClaimLimitMax": "You can only claim {0} tree(s).",
  "Error.BlockedPrefab": "{0} cannot be built on this branch.",
  "Error.WrongSurface": "Cannot place this item on this surface.",
  "Error.BlockedOnBuildingBlock": "{0} cannot be placed directly on building blocks."
}
Author
VisEntities
License duration
Unlimited
Price
17.99 USD
First release
Last update

Ratings

5.00 star(s) 5 reviews

Also by VisEntities

Latest updates

  1. 1.5.0

    Fixed deployables like counters having wrong rotation when placed on walls/ceilings inside tree...
  2. 1.4.2

    Fixed claim UI showing for players without claim permission. Fixed game tips not showing by...
  3. 1.4.1

    Fixed null error when a tree or its tree house was destroyed.

Latest reviews

LOVE THIS. Works well, slight learning curve to it. Issues with item placement (You can pretty much place anything anywhere (Workbench mounted to walls etc...) that can be exploited, and should probably get fixed, but excellent idea and it's fun.
easily one of the landmark plugins since rust was released, it has totally changed the jungle biome. we have players now who literally run to the jungle on wipe day who would be otherwise running away from it lol. the fact you can make multiple tree houses and link them with bridges etc is truly a work of art. this plugin alone prompted me to buy volcano and tornado also. a truly experience changing mod that should of been part of the game a long time ago. thx vis!
I recently purchased this plugin and I have to say it's truly fantastic! You can clearly feel the care and attention the author put into its creation.

It significantly expands the gameplay possibilities, introducing new and original gameplay mechanics, such as the ability to build on trees.

A well-made plugin and highly recommended!
Back
Top
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. Parameters in < > are required, while [ ] are optional.
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.
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. Ensure 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