WheteThunger / MonumentAddons

Add entities, spawn points and more to monuments
https://umod.org/plugins/monument-addons
MIT License
5 stars 9 forks source link

Add profile for underwater lab garden #11

Closed WheteThunger closed 2 years ago

WheteThunger commented 2 years ago

Add a new example profile for the underwater lab module that has what looks like a garden. This profile should add spawn points for collectible pickup plants, like hemp, corn, etc.

m-hynek commented 2 years ago

Only module with garden look i found is module_900x900_3way , but planters there are occupied with static plants. Did you have specific idea how this profile would work? I was thinking to add more planters and create spawn points on them, but players then could plant seeds there. image image

WheteThunger commented 2 years ago

Yep, that's the module.

As for how this would work, I was originally playing around with placing spawn points in the exact spot of the static plants, though using the pickup variants. I'm not sure if it will be possible to perfectly align them, but a combination of Telekinesis plus #8 should make it achievable to perform the alignment relatively quickly.

m-hynek commented 2 years ago

Can you please test attached profile and judge how it looks? Dead plant models are quite different than collectable ones, so it looks weird in most cases.

But some time ago I had idea of automatic gardens in safezones:

I ran into few walls and eventuely gave up. This whole logic is certainly out of MA scope, but I tried to create simple version in MA:

But sprinker spawned by MA wont actually splash water, only animation plays. It has some crazy water-locating code. But its just side note. I guess it can be fixed by #27

{
  "Name": "UnderwaterLabGarden",
  "Author": "marcuzz",
  "SchemaVersion": 2.0,
  "MonumentData": {
    "module_900x900_3way": {
      "SpawnGroups": [
        {
          "Id": "f4354dd2-d818-4899-b261-0b0f6bb73f26",
          "Name": "berry",
          "MaxPopulation": 2,
          "SpawnPerTickMin": 2,
          "SpawnPerTickMax": 2,
          "RespawnDelayMin": 1500.0,
          "RespawnDelayMax": 2100.0,
          "InitialSpawn": true,
          "Prefabs": [
            {
              "PrefabName": "assets/bundled/prefabs/autospawn/collectable/berry-blue/berry-blue-collectable.prefab",
              "Weight": 100
            },
            {
              "PrefabName": "assets/bundled/prefabs/autospawn/collectable/berry-red/berry-red-collectable.prefab",
              "Weight": 100
            },
            {
              "PrefabName": "assets/bundled/prefabs/autospawn/collectable/berry-green/berry-green-collectable.prefab",
              "Weight": 100
            },
            {
              "PrefabName": "assets/bundled/prefabs/autospawn/collectable/berry-white/berry-white-collectable.prefab",
              "Weight": 100
            },
            {
              "PrefabName": "assets/bundled/prefabs/autospawn/collectable/berry-yellow/berry-yellow-collectable.prefab",
              "Weight": 100
            }
          ],
          "SpawnPoints": [
            {
              "Id": "61ee2326-1ee6-4a1f-986b-4ec5a56771b7",
              "Position": {
                "x": 0.813361943,
                "y": -0.880703,
                "z": 1.47177744
              },
              "RotationAngles": {
                "x": 0.0,
                "y": 268.0721,
                "z": 0.0
              },
              "Exclusive": true
            },
            {
              "Id": "0d730f78-425d-4056-bd6f-b3d7d7180f8d",
              "Position": {
                "x": 2.173657,
                "y": -0.8112984,
                "z": 1.52887869
              },
              "RotationAngles": {
                "x": 359.599365,
                "y": 231.114136,
                "z": 359.428833
              },
              "Exclusive": true
            }
          ]
        },
        {
          "Id": "ee90886d-31e0-4042-8651-17cb3ddf99bc",
          "Name": "hemp",
          "MaxPopulation": 3,
          "SpawnPerTickMin": 3,
          "SpawnPerTickMax": 3,
          "RespawnDelayMin": 1500.0,
          "RespawnDelayMax": 2100.0,
          "InitialSpawn": true,
          "Prefabs": [
            {
              "PrefabName": "assets/bundled/prefabs/autospawn/collectable/hemp/hemp-collectable.prefab",
              "Weight": 100
            }
          ],
          "SpawnPoints": [
            {
              "Id": "f3aee6f2-8286-4702-93df-4fb5da32de4b",
              "Position": {
                "x": 2.022558,
                "y": -1.06451035,
                "z": 0.8313635
              },
              "RotationAngles": {
                "x": 0.248535112,
                "y": 1.92444921,
                "z": 356.4184
              },
              "Exclusive": true
            },
            {
              "Id": "ee2c6b79-60ee-48ae-91b7-e9909d97243c",
              "Position": {
                "x": 0.828565061,
                "y": -1.1317215,
                "z": 0.8554653
              },
              "RotationAngles": {
                "x": 0.0,
                "y": 280.027832,
                "z": 0.0
              },
              "Exclusive": true
            },
            {
              "Id": "29fa49a0-5230-458b-93ea-9ccb13e9664d",
              "Position": {
                "x": 1.437428,
                "y": -0.9927559,
                "z": 0.7525219
              },
              "RotationAngles": {
                "x": 0.0,
                "y": 189.425156,
                "z": 0.0
              },
              "Exclusive": true
            }
          ]
        },
        {
          "Id": "596e2388-c9c6-4afc-bd8c-541eba3fd3d2",
          "Name": "potato",
          "MaxPopulation": 3,
          "SpawnPerTickMin": 3,
          "SpawnPerTickMax": 3,
          "RespawnDelayMin": 1500.0,
          "RespawnDelayMax": 2100.0,
          "InitialSpawn": true,
          "Prefabs": [
            {
              "PrefabName": "assets/bundled/prefabs/autospawn/collectable/potato/potato-collectable.prefab",
              "Weight": 100
            }
          ],
          "SpawnPoints": [
            {
              "Id": "3b0ee71d-978c-4427-9c17-aad53c2e98b4",
              "Position": {
                "x": 1.98762071,
                "y": -0.8150101,
                "z": 2.29379487
              },
              "RotationAngles": {
                "x": 0.0,
                "y": 97.53551,
                "z": 0.0
              },
              "Exclusive": true
            },
            {
              "Id": "064a0eab-332c-4abb-9834-8355c2bb4e36",
              "Position": {
                "x": 0.765044,
                "y": -0.91259,
                "z": 2.20967364
              },
              "RotationAngles": {
                "x": 0.0,
                "y": 359.36557,
                "z": 0.0
              },
              "Exclusive": true
            },
            {
              "Id": "cb64b50b-318c-4d2e-9e3c-58c671ffbeae",
              "Position": {
                "x": 1.38959968,
                "y": -0.913063049,
                "z": 2.21605921
              },
              "RotationAngles": {
                "x": 0.0,
                "y": 359.36557,
                "z": 0.0
              },
              "Exclusive": true
            }
          ]
        },
        {
          "Id": "cb76e47e-47e9-4df4-bda9-2f2c6cf773d9",
          "Name": "corn",
          "MaxPopulation": 6,
          "SpawnPerTickMin": 6,
          "SpawnPerTickMax": 6,
          "RespawnDelayMin": 1500.0,
          "RespawnDelayMax": 2100.0,
          "InitialSpawn": true,
          "Prefabs": [
            {
              "PrefabName": "assets/bundled/prefabs/autospawn/collectable/corn/corn-collectable.prefab",
              "Weight": 100
            }
          ],
          "SpawnPoints": [
            {
              "Id": "ddb5bb27-a95c-46dc-9c45-3478d2b57354",
              "Position": {
                "x": 2.83588362,
                "y": -0.9739685,
                "z": -2.0670023
              },
              "RotationAngles": {
                "x": 0.0,
                "y": 315.015747,
                "z": 0.0
              },
              "Exclusive": true
            },
            {
              "Id": "6a90743f-a5ff-4e7c-a776-7b17c5981c47",
              "Position": {
                "x": 2.18144155,
                "y": -0.900367737,
                "z": -2.11718178
              },
              "RotationAngles": {
                "x": 0.0,
                "y": 180.15274,
                "z": 0.0
              },
              "Exclusive": true
            },
            {
              "Id": "e2a8c2c3-21f8-4a98-8813-1dcde1b382f1",
              "Position": {
                "x": 1.57469654,
                "y": -0.900367737,
                "z": -2.11576581
              },
              "RotationAngles": {
                "x": 0.0,
                "y": 177.621521,
                "z": 0.0
              },
              "Exclusive": true
            },
            {
              "Id": "7bc74be2-8736-498c-8af8-a11acd21490f",
              "Position": {
                "x": -1.59252214,
                "y": -0.900367737,
                "z": -2.13239861
              },
              "RotationAngles": {
                "x": 0.0,
                "y": 178.746521,
                "z": 0.0
              },
              "Exclusive": true
            },
            {
              "Id": "633e8f43-7f0b-4592-96a8-9893081c22d7",
              "Position": {
                "x": -2.194746,
                "y": -0.900367737,
                "z": -2.12863684
              },
              "RotationAngles": {
                "x": 0.0,
                "y": 179.871521,
                "z": 0.0
              },
              "Exclusive": true
            },
            {
              "Id": "497cbe82-b77b-43dd-91e5-e119f71c174d",
              "Position": {
                "x": -2.832687,
                "y": -0.900367737,
                "z": -2.1300168
              },
              "RotationAngles": {
                "x": 0.0,
                "y": 179.252777,
                "z": 0.0
              },
              "Exclusive": true
            }
          ]
        }
      ]
    }
  }
}
WheteThunger commented 2 years ago

I tried the profile, and I agree that it's not great. Closing this since it seems not feasible. Thanks for taking the time.

I like your idea of fully automated gardens. That could be created as a separate plugin, Monument Gardens, which could register custom addon(s) #10 that perform all that specific logic.

For Monument Addons, I agree it would be cool to achieve the planters, lights, heat, water. That is feasible because players are allowed to plant seeds at monuments. As you said, we can probably fix the water issue in #27.