Throw an exception when attempting to register models for invalid items

This commit is contained in:
Sollace 2019-03-19 08:03:43 +02:00
parent 29cf5b0cc8
commit 25536fd42d

View file

@ -1,5 +1,9 @@
package com.minelittlepony.unicopia.forgebullshit;
import java.util.Objects;
import javax.annotation.Nonnull;
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
import net.minecraft.item.Item;
import net.minecraftforge.client.model.ModelLoader;
@ -11,6 +15,10 @@ public class ItemModels {
*/
public static void registerAll(Item...items) {
for (Item i : items) {
Objects.requireNonNull(i, "Cannot register models: Null is not a valid item.");
Objects.requireNonNull(i.getRegistryName(), "You canot register an item with no registry name.");
if (i instanceof IMultiItem && i.getHasSubtypes()) {
IMultiItem multi = (IMultiItem)i;
@ -25,7 +33,7 @@ public class ItemModels {
}
}
private static void registerAll(Item item, int maxMeta, ModelResourceLocation resource) {
private static void registerAll(@Nonnull Item item, int maxMeta, ModelResourceLocation resource) {
for (int i = 0; i < maxMeta; i++) {
ModelLoader.setCustomModelResourceLocation(item, i, resource);
}
@ -34,11 +42,11 @@ public class ItemModels {
/**
* Registers a model for the given item and all associated variants.
*/
public static void registerAllVariants(Item item, String... variants) {
public static void registerAllVariants(@Nonnull Item item, String... variants) {
registerAllVariants(item, item.getRegistryName().getNamespace(), variants);
}
public static void registerAllVariants(Item item, String domain, String... variants) {
public static void registerAllVariants(@Nonnull Item item, String domain, String... variants) {
for (int i = 0; i < variants.length; i++) {
ModelLoader.setCustomModelResourceLocation(item, i, new ModelResourceLocation(domain + ":" + variants[i]));
}