Add some null checks

This commit is contained in:
shedaniel
2021-02-06 22:56:12 +08:00
parent 0a5f606bf4
commit e66a57bc80
3 changed files with 13 additions and 7 deletions

View File

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

View File

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

View File

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