From 36ce215b6bc849204d0ee1753e2c83b20931dcd3 Mon Sep 17 00:00:00 2001 From: Nicholas Ignoffo Date: Sun, 20 Aug 2017 16:12:50 -0700 Subject: [PATCH] Precondition the rest of the new API --- .../bloodmagic/api_impl/BloodMagicAPI.java | 7 +++++++ .../api_impl/BloodMagicBlacklist.java | 17 +++++++++++++++++ 2 files changed, 24 insertions(+) diff --git a/src/main/java/WayofTime/bloodmagic/api_impl/BloodMagicAPI.java b/src/main/java/WayofTime/bloodmagic/api_impl/BloodMagicAPI.java index e7dc13d6..f3698004 100644 --- a/src/main/java/WayofTime/bloodmagic/api_impl/BloodMagicAPI.java +++ b/src/main/java/WayofTime/bloodmagic/api_impl/BloodMagicAPI.java @@ -2,6 +2,7 @@ package WayofTime.bloodmagic.api_impl; import WayofTime.bloodmagic.api.altar.EnumAltarComponent; import WayofTime.bloodmagic.apiv2.IBloodMagicAPI; +import com.google.common.base.Preconditions; import com.google.common.collect.ArrayListMultimap; import com.google.common.collect.ImmutableMap; import com.google.common.collect.Maps; @@ -43,11 +44,17 @@ public class BloodMagicAPI implements IBloodMagicAPI { @Override public void setSacrificialValue(@Nonnull ResourceLocation entityId, @Nonnegative int value) { + Preconditions.checkNotNull(entityId, "entityId cannot be null."); + Preconditions.checkArgument(value >= 0, "value cannot be negative."); + sacrificialValues.put(entityId, value); } @Override public void registerAltarComponent(@Nonnull IBlockState state, @Nonnull String componentType) { + Preconditions.checkNotNull(state, "state cannot be null."); + Preconditions.checkNotNull(componentType, "componentType cannot be null."); + EnumAltarComponent component = EnumAltarComponent.NOTAIR; for (EnumAltarComponent type : EnumAltarComponent.VALUES) { if (type.name().equalsIgnoreCase(componentType)) { diff --git a/src/main/java/WayofTime/bloodmagic/api_impl/BloodMagicBlacklist.java b/src/main/java/WayofTime/bloodmagic/api_impl/BloodMagicBlacklist.java index b88d64b6..86022491 100644 --- a/src/main/java/WayofTime/bloodmagic/api_impl/BloodMagicBlacklist.java +++ b/src/main/java/WayofTime/bloodmagic/api_impl/BloodMagicBlacklist.java @@ -1,6 +1,7 @@ package WayofTime.bloodmagic.api_impl; import WayofTime.bloodmagic.apiv2.IBloodMagicBlacklist; +import com.google.common.base.Preconditions; import com.google.common.collect.ImmutableSet; import com.google.common.collect.Sets; import net.minecraft.block.Block; @@ -28,48 +29,64 @@ public class BloodMagicBlacklist implements IBloodMagicBlacklist { @Override public void addTeleposer(@Nonnull IBlockState state) { + Preconditions.checkNotNull(state, "state cannot be null."); + if (!teleposer.contains(state)) teleposer.add(state); } @Override public void addTeleposer(@Nonnull Block block) { + Preconditions.checkNotNull(block, "block cannot be null."); + for (IBlockState state : block.getBlockState().getValidStates()) addTeleposer(state); } @Override public void addTeleposer(@Nonnull ResourceLocation entityId) { + Preconditions.checkNotNull(entityId, "entityId cannot be null."); + if (!teleposerEntities.contains(entityId)) teleposerEntities.add(entityId); } @Override public void addTransposition(@Nonnull IBlockState state) { + Preconditions.checkNotNull(state, "state cannot be null."); + if (!transposition.contains(state)) transposition.add(state); } @Override public void addTransposition(@Nonnull Block block) { + Preconditions.checkNotNull(block, "block cannot be null."); + for (IBlockState state : block.getBlockState().getValidStates()) addTransposition(state); } @Override public void addGreenGrove(@Nonnull IBlockState state) { + Preconditions.checkNotNull(state, "state cannot be null."); + if (!greenGrove.contains(state)) greenGrove.add(state); } @Override public void addGreenGrove(@Nonnull Block block) { + Preconditions.checkNotNull(block, "block cannot be null."); + for (IBlockState state : block.getBlockState().getValidStates()) addGreenGrove(state); } @Override public void addWellOfSuffering(@Nonnull ResourceLocation entityId) { + Preconditions.checkNotNull(entityId, "entityId cannot be null."); + if (!sacrifice.contains(entityId)) sacrifice.add(entityId); }