diff --git a/concepts/manifests.mdx b/concepts/manifests.mdx index 86f7a4c6..06c8920c 100644 --- a/concepts/manifests.mdx +++ b/concepts/manifests.mdx @@ -290,23 +290,37 @@ If `inventoryActions` is not specified, the system falls back to type-based dete { "trees": [ { - "id": "tree_normal", - "name": "Tree", + "id": "oak", + "name": "Oak", "type": "tree", "harvestSkill": "woodcutting", - "toolRequired": "bronze_hatchet", - "levelRequired": 1, + "levelRequired": 15, "baseCycleTicks": 4, "depleteChance": 0.125, "respawnTicks": 80, + "modelPath": "asset://trees/oak/oak_01.glb", + "modelVariants": [ + "asset://trees/oak/oak_01.glb", + "asset://trees/oak/oak_02.glb", + "asset://trees/oak/oak_03.glb" + ], + "modelScale": 1.2, "harvestYield": [ - { "itemId": "logs", "quantity": 1, "chance": 1.0, "xpAmount": 25 } + { "itemId": "oak_logs", "quantity": 1, "chance": 1.0, "xpAmount": 37.5 } ] } ] } ``` +**Tree Model System**: +- **modelPath**: Primary model for the tree type +- **modelVariants**: Array of model variants for visual diversity (optional) +- **modelScale**: Scale multiplier for tree models +- **LOD support**: Models include LOD levels (_lod1.glb, _lod2.glb) for performance +- **12 tree types**: bamboo, birch, cactus, chinaPine, coconut, dead, fir, knotwood, maple, oak, palm, pine +- **Wind pine**: Single-model tree type for tundra biome (uses modelPath only) + **gathering/mining.json** - Ore rocks with OSRS-accurate success rates: ```json { diff --git a/concepts/skills.mdx b/concepts/skills.mdx index 4ab9d3e2..73fe82e1 100644 --- a/concepts/skills.mdx +++ b/concepts/skills.mdx @@ -95,9 +95,25 @@ Success rate improves with level. Higher-level trees require higher Woodcutting | Normal | 1 | 25 | | Oak | 15 | 37.5 | | Willow | 30 | 67.5 | +| Maple | 45 | 100 | | Yew | 60 | 175 | | Magic | 75 | 250 | +**Available Tree Types** (12 types with visual variants): +- **Bamboo** - Fast-growing tropical tree +- **Birch** - Light-colored deciduous tree +- **Cactus** - Desert vegetation +- **China Pine** - Asian conifer variant +- **Coconut** - Tropical palm with coconuts +- **Dead** - Withered tree variants +- **Fir** - Evergreen conifer +- **Knotwood** - Gnarled tree with amber leaves (#C4832A) +- **Maple** - Deciduous hardwood +- **Oak** - Classic hardwood tree +- **Palm** - Tropical palm tree +- **Pine** - Standard conifer +- **Wind Pine** - Tundra-specific wind-swept pine (single model) + ### Mining Requirements: diff --git a/wiki/data/overview.mdx b/wiki/data/overview.mdx index 6d8ae1db..9ae00f6d 100644 --- a/wiki/data/overview.mdx +++ b/wiki/data/overview.mdx @@ -179,8 +179,55 @@ Each NPC has these properties (from `types/entities/npc-mob-types.ts`): **Vegetation**: ``` /assets/trees/ -└── mushroom.glb → Giant mushroom (new) -``` +├── bamboo/ +│ ├── bamboo_01.glb → Bamboo variant 1 (LOD 0) +│ ├── bamboo_01_lod1.glb → Bamboo variant 1 (LOD 1) +│ ├── bamboo_01_lod2.glb → Bamboo variant 1 (LOD 2) +│ └── ... (55 variants × 3 LOD levels) +├── birch/ +│ ├── birch_01.glb → Birch variant 1 (LOD 0) +│ └── ... (variants with LOD levels) +├── cactus/ +│ ├── cactus_01.glb → Cactus variant 1 (LOD 0) +│ └── ... (variants with LOD levels) +├── chinaPine/ +│ ├── chinaPine_01.glb → China Pine variant 1 (LOD 0) +│ └── ... (variants with LOD levels) +├── coconut/ +│ ├── coconut_01.glb → Coconut palm variant 1 (LOD 0) +│ └── ... (variants with LOD levels) +├── dead/ +│ ├── dead_01.glb → Dead tree variant 1 (LOD 0) +│ └── ... (variants with LOD levels) +├── fir/ +│ ├── fir_01.glb → Fir tree variant 1 (LOD 0) +│ └── ... (variants with LOD levels) +├── knotwood/ +│ ├── knotwood_01.glb → Knotwood variant 1 (LOD 0) +│ └── ... (variants with LOD levels) +├── maple/ +│ ├── maple_01.glb → Maple variant 1 (LOD 0) +│ └── ... (variants with LOD levels) +├── oak/ +│ ├── oak_01.glb → Oak variant 1 (LOD 0) +│ └── ... (variants with LOD levels) +├── palm/ +│ ├── palm_01.glb → Palm tree variant 1 (LOD 0) +│ └── ... (variants with LOD levels) +├── pine/ +│ ├── pine_01.glb → Pine tree variant 1 (LOD 0) +│ └── ... (variants with LOD levels) +├── windPine/ +│ └── windPine.glb → Wind-swept pine (single model) +└── mushroom.glb → Giant mushroom +``` + +**Tree Model System**: +- **165 tree models** total (55 variants × 3 LOD levels) +- **12 tree types**: bamboo, birch, cactus, chinaPine, coconut, dead, fir, knotwood, maple, oak, palm, pine +- **13th type**: windPine (single model for tundra biome) +- **LOD levels**: LOD 0 (high detail), LOD 1 (medium), LOD 2 (low) +- **Model variants**: Each tree type has multiple visual variants for diversity ### NPC Helper Functions @@ -683,6 +730,28 @@ interface VegetationAsset { - `fallen_tree` - Fallen logs - `mushroom` - Giant mushrooms (added in recent update) +### Biome Configuration + +**Active Biomes** (3 biomes): +- **Tundra** - Cold, snowy terrain with wind pines +- **Forest** - Temperate woodland with varied tree types +- **Canyon** - Rocky, arid terrain with steep slopes + +**Biome Terrain Textures**: +Biomes now use dedicated terrain textures for realistic ground rendering: +- **Grass textures**: Biome-specific grass variants +- **Dirt textures**: Soil and earth textures +- **Cliff textures**: Rocky cliff faces +- **Desert textures**: Sandy terrain +- **Snow textures**: Snowy ground for tundra + +**Walkability Thresholds** (maxSlope adjustments): +- **Tundra**: 0.8 → 1.8 (allows steeper terrain navigation) +- **Forest**: 0.8 → 1.5 (moderate slope tolerance) +- **Canyon**: 0.6 → 2.5 (very steep terrain allowed) + +These adjustments match actual terrain generation slopes from terracing and landscape features. + ### Biome Vegetation Layers Biomes in `biomes.json` define procedural vegetation layers that reference vegetation assets: @@ -704,9 +773,14 @@ interface VegetationLayer { ``` **Recent Updates**: +- **Tree system overhaul**: 165 tree models added (12 types × variants × 3 LOD levels) +- **Terrain textures**: Biome-specific textures added for grass, dirt, cliff, desert, and snow +- **Biome configuration**: Reduced to 3 active biomes (tundra, forest, canyon) +- **Walkability adjustments**: maxSlope thresholds increased (tundra: 0.8→1.8, forest: 0.8→1.5, canyon: 0.6→2.5) +- **Tree management**: Trees now managed via TreeTypes.ts + woodcutting.json (removed from vegetation layers) +- **Wind pine**: New tundra-specific tree type (single model) +- **Knotwood recolor**: Leaves changed from golden-yellow to warm amber (#C4832A) - Mushroom vegetation added to all biomes with varying densities (2-30) -- Tree density reduced in plains biome (8 → 5) -- Mushroom clustering varies by biome (cluster size 3-8) - Firemaking fire 3D model added (`models/firemaking-fire/firemaking-fire.glb`) ---