diff --git a/assets/Data/entity/foliage.json b/assets/Data/entity/foliage.json index 8b95f678..91414b02 100644 --- a/assets/Data/entity/foliage.json +++ b/assets/Data/entity/foliage.json @@ -160,6 +160,18 @@ } } } + }, + { + "id" : "pine2", + "tokens" : [ + "TREE", + "FLAMMABLE" + ], + "graphicsTemplate": { + "model": { + "path" : "Models/foliage/tree4.glb" + } + } } ] diff --git a/assets/Models/foliage/texturemap.json b/assets/Models/foliage/texturemap.json new file mode 100644 index 00000000..b331a0fb --- /dev/null +++ b/assets/Models/foliage/texturemap.json @@ -0,0 +1,16 @@ +{ + "textureMap": { + "Models/foliage/tree4.glb": [ + { + "meshName" : "trunk", + "diffuse" : "/Textures/Bark_NormalTree.png", + "isDefault" : true + }, + { + "meshName" : "leaves", + "diffuse" : "/Textures/Leaf_Pine_C.png", + "isDefault" : false + } + ] + } +} \ No newline at end of file diff --git a/assets/Models/foliage/tree4.glb b/assets/Models/foliage/tree4.glb new file mode 100644 index 00000000..eda5c607 Binary files /dev/null and b/assets/Models/foliage/tree4.glb differ diff --git a/assets/Textures/Bark_NormalTree.png b/assets/Textures/Bark_NormalTree.png new file mode 100644 index 00000000..4818f3c0 Binary files /dev/null and b/assets/Textures/Bark_NormalTree.png differ diff --git a/assets/Textures/Leaf_Pine_C.png b/assets/Textures/Leaf_Pine_C.png new file mode 100644 index 00000000..9e5f082a Binary files /dev/null and b/assets/Textures/Leaf_Pine_C.png differ diff --git a/docs/src/progress/renderertodo.md b/docs/src/progress/renderertodo.md index 9c6de091..0f08d7bc 100644 --- a/docs/src/progress/renderertodo.md +++ b/docs/src/progress/renderertodo.md @@ -867,6 +867,7 @@ Work on separating procedural tree generation steps (10/16/2024) Camera offset definitions in entity files +Non-Lsystem pine tree # TODO diff --git a/src/main/java/electrosphere/entity/types/foliage/FoliageUtils.java b/src/main/java/electrosphere/entity/types/foliage/FoliageUtils.java index 0497a8b7..f5ad4497 100644 --- a/src/main/java/electrosphere/entity/types/foliage/FoliageUtils.java +++ b/src/main/java/electrosphere/entity/types/foliage/FoliageUtils.java @@ -35,7 +35,10 @@ public class FoliageUtils { public static Entity clientSpawnBasicFoliage(String type, long seed){ FoliageType rawType = Globals.gameConfigCurrent.getFoliageMap().getFoliage(type); Entity rVal; - if(rawType.getGraphicsTemplate().getProceduralModel().getTreeModel()!=null){ + if( + rawType.getGraphicsTemplate().getProceduralModel() != null && + rawType.getGraphicsTemplate().getProceduralModel().getTreeModel()!=null + ){ rVal = ProceduralTree.clientGenerateProceduralTree(type, 0); } else { rVal = EntityCreationUtils.createClientSpatialEntity(); @@ -77,7 +80,10 @@ public class FoliageUtils { public static Entity serverSpawnTreeFoliage(Realm realm, Vector3d position, String type, long seed){ FoliageType rawType = Globals.gameConfigCurrent.getFoliageMap().getFoliage(type); Entity rVal; - if(rawType.getGraphicsTemplate().getProceduralModel().getTreeModel()!=null){ + if( + rawType.getGraphicsTemplate().getProceduralModel() != null && + rawType.getGraphicsTemplate().getProceduralModel().getTreeModel()!=null + ){ rVal = ProceduralTree.serverGenerateProceduralTree(realm, position, rawType, seed); } else { rVal = EntityCreationUtils.createServerEntity(realm, position);