From 7d8239cd3c88bf03ec4733763328bc5063cf2489 Mon Sep 17 00:00:00 2001 From: Ting Chien Meng Date: Tue, 17 Mar 2026 16:22:35 +0800 Subject: [PATCH 01/23] feat: replace palm tree leaf textures with new stylized leaf art MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Replaces the leaf texture in all 15 palm GLB variants (palm_01–05, each with base + lod1 + lod2) with T_Leaf_Palm_BC (RGB) combined with T_Leaf_Palm alpha mask for proper cutout transparency, flipped vertically to match UV orientation. Made-with: Cursor --- manifests/model-bounds.json | 2 +- models/trees/palm_01.glb | 4 ++-- models/trees/palm_01_lod1.glb | 4 ++-- models/trees/palm_01_lod2.glb | 4 ++-- models/trees/palm_02.glb | 4 ++-- models/trees/palm_02_lod1.glb | 4 ++-- models/trees/palm_02_lod2.glb | 4 ++-- models/trees/palm_03.glb | 4 ++-- models/trees/palm_03_lod1.glb | 4 ++-- models/trees/palm_03_lod2.glb | 4 ++-- models/trees/palm_04.glb | 4 ++-- models/trees/palm_04_lod1.glb | 4 ++-- models/trees/palm_04_lod2.glb | 4 ++-- models/trees/palm_05.glb | 4 ++-- models/trees/palm_05_lod1.glb | 4 ++-- models/trees/palm_05_lod2.glb | 4 ++-- 16 files changed, 31 insertions(+), 31 deletions(-) diff --git a/manifests/model-bounds.json b/manifests/model-bounds.json index 0da844ab..bfdb55d3 100644 --- a/manifests/model-bounds.json +++ b/manifests/model-bounds.json @@ -1,5 +1,5 @@ { - "generatedAt": "2026-03-13T04:37:25.191Z", + "generatedAt": "2026-03-17T08:05:27.845Z", "tileSize": 1, "models": [ { diff --git a/models/trees/palm_01.glb b/models/trees/palm_01.glb index c9ccbfd7..c8c459f0 100644 --- a/models/trees/palm_01.glb +++ b/models/trees/palm_01.glb @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:31014e527eebb4c14f22752af692ff6aab646e42c6a23521c553ffe70a2165ef -size 2086100 +oid sha256:7e428c6ea585b57747d3b25b28a3e261b7079eadd12e5c751a9ecec5b64106fa +size 2387492 diff --git a/models/trees/palm_01_lod1.glb b/models/trees/palm_01_lod1.glb index 3ca323af..af17a738 100644 --- a/models/trees/palm_01_lod1.glb +++ b/models/trees/palm_01_lod1.glb @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d90bc4fd3dd095fa1fd7dd9c53bc2bfceae5ec6c5936bc1c8669d2d8809f55a7 -size 1994600 +oid sha256:c1ad5edc207549765ea70a6d0f03d1b05fb943a928ca950377e40fb0a9d0abcf +size 2295996 diff --git a/models/trees/palm_01_lod2.glb b/models/trees/palm_01_lod2.glb index 3ca323af..af17a738 100644 --- a/models/trees/palm_01_lod2.glb +++ b/models/trees/palm_01_lod2.glb @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d90bc4fd3dd095fa1fd7dd9c53bc2bfceae5ec6c5936bc1c8669d2d8809f55a7 -size 1994600 +oid sha256:c1ad5edc207549765ea70a6d0f03d1b05fb943a928ca950377e40fb0a9d0abcf +size 2295996 diff --git a/models/trees/palm_02.glb b/models/trees/palm_02.glb index c5232b47..c079f3d8 100644 --- a/models/trees/palm_02.glb +++ b/models/trees/palm_02.glb @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:030436ad41885d8fadb3dd1866282d8b5bc6cc8ef7236322df4fcd0f6c68157b -size 2107908 +oid sha256:bd72561181e2891662394be8989454741434697f6e607eda06b7165cc0997f83 +size 2409300 diff --git a/models/trees/palm_02_lod1.glb b/models/trees/palm_02_lod1.glb index 4c5edda4..033f40f7 100644 --- a/models/trees/palm_02_lod1.glb +++ b/models/trees/palm_02_lod1.glb @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:12bf6e4d215ea59326e9aadd2343bb8db13e7c90a8aec3f52eeca0e2cbaceaad -size 2015028 +oid sha256:87ab9d3035e667ae998acf4df24d759f19d491dd4a657e105ebe64e873a4ce9f +size 2316420 diff --git a/models/trees/palm_02_lod2.glb b/models/trees/palm_02_lod2.glb index 4c5edda4..033f40f7 100644 --- a/models/trees/palm_02_lod2.glb +++ b/models/trees/palm_02_lod2.glb @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:12bf6e4d215ea59326e9aadd2343bb8db13e7c90a8aec3f52eeca0e2cbaceaad -size 2015028 +oid sha256:87ab9d3035e667ae998acf4df24d759f19d491dd4a657e105ebe64e873a4ce9f +size 2316420 diff --git a/models/trees/palm_03.glb b/models/trees/palm_03.glb index 365ce42d..df3f1fbf 100644 --- a/models/trees/palm_03.glb +++ b/models/trees/palm_03.glb @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:470e7bb4fb4867f372e2b73fd76f78f968b4caf84ce718ab83f2123cac2a7b28 -size 2132196 +oid sha256:40fcf813e22b4b445cc8120b28843c4523c51c0dac7c19c3a38be7972ba554ea +size 2433588 diff --git a/models/trees/palm_03_lod1.glb b/models/trees/palm_03_lod1.glb index 7894b935..1db93495 100644 --- a/models/trees/palm_03_lod1.glb +++ b/models/trees/palm_03_lod1.glb @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f5bca09c1412330d35a8a0772249082c7229d8ecdeb60a47b7667e3db542f715 -size 2028552 +oid sha256:7a0402be0efecc05ca9b5aa2d9eb87ea7b70d2d27f5d32ab07240e4e10ade58d +size 2329948 diff --git a/models/trees/palm_03_lod2.glb b/models/trees/palm_03_lod2.glb index 7894b935..1db93495 100644 --- a/models/trees/palm_03_lod2.glb +++ b/models/trees/palm_03_lod2.glb @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f5bca09c1412330d35a8a0772249082c7229d8ecdeb60a47b7667e3db542f715 -size 2028552 +oid sha256:7a0402be0efecc05ca9b5aa2d9eb87ea7b70d2d27f5d32ab07240e4e10ade58d +size 2329948 diff --git a/models/trees/palm_04.glb b/models/trees/palm_04.glb index 6f68a9da..d13335cb 100644 --- a/models/trees/palm_04.glb +++ b/models/trees/palm_04.glb @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a6bab26d4d0e1fbab4bb06784871af27ed6d6642398b16c3c3c996cacbf60ca5 -size 2127228 +oid sha256:a24b91d1a3c811c3a7003cdb3d70e3dbb5584c865999e6fd6de9ff6b8d395276 +size 2428620 diff --git a/models/trees/palm_04_lod1.glb b/models/trees/palm_04_lod1.glb index 785f045c..e828bb8f 100644 --- a/models/trees/palm_04_lod1.glb +++ b/models/trees/palm_04_lod1.glb @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:efc896b4409f93cf546763c9f8738c315d8efb75def5c3fc33b311023d8e8f2a -size 2028276 +oid sha256:bd012fbd372246d1257fa9b1b16ff19447c6341479edb6e2ab00c63127c9a736 +size 2329668 diff --git a/models/trees/palm_04_lod2.glb b/models/trees/palm_04_lod2.glb index 785f045c..e828bb8f 100644 --- a/models/trees/palm_04_lod2.glb +++ b/models/trees/palm_04_lod2.glb @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:efc896b4409f93cf546763c9f8738c315d8efb75def5c3fc33b311023d8e8f2a -size 2028276 +oid sha256:bd012fbd372246d1257fa9b1b16ff19447c6341479edb6e2ab00c63127c9a736 +size 2329668 diff --git a/models/trees/palm_05.glb b/models/trees/palm_05.glb index 7f914b3a..983c6f99 100644 --- a/models/trees/palm_05.glb +++ b/models/trees/palm_05.glb @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:da43175d0936ce57169c978921457d8e36242293e6f30578a6607260a78a56f2 -size 2194024 +oid sha256:8d2f07b63cdf67e642663d8ca6792ac8f06f98cb485635e8ecbd243c5a8cc3c6 +size 2495416 diff --git a/models/trees/palm_05_lod1.glb b/models/trees/palm_05_lod1.glb index 8442b5b6..4958a873 100644 --- a/models/trees/palm_05_lod1.glb +++ b/models/trees/palm_05_lod1.glb @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:87434e7b86aa21f1cc08dd05dd5fb99a596cc6c3f379a0b3976eb4af5c9717f9 -size 2046768 +oid sha256:9b775916b8e5d0c1f31805c40fdaeabbfdf7202cb4f011eff16371f751a03936 +size 2348160 diff --git a/models/trees/palm_05_lod2.glb b/models/trees/palm_05_lod2.glb index 8442b5b6..4958a873 100644 --- a/models/trees/palm_05_lod2.glb +++ b/models/trees/palm_05_lod2.glb @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:87434e7b86aa21f1cc08dd05dd5fb99a596cc6c3f379a0b3976eb4af5c9717f9 -size 2046768 +oid sha256:9b775916b8e5d0c1f31805c40fdaeabbfdf7202cb4f011eff16371f751a03936 +size 2348160 From c2b2b5205f6924aafed186542318fc5aa81c4b0e Mon Sep 17 00:00:00 2001 From: Ting Chien Meng Date: Tue, 17 Mar 2026 17:46:25 +0800 Subject: [PATCH 02/23] feat: update palm leaf textures with muted green colorization and clean alpha mask Colorized from T_Leaf_Palm_R grayscale with toned-down green palette, alpha from T_Leaf_Palm mask for clean cutout edges, bark normal downsized to 512x1024 for smaller file size. Made-with: Cursor --- manifests/model-bounds.json | 2 +- models/trees/palm_01.glb | 4 ++-- models/trees/palm_01_lod1.glb | 4 ++-- models/trees/palm_01_lod2.glb | 4 ++-- models/trees/palm_02.glb | 4 ++-- models/trees/palm_02_lod1.glb | 4 ++-- models/trees/palm_02_lod2.glb | 4 ++-- models/trees/palm_03.glb | 4 ++-- models/trees/palm_03_lod1.glb | 4 ++-- models/trees/palm_03_lod2.glb | 4 ++-- models/trees/palm_04.glb | 4 ++-- models/trees/palm_04_lod1.glb | 4 ++-- models/trees/palm_04_lod2.glb | 4 ++-- models/trees/palm_05.glb | 4 ++-- models/trees/palm_05_lod1.glb | 4 ++-- models/trees/palm_05_lod2.glb | 4 ++-- 16 files changed, 31 insertions(+), 31 deletions(-) diff --git a/manifests/model-bounds.json b/manifests/model-bounds.json index bfdb55d3..b6b145d5 100644 --- a/manifests/model-bounds.json +++ b/manifests/model-bounds.json @@ -1,5 +1,5 @@ { - "generatedAt": "2026-03-17T08:05:27.845Z", + "generatedAt": "2026-03-17T09:44:22.343Z", "tileSize": 1, "models": [ { diff --git a/models/trees/palm_01.glb b/models/trees/palm_01.glb index c8c459f0..11e44b04 100644 --- a/models/trees/palm_01.glb +++ b/models/trees/palm_01.glb @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:7e428c6ea585b57747d3b25b28a3e261b7079eadd12e5c751a9ecec5b64106fa -size 2387492 +oid sha256:4f7ad26667caa8a068707267d3e11cf81b33c465271da94975cad75d6a9cdfcc +size 2205120 diff --git a/models/trees/palm_01_lod1.glb b/models/trees/palm_01_lod1.glb index af17a738..a7d74d66 100644 --- a/models/trees/palm_01_lod1.glb +++ b/models/trees/palm_01_lod1.glb @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c1ad5edc207549765ea70a6d0f03d1b05fb943a928ca950377e40fb0a9d0abcf -size 2295996 +oid sha256:724457a983a97cccf08ecc73811694a8c33f373b008595538b3a1fd3917f663e +size 2113620 diff --git a/models/trees/palm_01_lod2.glb b/models/trees/palm_01_lod2.glb index af17a738..a7d74d66 100644 --- a/models/trees/palm_01_lod2.glb +++ b/models/trees/palm_01_lod2.glb @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c1ad5edc207549765ea70a6d0f03d1b05fb943a928ca950377e40fb0a9d0abcf -size 2295996 +oid sha256:724457a983a97cccf08ecc73811694a8c33f373b008595538b3a1fd3917f663e +size 2113620 diff --git a/models/trees/palm_02.glb b/models/trees/palm_02.glb index c079f3d8..702b4b49 100644 --- a/models/trees/palm_02.glb +++ b/models/trees/palm_02.glb @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:bd72561181e2891662394be8989454741434697f6e607eda06b7165cc0997f83 -size 2409300 +oid sha256:799536e36b7e9f2d78fd3d31860a4f18e126b5918af67985afdd71c2c6f6d04e +size 2226928 diff --git a/models/trees/palm_02_lod1.glb b/models/trees/palm_02_lod1.glb index 033f40f7..dff3e87d 100644 --- a/models/trees/palm_02_lod1.glb +++ b/models/trees/palm_02_lod1.glb @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:87ab9d3035e667ae998acf4df24d759f19d491dd4a657e105ebe64e873a4ce9f -size 2316420 +oid sha256:97df75789eb86d5d9c5118353e8b06ec1409da1f40562a46399bfa3a5d7b723e +size 2134048 diff --git a/models/trees/palm_02_lod2.glb b/models/trees/palm_02_lod2.glb index 033f40f7..dff3e87d 100644 --- a/models/trees/palm_02_lod2.glb +++ b/models/trees/palm_02_lod2.glb @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:87ab9d3035e667ae998acf4df24d759f19d491dd4a657e105ebe64e873a4ce9f -size 2316420 +oid sha256:97df75789eb86d5d9c5118353e8b06ec1409da1f40562a46399bfa3a5d7b723e +size 2134048 diff --git a/models/trees/palm_03.glb b/models/trees/palm_03.glb index df3f1fbf..ca53676e 100644 --- a/models/trees/palm_03.glb +++ b/models/trees/palm_03.glb @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:40fcf813e22b4b445cc8120b28843c4523c51c0dac7c19c3a38be7972ba554ea -size 2433588 +oid sha256:5c2cca13410cff7a6b4e1b0cb303323ccdf219db0e21a429b6ae42df127dea53 +size 2251216 diff --git a/models/trees/palm_03_lod1.glb b/models/trees/palm_03_lod1.glb index 1db93495..2d69fc71 100644 --- a/models/trees/palm_03_lod1.glb +++ b/models/trees/palm_03_lod1.glb @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:7a0402be0efecc05ca9b5aa2d9eb87ea7b70d2d27f5d32ab07240e4e10ade58d -size 2329948 +oid sha256:f531aa499fc7426d893221dcd47fffa9c6796ad8e1a0c178260decd43b304284 +size 2147572 diff --git a/models/trees/palm_03_lod2.glb b/models/trees/palm_03_lod2.glb index 1db93495..2d69fc71 100644 --- a/models/trees/palm_03_lod2.glb +++ b/models/trees/palm_03_lod2.glb @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:7a0402be0efecc05ca9b5aa2d9eb87ea7b70d2d27f5d32ab07240e4e10ade58d -size 2329948 +oid sha256:f531aa499fc7426d893221dcd47fffa9c6796ad8e1a0c178260decd43b304284 +size 2147572 diff --git a/models/trees/palm_04.glb b/models/trees/palm_04.glb index d13335cb..17642547 100644 --- a/models/trees/palm_04.glb +++ b/models/trees/palm_04.glb @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a24b91d1a3c811c3a7003cdb3d70e3dbb5584c865999e6fd6de9ff6b8d395276 -size 2428620 +oid sha256:808dc5ce84fe6526f962cb7aeddead9be11153d37682ef83fe8bd6035b261e43 +size 2246248 diff --git a/models/trees/palm_04_lod1.glb b/models/trees/palm_04_lod1.glb index e828bb8f..1497e850 100644 --- a/models/trees/palm_04_lod1.glb +++ b/models/trees/palm_04_lod1.glb @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:bd012fbd372246d1257fa9b1b16ff19447c6341479edb6e2ab00c63127c9a736 -size 2329668 +oid sha256:db3d9100489f7cd76657a53556bf898b6adc5ab2c63786a37197eb4021d4ade3 +size 2147296 diff --git a/models/trees/palm_04_lod2.glb b/models/trees/palm_04_lod2.glb index e828bb8f..1497e850 100644 --- a/models/trees/palm_04_lod2.glb +++ b/models/trees/palm_04_lod2.glb @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:bd012fbd372246d1257fa9b1b16ff19447c6341479edb6e2ab00c63127c9a736 -size 2329668 +oid sha256:db3d9100489f7cd76657a53556bf898b6adc5ab2c63786a37197eb4021d4ade3 +size 2147296 diff --git a/models/trees/palm_05.glb b/models/trees/palm_05.glb index 983c6f99..5df29a17 100644 --- a/models/trees/palm_05.glb +++ b/models/trees/palm_05.glb @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8d2f07b63cdf67e642663d8ca6792ac8f06f98cb485635e8ecbd243c5a8cc3c6 -size 2495416 +oid sha256:6e88d73665c290f5c87c64867ac09e6afb46506c52997c938068a9e92909ea5e +size 2313044 diff --git a/models/trees/palm_05_lod1.glb b/models/trees/palm_05_lod1.glb index 4958a873..5113ac62 100644 --- a/models/trees/palm_05_lod1.glb +++ b/models/trees/palm_05_lod1.glb @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9b775916b8e5d0c1f31805c40fdaeabbfdf7202cb4f011eff16371f751a03936 -size 2348160 +oid sha256:25f5306f89630db487adb54c66c3dbfc582d43d8b5780c8ec551ce11b2121fa8 +size 2165788 diff --git a/models/trees/palm_05_lod2.glb b/models/trees/palm_05_lod2.glb index 4958a873..5113ac62 100644 --- a/models/trees/palm_05_lod2.glb +++ b/models/trees/palm_05_lod2.glb @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9b775916b8e5d0c1f31805c40fdaeabbfdf7202cb4f011eff16371f751a03936 -size 2348160 +oid sha256:25f5306f89630db487adb54c66c3dbfc582d43d8b5780c8ec551ce11b2121fa8 +size 2165788 From 24c6a40a47445ec4df92a63a00e0d94741faac86 Mon Sep 17 00:00:00 2001 From: Ting Chien Meng Date: Tue, 17 Mar 2026 17:48:58 +0800 Subject: [PATCH 03/23] refactor: remove coconut tree type from woodcutting manifest Made-with: Cursor --- manifests/gathering/woodcutting.json | 33 ---------------------------- 1 file changed, 33 deletions(-) diff --git a/manifests/gathering/woodcutting.json b/manifests/gathering/woodcutting.json index 2cc2665e..c6d79fc4 100644 --- a/manifests/gathering/woodcutting.json +++ b/manifests/gathering/woodcutting.json @@ -225,39 +225,6 @@ } ] }, - { - "id": "tree_coconut", - "name": "Coconut Palm", - "type": "tree", - "examine": "A tall coconut palm swaying gently.", - "modelPath": null, - "modelVariants": [ - "asset://models/trees/coconut_01.glb", - "asset://models/trees/coconut_02.glb", - "asset://models/trees/coconut_03.glb", - "asset://models/trees/coconut_04.glb", - "asset://models/trees/coconut_05.glb" - ], - "depletedModelPath": "asset://models/trees/wood-tree-stump/wood-tree-stump.glb", - "scale": 0.015, - "depletedScale": 0.1, - "harvestSkill": "woodcutting", - "toolRequired": "bronze_hatchet", - "levelRequired": 1, - "baseCycleTicks": 4, - "depleteChance": 0.125, - "respawnTicks": 80, - "harvestYield": [ - { - "itemId": "logs", - "itemName": "Logs", - "quantity": 1, - "chance": 1.0, - "xpAmount": 25, - "stackable": true - } - ] - }, { "id": "tree_palm", "name": "Desert Palm", From 53aa866fbf9b718b6e8114506feaa767716a6b3f Mon Sep 17 00:00:00 2001 From: Ting Chien Meng Date: Tue, 17 Mar 2026 17:59:44 +0800 Subject: [PATCH 04/23] feat: brighten dead tree and wind pine bark textures to match pine bark color Made-with: Cursor --- models/trees/dead_01.glb | 4 ++-- models/trees/dead_01_lod1.glb | 4 ++-- models/trees/dead_01_lod2.glb | 4 ++-- models/trees/dead_02.glb | 4 ++-- models/trees/dead_02_lod1.glb | 4 ++-- models/trees/dead_02_lod2.glb | 4 ++-- models/trees/dead_03.glb | 4 ++-- models/trees/dead_03_lod1.glb | 4 ++-- models/trees/dead_03_lod2.glb | 4 ++-- models/trees/dead_04.glb | 4 ++-- models/trees/dead_04_lod1.glb | 4 ++-- models/trees/dead_04_lod2.glb | 4 ++-- models/trees/dead_05.glb | 4 ++-- models/trees/dead_05_lod1.glb | 4 ++-- models/trees/dead_05_lod2.glb | 4 ++-- models/trees/dead_06.glb | 4 ++-- models/trees/dead_06_lod1.glb | 4 ++-- models/trees/dead_06_lod2.glb | 4 ++-- 18 files changed, 36 insertions(+), 36 deletions(-) diff --git a/models/trees/dead_01.glb b/models/trees/dead_01.glb index a1bee253..9a13336d 100644 --- a/models/trees/dead_01.glb +++ b/models/trees/dead_01.glb @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e2ef7c922ee98d79931cc42b591c6e9d0107dd275c568cd9506f25582b7d0801 -size 1106160 +oid sha256:7ecdfd87fe32403442f486a3a308c506cdf3f92c98ac8cabf0706f481cd5d2e3 +size 5139516 diff --git a/models/trees/dead_01_lod1.glb b/models/trees/dead_01_lod1.glb index 9e0897cc..70492308 100644 --- a/models/trees/dead_01_lod1.glb +++ b/models/trees/dead_01_lod1.glb @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f7177be94df72686ffa63588623fe5cca09aadbbc8b6898582170e39b1474bf0 -size 1042952 +oid sha256:cd13e44fd066edd5c73066b9f16a4402a646e110e3227cfbfd12d0523082a2bd +size 5139512 diff --git a/models/trees/dead_01_lod2.glb b/models/trees/dead_01_lod2.glb index 9cfb90a5..fcebd418 100644 --- a/models/trees/dead_01_lod2.glb +++ b/models/trees/dead_01_lod2.glb @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a0ba169d3a3ccfe321df5fc02e30f738fba360a3b042533b3314b2919110cd2d -size 1018388 +oid sha256:ef44b771b27e7bc199f0ade020a74e94bae15384961ec801b474fe6e6c8fb17a +size 5139512 diff --git a/models/trees/dead_02.glb b/models/trees/dead_02.glb index 56fa193b..4856ed1e 100644 --- a/models/trees/dead_02.glb +++ b/models/trees/dead_02.glb @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e772b9bfde928d828b526ec08d837abbf61598a1c30ee41aba5256c309d85694 -size 1190064 +oid sha256:cc558b75c20e570178a981792d1e46beff8bcf497d1a292a21f35c50f5626224 +size 5139516 diff --git a/models/trees/dead_02_lod1.glb b/models/trees/dead_02_lod1.glb index e1f5eefa..42ed6e8b 100644 --- a/models/trees/dead_02_lod1.glb +++ b/models/trees/dead_02_lod1.glb @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e0fb009f13368cd82700d15bb09976666ac5151dac894bd62c134cb49b4f7349 -size 1076352 +oid sha256:d64cd72403a9c7864bed7b9429421f0cd12b11c53cf0c1e7f26c2e41e63e1bb1 +size 5139516 diff --git a/models/trees/dead_02_lod2.glb b/models/trees/dead_02_lod2.glb index f578e327..40231213 100644 --- a/models/trees/dead_02_lod2.glb +++ b/models/trees/dead_02_lod2.glb @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:7fae2dde7685d94c9e79ff67f07e3d8c4732d4bc07dadf907faab2ea4968b4e2 -size 1051508 +oid sha256:606ea8a1d155514a805343f30c6ec6adf12d95a7502f5ce8fbb0096818fb6446 +size 5139512 diff --git a/models/trees/dead_03.glb b/models/trees/dead_03.glb index 683a53e2..eb30c2d5 100644 --- a/models/trees/dead_03.glb +++ b/models/trees/dead_03.glb @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:bde59132d83975f807f8211b666b7c3ee22473ba351473e40ccb0f02a27136f9 -size 1252992 +oid sha256:383f82354c5b190d2ca8d837bdb0454202bc660497041e340a0e1023f864baf5 +size 5139516 diff --git a/models/trees/dead_03_lod1.glb b/models/trees/dead_03_lod1.glb index 2522a6d2..ec3d736d 100644 --- a/models/trees/dead_03_lod1.glb +++ b/models/trees/dead_03_lod1.glb @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:181bd90f6af3ae82e9bb145d71c335b2bfe5dc443c296d1416df098602140f35 -size 1086564 +oid sha256:8acd5f97a61784fecc70d122d60112cae8108533ffa2c5564f08ce4f310e0acf +size 5139516 diff --git a/models/trees/dead_03_lod2.glb b/models/trees/dead_03_lod2.glb index 0fe0df2d..2b9b5355 100644 --- a/models/trees/dead_03_lod2.glb +++ b/models/trees/dead_03_lod2.glb @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6f699b5151e00af8851feb0403382ddaae5d4d929d3e8782bd21bf34390c7118 -size 1049852 +oid sha256:14be0575708ed0321fec54ec5a670176cfebbe5501ff7047ef77379f190a4dab +size 5139512 diff --git a/models/trees/dead_04.glb b/models/trees/dead_04.glb index 0567b36e..7444c079 100644 --- a/models/trees/dead_04.glb +++ b/models/trees/dead_04.glb @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9bc1b8965847b2b3b28ac83961502bb63fa07c9d40d15601c3178dad13106e2d -size 1240848 +oid sha256:87213ed5f48ac15e1866ee5555358c849ddec37545355ce90fa6bc140ee14c25 +size 5139516 diff --git a/models/trees/dead_04_lod1.glb b/models/trees/dead_04_lod1.glb index 15191ccd..22486aed 100644 --- a/models/trees/dead_04_lod1.glb +++ b/models/trees/dead_04_lod1.glb @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8ddb855ec0cecacac16abb22f29849eb533b5574fe7aaa64f49359a0c7d3fcc7 -size 1096500 +oid sha256:aff19b8d25294b49152b71a9db0e2c3e5da98fdd2c838a6e88fa72e09355cd1f +size 5139516 diff --git a/models/trees/dead_04_lod2.glb b/models/trees/dead_04_lod2.glb index b1402262..c5fb3464 100644 --- a/models/trees/dead_04_lod2.glb +++ b/models/trees/dead_04_lod2.glb @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d9a48fc5a626d4cd4d2484068a04528c213c1384f46f143a44a54a622dcc2a8b -size 1054820 +oid sha256:0c2a184b5866edb99bef7a1765c7ad9927c79cb8fc3f614631bb939ee0d32373 +size 5139512 diff --git a/models/trees/dead_05.glb b/models/trees/dead_05.glb index a73c74a0..3ca56959 100644 --- a/models/trees/dead_05.glb +++ b/models/trees/dead_05.glb @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:29e60a8d8772912e738dcf91292d4db7dd39ada4109280aea0e37946d8b688ee -size 1313712 +oid sha256:c38fa2e2cdd18d9da02531460aac876f21c376da506f44f2212817b968dc7ded +size 5139516 diff --git a/models/trees/dead_05_lod1.glb b/models/trees/dead_05_lod1.glb index dfcd33bd..c4c7f58b 100644 --- a/models/trees/dead_05_lod1.glb +++ b/models/trees/dead_05_lod1.glb @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b9609abf9765d35acede376dfb86fb8ea457371fd8dc1c8e9a71ee9f62683506 -size 1113336 +oid sha256:b20bbdfda62e4b6ecf614c267c5a6795d5e61317a6ace0b7c91eae5fed837784 +size 5139516 diff --git a/models/trees/dead_05_lod2.glb b/models/trees/dead_05_lod2.glb index 4065f623..6e5a21ee 100644 --- a/models/trees/dead_05_lod2.glb +++ b/models/trees/dead_05_lod2.glb @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9167bd294cd6c4688eefe490a61fe96a333783c24e111264093513b3a83dad52 -size 1060616 +oid sha256:acebe27f67bd64542d5f99bd01da13a4b5a1823a654ee91ed39aa58b319f79be +size 5139512 diff --git a/models/trees/dead_06.glb b/models/trees/dead_06.glb index 909d6e51..ffd10ff7 100644 --- a/models/trees/dead_06.glb +++ b/models/trees/dead_06.glb @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:cef1f9fadae15425a950db83711f53ec1b62b5c693e826ed6422c20a2d85691d -size 1304052 +oid sha256:6e33f26e353206b4c716d3f9f06726c2f38df732a18c243cfa420533399e8766 +size 5139516 diff --git a/models/trees/dead_06_lod1.glb b/models/trees/dead_06_lod1.glb index 8df6abd6..ac76f77a 100644 --- a/models/trees/dead_06_lod1.glb +++ b/models/trees/dead_06_lod1.glb @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d3faf6cd5ed831e451d92c02f28c3c322d5c9d16c10b78c818fdbd09efacb6b1 -size 1147976 +oid sha256:6e3a9aedca032345060221dcc6605558d8e045760805defec20415467fee930e +size 5139516 diff --git a/models/trees/dead_06_lod2.glb b/models/trees/dead_06_lod2.glb index 8df6abd6..ac76f77a 100644 --- a/models/trees/dead_06_lod2.glb +++ b/models/trees/dead_06_lod2.glb @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d3faf6cd5ed831e451d92c02f28c3c322d5c9d16c10b78c818fdbd09efacb6b1 -size 1147976 +oid sha256:6e3a9aedca032345060221dcc6605558d8e045760805defec20415467fee930e +size 5139516 From bdfa923034c7591cd1e6ce77a122d11e4e8087eb Mon Sep 17 00:00:00 2001 From: Ting Chien Meng Date: Tue, 17 Mar 2026 18:05:54 +0800 Subject: [PATCH 05/23] feat: darken dead tree bark textures and sync woodcutting manifest Made-with: Cursor --- models/trees/dead_01.glb | 4 ++-- models/trees/dead_01_lod1.glb | 4 ++-- models/trees/dead_01_lod2.glb | 4 ++-- models/trees/dead_02.glb | 4 ++-- models/trees/dead_02_lod1.glb | 4 ++-- models/trees/dead_02_lod2.glb | 4 ++-- models/trees/dead_03.glb | 4 ++-- models/trees/dead_03_lod1.glb | 4 ++-- models/trees/dead_03_lod2.glb | 4 ++-- models/trees/dead_04.glb | 4 ++-- models/trees/dead_04_lod1.glb | 4 ++-- models/trees/dead_04_lod2.glb | 4 ++-- models/trees/dead_05.glb | 4 ++-- models/trees/dead_05_lod1.glb | 4 ++-- models/trees/dead_05_lod2.glb | 4 ++-- 15 files changed, 30 insertions(+), 30 deletions(-) diff --git a/models/trees/dead_01.glb b/models/trees/dead_01.glb index 9a13336d..80796998 100644 --- a/models/trees/dead_01.glb +++ b/models/trees/dead_01.glb @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:7ecdfd87fe32403442f486a3a308c506cdf3f92c98ac8cabf0706f481cd5d2e3 -size 5139516 +oid sha256:175cf771239fc852ac18f338a13c8ea6b4c0275dc69292d42cc448ccfc45257d +size 5132160 diff --git a/models/trees/dead_01_lod1.glb b/models/trees/dead_01_lod1.glb index 70492308..bb5570a5 100644 --- a/models/trees/dead_01_lod1.glb +++ b/models/trees/dead_01_lod1.glb @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:cd13e44fd066edd5c73066b9f16a4402a646e110e3227cfbfd12d0523082a2bd -size 5139512 +oid sha256:704e8f4400e0951bf2dbf1b07bde5f668b0c14eaccd0ff556e4181123687355f +size 5132156 diff --git a/models/trees/dead_01_lod2.glb b/models/trees/dead_01_lod2.glb index fcebd418..e0b093f3 100644 --- a/models/trees/dead_01_lod2.glb +++ b/models/trees/dead_01_lod2.glb @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ef44b771b27e7bc199f0ade020a74e94bae15384961ec801b474fe6e6c8fb17a -size 5139512 +oid sha256:67b6836bc92d07a393ebfd2f955cdbfb91dbd844918514700a5f9efe4ad9dcfc +size 5132156 diff --git a/models/trees/dead_02.glb b/models/trees/dead_02.glb index 4856ed1e..0063cc88 100644 --- a/models/trees/dead_02.glb +++ b/models/trees/dead_02.glb @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:cc558b75c20e570178a981792d1e46beff8bcf497d1a292a21f35c50f5626224 -size 5139516 +oid sha256:f4f11e184f708e26260ebae4df1dccfee17e767142e3bb40dab2ea4499181c8f +size 5132160 diff --git a/models/trees/dead_02_lod1.glb b/models/trees/dead_02_lod1.glb index 42ed6e8b..f8ab0c76 100644 --- a/models/trees/dead_02_lod1.glb +++ b/models/trees/dead_02_lod1.glb @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d64cd72403a9c7864bed7b9429421f0cd12b11c53cf0c1e7f26c2e41e63e1bb1 -size 5139516 +oid sha256:7b460e076bdb75886f2dfc1846414304ddb17ffd215aca31615d0203fe755bc8 +size 5132160 diff --git a/models/trees/dead_02_lod2.glb b/models/trees/dead_02_lod2.glb index 40231213..ea608c0c 100644 --- a/models/trees/dead_02_lod2.glb +++ b/models/trees/dead_02_lod2.glb @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:606ea8a1d155514a805343f30c6ec6adf12d95a7502f5ce8fbb0096818fb6446 -size 5139512 +oid sha256:a251d1161ae80029c9379a36e7f22e689c516303243fb0bbee90e5bab54631fa +size 5132156 diff --git a/models/trees/dead_03.glb b/models/trees/dead_03.glb index eb30c2d5..cb4ca0f8 100644 --- a/models/trees/dead_03.glb +++ b/models/trees/dead_03.glb @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:383f82354c5b190d2ca8d837bdb0454202bc660497041e340a0e1023f864baf5 -size 5139516 +oid sha256:0ddc0c5008f645fa9fce4baba409bcc7530b1a00166e641e0a803e08a157563e +size 5132160 diff --git a/models/trees/dead_03_lod1.glb b/models/trees/dead_03_lod1.glb index ec3d736d..21eb00b9 100644 --- a/models/trees/dead_03_lod1.glb +++ b/models/trees/dead_03_lod1.glb @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8acd5f97a61784fecc70d122d60112cae8108533ffa2c5564f08ce4f310e0acf -size 5139516 +oid sha256:243957a62396256bbf7f2b028bcdc78075b16a053da91364b4ae4f31f9085517 +size 5132160 diff --git a/models/trees/dead_03_lod2.glb b/models/trees/dead_03_lod2.glb index 2b9b5355..2230780f 100644 --- a/models/trees/dead_03_lod2.glb +++ b/models/trees/dead_03_lod2.glb @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:14be0575708ed0321fec54ec5a670176cfebbe5501ff7047ef77379f190a4dab -size 5139512 +oid sha256:86c0701753acea18ef11c1fa74bb7aaeb278ed069a9f602a573bd109db0a9f16 +size 5132156 diff --git a/models/trees/dead_04.glb b/models/trees/dead_04.glb index 7444c079..b02b9c63 100644 --- a/models/trees/dead_04.glb +++ b/models/trees/dead_04.glb @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:87213ed5f48ac15e1866ee5555358c849ddec37545355ce90fa6bc140ee14c25 -size 5139516 +oid sha256:ae8dc61461cfcf580eea3928d1a2969c08b7759b5be2c4bee8a5644d903ab129 +size 5132160 diff --git a/models/trees/dead_04_lod1.glb b/models/trees/dead_04_lod1.glb index 22486aed..45eb6f45 100644 --- a/models/trees/dead_04_lod1.glb +++ b/models/trees/dead_04_lod1.glb @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:aff19b8d25294b49152b71a9db0e2c3e5da98fdd2c838a6e88fa72e09355cd1f -size 5139516 +oid sha256:01e34524b3056aebff6eaa7b1a15d694052c0a0f50860d09b771e243a8ce3384 +size 5132160 diff --git a/models/trees/dead_04_lod2.glb b/models/trees/dead_04_lod2.glb index c5fb3464..df0095e4 100644 --- a/models/trees/dead_04_lod2.glb +++ b/models/trees/dead_04_lod2.glb @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:0c2a184b5866edb99bef7a1765c7ad9927c79cb8fc3f614631bb939ee0d32373 -size 5139512 +oid sha256:7b0e51b658755c5a479032410dba1908d426782e095809d97bb339d0fd6a8266 +size 5132156 diff --git a/models/trees/dead_05.glb b/models/trees/dead_05.glb index 3ca56959..f5cba4a2 100644 --- a/models/trees/dead_05.glb +++ b/models/trees/dead_05.glb @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c38fa2e2cdd18d9da02531460aac876f21c376da506f44f2212817b968dc7ded -size 5139516 +oid sha256:8c1d31267f37b5ca1580a8b231b26f17ed442fd74a1c97dfdf9135b882c56c6c +size 5132160 diff --git a/models/trees/dead_05_lod1.glb b/models/trees/dead_05_lod1.glb index c4c7f58b..8b64c524 100644 --- a/models/trees/dead_05_lod1.glb +++ b/models/trees/dead_05_lod1.glb @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b20bbdfda62e4b6ecf614c267c5a6795d5e61317a6ace0b7c91eae5fed837784 -size 5139516 +oid sha256:e0dbd435a65dd2cd7814e1516a71354552855ad16e91984e587410a6dbb8f542 +size 5132160 diff --git a/models/trees/dead_05_lod2.glb b/models/trees/dead_05_lod2.glb index 6e5a21ee..eaf50c2d 100644 --- a/models/trees/dead_05_lod2.glb +++ b/models/trees/dead_05_lod2.glb @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:acebe27f67bd64542d5f99bd01da13a4b5a1823a654ee91ed39aa58b319f79be -size 5139512 +oid sha256:5aae0e2c6923a853de3322bf478ae18ee91ed32d98160bdeaba80d2ff45f1951 +size 5132156 From c95f4fa7e6c8745b76e77d1e2df22a43d361310e Mon Sep 17 00:00:00 2001 From: Ting Chien Meng Date: Tue, 17 Mar 2026 20:03:16 +0800 Subject: [PATCH 06/23] feat: add banana tree models and update woodcutting manifest Made-with: Cursor --- manifests/gathering/woodcutting.json | 33 ++++++++++++++++++++++++++++ models/trees/banana_01.glb | 3 +++ models/trees/banana_01_lod1.glb | 3 +++ models/trees/banana_01_lod2.glb | 3 +++ models/trees/banana_02.glb | 3 +++ models/trees/banana_02_lod1.glb | 3 +++ models/trees/banana_02_lod2.glb | 3 +++ models/trees/banana_03.glb | 3 +++ models/trees/banana_03_lod1.glb | 3 +++ models/trees/banana_03_lod2.glb | 3 +++ models/trees/banana_04.glb | 3 +++ models/trees/banana_04_lod1.glb | 3 +++ models/trees/banana_04_lod2.glb | 3 +++ models/trees/banana_05.glb | 3 +++ models/trees/banana_05_lod1.glb | 3 +++ models/trees/banana_05_lod2.glb | 3 +++ 16 files changed, 78 insertions(+) create mode 100644 models/trees/banana_01.glb create mode 100644 models/trees/banana_01_lod1.glb create mode 100644 models/trees/banana_01_lod2.glb create mode 100644 models/trees/banana_02.glb create mode 100644 models/trees/banana_02_lod1.glb create mode 100644 models/trees/banana_02_lod2.glb create mode 100644 models/trees/banana_03.glb create mode 100644 models/trees/banana_03_lod1.glb create mode 100644 models/trees/banana_03_lod2.glb create mode 100644 models/trees/banana_04.glb create mode 100644 models/trees/banana_04_lod1.glb create mode 100644 models/trees/banana_04_lod2.glb create mode 100644 models/trees/banana_05.glb create mode 100644 models/trees/banana_05_lod1.glb create mode 100644 models/trees/banana_05_lod2.glb diff --git a/manifests/gathering/woodcutting.json b/manifests/gathering/woodcutting.json index c6d79fc4..49948e00 100644 --- a/manifests/gathering/woodcutting.json +++ b/manifests/gathering/woodcutting.json @@ -258,6 +258,39 @@ } ] }, + { + "id": "tree_banana", + "name": "Banana Tree", + "type": "tree", + "examine": "A tropical banana tree with large, broad leaves.", + "modelPath": null, + "modelVariants": [ + "asset://models/trees/banana_01.glb", + "asset://models/trees/banana_02.glb", + "asset://models/trees/banana_03.glb", + "asset://models/trees/banana_04.glb", + "asset://models/trees/banana_05.glb" + ], + "depletedModelPath": "asset://models/trees/wood-tree-stump/wood-tree-stump.glb", + "scale": 0.0225, + "depletedScale": 0.1, + "harvestSkill": "woodcutting", + "toolRequired": "bronze_hatchet", + "levelRequired": 1, + "baseCycleTicks": 4, + "depleteChance": 0.125, + "respawnTicks": 80, + "harvestYield": [ + { + "itemId": "logs", + "itemName": "Logs", + "quantity": 1, + "chance": 1.0, + "xpAmount": 25, + "stackable": true + } + ] + }, { "id": "tree_dead", "name": "Dead Tree", diff --git a/models/trees/banana_01.glb b/models/trees/banana_01.glb new file mode 100644 index 00000000..a6d3f505 --- /dev/null +++ b/models/trees/banana_01.glb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:886ce0e2acb5e4ed8504cafb6d930e74db4e585cbcbdc2c644932c607f8d6070 +size 6444464 diff --git a/models/trees/banana_01_lod1.glb b/models/trees/banana_01_lod1.glb new file mode 100644 index 00000000..a6d3f505 --- /dev/null +++ b/models/trees/banana_01_lod1.glb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:886ce0e2acb5e4ed8504cafb6d930e74db4e585cbcbdc2c644932c607f8d6070 +size 6444464 diff --git a/models/trees/banana_01_lod2.glb b/models/trees/banana_01_lod2.glb new file mode 100644 index 00000000..a6d3f505 --- /dev/null +++ b/models/trees/banana_01_lod2.glb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:886ce0e2acb5e4ed8504cafb6d930e74db4e585cbcbdc2c644932c607f8d6070 +size 6444464 diff --git a/models/trees/banana_02.glb b/models/trees/banana_02.glb new file mode 100644 index 00000000..01a02b8d --- /dev/null +++ b/models/trees/banana_02.glb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:70cdad93e1397ee106b0250a1c9a2a740b3c9ce82a060ebc6221afdd0363e9c0 +size 6444468 diff --git a/models/trees/banana_02_lod1.glb b/models/trees/banana_02_lod1.glb new file mode 100644 index 00000000..01a02b8d --- /dev/null +++ b/models/trees/banana_02_lod1.glb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:70cdad93e1397ee106b0250a1c9a2a740b3c9ce82a060ebc6221afdd0363e9c0 +size 6444468 diff --git a/models/trees/banana_02_lod2.glb b/models/trees/banana_02_lod2.glb new file mode 100644 index 00000000..01a02b8d --- /dev/null +++ b/models/trees/banana_02_lod2.glb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:70cdad93e1397ee106b0250a1c9a2a740b3c9ce82a060ebc6221afdd0363e9c0 +size 6444468 diff --git a/models/trees/banana_03.glb b/models/trees/banana_03.glb new file mode 100644 index 00000000..d8bf2dcd --- /dev/null +++ b/models/trees/banana_03.glb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5df104fae5381c611f10a0bced63471e7c57f3f71ba15c9bd4fd1b9823ec1030 +size 6444472 diff --git a/models/trees/banana_03_lod1.glb b/models/trees/banana_03_lod1.glb new file mode 100644 index 00000000..d8bf2dcd --- /dev/null +++ b/models/trees/banana_03_lod1.glb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5df104fae5381c611f10a0bced63471e7c57f3f71ba15c9bd4fd1b9823ec1030 +size 6444472 diff --git a/models/trees/banana_03_lod2.glb b/models/trees/banana_03_lod2.glb new file mode 100644 index 00000000..d8bf2dcd --- /dev/null +++ b/models/trees/banana_03_lod2.glb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5df104fae5381c611f10a0bced63471e7c57f3f71ba15c9bd4fd1b9823ec1030 +size 6444472 diff --git a/models/trees/banana_04.glb b/models/trees/banana_04.glb new file mode 100644 index 00000000..414f84e4 --- /dev/null +++ b/models/trees/banana_04.glb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7aea8a9f73f226d17aaa02b3472481bb60e8a7f7d71e82c138514860286f70cd +size 6444468 diff --git a/models/trees/banana_04_lod1.glb b/models/trees/banana_04_lod1.glb new file mode 100644 index 00000000..414f84e4 --- /dev/null +++ b/models/trees/banana_04_lod1.glb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7aea8a9f73f226d17aaa02b3472481bb60e8a7f7d71e82c138514860286f70cd +size 6444468 diff --git a/models/trees/banana_04_lod2.glb b/models/trees/banana_04_lod2.glb new file mode 100644 index 00000000..414f84e4 --- /dev/null +++ b/models/trees/banana_04_lod2.glb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7aea8a9f73f226d17aaa02b3472481bb60e8a7f7d71e82c138514860286f70cd +size 6444468 diff --git a/models/trees/banana_05.glb b/models/trees/banana_05.glb new file mode 100644 index 00000000..00eb8ccb --- /dev/null +++ b/models/trees/banana_05.glb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:133f9418e437be2297abb0ba2dc28de308b56cbef173723732245f61902e4677 +size 6444476 diff --git a/models/trees/banana_05_lod1.glb b/models/trees/banana_05_lod1.glb new file mode 100644 index 00000000..00eb8ccb --- /dev/null +++ b/models/trees/banana_05_lod1.glb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:133f9418e437be2297abb0ba2dc28de308b56cbef173723732245f61902e4677 +size 6444476 diff --git a/models/trees/banana_05_lod2.glb b/models/trees/banana_05_lod2.glb new file mode 100644 index 00000000..00eb8ccb --- /dev/null +++ b/models/trees/banana_05_lod2.glb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:133f9418e437be2297abb0ba2dc28de308b56cbef173723732245f61902e4677 +size 6444476 From 9c59da272c1730133a2d3b36c3c7600902e4db52 Mon Sep 17 00:00:00 2001 From: Ting Chien Meng Date: Tue, 17 Mar 2026 20:18:25 +0800 Subject: [PATCH 07/23] feat: add yucca tree models and update woodcutting manifest Made-with: Cursor --- manifests/gathering/woodcutting.json | 33 ++++++++++++++++++++++++++++ models/trees/yucca_01.glb | 3 +++ models/trees/yucca_01_lod1.glb | 3 +++ models/trees/yucca_01_lod2.glb | 3 +++ models/trees/yucca_02.glb | 3 +++ models/trees/yucca_02_lod1.glb | 3 +++ models/trees/yucca_02_lod2.glb | 3 +++ models/trees/yucca_03.glb | 3 +++ models/trees/yucca_03_lod1.glb | 3 +++ models/trees/yucca_03_lod2.glb | 3 +++ models/trees/yucca_04.glb | 3 +++ models/trees/yucca_04_lod1.glb | 3 +++ models/trees/yucca_04_lod2.glb | 3 +++ models/trees/yucca_05.glb | 3 +++ models/trees/yucca_05_lod1.glb | 3 +++ models/trees/yucca_05_lod2.glb | 3 +++ 16 files changed, 78 insertions(+) create mode 100644 models/trees/yucca_01.glb create mode 100644 models/trees/yucca_01_lod1.glb create mode 100644 models/trees/yucca_01_lod2.glb create mode 100644 models/trees/yucca_02.glb create mode 100644 models/trees/yucca_02_lod1.glb create mode 100644 models/trees/yucca_02_lod2.glb create mode 100644 models/trees/yucca_03.glb create mode 100644 models/trees/yucca_03_lod1.glb create mode 100644 models/trees/yucca_03_lod2.glb create mode 100644 models/trees/yucca_04.glb create mode 100644 models/trees/yucca_04_lod1.glb create mode 100644 models/trees/yucca_04_lod2.glb create mode 100644 models/trees/yucca_05.glb create mode 100644 models/trees/yucca_05_lod1.glb create mode 100644 models/trees/yucca_05_lod2.glb diff --git a/manifests/gathering/woodcutting.json b/manifests/gathering/woodcutting.json index 49948e00..457f897f 100644 --- a/manifests/gathering/woodcutting.json +++ b/manifests/gathering/woodcutting.json @@ -291,6 +291,39 @@ } ] }, + { + "id": "tree_yucca", + "name": "Yucca Tree", + "type": "tree", + "examine": "A hardy yucca tree with sharp, spiky leaves.", + "modelPath": null, + "modelVariants": [ + "asset://models/trees/yucca_01.glb", + "asset://models/trees/yucca_02.glb", + "asset://models/trees/yucca_03.glb", + "asset://models/trees/yucca_04.glb", + "asset://models/trees/yucca_05.glb" + ], + "depletedModelPath": "asset://models/trees/wood-tree-stump/wood-tree-stump.glb", + "scale": 0.008, + "depletedScale": 0.1, + "harvestSkill": "woodcutting", + "toolRequired": "bronze_hatchet", + "levelRequired": 1, + "baseCycleTicks": 4, + "depleteChance": 0.125, + "respawnTicks": 80, + "harvestYield": [ + { + "itemId": "logs", + "itemName": "Logs", + "quantity": 1, + "chance": 1.0, + "xpAmount": 25, + "stackable": true + } + ] + }, { "id": "tree_dead", "name": "Dead Tree", diff --git a/models/trees/yucca_01.glb b/models/trees/yucca_01.glb new file mode 100644 index 00000000..614ee7d6 --- /dev/null +++ b/models/trees/yucca_01.glb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:505fc9fbaf6a27ff3551e1374cd63643c56235dd5bbd6e2a10d1d37443aef1a7 +size 6267932 diff --git a/models/trees/yucca_01_lod1.glb b/models/trees/yucca_01_lod1.glb new file mode 100644 index 00000000..614ee7d6 --- /dev/null +++ b/models/trees/yucca_01_lod1.glb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:505fc9fbaf6a27ff3551e1374cd63643c56235dd5bbd6e2a10d1d37443aef1a7 +size 6267932 diff --git a/models/trees/yucca_01_lod2.glb b/models/trees/yucca_01_lod2.glb new file mode 100644 index 00000000..614ee7d6 --- /dev/null +++ b/models/trees/yucca_01_lod2.glb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:505fc9fbaf6a27ff3551e1374cd63643c56235dd5bbd6e2a10d1d37443aef1a7 +size 6267932 diff --git a/models/trees/yucca_02.glb b/models/trees/yucca_02.glb new file mode 100644 index 00000000..566c6653 --- /dev/null +++ b/models/trees/yucca_02.glb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:47fadd3a3beb2ef2566033722b811dfcc9dc4184b02be65f011d096e1613f63c +size 6267968 diff --git a/models/trees/yucca_02_lod1.glb b/models/trees/yucca_02_lod1.glb new file mode 100644 index 00000000..566c6653 --- /dev/null +++ b/models/trees/yucca_02_lod1.glb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:47fadd3a3beb2ef2566033722b811dfcc9dc4184b02be65f011d096e1613f63c +size 6267968 diff --git a/models/trees/yucca_02_lod2.glb b/models/trees/yucca_02_lod2.glb new file mode 100644 index 00000000..566c6653 --- /dev/null +++ b/models/trees/yucca_02_lod2.glb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:47fadd3a3beb2ef2566033722b811dfcc9dc4184b02be65f011d096e1613f63c +size 6267968 diff --git a/models/trees/yucca_03.glb b/models/trees/yucca_03.glb new file mode 100644 index 00000000..8884b698 --- /dev/null +++ b/models/trees/yucca_03.glb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ce847592e323aea8799645eae013586f19c1b3f1b3dc1354f0eb7a13cab2ffb9 +size 6267996 diff --git a/models/trees/yucca_03_lod1.glb b/models/trees/yucca_03_lod1.glb new file mode 100644 index 00000000..8884b698 --- /dev/null +++ b/models/trees/yucca_03_lod1.glb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ce847592e323aea8799645eae013586f19c1b3f1b3dc1354f0eb7a13cab2ffb9 +size 6267996 diff --git a/models/trees/yucca_03_lod2.glb b/models/trees/yucca_03_lod2.glb new file mode 100644 index 00000000..8884b698 --- /dev/null +++ b/models/trees/yucca_03_lod2.glb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ce847592e323aea8799645eae013586f19c1b3f1b3dc1354f0eb7a13cab2ffb9 +size 6267996 diff --git a/models/trees/yucca_04.glb b/models/trees/yucca_04.glb new file mode 100644 index 00000000..462a296e --- /dev/null +++ b/models/trees/yucca_04.glb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6548b576d109a9d760a09a8cf0fb4e2ad5cb378e1ff5f3c0e415dd219445ae67 +size 6268008 diff --git a/models/trees/yucca_04_lod1.glb b/models/trees/yucca_04_lod1.glb new file mode 100644 index 00000000..462a296e --- /dev/null +++ b/models/trees/yucca_04_lod1.glb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6548b576d109a9d760a09a8cf0fb4e2ad5cb378e1ff5f3c0e415dd219445ae67 +size 6268008 diff --git a/models/trees/yucca_04_lod2.glb b/models/trees/yucca_04_lod2.glb new file mode 100644 index 00000000..462a296e --- /dev/null +++ b/models/trees/yucca_04_lod2.glb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6548b576d109a9d760a09a8cf0fb4e2ad5cb378e1ff5f3c0e415dd219445ae67 +size 6268008 diff --git a/models/trees/yucca_05.glb b/models/trees/yucca_05.glb new file mode 100644 index 00000000..7472a0ab --- /dev/null +++ b/models/trees/yucca_05.glb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f8f4170fd61e21fe3e71581e208e91e5721267dbcc5776caf04556855a72810b +size 6268008 diff --git a/models/trees/yucca_05_lod1.glb b/models/trees/yucca_05_lod1.glb new file mode 100644 index 00000000..7472a0ab --- /dev/null +++ b/models/trees/yucca_05_lod1.glb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f8f4170fd61e21fe3e71581e208e91e5721267dbcc5776caf04556855a72810b +size 6268008 diff --git a/models/trees/yucca_05_lod2.glb b/models/trees/yucca_05_lod2.glb new file mode 100644 index 00000000..7472a0ab --- /dev/null +++ b/models/trees/yucca_05_lod2.glb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f8f4170fd61e21fe3e71581e208e91e5721267dbcc5776caf04556855a72810b +size 6268008 From a9f061736b99da1825539321b0a5488cdbc18dec Mon Sep 17 00:00:00 2001 From: Ting Chien Meng Date: Tue, 17 Mar 2026 21:13:50 +0800 Subject: [PATCH 08/23] feat: add windswept tree models with sand-colored leaves and bark textures Made-with: Cursor --- manifests/gathering/woodcutting.json | 35 +++++++++++++++++++++++++++- models/trees/windSwept_01.glb | 3 +++ models/trees/windSwept_01_lod1.glb | 3 +++ models/trees/windSwept_01_lod2.glb | 3 +++ models/trees/windSwept_02.glb | 3 +++ models/trees/windSwept_02_lod1.glb | 3 +++ models/trees/windSwept_02_lod2.glb | 3 +++ models/trees/windSwept_03.glb | 3 +++ models/trees/windSwept_03_lod1.glb | 3 +++ models/trees/windSwept_03_lod2.glb | 3 +++ models/trees/windSwept_04.glb | 3 +++ models/trees/windSwept_04_lod1.glb | 3 +++ models/trees/windSwept_04_lod2.glb | 3 +++ models/trees/windSwept_05.glb | 3 +++ models/trees/windSwept_05_lod1.glb | 3 +++ models/trees/windSwept_05_lod2.glb | 3 +++ 16 files changed, 79 insertions(+), 1 deletion(-) create mode 100644 models/trees/windSwept_01.glb create mode 100644 models/trees/windSwept_01_lod1.glb create mode 100644 models/trees/windSwept_01_lod2.glb create mode 100644 models/trees/windSwept_02.glb create mode 100644 models/trees/windSwept_02_lod1.glb create mode 100644 models/trees/windSwept_02_lod2.glb create mode 100644 models/trees/windSwept_03.glb create mode 100644 models/trees/windSwept_03_lod1.glb create mode 100644 models/trees/windSwept_03_lod2.glb create mode 100644 models/trees/windSwept_04.glb create mode 100644 models/trees/windSwept_04_lod1.glb create mode 100644 models/trees/windSwept_04_lod2.glb create mode 100644 models/trees/windSwept_05.glb create mode 100644 models/trees/windSwept_05_lod1.glb create mode 100644 models/trees/windSwept_05_lod2.glb diff --git a/manifests/gathering/woodcutting.json b/manifests/gathering/woodcutting.json index 457f897f..3518aef1 100644 --- a/manifests/gathering/woodcutting.json +++ b/manifests/gathering/woodcutting.json @@ -305,7 +305,40 @@ "asset://models/trees/yucca_05.glb" ], "depletedModelPath": "asset://models/trees/wood-tree-stump/wood-tree-stump.glb", - "scale": 0.008, + "scale": 0.007, + "depletedScale": 0.1, + "harvestSkill": "woodcutting", + "toolRequired": "bronze_hatchet", + "levelRequired": 1, + "baseCycleTicks": 4, + "depleteChance": 0.125, + "respawnTicks": 80, + "harvestYield": [ + { + "itemId": "logs", + "itemName": "Logs", + "quantity": 1, + "chance": 1.0, + "xpAmount": 25, + "stackable": true + } + ] + }, + { + "id": "tree_windSwept", + "name": "Windswept Tree", + "type": "tree", + "examine": "A wind-battered tree with dry, sand-colored leaves.", + "modelPath": null, + "modelVariants": [ + "asset://models/trees/windSwept_01.glb", + "asset://models/trees/windSwept_02.glb", + "asset://models/trees/windSwept_03.glb", + "asset://models/trees/windSwept_04.glb", + "asset://models/trees/windSwept_05.glb" + ], + "depletedModelPath": "asset://models/trees/wood-tree-stump/wood-tree-stump.glb", + "scale": 0.015, "depletedScale": 0.1, "harvestSkill": "woodcutting", "toolRequired": "bronze_hatchet", diff --git a/models/trees/windSwept_01.glb b/models/trees/windSwept_01.glb new file mode 100644 index 00000000..cfc63c50 --- /dev/null +++ b/models/trees/windSwept_01.glb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fd324f08cca65c28b5c701dced3acd835742e263576843d6c4be8ab7e80c8b59 +size 6375500 diff --git a/models/trees/windSwept_01_lod1.glb b/models/trees/windSwept_01_lod1.glb new file mode 100644 index 00000000..e9bf7117 --- /dev/null +++ b/models/trees/windSwept_01_lod1.glb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:16a21030243bb886d21d438953221fa8be612c9be0e918ed75579a28955bfdcd +size 6375500 diff --git a/models/trees/windSwept_01_lod2.glb b/models/trees/windSwept_01_lod2.glb new file mode 100644 index 00000000..e9bf7117 --- /dev/null +++ b/models/trees/windSwept_01_lod2.glb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:16a21030243bb886d21d438953221fa8be612c9be0e918ed75579a28955bfdcd +size 6375500 diff --git a/models/trees/windSwept_02.glb b/models/trees/windSwept_02.glb new file mode 100644 index 00000000..ce22482b --- /dev/null +++ b/models/trees/windSwept_02.glb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:44ea78b4a66b43fc4a70a7cbf42f0b1f253c37836bf37b42e3a75265c4838a29 +size 6375496 diff --git a/models/trees/windSwept_02_lod1.glb b/models/trees/windSwept_02_lod1.glb new file mode 100644 index 00000000..ac6bad91 --- /dev/null +++ b/models/trees/windSwept_02_lod1.glb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:00b499aecbe9c90d73b5195dacb834e251aa4872cf40acd52ee84472f7a607dc +size 6375496 diff --git a/models/trees/windSwept_02_lod2.glb b/models/trees/windSwept_02_lod2.glb new file mode 100644 index 00000000..ac6bad91 --- /dev/null +++ b/models/trees/windSwept_02_lod2.glb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:00b499aecbe9c90d73b5195dacb834e251aa4872cf40acd52ee84472f7a607dc +size 6375496 diff --git a/models/trees/windSwept_03.glb b/models/trees/windSwept_03.glb new file mode 100644 index 00000000..b20ae5b0 --- /dev/null +++ b/models/trees/windSwept_03.glb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:85a1055352f8b6d0d00a6ca52ee9df474647602804af0a43e0966b16524bf0f1 +size 6375500 diff --git a/models/trees/windSwept_03_lod1.glb b/models/trees/windSwept_03_lod1.glb new file mode 100644 index 00000000..e7790fe0 --- /dev/null +++ b/models/trees/windSwept_03_lod1.glb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d84d1f1ece09f52b2c472d263fa7222d3d5427eb50cdb0dfcc0c7a4301b22167 +size 6375496 diff --git a/models/trees/windSwept_03_lod2.glb b/models/trees/windSwept_03_lod2.glb new file mode 100644 index 00000000..e7790fe0 --- /dev/null +++ b/models/trees/windSwept_03_lod2.glb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d84d1f1ece09f52b2c472d263fa7222d3d5427eb50cdb0dfcc0c7a4301b22167 +size 6375496 diff --git a/models/trees/windSwept_04.glb b/models/trees/windSwept_04.glb new file mode 100644 index 00000000..5d916296 --- /dev/null +++ b/models/trees/windSwept_04.glb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2c5b911a74d6f68389c07555c6870f4fcbdce8ba645ac74badd7467415a50ec0 +size 6375492 diff --git a/models/trees/windSwept_04_lod1.glb b/models/trees/windSwept_04_lod1.glb new file mode 100644 index 00000000..af69c83b --- /dev/null +++ b/models/trees/windSwept_04_lod1.glb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f1f5b0fcf890d8733f2eb072b6e3d6449e8cfac5bbf1821e39815a7ea60e8dff +size 6375496 diff --git a/models/trees/windSwept_04_lod2.glb b/models/trees/windSwept_04_lod2.glb new file mode 100644 index 00000000..af69c83b --- /dev/null +++ b/models/trees/windSwept_04_lod2.glb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f1f5b0fcf890d8733f2eb072b6e3d6449e8cfac5bbf1821e39815a7ea60e8dff +size 6375496 diff --git a/models/trees/windSwept_05.glb b/models/trees/windSwept_05.glb new file mode 100644 index 00000000..ac27639f --- /dev/null +++ b/models/trees/windSwept_05.glb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3ede6bf105e1e75f02ebd9100c8ef5f741293b1832c3286a9d955c08ff1d81d0 +size 6375476 diff --git a/models/trees/windSwept_05_lod1.glb b/models/trees/windSwept_05_lod1.glb new file mode 100644 index 00000000..b983d62d --- /dev/null +++ b/models/trees/windSwept_05_lod1.glb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7208cf02d251208edb5b007abe61c611bb74a4a8eccefab302ecf38c7b3a0354 +size 6375464 diff --git a/models/trees/windSwept_05_lod2.glb b/models/trees/windSwept_05_lod2.glb new file mode 100644 index 00000000..b983d62d --- /dev/null +++ b/models/trees/windSwept_05_lod2.glb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7208cf02d251208edb5b007abe61c611bb74a4a8eccefab302ecf38c7b3a0354 +size 6375464 From 1138e2cb2b0c74c0a66e6e8f4e03e7278413d4f2 Mon Sep 17 00:00:00 2001 From: Ting Chien Meng Date: Thu, 19 Mar 2026 03:27:35 +0800 Subject: [PATCH 09/23] fix: update duel arena bounds, NPC positions, and remove stale subZones/flatZones Update duel_arena bounds and NPC/station positions to match the new arena layout (original X, Z+50). Remove hardcoded subZones and flatZones that were overriding the code-based arena configuration. Made-with: Cursor --- manifests/world-areas.json | 114 +++---------------------------------- 1 file changed, 8 insertions(+), 106 deletions(-) diff --git a/manifests/world-areas.json b/manifests/world-areas.json index 26bd0ed8..d5e3507e 100644 --- a/manifests/world-areas.json +++ b/manifests/world-areas.json @@ -330,10 +330,10 @@ "description": "A grand arena where warriors settle disputes through honorable combat. Challenge other players to duels with agreed-upon rules and stakes.", "difficultyLevel": 0, "bounds": { - "minX": 50, - "maxX": 150, - "minZ": 50, - "maxZ": 150 + "minX": 36, + "maxX": 140, + "minZ": 85, + "maxZ": 225 }, "biomeType": "desert", "safeZone": true, @@ -343,7 +343,7 @@ "id": "duel_arena_nurse", "type": "healer", "name": "Nurse Sarah", - "position": { "x": 55, "y": 0, "z": 55 }, + "position": { "x": 55, "y": 0, "z": 105 }, "dialogue": { "greeting": "Welcome to the Duel Arena hospital. Let me restore your health and prayer.", "heal": "There you go, fully restored!" @@ -353,7 +353,7 @@ "id": "duel_arena_scoreboard", "type": "scoreboard", "name": "Duel Scoreboard", - "position": { "x": 100, "y": 0, "z": 55 }, + "position": { "x": 100, "y": 0, "z": 105 }, "dialogue": { "greeting": "View the duel arena rankings and statistics." } @@ -362,7 +362,7 @@ "id": "duel_arena_guide", "type": "guide", "name": "Duel Master Marcus", - "position": { "x": 110, "y": 0, "z": 60 }, + "position": { "x": 110, "y": 0, "z": 110 }, "dialogue": { "greeting": "Welcome to the Duel Arena! Right-click another player and select 'Challenge to Duel' to begin. You can set rules and stake items before fighting." } @@ -374,107 +374,9 @@ { "id": "duel_arena_bank", "type": "bank", - "position": { "x": 135, "y": 0, "z": 65 }, + "position": { "x": 135, "y": 0, "z": 115 }, "bankId": "duel_arena_bank" } - ], - "subZones": { - "lobby": { - "name": "Duel Arena Lobby", - "bounds": { "minX": 90, "maxX": 130, "minZ": 50, "maxZ": 75 }, - "safeZone": true, - "spawnPoint": { "x": 105, "y": 0, "z": 60 } - }, - "hospital": { - "name": "Duel Arena Hospital", - "bounds": { "minX": 50, "maxX": 80, "minZ": 50, "maxZ": 75 }, - "safeZone": true, - "spawnPoint": { "x": 60, "y": 0, "z": 60 } - }, - "arenas": { - "name": "Combat Arenas", - "bounds": { "minX": 60, "maxX": 140, "minZ": 80, "maxZ": 145 }, - "safeZone": false, - "duelOnly": true, - "arenaCount": 6, - "arenaLayout": "2x3", - "arenaSize": { "width": 20, "length": 24 }, - "arenaGap": 4 - } - }, - "flatZones": [ - { - "id": "duel_arena_1", - "centerX": 70, - "centerZ": 92, - "width": 22, - "depth": 26, - "heightOffset": 0.4, - "blendRadius": 0.5 - }, - { - "id": "duel_arena_2", - "centerX": 94, - "centerZ": 92, - "width": 22, - "depth": 26, - "heightOffset": 0.4, - "blendRadius": 0.5 - }, - { - "id": "duel_arena_3", - "centerX": 70, - "centerZ": 120, - "width": 22, - "depth": 26, - "heightOffset": 0.4, - "blendRadius": 0.5 - }, - { - "id": "duel_arena_4", - "centerX": 94, - "centerZ": 120, - "width": 22, - "depth": 26, - "heightOffset": 0.4, - "blendRadius": 0.5 - }, - { - "id": "duel_arena_5", - "centerX": 70, - "centerZ": 148, - "width": 22, - "depth": 26, - "heightOffset": 0.4, - "blendRadius": 0.5 - }, - { - "id": "duel_arena_6", - "centerX": 94, - "centerZ": 148, - "width": 22, - "depth": 26, - "heightOffset": 0.4, - "blendRadius": 0.5 - }, - { - "id": "duel_arena_lobby", - "centerX": 105, - "centerZ": 62, - "width": 40, - "depth": 25, - "heightOffset": 0.4, - "blendRadius": 1.0 - }, - { - "id": "duel_arena_hospital", - "centerX": 65, - "centerZ": 62, - "width": 30, - "depth": 25, - "heightOffset": 0.4, - "blendRadius": 1.0 - } ] } } From 4e2a027bd639dc7326b1aacd993702c5b1500f49 Mon Sep 17 00:00:00 2001 From: Ting Chien Meng Date: Thu, 19 Mar 2026 11:52:04 +0800 Subject: [PATCH 10/23] fix: move arena and home positions to new terrain location Update duel_arena bounds, NPC/station positions (+280 X, +264 Z). Move central_haven bounds to center on (444, 330). Made-with: Cursor --- manifests/world-areas.json | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/manifests/world-areas.json b/manifests/world-areas.json index d5e3507e..2e6eaaa1 100644 --- a/manifests/world-areas.json +++ b/manifests/world-areas.json @@ -6,10 +6,10 @@ "description": "The central hub of Hyperscape, a peaceful sanctuary protected by ancient wards.", "difficultyLevel": 0, "bounds": { - "minX": -150, - "maxX": 150, - "minZ": -150, - "maxZ": 150 + "minX": 294, + "maxX": 594, + "minZ": 180, + "maxZ": 480 }, "biomeType": "starter_town", "safeZone": true, @@ -330,10 +330,10 @@ "description": "A grand arena where warriors settle disputes through honorable combat. Challenge other players to duels with agreed-upon rules and stakes.", "difficultyLevel": 0, "bounds": { - "minX": 36, - "maxX": 140, - "minZ": 85, - "maxZ": 225 + "minX": 316, + "maxX": 420, + "minZ": 349, + "maxZ": 489 }, "biomeType": "desert", "safeZone": true, @@ -343,7 +343,7 @@ "id": "duel_arena_nurse", "type": "healer", "name": "Nurse Sarah", - "position": { "x": 55, "y": 0, "z": 105 }, + "position": { "x": 335, "y": 0, "z": 369 }, "dialogue": { "greeting": "Welcome to the Duel Arena hospital. Let me restore your health and prayer.", "heal": "There you go, fully restored!" @@ -353,7 +353,7 @@ "id": "duel_arena_scoreboard", "type": "scoreboard", "name": "Duel Scoreboard", - "position": { "x": 100, "y": 0, "z": 105 }, + "position": { "x": 380, "y": 0, "z": 369 }, "dialogue": { "greeting": "View the duel arena rankings and statistics." } @@ -362,7 +362,7 @@ "id": "duel_arena_guide", "type": "guide", "name": "Duel Master Marcus", - "position": { "x": 110, "y": 0, "z": 110 }, + "position": { "x": 390, "y": 0, "z": 374 }, "dialogue": { "greeting": "Welcome to the Duel Arena! Right-click another player and select 'Challenge to Duel' to begin. You can set rules and stake items before fighting." } @@ -374,7 +374,7 @@ { "id": "duel_arena_bank", "type": "bank", - "position": { "x": 135, "y": 0, "z": 115 }, + "position": { "x": 415, "y": 0, "z": 379 }, "bankId": "duel_arena_bank" } ] From 81d2e6677d83d3634d1a56dbcdd5f3b6d2b31dd4 Mon Sep 17 00:00:00 2001 From: Ting Chien Meng Date: Thu, 19 Mar 2026 12:57:52 +0800 Subject: [PATCH 11/23] =?UTF-8?q?feat:=20adjust=20terrain=20biome=20textur?= =?UTF-8?q?es=20=E2=80=94=20darken=20grass,=20brown=20dirt,=20grey=20cliff?= =?UTF-8?q?,=20desaturate=20snowgrass,=20darken=20desert=20textures?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Made-with: Cursor --- textures/terrain-biomes/cliff.png | 4 ++-- textures/terrain-biomes/desertCliff.png | 4 ++-- textures/terrain-biomes/desertDirt.png | 4 ++-- textures/terrain-biomes/desertGrass.png | 4 ++-- textures/terrain-biomes/dirt.png | 4 ++-- textures/terrain-biomes/grass.png | 4 ++-- textures/terrain-biomes/snowgrass.png | 4 ++-- 7 files changed, 14 insertions(+), 14 deletions(-) diff --git a/textures/terrain-biomes/cliff.png b/textures/terrain-biomes/cliff.png index f6865aec..64a8b9c1 100644 --- a/textures/terrain-biomes/cliff.png +++ b/textures/terrain-biomes/cliff.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:136a3e7ab2f80c7b0e9bf8be6b1177038ed70ea4d01919c04c43fc4be567515b -size 706956 +oid sha256:6355bb637c5215f2f0e6d8a42a6081aeaf7daace8fa757138371ae5ce48ee457 +size 526379 diff --git a/textures/terrain-biomes/desertCliff.png b/textures/terrain-biomes/desertCliff.png index faae0487..ae6d098b 100644 --- a/textures/terrain-biomes/desertCliff.png +++ b/textures/terrain-biomes/desertCliff.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5b2ad163029a6b95861db76fdb86bb6bd814971a666f3bda29672b9479ca9d01 -size 1754269 +oid sha256:a4740a43c15c61ee641323927156fd9b6321f96dfb2b28466b2a017884c1587d +size 1116020 diff --git a/textures/terrain-biomes/desertDirt.png b/textures/terrain-biomes/desertDirt.png index 24f2cc19..dcb1e227 100644 --- a/textures/terrain-biomes/desertDirt.png +++ b/textures/terrain-biomes/desertDirt.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:2358c3cff2d4218ea3f64b8627adadf1c7b079bfae71b976b1594464bdaa76ba -size 1630791 +oid sha256:9b5be77e497f0d29d98259597d598ed566e68ba68cb2fc5b2f7292091291c2e8 +size 1306716 diff --git a/textures/terrain-biomes/desertGrass.png b/textures/terrain-biomes/desertGrass.png index d183cc4a..43ab8fc7 100644 --- a/textures/terrain-biomes/desertGrass.png +++ b/textures/terrain-biomes/desertGrass.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:56052729e1d88c25b8fdbb20096f9ec5fa183048968770b8e4122744279dcca8 -size 1669033 +oid sha256:7804c4653341dec6a6cd2aa9f073276194838d8c80153fcd9154721424453ba1 +size 1296347 diff --git a/textures/terrain-biomes/dirt.png b/textures/terrain-biomes/dirt.png index d31317eb..30c7e262 100644 --- a/textures/terrain-biomes/dirt.png +++ b/textures/terrain-biomes/dirt.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ce3265a3a8ebd1cd5f56e9049fd840da7dc26cde5f8335f8fd09d0d411596fa8 -size 1093332 +oid sha256:8fdc43b1347dbc5fdd3d3e84fa4e8db7468babeb9547c87ee46e0bd399941326 +size 933569 diff --git a/textures/terrain-biomes/grass.png b/textures/terrain-biomes/grass.png index 300c7e43..f2dd8f03 100644 --- a/textures/terrain-biomes/grass.png +++ b/textures/terrain-biomes/grass.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:bc2ec1f05066367e4f9712b201e476250fd0f9a2bcaa77cd6811b0e0915cbe63 -size 1861322 +oid sha256:4568a1dc709a2bc78336a12e13f6d4c66c707208c7bf93356ce16ce110c4d9fb +size 1591106 diff --git a/textures/terrain-biomes/snowgrass.png b/textures/terrain-biomes/snowgrass.png index 45d0f49f..5bd1973e 100644 --- a/textures/terrain-biomes/snowgrass.png +++ b/textures/terrain-biomes/snowgrass.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c91f7c114b444d35700ab4a0f20ee826302cee5264c1b67ba33caa572376c8db -size 1534472 +oid sha256:d361320fe3f60dd7adb01fe4fd2f5c5ddc2cd785ccb7d58422ae4121b0efa6b3 +size 1285634 From 383034052c42439839bcf62e6eab682b401a6b67 Mon Sep 17 00:00:00 2001 From: Ting Chien Meng Date: Thu, 19 Mar 2026 14:33:27 +0800 Subject: [PATCH 12/23] fix: scale up oak_01 model and adjust yucca tree scale oak_01 had raw vertex height of 10.1 (vs 772-1457 for other oaks), scaled positions by 110x to match. Bumped yucca manifest scale from 0.007 to 0.012 for more reasonable in-game sizing. Made-with: Cursor --- manifests/gathering/woodcutting.json | 4 ++-- models/trees/oak_01.glb | 2 +- models/trees/oak_01_lod1.glb | 2 +- models/trees/oak_01_lod2.glb | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/manifests/gathering/woodcutting.json b/manifests/gathering/woodcutting.json index 3518aef1..4a7d1634 100644 --- a/manifests/gathering/woodcutting.json +++ b/manifests/gathering/woodcutting.json @@ -78,7 +78,7 @@ "asset://models/trees/oak_04.glb" ], "depletedModelPath": "asset://models/trees/wood-tree-stump/wood-tree-stump.glb", - "scale": 0.008, + "scale": 0.012, "depletedScale": 0.1, "harvestSkill": "woodcutting", "toolRequired": "bronze_hatchet", @@ -305,7 +305,7 @@ "asset://models/trees/yucca_05.glb" ], "depletedModelPath": "asset://models/trees/wood-tree-stump/wood-tree-stump.glb", - "scale": 0.007, + "scale": 0.012, "depletedScale": 0.1, "harvestSkill": "woodcutting", "toolRequired": "bronze_hatchet", diff --git a/models/trees/oak_01.glb b/models/trees/oak_01.glb index f81cd05f..cdefe0fe 100644 --- a/models/trees/oak_01.glb +++ b/models/trees/oak_01.glb @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c70d89fd1a7b17e898ba25a0e5f7e93278b38c7d3b5c75426eec518e7fbada76 +oid sha256:3a71afde5b91ee2153c82cc17732d965e4ff3655f0f65446a6a0d2c6ac86edcd size 1471860 diff --git a/models/trees/oak_01_lod1.glb b/models/trees/oak_01_lod1.glb index 41ded801..146c9c98 100644 --- a/models/trees/oak_01_lod1.glb +++ b/models/trees/oak_01_lod1.glb @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:60dce463fda69604e06f5c79926df529fbc83b7d85242142346752a300f6d3c7 +oid sha256:1f549584a6029c0959cca3a52031689722af262d8a7da75004bd4a654205c9f4 size 1356212 diff --git a/models/trees/oak_01_lod2.glb b/models/trees/oak_01_lod2.glb index 6c7eaac7..1defffa8 100644 --- a/models/trees/oak_01_lod2.glb +++ b/models/trees/oak_01_lod2.glb @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5eac5973d11d6b155860814300d2532ed8ea5533672883c74f15dc43825ad908 +oid sha256:3fa8cf9a005f3a7238b21fa7d19f8d8c9d3b910d19682d916181c39dd222fefc size 1137208 From 802a9c836cb913b3fb7b1a39faf4ed4e511389c4 Mon Sep 17 00:00:00 2001 From: Ting Chien Meng Date: Thu, 19 Mar 2026 14:33:56 +0800 Subject: [PATCH 13/23] fix: lighten grass texture slightly and add subtle yellow tint Made-with: Cursor --- textures/terrain-biomes/grass.png | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/textures/terrain-biomes/grass.png b/textures/terrain-biomes/grass.png index f2dd8f03..d3cdec6a 100644 --- a/textures/terrain-biomes/grass.png +++ b/textures/terrain-biomes/grass.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:4568a1dc709a2bc78336a12e13f6d4c66c707208c7bf93356ce16ce110c4d9fb -size 1591106 +oid sha256:085d6dc1666032ce1ad9fe405376ac48b9bf51c3f728af8ed132acdfa5650a60 +size 1593276 From 66845932db0ffa5fb242d994e1975d34e62d5ef7 Mon Sep 17 00:00:00 2001 From: Ting Chien Meng Date: Thu, 19 Mar 2026 14:35:53 +0800 Subject: [PATCH 14/23] fix: scale up oak_04 model to match other oak variants Made-with: Cursor --- models/trees/oak_04.glb | 2 +- models/trees/oak_04_lod1.glb | 2 +- models/trees/oak_04_lod2.glb | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/models/trees/oak_04.glb b/models/trees/oak_04.glb index 7cdfd4f5..6a5e9d24 100644 --- a/models/trees/oak_04.glb +++ b/models/trees/oak_04.glb @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5cf1f000918786bca79ff795dce546d53a11cbd1dc3d8e56fa712f73782ea2e0 +oid sha256:a1f67fe8a1c6e0056daa58811f09d19d9a4fa0b2777e3063ab2a61c15ea4def3 size 1301976 diff --git a/models/trees/oak_04_lod1.glb b/models/trees/oak_04_lod1.glb index 6742c4c1..89d21b86 100644 --- a/models/trees/oak_04_lod1.glb +++ b/models/trees/oak_04_lod1.glb @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:89fdb49cd385158b2ad7c92b27887394fd33db6e5bd936536f6de6d88a7d9be7 +oid sha256:8a3c76631846801d677b313fdf42c0a181d1e16b39e00180dd98ab8e174cee4a size 1204136 diff --git a/models/trees/oak_04_lod2.glb b/models/trees/oak_04_lod2.glb index 3ee33e03..35ae9b79 100644 --- a/models/trees/oak_04_lod2.glb +++ b/models/trees/oak_04_lod2.glb @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:da2d9e7e18443e7daebb2e002073fc6ca114cd9961aaf3feb8164214c55559fb +oid sha256:d42fdd80103be58e4699356db894d85a3353761010de9be836fc4e609b924d01 size 1143692 From 15b2731476cc801d61f6caa06af6e9a50bdf5ea6 Mon Sep 17 00:00:00 2001 From: Ting Chien Meng Date: Thu, 19 Mar 2026 16:46:54 +0800 Subject: [PATCH 15/23] fix: adjust palm and banana tree scales for better sizing Made-with: Cursor --- manifests/gathering/woodcutting.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/manifests/gathering/woodcutting.json b/manifests/gathering/woodcutting.json index 4a7d1634..a48c61cd 100644 --- a/manifests/gathering/woodcutting.json +++ b/manifests/gathering/woodcutting.json @@ -239,7 +239,7 @@ "asset://models/trees/palm_05.glb" ], "depletedModelPath": "asset://models/trees/wood-tree-stump/wood-tree-stump.glb", - "scale": 0.012, + "scale": 0.015, "depletedScale": 0.1, "harvestSkill": "woodcutting", "toolRequired": "bronze_hatchet", @@ -272,7 +272,7 @@ "asset://models/trees/banana_05.glb" ], "depletedModelPath": "asset://models/trees/wood-tree-stump/wood-tree-stump.glb", - "scale": 0.0225, + "scale": 0.03, "depletedScale": 0.1, "harvestSkill": "woodcutting", "toolRequired": "bronze_hatchet", From 7c35442c6545e220787b98c39b50e831b596d62d Mon Sep 17 00:00:00 2001 From: Ting Chien Meng Date: Thu, 19 Mar 2026 18:28:00 +0800 Subject: [PATCH 16/23] refactor: remove unused tree types from woodcutting manifest Remove bamboo, chinaPine, yucca, cactus, and windSwept entries that are not referenced in any biome config. Made-with: Cursor --- manifests/gathering/woodcutting.json | 166 --------------------------- 1 file changed, 166 deletions(-) diff --git a/manifests/gathering/woodcutting.json b/manifests/gathering/woodcutting.json index a48c61cd..6684ab46 100644 --- a/manifests/gathering/woodcutting.json +++ b/manifests/gathering/woodcutting.json @@ -130,70 +130,6 @@ } ] }, - { - "id": "tree_bamboo", - "name": "Bamboo Tree", - "type": "tree", - "examine": "A tall bamboo stalk swaying in the breeze.", - "modelPath": null, - "modelVariants": [ - "asset://models/trees/bamboo_01.glb", - "asset://models/trees/bamboo_02.glb", - "asset://models/trees/bamboo_03.glb", - "asset://models/trees/bamboo_04.glb" - ], - "depletedModelPath": "asset://models/trees/wood-tree-stump/wood-tree-stump.glb", - "scale": 0.8, - "depletedScale": 0.1, - "harvestSkill": "woodcutting", - "toolRequired": "bronze_hatchet", - "levelRequired": 1, - "baseCycleTicks": 4, - "depleteChance": 0.125, - "respawnTicks": 80, - "harvestYield": [ - { - "itemId": "logs", - "itemName": "Logs", - "quantity": 1, - "chance": 1.0, - "xpAmount": 25, - "stackable": true - } - ] - }, - { - "id": "tree_chinaPine", - "name": "China Pine", - "type": "tree", - "examine": "An elegant china pine with spreading branches.", - "modelPath": null, - "modelVariants": [ - "asset://models/trees/chinaPine_01.glb", - "asset://models/trees/chinaPine_02.glb", - "asset://models/trees/chinaPine_03.glb", - "asset://models/trees/chinaPine_04.glb" - ], - "depletedModelPath": "asset://models/trees/wood-tree-stump/wood-tree-stump.glb", - "scale": 0.015, - "depletedScale": 0.1, - "harvestSkill": "woodcutting", - "toolRequired": "bronze_hatchet", - "levelRequired": 1, - "baseCycleTicks": 4, - "depleteChance": 0.125, - "respawnTicks": 80, - "harvestYield": [ - { - "itemId": "logs", - "itemName": "Logs", - "quantity": 1, - "chance": 1.0, - "xpAmount": 25, - "stackable": true - } - ] - }, { "id": "tree_maple", "name": "Maple Tree", @@ -291,72 +227,6 @@ } ] }, - { - "id": "tree_yucca", - "name": "Yucca Tree", - "type": "tree", - "examine": "A hardy yucca tree with sharp, spiky leaves.", - "modelPath": null, - "modelVariants": [ - "asset://models/trees/yucca_01.glb", - "asset://models/trees/yucca_02.glb", - "asset://models/trees/yucca_03.glb", - "asset://models/trees/yucca_04.glb", - "asset://models/trees/yucca_05.glb" - ], - "depletedModelPath": "asset://models/trees/wood-tree-stump/wood-tree-stump.glb", - "scale": 0.012, - "depletedScale": 0.1, - "harvestSkill": "woodcutting", - "toolRequired": "bronze_hatchet", - "levelRequired": 1, - "baseCycleTicks": 4, - "depleteChance": 0.125, - "respawnTicks": 80, - "harvestYield": [ - { - "itemId": "logs", - "itemName": "Logs", - "quantity": 1, - "chance": 1.0, - "xpAmount": 25, - "stackable": true - } - ] - }, - { - "id": "tree_windSwept", - "name": "Windswept Tree", - "type": "tree", - "examine": "A wind-battered tree with dry, sand-colored leaves.", - "modelPath": null, - "modelVariants": [ - "asset://models/trees/windSwept_01.glb", - "asset://models/trees/windSwept_02.glb", - "asset://models/trees/windSwept_03.glb", - "asset://models/trees/windSwept_04.glb", - "asset://models/trees/windSwept_05.glb" - ], - "depletedModelPath": "asset://models/trees/wood-tree-stump/wood-tree-stump.glb", - "scale": 0.015, - "depletedScale": 0.1, - "harvestSkill": "woodcutting", - "toolRequired": "bronze_hatchet", - "levelRequired": 1, - "baseCycleTicks": 4, - "depleteChance": 0.125, - "respawnTicks": 80, - "harvestYield": [ - { - "itemId": "logs", - "itemName": "Logs", - "quantity": 1, - "chance": 1.0, - "xpAmount": 25, - "stackable": true - } - ] - }, { "id": "tree_dead", "name": "Dead Tree", @@ -390,42 +260,6 @@ } ] }, - { - "id": "tree_cactus", - "name": "Cactus", - "type": "tree", - "examine": "A prickly desert cactus.", - "modelPath": null, - "modelVariants": [ - "asset://models/trees/cactus01.glb", - "asset://models/trees/cactus02.glb", - "asset://models/trees/cactus03.glb", - "asset://models/trees/cactus04.glb", - "asset://models/trees/cactus05.glb", - "asset://models/trees/cactus06.glb", - "asset://models/trees/cactus07.glb", - "asset://models/trees/cactus08.glb" - ], - "depletedModelPath": "asset://models/trees/wood-tree-stump/wood-tree-stump.glb", - "scale": 0.008, - "depletedScale": 0.1, - "harvestSkill": "woodcutting", - "toolRequired": "bronze_hatchet", - "levelRequired": 1, - "baseCycleTicks": 4, - "depleteChance": 0.125, - "respawnTicks": 80, - "harvestYield": [ - { - "itemId": "logs", - "itemName": "Logs", - "quantity": 1, - "chance": 1.0, - "xpAmount": 25, - "stackable": true - } - ] - }, { "id": "tree_knotwood", "name": "Knotwood Tree", From 03e84082a802ebd8ca70e29226ea400c35720612 Mon Sep 17 00:00:00 2001 From: Ting Chien Meng Date: Thu, 19 Mar 2026 20:22:15 +0800 Subject: [PATCH 17/23] fix: update knotwood and maple tree models and manifests Made-with: Cursor --- manifests/model-bounds.json | 2 +- manifests/world-areas.json | 24 ++++++++++++------------ models/trees/knotwood_01.glb | 4 ++-- models/trees/knotwood_01_lod1.glb | 4 ++-- models/trees/knotwood_01_lod2.glb | 4 ++-- models/trees/knotwood_02.glb | 4 ++-- models/trees/knotwood_02_lod1.glb | 4 ++-- models/trees/knotwood_02_lod2.glb | 4 ++-- models/trees/knotwood_03.glb | 4 ++-- models/trees/knotwood_03_lod1.glb | 4 ++-- models/trees/knotwood_03_lod2.glb | 4 ++-- models/trees/knotwood_04.glb | 4 ++-- models/trees/knotwood_04_lod1.glb | 4 ++-- models/trees/knotwood_04_lod2.glb | 4 ++-- models/trees/maple_01.glb | 2 +- models/trees/maple_01_lod1.glb | 2 +- models/trees/maple_01_lod2.glb | 2 +- models/trees/maple_02.glb | 2 +- models/trees/maple_02_lod1.glb | 2 +- models/trees/maple_02_lod2.glb | 2 +- models/trees/maple_03.glb | 2 +- models/trees/maple_03_lod1.glb | 2 +- models/trees/maple_03_lod2.glb | 2 +- 23 files changed, 46 insertions(+), 46 deletions(-) diff --git a/manifests/model-bounds.json b/manifests/model-bounds.json index b6b145d5..4c083bcd 100644 --- a/manifests/model-bounds.json +++ b/manifests/model-bounds.json @@ -1,5 +1,5 @@ { - "generatedAt": "2026-03-17T09:44:22.343Z", + "generatedAt": "2026-03-19T09:13:14.101Z", "tileSize": 1, "models": [ { diff --git a/manifests/world-areas.json b/manifests/world-areas.json index 2e6eaaa1..d5e3507e 100644 --- a/manifests/world-areas.json +++ b/manifests/world-areas.json @@ -6,10 +6,10 @@ "description": "The central hub of Hyperscape, a peaceful sanctuary protected by ancient wards.", "difficultyLevel": 0, "bounds": { - "minX": 294, - "maxX": 594, - "minZ": 180, - "maxZ": 480 + "minX": -150, + "maxX": 150, + "minZ": -150, + "maxZ": 150 }, "biomeType": "starter_town", "safeZone": true, @@ -330,10 +330,10 @@ "description": "A grand arena where warriors settle disputes through honorable combat. Challenge other players to duels with agreed-upon rules and stakes.", "difficultyLevel": 0, "bounds": { - "minX": 316, - "maxX": 420, - "minZ": 349, - "maxZ": 489 + "minX": 36, + "maxX": 140, + "minZ": 85, + "maxZ": 225 }, "biomeType": "desert", "safeZone": true, @@ -343,7 +343,7 @@ "id": "duel_arena_nurse", "type": "healer", "name": "Nurse Sarah", - "position": { "x": 335, "y": 0, "z": 369 }, + "position": { "x": 55, "y": 0, "z": 105 }, "dialogue": { "greeting": "Welcome to the Duel Arena hospital. Let me restore your health and prayer.", "heal": "There you go, fully restored!" @@ -353,7 +353,7 @@ "id": "duel_arena_scoreboard", "type": "scoreboard", "name": "Duel Scoreboard", - "position": { "x": 380, "y": 0, "z": 369 }, + "position": { "x": 100, "y": 0, "z": 105 }, "dialogue": { "greeting": "View the duel arena rankings and statistics." } @@ -362,7 +362,7 @@ "id": "duel_arena_guide", "type": "guide", "name": "Duel Master Marcus", - "position": { "x": 390, "y": 0, "z": 374 }, + "position": { "x": 110, "y": 0, "z": 110 }, "dialogue": { "greeting": "Welcome to the Duel Arena! Right-click another player and select 'Challenge to Duel' to begin. You can set rules and stake items before fighting." } @@ -374,7 +374,7 @@ { "id": "duel_arena_bank", "type": "bank", - "position": { "x": 415, "y": 0, "z": 379 }, + "position": { "x": 135, "y": 0, "z": 115 }, "bankId": "duel_arena_bank" } ] diff --git a/models/trees/knotwood_01.glb b/models/trees/knotwood_01.glb index 844510b9..896fc0d2 100644 --- a/models/trees/knotwood_01.glb +++ b/models/trees/knotwood_01.glb @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:851522fb08fab6664f2defbb42168224f1393df1060b60ba5c3ae15736183e57 -size 1409492 +oid sha256:bef0ea4fa45d5887f853014fe98269970a997b0c4d45ad0d44b9a6a06dbc4a71 +size 1498248 diff --git a/models/trees/knotwood_01_lod1.glb b/models/trees/knotwood_01_lod1.glb index e1e85a69..ee2642b7 100644 --- a/models/trees/knotwood_01_lod1.glb +++ b/models/trees/knotwood_01_lod1.glb @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:128822464c91dd15d6c1d83ead09db36f77e557a343cf5af6be84924859e8ce5 -size 1380512 +oid sha256:1c45f56d96e78c3f277cb5e4984e9e386c748d2ed6441d217aca6bfc6488e4c5 +size 1469268 diff --git a/models/trees/knotwood_01_lod2.glb b/models/trees/knotwood_01_lod2.glb index 926bccc5..7fa7d5e5 100644 --- a/models/trees/knotwood_01_lod2.glb +++ b/models/trees/knotwood_01_lod2.glb @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5ef34c2dd0f25d7411f40de9bdc2cf7140101cd227e743671030aa06982fe1fa -size 1361468 +oid sha256:cfff24502bfcd97c53dddef0eb2b16cf9d5a09dd9a47b76d607d30fe90b16074 +size 1450224 diff --git a/models/trees/knotwood_02.glb b/models/trees/knotwood_02.glb index ead58fe6..8e334837 100644 --- a/models/trees/knotwood_02.glb +++ b/models/trees/knotwood_02.glb @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f3e54a7d26ca6a78841ef072e226b182df220689c2e3195b33e4b1e35a96d370 -size 1394036 +oid sha256:1c7d1dfdb23dac75146234f15b6dda9c8866f0b70545d91f7098eb575b786f06 +size 1482792 diff --git a/models/trees/knotwood_02_lod1.glb b/models/trees/knotwood_02_lod1.glb index 731ac0a9..36ddc7e3 100644 --- a/models/trees/knotwood_02_lod1.glb +++ b/models/trees/knotwood_02_lod1.glb @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:7b1f3af343dff1e433c0359662393a103a6d3dd41d589dd51b204e113f2f9690 -size 1356224 +oid sha256:058d0d90d83f5c27c2ca79a15690ca40ccb9477dff2cdb45fb718516e9e4b61e +size 1444980 diff --git a/models/trees/knotwood_02_lod2.glb b/models/trees/knotwood_02_lod2.glb index 1a370670..59f1395f 100644 --- a/models/trees/knotwood_02_lod2.glb +++ b/models/trees/knotwood_02_lod2.glb @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e8f6b324cf45396f4866d95c845db3144c7b834b532c35e89edbf4377e633eb1 -size 1340072 +oid sha256:72407704579cf36ddd6d29770215fa26f766d8119757120f979ba463046643ff +size 1428828 diff --git a/models/trees/knotwood_03.glb b/models/trees/knotwood_03.glb index c2e38dca..8148ab51 100644 --- a/models/trees/knotwood_03.glb +++ b/models/trees/knotwood_03.glb @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:03144a53b1d429a0f8b6482ed9f8280735e02a2deb011b96d26a87d4bc032a5a -size 1447304 +oid sha256:4dbda35c6c88cec28c3cb900dbc058b81cc5be083444d499e4dc2a1c6384ec92 +size 1536060 diff --git a/models/trees/knotwood_03_lod1.glb b/models/trees/knotwood_03_lod1.glb index c700ad10..35ca5308 100644 --- a/models/trees/knotwood_03_lod1.glb +++ b/models/trees/knotwood_03_lod1.glb @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a7ec86a9a3b0ddd509b16942838d57d598452c35ffd6d7d7fda0d58f167f3640 -size 1398592 +oid sha256:711c6551d075058a87a96fe31e7708ffbc33629b021e014054c4b419259ea5a1 +size 1487348 diff --git a/models/trees/knotwood_03_lod2.glb b/models/trees/knotwood_03_lod2.glb index a4f54847..14233f7f 100644 --- a/models/trees/knotwood_03_lod2.glb +++ b/models/trees/knotwood_03_lod2.glb @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:10ce4e613cec1043b901c8f24c8a28d040cdfba32fbe7e731cda66fdd1a03d89 -size 1375264 +oid sha256:712adafd792b4def698a85aeed9fe0665b9b92b92468b15b5479e00319293c6f +size 1464020 diff --git a/models/trees/knotwood_04.glb b/models/trees/knotwood_04.glb index 65966315..038c96b7 100644 --- a/models/trees/knotwood_04.glb +++ b/models/trees/knotwood_04.glb @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:33a8db11b3ac4562557fb23791652de44e2a0fe5b2ba50294810f33e8b3b7340 -size 1388516 +oid sha256:a49914d74f6081f82a0f602345fe5c80e0ffab2e4488c182159b6bfb24dafa5c +size 1477272 diff --git a/models/trees/knotwood_04_lod1.glb b/models/trees/knotwood_04_lod1.glb index a73a4ccf..d3ac4e4a 100644 --- a/models/trees/knotwood_04_lod1.glb +++ b/models/trees/knotwood_04_lod1.glb @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:bb1489cdcf6bda8febc57d2d3deaccc69562fd7185e4708483a3bc323779dbab -size 1363952 +oid sha256:2e0c18afeb44a027d9f1b05c4d76579cfb16dae2a0ff309bea27f02ec72d53a9 +size 1452708 diff --git a/models/trees/knotwood_04_lod2.glb b/models/trees/knotwood_04_lod2.glb index 8a9bf95c..e995a10e 100644 --- a/models/trees/knotwood_04_lod2.glb +++ b/models/trees/knotwood_04_lod2.glb @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:cd8e0087f60050cde8b3d78317d7b97f2d1c47c96222cc54f7a8d4dd9d6b569c -size 1348220 +oid sha256:d887f95ff8a906bb3e1a3be2be958a66348748e91b4b4e98040cb58a5a9b0d53 +size 1436976 diff --git a/models/trees/maple_01.glb b/models/trees/maple_01.glb index 36d48529..f8bc4f64 100644 --- a/models/trees/maple_01.glb +++ b/models/trees/maple_01.glb @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1e4fa23f9563d1880561bdc75d1860a4b3ed377d1ce4122d4686873491c652d2 +oid sha256:87c392e50f54fed971dffa1afc80366a9512ace127ccd25565dcf1c0969ebbf0 size 1312645 diff --git a/models/trees/maple_01_lod1.glb b/models/trees/maple_01_lod1.glb index 632478cf..f5f0e886 100644 --- a/models/trees/maple_01_lod1.glb +++ b/models/trees/maple_01_lod1.glb @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f44269c5dbd42807d1f88beffd881ca2219ddd29beaee626f509d59aaaba3f4b +oid sha256:142bc3861b128a9fd13cb1095f3b940db88f8fa74c90d33bdd683fcf4ba5fb5a size 1293877 diff --git a/models/trees/maple_01_lod2.glb b/models/trees/maple_01_lod2.glb index 39918b84..01ede486 100644 --- a/models/trees/maple_01_lod2.glb +++ b/models/trees/maple_01_lod2.glb @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:de043416ced3998538e24901fdfb2a124d77d066926d0cff0ace4dd2422d29b9 +oid sha256:d8c037a625c51abba9c8643aee3a59c0bbf8ef949a42f9d42aa7dc391953ee8d size 1246261 diff --git a/models/trees/maple_02.glb b/models/trees/maple_02.glb index 6ce0fdc0..3e7d94c8 100644 --- a/models/trees/maple_02.glb +++ b/models/trees/maple_02.glb @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:16729d233fd7c97891986298c9d3fabd003de8de3c41050ff950fc32a979c9c5 +oid sha256:ded2e7662df7c74e697cc85c6f303ba0179be0788ae12cae7f58a0e48251a005 size 1390621 diff --git a/models/trees/maple_02_lod1.glb b/models/trees/maple_02_lod1.glb index 4a7753c8..8fc03096 100644 --- a/models/trees/maple_02_lod1.glb +++ b/models/trees/maple_02_lod1.glb @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:0b742229f8e29a3b8e8976297264a15c21cd0c82dfb54636574f4ec1df1f5a59 +oid sha256:ce9e9afcc0c39719fc4b2ad7c1a4141a4fad64e25179e9c7fd7780c8be079f19 size 1354189 diff --git a/models/trees/maple_02_lod2.glb b/models/trees/maple_02_lod2.glb index 219ab07d..26612e8e 100644 --- a/models/trees/maple_02_lod2.glb +++ b/models/trees/maple_02_lod2.glb @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ffb9ee981f1729675d1c8f5d652a6630d169e28e38971ab42f41a016fba62d55 +oid sha256:ce0d7e4cf26b3f23ebf0d79c7618052c9db030c030ae8164739bcb060fb35274 size 1343149 diff --git a/models/trees/maple_03.glb b/models/trees/maple_03.glb index 7ee007fc..f2d46156 100644 --- a/models/trees/maple_03.glb +++ b/models/trees/maple_03.glb @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:df5809640650f217dbc0cfd121b7a4a4458b7a6744284b77f75a168df1810d22 +oid sha256:93648cf100a0c4329ab23f3e2eb88342cac7920614ec5b90637309f54f8f966c size 1381649 diff --git a/models/trees/maple_03_lod1.glb b/models/trees/maple_03_lod1.glb index 7fc9a6bf..6ccd3546 100644 --- a/models/trees/maple_03_lod1.glb +++ b/models/trees/maple_03_lod1.glb @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f1b3f92f038ae8c27ce47a2361135ceb5e35758441715a45202737c2695e7d1b +oid sha256:21e1328ef5b9d5ab4a37a0440735296cf1482f2c3ea54b55c9467bb903531b5a size 1360121 diff --git a/models/trees/maple_03_lod2.glb b/models/trees/maple_03_lod2.glb index 636e4aaf..7e38cf90 100644 --- a/models/trees/maple_03_lod2.glb +++ b/models/trees/maple_03_lod2.glb @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e51754572c96ffdc6a3d187c113af625b3822aaf75fcb6038d4e848ee1def289 +oid sha256:5ffbb8fbfce8cfe1a8a33b28cc7bd9b193213637fbc6f581d71b7ce49512bf24 size 1344941 From b8dc81c9deb8a6b11f0269fe44833ec9455ec01f Mon Sep 17 00:00:00 2001 From: Ting Chien Meng Date: Wed, 25 Mar 2026 13:36:29 +0800 Subject: [PATCH 18/23] fix: brighten and warm terrain biome textures Increase brightness and add warm tint to grass, dirt, and cliff textures for a more vibrant, stylized look that better matches the toon-shaded vegetation and water. Made-with: Cursor --- textures/terrain-biomes/cliff.png | 4 ++-- textures/terrain-biomes/dirt.png | 4 ++-- textures/terrain-biomes/grass.png | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/textures/terrain-biomes/cliff.png b/textures/terrain-biomes/cliff.png index 64a8b9c1..590b12ac 100644 --- a/textures/terrain-biomes/cliff.png +++ b/textures/terrain-biomes/cliff.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6355bb637c5215f2f0e6d8a42a6081aeaf7daace8fa757138371ae5ce48ee457 -size 526379 +oid sha256:f6fa562ee145c225cbafbe112d1d8ab37f5af9d4c2a7f0a1620df5bcd27a258a +size 652000 diff --git a/textures/terrain-biomes/dirt.png b/textures/terrain-biomes/dirt.png index 30c7e262..8a7d1762 100644 --- a/textures/terrain-biomes/dirt.png +++ b/textures/terrain-biomes/dirt.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8fdc43b1347dbc5fdd3d3e84fa4e8db7468babeb9547c87ee46e0bd399941326 -size 933569 +oid sha256:7a484e1c385c6f01d147553a7c0cabcbc2bc18cc894e9c951d40df54d83ca8b0 +size 950938 diff --git a/textures/terrain-biomes/grass.png b/textures/terrain-biomes/grass.png index d3cdec6a..76299ce3 100644 --- a/textures/terrain-biomes/grass.png +++ b/textures/terrain-biomes/grass.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:085d6dc1666032ce1ad9fe405376ac48b9bf51c3f728af8ed132acdfa5650a60 -size 1593276 +oid sha256:6e03ae927bb38d38b1bcce49f32d33879fc9a0ea108d3e9794880dacb7be8372 +size 1528129 From 3ab0c3d6c0628bd9e3329b005122db643ed00a88 Mon Sep 17 00:00:00 2001 From: Ting Chien Meng Date: Wed, 25 Mar 2026 14:18:24 +0800 Subject: [PATCH 19/23] fix: replace pine models with corrected vertex colors and textures Rebuild pine_01/02/03 (+ LOD1) from new geometry that has correct vertex-color AO and bark/leaf mask, re-applying original textures and normal maps. Fix pine_01 primitive order to match other variants (bark=Prim[0], leaves=Prim[1]) for batch instancer consistency. Made-with: Cursor --- models/trees/pine_01.glb | 4 ++-- models/trees/pine_01_lod1.glb | 4 ++-- models/trees/pine_02.glb | 4 ++-- models/trees/pine_02_lod1.glb | 4 ++-- models/trees/pine_03.glb | 4 ++-- models/trees/pine_03_lod1.glb | 4 ++-- 6 files changed, 12 insertions(+), 12 deletions(-) diff --git a/models/trees/pine_01.glb b/models/trees/pine_01.glb index b7900672..aa903915 100644 --- a/models/trees/pine_01.glb +++ b/models/trees/pine_01.glb @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:4477a92a13f0ceee0f3118c31bd10b1fa8f1b6511978f4ebaf9aa6232592ea53 -size 1376844 +oid sha256:58ea4306e4b6435d2cf39c79c542c89551772b539fbc4fd4f0ce70941acab5ab +size 1795464 diff --git a/models/trees/pine_01_lod1.glb b/models/trees/pine_01_lod1.glb index 9e8ce521..1e30e3b6 100644 --- a/models/trees/pine_01_lod1.glb +++ b/models/trees/pine_01_lod1.glb @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e1e5ad0c78f693ce801405004aa639e7c7b6631311b1bf910da9b55851ba5d8d -size 1239944 +oid sha256:6cb689e461e93001a05419a2f45172401382698908e08ee889e8ff91e9a85cff +size 1526076 diff --git a/models/trees/pine_02.glb b/models/trees/pine_02.glb index 0e2048e1..f7601f14 100644 --- a/models/trees/pine_02.glb +++ b/models/trees/pine_02.glb @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f71eb1ceed0e31a3bed12bacd685d6d8708646cd14ab946ea2fc7e71978c89bc -size 1497000 +oid sha256:8f0843c42aa0a6a29a90a0b5863ba2c9c600d060d4d13c55f65375605f31dd3a +size 2031908 diff --git a/models/trees/pine_02_lod1.glb b/models/trees/pine_02_lod1.glb index 0cbf44d3..e5154b40 100644 --- a/models/trees/pine_02_lod1.glb +++ b/models/trees/pine_02_lod1.glb @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a88675c853a6aa0d5dc8302a8ffb86697e58c5e5e36d3e02313a2a641bb584e2 -size 1389676 +oid sha256:85d33176af6da6954f6f8031300f4fc3c7b5741ba78b3da8e6172be1f11a39cc +size 1820724 diff --git a/models/trees/pine_03.glb b/models/trees/pine_03.glb index ddba4a6e..d8b88673 100644 --- a/models/trees/pine_03.glb +++ b/models/trees/pine_03.glb @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e750433a2136cf27151c0e5afa6f3e781bf9167cb86ede4849c38c83011de7f4 -size 1612508 +oid sha256:5628ae3b542ac36d42813144b9788d8d4367c21c84757b4c5811012693d007b0 +size 2259192 diff --git a/models/trees/pine_03_lod1.glb b/models/trees/pine_03_lod1.glb index 70d69db0..9d3c287d 100644 --- a/models/trees/pine_03_lod1.glb +++ b/models/trees/pine_03_lod1.glb @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a1b316e75ac2f7aecf4a7731f06cf0ee14031bb4d9ed19c18d331b4b92fdd911 -size 1464452 +oid sha256:b67bb75f300e09a9ee74441a8adefe9ea3ef7e217026bcfdd83c582af7955044 +size 1967852 From 0c2d1e257aa6a74fb3f713af70cf971212419477 Mon Sep 17 00:00:00 2001 From: Ting Chien Meng Date: Wed, 25 Mar 2026 17:40:17 +0800 Subject: [PATCH 20/23] feat: add dead pine tree models and increase terrain slope limits - Add pine_dead_01/02/03 models with LOD variants for tundra biome - Replace tree_windPine with tree_pineDead using new model variants - Remove fir tree entry, adjust oak/birch/dead tree scales - Increase maxSlope for all biomes to improve terrain traversability Made-with: Cursor --- manifests/biomes.json | 18 +++++----- manifests/gathering/woodcutting.json | 51 +++++++--------------------- manifests/model-bounds.json | 2 +- models/trees/pine_dead_01.glb | 3 ++ models/trees/pine_dead_01_lod1.glb | 3 ++ models/trees/pine_dead_01_lod2.glb | 3 ++ models/trees/pine_dead_02.glb | 3 ++ models/trees/pine_dead_02_lod1.glb | 3 ++ models/trees/pine_dead_02_lod2.glb | 3 ++ models/trees/pine_dead_03.glb | 3 ++ models/trees/pine_dead_03_lod1.glb | 3 ++ models/trees/pine_dead_03_lod2.glb | 3 ++ 12 files changed, 49 insertions(+), 49 deletions(-) create mode 100644 models/trees/pine_dead_01.glb create mode 100644 models/trees/pine_dead_01_lod1.glb create mode 100644 models/trees/pine_dead_01_lod2.glb create mode 100644 models/trees/pine_dead_02.glb create mode 100644 models/trees/pine_dead_02_lod1.glb create mode 100644 models/trees/pine_dead_02_lod2.glb create mode 100644 models/trees/pine_dead_03.glb create mode 100644 models/trees/pine_dead_03_lod1.glb create mode 100644 models/trees/pine_dead_03_lod2.glb diff --git a/manifests/biomes.json b/manifests/biomes.json index cb16f4c8..fd6630ac 100644 --- a/manifests/biomes.json +++ b/manifests/biomes.json @@ -24,7 +24,7 @@ ], "terrainMultiplier": 1, "waterLevel": 0, - "maxSlope": 0.8, + "maxSlope": 1.5, "mobTypes": [], "difficulty": 0, "baseHeight": 0, @@ -152,7 +152,7 @@ ], "terrainMultiplier": 1, "waterLevel": 0, - "maxSlope": 0.8, + "maxSlope": 1.5, "mobTypes": [ "goblin", "bandit" @@ -241,7 +241,7 @@ ], "terrainMultiplier": 1, "waterLevel": 0, - "maxSlope": 0.8, + "maxSlope": 1.5, "mobTypes": [], "difficulty": 0, "baseHeight": 0, @@ -355,7 +355,7 @@ ], "terrainMultiplier": 1, "waterLevel": 0, - "maxSlope": 0.9, + "maxSlope": 2.0, "mobTypes": [], "difficulty": 2, "baseHeight": 0.5, @@ -472,7 +472,7 @@ ], "terrainMultiplier": 1, "waterLevel": 0, - "maxSlope": 0.8, + "maxSlope": 1.5, "mobTypes": [], "difficulty": 3, "baseHeight": 0.3, @@ -558,7 +558,7 @@ ], "terrainMultiplier": 1, "waterLevel": 0, - "maxSlope": 0.6, + "maxSlope": 1.2, "mobTypes": [ "goblin", "bandit", @@ -656,7 +656,7 @@ ], "terrainMultiplier": 1, "waterLevel": 0, - "maxSlope": 0.8, + "maxSlope": 1.5, "mobTypes": [], "difficulty": 0, "baseHeight": 0, @@ -725,7 +725,7 @@ ], "terrainMultiplier": 1, "waterLevel": 0, - "maxSlope": 0.5, + "maxSlope": 1.0, "mobTypes": [ "bandit" ], @@ -814,7 +814,7 @@ ], "terrainMultiplier": 1, "waterLevel": 0, - "maxSlope": 2.5, + "maxSlope": 3.0, "mobTypes": [ "goblin", "bandit", diff --git a/manifests/gathering/woodcutting.json b/manifests/gathering/woodcutting.json index 6684ab46..054b3e10 100644 --- a/manifests/gathering/woodcutting.json +++ b/manifests/gathering/woodcutting.json @@ -2,38 +2,6 @@ "$schema": "../schemas/gathering-woodcutting.schema.json", "_comment": "Woodcutting resource data. Trees and their log yields. OSRS-accurate levels and XP.", "trees": [ - { - "id": "tree_fir", - "name": "Fir Tree", - "type": "tree", - "examine": "A tall fir tree with strong, durable wood.", - "modelPath": null, - "modelVariants": [ - "asset://models/trees/fir_01.glb", - "asset://models/trees/fir_02.glb", - "asset://models/trees/fir_03.glb", - "asset://models/trees/fir_04.glb" - ], - "depletedModelPath": "asset://models/trees/wood-tree-stump/wood-tree-stump.glb", - "scale": 0.01, - "depletedScale": 0.1, - "harvestSkill": "woodcutting", - "toolRequired": "bronze_hatchet", - "levelRequired": 1, - "baseCycleTicks": 4, - "depleteChance": 0.125, - "respawnTicks": 80, - "harvestYield": [ - { - "itemId": "logs", - "itemName": "Logs", - "quantity": 1, - "chance": 1.0, - "xpAmount": 25, - "stackable": true - } - ] - }, { "id": "tree_pine", "name": "Pine Tree", @@ -78,7 +46,7 @@ "asset://models/trees/oak_04.glb" ], "depletedModelPath": "asset://models/trees/wood-tree-stump/wood-tree-stump.glb", - "scale": 0.012, + "scale": 0.006, "depletedScale": 0.1, "harvestSkill": "woodcutting", "toolRequired": "bronze_hatchet", @@ -111,7 +79,7 @@ "asset://models/trees/birch_05.glb" ], "depletedModelPath": "asset://models/trees/wood-tree-stump/wood-tree-stump.glb", - "scale": 0.008, + "scale": 0.004, "depletedScale": 0.1, "harvestSkill": "woodcutting", "toolRequired": "bronze_hatchet", @@ -241,7 +209,7 @@ "asset://models/trees/dead_05.glb" ], "depletedModelPath": "asset://models/trees/wood-tree-stump/wood-tree-stump.glb", - "scale": 0.015, + "scale": 0.006, "depletedScale": 0.1, "harvestSkill": "woodcutting", "toolRequired": "bronze_hatchet", @@ -293,11 +261,16 @@ ] }, { - "id": "tree_windPine", - "name": "Wind Pine", + "id": "tree_pineDead", + "name": "Dead Pine", "type": "tree", - "examine": "A wind-battered pine, bent and stripped by harsh tundra gales.", - "modelPath": "asset://models/trees/dead_06.glb", + "examine": "A weathered pine, stripped bare by harsh tundra winds.", + "modelPath": null, + "modelVariants": [ + "asset://models/trees/pine_dead_01.glb", + "asset://models/trees/pine_dead_02.glb", + "asset://models/trees/pine_dead_03.glb" + ], "depletedModelPath": "asset://models/trees/wood-tree-stump/wood-tree-stump.glb", "scale": 0.015, "depletedScale": 0.1, diff --git a/manifests/model-bounds.json b/manifests/model-bounds.json index 4c083bcd..d4d77826 100644 --- a/manifests/model-bounds.json +++ b/manifests/model-bounds.json @@ -1,5 +1,5 @@ { - "generatedAt": "2026-03-19T09:13:14.101Z", + "generatedAt": "2026-03-25T07:27:57.430Z", "tileSize": 1, "models": [ { diff --git a/models/trees/pine_dead_01.glb b/models/trees/pine_dead_01.glb new file mode 100644 index 00000000..6f9b3807 --- /dev/null +++ b/models/trees/pine_dead_01.glb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:141c8f5e65e7cc41c83c3b4d92f4bffd3112252910997d8678cd344130fb0211 +size 1182616 diff --git a/models/trees/pine_dead_01_lod1.glb b/models/trees/pine_dead_01_lod1.glb new file mode 100644 index 00000000..430197bb --- /dev/null +++ b/models/trees/pine_dead_01_lod1.glb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:859579d399e28e47db80a1ff7a6c24870bcbda049cb9ddd0e97aafb19f2572da +size 1026524 diff --git a/models/trees/pine_dead_01_lod2.glb b/models/trees/pine_dead_01_lod2.glb new file mode 100644 index 00000000..430197bb --- /dev/null +++ b/models/trees/pine_dead_01_lod2.glb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:859579d399e28e47db80a1ff7a6c24870bcbda049cb9ddd0e97aafb19f2572da +size 1026524 diff --git a/models/trees/pine_dead_02.glb b/models/trees/pine_dead_02.glb new file mode 100644 index 00000000..0c653abb --- /dev/null +++ b/models/trees/pine_dead_02.glb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2b285b011cdb2eda591154ebec7cac2756c8d9b9f47065eeb4a1899a4dc12e7b +size 1263024 diff --git a/models/trees/pine_dead_02_lod1.glb b/models/trees/pine_dead_02_lod1.glb new file mode 100644 index 00000000..0c653abb --- /dev/null +++ b/models/trees/pine_dead_02_lod1.glb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2b285b011cdb2eda591154ebec7cac2756c8d9b9f47065eeb4a1899a4dc12e7b +size 1263024 diff --git a/models/trees/pine_dead_02_lod2.glb b/models/trees/pine_dead_02_lod2.glb new file mode 100644 index 00000000..0c653abb --- /dev/null +++ b/models/trees/pine_dead_02_lod2.glb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2b285b011cdb2eda591154ebec7cac2756c8d9b9f47065eeb4a1899a4dc12e7b +size 1263024 diff --git a/models/trees/pine_dead_03.glb b/models/trees/pine_dead_03.glb new file mode 100644 index 00000000..8f3c0a41 --- /dev/null +++ b/models/trees/pine_dead_03.glb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7834dd8d501695eb2b84bad2ec077b2f64e7f964e88b0d570e9b55910c5f5568 +size 1385188 diff --git a/models/trees/pine_dead_03_lod1.glb b/models/trees/pine_dead_03_lod1.glb new file mode 100644 index 00000000..8f3c0a41 --- /dev/null +++ b/models/trees/pine_dead_03_lod1.glb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7834dd8d501695eb2b84bad2ec077b2f64e7f964e88b0d570e9b55910c5f5568 +size 1385188 diff --git a/models/trees/pine_dead_03_lod2.glb b/models/trees/pine_dead_03_lod2.glb new file mode 100644 index 00000000..8f3c0a41 --- /dev/null +++ b/models/trees/pine_dead_03_lod2.glb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7834dd8d501695eb2b84bad2ec077b2f64e7f964e88b0d570e9b55910c5f5568 +size 1385188 From b35fe6e131672b586a63f4dabf35af1f338424cd Mon Sep 17 00:00:00 2001 From: Ting Chien Meng Date: Wed, 25 Mar 2026 18:52:07 +0800 Subject: [PATCH 21/23] feat: add snow pine tree models and woodcutting manifest entry Add 6 pine_snow GLB models (2 variants + LODs) with vertex-color snow masks (R=snow, G=AO) and add tree_pineSnow to woodcutting.json. Made-with: Cursor --- manifests/gathering/woodcutting.json | 30 ++++++++++++++++++++++++++++ manifests/model-bounds.json | 2 +- models/trees/pine_snow_01.glb | 3 +++ models/trees/pine_snow_01_lod1.glb | 3 +++ models/trees/pine_snow_01_lod2.glb | 3 +++ models/trees/pine_snow_02.glb | 3 +++ models/trees/pine_snow_02_lod1.glb | 3 +++ models/trees/pine_snow_02_lod2.glb | 3 +++ 8 files changed, 49 insertions(+), 1 deletion(-) create mode 100644 models/trees/pine_snow_01.glb create mode 100644 models/trees/pine_snow_01_lod1.glb create mode 100644 models/trees/pine_snow_01_lod2.glb create mode 100644 models/trees/pine_snow_02.glb create mode 100644 models/trees/pine_snow_02_lod1.glb create mode 100644 models/trees/pine_snow_02_lod2.glb diff --git a/manifests/gathering/woodcutting.json b/manifests/gathering/woodcutting.json index 054b3e10..3144d2b3 100644 --- a/manifests/gathering/woodcutting.json +++ b/manifests/gathering/woodcutting.json @@ -290,6 +290,36 @@ "stackable": true } ] + }, + { + "id": "tree_pineSnow", + "name": "Snow Pine", + "type": "tree", + "examine": "A hardy pine capped with heavy snow, standing defiant against the tundra cold.", + "modelPath": null, + "modelVariants": [ + "asset://models/trees/pine_snow_01.glb", + "asset://models/trees/pine_snow_02.glb" + ], + "depletedModelPath": "asset://models/trees/wood-tree-stump/wood-tree-stump.glb", + "scale": 0.015, + "depletedScale": 0.1, + "harvestSkill": "woodcutting", + "toolRequired": "bronze_hatchet", + "levelRequired": 1, + "baseCycleTicks": 4, + "depleteChance": 0.125, + "respawnTicks": 80, + "harvestYield": [ + { + "itemId": "logs", + "itemName": "Logs", + "quantity": 1, + "chance": 1.0, + "xpAmount": 25, + "stackable": true + } + ] } ] } diff --git a/manifests/model-bounds.json b/manifests/model-bounds.json index d4d77826..60921c51 100644 --- a/manifests/model-bounds.json +++ b/manifests/model-bounds.json @@ -1,5 +1,5 @@ { - "generatedAt": "2026-03-25T07:27:57.430Z", + "generatedAt": "2026-03-25T10:29:20.993Z", "tileSize": 1, "models": [ { diff --git a/models/trees/pine_snow_01.glb b/models/trees/pine_snow_01.glb new file mode 100644 index 00000000..1912afb6 --- /dev/null +++ b/models/trees/pine_snow_01.glb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:126a235a54b7d202eafab8b8090ca38ed2043a47f10e58e3236a26cd5cb8b0f9 +size 4783068 diff --git a/models/trees/pine_snow_01_lod1.glb b/models/trees/pine_snow_01_lod1.glb new file mode 100644 index 00000000..7d361741 --- /dev/null +++ b/models/trees/pine_snow_01_lod1.glb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8e76e6a5542fadd831a38e08cd8ff542cbbc059f4e609f4cd380a837e89187f8 +size 3831408 diff --git a/models/trees/pine_snow_01_lod2.glb b/models/trees/pine_snow_01_lod2.glb new file mode 100644 index 00000000..7d361741 --- /dev/null +++ b/models/trees/pine_snow_01_lod2.glb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8e76e6a5542fadd831a38e08cd8ff542cbbc059f4e609f4cd380a837e89187f8 +size 3831408 diff --git a/models/trees/pine_snow_02.glb b/models/trees/pine_snow_02.glb new file mode 100644 index 00000000..3c3dc395 --- /dev/null +++ b/models/trees/pine_snow_02.glb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7475e5faab4cf438da7e878e63e7d6cc8b801c9afb0169ab71bb90e3ffbf2e0d +size 2932164 diff --git a/models/trees/pine_snow_02_lod1.glb b/models/trees/pine_snow_02_lod1.glb new file mode 100644 index 00000000..60959a7d --- /dev/null +++ b/models/trees/pine_snow_02_lod1.glb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cff49291c7290480ff6c0e1850db9d4156d16c86c24b3739465a5814b699fc7d +size 2932164 diff --git a/models/trees/pine_snow_02_lod2.glb b/models/trees/pine_snow_02_lod2.glb new file mode 100644 index 00000000..3c3dc395 --- /dev/null +++ b/models/trees/pine_snow_02_lod2.glb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7475e5faab4cf438da7e878e63e7d6cc8b801c9afb0169ab71bb90e3ffbf2e0d +size 2932164 From 350864966464bbfd0cbca630506872c0e5e4cfbe Mon Sep 17 00:00:00 2001 From: Ting Chien Meng Date: Thu, 26 Mar 2026 00:47:27 +0800 Subject: [PATCH 22/23] fix: correct world area bounds for home and arena icons Update central_haven bounds to match the actual starter area position and duel_arena bounds to match arena-layout.ts coordinates so floating zone icons appear at the correct world positions. Made-with: Cursor --- manifests/world-areas.json | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/manifests/world-areas.json b/manifests/world-areas.json index d5e3507e..0b77dbb9 100644 --- a/manifests/world-areas.json +++ b/manifests/world-areas.json @@ -6,10 +6,10 @@ "description": "The central hub of Hyperscape, a peaceful sanctuary protected by ancient wards.", "difficultyLevel": 0, "bounds": { - "minX": -150, - "maxX": 150, - "minZ": -150, - "maxZ": 150 + "minX": 294, + "maxX": 594, + "minZ": 180, + "maxZ": 480 }, "biomeType": "starter_town", "safeZone": true, @@ -330,10 +330,10 @@ "description": "A grand arena where warriors settle disputes through honorable combat. Challenge other players to duels with agreed-upon rules and stakes.", "difficultyLevel": 0, "bounds": { - "minX": 36, - "maxX": 140, - "minZ": 85, - "maxZ": 225 + "minX": 316, + "maxX": 420, + "minZ": 349, + "maxZ": 489 }, "biomeType": "desert", "safeZone": true, From 4e275f6383a09eb113d17348a8901cea99eddeb4 Mon Sep 17 00:00:00 2001 From: Ting Chien Meng Date: Sat, 28 Mar 2026 11:32:16 +0800 Subject: [PATCH 23/23] fix: increase dead tree scale from 0.006 to 0.0075 Made-with: Cursor --- manifests/gathering/woodcutting.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manifests/gathering/woodcutting.json b/manifests/gathering/woodcutting.json index 3144d2b3..76f64440 100644 --- a/manifests/gathering/woodcutting.json +++ b/manifests/gathering/woodcutting.json @@ -209,7 +209,7 @@ "asset://models/trees/dead_05.glb" ], "depletedModelPath": "asset://models/trees/wood-tree-stump/wood-tree-stump.glb", - "scale": 0.006, + "scale": 0.0075, "depletedScale": 0.1, "harvestSkill": "woodcutting", "toolRequired": "bronze_hatchet",