Browse Source

Add some null checks

shedaniel 4 years ago
parent
commit
e66a57bc80

+ 3 - 3
common/src/main/java/me/shedaniel/architectury/registry/ColorHandlers.java

@@ -27,7 +27,7 @@ import net.minecraft.client.color.item.ItemColor;
 import net.minecraft.world.level.ItemLike;
 import net.minecraft.world.level.ItemLike;
 import net.minecraft.world.level.block.Block;
 import net.minecraft.world.level.block.Block;
 
 
-import java.util.Arrays;
+import java.util.Objects;
 import java.util.function.Supplier;
 import java.util.function.Supplier;
 
 
 @Environment(EnvType.CLIENT)
 @Environment(EnvType.CLIENT)
@@ -37,7 +37,7 @@ public final class ColorHandlers {
     public static void registerItemColors(ItemColor color, ItemLike... items) {
     public static void registerItemColors(ItemColor color, ItemLike... items) {
         Supplier<ItemLike>[] array = new Supplier[items.length];
         Supplier<ItemLike>[] array = new Supplier[items.length];
         for (int i = 0; i < items.length; i++) {
         for (int i = 0; i < items.length; i++) {
-            ItemLike item = items[i];
+            ItemLike item = Objects.requireNonNull(items[i], "items[i] is null!");
             array[i] = () -> item;
             array[i] = () -> item;
         }
         }
         registerItemColors(color, array);
         registerItemColors(color, array);
@@ -46,7 +46,7 @@ public final class ColorHandlers {
     public static void registerBlockColors(BlockColor color, Block... blocks) {
     public static void registerBlockColors(BlockColor color, Block... blocks) {
         Supplier<Block>[] array = new Supplier[blocks.length];
         Supplier<Block>[] array = new Supplier[blocks.length];
         for (int i = 0; i < blocks.length; i++) {
         for (int i = 0; i < blocks.length; i++) {
-            Block block = blocks[i];
+            Block block = Objects.requireNonNull(blocks[i], "blocks[i] is null!");
             array[i] = () -> block;
             array[i] = () -> block;
         }
         }
         registerBlockColors(color, array);
         registerBlockColors(color, array);

+ 5 - 2
fabric/src/main/java/me/shedaniel/architectury/registry/fabric/ColorHandlersImpl.java

@@ -25,23 +25,26 @@ import net.minecraft.client.color.item.ItemColor;
 import net.minecraft.world.level.ItemLike;
 import net.minecraft.world.level.ItemLike;
 import net.minecraft.world.level.block.Block;
 import net.minecraft.world.level.block.Block;
 
 
+import java.util.Objects;
 import java.util.function.Supplier;
 import java.util.function.Supplier;
 
 
 public class ColorHandlersImpl {
 public class ColorHandlersImpl {
     @SafeVarargs
     @SafeVarargs
     public static void registerItemColors(ItemColor itemColor, Supplier<ItemLike>... items) {
     public static void registerItemColors(ItemColor itemColor, Supplier<ItemLike>... items) {
+        Objects.requireNonNull(itemColor, "color is null!");
         ColorProviderRegistry.ITEM.register(itemColor, unpackItems(items));
         ColorProviderRegistry.ITEM.register(itemColor, unpackItems(items));
     }
     }
     
     
     @SafeVarargs
     @SafeVarargs
     public static void registerBlockColors(BlockColor blockColor, Supplier<Block>... blocks) {
     public static void registerBlockColors(BlockColor blockColor, Supplier<Block>... blocks) {
+        Objects.requireNonNull(blockColor, "color is null!");
         ColorProviderRegistry.BLOCK.register(blockColor, unpackBlocks(blocks));
         ColorProviderRegistry.BLOCK.register(blockColor, unpackBlocks(blocks));
     }
     }
     
     
     private static ItemLike[] unpackItems(Supplier<ItemLike>[] items) {
     private static ItemLike[] unpackItems(Supplier<ItemLike>[] items) {
         ItemLike[] array = new ItemLike[items.length];
         ItemLike[] array = new ItemLike[items.length];
         for (int i = 0; i < items.length; i++) {
         for (int i = 0; i < items.length; i++) {
-            array[i] = items[i].get();
+            array[i] = Objects.requireNonNull(items[i].get());
         }
         }
         return array;
         return array;
     }
     }
@@ -49,7 +52,7 @@ public class ColorHandlersImpl {
     private static Block[] unpackBlocks(Supplier<Block>[] blocks) {
     private static Block[] unpackBlocks(Supplier<Block>[] blocks) {
         Block[] array = new Block[blocks.length];
         Block[] array = new Block[blocks.length];
         for (int i = 0; i < blocks.length; i++) {
         for (int i = 0; i < blocks.length; i++) {
-            array[i] = blocks[i].get();
+            array[i] = Objects.requireNonNull(blocks[i].get());
         }
         }
         return array;
         return array;
     }
     }

+ 5 - 2
forge/src/main/java/me/shedaniel/architectury/registry/forge/ColorHandlersImpl.java

@@ -31,6 +31,7 @@ import net.minecraftforge.client.event.ColorHandlerEvent;
 import org.apache.commons.lang3.tuple.Pair;
 import org.apache.commons.lang3.tuple.Pair;
 
 
 import java.util.List;
 import java.util.List;
+import java.util.Objects;
 import java.util.function.Supplier;
 import java.util.function.Supplier;
 
 
 public class ColorHandlersImpl {
 public class ColorHandlersImpl {
@@ -54,6 +55,7 @@ public class ColorHandlersImpl {
     
     
     @SafeVarargs
     @SafeVarargs
     public static void registerItemColors(ItemColor itemColor, Supplier<ItemLike>... items) {
     public static void registerItemColors(ItemColor itemColor, Supplier<ItemLike>... items) {
+        Objects.requireNonNull(itemColor, "color is null!");
         if (Minecraft.getInstance().getItemColors() == null) {
         if (Minecraft.getInstance().getItemColors() == null) {
             ITEM_COLORS.add(Pair.of(itemColor, items));
             ITEM_COLORS.add(Pair.of(itemColor, items));
         } else {
         } else {
@@ -63,6 +65,7 @@ public class ColorHandlersImpl {
     
     
     @SafeVarargs
     @SafeVarargs
     public static void registerBlockColors(BlockColor blockColor, Supplier<Block>... blocks) {
     public static void registerBlockColors(BlockColor blockColor, Supplier<Block>... blocks) {
+        Objects.requireNonNull(blockColor, "color is null!");
         if (Minecraft.getInstance().getBlockColors() == null) {
         if (Minecraft.getInstance().getBlockColors() == null) {
             BLOCK_COLORS.add(Pair.of(blockColor, blocks));
             BLOCK_COLORS.add(Pair.of(blockColor, blocks));
         } else {
         } else {
@@ -73,7 +76,7 @@ public class ColorHandlersImpl {
     private static ItemLike[] unpackItems(Supplier<ItemLike>[] items) {
     private static ItemLike[] unpackItems(Supplier<ItemLike>[] items) {
         ItemLike[] array = new ItemLike[items.length];
         ItemLike[] array = new ItemLike[items.length];
         for (int i = 0; i < items.length; i++) {
         for (int i = 0; i < items.length; i++) {
-            array[i] = items[i].get();
+            array[i] = Objects.requireNonNull(items[i].get());
         }
         }
         return array;
         return array;
     }
     }
@@ -81,7 +84,7 @@ public class ColorHandlersImpl {
     private static Block[] unpackBlocks(Supplier<Block>[] blocks) {
     private static Block[] unpackBlocks(Supplier<Block>[] blocks) {
         Block[] array = new Block[blocks.length];
         Block[] array = new Block[blocks.length];
         for (int i = 0; i < blocks.length; i++) {
         for (int i = 0; i < blocks.length; i++) {
-            array[i] = blocks[i].get();
+            array[i] = Objects.requireNonNull(blocks[i].get());
         }
         }
         return array;
         return array;
     }
     }