From b4b88769d0a30bcb8a7f2876738173ca3eb91b4d Mon Sep 17 00:00:00 2001 From: Mads Boddum Date: Tue, 12 Apr 2016 08:54:55 +0200 Subject: [PATCH] Fixed an issue where object creation with an IFF file that doesn't exist would cause holocore to not boot --- src/services/objects/ObjectCreator.java | 4 +++- src/services/spawn/SpawnerService.java | 6 ++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/services/objects/ObjectCreator.java b/src/services/objects/ObjectCreator.java index 5f079e144..2312f850d 100644 --- a/src/services/objects/ObjectCreator.java +++ b/src/services/objects/ObjectCreator.java @@ -75,7 +75,9 @@ public final class ObjectCreator { if (!template.endsWith(".iff")) return null; ObjectData attributes = (ObjectData) ClientFactory.getInfoFromFile(ClientFactory.formatToSharedFile(template), true); - GameObjectType type = GameObjectType.getTypeFromId((Integer) attributes.getAttribute(ObjectDataAttribute.GAME_OBJECT_TYPE)); + if(attributes == null) + return null; + GameObjectType type = GameObjectType.getTypeFromId((Integer) attributes.getAttribute(ObjectDataAttribute.GAME_OBJECT_TYPE)); SWGObject obj = createObjectFromType(objectId, template, type); if (obj == null) return null; diff --git a/src/services/spawn/SpawnerService.java b/src/services/spawn/SpawnerService.java index 6fa44a65b..a64d640e1 100644 --- a/src/services/spawn/SpawnerService.java +++ b/src/services/spawn/SpawnerService.java @@ -143,8 +143,10 @@ public final class SpawnerService extends Service { private boolean createNPC(SWGObject parent, Location loc, String iff, String name) { SWGObject object = objectManager.createObject(parent, createTemplate(getRandomIff(iff)), loc, false); - object.setName(getCreatureName(name)); - return true; + boolean objectCreated = object != null; + if(objectCreated) + object.setName(getCreatureName(name)); + return objectCreated; } private String getCreatureName(String name) {