Fixes #675 No disabled feature should log spam or crash anymore.

Deprecates the old usage of the AEItemDefinitions via the direct method access of

* blocks()
* parts()
* items()
* materials()

and thus use the new re-direct via definitions().

All definitions are now initialized, no matter what. But SubItems, Items and Blocks are not registered, if by chance are disabled.
This commit is contained in:
thatsIch
2015-01-03 02:53:14 +01:00
parent 3dd81433ac
commit 9986ffc458
385 changed files with 12477 additions and 8292 deletions
@@ -19,9 +19,12 @@
package appeng.core;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.init.Blocks;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import com.google.common.base.Optional;
import appeng.api.AEApi;
import appeng.items.parts.ItemFacade;
@@ -43,7 +46,13 @@ public final class CreativeTabFacade extends CreativeTabs
@Override
public ItemStack getIconItemStack()
{
return ((ItemFacade) AEApi.instance().items().itemFacade.item()).getCreativeTabIcon();
final Optional<Item> maybeFacade = AEApi.instance().definitions().items().facade().maybeItem();
if ( maybeFacade.isPresent() )
{
return ((ItemFacade) maybeFacade.get()).getCreativeTabIcon();
}
return new ItemStack( Blocks.planks );
}
public static void init()