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