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; package com.minelittlepony.unicopia.forgebullshit;
import java.util.Objects;
import javax.annotation.Nonnull;
import net.minecraft.client.renderer.block.model.ModelResourceLocation; import net.minecraft.client.renderer.block.model.ModelResourceLocation;
import net.minecraft.item.Item; import net.minecraft.item.Item;
import net.minecraftforge.client.model.ModelLoader; import net.minecraftforge.client.model.ModelLoader;
@ -11,6 +15,10 @@ public class ItemModels {
*/ */
public static void registerAll(Item...items) { public static void registerAll(Item...items) {
for (Item i : 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()) { if (i instanceof IMultiItem && i.getHasSubtypes()) {
IMultiItem multi = (IMultiItem)i; 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++) { for (int i = 0; i < maxMeta; i++) {
ModelLoader.setCustomModelResourceLocation(item, i, resource); ModelLoader.setCustomModelResourceLocation(item, i, resource);
} }
@ -34,11 +42,11 @@ public class ItemModels {
/** /**
* Registers a model for the given item and all associated variants. * 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); 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++) { for (int i = 0; i < variants.length; i++) {
ModelLoader.setCustomModelResourceLocation(item, i, new ModelResourceLocation(domain + ":" + variants[i])); ModelLoader.setCustomModelResourceLocation(item, i, new ModelResourceLocation(domain + ":" + variants[i]));
} }