diff --git a/macrovision.html b/macrovision.html
index 25b5f1fe..e2d3f3ac 100644
--- a/macrovision.html
+++ b/macrovision.html
@@ -23,6 +23,7 @@
+
diff --git a/macrovision.js b/macrovision.js
index 4316626e..05d21a3d 100644
--- a/macrovision.js
+++ b/macrovision.js
@@ -5460,6 +5460,7 @@ function prepareEntities() {
availableEntities["landmarks"] = makeLandmarks();
availableEntities["naturals"] = makeNaturals();
availableEntities["objects"] = makeObjects();
+ availableEntities["plants"] = makePlants();
availableEntities["pokemon"] = makePokemon();
availableEntities["real-buildings"] = makeRealBuildings();
availableEntities["real-terrain"] = makeRealTerrains();
diff --git a/media/attribution.js b/media/attribution.js
index acb6daba..d563799e 100644
--- a/media/attribution.js
+++ b/media/attribution.js
@@ -22879,7 +22879,7 @@ const attributionData = {
]
},
{
- prefix: "./media/food/trees/",
+ prefix: "./media/plants/trees/",
files: [
{ name: "sycamore-tree.svg", source: "https://www.dimensions.guide/element/sycamore-tree" },
{ name: "pine-tree.svg", source: "https://www.dimensions.guide/element/pine-trees" },
@@ -23206,9 +23206,19 @@ const attributionData = {
]
},
{
- prefix: "./media/food/plants/",
+ prefix: "./media/plants/Grass/",
files: [
- { name: "grass.svg", source: "https://www.freepik.com/free-vector/grass-border-silhouette-realistic-design_4904217.htm#page=1&query=grass%20silhouette&position=0" }
+ { name: "Short Blades-Front.svg", source: null },
+ { name: "Tall Blades-Front.svg", source: null },
+ ],
+ authors: [
+ "kerneldecoy"
+ ]
+ },
+ {
+ prefix: "./media/plants/Grass/",
+ files: [
+ { name: "Lawn-Front.svg", source: "https://www.freepik.com/free-vector/grass-border-silhouette-realistic-design_4904217.htm#page=1&query=grass%20silhouette&position=0" }
],
authors: [
"pikisuperstar"
diff --git a/media/food/plants/grass.svg b/media/plants/grass/Lawn-Front.svg
similarity index 100%
rename from media/food/plants/grass.svg
rename to media/plants/grass/Lawn-Front.svg
diff --git a/media/plants/grass/Short Blades-Front.svg b/media/plants/grass/Short Blades-Front.svg
new file mode 100644
index 00000000..e083735e
--- /dev/null
+++ b/media/plants/grass/Short Blades-Front.svg
@@ -0,0 +1,438 @@
+
+
+
diff --git a/media/plants/grass/Tall Blades-Front.svg b/media/plants/grass/Tall Blades-Front.svg
new file mode 100644
index 00000000..ccb6a558
--- /dev/null
+++ b/media/plants/grass/Tall Blades-Front.svg
@@ -0,0 +1,342 @@
+
+
+
diff --git a/media/food/trees/palm-tree.svg b/media/plants/trees/palm-tree.svg
similarity index 100%
rename from media/food/trees/palm-tree.svg
rename to media/plants/trees/palm-tree.svg
diff --git a/media/food/trees/pine-tree.svg b/media/plants/trees/pine-tree.svg
similarity index 100%
rename from media/food/trees/pine-tree.svg
rename to media/plants/trees/pine-tree.svg
diff --git a/media/food/trees/sycamore-tree.svg b/media/plants/trees/sycamore-tree.svg
similarity index 100%
rename from media/food/trees/sycamore-tree.svg
rename to media/plants/trees/sycamore-tree.svg
diff --git a/presets/plants.js b/presets/plants.js
new file mode 100644
index 00000000..4ca1709a
--- /dev/null
+++ b/presets/plants.js
@@ -0,0 +1,50 @@
+function makePlants() {
+ const results = [];
+
+ results.push(
+ makeHeight(
+ [
+ ["sycamore-tree", 35, "meters"],
+ ["pine-tree", 43, "meters"],
+ ["palm-tree", 25, "meters"],
+ ],
+ "Trees",
+ "",
+ "plants"
+ )
+ );
+
+ results.push(
+ makeModel({
+ name: "Grass",
+ kind: "plants",
+ forms: [
+ {
+ name: "Short Blades",
+ views: [
+ { name: "Front", height: 0.06 },
+ ],
+ },
+ {
+ name: "Tall Blades",
+ views: [
+ { name: "Front", height: 0.12 },
+ ],
+ },
+ {
+ name: "Lawn",
+ views: [
+ { name: "Front", height: 0.0825 },
+ ],
+ },
+ ],
+ })
+ );
+
+ /* ***INSERT HERE*** */
+
+ results.sort((b1, b2) => {
+ return b1.name.localeCompare(b2.name);
+ });
+ return results;
+}