diff --git a/resources/Schema/Components.xsd b/resources/Schema/Components.xsd
index cf282eec..a5bedada 100644
--- a/resources/Schema/Components.xsd
+++ b/resources/Schema/Components.xsd
@@ -65,4 +65,5 @@
+
\ No newline at end of file
diff --git a/resources/Schema/Components/NetworkComponent.xml b/resources/Schema/Components/NetworkComponent.xml
new file mode 100644
index 00000000..7d5dda6f
--- /dev/null
+++ b/resources/Schema/Components/NetworkComponent.xml
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/resources/Schema/Components/NetworkComponent.xsd b/resources/Schema/Components/NetworkComponent.xsd
new file mode 100644
index 00000000..19cfeb92
--- /dev/null
+++ b/resources/Schema/Components/NetworkComponent.xsd
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+ If an entity has this component, it will be broadcasted to clients in a snapshot.
+
+
+
\ No newline at end of file
diff --git a/resources/Schema/Entities/AmmoPickup.xml b/resources/Schema/Entities/AmmoPickup.xml
index bebde467..ee3704f1 100644
--- a/resources/Schema/Entities/AmmoPickup.xml
+++ b/resources/Schema/Entities/AmmoPickup.xml
@@ -2,6 +2,7 @@
+
Models/Props/PickUps/AmmoPickUp.mesh
diff --git a/resources/Schema/Entities/HealthPickup.xml b/resources/Schema/Entities/HealthPickup.xml
index b4b83392..6474426f 100644
--- a/resources/Schema/Entities/HealthPickup.xml
+++ b/resources/Schema/Entities/HealthPickup.xml
@@ -2,6 +2,7 @@
+
Models/Props/PickUps/HealthPickUp.mesh
diff --git a/resources/Schema/Entities/Player.xml b/resources/Schema/Entities/Player.xml
index 475acf78..474d9dbc 100644
--- a/resources/Schema/Entities/Player.xml
+++ b/resources/Schema/Entities/Player.xml
@@ -2,6 +2,7 @@
+
diff --git a/resources/Schema/Entities/PlayerAssaultBlue.xml b/resources/Schema/Entities/PlayerAssaultBlue.xml
index 7773235b..8b5b3d11 100644
--- a/resources/Schema/Entities/PlayerAssaultBlue.xml
+++ b/resources/Schema/Entities/PlayerAssaultBlue.xml
@@ -2,6 +2,7 @@
+
diff --git a/resources/Schema/Entities/PlayerAssaultFallbackBlue.xml b/resources/Schema/Entities/PlayerAssaultFallbackBlue.xml
index 9650cfe8..c5360b10 100644
--- a/resources/Schema/Entities/PlayerAssaultFallbackBlue.xml
+++ b/resources/Schema/Entities/PlayerAssaultFallbackBlue.xml
@@ -2,6 +2,7 @@
+
diff --git a/resources/Schema/Entities/PlayerAssaultFallbackRed.xml b/resources/Schema/Entities/PlayerAssaultFallbackRed.xml
index a32988c7..a7bcdef4 100644
--- a/resources/Schema/Entities/PlayerAssaultFallbackRed.xml
+++ b/resources/Schema/Entities/PlayerAssaultFallbackRed.xml
@@ -2,6 +2,7 @@
+
diff --git a/resources/Schema/Entities/PlayerAssaultRed.xml b/resources/Schema/Entities/PlayerAssaultRed.xml
index a198196e..db6e1cad 100644
--- a/resources/Schema/Entities/PlayerAssaultRed.xml
+++ b/resources/Schema/Entities/PlayerAssaultRed.xml
@@ -2,6 +2,7 @@
+
diff --git a/resources/Schema/Entities/PlayerDefenderBlue.xml b/resources/Schema/Entities/PlayerDefenderBlue.xml
index c3bfc074..24bfee2b 100644
--- a/resources/Schema/Entities/PlayerDefenderBlue.xml
+++ b/resources/Schema/Entities/PlayerDefenderBlue.xml
@@ -2,6 +2,7 @@
+
diff --git a/resources/Schema/Entities/PlayerRed.xml b/resources/Schema/Entities/PlayerRed.xml
index c46b9d79..9fa7be05 100644
--- a/resources/Schema/Entities/PlayerRed.xml
+++ b/resources/Schema/Entities/PlayerRed.xml
@@ -2,6 +2,7 @@
+
diff --git a/resources/Schema/Entities/ScoreBoard.xml b/resources/Schema/Entities/ScoreBoard.xml
index ce612800..b3798e72 100644
--- a/resources/Schema/Entities/ScoreBoard.xml
+++ b/resources/Schema/Entities/ScoreBoard.xml
@@ -2,6 +2,7 @@
+
diff --git a/resources/Schema/Types/Entity.xsd b/resources/Schema/Types/Entity.xsd
index 4865b936..3d73f970 100644
--- a/resources/Schema/Types/Entity.xsd
+++ b/resources/Schema/Types/Entity.xsd
@@ -68,6 +68,7 @@
+
diff --git a/src/Engine/Network/Server.cpp b/src/Engine/Network/Server.cpp
index 64f2dd59..0dd761a0 100644
--- a/src/Engine/Network/Server.cpp
+++ b/src/Engine/Network/Server.cpp
@@ -643,22 +643,7 @@ void Server::parsePlayerTransform(Packet& packet)
bool Server::shouldSendToClient(EntityWrapper childEntity)
{
- auto children = m_World->GetDirectChildren(childEntity.ID);
- for (auto it = children.first; it != children.second; it++) {
- EntityWrapper child(m_World, it->second);
- if (child.HasComponent("CapturePoint") || child.HasComponent("HealthPickup")
- || child.HasComponent("AmmoPickup")) {
- return true;
- }
- }
- return childEntity.HasComponent("Player")
- || childEntity.FirstParentWithComponent("Player").Valid()
- || childEntity.HasComponent("CapturePoint")
- || childEntity.HasComponent("HealthPickup")
- || childEntity.HasComponent("AmmoPickup")
- || childEntity.HasComponent("ScoreScreen")
- || childEntity.FirstParentWithComponent("ScoreScreen").Valid()
- || childEntity.FirstParentWithComponent("CapturePoint").Valid();
+ return childEntity.HasComponent("NetworkComponent") || childEntity.FirstParentWithComponent("NetworkComponent").Valid();
}
PlayerID Server::getPlayerIDFromEndpoint()