File size: 4,496 Bytes
0712d5f
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
# Timberbound Expeditions: Studio Setup & Tagging Guide

To bring the overarching logic to life, your physical objects in Roblox Studio need to be identified by the engine scripts. We use Roblox's **CollectionService (Tags)** and **Attributes** to do this securely and efficiently, avoiding thousands of `.Touched` connections on generic parts.

## How to Apply Tags & Attributes
- **Tags:** Use the built-in **Tag Editor** in Roblox Studio (View -> Tag Editor). Select your part/model, and tick the box for the specific tag name.
- **Attributes:** Select an object, scroll to the bottom of the **Properties** panel, and click "Add Attribute" (usually a String, Number, or Boolean type).

---

## 1. Core Mechanics: Trees & Dragging

### `TreeSegment` (Tag)
*   **What it goes on:** Any physical cylinder/block that represents a piece of a choppable tree or a cut log.
*   **Required Attributes:**
    *   `TreeType` (String): e.g., `"Oak"`, `"Pine"`. This maps exactly to the names in [ChoppingConfig.lua](file:///c:/Users/User/Desktop/VSCode2/RobloxStudio-MCP-GoogleAntigravity/src/ReplicatedStorage/Shared/ChoppingConfig.lua).
    *   `Health` (Number - *Optional*): The server will auto-assign MaxHealth from the config if you don't provide this.

### `Draggable` (Tag)
*   **What it goes on:** Furniture, tools, or boxes that the player can pick up and move around using the physics dragger.
*   *(Note: Anything tagged `TreeSegment` is automatically draggable, you do not need both tags).*

---

## 2. Economy & Processing

### `ProcessingMachine` (Tag)
*   **What it goes on:** The main `Model` grouping your sawmill or stripper.
*   **Required Parts Inside:**
    *   `ProcessTrigger` (Part): An invisible, non-colliding block inside the machine where the sawblade/stripper is. When a log touches this, it gets processed.
*   **Required Attributes (on the Model):**
    *   `MachineType` (String): `"Stripper"` or `"Sawmill"`.

### `MarketDropoff` (Tag)
*   **What it goes on:** A large, invisible, non-colliding `Part` at your market location. When processed wood touches it, the wood is sold and cash is given.

### `ShopCounter` (Tag)
*   **What it goes on:** An invisible `Part` resting just above the checkout counter in your shop.
*   **How it works:** Players drop boxed items onto this part. The script counts their prices when the player interacts with the NPC.

### `BoxedItem` (Tag)
*   **What it goes on:** The physical cardboard box mesh sitting on the shop shelves.
*   **Required Attributes:**
    *   `ItemId` (String): e.g., `"BasicAxe"`, `"Sawmill"`. Must match the IDs in [ShopConfig.lua](file:///c:/Users/User/Desktop/VSCode2/RobloxStudio-MCP-GoogleAntigravity/src/ReplicatedStorage/Shared/ShopConfig.lua).

---

## 3. Base Building & Plots

### `EmptyPlot` (Tag)
*   **What it goes on:** The massive, flat baseplate `Part` representing a claimable piece of land.
*   **How it works:** When a player without a plot touches this part, the server assigns it to them and loads their Datastore objects onto it.

---

## 4. Vehicle Logistics

### `Vehicle` (Tag)
*   **What it goes on:** The root `Model` of whatever vehicle chassis you are using (A-Chassis, Constraint Chassis, etc.).
*   **Required Parts Inside:**
    *   Either name the bed of the truck `"FlatbedPart"` OR tag that single part `"Flatbed"`. The script will apply massive friction to this specific part so logs don't slide off.

---

## 5. Wiring & Logic

### `LogicSource` (Tag)
*   **What it goes on:** The interactable object like a button or lever `Part`.
*   **Required Attributes:**
    *   `SourceType` (String): `"Button"` or `"Lever"`. A button pulses power for 1 second; a lever toggles it indefinitely.

---

## 6. Adventure & Hazards

### `HazardZone` (Tag)
*   **What it goes on:** A large invisible part representing an area affecting nearby flora.
*   **Required Attributes:**
    *   `HazardType` (String): `"Lava"` or `"Toxic"`. Mutates nearby trees into Fireproof or Glowing variants.

### `WeightSwitch` (Tag)
*   **What it goes on:** A `Model` representing an environmental puzzle switch.
*   **Required Parts Inside:**
    *   `Plate` (Part): The physical button that gets stepped on.
    *   `LinkedDoor` (Part): The wall/door that disappears when the puzzle is solved.

### `SwampZone` (Tag)
*   **What it goes on:** A large invisible part representing deep mud or swamp liquid. Heavy items sinking into it are physically forced downwards unless they possess the `SwampTires` tag.