From 7dc95fcce1af59dbd0c7a4efdbb116074a36c252 Mon Sep 17 00:00:00 2001 From: bdew Date: Thu, 12 Mar 2015 17:01:11 +0200 Subject: [PATCH] Give a sensible error if trying to use a Block with no matching ItemBlock in recipes --- src/net/bdew/lib/recipes/RecipeLoader.scala | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/net/bdew/lib/recipes/RecipeLoader.scala b/src/net/bdew/lib/recipes/RecipeLoader.scala index bd13a47..e415219 100644 --- a/src/net/bdew/lib/recipes/RecipeLoader.scala +++ b/src/net/bdew/lib/recipes/RecipeLoader.scala @@ -178,7 +178,10 @@ class RecipeLoader { case StackGeneric(mod, id) => notNull(GameRegistry.findItemStack(mod, id, cnt), "Stack not found %s:%s".format(mod, id)) case StackBlock(mod, id, meta) => - new ItemStack(notNull(GameRegistry.findBlock(mod, id), "Block not found %s:%s".format(mod, id)), cnt, meta) + val block = notNull(GameRegistry.findBlock(mod, id), "Block not found %s:%s".format(mod, id)) + if (Item.getItemFromBlock(block) == null) + throw new StatementError("The block '%s:%s' does not have a valid matching item registered and thus can't be used in recipes".format(mod, id)) + new ItemStack(block, cnt, meta) case StackItem(mod, id, meta) => new ItemStack(notNull(GameRegistry.findItem(mod, id), "Item not found %s:%s".format(mod, id)), cnt, meta) case StackReflect(cls, field, meta) => reflectStack(cls, field, meta, cnt)