From 7c152f1d72140e8cc13d3419fd9a7e1517eadd54 Mon Sep 17 00:00:00 2001
From: Chris Kearney <chris@kearneymail.com>
Date: Sun, 19 Apr 2015 22:46:05 -0700
Subject: [PATCH] bug where if you type use before initiating your inventory,
 it will crash

---
 .../creeper/server/command/UseCommand.java       | 16 ++++++++++------
 1 file changed, 10 insertions(+), 6 deletions(-)

diff --git a/src/main/java/com/comandante/creeper/server/command/UseCommand.java b/src/main/java/com/comandante/creeper/server/command/UseCommand.java
index 3ff1f7e4..acb697f0 100644
--- a/src/main/java/com/comandante/creeper/server/command/UseCommand.java
+++ b/src/main/java/com/comandante/creeper/server/command/UseCommand.java
@@ -31,14 +31,18 @@ public class UseCommand extends Command {
             }
             originalMessageParts.remove(0);
             String itemTarget = Joiner.on(" ").join(originalMessageParts);
-            for (String inventoryId : playerMetadata.getInventory()) {
-                Item itemEntity = entityManager.getItemEntity(inventoryId);
-                if (itemEntity.getItemTriggers().contains(itemTarget)) {
-                    new ItemUseHandler(itemEntity, creeperSession, gameManager, playerId).handle();
-                    return;
+            if (playerMetadata.getInventory() != null) {
+                for (String inventoryId : playerMetadata.getInventory()) {
+                    Item itemEntity = entityManager.getItemEntity(inventoryId);
+                    if (itemEntity.getItemTriggers().contains(itemTarget)) {
+                        new ItemUseHandler(itemEntity, creeperSession, gameManager, playerId).handle();
+                        return;
+                    }
                 }
+                new ItemUseHandler(ItemType.UNKNOWN.create(), creeperSession, gameManager, playerId).handle();
+            } else {
+                write("Your inventory is empty.");
             }
-            new ItemUseHandler(ItemType.UNKNOWN.create(), creeperSession, gameManager, playerId).handle();
         } finally {
             super.messageReceived(ctx, e);
         }
-- 
GitLab