diff --git a/assets/Data/entity/objects.json b/assets/Data/entity/objects.json index be968f5d..187afe01 100644 --- a/assets/Data/entity/objects.json +++ b/assets/Data/entity/objects.json @@ -1,33 +1,11 @@ { "objects" : [ - { - "id" : "crateWooden", - "modelPath" : "Models/crate2.fbx", - "tokens" : [ - "GRAVITY", - "OUTLINE" - ], - "collidable": { - "type" : "CUBE", - "dimension1" : 0.1, - "dimension2" : 0.1, - "dimension3" : 0.35, - "rotX": 0, - "rotY": 0, - "rotZ": 0, - "rotW": 1, - "offsetX" : 0, - "offsetY" : 0.05, - "offsetZ" : 0 - } - } - ], "files" : [ - "Data/entity/objects/floatingisland.json", "Data/entity/objects/testscene1objects.json", "Data/entity/objects/debug_objects.json", - "Data/entity/objects/game_objects.json" + "Data/entity/objects/game_objects.json", + "Data/entity/objects/containers.json" ] } \ No newline at end of file diff --git a/assets/Data/entity/objects/containers.json b/assets/Data/entity/objects/containers.json new file mode 100644 index 00000000..736d8b6e --- /dev/null +++ b/assets/Data/entity/objects/containers.json @@ -0,0 +1,34 @@ +{ + "objects" : [ + + { + "id" : "crate", + "hitboxData" : [ + { + "type": "static_capsule", + "radius": 2, + "length": 5 + } + ], + "collidable": { + "type" : "CUBE", + "dimension1" : 2.0, + "dimension2" : 2.0, + "dimension3" : 2.0, + "rotX": 0, + "rotY": 0, + "rotZ": 0, + "rotW": 1, + "offsetX" : 0, + "offsetY" : 0.05, + "offsetZ" : 0 + }, + "tokens": [ + "GRAVITY" + ], + "modelPath" : "Models/objects/crate2.glb" + } + + ], + "files" : [] +} \ No newline at end of file diff --git a/assets/Data/entity/objects/floatingisland.json b/assets/Data/entity/objects/floatingisland.json deleted file mode 100644 index 4a6b0def..00000000 --- a/assets/Data/entity/objects/floatingisland.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "objects" : [ - - { - "id" : "floatingisland1", - "modelPath" : "Models/floatingisland1.fbx", - "tokens" : [ - "DISABLE_COLLISION_REACTION", - "TERRAIN_COLLISION" - ], - "collidable": { - "type" : "CYLINDER", - "dimension1" : 1.7, - "dimension2" : 1.7, - "dimension3" : 1.7, - "rotX": 0, - "rotY": 0, - "rotZ": 0, - "rotW": 1, - "offsetX" : 0, - "offsetY" : -1.7, - "offsetZ" : 0 - } - } - - ], - "files" : [] -} \ No newline at end of file diff --git a/assets/Data/entity/objects/testscene1objects.json b/assets/Data/entity/objects/testscene1objects.json index d7f1b15e..6b2c2baf 100644 --- a/assets/Data/entity/objects/testscene1objects.json +++ b/assets/Data/entity/objects/testscene1objects.json @@ -1,46 +1,5 @@ { "objects" : [ - - { - "id" : "terrain1", - "modelPath" : "Models/testvalley.fbx", - "tokens" : [ - "DISABLE_COLLISION_REACTION", - "GENERATE_COLLISION_TERRAIN" - ], - "collidable": null, - "graphicsTemplate": null - }, - { - "id" : "skyscraper1", - "modelPath" : "Models/skyscraper1.fbx", - "tokens" : [ - "DISABLE_COLLISION_REACTION", - "GENERATE_COLLISION_TERRAIN" - ], - "collidable": null, - "graphicsTemplate": null - }, - { - "id" : "smoke1", - "modelPath" : "Models/unitcube.fbx", - "tokens" : [ - "DRAW_TRANSPARENT_PASS" - ], - "collidable": null, - "graphicsTemplate": { - "shaderOverrideMeshList": [ - "Cube" - ], - "shaderMap": { - "Cube": { - "vertexPath": "Shaders/smoke1/smoke1.vs", - "geometryPath": null, - "fragmentPath": "Shaders/smoke1/smoke1.fs" - } - } - } - }, { "id" : "geometrytest1", "modelPath" : "Models/geometry1.fbx", diff --git a/assets/Data/entity/structures.json b/assets/Data/entity/structures.json deleted file mode 100644 index 629bff44..00000000 --- a/assets/Data/entity/structures.json +++ /dev/null @@ -1,141 +0,0 @@ -{ - "structures" : [ - { - "name" : "building1", - "modelPath" : "Models/building1.fbx", - "radius" : 10, - "collision" : [ - { - "type" : "CUBE", - "positionX" : 0, - "positionY" : -1, - "positionZ" : 0.3, - "scaleX" : 7.5, - "scaleY" : 1.5, - "scaleZ" : 0.3, - "rotationW" : 1, - "rotationX" : 0, - "rotationY" : 0, - "rotationZ" : 0 - }, - { - "type" : "CUBE", - "positionX" : 7.2, - "positionY" : -1, - "positionZ" : 3, - "scaleX" : 0.3, - "scaleY" : 1.5, - "scaleZ" : 3, - "rotationW" : 1, - "rotationX" : 0, - "rotationY" : 0, - "rotationZ" : 0 - }, - { - "type" : "CUBE", - "positionX" : 7.2, - "positionY" : 0.4, - "positionZ" : 3, - "scaleX" : 0.3, - "scaleY" : 2, - "scaleZ" : 2, - "rotationW" : 0.9238796, - "rotationX" : 0.3826834, - "rotationY" : 0, - "rotationZ" : 0 - }, - { - "type" : "CUBE", - "positionX" : -7.2, - "positionY" : -1, - "positionZ" : 3, - "scaleX" : 0.3, - "scaleY" : 1.5, - "scaleZ" : 3, - "rotationW" : 1, - "rotationX" : 0, - "rotationY" : 0, - "rotationZ" : 0 - }, - { - "type" : "CUBE", - "positionX" : -7.2, - "positionY" : 0.4, - "positionZ" : 3, - "scaleX" : 0.3, - "scaleY" : 2, - "scaleZ" : 2, - "rotationW" : 0.9238796, - "rotationX" : 0.3826834, - "rotationY" : 0, - "rotationZ" : 0 - }, - { - "type" : "CUBE", - "positionX" : -1.5, - "positionY" : -1, - "positionZ" : 5.7, - "scaleX" : 5.5, - "scaleY" : 1.5, - "scaleZ" : 0.3, - "rotationW" : 1, - "rotationX" : 0, - "rotationY" : 0, - "rotationZ" : 0 - }, - { - "type" : "CUBE", - "positionX" : 6.75, - "positionY" : -1, - "positionZ" : 5.7, - "scaleX" : 0.75, - "scaleY" : 1.5, - "scaleZ" : 0.3, - "rotationW" : 1, - "rotationX" : 0, - "rotationY" : 0, - "rotationZ" : 0 - }, - { - "type" : "CUBE", - "positionX" : 0, - "positionY" : -2.6, - "positionZ" : 3, - "scaleX" : 7.5, - "scaleY" : 0.2, - "scaleZ" : 3, - "rotationW" : 1, - "rotationX" : 0, - "rotationY" : 0, - "rotationZ" : 0 - }, - { - "type" : "CUBE", - "positionX" : 0, - "positionY" : 1.3, - "positionZ" : 4.4, - "scaleX" : 7.5, - "scaleY" : 0.2, - "scaleZ" : 1.8, - "rotationW" : 0.9570922, - "rotationX" : 0.2897836, - "rotationY" : 0, - "rotationZ" : 0 - }, - { - "type" : "CUBE", - "positionX" : 0, - "positionY" : 1.3, - "positionZ" : 1.6, - "scaleX" : 7.5, - "scaleY" : 0.2, - "scaleZ" : 1.8, - "rotationW" : 0.9570922, - "rotationX" : -0.2897836, - "rotationY" : 0, - "rotationZ" : 0 - } - ] - } - ] -} \ No newline at end of file diff --git a/assets/Models/basic/geometry/unitcylinder.fbx b/assets/Models/basic/geometry/unitcylinder.fbx deleted file mode 100644 index b94ba405..00000000 Binary files a/assets/Models/basic/geometry/unitcylinder.fbx and /dev/null differ diff --git a/assets/Models/basic/geometry/unitcylinder.glb b/assets/Models/basic/geometry/unitcylinder.glb deleted file mode 100644 index 01779375..00000000 Binary files a/assets/Models/basic/geometry/unitcylinder.glb and /dev/null differ diff --git a/assets/Models/basic/geometry/unitsphere.fbx b/assets/Models/basic/geometry/unitsphere.fbx deleted file mode 100644 index 88467c21..00000000 Binary files a/assets/Models/basic/geometry/unitsphere.fbx and /dev/null differ diff --git a/assets/Models/basic/geometry/unitsphere.glb b/assets/Models/basic/geometry/unitsphere.glb deleted file mode 100644 index 04396e37..00000000 Binary files a/assets/Models/basic/geometry/unitsphere.glb and /dev/null differ diff --git a/assets/Models/basic/geometry/unitsphere_1.fbx b/assets/Models/basic/geometry/unitsphere_1.fbx deleted file mode 100644 index 88467c21..00000000 Binary files a/assets/Models/basic/geometry/unitsphere_1.fbx and /dev/null differ diff --git a/assets/Models/basic/geometry/unitsphere_grey.fbx b/assets/Models/basic/geometry/unitsphere_grey.fbx deleted file mode 100644 index 88467c21..00000000 Binary files a/assets/Models/basic/geometry/unitsphere_grey.fbx and /dev/null differ diff --git a/assets/Models/basic/geometry/watercube1.fbx b/assets/Models/basic/geometry/watercube1.fbx deleted file mode 100644 index 084d4424..00000000 Binary files a/assets/Models/basic/geometry/watercube1.fbx and /dev/null differ diff --git a/assets/Models/buildings/building1.fbx b/assets/Models/buildings/building1.fbx deleted file mode 100644 index 35af28cd..00000000 Binary files a/assets/Models/buildings/building1.fbx and /dev/null differ diff --git a/assets/Models/engine/groundplanemassiveuv.fbx b/assets/Models/engine/groundplanemassiveuv.fbx deleted file mode 100644 index 302a6a38..00000000 Binary files a/assets/Models/engine/groundplanemassiveuv.fbx and /dev/null differ diff --git a/assets/Models/objects/campfire1.fbx b/assets/Models/objects/campfire1.fbx deleted file mode 100644 index 16c3007f..00000000 Binary files a/assets/Models/objects/campfire1.fbx and /dev/null differ diff --git a/assets/Models/objects/crate2.fbx b/assets/Models/objects/crate2.fbx deleted file mode 100644 index 6aba523e..00000000 Binary files a/assets/Models/objects/crate2.fbx and /dev/null differ diff --git a/assets/Models/objects/crate2.glb b/assets/Models/objects/crate2.glb new file mode 100644 index 00000000..29a86268 Binary files /dev/null and b/assets/Models/objects/crate2.glb differ diff --git a/assets/Models/objects/flame1.fbx b/assets/Models/objects/flame1.fbx deleted file mode 100644 index b901d198..00000000 Binary files a/assets/Models/objects/flame1.fbx and /dev/null differ diff --git a/assets/Models/objects/texturemap.json b/assets/Models/objects/texturemap.json new file mode 100644 index 00000000..c5c7db09 --- /dev/null +++ b/assets/Models/objects/texturemap.json @@ -0,0 +1,11 @@ +{ + "textureMap": { + "Models/objects/crate2.glb": [ + { + "meshName" : "Cube", + "diffuse" : "/Textures/woodplanks1.png", + "isDefault" : true + } + ] + } +} \ No newline at end of file diff --git a/docs/src/progress/renderertodo.md b/docs/src/progress/renderertodo.md index b73e7c06..b2c39db9 100644 --- a/docs/src/progress/renderertodo.md +++ b/docs/src/progress/renderertodo.md @@ -742,6 +742,8 @@ Fix SSBO implementation misusing BufferUtils Massive entity spawning refactor to collapse entity type permutations Move AttachUtils package Move Scene package +Crate object +Data cleanup # TODO diff --git a/src/main/java/electrosphere/server/content/serialization/ContentSerialization.java b/src/main/java/electrosphere/server/content/serialization/ContentSerialization.java index 19f60da1..3df2ef76 100644 --- a/src/main/java/electrosphere/server/content/serialization/ContentSerialization.java +++ b/src/main/java/electrosphere/server/content/serialization/ContentSerialization.java @@ -39,43 +39,45 @@ public class ContentSerialization { for(Entity entity : entities){ if(!CreatureUtils.hasControllerPlayerId(entity)){ EntityType type = CommonEntityUtils.getEntityType(entity); - switch(type){ - case CREATURE: { - EntitySerialization serializedEntity = new EntitySerialization(); - serializedEntity.setPosition(EntityUtils.getPosition(entity)); - serializedEntity.setRotation(EntityUtils.getRotation(entity)); - serializedEntity.setType(EntityType.CREATURE.getValue()); - serializedEntity.setSubtype(CommonEntityUtils.getEntitySubtype(entity)); - if(CreatureUtils.getCreatureTemplate(entity) != null){ - serializedEntity.setTemplate(Utilities.stringify(CreatureUtils.getCreatureTemplate(entity))); - } - rVal.serializedEntities.add(serializedEntity); - } break; - case ITEM: { - EntitySerialization serializedEntity = new EntitySerialization(); - serializedEntity.setPosition(EntityUtils.getPosition(entity)); - serializedEntity.setRotation(EntityUtils.getRotation(entity)); - serializedEntity.setType(EntityType.ITEM.getValue()); - serializedEntity.setSubtype(CommonEntityUtils.getEntitySubtype(entity)); - rVal.serializedEntities.add(serializedEntity); - } break; - case FOLIAGE: { - EntitySerialization serializedEntity = new EntitySerialization(); - serializedEntity.setPosition(EntityUtils.getPosition(entity)); - serializedEntity.setRotation(EntityUtils.getRotation(entity)); - serializedEntity.setType(EntityType.FOLIAGE.getValue()); - serializedEntity.setSubtype(CommonEntityUtils.getEntitySubtype(entity)); - serializedEntity.setTemplate(FoliageUtils.getFoliageSeed(entity) + ""); - rVal.serializedEntities.add(serializedEntity); - } break; - case COMMON: { - EntitySerialization serializedEntity = new EntitySerialization(); - serializedEntity.setPosition(EntityUtils.getPosition(entity)); - serializedEntity.setRotation(EntityUtils.getRotation(entity)); - serializedEntity.setType(EntityType.COMMON.getValue()); - serializedEntity.setSubtype(CommonEntityUtils.getEntitySubtype(entity)); - rVal.serializedEntities.add(serializedEntity); - } break; + if(type != null){ + switch(type){ + case CREATURE: { + EntitySerialization serializedEntity = new EntitySerialization(); + serializedEntity.setPosition(EntityUtils.getPosition(entity)); + serializedEntity.setRotation(EntityUtils.getRotation(entity)); + serializedEntity.setType(EntityType.CREATURE.getValue()); + serializedEntity.setSubtype(CommonEntityUtils.getEntitySubtype(entity)); + if(CreatureUtils.getCreatureTemplate(entity) != null){ + serializedEntity.setTemplate(Utilities.stringify(CreatureUtils.getCreatureTemplate(entity))); + } + rVal.serializedEntities.add(serializedEntity); + } break; + case ITEM: { + EntitySerialization serializedEntity = new EntitySerialization(); + serializedEntity.setPosition(EntityUtils.getPosition(entity)); + serializedEntity.setRotation(EntityUtils.getRotation(entity)); + serializedEntity.setType(EntityType.ITEM.getValue()); + serializedEntity.setSubtype(CommonEntityUtils.getEntitySubtype(entity)); + rVal.serializedEntities.add(serializedEntity); + } break; + case FOLIAGE: { + EntitySerialization serializedEntity = new EntitySerialization(); + serializedEntity.setPosition(EntityUtils.getPosition(entity)); + serializedEntity.setRotation(EntityUtils.getRotation(entity)); + serializedEntity.setType(EntityType.FOLIAGE.getValue()); + serializedEntity.setSubtype(CommonEntityUtils.getEntitySubtype(entity)); + serializedEntity.setTemplate(FoliageUtils.getFoliageSeed(entity) + ""); + rVal.serializedEntities.add(serializedEntity); + } break; + case COMMON: { + EntitySerialization serializedEntity = new EntitySerialization(); + serializedEntity.setPosition(EntityUtils.getPosition(entity)); + serializedEntity.setRotation(EntityUtils.getRotation(entity)); + serializedEntity.setType(EntityType.COMMON.getValue()); + serializedEntity.setSubtype(CommonEntityUtils.getEntitySubtype(entity)); + rVal.serializedEntities.add(serializedEntity); + } break; + } } } }