From c3abdcf68b3a9b8edf1e2a4fd2678f8ebc8dc476 Mon Sep 17 00:00:00 2001 From: Electroblob <35599699+Electroblob77@users.noreply.github.com> Date: Wed, 20 Jun 2018 23:57:05 +0100 Subject: [PATCH] Fix NPE in immunity initialisation, fixes #49 --- src/main/java/electroblob/wizardry/util/MagicDamage.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/main/java/electroblob/wizardry/util/MagicDamage.java b/src/main/java/electroblob/wizardry/util/MagicDamage.java index 40b46da0..5055c9ff 100644 --- a/src/main/java/electroblob/wizardry/util/MagicDamage.java +++ b/src/main/java/electroblob/wizardry/util/MagicDamage.java @@ -1,5 +1,6 @@ package electroblob.wizardry.util; +import java.util.ArrayList; import java.util.Arrays; import java.util.HashMap; import java.util.List; @@ -164,7 +165,8 @@ public class MagicDamage extends EntityDamageSource implements IElementalDamage /** Adds the passed in damage type to the list of damage types to which the given entity is immune. */ public static void addEntityImmunity(Class entityType, DamageType immunity){ - List immunities = Arrays.asList(immunityMapping.get(entityType)); + List immunities = immunityMapping.get(entityType) == null ? new ArrayList() + : Arrays.asList(immunityMapping.get(entityType)); immunities.add(immunity); // Apparently putting 0 here works just fine. immunityMapping.put(entityType, immunities.toArray(new DamageType[0]));