@Override public void registerItemSubtypes( ISubtypeRegistry subtypeRegistry ) { final Optional<Item> maybeFacade = AEApi.instance().definitions().items().facade().maybeItem(); maybeFacade.ifPresent( subtypeRegistry::useNbtForSubtypes ); }
private void registerFacadeRecipe( IDefinitions definitions, IModRegistry registry ) { Optional<Item> itemFacade = definitions.items().facade().maybeItem(); Optional<ItemStack> cableAnchor = definitions.parts().cableAnchor().maybeStack( 1 ); if( itemFacade.isPresent() && cableAnchor.isPresent() ) { registry.addRecipeRegistryPlugin( new FacadeRegistryPlugin( (ItemFacade) itemFacade.get(), cableAnchor.get() ) ); } }
@Override public ItemStack getIconItemStack() { final Optional<Item> maybeFacade = AEApi.instance().definitions().items().facade().maybeItem(); if( maybeFacade.isPresent() ) { return ( (ItemFacade) maybeFacade.get() ).getCreativeTabIcon(); } return new ItemStack( Blocks.PLANKS ); } }
ids[0] = Math.abs( ids[0] ); Optional<Item> maybeFacadeItem = AEApi.instance().definitions().items().facade().maybeItem(); if( maybeFacadeItem.isPresent() )
public ItemStack createFromIDs( final int[] ids ) { ItemStack facadeStack = AEApi.instance() .definitions() .items() .facade() .maybeStack( 1 ) .orElseThrow( () -> new MissingDefinitionException( "Tried to create a facade, while facades are being deactivated." ) ); // Convert back to a registry name... Item item = Item.REGISTRY.getObjectById( ids[0] ); if( item == null ) { return ItemStack.EMPTY; } final NBTTagCompound facadeTag = new NBTTagCompound(); facadeTag.setString( TAG_ITEM_ID, item.getRegistryName().toString() ); facadeTag.setInteger( TAG_DAMAGE, ids[1] ); facadeStack.setTagCompound( facadeTag ); return facadeStack; }