diff --git a/src/main/java/cactusServer/models/Instances.java b/src/main/java/cactusServer/models/Instances.java index fb5ad77..7e669eb 100644 --- a/src/main/java/cactusServer/models/Instances.java +++ b/src/main/java/cactusServer/models/Instances.java @@ -118,6 +118,9 @@ public Player destroyPlayer(String playerId) { Player player = playerMap.get(playerId); + if (player == null) { + return null; + } player.destroy(); return playerMap.remove(playerId); } diff --git a/src/main/java/cactusServer/resources/PlayersRest.java b/src/main/java/cactusServer/resources/PlayersRest.java index 29d9cd7..9c92d33 100644 --- a/src/main/java/cactusServer/resources/PlayersRest.java +++ b/src/main/java/cactusServer/resources/PlayersRest.java @@ -2,6 +2,7 @@ import java.util.HashMap; +import javax.ws.rs.DELETE; import javax.ws.rs.FormParam; import javax.ws.rs.GET; import javax.ws.rs.POST; @@ -66,5 +67,11 @@ return JSON.encode(Instances.getInstance().updatePlayer(playerId, characterID, position, angle, cameraState, animationClassToStart)); } - + + @Path("/{playerId}") + @DELETE + @Produces(MediaType.TEXT_PLAIN) + public void deletePlayer(@PathParam("playerId") String playerId) { + Instances.getInstance().destroyPlayer(playerId); + } }